html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}:root{--bg:#0b0a09;--ink:#ece7dc;--ink-2:#ece7dcbd;--ink-3:#ece7dc8f;--line:#ece7dc21;--line-2:#ece7dc42;--accent:#f4b52f;--on-accent:#0b0a09;--live:#ff5a36;--scrim:#0b0a09cc;--scrim-soft:#0b0a098c;--f-display:"Archivo", "Helvetica Neue", Arial, sans-serif;--f-serif:"Instrument Serif", "Times New Roman", serif;--f-mono:"Martian Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--pad:clamp(16px, 4vw, 60px);--gap:clamp(16px, 2vw, 32px);--ease:cubic-bezier(.2, .7, 0, 1);--ease-io:cubic-bezier(.65, 0, .35, 1);--nav-h:64px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--f-display);font-variation-settings:"wdth" 100;background:0 0;margin:0;font-size:17px;line-height:1.55;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}h1,h2,h3,p,dl,dd,ol,ul,figure,blockquote{margin:0}ol,ul{padding:0;list-style:none}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.caps{font-family:var(--f-mono);letter-spacing:.02em;text-transform:uppercase;font-variation-settings:"wdth" 90;font-size:10.5px;font-weight:400;line-height:1.5}em{font-family:var(--f-serif);color:var(--accent);letter-spacing:-.005em;font-size:1.08em;font-style:italic;font-weight:400;line-height:.9}strong{color:var(--ink);font-weight:600}code{font-family:var(--f-mono);border:1px solid var(--line);white-space:nowrap;border-radius:3px;padding:.05em .35em;font-size:.8em}.redact{white-space:nowrap;display:inline-block;position:relative}.redact:after{content:"";background:var(--ink);transform-origin:100%;transition:transform .9s var(--ease);position:absolute;inset:.12em -.08em .06em}.redact>span{border-bottom:1px solid var(--accent)}.redact.is-open:after{transform:scaleX(0)}.skip{z-index:100;background:var(--accent);color:var(--on-accent);padding:10px 14px;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip:focus{transform:none}.field{z-index:-1;width:100vw;height:100vh;display:block;position:fixed;inset:0}.no-webgl .field{display:none}.grain{z-index:70;pointer-events:none;opacity:.06;background-size:180px 180px;animation:.9s steps(6,end) infinite grain;position:fixed;inset:-50%}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-4%,-1%)}80%{transform:translate(3%,3%)}to{transform:translate(0)}}.markers{z-index:5;pointer-events:none;position:fixed;inset:0}.marker{opacity:0;will-change:transform, opacity;align-items:center;gap:10px;transition:opacity .4s;display:flex;position:absolute;top:0;left:0;translate:0 -50%}.marker__dot{border:1px solid var(--accent);border-radius:50%;flex:none;width:7px;height:7px;margin-left:-3.5px;position:relative}.marker__dot:after{content:"";background:linear-gradient(90deg, var(--accent), transparent);width:26px;height:1px;position:absolute;top:50%;left:100%}.marker__text{color:var(--ink);white-space:nowrap;text-shadow:0 0 12px var(--bg), 0 0 3px var(--bg);padding-left:26px}.marker.is-flip{flex-direction:row-reverse}.marker.is-flip .marker__dot{margin:0 -3.5px 0 0}.marker.is-flip .marker__dot:after{background:linear-gradient(270deg, var(--accent), transparent);left:auto;right:100%}.marker.is-flip .marker__text{padding:0 26px 0 0}.boot{z-index:80;padding:var(--pad);pointer-events:none;transition:opacity .8s var(--ease);place-items:end start;padding-bottom:72px;display:grid;position:fixed;inset:0}.boot__line{color:var(--ink-2);gap:.8em;display:flex}.boot__op{color:var(--accent)}.boot__n{color:var(--ink);font-variant-numeric:tabular-nums;min-width:6ch}.is-booted .boot,.is-booting [data-hero-fade],.is-booting .hero__fig,.is-booting .nav,.is-booting .hud{opacity:0}[data-hero-fade],.hero__fig,.nav,.hud{transition:opacity 1.2s var(--ease) .2s, transform 1.2s var(--ease) .2s}.is-booting [data-hero-fade]{transform:translateY(14px)}.nav{z-index:40;height:var(--nav-h);padding:0 var(--pad);align-items:center;gap:var(--gap);grid-template-columns:1fr auto 1fr;display:grid;position:fixed;inset:0 0 auto}.nav:before{content:"";z-index:-1;background:linear-gradient(var(--bg) 58%, transparent);opacity:0;pointer-events:none;transition:opacity .5s;position:absolute;inset:0 0 -34px}.nav.is-scrolled:before{opacity:.96}.nav__brand{white-space:nowrap;justify-self:start;align-items:baseline;gap:12px;display:flex}.nav__name{letter-spacing:-.005em;font-variation-settings:"wdth" 118;font-size:14px;font-weight:650}.nav__alias{color:var(--ink-3)}.nav__links{gap:clamp(14px,2vw,30px);display:flex}.nav__links a{color:var(--ink-2);gap:6px;padding:10px 0;transition:color .3s;display:flex}.nav__links i{color:var(--ink-3);font-style:normal}.nav__links a:hover,.nav__links a.is-current{color:var(--ink)}.nav__links a.is-current i{color:var(--accent)}.nav__meta{white-space:nowrap;justify-self:end;align-items:center;gap:clamp(12px,1.6vw,22px);display:flex}.nav__clock{color:var(--ink-2);font-variant-numeric:tabular-nums}.nav__ml{font-family:"Noto Sans Malayalam", var(--f-display);text-transform:none;letter-spacing:0;color:var(--ink-3);margin-left:6px;font-size:12px}.nav__btn{color:var(--ink-2);align-items:center;gap:8px;padding:10px 0;transition:color .3s;display:inline-flex}.nav__btn:hover{color:var(--ink)}.nav__wave{align-items:center;gap:2px;height:10px;display:inline-flex}.nav__wave i{background:currentColor;width:2px;height:3px;transition:height .3s}[data-sound][aria-pressed=true] .nav__wave i{animation:.9s ease-in-out infinite alternate wave}[data-sound][aria-pressed=true] .nav__wave i:nth-child(2){animation-delay:-.3s}[data-sound][aria-pressed=true] .nav__wave i:nth-child(3){animation-delay:-.6s}[data-sound][aria-pressed=true] .nav__wave i:nth-child(4){animation-delay:-.15s}@keyframes wave{to{height:10px}}.nav__menu{font-family:var(--f-mono);text-transform:uppercase;align-items:center;gap:10px;padding:12px 0;font-size:10.5px;display:none}.nav__menu i{width:18px;height:7px;transition:transform .4s var(--ease);border-top:1px solid;border-bottom:1px solid}.nav__menu[aria-expanded=true] i{transform:scaleY(.2)}.hud{z-index:40;padding:0 var(--pad) 16px;justify-content:space-between;align-items:flex-end;gap:var(--gap);pointer-events:none;color:var(--ink-2);display:flex;position:fixed;inset:auto 0 0}.hud:before{content:"";z-index:-1;background:linear-gradient(transparent, var(--bg) 85%);opacity:.7;position:absolute;inset:-40px 0 0}.hud__tx{white-space:nowrap;gap:14px;min-width:0;display:flex}.hud__id b{color:var(--ink);font-weight:400}.hud__op{color:var(--accent);min-width:8ch}.hud__op[data-op=rollback]{color:var(--live)}.hud__op[data-op=begin]{animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.35}}.hud__label{text-overflow:ellipsis;overflow:hidden}.hud__label b{color:var(--ink);font-weight:400}.hud__label span{color:var(--ink-3)}.hud__pct{color:var(--ink);font-variant-numeric:tabular-nums}.hud__meta{white-space:nowrap;font-variant-numeric:tabular-nums}.hud__sep{color:var(--ink-3);margin:0 4px}.hud__bar{left:var(--pad);right:var(--pad);background:var(--line);height:1px;position:absolute;bottom:8px}.hud__bar i{background:var(--accent);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.menu{z-index:45;padding:calc(var(--nav-h) + 4vh) var(--pad) 80px;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .5s var(--ease), visibility 0s .5s;position:fixed;inset:0;overflow-y:auto}.menu.is-open{opacity:1;visibility:visible;transition:opacity .5s var(--ease)}.menu__inner{gap:var(--gap);grid-template-columns:1.3fr 1fr;align-content:center;min-height:100%;display:grid}.menu__sections{flex-direction:column;display:flex}.menu__sections a{color:var(--ink-2);transition:color .3s, transform .5s var(--ease);align-items:baseline;gap:18px;padding:4px 0;display:flex}.menu__sections a:hover{color:var(--ink);transform:translate(10px)}.menu__big{letter-spacing:-.035em;font-variation-settings:"wdth" 118;transition:font-variation-settings .5s var(--ease);font-size:clamp(40px,6.4vw,104px);font-weight:700;line-height:1}.menu__sections a:hover .menu__big{font-variation-settings:"wdth" 125}.menu__work{flex-direction:column;align-self:center;gap:18px;display:flex}.menu__title{color:var(--ink-3)}.menu__work ol a{border-top:1px solid var(--line);grid-template-columns:3ch 1fr auto;align-items:baseline;gap:14px;padding:9px 0;transition:color .3s;display:grid}.menu__work ol a:hover{color:var(--accent)}.menu__work ol a>span:nth-child(2){letter-spacing:-.01em;font-size:20px;font-weight:550}.menu__cat{color:var(--ink-3)}.menu__mail{font-family:var(--f-serif);color:var(--accent);overflow-wrap:anywhere;margin-top:10px;font-size:clamp(22px,2vw,30px);font-style:italic}.menu__controls{border-top:1px solid var(--line);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px 24px;padding-top:18px;display:none}main{display:block}.section{padding:clamp(110px, 18vh, 200px) var(--pad);position:relative}.s-head{column-gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));row-gap:22px;margin-bottom:clamp(48px,8vh,96px);display:grid}.s-head__index{color:var(--ink-2);grid-column:1/-1;align-items:center;gap:14px;display:flex}.s-head__index:after{content:"";background:var(--line);flex:1;height:1px}.s-head__num{color:var(--accent)}.s-head__title{letter-spacing:-.04em;font-variation-settings:"wdth" 116;grid-column:1/span 8;font-size:clamp(46px,7.4vw,136px);font-weight:700;line-height:.9}.s-head__title em{letter-spacing:-.02em;padding-right:.04em;font-size:1.12em;line-height:.7}.s-head__side{grid-column:9/-1;align-self:end;gap:14px;display:grid}.s-head__aside{color:var(--ink-2);max-width:36ch;font-size:16px}.s-head__note{color:var(--ink-3)}.s-head--big .s-head__title{grid-column:1/-1;font-size:clamp(56px,11vw,210px)}.s-head--big .s-head__side{grid-column:8/-1}.services .s-head__side,.experience .s-head__side,.play .s-head__side{grid-area:3/1/auto/span 6}.fig{max-width:340px;color:var(--ink-3);border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:12px;padding-top:12px;font-size:12.5px;line-height:1.5;display:grid}.fig__n{color:var(--accent);font-size:10px}.fig__t,.fig__n{text-shadow:0 0 10px var(--bg), 0 0 4px var(--bg), 0 0 2px var(--bg)}.fig__t em{font-size:1.1em}.hero{min-height:100svh;padding:calc(var(--nav-h) + 3vh) var(--pad) 78px;column-gap:var(--gap);grid-template-rows:auto 1fr auto auto;grid-template-columns:repeat(12,minmax(0,1fr));display:grid;position:relative}.hero__top{color:var(--ink-2);grid-column:1/-1;justify-content:space-between;padding-top:8px;display:flex}.hero__z span{color:var(--accent)}.hero__intro{grid-area:2/9/auto/-1;align-self:start;gap:22px;padding-top:6vh;display:grid}.hero__lede{letter-spacing:-.008em;max-width:30ch;font-size:clamp(18px,1.45vw,23px);line-height:1.38}.hero__note{font-family:var(--f-serif);color:var(--ink-2);font-size:19px;font-style:italic}.hero__note:before{content:"— ";color:var(--accent)}.hero__spec{border-top:1px solid var(--line);gap:0;display:grid}.hero__spec>div{border-bottom:1px solid var(--line);grid-template-columns:9ch 1fr;gap:12px;padding:9px 0;display:grid}.hero__spec dt{color:var(--ink-3)}.hero__spec dd{color:var(--ink)}.hero__fig{grid-area:2/1/auto/span 3;align-self:end;margin-bottom:3vh}.hero__name{letter-spacing:-.045em;color:var(--ink);-webkit-user-select:none;user-select:none;flex-direction:column;grid-area:3/1/auto/-1;margin-left:-.04em;font-size:clamp(60px,14.6vw,290px);font-weight:800;line-height:.79;display:flex}.hero__name,.hero__line,.footer__name{contain:layout style}.hero__line{white-space:nowrap;display:block}.hero__line+.hero__line{align-self:flex-end}.char{--wdth:125;font-variation-settings:"wdth" var(--wdth);display:inline-block}.char--space{width:.25em}.hero__foot{justify-content:space-between;gap:var(--gap);color:var(--ink-3);grid-area:4/1/auto/-1;margin-top:26px;display:flex}.hero__scroll{color:var(--ink-2);white-space:nowrap;flex:none;align-items:center;gap:10px;display:inline-flex}.hero__scroll i{background:var(--line-2);width:1px;height:22px;position:relative;overflow:hidden}.hero__scroll i:after{content:"";background:var(--accent);animation:drop 1.8s var(--ease-io) infinite;position:absolute;inset:0}@keyframes drop{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.hero__functions{white-space:nowrap;gap:12px;min-width:0;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12%);mask-image:linear-gradient(90deg,#0000,#000 12%)}.hero__functions i{color:var(--accent);font-style:normal}.about__grid{column-gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;min-height:100vh;display:grid}.about__stage{grid-column:1/span 6}.about__text{grid-column:7/-1;gap:40px;display:grid}.about__text .s-head{margin-bottom:0}.about__statement{letter-spacing:-.02em;font-size:clamp(24px,2.5vw,40px);font-weight:400;line-height:1.2}.about__statement .w{opacity:.2;transition:opacity .4s}.about__statement .w.is-lit{opacity:1}.about__body{gap:var(--gap);color:var(--ink-2);grid-template-columns:1fr 1fr;font-size:15.5px;display:grid}.about__now{border-top:1px solid var(--line)}.about__now>div{border-bottom:1px solid var(--line);grid-template-columns:12ch 1fr;align-items:baseline;gap:14px;padding:12px 0;display:grid}.about__now dt{color:var(--accent)}.about__fig{left:var(--pad);position:absolute;bottom:22vh}.stats{gap:var(--gap);border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12vh;display:grid}.stat{gap:10px;padding-top:22px;display:grid}.stat__num{letter-spacing:-.05em;font-variation-settings:"wdth" 110;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(44px,4.8vw,104px);font-weight:250;line-height:.9}.stat__num em{vertical-align:.5em;margin-left:.04em;font-size:.6em}.stat__label{color:var(--ink-2);max-width:24ch}.work-intro{padding-bottom:8vh}.work-index{column-gap:var(--gap);border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.work-index a{border-bottom:1px solid var(--line);grid-template-rows:auto auto;grid-template-columns:3.4ch 1fr;column-gap:12px;padding:18px 0 20px;transition:color .3s;display:grid}.work-index__n{color:var(--ink-3);padding-top:.6em}.work-index__t{letter-spacing:-.025em;font-variation-settings:"wdth" 108;transition:font-variation-settings .5s var(--ease);font-size:clamp(22px,2.2vw,34px);font-weight:650;line-height:1.1}.work-index__c{color:var(--ink-3);grid-column:2;margin-top:4px}.work-index a:hover{color:var(--accent)}.work-index a:hover .work-index__t{font-variation-settings:"wdth" 125}.chapter{min-height:125vh;padding:18vh var(--pad);column-gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;display:grid;position:relative}.chapter__text{grid-area:1/1/auto/span 5;gap:22px;display:grid;position:relative}.chapter--text-right .chapter__text{grid-column:8/-1}.chapter__meta{color:var(--ink-2);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px 18px;padding-bottom:14px;display:flex}.chapter__n{color:var(--accent)}.chapter__n i{color:var(--ink-3);font-style:normal}.chapter__title{--len:8;font-size:clamp(44px, min(7.2vw, calc(60vw / var(--len))), 132px);letter-spacing:-.045em;font-variation-settings:"wdth" 112;margin-top:8px;font-weight:700;line-height:.88}.chapter__context{color:var(--ink-3)}.chapter__summary{letter-spacing:-.01em;max-width:34ch;font-size:clamp(18px,1.35vw,22px);line-height:1.4}.metrics{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.metrics>div{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:16px 16px 16px 0;display:flex}.metrics>div:nth-child(2n){border-left:1px solid var(--line);padding-left:16px}.metrics dd{letter-spacing:-.04em;font-variation-settings:"wdth" 125;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(30px,3vw,50px);font-weight:500;line-height:1}.metrics .is-lead dd{color:var(--accent)}.metrics dt{color:var(--ink-2)}.chapter__stack{color:var(--ink-3)}.chapter__stack i{color:var(--line-2);font-style:normal}.chapter__actions{flex-wrap:wrap;align-items:center;gap:14px 22px;padding-top:6px;display:flex}.chapter__fig{grid-area:1/9/auto/span 4;place-self:end}.chapter__fig--left{grid-column:1/span 4;justify-self:start}.chapter__ghost{display:none}.cta{background:var(--accent);color:var(--on-accent);font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.03em;isolation:isolate;transition:color .45s var(--ease);align-items:center;gap:16px;padding:15px 18px 15px 20px;font-size:11px;display:inline-flex;position:relative;overflow:hidden}.cta:before{content:"";z-index:-1;background:var(--ink);clip-path:inset(0 100% 0 0);transition:clip-path .55s var(--ease);position:absolute;inset:0}.cta:hover:before{clip-path:inset(0)}.cta:hover{color:var(--bg)}.i-arrow,.i-ext,.i-plus{fill:none;stroke:currentColor;stroke-width:1.4px;width:16px;height:16px;transition:transform .5s var(--ease);flex:none}.cta:hover .i-arrow{transform:translate(4px)}.ext{color:var(--ink-2);border-bottom:1px solid var(--line-2);align-items:center;gap:6px;padding:4px 0;transition:color .3s,border-color .3s;display:inline-flex}.ext .i-ext{width:12px;height:12px}.ext:hover{color:var(--accent);border-color:var(--accent)}.ext:hover .i-ext{transform:translate(2px,-2px)}.ledger{border-top:1px solid var(--line)}.ledger__row{gap:var(--gap);border-bottom:1px solid var(--line);grid-template-columns:4ch minmax(0,3fr) minmax(0,5fr) minmax(0,2fr) 5ch 16px;align-items:baseline;padding:22px 0;transition:color .3s;display:grid;position:relative}.ledger__row:before{content:"";inset:0 calc(var(--pad) * -1);z-index:-1;background:var(--scrim-soft);transform-origin:bottom;transition:transform .5s var(--ease);position:absolute;transform:scaleY(0)}.ledger__row:hover:before{transform:scaleY(1)}.ledger__n{color:var(--ink-3)}.ledger__t{letter-spacing:-.025em;font-variation-settings:"wdth" 110;font-size:clamp(20px,1.9vw,30px);font-weight:600;line-height:1.15}.ledger__s{color:var(--ink-2);font-size:14.5px;line-height:1.45}.ledger__c,.ledger__y{color:var(--ink-3)}.ledger__row .i-arrow{color:var(--ink-3);align-self:center}.ledger__row:hover .ledger__t,.ledger__row:hover .i-arrow{color:var(--accent)}.ledger__row:hover .i-arrow{transform:translate(4px)}.crafts{border-top:1px solid var(--line);max-width:calc((100% - var(--gap) * 11) / 12 * 7 + var(--gap) * 6);gap:0;display:grid}.craft{column-gap:var(--gap);border-bottom:1px solid var(--line);grid-template-columns:4ch minmax(0,1fr);row-gap:10px;padding:30px 0;display:grid}.craft__n{color:var(--accent);grid-row:span 3;padding-top:.9em}.craft__t{letter-spacing:-.035em;font-variation-settings:"wdth" 114;font-size:clamp(28px,3.2vw,54px);font-weight:650;line-height:1}.craft__d{color:var(--ink-2);max-width:56ch}.craft__tags{color:var(--ink-3)}.craft__tags i{color:var(--line-2);font-style:normal}.services__fig{right:var(--pad);position:absolute;bottom:18vh}.skills .s-head__title,.skills .s-head__side{grid-column:6/-1}.skills .s-head__side{grid-row:3}.toolkit{column-gap:var(--gap);margin-left:calc((100% - var(--gap) * 11) / 12 * 5 + var(--gap) * 5);border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.toolkit__group{border-bottom:1px solid var(--line);align-content:start;gap:10px;padding:20px 0 22px;display:grid}.toolkit__area{color:var(--ink-2);justify-content:space-between;display:flex}.toolkit__area i{color:var(--ink-3);font-style:normal}.toolkit__items{flex-wrap:wrap;gap:4px 14px;font-size:16px;line-height:1.35;display:flex}.tool.is-core{color:var(--accent);align-items:center;gap:6px;display:inline-flex}.tool.is-core:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 10px}.domains{margin-left:calc((100% - var(--gap) * 11) / 12 * 5 + var(--gap) * 5);gap:14px;padding-top:32px;display:grid}.domains__title{color:var(--ink-3)}.domains__list{font-family:var(--f-serif);color:var(--ink-2);flex-wrap:wrap;gap:4px 18px;font-size:clamp(20px,1.8vw,28px);font-style:italic;display:flex}.skills__fig{left:var(--pad);position:absolute;bottom:16vh}.roles{border-top:1px solid var(--line);max-width:calc((100% - var(--gap) * 11) / 12 * 7 + var(--gap) * 6)}.role{gap:var(--gap);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,2fr) minmax(0,5fr);padding:34px 0;display:grid}.role__period{color:var(--accent);padding-top:.9em}.role__main{gap:12px;display:grid}.role__t{letter-spacing:-.035em;font-variation-settings:"wdth" 112;font-size:clamp(26px,2.8vw,46px);font-weight:650;line-height:1.02}.role__co{color:var(--ink-2)}.role__co span{color:var(--ink-3)}.role__d{color:var(--ink-2);max-width:58ch}.more summary{color:var(--ink);cursor:pointer;border-bottom:1px solid var(--line-2);align-items:center;gap:10px;padding:10px 0;list-style:none;display:inline-flex}.more summary::-webkit-details-marker{display:none}.more .more__close,.more[open] .more__open{display:none}.more[open] .more__close{display:inline}.more[open] .i-plus{transform:rotate(45deg)}.bullets{color:var(--ink-2);gap:12px;max-width:64ch;margin-top:18px;font-size:15.5px;display:grid}.bullets li{padding-left:22px;position:relative}.bullets li:before{content:"";background:var(--accent);width:10px;height:1px;position:absolute;top:.72em;left:0}.achievements{margin-top:14vh}.achievements__title{color:var(--ink-2);border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:14px;display:flex}.achievements__title i{color:var(--accent);font-style:normal}.achievements ul{gap:var(--gap);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.ach{align-content:start;gap:10px;padding-top:22px;display:grid}.ach__tag{letter-spacing:-.05em;font-variation-settings:"wdth" 125;color:var(--accent);white-space:nowrap;font-size:clamp(40px,4.6vw,82px);font-weight:250;line-height:.9}.ach__t{font-size:16px;font-weight:600;line-height:1.3}.ach__d{color:var(--ink-3);font-size:14px;line-height:1.45}.experience__fig{right:var(--pad);position:absolute;top:40vh}.schools{border-top:1px solid var(--line)}.school{gap:var(--gap);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,2fr) minmax(0,6fr) minmax(0,2fr);align-items:baseline;padding:26px 0;display:grid}.school__period{color:var(--accent)}.school__main{gap:6px;display:grid}.school__t{letter-spacing:-.025em;font-variation-settings:"wdth" 110;font-size:clamp(22px,2.2vw,34px);font-weight:600;line-height:1.1}.school__inst{color:var(--ink-2)}.school__inst span{color:var(--ink-3)}.school__d{color:var(--ink-3);font-size:14.5px}.school__score{text-align:right;color:var(--ink-3);justify-items:end;gap:4px;display:grid}.school__v{letter-spacing:-.04em;font-variation-settings:"wdth" 125;color:var(--ink);font-variant-numeric:tabular-nums;font-size:clamp(30px,3vw,48px);font-weight:300;line-height:1}.school__v small{letter-spacing:0;color:var(--ink-3);margin-left:4px;font-size:.4em}.langs{gap:var(--gap);grid-template-columns:minmax(0,2fr) minmax(0,8fr);margin-top:10vh;display:grid}.langs__title{color:var(--ink-2)}.langs ul{gap:var(--gap);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.langs li{gap:8px;display:grid}.langs__name{letter-spacing:-.02em;font-size:22px;font-weight:600}.langs__level{gap:5px;display:flex}.langs__level i{border:1px solid var(--line-2);border-radius:50%;width:7px;height:7px}.langs__level i.on{background:var(--accent);border-color:var(--accent)}.langs__note{color:var(--ink-3)}.play{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg stroke='%23000' stroke-width='4' stroke-linecap='square'%3E%3Cpath d='M16 5v7M16 20v7M5 16h7M20 16h7'/%3E%3C/g%3E%3Cg stroke='%2300ff88' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M16 5v7M16 20v7M5 16h7M20 16h7'/%3E%3C/g%3E%3Ccircle cx='16' cy='16' r='1.5' fill='%2300ff88' stroke='%23000'/%3E%3C/svg%3E") 16 16,crosshair}.play a,.play button{cursor:inherit}.play__grid{gap:var(--gap);max-width:calc((100% - var(--gap) * 11) / 12 * 8 + var(--gap) * 7);grid-template-columns:minmax(0,7fr) minmax(0,3fr);display:grid}.games{column-gap:var(--gap);border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.game{border-bottom:1px solid var(--line);align-content:start;gap:8px;padding:20px 0 22px;display:grid}.game__status{color:var(--ink-3);align-items:center;gap:8px;display:flex}.game__status i{background:var(--line-2);border-radius:50%;width:6px;height:6px}.game.is-live .game__status{color:var(--live)}.game.is-live .game__status i{background:var(--live);box-shadow:0 0 0 0 var(--live);animation:1.6s ease-out infinite live}@keyframes live{to{box-shadow:0 0 0 8px #0000}}.game__t{letter-spacing:-.03em;font-variation-settings:"wdth" 112;font-size:clamp(24px,2.4vw,38px);font-weight:650;line-height:1.05}.game__t a{border-bottom:1px solid var(--line-2)}.game__t a:hover{color:var(--accent)}.game__note{color:var(--ink-2);font-size:15px}.game__tag{color:var(--accent);white-space:nowrap;border:1px solid;margin-left:4px;padding:1px 6px}.handles{align-content:start;gap:14px;display:grid}.handles__title{color:var(--ink-2);border-bottom:1px solid var(--line);padding-bottom:12px}.handles ul{gap:2px;display:grid}.handles li{border-bottom:1px solid var(--line);gap:2px;padding:8px 0;display:grid}.handles__platform{color:var(--ink-3)}.handles__id{font-family:var(--f-mono);text-align:left;color:var(--ink);align-items:center;gap:8px;width:fit-content;font-size:13px;transition:color .3s;display:inline-flex}.handles__id .caps,.handles__id>span{color:var(--ink-3);font-size:9.5px}.handles__id .i-ext{width:11px;height:11px}.handles__id:hover{color:var(--accent)}.play__fig{right:var(--pad);position:absolute;bottom:14vh}.quotes__list{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quote blockquote{letter-spacing:-.015em;font-size:clamp(22px,2vw,32px);line-height:1.3}.quote figcaption{gap:4px;margin-top:18px;display:grid}.quote__name{font-weight:600}.contact{padding:26vh var(--pad) 70px;min-height:100vh;position:relative}.contact__inner{text-align:center;justify-items:center;gap:34px;max-width:1300px;margin:0 auto;display:grid}.contact__inner .s-head__index{width:100%}.contact__headline{letter-spacing:-.045em;font-variation-settings:"wdth" 114;text-wrap:balance;max-width:16ch;font-size:clamp(42px,7.4vw,140px);font-weight:700;line-height:.92}.contact__text{color:var(--ink-2);max-width:52ch;font-size:18px}.contact__actions{flex-direction:column;align-items:center;gap:22px;display:flex}.email{justify-items:center;gap:8px;display:grid}.email__text{font-family:var(--f-serif);letter-spacing:-.02em;color:var(--accent);overflow-wrap:anywhere;border-bottom:1px solid #0000;font-size:clamp(30px,4.8vw,82px);font-style:italic;line-height:1.05;transition:border-color .4s}.email:hover .email__text{border-color:var(--accent)}.email__hint{color:var(--ink-3)}.socials{flex-wrap:wrap;justify-content:center;gap:14px 30px;display:flex}.socials li{justify-items:center;gap:4px;display:grid}.socials a{color:var(--ink);border-bottom:1px solid var(--line-2);align-items:center;gap:6px;padding:6px 0;display:inline-flex}.socials a:hover{color:var(--accent);border-color:var(--accent)}.socials .i-ext{width:11px;height:11px}.socials__note{color:var(--ink-3);text-transform:none;font-size:10px}.contact__fig{text-align:left;margin-top:4vh}.trace{border:1px solid var(--line);background:var(--scrim-soft);gap:18px;max-width:1300px;margin:18vh auto 0;padding:24px;display:grid}.trace__head{color:var(--ink-3);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:8px 26px;padding-bottom:14px;display:flex}.trace__head h2{font:inherit;color:var(--ink);margin-right:auto}.trace__head b{color:var(--ink);font-weight:400}.trace__head .trace__ok{color:var(--accent)}.trace__spans{gap:4px;display:grid}.trace__span{font-family:var(--f-mono);color:var(--ink-2);grid-template-columns:minmax(0,15ch) minmax(0,1fr) 7ch;align-items:center;gap:14px;font-size:10.5px;display:grid}.trace__span.is-now{color:var(--ink)}.trace__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trace__track{background:linear-gradient(90deg, var(--line) 1px, transparent 1px) 0 0 / 10% 100%;height:10px;position:relative}.trace__seg{background:var(--accent);opacity:.75;min-width:2px;position:absolute;top:2px;bottom:2px}.trace__span.is-now .trace__seg:last-child{opacity:1;box-shadow:0 0 12px var(--accent)}.trace__dur{text-align:right;font-variant-numeric:tabular-nums}.trace__note{color:var(--ink-3);max-width:70ch;font-size:13.5px}.footer__sign{margin:14vh calc(var(--pad) * -.4) 0;overflow:hidden}.footer__name{--fs:12vw;font-size:var(--fs);letter-spacing:-.05em;white-space:nowrap;text-align:center;-webkit-user-select:none;user-select:none;color:var(--ink);font-weight:800;line-height:.8}.footer__name .char{--wdth:100;transition:color .4s}.footer__bar{border-top:1px solid var(--line);color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:10px 30px;margin-top:40px;padding-top:18px;padding-bottom:36px;display:flex}.footer__colophon{text-transform:none;max-width:64ch;font-size:11px}.footer__bar a:hover{color:var(--accent)}.case{z-index:60;visibility:hidden;transition:visibility 0s .8s;position:fixed;inset:0}.case.is-open{visibility:visible;transition:none}.case__backdrop{background:linear-gradient(90deg, var(--bg) 30%, var(--scrim-soft) 58%, transparent 80%);opacity:0;transition:opacity .8s var(--ease);position:absolute;inset:0}.case.is-open .case__backdrop{opacity:1}main,.contact,.nav,.markers{transition:opacity .6s var(--ease)}.has-case main,.has-case .contact,.has-case .nav,.has-case .markers{opacity:0}.case__panel{overscroll-behavior:contain;width:min(860px,60vw);padding:0 var(--pad) 80px;opacity:0;transition:transform .8s var(--ease), opacity .6s var(--ease);scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;outline:none;position:absolute;inset:0 auto 0 0;overflow-y:auto;transform:translate(-30px)}.case.is-open .case__panel{opacity:1;transform:none}.case__bar{z-index:2;background:linear-gradient(var(--bg) 70%, transparent);color:var(--ink-2);justify-content:space-between;align-items:center;margin-bottom:8vh;padding:20px 0;display:flex;position:sticky;top:0}.case__bar i{color:var(--ink-3);font-style:normal}.case__shape{color:var(--accent)}.case__close{color:var(--ink);align-items:center;gap:10px;padding:8px 0;display:inline-flex}.case__close kbd{font:inherit;border:1px solid var(--line-2);color:var(--ink-3);border-radius:3px;padding:2px 6px}.case__head{gap:20px;margin-bottom:44px;display:grid}.case__cat{color:var(--accent)}.case__title{--len:8;font-size:clamp(40px, min(7vw, calc(78vw / var(--len))), 120px);letter-spacing:-.045em;font-variation-settings:"wdth" 112;font-weight:700;line-height:.88}.case__summary{letter-spacing:-.01em;max-width:40ch;font-size:clamp(19px,1.6vw,24px);line-height:1.38}.metrics--case{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:48px}.metrics--case>div:nth-child(2n){border-left:0;padding-left:0}.metrics--case>div+div{border-left:1px solid var(--line);padding-left:16px}.case__grid{gap:var(--gap);grid-template-columns:minmax(0,2fr) minmax(0,5fr);display:grid}.case__spec{align-content:start;gap:18px;display:grid}.case__spec>div{gap:4px;display:grid}.case__spec dt{color:var(--ink-3)}.case__spec dd{color:var(--ink-2);font-size:14.5px}.case__text{color:var(--ink-2);gap:18px;display:grid}.case__text>p:first-child{color:var(--ink)}.case__hl{color:var(--ink);margin-top:20px}.case__points{counter-reset:pt;gap:16px;display:grid}.case__points li{counter-increment:pt;grid-template-columns:3ch 1fr;gap:12px;font-size:15.5px;display:grid}.case__points li:before{content:counter(pt, decimal-leading-zero);font-family:var(--f-mono);color:var(--accent);padding-top:.35em;font-size:10.5px}.case__links{flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:16px;display:flex}.case__fig{max-width:460px;margin:56px 0 0}.case__gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:64px;display:grid}.case__gallery figure{gap:10px;display:grid}.case__gallery .is-wide{grid-column:1/-1}.case__gallery img{border:1px solid var(--line);background:var(--scrim-soft);width:100%}.case__gallery figcaption{color:var(--ink-3);text-transform:none}.case__next{border-top:1px solid var(--line);color:var(--ink-2);grid-template-columns:1fr auto;align-items:end;gap:6px 20px;margin-top:90px;padding-top:26px;display:grid}.case__next-t{letter-spacing:-.04em;font-variation-settings:"wdth" 112;color:var(--ink);transition:color .3s, font-variation-settings .6s var(--ease);grid-column:1;font-size:clamp(36px,4.6vw,76px);font-weight:700;line-height:.95}.case__next .i-arrow{stroke-width:1px;grid-area:1/2/span 2;width:34px;height:34px}.case__next:hover .case__next-t{color:var(--accent);font-variation-settings:"wdth" 125}.case__next:hover .i-arrow{color:var(--accent);transform:translate(8px)}.toast{z-index:90;background:var(--accent);color:var(--on-accent);opacity:0;pointer-events:none;transition:opacity .4s var(--ease), transform .4s var(--ease);padding:10px 16px;position:fixed;bottom:54px;left:50%;transform:translate(-50%,20px)}.toast.is-on{opacity:1;transform:translate(-50%)}.js [data-fade]{opacity:0;transition:opacity 1s var(--ease), transform 1.1s var(--ease);transform:translateY(18px)}.js [data-fade].is-in{opacity:1;transform:none}.split-line{margin-bottom:-.06em;padding-bottom:.06em;display:block;overflow:hidden}.no-webgl .about__stage{display:none}.no-webgl .about__grid{min-height:0}.no-webgl .about__text{grid-column:1/-1}.no-webgl .chapter{min-height:0}.no-webgl .chapter__text{grid-column:1/span 8!important}.no-webgl .hud,.no-webgl .fig{display:none}.no-webgl .hero:before{content:"";z-index:-1;opacity:.85;background:url(../brand/atom.png) 50%/contain no-repeat;position:absolute;inset:8vh 20% 18vh}@media (width<=1180px){.nav__alias,.nav__ml{display:none}.hero__intro{grid-column:8/-1}.achievements ul{grid-template-columns:repeat(3,minmax(0,1fr))}.ledger__row{grid-template-columns:4ch minmax(0,3fr) minmax(0,4fr) 5ch 16px}.ledger__c{display:none}}@media (width<=900px){:root{--nav-h:58px}.nav{grid-template-columns:1fr auto}.nav__links,.nav__clock{display:none}.nav__menu{display:inline-flex}.nav__meta .nav__btn{display:none}.menu__controls{display:flex}.hud__label span,.hud__meta{display:none}.menu__inner{grid-template-columns:1fr;align-content:start;gap:48px}.s-head__title,.s-head--big .s-head__title,.skills .s-head__title{grid-column:1/-1}.s-head__side,.s-head--big .s-head__side,.skills .s-head__side{grid-area:auto/1/auto/-1}.hero{grid-template-rows:auto 38vh auto auto auto;padding-bottom:92px}.hero__intro{grid-area:4/1/auto/-1;padding-top:28px}.hero__name{grid-row:3;font-size:clamp(46px,14.6vw,140px)}.hero__fig{grid-area:5/1/auto/-1;margin:30px 0 0}.hero__foot{display:none}.about__grid{min-height:0;display:block}.about__stage{height:64vh}.about__body{grid-template-columns:1fr}.about__fig{margin-top:40px;position:static}.stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}.work-index{grid-template-columns:1fr}.chapter{min-height:0;padding:64vh var(--pad) 12vh;display:block}.chapter__text{padding:26px 0 0}.chapter__text:before{content:"";inset:-40px calc(var(--pad) * -1) -60px;z-index:-1;background:linear-gradient(transparent, var(--scrim) 70px);position:absolute}.chapter__fig{margin:28px 0 0}.chapter__title{font-size:min(15vw, calc(140vw / var(--len)))}.case__title{font-size:min(14vw, calc(130vw / var(--len)))}.ledger__row{grid-template-columns:4ch minmax(0,1fr) 16px;row-gap:6px}.ledger__s{grid-area:2/2}.ledger__y{display:none}.ledger__row .i-arrow{grid-area:1/3}.crafts,.roles,.play__grid{max-width:none}.services,.skills,.experience,.play{padding-top:70vh}.services .s-head,.skills .s-head,.experience .s-head,.play .s-head{position:relative}.toolkit,.domains{margin-left:0}.toolkit{grid-template-columns:1fr}.services__fig,.skills__fig,.experience__fig,.play__fig{margin-top:40px;position:static}.role{grid-template-columns:1fr;gap:10px}.achievements ul{grid-template-columns:repeat(2,minmax(0,1fr))}.school{grid-template-columns:1fr auto}.school__period{grid-column:1/-1}.langs{grid-template-columns:1fr}.langs ul{grid-template-columns:repeat(2,minmax(0,1fr))}.play__grid,.games,.quotes__list{grid-template-columns:1fr}.contact{padding-top:56vh}.trace{padding:16px}.trace__span{grid-template-columns:minmax(0,11ch) minmax(0,1fr) 6ch;gap:10px}.case__backdrop{background:var(--scrim)}.case__panel{width:100%}.case__grid{grid-template-columns:1fr}.case__gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){body{font-size:16px}.stats{grid-template-columns:1fr 1fr}.stat__num{font-size:10.5vw}.metrics dd{font-size:30px}.achievements ul{grid-template-columns:1fr}.trace__head p:last-child{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.js [data-fade]{opacity:1;transform:none}.about__statement .w{opacity:1}.grain{animation:none}}@media print{.field,.grain,.markers,.nav,.hud,.boot,.menu,.trace{display:none!important}html{color:#000;background:#fff}}
