/* Focused interaction refinements; retain the established theme palettes. */
.surname{letter-spacing:-.025em!important;-webkit-text-stroke:1px var(--text);font-kerning:none;font-variant-ligatures:none;overflow:visible;padding:.025em .04em .06em 0;line-height:1.13}
.portrait-card{cursor:pointer;touch-action:manipulation}.portrait-card.is-straight{transform:rotate(0)!important}.portrait-card:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.education-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(155px,.32fr);gap:clamp(20px,4vw,65px)}.education-card>div{max-width:none}.education-card .degree-badge{display:none}.education-card>.cgpa{margin:0;padding:22px 0 22px 30px;border-top:0;border-left:1px solid var(--border);display:flex;flex-direction:column;align-items:stretch;gap:20px}.cgpa-track{flex:none;width:100%}.education-card .cgpa strong{font-size:clamp(2rem,4vw,3.6rem)}
@media(max-width:1000px){.stack-strip.has-ticker{height:94px;padding:12px 0;margin-block-end:0}.stack-strip.has-ticker>.wrap{height:70px;display:block;padding-inline:24px}.has-ticker>.wrap>span{display:block;width:100%;max-width:none;text-align:center;line-height:20px}.has-ticker>.wrap>strong{display:none}.ticker-group{gap:28px;padding-right:28px}.ticker-lane{mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.ticker-group strong{font-size:.86rem;line-height:30px;flex:none}}
@media(max-width:540px){.education-card{padding:24px 18px;grid-template-columns:minmax(0,1fr) 105px;gap:15px}.education-card h3{font-size:1.12rem;margin-top:14px}.education-card p{font-size:.82rem}.education-card .eyebrow{font-size:.55rem}.education-card>.cgpa{padding-left:14px}.education-card .cgpa strong{font-size:1.8rem}.cgpa strong small{display:block;font-size:.8rem}.cgpa-label{font-size:.5rem;letter-spacing:.08em}.cgpa-track{min-width:0}}
@keyframes glass-out{to{opacity:0;filter:blur(12px);transform:scale(.975)}}
@keyframes glass-in{from{opacity:0;filter:blur(12px);transform:scale(1.025)}to{opacity:1;filter:blur(0);transform:none}}
::view-transition-old(root){animation:glass-out .38s ease both}::view-transition-new(root){animation:glass-in .5s ease both}
@view-transition{navigation:auto}
.project-card,.skill-card,.cert-card,.education-card{transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.skill-card:hover,.cert-card:hover,.education-card:hover{border-color:var(--accent);box-shadow:0 12px 35px #00000012}.project-open:active,.button:active{transform:scale(.975)}
.project-page .header{position:relative;top:0}.project-detail{max-width:1440px;margin:0 auto;padding:65px clamp(22px,5vw,80px)}.project-detail h1{font-size:clamp(2.3rem,5vw,5rem);line-height:1.12;letter-spacing:-.045em;max-width:1000px;margin:20px 0}.project-lead{font-size:clamp(1rem,1.5vw,1.3rem);max-width:800px;margin-bottom:26px}.project-detail .tags{margin:22px 0}.detail-gallery{margin:45px 0;border:1px solid var(--border);border-radius:24px;overflow:hidden;background:var(--solid)}.detail-gallery>img{height:clamp(270px,60vh,650px);width:100%;object-fit:contain}.detail-gallery .gallery-controls{display:flex;justify-content:space-between;align-items:center;padding:16px 22px}.detail-thumbs{display:flex;gap:12px;overflow:auto;padding:0 20px 20px}.detail-thumbs button{flex:0 0 90px;height:65px;border:2px solid transparent;background:var(--bg);border-radius:8px;padding:3px}.detail-thumbs button[aria-pressed=true]{border-color:var(--accent)}.detail-thumbs img{width:100%;height:100%;object-fit:contain}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:40px 0}.detail-columns h2{font-size:1.6rem;margin-bottom:18px}.detail-columns li{margin-bottom:12px;color:var(--muted)}.project-pagination{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--border);padding-top:30px;margin-top:60px}.project-pagination a{padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--glass)}.project-pagination a:last-child{text-align:right}.project-pagination small{display:block;color:var(--muted);margin-bottom:10px}.project-pagination a:hover{border-color:var(--accent)}.detail-caption{font-size:.78rem;margin-top:-25px}.project-page .header .brand{white-space:nowrap}
@media(max-width:760px){.detail-columns{grid-template-columns:1fr;gap:25px}.project-detail{padding-top:35px}.project-pagination{gap:12px}.project-pagination a{padding:16px;font-size:.85rem}.project-page .header{margin:14px}.project-page .header>a:last-child{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}.ticker-lane{display:block}.ticker-track{animation:none}.portrait-card,.project-card,.skill-card,.cert-card,.education-card{transition:none}.stack-strip.has-ticker .ticker-lane{overflow:auto}.detail-gallery img{animation:none}}
.surname{font-family:Arial,Helvetica,sans-serif;font-weight:700}
/* Slower directional mode reveal, without blurring the entire screen. */
@keyframes mode-reveal{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){animation:mode-reveal 1.25s cubic-bezier(.22,.65,.25,1) both;mix-blend-mode:normal}
.loader-name>span+span{font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.025em;line-height:1.13;font-kerning:none}.loader-name{overflow:visible}
.hero-copy .button{font-family:'DM Sans',sans-serif;font-weight:500;font-size:.95rem;letter-spacing:-.015em;line-height:1.5}.hero-copy .button-symbol{font-family:inherit}
#experience-list{display:grid;gap:18px}.experience-item,.experience-item:first-child{border:1px solid var(--border);border-radius:22px;overflow:hidden;transition:border-color .5s,box-shadow .5s,transform .5s}
@media(hover:hover){.experience-item:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 15px 40px #00000015}}
/* A soft local glass sweep keeps card text legible during hover. */
:is(.experience-item,.skill-card,.cert-card,.education-card,.project-card,.button,.project-pagination a){position:relative;isolation:isolate;overflow:hidden}
:is(.experience-item,.skill-card,.cert-card,.education-card,.project-card,.button,.project-pagination a)::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 15%,transparent),transparent);backdrop-filter:blur(2px);clip-path:inset(0 0 100% 0);transition:clip-path .95s cubic-bezier(.22,.65,.25,1);transform:none}
:is(.experience-item,.skill-card,.cert-card,.education-card,.project-card,.button,.project-pagination a):is(:hover,:focus-visible)::before{clip-path:inset(0)}
.detail-gallery{padding:clamp(12px,2vw,28px);background:linear-gradient(140deg,var(--glass),var(--solid));border-radius:24px;position:relative}.detail-gallery>img{border-radius:12px;height:clamp(260px,58vh,620px);background:var(--bg);padding:12px;box-shadow:0 8px 28px #00000015}.detail-gallery.app-gallery>img{height:clamp(380px,65vh,700px);padding:20px;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 10%,var(--bg)),var(--bg))}.detail-gallery .gallery-controls{position:static;padding:22px 0 16px;gap:15px}.gallery-controls #image-count{font-family:Manrope,sans-serif;font-size:.8rem;letter-spacing:.14em}.detail-thumbs{padding:0 0 5px;justify-content:center;gap:12px;scroll-snap-type:x mandatory}.detail-thumbs button{flex:0 0 100px;height:72px;opacity:.5;transition:opacity .3s,border-color .3s,transform .3s;scroll-snap-align:center}.detail-thumbs button[aria-pressed=true]{opacity:1;transform:translateY(-2px)}.detail-thumbs button:hover{opacity:1}.detail-gallery>img{touch-action:pan-y}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;font-size:.65rem;letter-spacing:.14em;color:var(--muted)}.gallery-toolbar button{background:transparent;border:1px solid var(--border);color:var(--text);border-radius:20px;padding:6px 12px;font:inherit;cursor:pointer}.detail-gallery:fullscreen{background:var(--bg);display:flex;flex-direction:column;justify-content:center;padding:25px}.detail-gallery:fullscreen>img{height:70vh;flex:1;min-height:0}.detail-gallery:fullscreen .detail-thumbs{display:none}
@media(max-width:760px){.detail-thumbs{justify-content:flex-start}.detail-thumbs button{flex-basis:78px;height:55px}.detail-gallery{margin:30px 0 40px}.detail-gallery>img{height:280px;padding:5px}.detail-gallery.app-gallery>img{height:460px}.hero-copy .button{font-size:.86rem}.experience-item,.experience-item:first-child{border-radius:18px}}
@media(prefers-reduced-motion:reduce){::view-transition-new(root){animation:none}:is(.experience-item,.skill-card,.cert-card,.education-card,.project-card,.button,.project-pagination a)::before{transition:none;backdrop-filter:none}}
.project-detail h1{white-space:normal;overflow-wrap:break-word}.hero-copy .button{font-family:Manrope,sans-serif;font-weight:600}.detail-gallery .gallery-controls[hidden]{display:none}
.detail-gallery:not(.app-gallery)>img{height:auto;aspect-ratio:16/10;max-height:650px}.detail-gallery:not(.app-gallery):fullscreen>img{aspect-ratio:auto;max-height:none;height:70vh}

/* Slow entry, quick release: mouse focus must not latch the glass highlight. */
:is(.experience-item,.skill-card,.cert-card,.education-card,.project-card,.button,.project-pagination a)::before{opacity:0;backdrop-filter:blur(8px);transition:opacity .18s ease-out,clip-path .18s ease-out;clip-path:inset(0 0 100% 0)}
@media(hover:hover) and (pointer:fine){
:is(.experience-item,.skill-card,.cert-card,.education-card,.project-card,.button,.project-pagination a):hover::before{opacity:1;clip-path:inset(0);transition:clip-path 1.2s cubic-bezier(.22,.61,.36,1),opacity .5s ease}
}
:is(.experience-item,.skill-card,.cert-card,.education-card,.project-card,.button,.project-pagination a):focus-visible::before{opacity:1;clip-path:inset(0)}
@media(hover:none){:is(.experience-item,.skill-card,.cert-card,.education-card,.project-card,.button,.project-pagination a)::before{display:none}}
@keyframes mode-reveal-soft{0%{clip-path:inset(0 0 100% 0);filter:blur(9px)}65%{filter:blur(4px)}100%{clip-path:inset(0);filter:blur(0)}}
::view-transition-new(root){animation:mode-reveal-soft 1.8s cubic-bezier(.22,.61,.36,1) both}::view-transition-old(root){animation:none}
.hero-copy .actions .button{font-family:'DM Sans',sans-serif;font-size:.95rem;font-weight:500;letter-spacing:.01em;line-height:1.4;text-transform:none;font-style:normal;-webkit-font-smoothing:antialiased;min-height:54px}
.hero-copy .actions .button .button-label{font:inherit;letter-spacing:inherit}
@media(max-width:760px){.hero-copy .actions .button{font-size:.88rem}}
@media(prefers-reduced-motion:reduce){::view-transition-new(root){animation:none}:is(.experience-item,.skill-card,.cert-card,.education-card,.project-card,.button,.project-pagination a)::before{transition:none!important;backdrop-filter:none}}
/* A passing frosted layer blurs the content briefly, then clears completely. */
@keyframes card-frost-pass{0%{transform:translateY(-105%);opacity:0}15%{opacity:.65}75%{opacity:.55}100%{transform:translateY(105%);opacity:0}}
:is(.experience-item,.skill-card,.cert-card,.education-card,.project-card,.button,.project-pagination a)::before{z-index:2;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--accent) 12%,transparent),transparent);animation:none;opacity:0;clip-path:none;transition:opacity .12s ease-out;pointer-events:none}
@media(hover:hover) and (pointer:fine){:is(.experience-item,.skill-card,.cert-card,.education-card,.project-card,.button,.project-pagination a):hover::before{animation:card-frost-pass 1.35s cubic-bezier(.22,.61,.36,1) both;clip-path:none;transition:opacity .12s}}
@media(prefers-reduced-motion:reduce){:is(.experience-item,.skill-card,.cert-card,.education-card,.project-card,.button,.project-pagination a)::before{animation:none!important;display:none}}
