/* Author: vishnu-tharan. Recruiter-focused layout, retaining the original identity. */
.header{position:sticky;inset:auto;top:0;height:auto;min-height:78px;padding:14px 4%;gap:24px;background:#090909f5;backdrop-filter:blur(12px);z-index:30}
.header nav{gap:26px;font-size:14px}.header nav a{padding:8px 0}.contact-link{font-size:14px;white-space:nowrap}.brand{flex-shrink:0}
html{scroll-padding-top:110px}.hero.hero-with-portrait{padding:30px 4% 65px;min-height:0;height:auto;overflow:visible}
.hero-with-portrait .hero-composition{margin:30px 0 25px;grid-template-columns:minmax(0,1.55fr) minmax(250px,.8fr);gap:9%;align-items:center}
.hero-with-portrait .hero-word{margin:0;min-width:0}.hero-with-portrait h1{font-size:clamp(100px,15vw,210px);margin:20px 0 25px;translate:none!important}
.hero-with-portrait .hero-portrait{width:min(100%,300px);justify-self:center;margin:0}
.hero-summary{font-size:19px;line-height:1.65;max-width:580px;color:#d6cfcb;margin:24px 0 12px}
.hero-availability{font-size:15px;line-height:1.7;color:#c9b4ad}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 18px}
.outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #b6978c;padding:12px 20px;font-size:14px}
.outline-button:hover{border-color:var(--red);color:#ff998a}.hero-social{display:flex;flex-wrap:wrap;gap:24px;font-size:14px}.hero-social a{padding:6px 0;text-decoration:underline;text-underline-offset:5px}
.hero-with-portrait .word-baseline{flex-wrap:wrap;gap:10px;font-size:14px;letter-spacing:.02em}.hero-with-portrait .overline{font-size:12px;gap:12px;letter-spacing:.08em}
.card-topline,.card-edition,.card-specialty,.card-status,.portrait-toggle{font-size:12px;letter-spacing:.03em}.card-topline{flex-wrap:wrap}.card-name{font-size:24px;line-height:1.15}.card-bars{display:none}
.hero-with-portrait .hero-portrait figcaption{display:none}.portrait-toggle{min-height:44px}.hero-index{font-size:12px}.hero-top .eyebrow,.edition{font-size:12px;line-height:1.5}
.section-label{font-size:12px;letter-spacing:.08em;gap:20px;line-height:1.5}.eyebrow{font-size:12px}.work{padding-top:40px}.work-heading{margin:32px 0}.work-heading p{font-size:16px;max-width:420px;line-height:1.65}
.work .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;align-items:stretch}
.work .project-card{padding:0;min-height:0;aspect-ratio:auto;cursor:default;text-align:left;overflow:hidden;border-radius:12px;background:#171214;box-shadow:none}
.work .project-card:before,.work .project-card:after{display:none}.project-body{display:flex;flex-direction:column;flex:1;padding:25px;min-width:0}.project-body h3{font-size:27px;line-height:1.2;letter-spacing:-.04em;margin:8px 0 12px;font-weight:600}
.project-category{margin:0;line-height:1.6;font-size:12px}.project-summary{margin:0 0 16px;line-height:1.65;font-size:16px;color:#d4c7c4}.project-role{font-size:14px;line-height:1.6;color:#bfb1ae;margin:0 0 14px}.project-role strong{display:block;color:#eee2df;font-weight:500}
.project-preview{position:relative;border:0;border-bottom:1px solid #ffffff20;background:#eee;width:100%;padding:0;cursor:pointer;aspect-ratio:16/10;overflow:hidden}
.project-preview img{display:block;width:100%;height:100%;object-fit:contain;background:#e9eeef;transition:transform .3s}.project-preview:hover img{transform:scale(1.025)}
.project-preview.page-preview img{object-fit:cover;object-position:top}
.project-preview>span{position:absolute;right:12px;bottom:12px;background:#090909e8;color:#fff;font-size:12px;padding:7px 10px;border-radius:4px}.project-preview:focus-visible{outline-offset:-4px}
.project-stack{padding:10px 0 22px;margin-top:auto}.project-stack>span{font-size:12px;color:#ddc6bf}
.project-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;border-top:1px solid #ffffff20;padding-top:14px;font-size:14px}
.project-links a,.project-details{padding:8px 0;min-height:40px;color:#ffc0b4;text-decoration:underline;text-underline-offset:5px}.project-details{font:inherit;background:none;border:0;cursor:pointer}.project-details span{padding-left:4px}
.project-dialog{width:min(900px,94vw);max-width:900px;max-height:90svh;padding:35px;background:#151112;overflow:auto}.dialog-open{overflow:hidden}.dialog-close{position:sticky;float:right;top:0;z-index:3;background:#242023;min-width:44px;min-height:44px;border-radius:50%}
.project-dialog h2{font-size:clamp(34px,6vw,58px);padding-right:35px}.project-detail-image{margin:24px 0}.project-detail-image img{display:block;width:100%;height:auto;border-radius:6px}.project-detail-image figcaption{font-size:13px;line-height:1.6;color:#b6a9a4;padding-top:9px}
.project-detail-image.page-preview img{height:clamp(180px,40vw,480px);object-fit:cover;object-position:top}
.case-study{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 30px}.case-study h3{font-size:17px;margin:12px 0 8px;color:#f4e7e2}.project-dialog .case-study p{font-size:16px;line-height:1.7;margin:0 0 12px;color:#c9bdb9}.project-dialog .project-status{font-size:14px;border-left:2px solid var(--red);padding-left:14px;color:#d8b5aa}.project-dialog .project-links a{font-size:14px}
.pinned-section{height:auto;min-height:0}.pinned-section .sticky-scene{position:relative;height:auto;min-height:0;padding:36px 4% 50px;overflow:hidden}.universe-copy{width:auto;max-width:720px;margin:35px 0}.universe-copy p{max-width:650px;font-size:17px;line-height:1.8}
.skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.skills-grid article{padding:25px;border:1px solid #ffffff25;background:#151011c9;border-radius:10px}.skills-grid h3{font-size:21px;margin:0 0 14px}.skills-grid p{font-size:16px;line-height:1.9;color:#c9bdb7}.skills-grid a{font-size:14px;color:#ffb7a7;text-decoration:underline;text-underline-offset:4px}
.journey-heading{margin-top:30px;gap:20px}.journey-heading p{font-size:16px}.journey .time-machine{position:relative;height:auto;display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:center}
.journey .year-rail{grid-column:1/-1;grid-row:1;position:relative;inset:auto;margin:20px 0 0;gap:12px}.year-button{font-size:27px;min-width:48px;min-height:48px;padding:18px 10px}.journey .clock{position:relative;inset:auto;width:100%;height:300px;grid-column:1;grid-row:2}.clock-face{width:250px;height:250px}.clock-label{font-size:12px;letter-spacing:.05em}
.journey .year-story{position:relative;inset:auto;grid-column:2;grid-row:2;min-height:0;padding:8px 0 8px 28px;margin:0}.year-story p{max-width:none;font-size:16px}.year-skills li{font-size:13px}.journey .journey-bottom{position:relative;inset:auto;margin-top:25px;font-size:12px;gap:12px}.journey-ghost{opacity:.06;width:300px}
.beyond .beyond-layout{padding-top:35px}.beyond h2{margin-bottom:32px}.beyond .credentials{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1150px}.beyond-person{display:none}.beyond .credentials article:nth-of-type(n){grid-area:auto}.beyond .credentials article:after{display:none}
.contact-layout{margin:45px 0 60px;gap:6%}.contact-intro{font-size:17px!important;line-height:1.8}.contact-methods strong{overflow-wrap:anywhere}.contact-form input,.contact-form select,.contact-form textarea{font-size:16px}.contact-form label{font-size:14px}.contact-honeypot{display:none!important}.contact-form .contact-privacy{font-size:13px;line-height:1.7;color:#b8a8a1}.contact-privacy a{text-decoration:underline}.contact-form button{min-height:48px;font-size:14px}.footer-bottom{gap:20px;flex-wrap:wrap;font-size:12px}.footer-word{font-size:clamp(70px,16vw,250px)}
@media(max-width:1050px){.work .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-with-portrait .hero-composition{gap:5%;grid-template-columns:minmax(0,1fr) 250px}.skills-grid{gap:16px}.hero-summary{font-size:17px}.header nav{gap:20px}}
@media(max-width:750px){.header{padding:12px 5%;gap:8px 20px;flex-wrap:wrap;min-height:0}.header nav{order:3;width:100%;justify-content:space-between;gap:12px;font-size:14px}.header>.contact-link{margin-left:auto}.header .brand{font-size:29px}.contact-link span{font-size:18px}html{scroll-padding-top:125px}.hero.hero-with-portrait{padding:25px 5% 55px}.hero-top{gap:16px}.hero-top .eyebrow{max-width:230px;font-size:12px}.hero-top .edition{display:none}.hero-with-portrait .hero-composition{grid-template-columns:minmax(0,1fr);gap:30px;margin-top:28px}.hero-with-portrait h1{font-size:clamp(88px,22vw,160px);margin:20px 0}.hero-with-portrait .overline{font-size:12px;flex-wrap:wrap}.hero-with-portrait .overline .cross{display:none}.hero-with-portrait .word-baseline{font-size:14px;line-height:1.6}.hero-summary{font-size:18px}.hero-with-portrait .hero-portrait{width:min(100%,280px)}.hero-portrait .identity-card{animation:none;transform:none}.hero-actions{gap:10px}.hero-actions>a{flex:1;white-space:nowrap;padding:12px 15px}.hero-availability{font-size:15px}.hero-social{gap:24px}.hero-index{bottom:20px}.section-label span:last-child{display:none}.work-heading{display:block}.work-heading h2{font-size:44px}.work-heading p{margin-top:20px;max-width:none}.skills-grid{grid-template-columns:1fr}.universe-copy{margin:28px 0}.universe-copy h2{font-size:44px}.journey-heading{display:block}.journey-heading h2{font-size:44px}.journey-heading p{margin-bottom:20px}.journey .time-machine{display:block;height:auto}.journey .clock{display:none}.journey .year-rail{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px}.year-button{font-size:25px;padding:15px 5px}.journey .year-story{padding:20px 0;border-left:0;min-height:0}.year-story h3{font-size:27px}.year-skills li{font-size:13px}.journey .journey-bottom{flex-wrap:wrap;font-size:12px}.journey-ghost{display:none}.beyond .credentials{grid-template-columns:1fr}.beyond h2{font-size:42px}.contact-layout h2{font-size:55px}.contact-layout{margin-top:32px}.contact-methods strong{font-size:16px}.case-study{grid-template-columns:1fr}.project-dialog{padding:22px}.footer-bottom{font-size:12px;line-height:1.7}.footer-word{margin:0}}
@media(max-width:650px){.work .project-grid{grid-template-columns:1fr}.project-body{padding:24px}.project-body h3{font-size:28px}.work .project-card{min-height:0}.work,.beyond{padding-left:5%;padding-right:5%}.pinned-section .sticky-scene{padding-left:5%;padding-right:5%}.hero-actions>a{flex:1 1 160px}}
@media(prefers-reduced-motion:reduce){.project-preview img{transition:none}.project-preview:hover img{transform:none}}
@media(max-width:750px){.journey .year-rail{width:100%;flex-direction:row;border-left:0;border-top:1px solid #9f5b3d66}.journey .year-button:before{left:50%;top:-5px}}

.project-preview.logo-preview{display:grid;place-items:center;background:radial-gradient(ellipse at center,#51232b,#171013)}.project-preview.logo-preview img{width:96px;height:96px;object-fit:contain;background:transparent;filter:drop-shadow(0 12px 20px #0005)}.project-detail-image.logo-preview{padding:28px;border:1px solid #bd645140;border-radius:12px;text-align:center}.project-detail-image.logo-preview img{width:120px;height:120px;margin:auto}.project-detail-image.logo-preview figcaption{max-width:55ch;margin:auto}[data-theme=light] .project-preview.logo-preview{background:radial-gradient(ellipse at center,#fff,#f3ddd7)}

/* Screen selectors keep the case study compact and preserve portrait captures. */
.project-detail-image:not(.logo-preview) img{width:100%;height:clamp(240px,52vh,540px);object-fit:contain;background:#141216}
.screenshot-original{display:block;border-radius:8px;overflow:hidden}
.screenshot-original:focus-visible{outline:3px solid #ff725c;outline-offset:5px}
.screenshot-gallery{margin:20px 0 30px;padding:18px;border:1px solid #b76c5744;border-radius:12px;background:#8b33210a}
.screenshot-heading{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-bottom:12px}
.screenshot-heading h3{margin:0;font-size:18px}.screenshot-count{font-size:12px;color:#baaaa6}
.screenshot-options{display:flex;gap:8px;flex-wrap:wrap}
.screenshot-options button{font:inherit;font-size:13px;padding:11px 13px;min-height:44px;border:1px solid #a8756655;border-radius:8px;background:transparent;color:inherit;cursor:pointer;text-align:left}
.screenshot-options button span{opacity:.65;margin-right:5px;font-size:11px}
.screenshot-options button[aria-pressed=true]{background:#c42c1c;border-color:#c42c1c;color:white}
.screenshot-options button:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.screenshot-gallery>p{font-size:12px;line-height:1.6;color:#baaaa6;margin:12px 0 0}
[data-theme=light] .project-detail-image:not(.logo-preview) img{background:#eee9e6}
[data-theme=light] :is(.screenshot-count,.screenshot-gallery>p){color:#675650}
@media(max-width:600px){.screenshot-heading{flex-direction:column;gap:6px}.screenshot-gallery{padding:12px}.screenshot-options button{flex:1 1 135px}.project-detail-image:not(.logo-preview) img{height:clamp(240px,45vh,420px)}}

.project-dialog .screenshot-original{display:block;width:100%;padding:0;margin:0;border:0;text-decoration:none}.screenshot-gallery{margin-bottom:18px}
