:root{--bg: #070807;--surface: rgba(18, 20, 18, .62);--surface-solid: #111311;--line: rgba(236, 235, 228, .09);--line-2: rgba(236, 235, 228, .18);--ink: #efeee8;--ink-2: #b0b1a9;--ink-3: #868880;--signal: #d4f06a;--signal-ink: #10130a;--cool: #8fa6c4;--font-display: "Inter Tight", "Helvetica Neue", Arial, sans-serif;--font-serif: "Instrument Serif", Georgia, serif;--font-body: "DM Sans", "Helvetica Neue", Arial, sans-serif;--font-mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--gutter: clamp(1rem, 4vw, 2.5rem);--max: 1120px;--section: clamp(5rem, 10vw, 8rem);--r-md: 16px;--r-lg: 24px;--r-pill: 999px;--ease: cubic-bezier(.22, 1, .36, 1);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%;overflow-x:clip}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font:400 1rem / 1.6 var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}body.menu-open{overflow:hidden}h1,h2,h3,p,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}img,svg,canvas{max-width:100%}em{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.01em}strong{font-weight:600;color:var(--ink)}:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:6px}::selection{background:var(--signal);color:var(--signal-ink)}.skip-link{position:fixed;top:12px;left:12px;z-index:200;padding:10px 14px;border-radius:var(--r-pill);background:var(--signal);color:var(--signal-ink);font-size:.875rem;transform:translateY(-160%);transition:transform .2s var(--ease)}.skip-link:focus{transform:none}.container{width:min(var(--max),100% - 2 * var(--gutter));margin-inline:auto}main,.contact{position:relative;z-index:2}.ambient{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.ambient:before,.ambient:after{content:"";position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(80px);opacity:.16;animation:drift 26s ease-in-out infinite alternate}.ambient:before{top:-22vmax;right:-14vmax;background:radial-gradient(circle,var(--signal),transparent 65%)}.ambient:after{bottom:-26vmax;left:-18vmax;background:radial-gradient(circle,var(--cool),transparent 65%);animation-delay:-13s}@keyframes drift{to{transform:translate3d(-6vmax,5vmax,0) scale(1.08)}}.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.eyebrow{display:inline-flex;align-items:center;gap:10px;font:400 .75rem / 1.4 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}.eyebrow__n{color:var(--signal)}.pill{display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:7px 14px 7px 10px;border:1px solid var(--line-2);border-radius:var(--r-pill);background:#1113118c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:.8125rem;color:var(--ink-2)}.pulse{position:relative;flex:none;width:8px;height:8px;border-radius:50%;background:var(--signal)}.pulse:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--signal);animation:pulse 2.2s var(--ease) infinite}@keyframes pulse{0%{transform:scale(1);opacity:.7}to{transform:scale(3.2);opacity:0}}.btn{position:relative;display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:0 20px;border-radius:var(--r-pill);font:500 .9rem / 1 var(--font-body);white-space:nowrap;transition:transform .25s var(--ease),background .2s ease,border-color .2s ease,box-shadow .45s var(--ease)}.btn--primary{background:var(--signal);color:var(--signal-ink);box-shadow:0 0 0 1px #d4f06a66,0 10px 40px -12px #d4f06a8c}.btn--primary:hover{box-shadow:0 0 0 1px #d4f06a99,0 16px 50px -10px #d4f06abf}.btn--ghost{border:1px solid var(--line-2);background:#11131180;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.btn--ghost:hover{border-color:#ecebe473}.btn:active{transform:scale(.97)}.btn--lg{min-height:52px;padding:0 24px}.cta-row{display:flex;flex-wrap:wrap;gap:10px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags li{padding:5px 11px;border:1px solid var(--line);border-radius:var(--r-pill);background:#ecebe408;font:400 .75rem / 1.3 var(--font-mono);color:var(--ink-2);transition:border-color .2s ease,color .2s ease}.tags li:hover{border-color:#d4f06a66;color:var(--ink)}.spot{position:relative;isolation:isolate;border-radius:var(--r-lg);background:var(--surface);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid var(--line);overflow:hidden;transition:border-color .35s ease,transform .5s var(--ease)}.spot:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(420px circle at var(--mx, 50%) var(--my, -30%),rgba(212,240,106,.09),transparent 60%);opacity:0;transition:opacity .4s ease}.spot:after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:radial-gradient(260px circle at var(--mx, 50%) var(--my, -30%),rgba(212,240,106,.55),transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s ease;pointer-events:none}.spot:hover:before,.spot:hover:after{opacity:1}.spot:hover{border-color:var(--line-2)}.js [data-reveal]{opacity:0;transform:translateY(28px);filter:blur(6px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease),border-color .35s ease;transition-delay:calc(var(--i, 0) * 90ms)}.js [data-reveal].is-in{opacity:1;transform:none;filter:none}.nav{position:fixed;top:14px;left:0;right:0;z-index:50;display:flex;justify-content:center;padding-inline:var(--gutter);pointer-events:none}.nav__bar{position:relative;pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(var(--max),100%);padding:8px 8px 8px 10px;border:1px solid transparent;border-radius:var(--r-pill);transition:background .4s ease,border-color .4s ease,box-shadow .4s ease;overflow:hidden}.nav.is-scrolled .nav__bar,.nav.is-open .nav__bar{background:#0c0d0cb3;border-color:var(--line);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);box-shadow:0 20px 50px -25px #000c}.nav__brand{display:inline-flex;align-items:center;gap:10px;font:600 .95rem / 1 var(--font-display);letter-spacing:-.01em}.nav__mark{position:relative;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;overflow:hidden;background:linear-gradient(140deg,var(--signal),#9fc3a8 60%,var(--cool));color:var(--signal-ink);font:600 .72rem / 1 var(--font-mono);letter-spacing:.02em;box-shadow:0 0 0 1px #d4f06a59}.nav__mark img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;transform:scale(1.5) translateY(14%);opacity:0;transition:opacity .5s var(--ease),transform .6s var(--ease)}.nav.is-past-hero .nav__mark img{opacity:1;transform:scale(1.5) translateY(10%)}.nav.is-past-hero .nav__initials{opacity:0}.nav__initials{transition:opacity .3s ease}.nav__links{display:flex;align-items:center;gap:4px;font-size:.875rem}.nav__links a{padding:9px 14px;border-radius:var(--r-pill);color:var(--ink-2);transition:color .2s ease,background .2s ease}.nav__links a:hover{color:var(--ink);background:#ecebe40f}.nav__links .nav__cta{display:inline-flex;align-items:center;gap:6px;margin-left:6px;background:var(--ink);color:var(--bg);font-weight:500}.nav__links .nav__cta:hover{background:var(--signal);color:var(--signal-ink)}.nav__toggle{display:none;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2)}.nav__progress{position:absolute;left:20px;right:20px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--signal),transparent);transform-origin:left;opacity:0;transition:opacity .4s ease}.nav.is-scrolled .nav__progress{opacity:.8}@media (max-width: 760px){.nav__toggle{display:grid}.nav__bar{flex-wrap:wrap;border-radius:26px}.nav__links{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:2px;padding:8px 2px 4px;font-size:1rem}.nav.is-open .nav__links{display:flex}.nav__links .nav__cta{margin:6px 0 0;justify-content:center}}.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:120px 0 72px}.hero__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;justify-items:start;column-gap:clamp(24px,4vw,56px);row-gap:22px}.hero__inner>*{grid-column:1}.hero__inner>.stats{grid-column:1 / -1}.portrait{--away: 0;--tx: 0;--ty: 0;grid-column:2;grid-row:1 / 6;align-self:center;justify-self:end;width:clamp(240px,27vw,360px);transform:translate3d(0,calc(var(--away) * -90px),0) scale(calc(1 - var(--away) * .4)) rotate(calc(var(--away) * -8deg));opacity:calc(1 - var(--away) * 1.15);transform-origin:50% 0%;will-change:transform,opacity}.portrait__float{position:relative;animation:float 6s ease-in-out infinite}.js .portrait__float{opacity:0;animation:pop-in 1.2s var(--ease) .35s forwards,float 6s ease-in-out 1.6s infinite}@keyframes pop-in{0%{opacity:0;transform:translateY(30px) scale(.92) rotate(4deg);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}@keyframes float{0%,to{opacity:1;transform:translateY(0) rotate(0)}50%{opacity:1;transform:translateY(-12px) rotate(-1.2deg)}}.portrait__card{position:relative;aspect-ratio:1;border-radius:28px;overflow:hidden;border:1px solid rgba(236,235,228,.16);box-shadow:0 0 0 6px #11131199,0 0 0 7px #d4f06a38,0 40px 80px -30px #000000e6,0 0 120px -20px #d4f06a47;transform:perspective(900px) rotateY(calc(var(--tx) * 14deg)) rotateX(calc(var(--ty) * -12deg));transition:transform .6s var(--ease)}.portrait__card img{display:block;width:100%;height:100%;image-rendering:pixelated;object-fit:cover}.portrait__shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.16) 45%,transparent 60%);background-size:250% 100%;animation:shine 5.5s ease-in-out 2s infinite;mix-blend-mode:screen}@keyframes shine{0%{background-position:130% 0}40%,to{background-position:-60% 0}}.portrait__badge{position:absolute;left:50%;bottom:-16px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 12px;border:1px solid var(--line-2);border-radius:var(--r-pill);background:#0c0d0cd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:.78rem;white-space:nowrap;color:var(--ink);transform:translate(-50%)}.hero__title{display:grid;gap:.06em;font:600 clamp(2.9rem,7.4vw,5.8rem) / .96 var(--font-display);letter-spacing:-.045em;max-width:12ch}.hero__line{display:block}.hero__line--sub{font-size:.54em;line-height:1.05;letter-spacing:-.035em;color:var(--ink-2);max-width:18ch}.hero__line--sub em{color:var(--signal)}.hero__word{display:inline-block}.js .hero__word,.js .hero__anim{opacity:0;transform:translateY(.5em);filter:blur(10px);animation:rise 1.1s var(--ease) forwards;animation-delay:calc(.15s + var(--d, 0) * .09s)}@keyframes rise{to{opacity:1;transform:none;filter:none}}.hero__role{font:400 .8rem / 1.4 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.hero__summary{max-width:52ch;font-size:clamp(1rem,1.4vw,1.125rem);color:var(--ink-2)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:860px;margin-top:26px;border:1px solid var(--line);border-radius:var(--r-md);background:#0e0f0e80;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:hidden}.stat{display:grid;align-content:start;gap:6px;padding:18px 20px;border-left:1px solid var(--line);opacity:0;transform:translateY(14px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i) * .1s)}.stat:first-child{border-left:0}.stats.is-in .stat,html:not(.js) .stat{opacity:1;transform:none}.stat__value{font:600 clamp(1.5rem,2.6vw,2rem) / 1 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink)}.stat__label{font-size:.8rem;line-height:1.4;color:var(--ink-3)}.hero__scroll{position:absolute;left:50%;bottom:22px;display:grid;place-items:center;width:38px;height:38px;margin-left:-19px;border:1px solid var(--line-2);border-radius:50%;color:var(--ink-2);animation:bob 2.4s ease-in-out infinite}@keyframes bob{50%{transform:translateY(6px)}}@media (max-width: 899px){.hero{padding-top:104px}.hero__inner{grid-template-columns:minmax(0,1fr)}.portrait{grid-column:1;grid-row:auto;justify-self:start;width:clamp(150px,42vw,210px);margin-bottom:14px}.portrait__card{border-radius:22px}}@media (max-width: 680px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}.stat{padding:16px}.hero__scroll{display:none}}.section{padding:var(--section) 0 0}.section-head{display:grid;gap:14px;margin-bottom:clamp(2rem,4vw,3rem)}.section-title{font:600 clamp(2rem,4.6vw,3.5rem) / 1.02 var(--font-display);letter-spacing:-.04em}.section-title em{color:var(--signal)}.roles{display:grid;gap:14px}.role{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:28px;padding:clamp(22px,3vw,32px)}.role__meta{display:grid;align-content:start;gap:4px;font:400 .78rem / 1.5 var(--font-mono);color:var(--ink-3)}.role__period{color:var(--ink-2)}.role__main{display:grid;gap:12px;min-width:0}.role__company{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;font:600 clamp(1.3rem,2.2vw,1.6rem) / 1.15 var(--font-display);letter-spacing:-.025em}.role__product{padding:3px 10px;border-radius:var(--r-pill);background:#d4f06a1a;border:1px solid rgba(212,240,106,.25);color:var(--signal);font:500 .72rem / 1.3 var(--font-mono);letter-spacing:.04em}.role__title{color:var(--ink-2);font-size:.95rem}.role__points,.project__points{display:grid;gap:8px;color:var(--ink-2);font-size:.95rem}.role__points li,.project__points li{position:relative;padding-left:18px}.role__points li:before,.project__points li:before{content:"";position:absolute;left:0;top:.68em;width:7px;height:1px;background:var(--signal)}.edu{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:18px;padding:16px 22px;border:1px dashed var(--line-2);border-radius:var(--r-md);color:var(--ink-2);font-size:.92rem}.edu__label,.edu__period{font:400 .75rem / 1.4 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.edu__period{margin-left:auto;letter-spacing:.04em}@media (max-width: 720px){.role{grid-template-columns:minmax(0,1fr);gap:14px}.role__meta{display:flex;flex-wrap:wrap;gap:4px 12px}.edu__period{margin-left:0}}.projects{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px}.project{display:flex;flex-direction:column;gap:18px;padding:clamp(24px,3.2vw,36px)}.project--grc-flow{background:radial-gradient(90% 60% at 100% 0%,rgba(212,240,106,.08),transparent 60%),var(--surface)}.project--sarathi{background:radial-gradient(90% 60% at 100% 0%,rgba(143,166,196,.1),transparent 60%),var(--surface)}.project__head{display:grid;gap:8px}.project__kicker{font:400 .74rem / 1.4 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.project__name{font:600 clamp(1.8rem,3.4vw,2.6rem) / 1 var(--font-display);letter-spacing:-.04em}.project__title{font:italic 400 clamp(1.15rem,1.8vw,1.4rem) / 1.25 var(--font-serif);color:var(--signal)}.project--sarathi .project__title{color:#b9cbe2}.project__body{color:var(--ink-2);font-size:.95rem}.project__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:1px;margin-top:auto;border:1px solid var(--line);border-radius:var(--r-md);background:var(--line);overflow:hidden}.project__stats div{display:flex;flex-direction:column-reverse;gap:4px;padding:14px 16px;background:#0a0b0abf}.project__stats dt{font-size:.75rem;line-height:1.3;color:var(--ink-3)}.project__stats dd{font:600 1.35rem / 1 var(--font-display);letter-spacing:-.03em}.project__links{display:flex;flex-wrap:wrap;gap:8px}.chip-link{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:8px 13px;border:1px solid var(--line-2);border-radius:var(--r-pill);font-size:.82rem;overflow-wrap:anywhere;transition:border-color .2s ease,background .2s ease,color .2s ease}.chip-link:hover{border-color:var(--signal);background:var(--signal);color:var(--signal-ink)}@media (max-width: 900px){.projects{grid-template-columns:minmax(0,1fr)}}.section--tight{padding-top:clamp(4rem,8vw,6rem)}.skills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.skill{display:grid;align-content:start;gap:14px;padding:22px}.skill__group{font:600 1.05rem / 1.2 var(--font-display);letter-spacing:-.02em}@media (max-width: 960px){.skills{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.skills{grid-template-columns:minmax(0,1fr)}}.contact{padding:var(--section) 0 0}.contact__panel{display:grid;justify-items:start;gap:18px;padding:clamp(28px,6vw,64px);background:radial-gradient(70% 90% at 0% 100%,rgba(212,240,106,.1),transparent 60%),radial-gradient(60% 80% at 100% 0%,rgba(143,166,196,.1),transparent 60%),var(--surface)}.contact__title{font:600 clamp(2.3rem,6.4vw,4.8rem) / .98 var(--font-display);letter-spacing:-.045em}.contact__title em{color:var(--signal)}.contact__pre{max-width:46ch;color:var(--ink-2)}.contact__details{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:4px;font:400 .85rem / 1.4 var(--font-mono);color:var(--ink-2)}.contact__details a,.contact__copy{display:inline-flex;align-items:center;gap:8px;max-width:100%;overflow-wrap:anywhere;text-align:left;transition:color .2s ease}.contact__details a:hover,.contact__copy:hover{color:var(--signal)}.footer{margin-top:clamp(3rem,6vw,5rem);padding:22px 0 28px;border-top:1px solid var(--line);font-size:.82rem;color:var(--ink-3)}.footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.footer__social{display:flex;gap:6px}.footer__social a{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;color:var(--ink-2);transition:color .2s ease,border-color .2s ease}.footer__social a:hover{color:var(--signal);border-color:var(--signal)}.x-glyph{font-size:.95rem;line-height:1}@media (max-width: 520px){.contact .btn--lg{flex:1 1 auto;justify-content:center}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}}
