.homepage{position:relative;z-index:1;padding-top:0}@media(max-width:639px){.home-grain{opacity:.5}}.home-grain{top:var(--home-grain-top, 0)!important;bottom:auto!important;height:var(--home-grain-height, 100vh)!important}.home-field{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;pointer-events:none}.home-field{--field-end: 100vh;mask-image:linear-gradient(to bottom,#000 calc(var(--field-end) - 240px),transparent calc(var(--field-end) + 160px));-webkit-mask-image:linear-gradient(to bottom,#000 calc(var(--field-end) - 240px),transparent calc(var(--field-end) + 160px))}.home-hero{padding-block:var(--space-5) var(--space-7)}.home-hero__copy{text-align:center;padding-top:var(--space-4)}.home-hero__avatar{display:block;width:64px;height:64px;margin:0 auto var(--space-3);overflow:hidden;border-radius:50%;background:#eceef1;box-shadow:0 0 0 1px var(--line),0 6px 18px #00000014;transition:rotate .42s var(--ease-spring),scale .42s var(--ease-spring)}.home-hero__avatar img{display:block;width:100%;height:100%;object-fit:cover}.home-hero__avatar-dark{display:none!important}:root[data-theme=dark] .home-hero__avatar{background:#141518;box-shadow:0 0 0 1px var(--line-medium),0 6px 18px #0000004d}:root[data-theme=dark] .home-hero__avatar-light{display:none!important}:root[data-theme=dark] .home-hero__avatar-dark{display:block!important}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .home-hero__avatar-light{display:none!important}:root:not([data-theme=light]) .home-hero__avatar-dark{display:block!important}}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){.home-hero__avatar:hover{rotate:-5deg;scale:1.06}}@media(max-width:639px){.home-hero__avatar{width:56px;height:56px}}.homepage .home-hero h1{margin:0 0 var(--space-4);font:450 clamp(2.25rem,1.5rem + 3vw,3.5rem)/1.05 var(--font-sans);letter-spacing:-.035em}.homepage .home-hero__role{margin:0 0 var(--space-1);font:400 18px/1.45 var(--font-sans);letter-spacing:0}.home-hero__summary{margin:0 auto;max-width:var(--measure);font:400 17px/1.5 var(--font-sans);color:var(--ink-muted)}.home-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.home-actions>a{min-height:44px;display:inline-flex;align-items:center}.home-icon{width:18px;height:18px;flex:none}.homepage .btn{min-height:44px}.homepage .btn .home-icon{transition:transform var(--duration-fast) ease}@media(min-width:640px)and (hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){.homepage .btn:hover .home-icon{transform:translate(3px)}.homepage .home-actions .btn:hover:not(:focus-visible) .home-icon--arrow-down{transform:translateY(3px)}.home-stage:hover .home-device{translate:0 -6px}}@media(max-width:639px){body:has(.homepage) .site-header{height:0;padding:0}body:has(.homepage) .site-brand{position:fixed;top:env(safe-area-inset-top,0px);left:50%;translate:-50% 0}body:has(.homepage) .site-brand[data-tucked]:not(:focus-visible){position:fixed;opacity:0;translate:-50% -8px;pointer-events:none}}.home-work{display:grid;grid-template-columns:minmax(0,1fr);padding-top:var(--space-6)}.homepage .home-work .home-section-title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.homepage .home-projects>.home-project:first-child{border-top:0;padding-top:0}.homepage .home-projects>.home-project:last-child{border-bottom:0}.homepage .home-section-title{margin:0 0 var(--space-5);font:450 clamp(1.5rem,2.2vw,1.75rem)/1.15 var(--font-display);letter-spacing:-.02em}.homepage .home-project{grid-template-columns:minmax(0,1fr);gap:var(--space-5);padding-block:var(--space-6)}.home-project__copy{min-width:0}.home-project__eyebrow{margin:0 0 var(--space-3);color:var(--ink-muted)}.homepage .home-project .project-row__title{margin:0 0 var(--space-3);font:450 clamp(1.5rem,1.2rem + 1vw,1.75rem)/1.2 var(--font-display);letter-spacing:-.015em}.home-project .project-row__title a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none}.home-project .project-row__title a:hover{text-decoration:underline;text-underline-offset:.2em}.home-project .project-row__desc{max-width:var(--measure);font-size:17px}.home-project__meta{max-width:var(--measure);margin:var(--space-3) 0;color:var(--ink-muted)}.home-project__link{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);text-decoration:none}.home-project span.home-project__link{width:fit-content;pointer-events:none}.home-stage{min-width:0;width:100%;margin:0}.home-stage__scene{position:relative;aspect-ratio:4 / 3;overflow:hidden;-webkit-mask-image:linear-gradient(#000 52%,transparent 96%);mask-image:linear-gradient(#000 52%,transparent 96%)}.home-device{position:absolute;overflow:hidden;background:var(--surface);transition:translate var(--duration-base) var(--ease-out-quart)}.home-device:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border:1px solid color-mix(in oklch,var(--ink) 10%,transparent);border-radius:inherit;pointer-events:none}.home-device:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border:1px solid color-mix(in oklch,var(--ink) 28%,transparent);border-radius:inherit;-webkit-mask-image:radial-gradient(220px 220px at 0 0,#000,rgb(0 0 0 / .4) 35%,transparent 70%);mask-image:radial-gradient(220px 220px at 0 0,#000,rgb(0 0 0 / .4) 35%,transparent 70%);pointer-events:none}.home-device--phone{left:24%;top:7%;width:50%;aspect-ratio:600 / 1053;border-radius:32px}.home-device--browser{left:0;top:6%;width:118%;aspect-ratio:1000 / 802;border-radius:12px}.home-stage__scene:has(.home-device--browser){-webkit-mask-image:linear-gradient(#000 52%,transparent 96%),linear-gradient(to right,#000 70%,transparent 98%);-webkit-mask-composite:source-in;mask-image:linear-gradient(#000 52%,transparent 96%),linear-gradient(to right,#000 70%,transparent 98%);mask-composite:intersect}.home-device__screen{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.home-device__screen--dark{display:none}:root[data-theme=dark] .home-device__screen--light{display:none}:root[data-theme=dark] .home-device__screen--dark{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .home-device__screen--light{display:none}:root:not([data-theme=light]) .home-device__screen--dark{display:block}}.home-device--locked{background:linear-gradient(color-mix(in oklch,var(--ink) 4%,var(--surface)),var(--surface) 60%)}.home-device__label{position:absolute;left:0;right:0;top:34%;text-align:center;color:var(--ink-muted);font:400 14px/1.5 var(--font-sans)}.home-device--locked .home-device__label{top:24%}.home-device__lock{position:absolute;left:50%;top:34%;translate:-50% 0;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line-medium);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-muted)}.home-stage figcaption,.home-image figcaption{margin-top:var(--space-3);color:var(--ink-muted);font:400 14px/1.5 var(--font-sans)}.home-image{width:min(100%,220px);min-width:0;margin:0}.home-image__frame{display:grid;place-items:center;aspect-ratio:4 / 5;padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface-sunken);color:var(--ink-muted);text-align:center;font:400 14px/1.5 var(--font-sans)}.home-about{padding-block:var(--space-9)}.homepage .home-about__title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.home-about__label{margin:0;font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.home-about__line{margin:var(--space-2) 0 0;color:var(--ink);font:400 17px/1.5 var(--font-sans)}.home-contact{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:var(--space-3) 0 0 -12px;padding:0;list-style:none}.home-contact__link{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-pill);color:var(--ink-muted);transition:color var(--duration-fast) ease}.home-contact__link:hover{color:var(--ink)}.home-contact__link svg{width:20px;height:20px}html[data-nav-theme-animating][data-home-motion] body{transition:background-color var(--duration-base) var(--ease-out-quart),color var(--duration-base) var(--ease-out-quart),border-color var(--duration-base) var(--ease-out-quart)}.homepage .btn:focus-visible,.homepage .btn:focus-visible .home-icon{transform:none;transition:none}@media(min-width:960px){.homepage .home-project{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--space-8);padding-block:var(--space-6)}.homepage .home-project .project-row__desc,.home-project__meta{max-width:46ch}.home-image{width:min(100%,220px)}}.home-story__aside{display:none}@media(min-width:960px){.home-story{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--space-8)}.homepage .home-story .home-project{display:grid;grid-template-columns:minmax(0,1fr);align-content:center;min-height:72vh;padding-block:var(--space-6);border:0}.home-story .home-project>.home-stage{display:none}.home-story__aside{display:block}.home-story__sticky{position:sticky;top:max(var(--space-9),calc(50vh - 18rem))}.home-story__stage{position:relative;aspect-ratio:4 / 3}.home-story__layer{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;scale:.96;visibility:hidden;transition:opacity .5s var(--ease-out-quart),scale .5s var(--ease-out-quart),visibility 0s linear .5s}.home-story__layer[data-active]{opacity:1;scale:1;visibility:visible;transition-delay:0s}}@media(min-width:960px)and (prefers-reduced-motion:reduce){.home-story__layer{transition:none}}@media(prefers-reduced-motion:reduce){.homepage .btn,.homepage .btn .home-icon,.home-device,.home-stage__scene{transition:none}.home-device{transform:none}html[data-nav-theme-animating][data-home-motion] body{transition:none}}@keyframes intro-rise{0%{opacity:0;transform:translateY(var(--intro-rise, 10px));filter:blur(var(--intro-blur, 0px))}}@keyframes intro-fade{0%{opacity:0}}@keyframes intro-chrome{0%{opacity:0;transform:translateY(var(--intro-chrome-y, -14px)) scale(.94)}}@keyframes intro-item{0%{opacity:0;transform:translateY(4px)}}@keyframes intro-avatar{0%{opacity:0;transform:translateY(10px) scale(.6) rotate(-10deg)}}@keyframes intro-work{0%{opacity:0;transform:translateY(24px) scale(.98)}}@keyframes intro-sheen{0%{background-position:100% 0}to{background-position:0 0}}@keyframes intro-theme-hint{0%{rotate:0deg}35%{rotate:-28deg}65%{rotate:14deg}to{rotate:0deg}}@keyframes intro-theme-halo{0%{box-shadow:0 0 color-mix(in oklch,var(--ink) 18%,transparent)}to{box-shadow:0 0 0 10px transparent}}@media(prefers-reduced-motion:no-preference){:root:not([data-intro-seen]) body:has(.homepage){--t: 1ms}:root:not([data-intro-seen]) .home-grain{animation:intro-fade calc(1000 * var(--t)) ease-out backwards}:root:not([data-intro-seen]) .homepage .home-hero__avatar{animation:intro-avatar calc(900 * var(--t)) var(--ease-spring) calc(80 * var(--t)) backwards}:root:not([data-intro-seen]) .homepage .home-hero h1{--intro-rise: 16px;--intro-blur: 8px;animation:intro-rise calc(1100 * var(--t)) var(--ease-enter) calc(300 * var(--t)) backwards}:root:not([data-intro-seen]) .homepage .home-hero__role{--intro-blur: 4px;animation:intro-rise calc(850 * var(--t)) var(--ease-enter) calc(650 * var(--t)) backwards}:root:not([data-intro-seen]) .homepage .home-actions{animation:intro-rise calc(850 * var(--t)) var(--ease-enter) calc(790 * var(--t)) backwards}:root:not([data-intro-seen]) .home-field{animation:intro-fade calc(1200 * var(--t)) ease-out calc(1050 * var(--t)) backwards}:root:not([data-intro-seen]) .homepage .home-projects>.home-project:first-child .home-project__copy>*{--intro-rise: 12px;animation:intro-rise calc(800 * var(--t)) var(--ease-enter) calc((1500 + var(--n, 0) * 60) * var(--t)) backwards}:root:not([data-intro-seen]) .homepage .home-project__copy>:nth-child(2){--n: 1}:root:not([data-intro-seen]) .homepage .home-project__copy>:nth-child(3){--n: 2}:root:not([data-intro-seen]) .homepage .home-project__copy>:nth-child(4){--n: 3}:root:not([data-intro-seen]) .homepage .home-project__copy>:nth-child(5){--n: 4}:root:not([data-intro-seen]) .homepage :is(.home-story__stage,.home-projects>.home-project:first-child>.home-stage){animation:intro-work calc(1100 * var(--t)) var(--ease-enter) calc(1650 * var(--t)) backwards}:root:not([data-intro-seen]) body:has(.homepage) .nav{animation:intro-chrome calc(900 * var(--t)) var(--ease-spring) calc(2450 * var(--t)) backwards}:root:not([data-intro-seen]) body:has(.homepage) .nav>:is(.nav__link,.theme-toggle){animation:intro-item calc(550 * var(--t)) var(--ease-enter) calc((2600 + var(--n, 0) * 60) * var(--t)) backwards}:root:not([data-intro-seen]) body:has(.homepage) .nav>:nth-child(2){--n: 1}:root:not([data-intro-seen]) body:has(.homepage) .nav>:nth-child(3){--n: 2}:root:not([data-intro-seen]) body:has(.homepage) .nav:after{animation:intro-sheen calc(1200 * var(--t)) var(--ease-move) calc(2700 * var(--t)) backwards,nav-liquid-sheen 12s var(--ease-in-out) calc(3900 * var(--t)) infinite}:root:not([data-intro-seen]) body:has(.homepage) .nav>.theme-toggle{animation:intro-item calc(550 * var(--t)) var(--ease-enter) calc(2780 * var(--t)) backwards,intro-theme-halo 1s ease-out calc(3300 * var(--t)) 1}:root:not([data-intro-seen]) body:has(.homepage) .nav>.theme-toggle svg{animation:intro-theme-hint 1s var(--ease-move) calc(3250 * var(--t)) 1}}@media(prefers-reduced-motion:no-preference)and (max-width:639px){:root:not([data-intro-seen]) body:has(.homepage){--t: .8ms;--intro-chrome-y: 14px}:root:not([data-intro-seen]) .homepage .home-hero h1{--intro-rise: 10px;--intro-blur: 4px}}@keyframes ink-up{0%{opacity:.12}to{opacity:1}}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.home-project .project-row__desc,.home-about__line{view-timeline:--ink block}.ink-word{animation:ink-up linear both;animation-timeline:--ink;animation-range:cover calc(5% + var(--f) * 20%) cover calc(15% + var(--f) * 20%)}.home-about__line .ink-word{animation-range:entry calc(var(--f) * 50%) entry calc(50% + var(--f) * 50%)}.home-projects>.home-project:first-child .ink-word{animation:none}}@media(prefers-reduced-motion:no-preference)and (min-width:960px){.home-projects>.home-project:not(:first-child) .ink-word{animation-range:cover calc(10% + var(--f) * 25%) cover calc(22% + var(--f) * 25%)}}}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-latin-wght-normal.woff2) format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-latin-wght-normal.woff2) format("woff2")}@font-face{font-family:Geist Fallback;src:local("Arial");size-adjust:105.5%;ascent-override:95.3%;descent-override:28%;line-gap-override:0%}@font-face{font-family:Geist Mono Fallback;src:local("Courier New");size-adjust:100%;ascent-override:100.5%;descent-override:29.5%;line-gap-override:0%}:root{color-scheme:light dark;--ground: oklch(.99 .003 235);--surface: oklch(.998 .0008 235);--surface-raised: oklch(.999 .0004 235);--surface-sunken: oklch(.968 .005 235);--line: oklch(.915 .006 235);--line-medium: oklch(.86 .008 235);--line-strong: oklch(.63 .014 235);--ink: oklch(.2 .02 275);--ink-muted: oklch(.48 .024 275);--ink-subtle: oklch(.6 .02 275);--action: oklch(.18 .02 275);--action-hover: oklch(.3 .026 275);--on-action: oklch(.985 .004 235);--accent: oklch(.2 .02 275);--accent-tint: oklch(.925 .004 235);--positive: oklch(.46 .1 160);--negative: oklch(.49 .17 25);--info: oklch(.47 .09 250);--shadow-sm: 0 1px 2px rgba(18, 20, 38, .04);--shadow-md: 0 1px 2px rgba(18, 20, 38, .03), 0 6px 20px rgba(18, 20, 38, .05);--shadow-lg: 0 2px 4px rgba(18, 20, 38, .04), 0 14px 40px rgba(18, 20, 38, .1);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 128px;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 999px;--container-max: 1200px;--container-narrow: 720px;--measure: 68ch;--gutter: 24px;--nav-height: 64px;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-backdrop: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600;--duration-instant: .1s;--duration-fast: .16s;--duration-base: .24s;--duration-slow: .48s;--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--font-sans: "Geist", "Geist Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Geist", "Geist Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Geist Mono", "Geist Mono Fallback", ui-monospace, "SF Mono", Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground: oklch(.165 .008 265);--surface: oklch(.2 .009 265);--surface-raised: oklch(.235 .01 265);--surface-sunken: oklch(.14 .007 265);--line: oklch(.275 .01 265);--line-medium: oklch(.34 .011 265);--line-strong: oklch(.52 .012 265);--ink: oklch(.95 .006 265);--ink-muted: oklch(.74 .01 265);--ink-subtle: oklch(.62 .01 265);--action: oklch(.95 .006 265);--action-hover: oklch(.88 .008 265);--on-action: oklch(.18 .02 275);--accent: oklch(.95 .006 265);--accent-tint: oklch(.3 .008 265);--positive: oklch(.78 .12 160);--negative: oklch(.76 .14 25);--info: oklch(.78 .09 250);--shadow-sm: inset 0 1px 0 rgba(255, 255, 255, .04), 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: inset 0 1px 0 rgba(255, 255, 255, .05), 0 8px 24px rgba(0, 0, 0, .45);--shadow-lg: inset 0 1px 0 rgba(255, 255, 255, .06), 0 2px 4px rgba(0, 0, 0, .4), 0 20px 56px rgba(0, 0, 0, .6)}}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--ground: oklch(.165 .008 265);--surface: oklch(.2 .009 265);--surface-raised: oklch(.235 .01 265);--surface-sunken: oklch(.14 .007 265);--line: oklch(.275 .01 265);--line-medium: oklch(.34 .011 265);--line-strong: oklch(.52 .012 265);--ink: oklch(.95 .006 265);--ink-muted: oklch(.74 .01 265);--ink-subtle: oklch(.62 .01 265);--action: oklch(.95 .006 265);--action-hover: oklch(.88 .008 265);--on-action: oklch(.18 .02 275);--accent: oklch(.95 .006 265);--accent-tint: oklch(.3 .008 265);--positive: oklch(.78 .12 160);--negative: oklch(.76 .14 25);--info: oklch(.78 .09 250);--shadow-sm: inset 0 1px 0 rgba(255, 255, 255, .04), 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: inset 0 1px 0 rgba(255, 255, 255, .05), 0 8px 24px rgba(0, 0, 0, .45);--shadow-lg: inset 0 1px 0 rgba(255, 255, 255, .06), 0 2px 4px rgba(0, 0, 0, .4), 0 20px 56px rgba(0, 0, 0, .6)}.display-xl{font-family:var(--font-display);font-size:96px;line-height:.96;font-weight:450;letter-spacing:-.035em}.display-lg{font-family:var(--font-display);font-size:72px;line-height:.98;font-weight:450;letter-spacing:-.03em}.display-md{font-family:var(--font-display);font-size:48px;line-height:1.04;font-weight:450;letter-spacing:-.025em}.numeral{font-family:var(--font-display);font-size:72px;line-height:1;font-weight:450;letter-spacing:-.04em}.display-sm{font-family:var(--font-display);font-size:32px;line-height:1.1;font-weight:450;letter-spacing:-.02em}.title{font-family:var(--font-sans);font-size:24px;line-height:1.25;font-weight:500;letter-spacing:-.01em}.subtitle{font-family:var(--font-sans);font-size:20px;line-height:1.35;font-weight:500;letter-spacing:-.005em}.body-lg{font-family:var(--font-sans);font-size:18px;line-height:1.6;font-weight:400}.body{font-family:var(--font-sans);font-size:16px;line-height:1.6;font-weight:400}.body-sm{font-family:var(--font-sans);font-size:14px;line-height:1.5;font-weight:400}.label{font-family:var(--font-sans);font-size:13px;line-height:1.4;font-weight:500;letter-spacing:.005em}.caption{font-family:var(--font-sans);font-size:12px;line-height:1.4;font-weight:400}.meta{font-family:var(--font-mono);font-size:12px;line-height:1.4;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.code{font-family:var(--font-mono);font-size:13px;line-height:1.6;font-weight:400}html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}::selection{background:var(--accent-tint);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:40px;padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-pill);font:500 14px/1 var(--font-sans);letter-spacing:.005em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-quart),border-color var(--duration-fast) var(--ease-out-quart),color var(--duration-fast) var(--ease-out-quart),transform var(--duration-instant) var(--ease-out-quart)}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--action);color:var(--on-action)}.btn--primary:hover{background:var(--action-hover)}.btn--secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn--secondary:hover{background:var(--surface-sunken)}.btn--ghost{background:transparent;color:var(--ink-muted)}.btn--ghost:hover{background:var(--surface-sunken);color:var(--ink)}.btn--sm{height:32px;padding:0 var(--space-3);font-size:13px}.btn--lg{height:48px;padding:0 var(--space-5);font-size:15px}.btn[disabled],.btn[aria-disabled=true]{background:var(--surface-sunken);color:var(--ink-subtle);border-color:transparent;cursor:not-allowed}.btn svg{width:16px;height:16px;flex:none;transition:transform var(--duration-base) var(--ease-out-quart)}.btn:hover svg.arrow{transform:translate(3px)}.badge{display:inline-flex;align-items:center;height:22px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--action);color:var(--on-action);font:500 12px/1 var(--font-sans)}.badge--outline{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-medium)}.badge--tint{background:var(--accent-tint);color:var(--ink)}.badge--mono{font:500 12px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.seg{display:inline-flex;gap:2px;padding:4px;border-radius:var(--radius-pill);background:var(--surface-sunken)}.seg__btn{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink-subtle);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-quart),color var(--duration-fast) var(--ease-out-quart),box-shadow var(--duration-base) var(--ease-out-quart)}.seg__btn:hover{color:var(--ink)}.seg__btn[aria-pressed=true]{background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-sm)}.seg__btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.surface{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}.surface--raised{background:var(--surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-3)}.menu__item{display:flex;align-items:center;gap:var(--space-3);height:36px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--ink-muted);font:450 14px/1 var(--font-sans);text-decoration:none;transition:background-color var(--duration-fast) var(--ease-out-quart),color var(--duration-fast) var(--ease-out-quart)}.menu__item:hover{background:var(--surface-sunken);color:var(--ink)}.menu__sep{height:1px;margin:var(--space-2) 0;background:var(--line);border:0}.nav{display:flex;align-items:center;justify-content:space-between;height:var(--nav-height);padding:0 var(--gutter);background:var(--ground);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:var(--z-sticky)}.nav__brand{font:500 15px/1 var(--font-sans);letter-spacing:-.01em;color:var(--ink);text-decoration:none}.nav__links{display:flex;align-items:center;gap:var(--space-5)}.nav__link{position:relative;padding:var(--space-2) 0;font:450 14px/1 var(--font-sans);color:var(--ink-muted);text-decoration:none;transition:color var(--duration-fast) var(--ease-out-quart)}.nav__link:hover,.nav__link[aria-current=page]{color:var(--ink)}.nav__link[aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink);border-radius:1px}.link{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong);text-decoration-thickness:1px;text-underline-offset:.2em;transition:text-decoration-color var(--duration-fast) var(--ease-out-quart)}.link:hover{text-decoration-color:var(--ink)}.project-row{display:grid;grid-template-columns:96px minmax(0,1fr) 240px;gap:var(--space-5);align-items:center;padding:var(--space-5) 0;border-top:1px solid var(--line);color:inherit;text-decoration:none}.project-row:last-child{border-bottom:1px solid var(--line)}.project-row__meta{align-self:start;padding-top:var(--space-2)}.project-row__title{margin:0 0 var(--space-2);display:flex;align-items:center;gap:var(--space-3)}.project-row__desc{margin:0;max-width:52ch;color:var(--ink-muted)}.project-row__thumb{aspect-ratio:16 / 10;border-radius:var(--radius-md);background:var(--surface-sunken);overflow:hidden}.project-row__thumb>*{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--duration-slow) var(--ease-out-expo)}.project-row:hover .project-row__thumb>*{transform:scale(1.03)}.project-row .arrow{width:20px;height:20px;color:var(--ink-subtle);transition:transform var(--duration-base) var(--ease-out-quart),color var(--duration-base) var(--ease-out-quart)}.project-row:hover .arrow{transform:translate(3px,-3px);color:var(--ink)}@media(max-width:639px){:root{--gutter: 16px}}[data-js] .reveal{opacity:0;transform:translateY(8px)}[data-js] .reveal[data-in]{opacity:1;transform:none;transition:opacity var(--duration-slow) var(--ease-out-expo),transform var(--duration-slow) var(--ease-out-expo);transition-delay:calc(var(--i, 0) * 60ms)}.draw{position:relative}.draw:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line-medium)}[data-js] .draw:before{transform:scaleX(0);transform-origin:left center}[data-js] .draw[data-in]:before{transform:scaleX(1);transition:transform var(--duration-slow) var(--ease-out-expo)}.chapter__num,.insight__label,.tension__tag,.decision__idx,.challenge__label,.figure__label,.exhibit__bar,.toc__title,.quote__src,.hero__facts dt,.table th,.table caption{font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.chapter{display:grid;gap:var(--space-3);padding-top:var(--space-5)}.chapter__num{display:flex;align-items:baseline;gap:var(--space-3);margin:0;color:var(--ink-subtle)}.chapter__index{font:450 clamp(3rem,8vw,4.5rem)/1 var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.chapter__name{font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.chapter__title{margin:0;max-width:20ch;font:450 clamp(2rem,5vw,3rem)/1.04 var(--font-display);letter-spacing:-.025em;text-wrap:balance}.chapter__lede{margin:0;max-width:var(--measure);font:400 18px/1.6 var(--font-sans);color:var(--ink-muted)}.insight{padding-top:var(--space-5)}.insight__label{display:inline-flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);color:var(--ink-subtle)}.insight__label:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink-subtle)}.insight__text{margin:0;max-width:26ch;font:450 clamp(1.5rem,3.4vw,2.5rem)/1.15 var(--font-display);letter-spacing:-.02em;text-wrap:balance;color:var(--ink)}.insight__text em{font-style:normal;color:var(--ink-subtle)}.tension{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.tension__head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line)}.tension__sides{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.tension__side{padding:var(--space-5)}.tension__tag{margin:0 0 var(--space-3);color:var(--ink-subtle)}.tension__text{margin:0;font:450 clamp(1.125rem,2vw,1.375rem)/1.3 var(--font-display);letter-spacing:-.01em;text-wrap:balance}.tension__vs{position:relative;display:grid;place-items:center;padding:0 var(--space-2)}.tension__vs:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--line)}.tension__vs .badge{position:relative;background:var(--surface)}.tension__resolve{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--space-4);padding:var(--space-4) var(--space-5);border-top:1px solid var(--line);background:var(--surface-sunken)}.tension__resolve .tension__tag{margin:2px 0 0}.tension__resolve p:last-child{margin:0;font:400 16px/1.55 var(--font-sans);color:var(--ink)}@media(max-width:640px){.tension__sides{grid-template-columns:minmax(0,1fr)}.tension__vs{padding:var(--space-2) 0}.tension__vs:before{top:50%;bottom:auto;left:0;right:0;width:auto;height:1px}.tension__resolve{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}}.decision{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.decision__head{display:grid;gap:var(--space-3);justify-items:start;padding:var(--space-5)}.decision__q{margin:0;max-width:28ch;font:450 clamp(1.25rem,2.6vw,1.75rem)/1.15 var(--font-display);letter-spacing:-.015em;text-wrap:balance}.decision__opts{display:grid;grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;background:var(--line);border-block:1px solid var(--line)}.decision__opt{position:relative;padding:var(--space-5);background:var(--surface)}.decision__opt--chosen{background:color-mix(in oklch,var(--ink) 4%,var(--surface))}.decision__opt--chosen:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ink)}[data-js] .decision .decision__opt--chosen:after{transform:scaleX(0);transform-origin:left center}[data-js] .decision[data-in] .decision__opt--chosen:after{transform:scaleX(1);transition:transform var(--duration-slow) var(--ease-out-expo) .24s}.decision__idx{display:flex;align-items:center;gap:var(--space-2);min-height:22px;margin:0 0 var(--space-2);color:var(--ink-subtle)}.decision__name{margin:0 0 var(--space-2);font:500 17px/1.3 var(--font-sans);letter-spacing:-.005em}.decision__desc,.decision__why p:last-child{margin:0;font:400 15px/1.55 var(--font-sans);color:var(--ink-muted)}.decision__why{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);padding:var(--space-5)}.decision__why p:last-child{color:var(--ink)}@media(max-width:720px){.decision__opts{grid-template-columns:minmax(0,1fr)}.decision__why{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}}.challenge{display:grid;grid-template-columns:160px minmax(0,1fr);gap:var(--space-5);padding-top:var(--space-5)}.challenge__label{margin:0;padding-top:6px;color:var(--ink-subtle)}.challenge__title{margin:0 0 var(--space-3);max-width:24ch;font:450 clamp(1.5rem,3vw,2rem)/1.1 var(--font-display);letter-spacing:-.02em;text-wrap:balance}.challenge__body{margin:0;max-width:var(--measure);font:400 17px/1.6 var(--font-sans);color:var(--ink-muted)}@media(max-width:640px){.challenge{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.challenge__label{padding-top:0}}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font:400 15px/1.5 var(--font-sans)}.table caption{padding:0 0 var(--space-3);text-align:left;color:var(--ink-subtle)}.table th{padding:var(--space-3) var(--space-5);text-align:left;white-space:nowrap;color:var(--ink-subtle);background:none;border-bottom:1px solid var(--line-medium)}.table td,.table tbody th{padding:var(--space-4) var(--space-5);vertical-align:top;border-bottom:1px solid var(--line)}.table td{min-width:7rem;color:var(--ink-muted)}.table tbody th{min-width:9rem;font:500 15px/1.5 var(--font-sans);letter-spacing:0;text-transform:none;white-space:normal;color:var(--ink);background:none}.table tbody tr:last-child>*{border-bottom:0}.table tbody tr{transition:background-color var(--duration-fast) var(--ease-out-quart)}.table td.num{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}@media(max-width:640px){.table--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.table--stack,.table--stack tbody,.table--stack tr,.table--stack td,.table--stack tbody th{display:block}.table--stack tr{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line)}.table--stack tbody tr:last-child{border-bottom:0}.table--stack td,.table--stack tbody th{padding:var(--space-1) 0;border:0}.table--stack td[data-label]:before{content:attr(data-label);display:block;font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle)}.table--stack td.num{text-align:left}}.compare tbody tr:hover{background:none}.compare .is-chosen{background:color-mix(in oklch,var(--ink) 4%,var(--surface));color:var(--ink)}.compare thead .is-chosen{color:var(--ink)}.compare thead .badge{margin-left:var(--space-2);vertical-align:middle}.figures{display:grid;grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr));gap:1px;background:var(--line);border-block:1px solid var(--line)}.figure{padding:var(--space-5) var(--space-5) var(--space-5) 0;background:var(--ground)}.figure+.figure{padding-left:var(--space-5)}.figure__num{margin:0;font:450 clamp(2.5rem,6vw,4.5rem)/1 var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--ink)}.figure__label{margin:var(--space-3) 0 0;color:var(--ink-subtle)}.figure__note{margin:var(--space-2) 0 0;max-width:28ch;font:400 14px/1.5 var(--font-sans);color:var(--ink-muted)}@media(max-width:640px){.figures{grid-template-columns:minmax(0,1fr)}.figure,.figure+.figure{padding:var(--space-4) 0}}.exhibit{margin:0}.exhibit__bar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);color:var(--ink-subtle)}.exhibit__frame{position:relative;aspect-ratio:var(--ratio, 16 / 10);overflow:hidden;background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-xl)}.exhibit__frame>img,.exhibit__frame>video,.exhibit__frame>svg{display:block;width:100%;height:100%;object-fit:var(--fit, contain);object-position:center}.exhibit__frame--cover{--fit: cover}.exhibit__toggle{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink-subtle);cursor:pointer;transition:color var(--duration-fast) var(--ease-out-quart),background-color var(--duration-fast) var(--ease-out-quart)}.exhibit__toggle:hover{color:var(--ink);background:var(--surface-sunken)}.exhibit__toggle svg{width:14px;height:14px;fill:currentColor}.exhibit__toggle .i-play,.exhibit__toggle[aria-pressed=true] .i-pause{display:none}.exhibit__toggle[aria-pressed=true] .i-play{display:block}.exhibit__open{color:var(--ink-subtle);text-decoration:none}.exhibit__open:hover{color:var(--ink)}.exhibit__frame--proto{width:min(100%,var(--nw));margin-inline:auto;background:var(--surface-sunken)}.exhibit__frame--proto>iframe{position:absolute;left:0;top:0;width:var(--nw);height:var(--nh);border:0;transform:scale(var(--proto-scale, 1));transform-origin:top left}.exhibit__frame--phone{border-radius:var(--radius-xl)}.exhibit__play{position:absolute;left:var(--space-4);bottom:var(--space-4)}.exhibit figcaption{margin-top:var(--space-3);max-width:60ch;font:400 14px/1.5 var(--font-sans);color:var(--ink-muted)}.ba{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}@media(max-width:720px){.project-row{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.project-row__meta{padding-top:0}}.toc{position:sticky;top:calc(var(--nav-height) + var(--space-5));margin:0;padding:0;list-style:none}.toc__title{margin:0 0 var(--space-3);color:var(--ink-subtle)}.toc a{position:relative;display:block;padding:var(--space-2) 0 var(--space-2) var(--space-4);font:500 14px/1.3 var(--font-sans);color:var(--ink-subtle);text-decoration:none;transition:color var(--duration-fast) var(--ease-out-quart)}.toc a:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--line);transition:background-color var(--duration-fast) var(--ease-out-quart)}.toc a:hover,.toc a[aria-current=true]{color:var(--ink)}.toc a[aria-current=true]:before{width:2px;background:var(--ink)}@media(max-width:959px){.toc{position:sticky;top:var(--nav-height);z-index:calc(var(--z-sticky) - 1);display:flex;gap:var(--space-5);margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter);overflow-x:auto;background:var(--ground);border-bottom:1px solid var(--line);scrollbar-width:none}.toc::-webkit-scrollbar{display:none}.toc__title{display:none}.toc a{padding:var(--space-3) 0;white-space:nowrap}.toc a:before{left:0;right:0;top:auto;bottom:0;width:auto;height:1px}.toc a[aria-current=true]:before{width:auto;height:2px}}.quote{margin:0;display:grid;gap:var(--space-4);padding-top:var(--space-5)}.quote__text{margin:0;max-width:36ch;font:450 clamp(1.25rem,2.4vw,1.5rem)/1.4 var(--font-display);letter-spacing:-.01em;text-wrap:pretty;color:var(--ink)}.quote__src{margin:0;color:var(--ink-subtle)}.quote__src:before{content:"";display:inline-block;width:24px;height:1px;margin-right:var(--space-3);vertical-align:middle;background:var(--line-medium)}.unknown{display:grid;gap:var(--space-3);justify-items:start;padding:var(--space-5);border:1px dashed var(--line-medium);border-radius:var(--radius-lg)}.unknown__text{margin:0;max-width:52ch;font:450 19px/1.4 var(--font-display);letter-spacing:-.01em;text-wrap:balance}.unknown__next{margin:0;max-width:52ch;font:400 15px/1.55 var(--font-sans);color:var(--ink-muted)}.hero{display:grid;gap:var(--space-7);padding:var(--space-8) 0 var(--space-7)}.hero__top{display:grid;gap:var(--space-6)}.hero__kicker{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hero__title{margin:var(--space-5) 0 0;font:450 clamp(2.75rem,7vw,4.5rem)/.98 var(--font-display);letter-spacing:-.03em;text-wrap:balance}.hero__lede{margin:var(--space-5) 0 0;max-width:52ch;font:400 20px/1.4 var(--font-sans);letter-spacing:-.005em;color:var(--ink-muted);text-wrap:pretty}.hero__facts{margin:0;display:grid;align-self:end}.hero__facts>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--line)}.hero__facts dt{margin:0;padding-top:2px;color:var(--ink-subtle)}.hero__facts dd{margin:0;font:400 15px/1.5 var(--font-sans);color:var(--ink)}@media(min-width:960px){.hero__top{grid-template-columns:minmax(0,1fr) 280px;gap:var(--space-8);align-items:end}}.prose{display:grid;grid-template-columns:[full-start] minmax(var(--gutter),1fr) [wide-start] minmax(0,240px) [text-start] min(var(--container-narrow),calc(100% - 2 * var(--gutter))) [text-end] minmax(0,240px) [wide-end] minmax(var(--gutter),1fr) [full-end]}.prose>*{grid-column:text;margin:0}.prose>*+*{margin-top:var(--space-6)}.prose>.span-wide{grid-column:wide}.prose>.span-full{grid-column:full}.prose>.chapter{margin-top:var(--space-9)}.prose>p:not([class]){max-width:var(--measure);font:400 18px/1.6 var(--font-sans);color:var(--ink-muted)}html.theme-anim,html.theme-anim *,html.theme-anim *:before,html.theme-anim *:after{transition:background-color var(--duration-base) var(--ease-out-quart),color var(--duration-base) var(--ease-out-quart),border-color var(--duration-base) var(--ease-out-quart),box-shadow var(--duration-base) var(--ease-out-quart)!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}[data-js] .reveal{opacity:1;transform:none}[data-js] .draw:before,[data-js] .decision .decision__opt--chosen:after{transform:none}.btn:hover svg.arrow,.project-row:hover .arrow,.project-row:hover .project-row__thumb>*{transform:none}}.decision--prose{display:grid;gap:var(--space-3);padding:var(--space-5)}.decision--prose .decision__head,.decision--prose .decision__body{padding:0}.decision--prose .decision__body>*{margin:0}.table :is(th,td):first-child{padding-left:0}.table :is(th,td):last-child{padding-right:0}.decision--prose .decision__body{display:grid;gap:var(--space-3)}*{box-sizing:border-box}:root{--ease-enter: cubic-bezier(.23, 1, .32, 1);--ease-move: cubic-bezier(.65, 0, .35, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--ease-spring: var(--ease-enter);--press-scale: .97}@supports (transition-timing-function: linear(0,1)){:root{--ease-spring: linear(0, .02, .071, .144, .229, .319, .411, .5, .583, .659, .728, .787, .839, .882, .918, .948, .971, .989, 1.002, 1.012, 1.019, 1.023, 1.025, 1.025, 1.025, 1.024, 1.022, 1.02, 1.017, 1.015, 1.013, 1.011, 1)}}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + var(--space-5));scrollbar-gutter:stable}body{margin:0;background:var(--ground);color:var(--ink);font:400 16px/1.6 var(--font-sans)}button,input{font:inherit}a{color:inherit}button{touch-action:manipulation;min-height:40px}.btn{min-height:40px}.footer a,.media-error a{display:inline-flex;align-items:center;min-height:40px}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}img,video{max-width:100%}img,.project-row__thumb>img{object-fit:contain}.container{width:min(100% - var(--gutter) * 2,var(--container-max));margin-inline:auto}.site-header{height:calc(var(--nav-height) + var(--space-3))}.site-brand{position:fixed;top:var(--space-5);left:var(--gutter);z-index:var(--z-sticky);display:inline-flex;align-items:center;min-height:44px;font:500 15px/1 var(--font-sans);letter-spacing:-.01em;color:var(--ink);text-decoration:none;white-space:nowrap}.site-brand{transition:opacity var(--duration-base) var(--ease-out-quart),translate var(--duration-base) var(--ease-out-quart)}.site-brand[data-tucked]:not(:focus-visible){opacity:0;translate:0 -8px;pointer-events:none;transition-duration:var(--duration-fast);transition-timing-function:ease-out}@media(prefers-reduced-motion:reduce){.site-brand,.site-brand[data-tucked]{transition:none}}.nav{position:fixed;top:var(--space-3);left:50%;translate:-50% 0;width:max-content;height:auto;margin:0;padding:var(--space-1);gap:0;justify-content:center;border:1px solid var(--line);border-radius:var(--radius-pill);--nav-tone: oklch(.93 0 0);--nav-highlight: oklch(0 0 0 / .07);background:color-mix(in oklch,var(--nav-tone) 60%,var(--ground))}:root[data-theme=dark] .nav{--nav-tone: oklch(.29 0 0);--nav-highlight: oklch(1 0 0 / .1)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .nav{--nav-tone: oklch(.29 0 0);--nav-highlight: oklch(1 0 0 / .1)}}.nav__filter{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.nav{background:color-mix(in oklch,var(--nav-tone) 60%,transparent);border-color:color-mix(in oklch,var(--line-medium) 26%,transparent);box-shadow:0 4px 16px #0000000d;backdrop-filter:blur(5px) saturate(140%);-webkit-backdrop-filter:blur(5px) saturate(140%)}:root[data-theme=dark] .nav{box-shadow:0 4px 16px #00000029}.nav:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:inherit;background:linear-gradient(105deg,transparent 32%,color-mix(in oklch,var(--ink) 8%,transparent) 50%,transparent 68%);background-size:240% 100%;animation:nav-liquid-sheen 12s var(--ease-in-out) infinite;pointer-events:none}}@supports (backdrop-filter: url(#nav-liquid)){.nav{-webkit-backdrop-filter:url(#nav-liquid) blur(5px) saturate(140%);backdrop-filter:url(#nav-liquid) blur(5px) saturate(140%)}}@supports (-webkit-backdrop-filter: url(#nav-liquid)){.nav{-webkit-backdrop-filter:url(#nav-liquid) blur(5px) saturate(140%)}}@keyframes nav-liquid-sheen{0%,55%{background-position:100% 0}85%,to{background-position:0 0}}@media(prefers-reduced-motion:reduce){.nav{backdrop-filter:blur(5px) saturate(140%);-webkit-backdrop-filter:blur(5px) saturate(140%)}.nav:after{animation:none}.nav__filter{display:none}}@media(prefers-reduced-transparency:reduce){.nav{background:color-mix(in oklch,var(--nav-tone) 60%,var(--ground));backdrop-filter:none;-webkit-backdrop-filter:none}.nav:after{display:none}.nav__filter{display:none}}.nav__link{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:44px;min-height:44px;padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink);font:450 14px/1 var(--font-sans);white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) ease,scale .26s var(--ease-spring)}.nav__link:hover:not(:disabled),.nav__link[aria-expanded=true]{background:var(--nav-highlight);color:var(--ink)}.nav__resume:disabled{color:var(--ink-muted);cursor:default}.theme-toggle{position:relative;z-index:1;display:inline-grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink-muted);cursor:pointer;transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease,scale .26s var(--ease-spring)}.theme-toggle:hover{background:var(--nav-highlight);color:var(--ink)}.theme-toggle>span{grid-area:1 / 1;display:grid;place-items:center}.theme-toggle svg{width:16px;height:16px}.theme-toggle>span{transition:transform .42s var(--ease-spring),opacity var(--duration-fast) ease,filter var(--duration-fast) ease}.theme-toggle[data-mode=light] .theme-toggle__sun,.theme-toggle[data-mode=dark] .theme-toggle__moon{opacity:0;transform:rotate(-90deg) scale(.5);filter:blur(2px)}.theme-toggle[data-mode=dark] .theme-toggle__sun{transform:rotate(0)}html[data-nav-theme-animating] .nav{transition:background-color var(--duration-base) var(--ease-out-quart),color var(--duration-base) var(--ease-out-quart),border-color var(--duration-base) var(--ease-out-quart)}.theme-toggle:focus-visible>span{transition:none}@media(prefers-reduced-motion:reduce){.theme-toggle>span,html[data-nav-theme-animating] .nav{transition:none}.theme-toggle[data-mode]>span{transform:none;filter:none}}.btn{transition:background-color var(--duration-fast) var(--ease-out-quart),border-color var(--duration-fast) var(--ease-out-quart),color var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-enter),scale .26s var(--ease-spring)}.btn:active,.nav__link:active:not(:disabled),.theme-toggle:active{transform:none;scale:var(--press-scale)}.btn:active{transition-duration:var(--duration-fast),var(--duration-fast),var(--duration-fast),var(--duration-fast),.1s;transition-timing-function:var(--ease-out-quart),var(--ease-out-quart),var(--ease-out-quart),var(--ease-enter),ease-out}.nav__link:active:not(:disabled){transition-duration:var(--duration-fast),.1s;transition-timing-function:ease,ease-out}.theme-toggle:active{transition-duration:var(--duration-fast),var(--duration-fast),.1s;transition-timing-function:ease,ease,ease-out}@media(prefers-reduced-motion:reduce){.btn:active,.nav__link:active,.theme-toggle:active{scale:none}}.nav__glide{position:absolute;top:0;left:0;z-index:0;width:var(--glide-w, 0);height:var(--glide-h, 44px);translate:var(--glide-x, 0) var(--glide-y, 0);border-radius:var(--radius-pill);background:var(--nav-highlight);opacity:0;pointer-events:none;transition:translate .28s var(--ease-enter),width .28s var(--ease-enter),opacity var(--duration-fast) ease}.nav__glide[data-on]{opacity:1}.nav__glide[data-snap]{transition:opacity var(--duration-fast) ease}@media(hover:hover)and (pointer:fine){.nav:has(.nav__glide[data-on]) :is(.nav__link,.theme-toggle):hover:not([aria-expanded=true]){background:transparent}.nav:has(.nav__glide[data-on]) .theme-toggle:hover{color:var(--ink)}}@media(hover:none),(pointer:coarse){.nav__glide{display:none}}@media(prefers-reduced-motion:reduce){.nav__glide{transition:opacity var(--duration-fast) ease}}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){z-index:1}.seg__btn{width:40px;height:40px}h1{font:450 clamp(3.5rem,9vw,6rem)/.98 var(--font-display);letter-spacing:-.035em;margin:0 0 var(--space-5)}.hero-lede{font:400 20px/1.5 var(--font-sans);max-width:var(--measure);color:var(--ink-muted)}.case-study .hero{padding-top:var(--space-8)}.launch-status{max-width:var(--measure);color:var(--ink-subtle);font-size:14px;margin-block:var(--space-5)}.draft-note{padding-block:var(--space-5);margin-block:var(--space-6) var(--space-7);border-block:1px solid var(--line);font-size:14px;color:var(--ink-muted)}.draft-note p{max-width:var(--measure);margin:var(--space-1) 0 0}.reading-layout{width:min(100% - var(--gutter) * 2,calc(var(--container-max) + 240px + var(--space-8)));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-7)}.contents{min-width:0;position:sticky;top:calc(var(--nav-height) + var(--space-5));align-self:start;z-index:var(--z-sticky);background:var(--ground)}.contents .toc{position:static;list-style:none}.toc a{min-height:40px;display:flex;gap:var(--space-2);align-items:center}.toc a[aria-current=location]{color:var(--ink)}.toc a[aria-current=location]:before{width:2px;background:var(--ink)}.prose{min-width:0;max-width:var(--container-max);grid-template-columns:[wide-start full-start] minmax(0,1fr) [text-start] min(var(--container-narrow),100%) [text-end] minmax(0,1fr) [wide-end full-end];overflow-wrap:anywhere;font-size:18px}.prose>*{min-width:0}.prose h2:not(.chapter__title){font:450 clamp(1.5rem,3vw,2rem)/1.12 var(--font-display);letter-spacing:-.02em}.prose>h3{font:450 clamp(1.5rem,3vw,2rem)/1.12 var(--font-display);letter-spacing:-.02em}.prose h3,.prose h4{font:450 24px/1.2 var(--font-display);letter-spacing:-.015em}.prose .minor-heading,.prose h5{font:450 20px/1.3 var(--font-sans)}.prose h2:not(.chapter__title),.prose h3,.prose h4,.prose h5{margin-top:var(--space-7);margin-bottom:0}.prose>.chapter+h2,.prose>.chapter+h3{margin-top:var(--space-5)}.prose .chapter{padding-top:var(--space-5)}.prose .chapter__title{font-size:clamp(2rem,5vw,3rem);margin:0}.prose p{margin-block:0 var(--space-4);max-width:var(--measure)}.prose>p{margin-bottom:0}.prose strong{font-weight:500}.prose ul,.prose ol{padding-left:var(--space-5)}.prose li{margin-block:var(--space-2)}.prose hr{border:0;border-top:1px solid var(--line);width:100%}.callout{border-block:1px solid var(--line);padding-block:var(--space-4)}.callout p:last-child{margin-bottom:0}details{margin-block:var(--space-5);border-bottom:1px solid var(--line);padding-bottom:var(--space-4)}summary{cursor:pointer;min-height:40px;padding-block:var(--space-2)}details>:not(summary){margin-top:var(--space-4)}.source-columns{display:grid;gap:var(--space-5)}.challenge h3,.challenge h4,.challenge h5{margin:0 0 var(--space-4)}.decision__head h2,.decision__head h3,.decision__head h4,.decision__head h5{margin:0;font:450 24px/1.2 var(--font-display)}.decision__body{padding:var(--space-5)}.decision__body .callout{border:0;padding:0}.insight__text p{font:inherit;line-height:1.3;max-width:32ch}.insight__text p:last-child{margin-bottom:0}.quote ul{list-style:none;padding-left:0}.quote__text li{margin-bottom:var(--space-4)}.figures{grid-template-columns:repeat(3,minmax(0,1fr))}.figure{min-width:0}.figure p{font:450 20px/1.4 var(--font-display)}.table-wrap{max-width:100%;overflow:auto;scrollbar-color:var(--line-medium) var(--surface-sunken)}.table{width:100%;min-width:calc(160px * var(--table-columns, 1))}.table th{white-space:normal}.table .table__first-column{width:160px}.compare{table-layout:fixed}.table td,.table th{min-width:160px;overflow-wrap:normal;word-break:normal}.table p{font:inherit;margin:0}.exhibit{min-width:0}.exhibit--portrait{width:100%;max-width:390px;justify-self:center;margin-inline:auto}.exhibit__frame{aspect-ratio:auto}.exhibit__frame .image-link{height:100%}.exhibit__frame img{display:block;width:100%;height:100%;object-fit:contain}.exhibit__frame video{display:block;width:100%;height:100%;object-fit:contain}.exhibit__toggle{width:40px;height:40px;flex:0 0 auto;border:1px solid var(--line-strong)}.exhibit figcaption{font-size:14px}.image-link{display:block}.prototype-tools{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;margin-bottom:var(--space-3)}.prototype-tools p{margin:0;max-width:var(--measure)}.prototype-frame{max-width:100%}.prototype-frame iframe{display:block;width:100%;height:100%;border:0}.prototype-frame--native iframe{width:var(--nw);height:var(--nh);max-width:none;transform:scale(var(--proto-scale));transform-origin:top left}.prototype-frame--actual{overflow:auto;max-height:75dvh}.prototype-frame--actual iframe{transform:none}.media-error{font-size:14px;color:var(--ink)}.footer{display:flex;flex-wrap:wrap;gap:var(--space-5);justify-content:space-between;margin-top:var(--space-9);padding-block:var(--space-6);border-top:1px solid var(--line);font-size:14px}.skip-link{position:fixed;top:var(--space-3);left:var(--space-3);z-index:var(--z-tooltip);background:var(--action);color:var(--on-action);padding:var(--space-3);transform:translateY(-200%);border-radius:var(--radius-sm)}.skip-link:focus{transform:none}.reference{padding-block:var(--space-8)}.reference h2{margin-top:var(--space-7);font:450 32px/1.1 var(--font-display)}.reference .surface{max-width:var(--container-narrow)}.component-row{display:flex;gap:var(--space-3);flex-wrap:wrap}.reference .prose{margin-top:var(--space-8)}.work-list{margin-top:var(--space-6)}.work-entry{display:block;padding-block:var(--space-6);border-top:1px solid var(--line);color:inherit;text-decoration:none}.work-entry:last-child{border-bottom:1px solid var(--line)}.work-entry h2{margin:0 0 var(--space-4)}.work-entry p{max-width:65ch}.work-entry:hover h2{text-decoration:underline;text-underline-offset:.2em}@media(min-width:960px){.reading-layout{grid-template-columns:240px minmax(0,1fr);gap:var(--space-8)}.contents{top:calc(var(--nav-height) + var(--space-5))}.toc{max-height:calc(100dvh - var(--nav-height) - var(--space-8));overflow-y:auto;scrollbar-width:none}.toc::-webkit-scrollbar{display:none}}@media(max-width:959px){html{scroll-padding-top:calc(var(--nav-height) + var(--space-8))}.contents .toc{margin-block:0}.toc a[aria-current=location]:before{width:auto;height:2px}.ba{grid-template-columns:minmax(0,1fr)}}@media(max-width:639px){body{padding-bottom:calc(var(--nav-height) + var(--space-6) + env(safe-area-inset-bottom,0px))}html{scroll-padding-top:var(--space-8)}.site-header{display:flex;align-items:center;height:var(--nav-height);padding-inline:var(--gutter)}.site-brand,.site-brand[data-tucked]:not(:focus-visible){position:static;opacity:1;translate:none;pointer-events:auto}.nav{top:auto;bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));width:min(270px,calc(100% - var(--gutter) * 2));justify-content:space-between}.nav__link{padding-inline:var(--space-2)}.contents{top:0}}@media(max-width:639px){.hero-lede{font-size:18px}.prose{font-size:16px}.prose>p:not([class]){font-size:16px}.badge{font-size:12px;min-height:24px}.figures{grid-template-columns:minmax(0,1fr)}.table--stack{min-width:0}.table--stack colgroup{display:none}.table--stack td,.table--stack th{min-width:0;overflow-wrap:anywhere}.table--stack tbody th{font:500 16px/1.5 var(--font-sans)}.table--stack tr{background:var(--ground)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}h2,h3,h4,h5,h6{font-weight:450}strong,b{font-weight:500}.quote__text{font-weight:450}.prose :is(.insight__text,.figure,.quote__text,.unknown__text,.tension__text) :is(strong,b){font-weight:inherit}.contact-dialog{position:fixed;inset:auto;top:var(--contact-top);right:var(--contact-right);width:min(440px,calc(100% - var(--gutter) * 2));max-width:none;max-height:calc(100dvh - var(--contact-top) - var(--space-4));margin:0;padding:var(--space-4);overflow-y:auto;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);opacity:0;transform:translateY(-6px) scale(.98);transform-origin:calc(100% - var(--contact-origin-right, 0px)) top;transition:opacity .14s ease-out,transform .14s var(--ease-enter)}.contact-dialog::backdrop{background:transparent;opacity:0;transition:opacity var(--duration-fast) var(--ease-out-quart)}.contact-dialog[data-open],.contact-dialog[data-open]::backdrop{opacity:1}.contact-dialog[data-open]{transform:none}.contact-dialog[data-open]{transition-duration:.2s}.contact-row{transition:opacity .26s var(--ease-enter),translate .32s var(--ease-enter)}.contact-dialog:not([data-open]) .contact-row{opacity:0;translate:0 6px;transition-duration:0s}.contact-dialog[data-open] .contact-row:nth-child(2){transition-delay:30ms}.contact-dialog[data-open] .contact-row:nth-child(3){transition-delay:60ms}.contact-dialog[data-open] .contact-row:nth-child(4){transition-delay:90ms}.contact-dialog[data-instant] .contact-row{transition:none}.contact-cta__label{display:inline-flex;align-items:center;gap:var(--space-1);animation:cta-swap .22s var(--ease-enter)}@keyframes cta-swap{0%{opacity:0;scale:.85;filter:blur(2px)}}.contact-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);min-height:72px;padding-block:var(--space-3)}.contact-row+.contact-row{border-top:1px solid var(--line)}.contact-row__icon{display:grid;place-items:center;width:24px;height:24px;color:var(--ink-muted)}.contact-row__icon svg{width:20px;height:20px}.contact-row__text{display:grid;gap:var(--space-1);min-width:0;font:400 15px/1.4 var(--font-sans);overflow-wrap:anywhere}.contact-row__label{font:400 12px/1.4 var(--font-sans);color:var(--ink-muted)}.contact-email{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:underline;text-underline-offset:.2em;-webkit-user-select:text;user-select:text}.contact-row__cta{min-height:44px;height:auto;padding:var(--space-2) var(--space-3);border-color:var(--line)}.contact-row__cta:hover{border-color:var(--line-medium)}.contact-row__cta svg{width:14px;height:14px}.contact-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.contact-dialog[data-instant],.contact-dialog[data-instant]::backdrop{transition:none}.contact-scrim{display:none}@media(max-width:767px){.contact-dialog{top:auto;right:var(--gutter);bottom:var(--contact-bottom, 88px);left:var(--gutter);z-index:var(--z-modal);width:auto;max-height:calc(100dvh - var(--contact-bottom, 88px) - var(--space-4));padding:var(--space-5) var(--space-4) var(--space-2);border-radius:var(--radius-xl);touch-action:none;transform:translateY(12px) scale(.88);transform-origin:var(--contact-origin-x, 50%) 100%;transition:opacity .16s ease-in,transform .22s var(--ease-move),translate .38s var(--ease-spring)}.contact-dialog[data-open]{transition:opacity .18s ease-out,transform .56s var(--ease-spring),translate .38s var(--ease-spring)}.contact-dialog:before{content:"";position:absolute;top:var(--space-2);left:50%;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:color-mix(in oklch,var(--ink) 18%,transparent)}.contact-dialog[data-dragging]{transition:none}.contact-dialog[data-swipe]:not([data-open]){transform:none;transition:opacity .2s ease-in 60ms,translate .26s var(--ease-enter)}.contact-row{gap:var(--space-2)}.contact-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-backdrop);background:color-mix(in oklch,var(--ink) 22%,transparent);opacity:0;pointer-events:none;transition:opacity .2s ease-out}:root[data-theme=dark] .contact-scrim{background:color-mix(in oklch,var(--ground) 50%,transparent)}.contact-dialog[data-open]~.contact-scrim{opacity:1;pointer-events:auto;transition-duration:.32s}body:has(.contact-dialog[open]) .nav{z-index:calc(var(--z-modal) + 1)}}@media(prefers-reduced-motion:reduce){.contact-dialog,.contact-dialog::backdrop,.contact-row,.contact-scrim{transition:none}.contact-dialog:not([data-open]) .contact-row{opacity:1;translate:none}.contact-cta__label{animation:none}}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.contact-dialog{background:color-mix(in oklch,var(--surface) 66%,transparent);border-color:color-mix(in oklch,var(--line-medium) 42%,transparent);box-shadow:0 12px 30px #00000024;backdrop-filter:blur(8px) saturate(135%);-webkit-backdrop-filter:blur(8px) saturate(135%)}:root[data-theme=dark] .contact-dialog{box-shadow:0 12px 30px #00000047}.contact-row__cta{background:color-mix(in oklch,var(--surface-raised) 55%,transparent);border-color:color-mix(in oklch,var(--line-medium) 38%,transparent);box-shadow:none}.contact-row__cta:hover{background:color-mix(in oklch,var(--surface-raised) 74%,transparent);border-color:color-mix(in oklch,var(--line-medium) 58%,transparent)}}@supports (backdrop-filter: url(#nav-liquid)){.contact-dialog{-webkit-backdrop-filter:url(#nav-liquid) blur(8px) saturate(135%);backdrop-filter:url(#nav-liquid) blur(8px) saturate(135%)}}@supports (-webkit-backdrop-filter: url(#nav-liquid)){.contact-dialog{-webkit-backdrop-filter:url(#nav-liquid) blur(8px) saturate(135%)}}@media(prefers-reduced-motion:reduce){.contact-dialog{backdrop-filter:blur(8px) saturate(135%);-webkit-backdrop-filter:blur(8px) saturate(135%)}}@media(prefers-reduced-transparency:reduce){.contact-dialog{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}.contact-row__cta{background:var(--surface)}}html[data-embed]{overflow:hidden;scrollbar-gutter:auto}.embed-page{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--ground)}.embed-page__title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.embed-page__frame{display:block;width:100%;height:100%;border:0;background:transparent;opacity:0;transition:opacity var(--duration-base) var(--ease-out-quart)}.embed-page__frame[data-loaded]{opacity:1}.embed-page__status{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:var(--space-3);padding:var(--gutter);text-align:center;color:var(--ink-muted)}.embed-page__status p{margin:0}.embed-page__spinner{width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--ink-muted);border-radius:50%;animation:embed-spin .9s linear infinite}@keyframes embed-spin{to{rotate:1turn}}html[data-embed] .site-header{height:0;padding:0}html[data-embed] .site-brand,html[data-embed] .site-brand[data-tucked]:not(:focus-visible){position:fixed;top:var(--space-3);left:var(--gutter);min-height:var(--embed-chip-height, 54px);padding-inline:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);opacity:1;translate:none;pointer-events:auto}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){html[data-embed] .nav,html[data-embed] .site-brand{background:color-mix(in oklch,var(--surface) 80%,transparent);border-color:color-mix(in oklch,var(--line-medium) 40%,transparent);box-shadow:0 4px 16px #0000001a}html[data-embed] .site-brand{backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%)}}@media(max-width:639px){html[data-embed] .site-brand{top:calc(var(--space-3) + env(safe-area-inset-top,0px));min-height:44px}}@media(prefers-reduced-motion:reduce){.embed-page__spinner{animation-duration:2.4s}.embed-page__frame{transition:none}}@media(prefers-reduced-transparency:reduce){html[data-embed] .site-brand{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}}.veil{display:none}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.veil{display:block;position:fixed;left:0;right:0;z-index:calc(var(--z-sticky) - 2);pointer-events:none;opacity:0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:translateZ(0);transition:opacity var(--duration-base) var(--ease-out-quart)}.veil[data-on]{opacity:1}.veil--top{top:0;height:64px;mask-image:linear-gradient(#000 40%,transparent);-webkit-mask-image:linear-gradient(#000 40%,transparent)}.veil--bottom{bottom:0;height:72px;mask-image:linear-gradient(to top,#000 40%,transparent);-webkit-mask-image:linear-gradient(to top,#000 40%,transparent)}@media(max-width:639px){.veil--top{height:44px}.veil--bottom{height:calc(96px + env(safe-area-inset-bottom,0px))}}}@media(prefers-reduced-motion:reduce){.veil{transition:none}}@media(prefers-reduced-transparency:reduce),print{.veil{display:none!important}}:is(.homepage .btn,.btn--glass){position:relative}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:is(.homepage .btn,.btn--glass){background:color-mix(in oklch,var(--surface) 48%,transparent);border-color:color-mix(in oklch,var(--line-medium) 42%,transparent);box-shadow:0 4px 12px #00000014;backdrop-filter:blur(5px) saturate(140%);-webkit-backdrop-filter:blur(5px) saturate(140%)}:root[data-theme=dark] :is(.homepage .btn,.btn--glass){box-shadow:0 4px 12px #00000029}:is(.homepage .btn,.btn--glass):hover{background:color-mix(in oklch,var(--surface) 64%,transparent)}}@supports (backdrop-filter: url(#nav-liquid)){:is(.homepage .btn,.btn--glass){-webkit-backdrop-filter:url(#nav-liquid) blur(5px) saturate(140%);backdrop-filter:url(#nav-liquid) blur(5px) saturate(140%)}}@supports (-webkit-backdrop-filter: url(#nav-liquid)){:is(.homepage .btn,.btn--glass){-webkit-backdrop-filter:url(#nav-liquid) blur(5px) saturate(140%)}}@media(prefers-reduced-motion:reduce){:is(.homepage .btn,.btn--glass){backdrop-filter:blur(5px) saturate(140%);-webkit-backdrop-filter:blur(5px) saturate(140%)}}@media(prefers-reduced-transparency:reduce){:is(.homepage .btn,.btn--glass){background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}}.case-study .prose{display:grid;row-gap:var(--space-4)}.case-study .prose :where(p,h2,h3,h4,h5,ul,ol,li,blockquote,figure,details){margin:0}.case-study .prose>*{margin:0}.case-study .prose>:is(.decision,.tension,.insight,.challenge,.figures,.exhibit,.ba,.table-wrap,.unknown,.quote,.callout,details,figure){margin-block:var(--space-4)}.case-study .prose>:is(h2,h3,h4,h5){margin-top:var(--space-6);margin-bottom:calc(-1 * var(--space-1))}.case-study .prose>.chapter{margin-top:var(--space-8)}.case-study .prose>hr{height:1px;border:0;background:var(--line);margin-block:var(--space-4)}.case-study .prose>hr:has(+.chapter),.case-study .prose>hr:has(+hr){display:none}.case-study .prose :is(ul,ol){display:grid;gap:var(--space-3)}.case-study .prose details{display:block}.case-study .prose details[open]{display:grid;gap:var(--space-3)}.case-study .prose details>*{margin:0}.case-study .prose details>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:44px;list-style:none;cursor:pointer;font:450 17px/1.4 var(--font-display);letter-spacing:-.01em;color:var(--ink)}.case-study .prose details>summary::-webkit-details-marker{display:none}.case-study .prose details>summary:after{content:"";flex:none;width:12px;height:12px;background:linear-gradient(currentColor,currentColor) center / 12px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center / 1.5px 12px no-repeat;color:var(--ink-subtle);transition:transform var(--duration-fast) var(--ease-out-quart)}.case-study .prose details[open]>summary:after{background:linear-gradient(currentColor,currentColor) center / 12px 1.5px no-repeat;transform:rotate(180deg)}.case-study .prose details>summary:hover:after{color:var(--ink)}.case-study .prose details>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){.case-study .prose details>summary:after{transition:none}}.case-study :is(.decision--prose,.callout){display:grid;gap:var(--space-3);padding:var(--space-5)}.case-study .decision--prose :is(.decision__head,.decision__body){padding:0;display:grid;gap:var(--space-3)}.case-study .decision__body .callout{padding:0;border:0}.case-study :is(.insight,.insight__text,.challenge__body,.challenge>.reveal,.unknown__text,.quote__text,.figure){display:grid;gap:var(--space-3)}.case-study .challenge__label{padding-top:0}.case-study .tension{display:grid;gap:var(--space-3);padding:var(--space-5)}.case-study :is(.tension__head,.tension__side){padding:0}.case-study .tension__head{border:0}.case-study .tension__side{display:grid;align-content:start;gap:var(--space-3)}.case-study .table-wrap{width:fit-content;max-width:100%}.case-study .table{min-width:calc(9rem + (var(--table-columns, 1) - 1) * 7rem);table-layout:fixed}.case-study .table :is(th,td){min-width:7rem;overflow-wrap:anywhere;white-space:normal}.case-study .table :is(th,td):first-child{min-width:9rem}.case-study .table .table__first-column{width:9rem}@media(max-width:640px){.case-study .table--stack{min-width:0}.case-study .table--stack :is(th,td){min-width:0}}.case-study .table-wrap--narrow{max-width:min(100%,var(--measure))}body:has(.case-study) .nav__link{min-width:40px}.cs-progress{position:fixed;inset:0 0 auto;z-index:calc(var(--z-sticky) + 2);height:2px;background:var(--ink);transform:scaleX(var(--progress, 0));transform-origin:left center;pointer-events:none}.case-study .cs-hero{padding-top:clamp(var(--space-6),9vw,var(--space-10))}.cs-hero__head{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5)}.cs-hero__eyebrow{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle)}.case-study .cs-hero__title{margin:0;font:450 clamp(3.25rem,1.4rem + 7.4vw,6rem)/.92 var(--font-display);letter-spacing:-.045em;text-wrap:balance;color:var(--ink)}.cs-hero__lede{margin:0;max-width:34ch;font:400 clamp(1.1875rem,1rem + .7vw,1.5rem)/1.4 var(--font-sans);letter-spacing:-.01em;color:var(--ink-muted);text-wrap:pretty}.cs-hero__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-5);margin:0}.cs-hero__facts>div{display:grid;gap:var(--space-1);padding:var(--space-3) 0;border-top:1px solid var(--line)}.cs-hero__facts dt{font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle)}.cs-hero__facts dd{margin:0;font:400 16px/1.45 var(--font-sans);color:var(--ink)}.cs-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5)}.cs-hero__actions .btn{min-height:44px;padding-inline:var(--space-5)}.cs-hero__actions .arrow{transition:transform var(--duration-fast) var(--ease-out-quart)}.cs-hero__status{margin:0;font:400 14px/1.5 var(--font-sans);color:var(--ink-subtle)}@media(hover:hover)and (pointer:fine){.cs-hero__actions .btn:hover .arrow{transform:translateY(2px)}}@media(min-width:960px){.cs-hero__head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:var(--space-8);row-gap:var(--space-6);align-items:end}.cs-hero__eyebrow,.case-study .cs-hero__title{grid-column:1 / -1}.cs-hero__lede{grid-column:1}.cs-hero__facts{grid-column:2;grid-row:3 / span 2;align-self:end}.cs-hero__actions{grid-column:1}}.cs-cover{width:min(100% - var(--gutter) * 2,1440px);margin:clamp(var(--space-7),6vw,var(--space-9)) auto 0;overflow:hidden;border:1px solid var(--line);border-radius:clamp(var(--radius-lg),2vw,var(--radius-xl));background:var(--surface-sunken);aspect-ratio:1672 / 941}.cs-cover img{display:block;width:100%;height:100%;object-fit:cover}.cs-cover--plain{width:min(100% - var(--gutter) * 2,600px);border:0;border-radius:0;background:none;aspect-ratio:auto}.cs-cover--plain img{height:auto;object-fit:contain}.case-study--media-text .prose>.span-wide,.case-study.case-study--media-text .prose>.source-columns[data-cols]:not([data-cols="1"]){grid-column:text}.cs-hero--final{padding-bottom:clamp(var(--space-7),7vw,var(--space-9))}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.cs-cover img{animation:cs-cover-settle linear both;animation-timeline:view();animation-range:entry 0% cover 50%}@keyframes cs-cover-settle{0%{transform:scale(1.08)}to{transform:scale(1)}}}}.cs-draft{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);align-items:baseline;margin-block:var(--space-6) clamp(var(--space-7),7vw,var(--space-9));font:400 13px/1.5 var(--font-sans);color:var(--ink-subtle)}.cs-draft strong{font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.cs-draft p{margin:0;max-width:var(--measure)}.case-study .prose>.cs-brief{display:grid;grid-template-columns:minmax(0,1fr);margin-block:var(--space-2) 0;border-top:1px solid var(--line)}.cs-brief__item{display:grid;gap:var(--space-1);padding:var(--space-4) 0;border-bottom:1px solid var(--line)}.cs-brief dt{font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle)}.cs-brief dd{margin:0;font:400 16px/1.55 var(--font-sans);color:var(--ink-muted)}.cs-brief dd strong{color:var(--ink)}@media(min-width:720px){.cs-brief__item{grid-template-columns:9rem minmax(0,1fr);gap:var(--space-5)}.cs-brief dt{padding-top:3px}}.case-study .cs-lead p{max-width:40ch;font:450 clamp(1.25rem,1rem + 1vw,1.75rem)/1.35 var(--font-display);letter-spacing:-.015em;color:var(--ink);text-wrap:pretty}.case-study .cs-lead strong{color:var(--ink-subtle);font-weight:inherit}.case-study .prose>.cs-chapter{grid-column:wide;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);margin-top:clamp(var(--space-9),12vw,var(--space-10));padding-top:var(--space-6);border-top:1px solid var(--line-medium)}.cs-chapter__index{font:450 clamp(4rem,2rem + 8vw,8rem)/.8 var(--font-display);letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:var(--ink-subtle)}.cs-chapter__body{display:grid;gap:var(--space-4);min-width:0}.cs-chapter__meta,.cs-kicker{margin:0;font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle)}.case-study .prose>.cs-kicker{margin-top:var(--space-7)}.case-study .prose>.cs-kicker+:is(h2,h3){margin-top:var(--space-2)}.case-study .prose .cs-chapter .chapter__title{max-width:14ch;font:450 clamp(2.5rem,1.5rem + 4vw,4.25rem)/.98 var(--font-display);letter-spacing:-.04em;color:var(--ink)}.cs-chapter__topics ol{display:grid;gap:0;margin:var(--space-3) 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.cs-chapter__topics li{margin:0;border-bottom:1px solid var(--line)}.cs-chapter__topics a{display:flex;gap:var(--space-3);align-items:baseline;min-height:44px;padding:var(--space-3) 0;font:400 15px/1.4 var(--font-sans);color:var(--ink-muted);text-decoration:none;transition:color var(--duration-fast) var(--ease-out-quart)}.cs-chapter__topics a:hover{color:var(--ink)}.cs-chapter__topic-num{flex:0 0 2.5rem;font:500 12px/1.4 var(--font-mono);letter-spacing:.04em;color:var(--ink-subtle);font-variant-numeric:tabular-nums}.case-study .prose>.cs-chapter+:is(h2,h3){margin-top:var(--space-8)}@media(min-width:720px){.case-study .prose>.cs-chapter{grid-template-columns:9rem minmax(0,1fr);gap:var(--space-6)}.cs-chapter__topics ol[data-long]{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-6)}}@media(min-width:1100px){.case-study .prose>.cs-chapter{grid-template-columns:12rem minmax(0,1fr)}}.case-study .prose>.callout{margin-block:var(--space-5)}.case-study .callout{display:grid;gap:var(--space-3);padding:var(--space-1) 0 var(--space-1) var(--space-5);border:0;border-left:2px solid var(--line-medium);border-radius:0;background:none}.case-study .callout>*{margin:0}.case-study .callout p{font:400 16px/1.6 var(--font-sans);color:var(--ink-muted)}.case-study .callout strong{color:var(--ink)}.callout__label{display:inline-flex;align-items:center;gap:var(--space-2);font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle)}.callout__label:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.case-study :is(.callout--decision,.decision--prose){gap:var(--space-4);padding:clamp(var(--space-5),3vw,var(--space-6));border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.case-study .callout--decision .callout__label,.case-study .decision--prose .badge{color:var(--ink)}.case-study .decision--prose .badge{min-height:0;padding:0;border:0;background:none;display:inline-flex;align-items:center;gap:var(--space-2);font:500 12px/1.4 var(--font-mono);letter-spacing:.06em}.case-study .decision--prose .badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.case-study .callout--decision>p:first-of-type strong:only-child,.case-study .decision--prose .decision__head :is(h2,h3,h4,h5){display:block;max-width:30ch;margin:0;font:450 clamp(1.375rem,1.1rem + 1vw,1.75rem)/1.2 var(--font-display);letter-spacing:-.02em;color:var(--ink);text-wrap:balance}.case-study :is(.callout--decision,.decision--prose) p{font-size:17px}.case-study .callout--tradeoff{padding:var(--space-5);border:1px solid var(--line-medium);border-radius:var(--radius-lg)}.case-study .callout--tradeoff>p:first-of-type strong:only-child{display:block;font:450 20px/1.3 var(--font-display);letter-spacing:-.01em}.case-study .callout--tension{padding:var(--space-5);border:0;border-radius:var(--radius-lg);background:var(--surface-sunken)}.case-study .callout--tension p{font:450 clamp(1.125rem,1rem + .5vw,1.375rem)/1.4 var(--font-display);letter-spacing:-.01em;color:var(--ink)}.case-study .callout--outcome{padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.case-study .callout--outcome .callout__label{color:var(--positive)}.case-study .callout--outcome p{font-size:18px;color:var(--ink)}.case-study .prose>.callout--argument{grid-column:wide;padding:var(--space-6) 0;border:0;border-block:1px solid var(--line-medium)}.case-study .callout--argument p{max-width:36ch;font:450 clamp(1.375rem,1.1rem + 1vw,1.875rem)/1.25 var(--font-display);letter-spacing:-.025em;color:var(--ink);text-wrap:balance}.case-study .callout--argument p+p{font:400 17px/1.6 var(--font-sans);letter-spacing:0;color:var(--ink-muted);max-width:var(--measure)}.case-study :is(.callout--draft,.callout--image){padding:var(--space-4) var(--space-5);border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:none}.case-study :is(.callout--draft,.callout--image) p{font-size:14px;color:var(--ink-subtle)}.case-study :is(.callout--draft,.callout--image) strong{color:var(--ink-muted)}.case-study .callout--draft .callout__label:before,.case-study .callout--image .callout__label:before{border-radius:1px;background:none;border:1px dashed currentColor;width:8px;height:8px}.case-study .callout--image{min-height:clamp(140px,16vw,200px);align-content:center;justify-items:center;text-align:center;padding:var(--space-6);background:repeating-linear-gradient(135deg,transparent 0 11px,color-mix(in oklch,var(--line) 55%,transparent) 11px 12px)}.case-study .callout--image p{max-width:52ch}.cs-field{display:grid;gap:var(--space-1)}.cs-field dt{font:500 11px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle)}.cs-field dd{margin:0;font:400 15px/1.55 var(--font-sans);color:var(--ink-muted)}.case-study .prose :is(.cs-cards,.cs-ladder,.cs-metrics,.cs-steps,.cs-options__list){margin:0;padding:0;list-style:none}.case-study .prose :is(.cs-cards,.cs-ladder,.cs-metrics,.cs-steps,.cs-options__list)>li{margin:0}.case-study .prose :is(.cs-cards,.cs-ladder,.cs-metrics,.cs-steps,.cs-options) p{margin:0;max-width:none}.case-study .prose>:is(.cs-cards,.cs-ladder,.cs-metrics,.cs-steps,.cs-options){margin-block:var(--space-5)}.cs-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--space-3)}.cs-card{display:grid;align-content:start;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.case-study .prose .cs-card__title{font:450 19px/1.3 var(--font-display);letter-spacing:-.01em;color:var(--ink-muted)}.cs-card__title strong{display:block;font:inherit;font-size:22px;color:var(--ink)}.cs-card__fields{display:grid;gap:var(--space-4);margin:0}.cs-card__fields .cs-field+.cs-field{padding-top:var(--space-4);border-top:1px solid var(--line)}.cs-card__fields .cs-field:last-child:not(:first-child) dd{color:var(--ink)}.cs-ladder{display:grid;border-top:1px solid var(--line-medium)}.cs-ladder__step{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:var(--space-2) var(--space-4);padding:var(--space-5) 0;border-bottom:1px solid var(--line)}.cs-ladder__rank{grid-row:span 2;font:450 clamp(2rem,1.5rem + 2vw,3rem)/.9 var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:color-mix(in oklch,var(--ink) calc(100% - var(--rank) * 14%),var(--ink-subtle))}.case-study .prose .cs-ladder__action{font:450 22px/1.25 var(--font-display);letter-spacing:-.015em;color:var(--ink)}.cs-ladder__fields{display:grid;gap:var(--space-3);margin:0}@media(min-width:720px){.cs-ladder__step{grid-template-columns:4.5rem minmax(0,12rem) minmax(0,1fr) minmax(0,1fr);align-items:baseline}.cs-ladder__rank{grid-row:auto}.cs-ladder__fields{grid-column:3 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}}.cs-metrics{display:grid;gap:var(--space-2)}@media(min-width:720px){.cs-metric{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;column-gap:var(--space-6)}.case-study .prose .cs-metric__name{padding-top:var(--space-2)}}.cs-metric{display:grid;align-content:space-between;gap:var(--space-5);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--surface-sunken)}.case-study .prose .cs-metric__name{font:500 15px/1.4 var(--font-sans);color:var(--ink)}.cs-metric__pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin:0}.cs-metric__pair dt{font:500 11px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle)}.cs-metric__pair dd{display:grid;gap:var(--space-1);margin:var(--space-2) 0 0}.cs-metric__value{font:450 clamp(1.5rem,1.2rem + 1vw,2.25rem)/1.05 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink)}.cs-metric__pair>div:first-child .cs-metric__value{color:var(--ink-muted)}.cs-metric__note{font:400 13px/1.45 var(--font-sans);color:var(--ink-subtle)}.cs-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:var(--space-3);counter-reset:step}.cs-step{display:grid;align-content:start;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg)}.case-study .prose .cs-step__title{font:450 18px/1.3 var(--font-display);letter-spacing:-.01em;color:var(--ink-muted)}.cs-step__title strong{display:block;font:inherit;font-size:20px;color:var(--ink)}.case-study .prose .cs-step__text{font:400 15px/1.55 var(--font-sans);color:var(--ink-muted)}.cs-step--span{grid-column:1 / -1;border-style:dashed;border-color:var(--line-medium)}.cs-options{min-width:0;outline-offset:4px}.cs-options__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--space-3)}.case-study .cs-options{container-type:inline-size}@media(min-width:720px){@container (max-width: 759px){.cs-options__list>li:last-child:nth-child(odd){grid-column:1 / -1}}}.cs-option{display:grid;align-content:start;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg)}.cs-option--chosen{border-color:var(--ink);background:var(--surface);box-shadow:var(--shadow-md)}.case-study .prose .cs-option__head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.cs-option__num{font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle)}.cs-option__chosen{display:inline-flex;align-items:center;min-height:22px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--action);color:var(--on-action);font:500 11px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.case-study .prose .cs-option__title{font:450 20px/1.25 var(--font-display);letter-spacing:-.015em;color:var(--ink);text-wrap:balance}.cs-option__fields{display:grid;gap:var(--space-4);margin:0;padding-top:var(--space-4);border-top:1px solid var(--line)}.cs-option:not(.cs-option--chosen) .cs-field dd{color:var(--ink-subtle)}@media(max-width:719px){.case-study .prose>.cs-options{margin-inline:calc(-1 * var(--gutter));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.cs-options::-webkit-scrollbar{display:none}.cs-options__list{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(82%,300px);padding-inline:var(--gutter);scroll-padding-inline:var(--gutter)}.cs-option{scroll-snap-align:start}}.case-study .prose>.source-columns[data-cols]:not([data-cols="1"]){grid-column:wide}.case-study .source-column{display:grid;align-content:start;gap:var(--space-4);min-width:0}.case-study .source-column>*{margin:0}@media(min-width:720px){.case-study .source-columns[data-cols="2"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);align-items:start}.case-study .source-columns[data-cols="3"]{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);align-items:start}}.case-study .source-column .exhibit--portrait{max-width:360px}@media(min-width:960px){.case-study .prose>.exhibit--portrait{grid-column:text;max-width:none;display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);column-gap:var(--space-6);align-items:end}.case-study .prose>.exhibit--portrait>:not(.exhibit__frame,figcaption){grid-column:1 / -1}.case-study .prose>.exhibit--portrait>figcaption{margin:0;padding-bottom:var(--space-2);font-size:16px}}.media-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;place-items:center;background:var(--surface-sunken);pointer-events:none}.media-skeleton:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 30%,color-mix(in oklch,var(--ink) 5%,transparent) 50%,transparent 70%);background-size:220% 100%;animation:cs-shimmer 1.6s var(--ease-in-out) infinite}.media-skeleton span{position:relative;font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle)}@keyframes cs-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media(prefers-reduced-motion:reduce){.media-skeleton:before{animation:none}}.case-study .ba{align-items:start}.case-study .ba .exhibit--portrait{max-width:360px}@media(min-width:720px){.cs-cards[data-count="4"],.cs-cards[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}}.case-study .prose>.cs-deep{grid-column:wide;display:grid;gap:var(--space-5);margin-block:var(--space-7) var(--space-5);padding:clamp(var(--space-5),3vw,var(--space-6));border:1px solid var(--line-medium);border-radius:var(--radius-lg);background:repeating-linear-gradient(0deg,transparent 0 7px,color-mix(in oklch,var(--line) 35%,transparent) 7px 8px),var(--surface)}.cs-deep--open{border-style:solid}.cs-deep__text{display:grid;gap:var(--space-2);min-width:0}.case-study .prose .cs-deep p{margin:0;max-width:none}.cs-deep__label{font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle)}.case-study .prose .cs-deep__title{font:450 clamp(1.375rem,1.1rem + 1vw,1.75rem)/1.2 var(--font-display);letter-spacing:-.02em;color:var(--ink);text-wrap:balance}.case-study .prose .cs-deep__topics{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-2) 0 0;padding:0;list-style:none}.case-study .prose .cs-deep__topics li{margin:0;padding:4px 10px;border:1px solid var(--line);border-radius:var(--radius-pill);font:400 13px/1.4 var(--font-sans);color:var(--ink-muted);background:var(--ground)}.cs-deep__toggle{justify-self:start;min-height:44px}.cs-deep__toggle svg{transition:transform var(--duration-base) var(--ease-out-quart)}.cs-deep__toggle[aria-expanded=true] svg{transform:rotate(180deg)}@media(min-width:960px){.case-study .prose>.cs-deep{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:var(--space-6)}.cs-deep__toggle{justify-self:end}}.case-study .prose>.cs-deep-end{grid-column:wide;display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-block:var(--space-6);padding-top:var(--space-3);border-top:1px dashed var(--line-medium);font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle)}.cs-deep-end .btn{min-height:44px}.cs-closing{display:grid;gap:var(--space-8);margin-top:clamp(var(--space-9),12vw,var(--space-10));padding-top:var(--space-8);border-top:1px solid var(--line-medium)}.cs-closing__lead{display:grid;gap:var(--space-4);justify-items:start}.cs-closing__label{margin:0;font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle)}.case-study .cs-closing__title{margin:0;font:450 clamp(2.75rem,1.5rem + 5vw,5rem)/.95 var(--font-display);letter-spacing:-.045em;color:var(--ink)}.cs-closing__status{margin:0;max-width:46ch;font:400 16px/1.55 var(--font-sans);color:var(--ink-muted)}.cs-closing__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3)}.cs-closing__actions .btn{min-height:44px;padding-inline:var(--space-5)}.cs-closing__more{display:grid;gap:var(--space-4)}.cs-more{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}.cs-more__card{display:grid;align-content:start;gap:var(--space-3);height:100%;padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:inherit;text-decoration:none;transition:border-color var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart)}.cs-more__card:active{transform:scale(.99)}@media(hover:hover)and (pointer:fine){.cs-more__card:hover{border-color:var(--line-strong)}.cs-more__card:hover .cs-more__cta svg{transform:translate(2px,-2px)}}.cs-more__eyebrow{font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle)}.cs-more__title{font:450 22px/1.25 var(--font-display);letter-spacing:-.015em;color:var(--ink)}.cs-more__summary{font:400 15px/1.55 var(--font-sans);color:var(--ink-muted)}.cs-more__cta{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font:500 14px/1 var(--font-sans);color:var(--ink)}.cs-more__cta svg{transition:transform var(--duration-fast) var(--ease-out-quart)}@media(min-width:960px){.cs-closing{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:end;column-gap:var(--space-8)}}@keyframes cs-hero-in{0%{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:no-preference){:root:not([data-hash-arrival]) :is(.cs-hero__eyebrow,.cs-hero__title,.cs-hero__lede,.cs-hero__facts,.cs-hero__actions){animation:cs-hero-in .42s var(--ease-enter) backwards}:root:not([data-hash-arrival]) .cs-hero__title{animation-delay:60ms}:root:not([data-hash-arrival]) .cs-hero__lede{animation-delay:.12s}:root:not([data-hash-arrival]) .cs-hero__facts{animation-delay:.18s}:root:not([data-hash-arrival]) .cs-hero__actions{animation-delay:.18s}}
