@font-face{font-family:Inter Variable;font-style:normal;font-display:block;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:block;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Pixel;font-style:normal;font-display:block;font-weight:400;src:url(/_astro/geist-pixel-latin-400-normal.CZH99LhH.woff2)format("woff2")}:root{--white:#fff;--grey-50:#fafafa;--grey-100:#f2f2f2;--grey-200:#e6e6e6;--grey-300:#d4d4d4;--ink:#171717;--ink-secondary:#5f5f5f;--ink-tertiary-strong:#4a4a4a;--ink-dim:#858585;--glow-lime:#c9f27a;--black:#000;--ink-on-dark:#f5f5f7;--ink-on-dark-secondary:#a1a1a6;--blue:#06c;--blue-on-dark:#2997ff;--hue-blue:#0061fe;--hue-green:#008571;--hue-tangerine:#d9480f;--hue-violet:#6e3fd8;--hue-amber:#a35f00;--grid-line:#00000012;--color-bg:var(--white);--color-bg-alt:var(--grey-100);--color-surface:var(--white);--color-text:var(--ink);--color-text-secondary:var(--ink-secondary);--color-line:var(--grey-300);--color-link:var(--ink);--color-fill:var(--grey-200);--color-scrim:#0000006b;--color-bar:#ffffffb8;--color-card:var(--grey-100);--color-inner:var(--white);--card-edge:#00000014;--font-sans:"Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--font-pixel:"Geist Pixel", ui-monospace, "SF Mono", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.1875rem;--text-lg:clamp(1.25rem, 1.05rem + .8vw, 1.5rem);--text-xl:clamp(1.625rem, 1.2rem + 1.7vw, 2.25rem);--text-2xl:clamp(2rem, 1.2rem + 2.2vw, 2.75rem);--text-display:clamp(2.25rem, 1rem + 3.6vw, 3.75rem);--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-display:-.035em;--tracking-headline:-.02em;--tracking-title:-.01em;--tracking-body:-.005em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--space-11:11rem;--stack-tight:var(--space-3);--stack:var(--space-5);--stack-loose:var(--space-7);--gap-media:clamp(3rem, 2rem + 4vw, 6rem);--section-y:clamp(6rem, 3rem + 9vw, 11rem);--stop-gap:clamp(5rem, 3rem + 5vw, 8rem);--card-gap:clamp(1rem, .75rem + 1.2vw, 1.75rem);--card-stack:clamp(2.5rem, 1.5rem + 3vw, 4.5rem);--work-gap:clamp(4rem, 2.5rem + 5vw, 8rem);--card-pad:clamp(1.25rem, .9rem + 1.3vw, 2rem);--nav-height:72px;--col-text:600px;--col-wide:980px;--col-media:1200px;--col-card:64rem;--col-sheet:1360px;--gutter:clamp(1.25rem, 4vw, 2.5rem);--radius-sm:8px;--radius-md:18px;--radius-lg:28px;--radius-phone:44px;--radius-pill:980px;--radius-card:28px;--radius-inner:18px;--shadow-sheet:0 -8px 40px #0000002e;--focus-ring:0 0 0 3px #0066cc73;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-sheet:cubic-bezier(.32, .72, 0, 1);--dur-press:.1s;--dur-fast:.18s;--dur-base:.3s;--dur-reveal:.9s;--dur-sheet-open:.5s;--dur-sheet-close:.38s;--ease-ui:cubic-bezier(.23, 1, .32, 1);--dur-hover:.22s;--blur-in:12px;--pixel:8px;--z-nav:50;--z-sheet:100;--z-fly:120;--z-cursor:200}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--nav-height);accent-color:var(--color-link);caret-color:var(--color-link)}body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);letter-spacing:var(--tracking-body);font-optical-sizing:auto;font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.47}img,svg,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}h1,h2,h3{font-weight:var(--weight-semibold);text-wrap:balance;line-height:1.1}p{text-wrap:pretty}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}::selection{background:#0061fe2e}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--space-2);left:var(--space-2);z-index:calc(var(--z-fly) + 1);padding:var(--space-2) var(--space-4);background:var(--color-text);color:var(--white);border-radius:var(--radius-pill);font-size:var(--text-sm);position:fixed;translate:0 -200%}.skip-link:focus-visible{translate:0}.pill-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.pill{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);background:var(--grey-200);min-height:44px;color:var(--ink);font-size:var(--text-base);font-weight:var(--weight-medium);letter-spacing:var(--tracking-body);white-space:nowrap;transition:background-color var(--dur-hover) var(--ease-ui), scale var(--dur-press) var(--ease-out);padding:0 1.25rem;display:inline-flex}.pill--ink{background:var(--ink);color:var(--white)}@media (hover:hover) and (pointer:fine){.pill:is(:hover,[data-hot]){background:var(--grey-300)}.pill--ink:is(:hover,[data-hot]){background:#333}}.chip{border-radius:var(--radius-pill);background:var(--color-inner);min-height:30px;color:var(--ink);font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.45rem;padding:0 .8rem;display:inline-flex}.chip--quiet{box-shadow:inset 0 0 0 1px var(--grey-300);color:var(--color-text-secondary);background:0 0}.chip__dot{background:var(--hue,var(--ink));flex:none;width:7px;height:7px}.icon-btn{background:var(--color-inner);width:40px;height:40px;box-shadow:inset 0 0 0 1px var(--card-edge);color:var(--ink);cursor:pointer;transition:background-color var(--dur-hover) var(--ease-ui), scale var(--dur-press) var(--ease-out);border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}@media (hover:hover) and (pointer:fine){button.icon-btn:is(:hover,[data-hot]){background:var(--grey-200)}}.card{border-radius:var(--radius-card);background:var(--color-card);box-shadow:inset 0 0 0 1px var(--card-edge)}.status-pill{align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);min-height:36px;box-shadow:inset 0 0 0 1px var(--grey-300);text-wrap:balance;font-size:var(--text-sm);color:var(--ink);padding:.4rem 1rem;display:inline-flex}@media (width<=420px){.status-pill{font-size:var(--text-sm);padding-inline:.875rem}}.live-dot{background:var(--hue-green);flex:none;width:7px;height:7px;position:relative}@media (prefers-reduced-motion:no-preference){.live-dot:after{content:"";border-radius:inherit;background:inherit;animation:live 2.4s var(--ease-out) infinite;position:absolute;inset:0}.live-dot[data-off]:after{animation-play-state:paused}}@keyframes live{0%{opacity:.6;scale:1}to{opacity:0;scale:3}}.pill:active,.icon-btn:active,.lab-card:active,.chip--link:active,.sheet__close:active,.next a:active{scale:.97}.icon.chevron{width:1em;height:1em}.pending{color:var(--color-text-secondary);text-underline-offset:.25em;cursor:default;text-decoration:underline 1px dashed}.draft{max-width:64ch;padding:var(--space-3) var(--space-4);border:1px dashed var(--ink-secondary);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm)}.status{align-items:center;gap:6px;display:inline-flex}.status[data-status=Running]:before{content:"";background:var(--hue,currentColor);width:7px;height:7px}mark{color:inherit;background:#0066cc1f;border-radius:3px;padding-inline:.08em}.js img[data-fade],.js .sheet__body img{opacity:0;transition:opacity .6s var(--ease-out)}.js img.is-loaded{opacity:1}.nav{z-index:var(--z-nav);height:var(--nav-height);pointer-events:none;justify-content:center;display:flex;position:sticky;top:0}.nav__bar{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-4);width:min(100% - 2 * var(--gutter), var(--col-card));border-radius:var(--radius-pill);pointer-events:auto;height:64px;transition:width .7s var(--ease-ui), height .7s var(--ease-ui), padding .7s var(--ease-ui), background-color .5s var(--ease-ui), box-shadow .5s var(--ease-ui), backdrop-filter .5s var(--ease-ui);background:#fff0;margin-top:8px;padding:0 .5rem 0 .25rem;display:flex;position:relative;box-shadow:0 0 0 1px #0000,0 8px 30px #0000}.nav.is-compact .nav__bar{width:min(100% - 2 * var(--gutter), 860px);backdrop-filter:saturate(180%)blur(20px);background:#ffffffbd;height:56px;padding:0 .5rem;box-shadow:0 0 0 1px #0000000f,0 8px 30px #00000012}@media (prefers-reduced-transparency:reduce){.nav.is-compact .nav__bar{background:var(--white);backdrop-filter:none}}.nav__id{align-items:center;gap:var(--space-3);border-radius:var(--radius-pill);min-width:0;display:flex}.avatar{width:48px;height:48px;transition:scale .7s var(--ease-ui);flex:none;place-items:center;display:grid;position:relative}.nav.is-compact .avatar{scale:.88}.avatar__img{object-fit:cover;background:var(--ink);border-radius:50%;width:38px;height:38px}.avatar__img--mono rect{fill:var(--white)}@media (hover:hover) and (pointer:fine){.avatar__img{transition:rotate .5s var(--ease-ui)}.nav__id:is(:hover,[data-hot]) .avatar__img{rotate:-8deg}}.nav__who{gap:3px;min-width:0;line-height:1.25;display:grid}.nav__name{font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap}.nav__sub{font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-secondary);overflow:hidden}.nav__links{align-items:center;gap:var(--space-6);font-size:var(--text-sm);display:flex}.nav__links>a:not(.pill){color:var(--color-text-secondary);transition:color var(--dur-hover) var(--ease-ui)}.nav__links>a:not(.pill):is(:hover,[data-hot]){color:var(--color-text)}.nav__email{min-height:40px;font-size:var(--text-sm);padding-inline:1.1rem}@media (width<=760px){.nav__links{gap:var(--space-4)}.nav .nav__links>a[href="/#lab"],.nav__email{display:none}.nav__bar,.nav.is-compact .nav__bar{padding-right:1.25rem}.nav__name{font-size:var(--text-sm)}}@media (width<=420px){.nav__sub{max-width:9rem}.nav .nav__links>a[href="/#work"]{display:none}}.hero{width:min(100% - 2 * var(--gutter), var(--col-card));padding-top:var(--space-9);margin-inline:auto}.hero__copy{justify-items:center;gap:var(--stack);text-align:center;display:grid}.hero__title{margin-top:var(--space-2);font-size:var(--text-display);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-display);text-wrap:balance;line-height:1.02}.hero__word{white-space:nowrap;color:var(--color-text);transition:color .45s var(--ease-ui);display:inline-block}.hero__title:has(.is-active) .hero__word:not(.is-active){color:var(--ink-dim)}.hero__text{white-space:nowrap;vertical-align:baseline;display:inline-block;overflow:clip visible}.hero__dot{width:.135em;height:.135em;transition:border-radius .32s var(--ease-ui), background-color .32s var(--ease-ui), scale .32s var(--ease-ui);background:currentColor;border-radius:50%;margin-left:.045em;margin-right:.04em;display:inline-block}.hero__word.is-active .hero__dot{--blink-on:1;background:var(--hue);border-radius:0;scale:1.12}@property --blink{syntax:"<number>";inherits:false;initial-value:0}@property --blink-on{syntax:"<number>";inherits:false;initial-value:0}.hero__dot{--blink-on:0;opacity:calc(1 - var(--blink) * var(--blink-on) * .85)}@media (prefers-reduced-motion:no-preference){.hero__dot{transition:border-radius .32s var(--ease-ui), background-color .32s var(--ease-ui), scale .32s var(--ease-ui), --blink-on .3s var(--ease-ui);animation:.6s ease-in-out infinite alternate caret}}.hero[data-idle] .hero__dot{animation-play-state:paused}@keyframes caret{0%{--blink:0}to{--blink:1}}.hero__intro{text-wrap:balance;max-width:44ch;font-size:var(--text-md);color:var(--color-text-secondary);line-height:1.42}.hero__previously{justify-content:center;align-items:center;gap:var(--space-3) var(--space-4);margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.hero__sep{background:var(--ink);opacity:.55;border-radius:50%;width:4px;height:4px}.hero__logo{color:var(--ink);opacity:.55;display:inline-flex}.hero__logo svg{width:auto;height:1.4rem;display:block}.hero__logo--arre svg{height:1.35rem;translate:0 calc(-.05rem - 2px)}.hero .pill-row{margin-top:var(--space-2);justify-content:center}.stage{margin-top:var(--space-8);position:relative;overflow:hidden}.stage__view{height:clamp(300px,44svh,460px)}.stage__canvas{background:radial-gradient(circle, #00000014 .7px, transparent 1.1px) 0 0 / var(--cell,6px) var(--cell,6px);width:100%;height:100%;display:block}@media (prefers-reduced-motion:no-preference){.js .hero__word{animation:blur-rise 1s var(--ease-out) both;animation-delay:calc(.12s + var(--i) * .12s)}.js .hero .status-pill{animation:blur-rise .8s var(--ease-out) both}.js .hero__intro,.js .hero__previously,.js .hero .pill-row{animation:blur-rise .9s var(--ease-out) .52s both}.js .stage{animation:stage-in 1.3s var(--ease-out) .38s both}}@keyframes blur-rise{0%{opacity:0;filter:blur(var(--blur-in));translate:0 .35em}}@keyframes stage-in{0%{opacity:0;filter:blur(16px);translate:0 2rem}}@media (width<=640px){.hero{padding-top:var(--space-8)}.stage{margin-top:var(--space-7)}.stage__view{height:320px}}.work,.lab,.contact--section{margin-top:var(--stop-gap)}.stop-head{justify-items:center;gap:var(--stack);width:min(100% - 2 * var(--gutter), var(--col-card));margin:0 auto var(--stack-loose);text-align:center;display:grid}.stop-head__title{max-width:22ch;font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-headline)}.stop-head__lede{margin-top:calc(var(--stack-tight) - var(--stack));color:var(--color-text-secondary)}.stack{gap:var(--work-gap);width:min(100% - 2 * var(--gutter), var(--col-card));margin-inline:auto;padding:0;list-style:none;display:grid}.stop{scroll-margin-top:calc(var(--nav-height) + var(--space-5))}.project{gap:var(--card-pad);isolation:isolate;padding:var(--card-pad);transform-origin:50% 0;transition:scale var(--dur-press) var(--ease-out);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);display:grid;position:relative}.project:before{content:"";z-index:-1;border-radius:inherit;background:var(--grey-200);box-shadow:inset 0 0 0 1px var(--card-edge);clip-path:inset(0 100% 0 0);transition:clip-path .18s steps(6,end);position:absolute;inset:0}.project:active{scale:.992}@media (width>=900px) and (height>=640px){.stack{--card-h:min(33rem, calc(100svh - var(--nav-height) - 2 * var(--space-4)))}.project{height:var(--card-h)}}.project__text{justify-content:space-between;gap:var(--stack);flex-direction:column;min-height:0;display:flex}.project__text>.chip-row{gap:var(--space-2);flex-wrap:wrap;margin-bottom:auto;display:flex}.project__name{font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-display);line-height:1.02}.project__claim{margin-top:calc(var(--stack-tight) - var(--stack));max-width:26ch;font-size:var(--text-md);font-weight:var(--weight-medium);letter-spacing:var(--tracking-title);line-height:1.25}.project__parts{gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.project__parts li{border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px var(--grey-200);font-size:var(--text-xs);color:var(--color-text-secondary);padding:.3rem .75rem}.project__outcome{max-width:44ch;color:var(--color-text-secondary)}@media (prefers-reduced-motion:no-preference){.status[data-status=Running]:before{animation:1.6s step-end infinite blink}}@keyframes blink{60%{opacity:.25}}.project__media{border-radius:var(--radius-inner);background:var(--color-inner);place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.project__media .media{border-radius:12px;width:86%}.project__media .media__brief{font-size:var(--text-xs)}.project__media .media[data-frame=phone]>:is(img,video,.media__slot){border-radius:17px}.project__media .media[data-frame=phone]{--bz:4px;border-radius:21px;width:11.5rem;height:auto;max-height:none}.project__media:after{content:"";z-index:2;mix-blend-mode:soft-light;skew:-12deg;opacity:0;pointer-events:none;background:linear-gradient(100deg,#0000 0%,#ffffff0a 22%,#ffffff29 40%,#ffffff57 50%,#ffffff29 60%,#ffffff0a 78%,#0000 100%);width:55%;position:absolute;inset:-20% auto -20% 0;translate:-140%}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.project:is(:hover,[data-hot]) .project__media:after{animation:1.7s cubic-bezier(.45,.1,.35,1) 50ms both card-shine}}@keyframes card-shine{0%{opacity:0;translate:-120%}25%{opacity:1}70%{opacity:1}to{opacity:0;translate:260%}}.project__open{top:var(--space-4);right:var(--space-4);z-index:3;background:var(--color-card);width:40px;height:40px;box-shadow:inset 0 0 0 1px var(--card-edge);transition:rotate var(--dur-base) var(--ease-ui), background-color var(--dur-hover) var(--ease-ui);border-radius:50%;place-items:center;display:grid;position:absolute}.pill--arrow{align-items:center;gap:.5rem;display:inline-flex}.pill--arrow .icon{width:1.1em;height:1.1em;transition:translate var(--dur-hover) var(--ease-ui)}.project__name-part,.project__parts li,.project .chip__dot,.project__open,.project .media{transition-property:color,box-shadow,scale,rotate,background-color;transition-duration:var(--dur-hover);transition-timing-function:var(--ease-ui)}.project .media{transition-duration:.6s}@media (hover:hover) and (pointer:fine){.project:is(:hover,[data-hot]):before{clip-path:inset(0);transition-duration:.36s;transition-timing-function:steps(14,end)}.project:is(:hover,[data-hot]) .project__name-part+.visually-hidden+.project__name-part,.project:is(:hover,[data-hot]) .project__parts li{color:var(--ink-tertiary-strong)}.project:is(:hover,[data-hot]) .project__parts li{box-shadow:inset 0 0 0 1px var(--grey-300)}.project:is(:hover,[data-hot]) .chip__dot{scale:1.7}.project:is(:hover,[data-hot]) .pill--arrow .icon{translate:4px}.project:is(:hover,[data-hot]) .project__open{background:var(--ink);color:var(--white);rotate:45deg}.project:is(:hover,[data-hot]) .project__media .media{scale:1.02}}.project:has(:focus-visible):before{clip-path:inset(0)}.project:has(:focus-visible) .project__name-part+.visually-hidden+.project__name-part,.project:has(:focus-visible) .project__parts li{color:var(--ink-tertiary-strong)}.project:has(:focus-visible) .project__parts li{box-shadow:inset 0 0 0 1px var(--grey-300)}.project:has(:focus-visible) .chip__dot{scale:1.7}.project:has(:focus-visible) .pill--arrow .icon{translate:4px}@media (prefers-reduced-motion:reduce){.project:before{transition:none}.project .media{scale:1!important}}@media (width<=899px),(height<=639px){.project{grid-template-columns:minmax(0,1fr)}.project__media{aspect-ratio:4/3;order:-1}.project__media .media[data-frame=phone]{align-self:end;margin-top:4.5rem}.project__text>.chip-row{margin-bottom:0}}@media (width<=640px){.project__media{aspect-ratio:1}.project__media .media[data-frame=phone] .media__brief{display:none}}.media{aspect-ratio:16/10;border-radius:var(--radius-md);background:var(--color-fill);margin-inline:auto;position:relative;overflow:hidden}.media[data-frame=compare]{aspect-ratio:2}.media[data-frame=phone]{--bz:5px;box-sizing:content-box;width:min(100%,340px);aspect-ratio:var(--ar,9 / 16);border:var(--bz) solid #101010;border-radius:29px;max-height:62svh;overflow:visible;box-shadow:inset 0 0 0 1.5px #ffffff29,0 0 0 1px #0000008c}.media[data-frame=phone]>:is(img,video,.media__slot){border-radius:24px}.media[data-frame=phone]:before,.media[data-frame=phone]:after{content:"";z-index:2;background:#1c1c1c;border-radius:2px;width:3px;position:absolute}.media[data-frame=phone]:before{left:calc(-3px - var(--bz));height:7%;top:17%}.media[data-frame=phone]:after{right:calc(-3px - var(--bz));height:11%;top:24%}.media img,.media video{object-fit:cover;width:100%;height:100%}.media[data-frame=browser]{background:var(--color-inner);box-shadow:inset 0 0 0 1px var(--card-edge);flex-direction:column;display:flex}.media__bar{align-items:center;gap:var(--space-3);height:3rem;padding:0 var(--space-4);border-bottom:1px solid var(--card-edge);flex:none;display:flex}.media__dots{gap:5px;display:flex}.media__dots i{background:var(--color-line);width:7px;height:7px}.media__url{height:1.625rem;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--color-card);color:var(--color-text-secondary);font-size:var(--text-xs);align-items:center;display:inline-flex}.media__screen{background:var(--color-fill);flex:1;min-height:0;position:relative;overflow:hidden;container-type:size}.media[data-frame=browser] .media__screen img{object-fit:fill;height:auto;transition:translate .9s var(--ease-ui);position:absolute;inset:0 0 auto}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.lab-card:is(:hover,[data-hot]) .media[data-frame=browser] .media__screen img,.media[data-frame=browser][data-fly-target]:is(:hover,[data-hot]) .media__screen img{transition:translate 9s cubic-bezier(.45,0,.55,1);translate:0 calc(100cqh - 100%)}}.media__slot{--color-text-secondary:var(--ink-tertiary-strong);place-content:center;justify-items:center;gap:var(--space-2);padding:var(--space-5);text-align:center;display:grid;position:absolute;inset:0}.media__label{font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.media__brief{max-width:36ch;font-size:var(--text-sm);color:var(--color-text-secondary)}.media--flying[data-frame=phone]{--bz:4px;box-sizing:border-box;border-radius:21px;max-height:none}.media--flying[data-frame=phone]>:is(img,video,.media__slot){border-radius:17px}.media--flying{z-index:var(--z-fly);transform-origin:0 0;pointer-events:none;margin:0;position:fixed}.lab-groups{gap:var(--card-stack);width:min(100% - 2 * var(--gutter), var(--col-card));margin-inline:auto;display:grid}.lab-group{gap:var(--stack-tight);display:grid}.lab-group__label{font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.lab-grid{gap:var(--card-gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));padding:0;list-style:none;display:grid}.lab-grid>li{display:grid}.lab-card{isolation:isolate;gap:var(--space-4);padding:var(--space-3);grid-template-rows:auto 1fr;display:grid;position:relative;overflow:hidden}.lab-card__media{min-width:0;position:relative}.lab-card .media{aspect-ratio:16/10;border-radius:var(--radius-inner);background:var(--color-fill);width:100%;margin:0}.lab-card .media img,.lab-card .media video{transition:scale .6s var(--ease-ui)}.lab-card__body{align-content:start;gap:var(--space-2);padding:0 var(--space-3) var(--space-3);display:grid}.lab-card__tag{font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary)}.lab-card__title{max-width:24ch;font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-title);line-height:1.2}.lab-card__summary{max-width:52ch;color:var(--color-text-secondary)}.lab-card__open{top:var(--space-3);right:var(--space-3);z-index:3;transition:rotate var(--dur-base) var(--ease-ui), background-color var(--dur-hover) var(--ease-ui), color var(--dur-hover) var(--ease-ui);position:absolute}.lab-card--featured{gap:var(--card-pad);padding:var(--space-3);grid-template-rows:none;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.lab-card--featured .lab-card__body{gap:var(--stack-tight);padding:calc(var(--card-pad) - var(--space-3));flex-direction:column;padding-right:0;display:flex}.lab-card--featured .lab-card__title{font-size:var(--text-xl);letter-spacing:var(--tracking-headline);margin-top:auto}@media (hover:hover) and (pointer:fine){.lab-card:is(:hover,[data-hot]) .media:not([data-frame=browser]) img,.lab-card:is(:hover,[data-hot]) .media video{scale:1.03}}.lab-card .media[data-frame=browser]{background:var(--color-inner)}.lab-card:has(.media[data-frame=browser]) .lab-card__open{top:calc(var(--space-1) + 1px);right:var(--space-1)}@media (width<=760px){.lab-card--featured{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.lab-card--featured .lab-card__media{order:-1}.lab-card--featured .lab-card__body{padding:0 var(--space-3) var(--space-3)}}.contact{justify-items:center;gap:var(--stack);text-align:center;display:grid}.contact--section{width:min(100% - 2 * var(--gutter), var(--col-card));padding:clamp(3.5rem, 2rem + 5vw, 6rem) var(--card-pad);margin-inline:auto}.contact__line{max-width:18ch;font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-headline)}.contact .pill-row{justify-content:center}.contact--section .pill{background:var(--color-inner)}.contact--section .pill--ink{background:var(--ink)}@media (hover:hover) and (pointer:fine){.contact--section .pill:not(.pill--ink):is(:hover,[data-hot]){background:var(--grey-200)}}.contact .pending{font-size:var(--text-md)}.footer{margin-top:var(--stop-gap);font-size:var(--text-xs);color:var(--color-text-secondary);justify-content:space-between;align-items:flex-end;gap:var(--space-5) var(--space-7);width:min(100% - 2 * var(--gutter), var(--col-card));padding-bottom:var(--space-6);flex-wrap:wrap;margin-inline:auto;display:flex}.footer__mark{flex:18rem;max-width:520px}.footer__inner{justify-items:end;gap:var(--space-2);padding-bottom:var(--space-6);text-align:right;display:grid}.footer__inner .socials{margin-bottom:var(--space-3)}@media (width<=640px){.footer__inner{text-align:left;justify-items:start}}.project__name-part{display:block}.project__name-part+.visually-hidden+.project__name-part{color:var(--color-text-secondary)}.gallery{margin:var(--space-6) calc(-1 * var(--case-pad-x)) 0}.path-marquee{contain:layout paint;touch-action:pan-y;user-select:none;cursor:grab;height:420px;position:relative;overflow:clip}.path-marquee.is-dragging{cursor:grabbing}.path-marquee__path{position:absolute;overflow:visible}.path-marquee__path path{fill:none;stroke:var(--grey-300);stroke-width:1.5px;stroke-dasharray:1 7;stroke-linecap:round;vector-effect:non-scaling-stroke}.path-marquee__item{will-change:transform;backface-visibility:hidden;width:120px;height:154px;margin:0;position:absolute;top:0;left:0}.path-marquee__item[hidden]{display:none}.path-marquee__card{background:var(--color-card);width:100%;height:100%;box-shadow:0 0 0 3px var(--white), 0 10px 24px #0000001a;transition:scale .3s var(--ease-ui);border-radius:14px;display:block;overflow:hidden}.path-marquee__card img{object-fit:cover;pointer-events:none;width:100%;height:100%}.path-marquee__slot{background:linear-gradient(160deg, color-mix(in oklab, var(--hue) 22%, white), color-mix(in oklab, var(--hue) 48%, white));width:100%;height:100%;font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in oklab, var(--hue) 70%, black);place-items:end start;padding:12px;display:grid}@media (hover:hover) and (pointer:fine){.path-marquee__item:is(:hover,[data-hot]) .path-marquee__card{scale:1.06}}.gallery__hint{margin-top:var(--space-1);text-align:center;font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.socials{gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.social{background:var(--color-card);width:40px;height:40px;box-shadow:inset 0 0 0 1px var(--card-edge);color:var(--ink);transition:background-color var(--dur-hover) var(--ease-ui), color var(--dur-hover) var(--ease-ui), scale var(--dur-press) var(--ease-out);border-radius:50%;place-items:center;display:grid}.social svg{width:18px;height:18px}@media (hover:hover) and (pointer:fine){a.social:is(:hover,[data-hot]){background:var(--ink);color:var(--white)}}a.social:active{scale:.94}.social--pending{box-shadow:inset 0 0 0 1px var(--grey-300);color:var(--grey-300);background:0 0}.contact .socials{justify-content:center}.contact--section .social{background:var(--color-inner)}.footer .socials{justify-content:flex-end}@media (width<=640px){.footer .socials{justify-content:flex-start}}.media__px{z-index:2;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;position:absolute;inset:0}.stop--group{gap:var(--space-5);display:grid}.group-head{align-items:center;gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.group-head img{width:auto;height:1.3125rem}.group-head__line{font-family:var(--font-pixel,inherit);font-size:var(--text-xs);color:var(--color-text-secondary)}.slides{--per:1;min-width:0;container-type:inline-size}@container (width>=44rem){.slides__track{--per:2}}.slides__track{gap:var(--space-4);padding:2px 2px var(--space-3);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;margin:-2px;scroll-padding:2px;list-style:none;display:flex;overflow-x:auto}.slides__track::-webkit-scrollbar{display:none}.slides__track .slide-item{translate:var(--pull,0px) 0}.slides__track.is-rebound .slide-item{transition:translate .5s cubic-bezier(.22,1,.36,1)}.slides__track.is-settling{scroll-snap-type:none}.slides__track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}.slides__track:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:var(--radius-card)}.slide-item{flex:0 0 calc((100% - var(--space-4) * (var(--per) - 1)) / var(--per));scroll-snap-align:start;display:flex}.slide{align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--card-pad);transition:background-color var(--dur-press) var(--ease-out), scale var(--dur-press) var(--ease-out);flex-direction:column;display:flex;position:relative}.slide:active{scale:.99}@media (hover:hover){.slide:hover{background:var(--grey-200)}.slide:hover .slide__go{background:var(--ink);color:var(--white);rotate:45deg}}.slide__shot{aspect-ratio:16/10;margin:calc(var(--card-pad) * -1) calc(var(--card-pad) * -1) var(--space-1);border-radius:calc(var(--radius-card) - 2px) calc(var(--radius-card) - 2px) 0 0;background:radial-gradient(48% 70% at 16% 0, color-mix(in oklab, var(--g1) 15%, transparent), transparent 75%), radial-gradient(44% 62% at 54% 0, color-mix(in oklab, var(--g2) 11%, transparent), transparent 75%), radial-gradient(42% 66% at 90% 0, color-mix(in oklab, var(--g3) 12%, transparent), transparent 75%), var(--white);align-self:stretch;position:relative;overflow:hidden}.slide__phone{box-sizing:border-box;pointer-events:none;width:40%;transition:scale var(--dur-hover) var(--ease-ui);background:#101010;border:0 solid #101010;border-width:0 4px;position:absolute;inset:-6px auto -6px 50%;translate:-50%;box-shadow:inset 0 0 0 1.5px #ffffff29,0 0 0 1px #0000008c,0 14px 30px #0000001f}.slide__phone:before,.slide__phone:after{content:"";z-index:1;background:#1c1c1c;border-radius:2px;width:3px;position:absolute}.slide__phone:before{height:11%;top:30%;left:-7px}.slide__phone:after{height:17%;top:40%;right:-7px}.slide__phone img{object-fit:cover;object-position:50% 62%;width:100%;height:100%;display:block}@media (hover:hover){.slide:hover .slide__phone{scale:1.03}}.slide__name{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-title);padding-right:3rem;line-height:1.1}.slide__claim{max-width:30ch;font-weight:var(--weight-medium);color:var(--color-text-secondary);text-wrap:balance;line-height:1.25}.slide__go{top:var(--card-pad);right:var(--card-pad);background:var(--white);width:2.5rem;height:2.5rem;box-shadow:inset 0 0 0 1px var(--card-edge);transition:rotate var(--dur-hover) var(--ease-ui), background-color var(--dur-hover) var(--ease-ui), color var(--dur-hover) var(--ease-ui);border-radius:999px;place-items:center;display:grid;position:absolute}.slide__go:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.slides__track{--fl:0px;--fr:0px;mask-image:linear-gradient(to right, transparent, #00000026 calc(var(--fl) * .35), #0009 calc(var(--fl) * .7), #000 var(--fl), #000 calc(100% - var(--fr)), #0009 calc(100% - var(--fr) * .7), #00000026 calc(100% - var(--fr) * .35), transparent)}.slides__nav{justify-content:center;align-items:center;gap:var(--space-3);margin-top:var(--space-2);display:flex}.slides__arrow{background:var(--grey-100,#f2f2f2);width:2rem;height:2rem;color:var(--ink);cursor:pointer;border:0;border-radius:50%;place-items:center;transition:background .15s,opacity .15s;display:grid}.slides__arrow:disabled{opacity:.35;cursor:default}.slides__arrow:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (hover:hover){.slides__arrow:not(:disabled):hover{background:var(--grey-200)}}.slides__dots{gap:.375rem;display:flex}.slides__dot{background:var(--ink);opacity:.2;border-radius:50%;width:.375rem;height:.375rem;transition:opacity .15s,transform .15s}.slides__dot.is-on{opacity:1;transform:scale(1.25)}.nav__links>a:not(.pill){margin:-.75rem -.5rem;padding:.75rem .5rem}.nav__email,.social,.slide__go,.slides__arrow{position:relative}.slide__go{position:absolute}.nav__email:after,.social:after,.slide__go:after{content:"";position:absolute;inset:-2px}.slides__arrow:after{content:"";position:absolute;inset:-6px}.sheet-open{overflow-y:scroll}.sheet-open body{top:var(--lock-top,0px);position:fixed;left:0;right:0}.sheet-root{z-index:var(--z-sheet);visibility:hidden;pointer-events:none;transition:visibility 0s linear var(--dur-sheet-close);position:fixed;inset:0}.sheet-root[data-state=open]{visibility:visible;pointer-events:auto;transition-delay:0s}.sheet-scrim{background:var(--color-scrim);opacity:0;transition:opacity var(--dur-sheet-close) var(--ease-sheet);position:absolute;inset:0}[data-state=open]>.sheet-scrim{opacity:1;transition-duration:var(--dur-sheet-open)}.sheet{top:var(--space-7);width:min(100% - 2 * var(--gutter), var(--col-sheet));overscroll-behavior:contain;background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-sheet);transition:translate var(--dur-sheet-close) var(--ease-sheet);position:absolute;bottom:0;left:50%;overflow:hidden auto;translate:-50% calc(100% + 4rem)}[data-state=open]>.sheet{transition-duration:var(--dur-sheet-open);translate:-50%}.sheet:focus-visible{box-shadow:var(--shadow-sheet)}@media (width<=640px){.sheet{top:var(--space-6);border-radius:14px 14px 0 0;width:100%}}@media (prefers-reduced-motion:reduce){.sheet,[data-state=open]>.sheet{opacity:0;transition:opacity .2s linear;translate:-50%}[data-state=open]>.sheet{opacity:1}.sheet-scrim,[data-state=open]>.sheet-scrim{transition-duration:.2s}}.sheet__header{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-6);margin-bottom:calc(-1 * (36px + 2 * var(--space-3)));--sheet-r:var(--radius-lg);display:flex;position:sticky;top:0}@media (width<=640px){.sheet__header{--sheet-r:14px}}.sheet__header:before{content:"";z-index:-1;border-radius:var(--sheet-r) var(--sheet-r) 0 0;clip-path:inset(0 round var(--sheet-r) var(--sheet-r) 0 0);backdrop-filter:saturate(180%)blur(20px);opacity:0;transition:opacity var(--dur-base) var(--ease-out);background:#ffffffb8;position:absolute;inset:0;box-shadow:0 1px #00000014}.sheet.is-edge .sheet__header:before{opacity:1}@media (prefers-reduced-transparency:reduce){.sheet__header:before{background:var(--white);backdrop-filter:none}}.sheet__title{font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;text-overflow:ellipsis;opacity:0;transition:opacity var(--dur-base) var(--ease-out);flex:1;overflow:hidden}.sheet.is-scrolled .sheet__title{opacity:1}.sheet__pause{height:36px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--color-fill);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast), scale var(--dur-press) var(--ease-out);border:0;flex:none}.sheet__pause[hidden]{display:none}.sheet__pause:is(:hover,[data-hot]){background:var(--grey-300);color:var(--color-text)}.sheet__pause:focus-visible{border-radius:var(--radius-pill)}.sheet__pause:active{scale:.97}.sheet__pause[aria-pressed=true]{background:var(--color-text);color:var(--white)}.sheet__close{background:var(--color-fill);width:36px;height:36px;color:var(--color-text-secondary);transition:background-color var(--dur-fast), scale var(--dur-press) var(--ease-out);border-radius:50%;flex:none;place-items:center;display:grid}.sheet__close:is(:hover,[data-hot]){background:var(--grey-300);color:var(--color-text)}.sheet__close:focus-visible{border-radius:50%}.sheet__body{transition:opacity var(--dur-fast) linear}.sheet__body.is-swapping{opacity:0}.sheet__body:empty{min-height:60vh}.sheet-root[aria-busy=true] .sheet__body:empty:after{content:"Loading…";padding:var(--space-8) var(--space-6);color:var(--color-text-secondary);font-size:var(--text-sm);display:block}.case{--case-pad-x:clamp(1.25rem, 3vw, 3rem);isolation:isolate;padding:calc(var(--space-6) + 36px + 2 * var(--space-3)) var(--case-pad-x) var(--space-9);position:relative}.case__glow{z-index:-1;transform-origin:top;pointer-events:none;background:radial-gradient(40% 70% at 18% 0, color-mix(in oklab, var(--hue) 26%, transparent), transparent 72%), radial-gradient(36% 60% at 55% 0, color-mix(in oklab, var(--hue) 14%, var(--glow-lime) 16%), transparent 72%), radial-gradient(30% 55% at 88% 0, color-mix(in oklab, var(--hue) 12%, #7fdcff 14%), transparent 72%);height:460px;position:absolute;inset:0 0 auto}@media (prefers-reduced-motion:no-preference){[data-state=open] .case__glow{animation:glow-in 1.4s var(--ease-out) both}}@keyframes glow-in{0%{opacity:0;scale:1 .6}}.case__intro{justify-items:center;gap:var(--stack);max-width:54rem;padding-top:var(--space-6);text-align:center;margin-inline:auto;display:grid}.case__intro .chip-row{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.case__title{max-width:20ch;font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-display);text-wrap:balance;line-height:1.04}.case__outcome{max-width:52ch;font-size:var(--text-md);color:var(--color-text-secondary);line-height:1.42}.case__honesty{font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary)}.case__cover{max-width:1180px;margin:var(--space-8) auto 0;padding:var(--card-pad);place-items:center;display:grid}.case__cover .media{border-radius:var(--radius-inner);width:min(100%,960px)}.case__cover .media[data-frame=phone]{border-radius:29px;width:calc(16.5rem - 10px);height:auto;max-height:none}.case__layout{max-width:1180px;margin:var(--space-9) auto 0;grid-template-columns:minmax(0,1fr) 280px;gap:clamp(2rem,4vw,4.5rem);display:grid}.case__layout--toc{grid-template-columns:190px minmax(0,1fr) 280px}.case__main{min-width:0}.case__toc,.case__rail{top:calc(var(--space-9) - var(--space-2));align-self:start;position:sticky}@media (width<=1180px){.case__layout--toc{grid-template-columns:180px minmax(0,1fr)}.case__layout--toc .case__rail{grid-column:2;position:static}}@media (width<=860px){.case__layout,.case__layout--toc{margin-top:var(--space-8);grid-template-columns:minmax(0,1fr)}.case__toc{display:none}.case__layout .case__rail{grid-column:auto;position:static}}.case__toc-title,.case__label{font-family:var(--font-pixel);font-size:var(--text-xs);font-weight:var(--weight-regular);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.case__toc-title{margin-bottom:var(--space-3)}.case__toc ol{box-shadow:inset 1px 0 0 var(--grey-200);padding:0;list-style:none;position:relative}.case__toc ol:before{content:"";width:2px;height:var(--toc-h,0);background:var(--hue);translate:0 var(--toc-y,0);transition:translate .42s var(--ease-ui), height .42s var(--ease-ui);position:absolute;top:0;left:0}.case__toc a{font-size:var(--text-sm);color:var(--color-text-secondary);transition:color var(--dur-hover) var(--ease-ui), translate var(--dur-hover) var(--ease-ui);border-radius:0;padding:.4rem 0 .4rem 1rem;line-height:1.35;display:block}.case__toc a:is(:hover,[data-hot]){color:var(--color-text)}.case__toc a[aria-current]{color:var(--color-text);font-weight:var(--weight-medium);translate:2px}.case__skim{gap:var(--stack-tight);padding:var(--card-pad);border-radius:var(--radius-card);background:var(--color-card);display:grid}.case__skim>p{font-size:var(--text-base);line-height:1.6}.case__short>div{gap:var(--space-4);padding-block:var(--space-4);grid-template-columns:8.5rem 1fr;display:grid}.case__short>div+div{border-top:1px solid var(--color-line)}.case__short>div:last-child{padding-bottom:0}.case__short dt{color:var(--color-text-secondary);font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;align-self:start;align-items:center;gap:.5rem;padding-top:.2em;display:flex}.case__short dt:before{content:"";background:var(--hue);flex:none;width:7px;height:7px}.case__short dd{color:var(--color-text);font-size:var(--text-base);margin:0;line-height:1.55}@media (width<=560px){.case__short>div{gap:var(--space-2);grid-template-columns:1fr}}.prose{--prose-ink:#3b3b3b;max-width:40rem}.case__skim+.prose{margin-top:var(--space-10)}.prose>*+*{margin-top:var(--space-5)}.prose p,.prose li{max-width:65ch;color:var(--prose-ink);font-size:var(--text-base);line-height:1.65}.prose h2{margin-top:var(--space-10);scroll-margin-top:var(--space-9);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-headline)}.prose h2:first-child{margin-top:0}.prose h2+*{margin-top:var(--space-5)}.prose h2:before{content:"";width:84px;height:6px;margin-bottom:var(--space-5);background:linear-gradient(90deg, var(--hue) 6px, transparent 0) 0 0 / 10px 6px;display:block;-webkit-mask-image:linear-gradient(90deg,#000 25%,#0000);mask-image:linear-gradient(90deg,#000 25%,#0000)}.prose h2:focus{outline:none}.prose h3{margin-top:var(--space-8);font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-title)}.prose h2+h3{margin-top:var(--space-6)}.prose h3+*{margin-top:var(--space-3)}.prose a{color:var(--color-text);text-underline-offset:.2em;text-decoration:underline 1px;text-decoration-color:color-mix(in oklab, var(--hue) 70%, transparent);transition:text-decoration-color var(--dur-hover) var(--ease-ui)}.prose a:is(:hover,[data-hot]){text-decoration-color:currentColor}.prose ul{padding:0;list-style:none}.prose ul>li{padding-left:1.25rem;position:relative}.prose ul>li:before{content:"";background:var(--hue);width:6px;height:6px;position:absolute;top:.68em;left:.15rem}.prose ol:not(.timeline){padding-left:1.2em}.prose li+li{margin-top:var(--space-2)}.prose img,.prose video{width:100%;margin-block:var(--space-6);border-radius:var(--radius-card);background:var(--color-card)}.prose .media img,.prose .media video{background:0 0;border-radius:0;margin:0}.prose .media[data-frame=window]{aspect-ratio:auto;background:var(--color-inner);box-shadow:inset 0 0 0 1px var(--card-edge);flex-direction:column;display:flex}.prose .media[data-frame=window] .media__bar{border-bottom:1px solid var(--card-edge)}.prose .media[data-frame=window] img,.prose .media[data-frame=window] video{object-fit:contain;width:100%;height:auto;display:block}.prose strong{color:var(--color-text);font-weight:var(--weight-semibold)}.prose>.vis,.prose>.slot,.prose>.pull{margin-block:var(--space-7)}.prose h3+.vis,.prose h3+.slot{margin-top:var(--space-4)}.prose .vis video,.prose .vis img{margin:0}.prose .vis--phone img{background:0 0;border-radius:0;width:min(100%,22rem);margin-inline:auto;display:block}.vis figcaption{margin-top:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm)}.prose .vis ol,.prose .vis ul{margin:0;padding:0;list-style:none}.vis li+li{margin-top:0}.prose .vis li{color:var(--color-text);font-size:var(--text-sm);padding:0;line-height:1.4}.prose .vis li:before{content:none}.flow,.quotes,.decision,.steps{padding:var(--card-pad);border-radius:var(--radius-card);background:var(--color-card);box-shadow:inset 0 0 0 1px var(--card-edge)}.flow__label,.decision__label,.steps li>span{color:var(--color-text-secondary);font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.5rem;display:inline-flex}.flow__row+.flow__row{margin-top:var(--space-5)}.flow ol{gap:var(--space-4);margin-top:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.prose .flow li{min-height:4.5rem;padding:var(--space-3) var(--space-4);border-radius:var(--radius-inner);background:var(--color-inner);align-items:center;display:flex;position:relative}.flow li+li:after{content:"";width:var(--space-4);background:var(--color-line);height:1px;position:absolute;top:50%;right:100%}.flow__row:last-of-type li:last-child{box-shadow:inset 0 0 0 1.5px var(--hue)}@media (width<=560px){.flow ol{gap:var(--space-2);grid-template-columns:1fr}.prose .flow li{min-height:0}.flow li+li:after{top:auto;bottom:100%;right:auto;left:var(--space-5);width:1px;height:var(--space-2)}}.prose .pull{max-width:28ch;color:var(--color-text);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-title);text-wrap:balance;line-height:1.25}.prose .pull:after{content:"";background:var(--hue);width:.24em;height:.24em;margin-left:.08em;display:inline-block}@media (prefers-reduced-motion:no-preference){.prose .pull:after{animation:2.4s ease-in-out infinite pull-breathe}}@keyframes pull-breathe{50%{opacity:.35}}.quotes:before{content:"";width:4px;height:4px;margin-bottom:calc(12px + var(--space-5));background:var(--hue);box-shadow:4px 0 var(--hue), 12px 0 var(--hue), 16px 0 var(--hue), 0 4px var(--hue), 4px 4px var(--hue), 12px 4px var(--hue), 16px 4px var(--hue), 4px 8px var(--hue), 16px 8px var(--hue), 0 12px var(--hue), 12px 12px var(--hue);display:block}.quotes blockquote{margin:0}.quotes blockquote+blockquote{margin-top:var(--space-4)}.prose .quotes blockquote p{max-width:none;color:var(--color-text);font-size:var(--text-md);font-weight:var(--weight-medium);letter-spacing:var(--tracking-title);line-height:1.35}.decision{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.decision>div{padding:var(--space-5);border-radius:var(--radius-inner);background:var(--color-inner)}.decision>div:last-child{box-shadow:inset 0 0 0 1px var(--color-line);background:0 0}.prose .decision p{margin-top:var(--space-3);font-size:var(--text-base);line-height:1.5}.decision>div:last-child p{color:var(--color-text-secondary)}.decision__label--pick{color:var(--color-text)}.decision__label--pick:before{content:"";background:var(--hue);width:7px;height:7px}@media (width<=560px){.decision{grid-template-columns:1fr}}.labels ul{gap:var(--space-2);flex-wrap:wrap;display:flex}.prose .labels li{min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px var(--color-line);color:var(--color-text-secondary);align-items:center;display:inline-flex}.labels s{text-decoration-thickness:1px}.prose .labels .labels__pick{background:var(--color-text);box-shadow:none;color:var(--color-inner);font-weight:var(--weight-medium)}.steps ol{gap:var(--space-2);grid-template-columns:repeat(4,1fr);display:grid}.prose .steps li{justify-content:space-between;gap:var(--space-5);min-height:8.5rem;padding:var(--space-4);border-radius:var(--radius-inner);background:var(--color-inner);font-weight:var(--weight-medium);flex-direction:column;display:flex}.steps li>span:before{content:"";background:var(--hue);width:7px;height:7px}.steps--3 ol{grid-template-columns:repeat(3,1fr)}.steps--3 li:last-child{box-shadow:inset 0 0 0 1.5px var(--hue)}.steps--3 li:not(:last-child)>span:before{background:var(--color-line)}@media (width<=640px){.steps ol{grid-template-columns:1fr 1fr}.steps--3 ol{grid-template-columns:1fr}.prose .steps li{min-height:7rem}}.results{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));display:grid}.results>div{padding-top:var(--space-5);background:linear-gradient(var(--hue), var(--hue)) 0 0 / 28px 2px no-repeat, linear-gradient(var(--color-line), var(--color-line)) 0 0 / 100% 1px no-repeat}.results strong{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-title);font-variant-numeric:tabular-nums;line-height:1;display:block}.prose .results p{margin-top:var(--space-3);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.45}@media (width<=420px){.results{grid-template-columns:1fr}}.slot{place-content:center;justify-items:center;gap:var(--space-3);aspect-ratio:var(--ratio,16 / 9);max-height:78svh;margin-block:var(--space-7);padding:var(--space-6);border-radius:var(--radius-card);background:radial-gradient(circle, #00000012 .7px, transparent 1.1px) 0 0 / 8px 8px, var(--color-card);text-align:center;display:grid;position:relative;overflow:hidden}.slot[style*="9/16"]{width:min(100%,380px);margin-inline:auto}.slot__kind{border-radius:var(--radius-pill);background:var(--color-inner);min-height:30px;font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.5rem;padding:0 .8rem;display:inline-flex}.slot__kind:before{content:"";background:var(--hue);width:8px;height:8px}.slot[data-kind=motion] .slot__kind:before{clip-path:polygon(0 0,100% 50%,0 100%)}.slot[data-kind=prototype] .slot__kind:before{box-shadow:inset 0 0 0 2px var(--hue);background:0 0;border-radius:50%}.slot figcaption{max-width:36ch;color:var(--color-text-secondary);font-size:var(--text-sm)}@media (prefers-reduced-motion:no-preference){.slot[data-kind=motion]:after{content:"";inset:auto var(--space-6) var(--space-5);background:linear-gradient(var(--hue), var(--hue)) 0 0 / 30% 100% no-repeat, var(--grey-200);border-radius:2px;height:3px;animation:3.2s steps(16,end) infinite playhead;position:absolute}.slot[data-kind=prototype]:after{content:"";width:44px;height:44px;box-shadow:0 0 0 2px var(--hue);opacity:0;animation:tap 2.4s var(--ease-out) infinite;border-radius:50%;margin:-88px 0 0 -22px;position:absolute;top:50%;left:50%}}@keyframes playhead{0%{background-size:0% 100%,auto}to{background-size:100% 100%,auto}}@keyframes tap{0%{opacity:.8;scale:.4}70%,to{opacity:0;scale:1.3}}.case__rail{gap:var(--card-gap);display:grid}.rail-card{padding:var(--space-5)}.rail-facts{gap:var(--space-4);display:grid}.rail-facts dt{font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.rail-facts dd{font-size:var(--text-sm);margin-top:2px;line-height:1.45}.rail-cta{justify-items:start;gap:var(--space-2);background:var(--ink);color:var(--white);display:grid}.rail-cta__line{font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-title)}.rail-cta__sub{margin-bottom:var(--space-3);font-size:var(--text-sm);color:#b8b8b8}.rail-cta .pill{background:var(--white);min-height:40px;color:var(--ink)}@media (hover:hover) and (pointer:fine){.rail-cta .pill:is(:hover,[data-hot]){background:var(--grey-200)}}.rail-next{gap:var(--space-1);transition:background-color var(--dur-hover) var(--ease-ui);padding-right:4.5rem;display:grid;position:relative}.rail-next__name{font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-title)}.rail-next .icon-btn{right:var(--space-4);bottom:var(--space-4);transition:translate var(--dur-hover) var(--ease-ui), background-color var(--dur-hover) var(--ease-ui), color var(--dur-hover) var(--ease-ui);position:absolute}@media (hover:hover) and (pointer:fine){.rail-next:is(:hover,[data-hot]){background:var(--grey-200)}.rail-next:is(:hover,[data-hot]) .icon-btn{background:var(--ink);color:var(--white);translate:3px}}.tools+.tools{margin-top:var(--space-6)}.prose .tools__group{margin-bottom:var(--space-3);font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.prose .tools__grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));padding:0;list-style:none;display:grid}.prose .tools__grid>li{align-items:center;gap:var(--space-3);max-width:none;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-3);border-radius:var(--radius-inner);background:var(--color-card);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background-color var(--dur-hover) var(--ease-ui), translate var(--dur-hover) var(--ease-ui);margin:0;display:flex}.prose .tools__grid>li:before{content:none}.tool__logo{background:var(--white);width:28px;height:28px;transition:rotate .4s var(--ease-ui);border-radius:8px;flex:none;padding:5px;box-shadow:0 1px 2px #0000000f}@media (hover:hover) and (pointer:fine){.prose .tools__grid>li:is(:hover,[data-hot]){background:var(--grey-200);translate:0 -2px}.prose .tools__grid>li:is(:hover,[data-hot]) .tool__logo{rotate:-8deg}}.socials--rail{margin-top:var(--space-3)}.socials--rail .social{background:var(--color-inner)}.prose .timeline{gap:var(--space-2);padding:0;list-style:none;display:grid}.prose .timeline li{gap:var(--space-4);max-width:none;padding:var(--space-4) var(--space-5);border-radius:var(--radius-inner);background:var(--color-card);color:var(--color-text);grid-template-columns:8rem 1fr;margin:0;display:grid}.timeline__when{font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;line-height:2}.timeline__what{font-weight:var(--weight-medium)}.timeline__what span{font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--color-text-secondary);display:block}@media (width<=520px){.prose .timeline li{gap:var(--space-1);grid-template-columns:1fr}}.case .contact{max-width:1180px;margin:var(--space-10) auto 0;padding-top:var(--space-8);border-top:1px solid var(--color-line)}.case .contact .pill-row{justify-content:center}.next{margin-top:var(--space-8);text-align:center}.next a{align-items:center;gap:var(--space-2);color:var(--color-text);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-title);border-radius:var(--radius-sm);transition:scale var(--dur-press) var(--ease-out);display:inline-flex}.next a:is(:hover,[data-hot]){text-underline-offset:.2em;text-decoration:underline}@media (prefers-reduced-motion:no-preference){.motion-ok .sheet [data-sr]{transition:opacity .8s var(--ease-out), filter .8s var(--ease-out), translate .8s var(--ease-out)}.motion-ok .sheet [data-sr]:not(.is-in){opacity:0;filter:blur(10px);translate:0 1.5rem}}@media (width<=640px){.case{--case-pad-x:var(--space-5)}}.case__rail{display:none}.case__layout{grid-template-columns:minmax(0,1fr);max-width:860px}.case__layout--toc{grid-template-columns:190px minmax(0,1fr);max-width:1240px}.case__layout--toc .prose{max-width:58rem}.case__layout--toc .prose>:is(p,ul,ol,h2,h3,h4,.lockup,.facts,.pull,.decision,.results,.vis:not(:has(video,img))){max-width:40rem}@media (width<=960px){.case__layout--toc{margin-top:var(--space-8);grid-template-columns:minmax(0,1fr)}.case__layout--toc .case__toc{display:none}}.prose .vis-pair{gap:var(--space-4);margin-block:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.prose .vis-pair .vis img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-card)}@media (width<=640px){.prose .vis-pair{grid-template-columns:minmax(0,1fr)}}.prose .vis-quad{gap:var(--space-4);margin-block:var(--space-6);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.prose .vis-quad .vis img{aspect-ratio:1;object-fit:contain;padding:var(--space-3);background:#fff}@media (width<=760px){.prose .vis-quad{grid-template-columns:repeat(2,minmax(0,1fr))}}.pager{bottom:var(--space-4);z-index:3;pointer-events:none;height:0;position:sticky}.pager__row{inset:auto calc(var(--space-3) - var(--case-pad-x)) 0;justify-content:space-between;gap:var(--space-3);display:flex;position:absolute}.pager__btn{align-items:center;gap:var(--space-2);backdrop-filter:blur(14px)saturate(1.4);font-weight:var(--weight-medium);color:var(--color-text-secondary);opacity:0;transition:opacity var(--dur-hover) var(--ease-out), translate var(--dur-hover) var(--ease-out), color var(--dur-hover) var(--ease-ui);background:#ffffffb8;border-radius:999px;padding:.55rem 1rem;display:inline-flex;translate:0 8px;box-shadow:inset 0 0 0 1px #00000014,0 6px 20px #00000014}.pager__btn .icon{width:1rem;height:1rem}.pager[data-show] .pager__btn{pointer-events:auto;opacity:1;translate:0}.pager__btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@media (hover:hover){.pager__btn:hover{color:var(--ink)}}@media (prefers-reduced-transparency:reduce){.pager__btn{backdrop-filter:none;background:var(--white)}}@font-face{font-family:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/mona-sans-latin-wght-normal.Pz49MTQZ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Anek Malayalam Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/anek-malayalam-malayalam-wght-normal.D-kYGrhw.woff2)format("woff2-variations");unicode-range:U+307,U+323,U+951-952,U+964-965,U+D00-D7F,U+1CDA,U+1CF2,U+200C-200D,U+20B9,U+25CC,U+A830-A832}@font-face{font-family:Anek Malayalam Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/anek-malayalam-latin-wght-normal.DFxdR8SQ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.case__layout--wide{grid-template-columns:minmax(0,1fr)}.case__layout--wide.case__layout--toc{grid-template-columns:190px minmax(0,1fr)}@media (width<=860px){.case__layout--wide.case__layout--toc{grid-template-columns:minmax(0,1fr)}}.case--showcase .prose{max-width:none}.case--showcase .prose p,.case--showcase .prose li{max-width:52ch}.case--showcase .prose>ul{max-width:40rem}.case__credits{max-width:1180px;margin:var(--space-9) auto 0}.case__credits-facts{gap:0 var(--space-6);border-top:1px solid var(--color-line);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));display:grid}.case__credits-facts>div{align-content:start;gap:var(--space-2);padding-block:var(--space-5);display:grid}.case__credits-facts dt{font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.case__credits-facts dd{font-size:var(--text-base);font-weight:var(--weight-medium);text-wrap:balance;margin:0;line-height:1.4}.case__credits-facts>.is-note{align-items:baseline;gap:var(--space-2) var(--space-6);border-top:1px solid var(--color-line);grid-column:1/-1;grid-template-columns:minmax(13rem,1fr) minmax(0,3fr)}.case__credits-facts>.is-note dd{max-width:60ch;font-size:var(--text-base);font-weight:var(--weight-regular);letter-spacing:0;color:var(--color-text-secondary);text-wrap:pretty;line-height:1.55}@media (width<=640px){.case__credits-facts>.is-note{grid-template-columns:minmax(0,1fr)}}[data-sheet-body][data-paused] *{animation-play-state:paused!important}.bs-marquee:focus-within .bs-track,.bs-ticker:focus-within .bs-track{animation-play-state:paused}.prose>.bs,.prose>.bs-ticker,.prose>.bs-marquee{margin-block:var(--space-7)}.prose .bs img{border-radius:var(--radius-inner);background:0 0;width:100%;margin:0}:where(.bs button:not(.pill):not(.icon-btn)){cursor:pointer;background:0 0;border:0;padding:0}.bs{--bn-ink:#00263a;--bn-navy:#004a70;--bn-blue:#0079ba;--bn-sky:#56afde;--bn-mist:#d9ecf7;--bn-haze:#f2f8fc;--bn-cream:#f6f1e9;--bn-white:#fff;--bs-ease:cubic-bezier(.22, 1, .36, 1);--bs-spring:cubic-bezier(.16, 1, .3, 1);gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-card);background:var(--color-card);box-shadow:inset 0 0 0 1px var(--card-edge);display:grid}.bs-ticker,.bs-marquee{--bn-navy:#004a70;--bn-sky:#56afde;--bn-white:#fff;--bs-ease:cubic-bezier(.22, 1, .36, 1)}.bs-stage{place-content:center;justify-items:center;gap:var(--space-5);aspect-ratio:16/9;border-radius:var(--radius-inner);background:var(--bn-mist);color:var(--bn-navy);transition:background-color .6s var(--bs-ease), color .6s var(--bs-ease);display:grid;position:relative;overflow:hidden}.bs-stage[data-surface=white]{background:var(--bn-white);color:var(--bn-navy)}.bs-stage[data-surface=haze]{background:var(--bn-haze);color:var(--bn-navy)}.bs-stage[data-surface=mist]{background:var(--bn-mist);color:var(--bn-navy)}.bs-stage[data-surface=cream]{background:var(--bn-cream);color:var(--bn-navy)}.bs-stage[data-surface=navy]{background:var(--bn-navy);color:var(--bn-white)}.bs-stage[data-surface=blue]{background:var(--bn-blue);color:var(--bn-white)}@media (width<=640px){.bs-stage{aspect-ratio:4/3}}.bs-bar,.bs-controls{align-items:center;gap:var(--space-3) var(--space-5);padding:var(--space-1) var(--space-2) var(--space-2);flex-wrap:wrap;display:flex}.bs-seg{border-radius:var(--radius-pill);background:var(--color-fill);flex-wrap:wrap;gap:4px;width:fit-content;padding:4px;display:inline-flex}.bs-seg button{height:34px;padding:0 var(--space-4);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink);transition:background-color var(--dur-base) var(--ease-ui), color var(--dur-base) var(--ease-ui), scale var(--dur-press) var(--ease-ui)}.bs-seg button:is(:hover,[data-hot]){background:var(--grey-300)}.bs-seg button[aria-pressed=true]{background:var(--ink);color:var(--white)}.bs-seg button:active{scale:.97}.bs-seg button:focus-visible,.bs-surfaces button:focus-visible,.bs-trap:focus-visible{border-radius:var(--radius-pill)}.bs-surfaces{gap:var(--space-2);flex-wrap:wrap;display:flex}.bs-surfaces button{align-items:center;gap:var(--space-2);height:34px;padding:0 var(--space-3) 0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-inner);box-shadow:inset 0 0 0 1px var(--card-edge);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background-color var(--dur-base) var(--ease-ui), color var(--dur-base) var(--ease-ui), scale var(--dur-press) var(--ease-ui);display:inline-flex}.bs-surfaces button i{background:var(--c);border-radius:5px;width:18px;height:18px;box-shadow:inset 0 0 0 1px #00000029}.bs-surfaces button[aria-pressed=true]{background:var(--ink);color:var(--white)}.bs-surfaces button:active{scale:.97}.bs-range{align-items:center;gap:var(--space-4);flex:14rem;min-width:0;display:flex}.bs-range input{min-width:0;accent-color:var(--ink);flex:1}.bs-range output{min-width:5ch;font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.04em;text-align:right;text-transform:uppercase;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.bs-stage--tap{aspect-ratio:2;width:100%;font:inherit}.bs-stage--tap:focus-visible{border-radius:var(--radius-inner)}.bs-mark{width:min(52%,380px);overflow:visible}.bs-word{width:min(52%,340px)}.bs-part{transform-box:view-box;transform-origin:67.5px 86px}.bs-guide{transform-box:view-box;transform-origin:67.5px 54px;fill:none;stroke:currentColor;stroke-width:.6px;stroke-dasharray:1.2 2;opacity:0}@media (prefers-reduced-motion:no-preference){.bs-stage[data-armed]:not(.is-playing) :is(.bs-part,.bs-word){opacity:0}.bs-stage.is-playing .bs-part--m{animation:bs-m .76s var(--bs-ease) .12s both}.bs-stage.is-playing .bs-part--l{animation:bs-l 1s var(--bs-ease) .62s both}.bs-stage.is-playing .bs-part--r{animation:bs-r 1s var(--bs-ease) .62s both}.bs-stage.is-playing .bs-part--dot{animation:bs-dot .76s var(--bs-spring) 1.32s both}.bs-stage.is-playing .bs-word{animation:bs-word .8s var(--bs-ease) 1.8s both}.bs-stage.is-playing .bs-guide{animation:2.2s ease-in-out 80ms both bs-guide}.bs-stage.is-done .bs-part--m{animation:5.5s ease-in-out infinite bs-lift}.bs-stage.is-done .bs-part--l{animation:5.5s ease-in-out infinite bs-sway-l}.bs-stage.is-done .bs-part--r{animation:5.5s ease-in-out infinite bs-sway-r}.bs-stage.is-done .bs-part--dot{animation:3.6s ease-in-out infinite bs-bob}.bs-stage.is-done .bs-guide{animation:4.4s ease-in-out infinite bs-ring}}@keyframes bs-m{0%{opacity:0;transform:translateY(16px)scale(.8)}}@keyframes bs-l{0%{opacity:0;transform:rotate(36deg)translate(10px,6px)scale(.78)}}@keyframes bs-r{0%{opacity:0;transform:rotate(-36deg)translate(-10px,6px)scale(.78)}}@keyframes bs-dot{0%{opacity:0;transform:translateY(-38px)scale(.3)}}@keyframes bs-word{0%{opacity:0;transform:translateY(10px)}}@keyframes bs-guide{0%{opacity:0;stroke-dashoffset:40px}25%{opacity:.55}70%{opacity:.4}to{opacity:0;stroke-dashoffset:0}}@keyframes bs-lift{50%{transform:translateY(-1.4px)}}@keyframes bs-sway-l{50%{transform:rotate(-4deg)}}@keyframes bs-sway-r{50%{transform:rotate(4deg)}}@keyframes bs-bob{50%{transform:translateY(-2.4px)}}@keyframes bs-ring{0%,to{opacity:0;transform:scale(.94)}50%{opacity:.5;transform:scale(1.06)}}.bs-track{width:max-content;display:flex}.bs-set{flex:none;align-items:center;display:flex}@keyframes bs-slide{to{transform:translate(-50%)}}.bs-ticker{padding-block:var(--space-5);border-radius:var(--radius-inner);background:var(--bn-navy);color:var(--bn-white);overflow:hidden}.bs-ticker .bs-set{gap:var(--space-8);padding-right:var(--space-8)}.bs-ticker__word{aspect-ratio:279/46;flex:none;height:2.2rem}.bs-ticker__mark{aspect-ratio:135/100;height:2.6rem;color:var(--bn-sky);flex:none}.bs-marquee{gap:var(--space-3);padding-block:var(--space-3);display:grid;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.bs-marquee .bs-set{gap:var(--space-3);padding-right:var(--space-3)}.bs-card{aspect-ratio:16/10;border-radius:var(--radius-inner);background:var(--color-fill);width:clamp(15rem,36vw,23rem);box-shadow:inset 0 0 0 1px var(--card-edge);rotate:var(--tilt,0deg);transition:rotate .7s var(--bs-ease), scale .7s var(--bs-ease);flex:none;margin:0;position:relative;overflow:hidden}.bs-card:nth-child(odd){--tilt:-1.4deg}.bs-card:nth-child(2n){--tilt:1.2deg}.bs-card:is(:hover,[data-hot]){z-index:2;rotate:0deg;scale:1.05}.prose .bs-card img{object-fit:cover;width:100%;height:100%;transition:scale 1.4s var(--bs-ease);border-radius:0;margin:0}.bs-card:is(:hover,[data-hot]) img{scale:1.07}.bs-card figcaption{inset:auto auto var(--space-3) var(--space-3);height:26px;padding:0 var(--space-3);border-radius:var(--radius-pill);backdrop-filter:blur(8px);color:var(--ink);font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;background:#ffffffdb;align-items:center;display:inline-flex;position:absolute}@media (prefers-reduced-transparency:reduce){.bs-card figcaption{background:var(--white);backdrop-filter:none}}@media (prefers-reduced-motion:no-preference){.bs-ticker .bs-track{animation:46s linear infinite bs-slide}.bs-marquee .bs-track{animation:72s linear infinite bs-slide}.bs-marquee .bs-track[data-back]{animation-duration:88s;animation-direction:reverse}.bs-marquee:is(:hover,[data-hot]) .bs-track{animation-play-state:paused}}@media (prefers-reduced-motion:reduce){.bs-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.bs-set[aria-hidden=true]{display:none}}.bs-logo{max-width:88%;height:auto;transition:width .16s linear;display:block}.bs-stage[data-auto] .bs-logo{transition:width .9s var(--bs-ease)}.bs-note{inset:auto var(--space-4) var(--space-4) auto;height:28px;padding:0 var(--space-3);border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px var(--card-edge);color:var(--ink);font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;opacity:0;transition:opacity .26s var(--bs-ease), translate .26s var(--bs-ease);background:#ffffffdb;align-items:center;display:inline-flex;position:absolute;translate:0 6px}.bs-note[data-show]{opacity:1;translate:0}.bs-swatches{gap:6px;height:clamp(10rem,22vw,13rem);display:flex}.bs-sw{min-width:0;padding:var(--space-3);border-radius:var(--radius-inner);background:var(--sw);color:var(--sw-ink);text-align:left;transition:flex-grow .7s var(--bs-ease), scale var(--dur-press) var(--ease-ui);flex-direction:column;flex:1 1 0;justify-content:flex-end;gap:2px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0000001a}.bs-sw:is(:hover,[data-hot]),.bs-sw:focus-visible,.bs-sw[data-open]{flex-grow:3}.bs-sw:focus-visible{border-radius:var(--radius-inner)}.bs-sw:active{scale:.985}.bs-sw__name{font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-title);white-space:nowrap}.bs-sw__hex{font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.04em;opacity:0;transition:opacity .3s var(--bs-ease), translate .3s var(--bs-ease);translate:0 6px}.bs-sw:is(:hover,[data-hot]) .bs-sw__hex,.bs-sw:focus-visible .bs-sw__hex,.bs-sw[data-open] .bs-sw__hex{opacity:.85;transition-delay:.18s;translate:0}.bs-sw__copied{inset:var(--space-3) var(--space-3) auto auto;height:24px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--ink);color:var(--white);font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;opacity:0;transition:opacity .2s var(--bs-ease), scale .2s var(--bs-ease);align-items:center;display:inline-flex;position:absolute;scale:.9}.bs-sw[data-copied] .bs-sw__copied{opacity:1;scale:1}@media (width<=640px){.bs-swatches{grid-template-columns:repeat(4,1fr);height:auto;display:grid}.bs-sw{aspect-ratio:1;padding:var(--space-2)}.bs-sw__name{font-size:var(--text-xs);white-space:normal}.bs-sw__hex{display:none}}.bs-contrast{gap:var(--space-3);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);display:grid}@media (width<=760px){.bs-contrast{grid-template-columns:minmax(0,1fr)}}.bs-sample{align-content:center;gap:var(--space-2);min-height:13rem;padding:var(--space-6);border-radius:var(--radius-inner);background:var(--bg);color:var(--fg);transition:background-color .6s var(--bs-ease), color .6s var(--bs-ease);display:grid;box-shadow:inset 0 0 0 1px #00000014}.bs-sample__aa{font-size:clamp(3.5rem,8vw,5.5rem);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-display);line-height:.95}.bs-sample__line{font-size:var(--text-md);font-weight:var(--weight-medium);letter-spacing:var(--tracking-title);line-height:1.3}.bs-meter{align-content:center;gap:var(--space-4);padding:var(--space-3);display:grid}.bs-ratio{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-headline);font-variant-numeric:tabular-nums;line-height:1}.bs-badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.bs-badge{height:30px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--color-inner);box-shadow:inset 0 0 0 1px var(--card-edge);font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:7px;display:inline-flex}.bs-badge:before{content:"";background:var(--hue-tangerine);width:7px;height:7px}.bs-badge[data-pass]:before{background:var(--hue-green)}.bs-picks{flex-wrap:wrap;gap:6px;display:flex}.bs-dot{background:var(--c);width:32px;height:32px;transition:scale var(--dur-press) var(--ease-ui), box-shadow var(--dur-base) var(--ease-ui);border-radius:8px;position:relative;box-shadow:inset 0 0 0 1px #00000024}.bs-dot:is(:hover,[data-hot]){scale:1.08}.bs-dot:active{scale:.95}.bs-dot:focus-visible{border-radius:8px}.bs-dot[aria-pressed=true]{box-shadow:inset 0 0 0 1px #00000024, 0 0 0 2px var(--white), 0 0 0 4px var(--ink)}.bs-trap{width:fit-content;height:30px;padding:0 var(--space-3);border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px var(--grey-300);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);transition:background-color var(--dur-hover) var(--ease-ui), scale var(--dur-press) var(--ease-ui)}.bs-trap:is(:hover,[data-hot]){background:var(--color-inner)}.bs-trap:active{scale:.97}.bs-stage--type{aspect-ratio:auto;min-height:16rem;padding:var(--space-6);place-content:center start;justify-items:start}.bs-type{width:100%;max-width:100%;font-family:"Mona Sans Variable", var(--font-sans);font-size:var(--bs-size,64px);letter-spacing:-.05em;overflow-wrap:anywhere;caret-color:var(--bn-blue);cursor:text;outline:none;font-weight:600;line-height:1.05}.bs-type[lang=ml]{font-family:"Anek Malayalam Variable", "Noto Sans Malayalam", var(--font-sans);letter-spacing:0;line-height:1.32}.bs-type:after{content:"";background:var(--bn-blue);vertical-align:-.06em;width:.06em;height:.85em;margin-left:.08em;display:inline-block}.bs-type:focus:after{display:none}@media (prefers-reduced-motion:no-preference){.bs-type:after{animation:1.05s step-end infinite bs-caret}}@keyframes bs-caret{50%{opacity:0}}.bs-type:focus-visible{box-shadow:none;outline:2px dashed color-mix(in oklab, currentColor 40%, transparent);outline-offset:10px;border-radius:4px}.bs-canvas{aspect-ratio:16/7;border-radius:var(--radius-inner);background:var(--bg,var(--bn-haze));touch-action:pan-y;width:100%;transition:background-color .7s var(--bs-ease);display:block}@media (width<=640px){.bs-canvas{aspect-ratio:4/3}}.bs .media{aspect-ratio:16/10;width:100%}.bs-flow{align-items:center;gap:var(--space-2);padding:var(--space-5);border-radius:var(--radius-inner);background:var(--color-inner);box-shadow:inset 0 0 0 1px var(--card-edge);grid-template-columns:minmax(0,1fr) 3.5rem minmax(0,1fr) 3.5rem minmax(0,1fr);display:grid}.bs-node{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-card);box-shadow:inset 0 0 0 1px var(--card-edge);gap:2px;display:grid}.bs-node__title{font-weight:var(--weight-semibold);letter-spacing:var(--tracking-title)}.bs-node__text{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.4}.bs-outs{gap:var(--space-2);display:grid}.bs-label{font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.bs-wire{background:var(--grey-300);height:2px;position:relative}.bs-wire:after{content:"";background:var(--hue);opacity:0;width:8px;height:8px;position:absolute;top:50%;left:0;translate:0 -50%}@media (prefers-reduced-motion:no-preference){.bs-flow.is-live .bs-wire:after{animation:2.4s linear infinite bs-travel}.bs-flow.is-live .bs-wire:nth-of-type(2):after{animation-delay:.8s}.bs-flow.is-live .bs-outs .bs-node{animation:2.4s ease-in-out infinite bs-ping}.bs-flow.is-live .bs-outs .bs-node:nth-child(2){animation-delay:.26s}.bs-flow.is-live .bs-outs .bs-node:nth-child(3){animation-delay:.52s}}@keyframes bs-travel{0%{opacity:0;left:0}15%,85%{opacity:1}to{opacity:0;left:calc(100% - 8px)}}@keyframes bs-travel-y{0%{opacity:0;top:0}15%,85%{opacity:1}to{opacity:0;top:calc(100% - 8px)}}@keyframes bs-ping{0%,55%,to{background:var(--color-card)}70%{background:color-mix(in oklab, var(--hue) 14%, var(--color-card))}}@media (width<=760px){.bs-flow{grid-template-columns:minmax(0,1fr);justify-items:stretch}.bs-wire{justify-self:center;width:2px;height:2rem}.bs-wire:after{top:0;left:50%;translate:-50%}.bs-flow.is-live .bs-wire:after{animation-name:bs-travel-y}}.bs-ledger{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}@media (width<=640px){.bs-ledger{grid-template-columns:minmax(0,1fr)}}.bs-ledger>div{align-content:start;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-inner);background:var(--color-inner);box-shadow:inset 0 0 0 1px var(--card-edge);display:grid}.prose .bs-ledger ul{margin:0}.prose .bs-ledger li{font-size:var(--text-sm);line-height:1.45}.phone{--bz:5px;--w:17.5rem;--rs:calc(var(--w) * .092);width:var(--w);max-width:100%;padding:var(--bz);border-radius:calc(var(--rs) + var(--bz));background:#101010;flex:none;position:relative;box-shadow:inset 0 0 0 1.5px #ffffff29,0 0 0 1px #0000008c,0 30px 40px -34px #0000008c}.phone:before,.phone:after{content:"";background:#1c1c1c;border-radius:2px;width:3px;position:absolute}.phone:before{height:7%;top:17%;left:-3px}.phone:after{height:11%;top:24%;right:-3px}.phone__body{aspect-ratio:var(--ar,360 / 780);border-radius:var(--rs);background:#fff;position:relative}.phone__viewport{border-radius:var(--rs);clip-path:inset(0 round var(--rs));overscroll-behavior:auto;scrollbar-width:none;position:absolute;inset:0;overflow-y:auto}.phone__viewport:focus-visible{outline-offset:-3px}.phone__viewport::-webkit-scrollbar{display:none}.phone:not(.phone--scroll) .phone__viewport{overflow:hidden}.phone__scroll{width:100%;position:relative}.phone__scroll>img,.phone__fixed>img{background:0 0;border-radius:0;width:100%;height:auto;margin:0;display:block}.phone__fixed{z-index:3;position:absolute;bottom:0;left:0;right:0}.phone__layer{opacity:0;pointer-events:none;transition:opacity .45s var(--ease-ui,ease), transform .6s var(--ease-ui,ease);position:absolute;inset:0}.phone__layer[data-on]{opacity:1;pointer-events:auto}.phone__layer[data-in=rise]{transform:translateY(5%)}.phone__layer[data-in=rise][data-on]{transform:none}.phone__base{transition:filter .5s var(--ease-ui,ease)}.phone[data-lit] .phone__base{filter:grayscale()contrast(.92)brightness(1.04)}.phone__wash{opacity:0;pointer-events:none;transition:opacity .5s var(--ease-ui,ease);background:#f8f8f894;position:absolute;inset:0}.phone[data-lit] .phone__wash{opacity:1}.phone__lit{opacity:0;pointer-events:none;clip-path:inset(50%);transition:clip-path .65s cubic-bezier(.22,1,.36,1),opacity .4s;position:absolute;inset:0}.phone[data-lit] .phone__lit{opacity:1}.phone__ring{z-index:6;width:0;height:0;box-shadow:0 0 0 1.5px var(--hue-green,#008571), 0 0 0 5px #0085711f;opacity:0;pointer-events:none;border-radius:0;transition:left .65s cubic-bezier(.22,1,.36,1),top .65s cubic-bezier(.22,1,.36,1),width .65s cubic-bezier(.22,1,.36,1),height .65s cubic-bezier(.22,1,.36,1),border-radius .65s cubic-bezier(.22,1,.36,1),opacity .4s;position:absolute;top:0;left:0}.phone[data-lit] .phone__ring{opacity:1}.pin{z-index:4;color:#0b5a4e;width:20px;height:20px;box-shadow:0 0 0 1.5px var(--hue-green,#008571), 0 3px 8px #0000002e;font:700 11px/1 var(--font-sans,system-ui);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .25s var(--ease-ui,ease), background-color .25s ease, color .25s ease;background:#fff;border:0;border-radius:50%;place-items:center;margin:-10px 0 0 -22px;padding:0;display:grid;position:absolute}.pin:after{content:"";border:1.5px solid var(--hue-green,#008571);opacity:0;border-radius:50%;animation:2.6s ease-out infinite pin-ping;position:absolute;inset:-4px}.pin:is(:hover,:focus-visible,[data-on]){background:var(--hue-green,#008571);color:#fff;transform:scale(1.18)}.pin:focus-visible{outline:2px solid var(--color-text,#111);outline-offset:3px}@keyframes pin-ping{0%{opacity:.7;transform:scale(.7)}70%,to{opacity:0;transform:scale(1.5)}}.phone__tip{z-index:6;color:#fff;max-width:9.5rem;font:600 11px/1.3 var(--font-sans,system-ui);pointer-events:none;opacity:0;transition:opacity .2s ease, transform .25s var(--ease-ui,ease);background:#151515;border-radius:8px;padding:.35rem .6rem;position:absolute;transform:translateY(4px);box-shadow:0 10px 24px -8px #00000080}.phone__tip[data-on]{opacity:1;transform:none}.tap{z-index:7;opacity:0;pointer-events:none;background:#0000002e;border-radius:50%;width:38px;height:38px;margin:-19px 0 0 -19px;position:absolute;transform:scale(1.6);box-shadow:0 0 0 2px #ffffffe6}.tap[data-on]{animation:tap-in .7s var(--ease-ui,ease) forwards}@keyframes tap-in{0%{opacity:0;transform:scale(1.7)}40%{opacity:1;transform:scale(1)}75%{opacity:1;transform:scale(.82)}to{opacity:0;transform:scale(1.3)}}.prose .story{gap:var(--space-7);padding:var(--card-pad);border-radius:var(--radius-card);background:var(--color-card);box-shadow:inset 0 0 0 1px var(--card-edge);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.prose .story--flip{grid-template-columns:minmax(0,1fr) auto}.prose .story--flip .story__stage{order:2}@media (width<=52rem){.prose .story,.prose .story--flip{grid-template-columns:minmax(0,1fr);justify-items:center}.prose .story--flip .story__stage{order:0}}.story__stage{justify-items:center;gap:var(--space-4);display:grid;position:relative}.story__side{gap:var(--space-4);align-content:center;width:100%;min-height:100%;display:grid}.story__tag{color:var(--color-text-tertiary,#777);font-family:var(--font-pixel,var(--font-sans,system-ui));font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.5rem;margin:0;display:inline-flex}.story__tag i{background:var(--hue-green,#008571);width:8px;height:8px}.story__tag--off i{background:#b3b3b3}.prose .notes{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.prose .notes li{padding:var(--space-3) var(--space-4) var(--space-3) 3rem;cursor:default;color:var(--color-text-secondary);border-radius:14px;margin:0;transition:background-color .3s,box-shadow .3s;position:relative}.prose .notes li:before{content:attr(data-n);left:var(--space-3);top:var(--space-3);background:var(--color-inner,#fff);width:24px;height:24px;box-shadow:inset 0 0 0 1.5px var(--hue-green,#008571);color:#0b5a4e;font:700 11px/1 var(--font-sans,system-ui);border-radius:50%;place-items:center;display:grid;position:absolute}.prose .notes li:is(:hover,[data-on]){background:var(--color-inner,#fff);box-shadow:inset 0 0 0 1px var(--card-edge)}.prose .notes li:is(:hover,[data-on]):before{background:var(--hue-green,#008571);color:#fff}.notes b{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-semibold);display:block}.notes p{margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:1.45}.notes[hidden]{display:none}.prose .notes--flow li{cursor:pointer}.prose .notes--flow li:after{content:"";left:3rem;right:var(--space-4);background:var(--hue-green,#008571);transform-origin:0;border-radius:2px;height:2px;position:absolute;bottom:0;transform:scaleX(0)}.prose .notes--flow li[data-on]:after{animation:step-fill var(--dur,3s) linear forwards}@keyframes step-fill{to{transform:scaleX(1)}}.seg{--seg-ease:cubic-bezier(.23, 1, .32, 1);background:var(--color-inner,#fff);max-width:100%;box-shadow:inset 0 0 0 1px var(--card-edge);border-radius:999px;gap:2px;padding:4px;display:inline-flex;position:relative}.seg__thumb{z-index:0;background:var(--color-text,#111);pointer-events:none;width:0;transition:translate .3s var(--seg-ease), width .3s var(--seg-ease);border-radius:999px;position:absolute;top:4px;bottom:4px;left:0}.seg button{z-index:1;min-width:5.5rem;min-height:2.75rem;color:var(--color-text-secondary);font:600 var(--text-base,1rem) / 1 var(--font-sans,system-ui);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:color .2s ease, transform .16s var(--seg-ease);background:0 0;border:0;border-radius:999px;padding:0 1.4rem;position:relative}.seg button:active{transform:scale(.97)}.seg button[aria-pressed=true],.seg button[aria-selected=true]{color:#fff}.seg:not([data-thumb]) button:is([aria-pressed=true],[aria-selected=true]){background:var(--color-text,#111)}.seg button:focus-visible{outline:2px solid var(--hue-green,#008571);outline-offset:2px}@media (hover:hover) and (pointer:fine){.seg button:not([aria-pressed=true],[aria-selected=true]):hover{color:var(--color-text,#111)}}@media (width<=30rem){.seg{width:100%;display:flex}.seg button{flex:1;min-width:0;padding:0 .75rem}}.story__pane:not([hidden]),.notes:not([hidden]){animation:story-in .34s var(--ease-out-strong,cubic-bezier(.23, 1, .32, 1)) both}@keyframes story-in{0%{opacity:0;transform:translateY(8px)}}.motion-ok [data-rv]{transition:opacity .55s var(--ease-out-strong,cubic-bezier(.23, 1, .32, 1)), transform .55s var(--ease-out-strong,cubic-bezier(.23, 1, .32, 1))}.motion-ok [data-rv]:not([data-seen]){opacity:0;transform:translateY(16px)}.motion-ok [data-rv]:not([data-seen]) .pin{opacity:0;scale:.85}.motion-ok [data-rv] .pin{transition-property:transform,background-color,color,opacity,scale;transition-delay:0s, 0s, 0s, calc(.25s + var(--pi,0) * 60ms), calc(.25s + var(--pi,0) * 60ms)}.prose .scrolly{gap:var(--space-8);padding:var(--card-pad);border-radius:var(--radius-card);background:var(--color-card);box-shadow:inset 0 0 0 1px var(--card-edge);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.scrolly__stage{justify-items:center;gap:var(--space-3);display:grid;position:sticky;top:5.5rem}.scrolly__steps{gap:0;display:grid}.prose .scrolly__steps>div{min-height:min(62svh,32rem);padding-block:var(--space-6);color:var(--color-text-tertiary,#888);align-content:center;transition:color .4s;display:grid}.prose .scrolly__steps>div[data-on]{color:var(--color-text-secondary)}.scrolly__steps h3{margin:0 0 var(--space-2);color:inherit;font-size:var(--text-lg,1.25rem)}.scrolly__steps>div[data-on] h3{color:var(--color-text)}.scrolly__steps p{max-width:34ch;margin:0}@media (width<=52rem){.prose .scrolly{grid-template-columns:minmax(0,1fr)}.scrolly__stage{z-index:2;top:4.5rem}.scrolly__steps>div{min-height:40svh}}.lockup{align-items:center;gap:var(--space-4);margin:0 0 var(--space-5);display:flex}.prose .lockup img{background:0 0;border-radius:0;width:auto;height:1.6rem;margin:0}.lockup__x{background:var(--card-edge,#ddd);width:1px;height:1.4rem}.facts{gap:var(--space-2);margin:var(--space-6) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.prose .facts li{background:var(--color-card);box-shadow:inset 0 0 0 1px var(--card-edge);color:var(--color-text-secondary);font-size:var(--text-sm);border-radius:999px;margin:0;padding:.35rem .8rem}.prose .facts li:before{content:none}@media (prefers-reduced-motion:reduce){.phone__layer,[data-rv],.phone__lit,.phone__ring,.phone__base,.phone__wash,.pin,.phone__tip{transition:none}.seg__thumb,.seg button,.story__pane,.notes{transition:none;animation:none}.pin:after,.tap[data-on],.notes--flow li[data-on]:after{animation:none}}.prose .story--tabs{gap:var(--space-5);grid-template-columns:minmax(0,1fr);justify-items:start;display:grid}.story__pane{gap:var(--space-7);grid-template-columns:auto minmax(0,1fr);align-items:start;width:100%;display:grid}.story__pane[hidden]{display:none}@media (width<=52rem){.story__pane{grid-template-columns:minmax(0,1fr);justify-items:center}}.story .phone,.scrolly .phone{--w:min(16.5rem, calc(100vw - 4rem))}.prose .ladder{gap:var(--space-2);padding:var(--card-pad);border-radius:var(--radius-card);background:var(--color-card);box-shadow:inset 0 0 0 1px var(--card-edge);grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;margin:0;list-style:none;display:grid}.prose .ladder li{align-content:end;gap:var(--space-1);min-height:calc(6rem + var(--i,0) * 2.2rem);padding:var(--space-3) var(--space-3) var(--space-4);background:var(--color-inner,#fff);box-shadow:inset 0 0 0 1px var(--card-edge);border-radius:14px;margin:0;display:grid}.prose .ladder li:before{content:none}.ladder b{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text)}.ladder span{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.35}.prose .ladder li[data-top]{background:var(--color-text,#111)}.prose .ladder li[data-top] b,.prose .ladder li[data-top] span{color:#fff}@media (width<=40rem){.prose .ladder{grid-template-columns:minmax(0,1fr)}.prose .ladder li{min-height:0}}.prose .reasons{margin:var(--space-5) 0;border-top:1px solid var(--card-edge);padding:0;list-style:none;display:grid}.prose .reasons li{gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--card-edge);grid-template-columns:minmax(10rem,14rem) minmax(0,1fr);margin:0;display:grid}.prose .reasons li:before{content:none}.reasons b{color:var(--color-text);font-weight:var(--weight-semibold)}.reasons span{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.45}@media (width<=40rem){.prose .reasons li{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}}@property --glow-a{syntax:"<color>";inherits:true;initial-value:#0061fe}@property --glow-b{syntax:"<color>";inherits:true;initial-value:#008571}@property --glow-c{syntax:"<color>";inherits:true;initial-value:#d9480f}[data-page]{isolation:isolate;position:relative}.page-glow{z-index:-1;pointer-events:none;background:radial-gradient(36% 62% at 14% 0, color-mix(in oklab, var(--glow-a) 20%, transparent), transparent 72%), radial-gradient(32% 56% at 50% 0, color-mix(in oklab, var(--glow-b) 16%, var(--glow-lime) 12%), transparent 72%), radial-gradient(30% 52% at 86% 0, color-mix(in oklab, var(--glow-c) 14%, transparent), transparent 72%);height:560px;transition:--glow-a .9s var(--ease-ui), --glow-b .9s var(--ease-ui), --glow-c .9s var(--ease-ui);position:absolute;inset:0 3% auto;mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000)}@media (prefers-reduced-motion:no-preference){.page-glow{animation:18s ease-in-out infinite alternate glow-drift}}.page-glow[data-off]{animation-play-state:paused}@keyframes glow-drift{0%{translate:-2%}to{translate:2% -3%}}html,.sheet{scrollbar-width:none}html::-webkit-scrollbar,.sheet::-webkit-scrollbar{display:none}.scrollbar{z-index:calc(var(--z-nav) + 1);opacity:0;width:14px;transition:opacity .4s var(--ease-ui);justify-content:flex-end;display:flex;position:fixed;right:3px}.scrollbar[hidden]{display:none}.scrollbar--sheet{z-index:calc(var(--z-sheet) + 1);right:auto}.scrollbar.is-on,.scrollbar.is-dragging{opacity:1;transition-duration:.12s}.scrollbar__thumb{border-radius:var(--radius-pill);will-change:transform;width:5px;transition:width .18s var(--ease-ui), background-color .18s var(--ease-ui);background:#1717174d}.scrollbar:is(:hover,[data-hot]) .scrollbar__thumb,.scrollbar.is-dragging .scrollbar__thumb{background:#17171780;width:8px}@media (prefers-reduced-motion:no-preference){.motion-ok [data-page] [data-reveal]{transition:opacity .9s var(--ease-out), filter .9s var(--ease-out), translate .9s var(--ease-out);transition-delay:calc(var(--d,0) * 80ms)}.motion-ok [data-page] [data-reveal]:not(.is-in){opacity:0;filter:blur(var(--blur-in));translate:0 1.25rem}}.project__media .media:not([data-frame=phone]):after{content:"";z-index:1;pointer-events:none;background:radial-gradient(32rem circle at var(--gx,50%) var(--gy,30%), #ffffff59, transparent 45%);opacity:0;transition:opacity .4s var(--ease-ui);position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.project__media:is(:hover,[data-hot]) .media:not([data-frame=phone]):after{opacity:1}.lab-card:before{content:"";z-index:-1;background:var(--grey-200);clip-path:inset(0 100% 0 0);transition:clip-path .18s steps(6,end);position:absolute;inset:0}.lab-card:is(:hover,[data-hot]):before{clip-path:inset(0);transition-duration:.36s;transition-timing-function:steps(14,end)}.lab-card:is(:hover,[data-hot]) .lab-card__open{background:var(--ink);color:var(--white);rotate:45deg}.lab-card__title{transition:translate var(--dur-hover) var(--ease-ui), filter var(--dur-hover) var(--ease-ui)}.lab-card:is(:hover,[data-hot]) .lab-card__title{translate:0 -2px}.nav__links>a:not(.pill){white-space:nowrap;display:inline-block;overflow:clip}}.has-cursor,.has-cursor *{cursor:none!important}.has-cursor.cursor-text,.has-cursor.cursor-text *{cursor:text!important}.cursor{--pill-w:120px;--cursor-ease:cubic-bezier(.23, 1, .32, 1);z-index:var(--z-cursor);pointer-events:none;opacity:0;contain:layout style;transition:opacity var(--dur-fast) linear;position:fixed;inset:0}.cursor.is-on{opacity:1}.cursor__dot,.cursor__ring{will-change:transform;position:absolute;top:0;left:0}.cursor__dot i{background:var(--ink);width:6px;height:6px;transition:opacity .16s var(--cursor-ease), scale .16s var(--cursor-ease);border-radius:50%;margin:-3px 0 0 -3px;display:block}.cursor__shape{width:34px;height:34px;transition:width .24s var(--cursor-ease), height .24s var(--cursor-ease), translate .24s var(--cursor-ease), scale .16s var(--cursor-ease), opacity .16s var(--cursor-ease), background-color .2s var(--cursor-ease), box-shadow .2s var(--cursor-ease);border-radius:999px;place-items:center;display:grid;translate:-50% -50%;box-shadow:inset 0 0 0 1.5px #17171747}.cursor[data-mode=press] .cursor__shape{background:#1717170f;width:52px;height:52px;box-shadow:inset 0 0 0 1px #17171729}.cursor[data-mode=label] .cursor__shape{width:var(--pill-w);height:36px;translate:calc(-50% + 10px + var(--pill-w) / 2) calc(-50% + 14px);background:#171717eb;box-shadow:0 6px 24px #0000002e}.cursor[data-mode=label][data-flip] .cursor__shape{translate:calc(-50% - 10px - var(--pill-w) / 2) calc(-50% + 14px)}.cursor[data-mode=text] .cursor__shape,.cursor[data-mode=text] .cursor__dot i{opacity:0}.cursor.is-down .cursor__shape{scale:.86}.cursor__label{color:var(--white);font-family:var(--font-pixel);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .16s var(--cursor-ease)}.cursor[data-mode=label] .cursor__label{opacity:1;transition-delay:60ms}.sheet-open body{background:var(--ink)}[data-page]{background:var(--color-bg)}@media (prefers-reduced-motion:no-preference){[data-page]{transform-origin:50% var(--page-origin,50vh);transition:scale var(--dur-sheet-close) var(--ease-sheet)}.sheet-open [data-page]{transition-duration:var(--dur-sheet-open);scale:.96}}.sheet-scrim{backdrop-filter:blur(6px)}.edge-blur{--edge-bleed:24px;inset:auto 0 calc(-1 * var(--edge-bleed));height:calc(clamp(72px, 12vh, 120px) + var(--edge-bleed));z-index:var(--z-nav);pointer-events:none;position:fixed}.edge-blur--top{inset:calc(-1 * var(--edge-bleed)) 0 auto;z-index:calc(var(--z-nav) - 1);transform:scaleY(-1)}.edge-blur i{position:absolute;inset:0}.edge-blur i:first-child{backdrop-filter:blur(.5px);-webkit-mask-image:linear-gradient(#0000 0%,#000 25% 50%,#0000 62%);mask-image:linear-gradient(#0000 0%,#000 25% 50%,#0000 62%)}.edge-blur i:nth-child(2){backdrop-filter:blur(1px);-webkit-mask-image:linear-gradient(#0000 25%,#000 50% 62%,#0000 75%);mask-image:linear-gradient(#0000 25%,#000 50% 62%,#0000 75%)}.edge-blur i:nth-child(3){backdrop-filter:blur(2px);-webkit-mask-image:linear-gradient(#0000 50%,#000 62% 75%,#0000 88%);mask-image:linear-gradient(#0000 50%,#000 62% 75%,#0000 88%)}.edge-blur i:nth-child(4){backdrop-filter:blur(4px);-webkit-mask-image:linear-gradient(#0000 62%,#000 82%);mask-image:linear-gradient(#0000 62%,#000 82%)}.sheet-open .edge-blur{display:none}@media (prefers-reduced-transparency:reduce){.edge-blur{display:none}}.sheet-open .page-glow{animation-play-state:paused}@media (prefers-reduced-transparency:reduce){.sheet-scrim{backdrop-filter:none}}@media (prefers-reduced-motion:no-preference){[data-state=open] .case__intro>*,[data-state=open] .case__layout>*{animation:blur-rise .8s var(--ease-out) both}[data-state=open] .case__intro>:first-child{animation-delay:.14s}[data-state=open] .case__intro>:nth-child(2){animation-delay:.2s}[data-state=open] .case__intro>:nth-child(3){animation-delay:.26s}[data-state=open] .case__intro>:nth-child(4){animation-delay:.3s}[data-state=open] .case__layout>:first-child{animation-delay:.38s}[data-state=open] .case__layout>:nth-child(2){animation-delay:.44s}[data-state=open] .case__layout>:nth-child(3){animation-delay:.5s}}.footer__mark{padding-bottom:var(--space-6)}.footer__mark canvas{aspect-ratio:23/9;width:min(100%,520px);display:block}.portrait{isolation:isolate;aspect-ratio:1;width:min(100%,30rem);margin:var(--space-6) 0;border-radius:var(--radius-card);background:var(--color-card);position:relative;overflow:hidden}.prose .portrait img{object-fit:cover;border-radius:0;width:100%;height:100%;margin:0;display:block}.portrait__fx{width:100%;height:100%;image-rendering:pixelated;pointer-events:none;position:absolute;inset:0}
