@font-face{font-family:Geist;src:url('assets/fonts/geist-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:DM Sans;src:url('assets/fonts/dm-sans-latin.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:IBM Plex Mono;src:url('assets/fonts/ibm-plex-mono-latin.woff2') format('woff2');font-weight:400;font-display:swap}
:root{
  --paper:#fafafa;--ink:#000;--white:#fff;--dark-bg:#000;--dark-text:#fff;
  --blue:#3142ff;--blue-dark:#8a9dff;--pink:#e63983;--pink-dark:#ff94d6;--purple:#b29bff;--lime:#d3f03e;--green:#168400;
  --accent:#3142ff;--hero-accent:#3142ff;--line-dark:#383838;--line-light:#b7b7b7;
  --pad:18px;--gutter:18px;--section-space:104px;--hover:#e63983;
  --sans:'DM Sans',Arial,sans-serif;--display:Geist,Arial,sans-serif;--mono:'IBM Plex Mono',monospace;
}
:root[data-theme=cobalt]{
  --paper:#263dce;--ink:#fff1c8;--white:#fff1c8;--dark-bg:#131d5c;--dark-text:#fff1c8;
  --blue:#f5fd78;--blue-dark:#f5fd78;--pink:#ffc1dc;--pink-dark:#ffc1dc;--purple:#d6caff;--lime:#f5fd78;--green:#b5f2dd;
  --hover:#ffc1dc;--accent:#f5fd78;--hero-accent:#f5fd78;--line-dark:#5c6292;--line-light:#7d8adb;
}
:root[data-theme=citron]{
  --paper:#e4f56a;--ink:#173c32;--white:#e4f56a;--dark-bg:#173c32;--dark-text:#e4f56a;
  --blue:#173c32;--blue-dark:#dceaa8;--pink:#173c32;--pink-dark:#dceaa8;--purple:#dceaa8;--lime:#dceaa8;--green:#173c32;
  --hover:#28624f;--accent:#28624f;--hero-accent:#173c32;--line-dark:#5f7760;--line-light:#8ea95c;
}

*{box-sizing:border-box}html{--viewport-bg:var(--paper);background:var(--viewport-bg);scroll-behavior:smooth;scroll-padding-top:0}
html[data-viewport-surface=dark]{--viewport-bg:var(--dark-bg)}
body{margin:0;background:var(--viewport-bg);color:var(--ink);font:18px/1.35 var(--sans);-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}
p,h1,h2,h3,figure,ul,ol,dl,dd{margin:0}img{display:block;max-width:100%;height:auto}button{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--paper)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.skip-link{position:fixed;top:8px;left:160px;z-index:150;background:var(--paper);color:var(--ink);padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.light{background:var(--paper);color:var(--ink)}.dark{background:var(--dark-bg);color:var(--dark-text)}
.section{position:relative;padding:var(--section-space) var(--pad);overflow:clip;scroll-margin-top:0}
.blue{color:var(--blue)}.dark .blue{color:var(--blue-dark)}.pink{color:var(--pink)}.dark .pink{color:var(--pink-dark)}.purple{color:var(--purple)}.lime{color:var(--lime)}.green{color:var(--green)}
.light .purple{color:#6650ba}.light .lime{color:#527000}[data-theme=cobalt] .light .purple,[data-theme=citron] .light .purple{color:var(--blue)}[data-theme=cobalt] .light .lime,[data-theme=citron] .light .lime{color:var(--green)}
[data-theme=citron] .dark{--accent:#e4f56a;--hover:#e4f56a}
.eyebrow,.label{font:600 15px/1.25 var(--display);letter-spacing:-.02em;text-transform:uppercase}.label{font-size:20px}
.media{overflow:hidden}.media img{width:100%;height:auto}
.reveal{transition:opacity .6s ease,translate .95s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.js-motion .reveal:not(.visible){opacity:0;translate:0 42px}.reveal.visible{opacity:1;translate:0 0}
.work-image{clip-path:inset(0);transition:clip-path 1.15s cubic-bezier(.22,1,.36,1);transition-delay:100ms}
.work-image img{transform:scale(1);transition:transform 1.35s cubic-bezier(.22,1,.36,1),filter .25s}
.js-motion .work-card:not(.visible) .work-image{clip-path:inset(14% 0 14%)}
.js-motion .work-card:not(.visible) .work-image img{transform:scale(1.055)}
.card-metrics{transition:opacity .8s ease .18s,translate .95s cubic-bezier(.16,1,.3,1) .18s}
.js-motion .work-card:not(.visible) .card-metrics{opacity:0;translate:0 18px}
.page-content{transition:opacity .18s ease,translate .22s ease}
.is-leaving .page-content{opacity:0;translate:0 -12px;pointer-events:none}
@keyframes page-arrive{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}
.page-content{animation:page-arrive .7s cubic-bezier(.16,1,.3,1) both}
/* Fixed chrome shares an exact 18px screen edge; content has independent limits. */
.floating-logo{position:fixed;left:18px;top:18px;z-index:50;width:57px;mix-blend-mode:difference;transition:opacity .4s ease;opacity:1}
body[data-page=home]:not(.logo-visible) .floating-logo{opacity:0;pointer-events:none}
.hero-logo{position:absolute;left:18px;bottom:33px;width:118px;z-index:2}
.hero-logo img{width:100%}
[data-theme=cobalt] .hero-logo img{filter:brightness(0) invert(1)}
.floating-logo img{filter:brightness(0) invert(1)}
.site-nav{position:fixed;right:18px;top:18px;z-index:65;text-align:right;color:#fff;mix-blend-mode:difference}
.site-nav a{display:block;width:max-content;margin-left:auto;text-transform:uppercase;font:700 13px/1.2 var(--display);padding:3px 0}
.site-nav a[data-hover]{color:transparent}
.nav-active,.nav-hover{position:fixed;z-index:66;pointer-events:none;white-space:nowrap;text-align:right}
.nav-active{color:var(--nav-color,var(--accent));font-size:0!important}
.nav-active::before{content:'';position:absolute;width:4px;height:4px;left:-10px;top:50%;margin-top:-2px;background:currentColor;border-radius:50%}
.nav-hover{color:var(--nav-color,var(--accent))}.nav-active[hidden],.nav-hover[hidden]{display:none}
/* Sam Becker reference: 24px outer diameter, 2px flush border, 8px visible gap. */
.theme-switcher{--theme-surface:var(--paper);--theme-foreground:var(--ink);position:fixed;left:50%;top:7px;transform:translateX(-50%);display:flex;gap:0;z-index:70}
.theme-dot{--swatch-turn:0deg;position:relative;width:32px;height:44px;padding:0;border:0;border-radius:50%;background:transparent}
.theme-dot::before{content:'';position:absolute;inset:10px 4px;border:2px solid var(--theme-surface);border-radius:50%;transform:rotate(var(--swatch-turn));transition:transform .45s cubic-bezier(.22,1.15,.36,1)}
.theme-dot[aria-pressed=true]{--swatch-turn:180deg}
.theme-dot[aria-pressed=true]::before,.theme-dot:focus-visible::before{border-color:var(--theme-foreground)}
.theme-dot:focus-visible{outline:none}
.theme-dot:active::before{opacity:.5}
.theme-label{position:absolute;top:calc(100% - 2px);left:50%;padding:5px 8px;border-radius:3px;background:var(--theme-surface);color:var(--theme-foreground);font:500 12px/1.2 var(--sans);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,3px);transition:opacity .15s ease,transform .2s ease,visibility .15s}
@media(hover:hover) and (pointer:fine){.theme-dot:hover .theme-label{opacity:1;visibility:visible;transform:translate(-50%,0)}}
.theme-dot:focus-visible .theme-label{opacity:1;visibility:visible;transform:translate(-50%,0)}
.theme-dot.is-label-dismissed .theme-label{opacity:0;visibility:hidden}
/* Palette previews keep their true colors under the pointer. */
.has-cursor .theme-dot{cursor:pointer}
.has-cursor .cursor.is-theme{opacity:0}
@media(prefers-reduced-motion:reduce){.theme-dot::before,.theme-label{transition:none!important}}
.theme-dot.original::before{background:linear-gradient(135deg,#fafafa 50%,#000 50%)}.theme-dot.cobalt::before{background:linear-gradient(135deg,#263dce 50%,#fff1c8 50%)}.theme-dot.citron::before{background:linear-gradient(135deg,#e4f56a 50%,#173c32 50%)}
.cursor{display:none;position:fixed;left:0;top:0;width:14px;height:14px;border-radius:50%;background:var(--accent);pointer-events:none;z-index:200;transition:width .4s cubic-bezier(.22,1.15,.36,1),height .4s cubic-bezier(.22,1.15,.36,1),background-color .15s;will-change:transform}
[data-theme=citron] .cursor{background:#e4f56a;mix-blend-mode:difference}
.cursor-label{position:fixed;left:0;top:0;z-index:201;display:grid;place-items:center;width:88px;height:88px;pointer-events:none;user-select:none;opacity:0;font:500 11px/1 var(--display);letter-spacing:0;color:#101010;-webkit-text-stroke:1.5px #fff;paint-order:stroke fill;transition:opacity .16s ease;will-change:transform}
@media(pointer:fine){.has-cursor,.has-cursor a,.has-cursor button{cursor:none}.has-cursor .cursor{display:block}.has-cursor .cursor.is-link{width:28px;height:28px;background:#fff;mix-blend-mode:difference}.has-cursor .cursor.is-discover{width:88px;height:88px}.has-cursor .cursor-label.is-visible{opacity:1;transition-delay:.06s}}
@media(prefers-reduced-motion:reduce){.cursor-label{transition:none!important}}
/* A full white viewport scrolls naturally; the corner identity fades in place. */
.hero{position:relative;isolation:isolate;height:100svh;min-height:560px;overflow:hidden;z-index:0}
.hero-scope{position:absolute;left:18px;top:22px;width:min(440px,calc(50% - 88px));font:500 21px/1.22 var(--display);letter-spacing:-.035em;z-index:2}
.hero-type{position:absolute;inset:0;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
.hero-heading{position:absolute;left:18px;top:51%;transform:translateY(-44%);font:850 clamp(56px,8.6vw,124px)/.9 var(--display);letter-spacing:-.035em}
.hero-heading span{display:block;white-space:nowrap}.hero-ink{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.scroll-cue{position:absolute;bottom:24px;right:18px;z-index:2;display:flex;align-items:center;gap:16px;font:500 13px/1 var(--display)}.scroll-cue span{font-size:22px}
.works{z-index:1;padding-top:116px;padding-bottom:112px}
.work-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.work-heading h2{font:750 clamp(52px,6.5vw,92px)/.9 var(--display);letter-spacing:-.055em}
.work-heading>p{font:400 26px/1.1 var(--display);letter-spacing:-.04em;max-width:330px;margin-right:10%}
.work-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:70px;margin-top:64px}
.work-card{min-width:0;align-self:start}.work-ads{grid-column:1/9;grid-row:1;width:100%;max-width:960px}
.work-foundations{grid-column:5/13;grid-row:2;justify-self:end;width:100%;max-width:880px;margin-top:-18px}
.work-interactive{grid-column:1/6;grid-row:3;max-width:540px;margin-top:0}.work-creator{grid-column:8/13;grid-row:3;justify-self:end;max-width:560px;margin-top:130px}
.work-kicker{display:flex;align-items:center;justify-content:space-between;font:500 12px/1.2 var(--display);text-transform:uppercase;letter-spacing:.015em;margin-bottom:16px;color:var(--dark-text)}
.work-open{font-size:25px;transition:transform .3s}.project-link:hover .work-open{transform:translate(3px,-3px);color:var(--blue-dark)}
.work-card h3{font:500 clamp(23px,2.35vw,34px)/1.05 var(--display);letter-spacing:-.04em;max-width:680px}
.work-caption{font-size:17px;line-height:1.3;max-width:670px;margin:15px 0 25px;opacity:.8}
.work-image img{transition:filter .25s}.project-link:hover .work-image img{filter:brightness(1.05)}
.card-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:25px;border-top:1px solid var(--line-dark);padding-top:20px}
.card-metrics>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:7px}
.card-metrics dd{font:500 32px/1 var(--display);letter-spacing:-.04em;white-space:nowrap}.card-metrics dt{font-size:13px;line-height:1.3;max-width:220px;opacity:.78}
.work-interactive .card-metrics dd,.work-creator .card-metrics dd{font-size:27px}.work-interactive .card-metrics,.work-creator .card-metrics{gap:14px}
/* Original artwork remains visible, in a compact composition and credit block. */
.about{z-index:2;padding-top:100px;padding-bottom:90px}
.about-intro h2{font:750 clamp(38px,6.4vw,92px)/1 var(--display);letter-spacing:-.06em;margin-top:20px;white-space:nowrap}
.about-copy{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:30px}.about-copy>p:first-child{font:400 23px/1.2 var(--display);letter-spacing:-.025em;max-width:590px}.art-role{font-size:15px;line-height:1.4;max-width:320px}
.art-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:26px 22px;align-items:start;margin-top:52px;max-width:1440px}
.art-one{grid-column:1/6;grid-row:1/3;max-width:480px}.art-two{grid-column:6/8;grid-row:1;margin-top:44px;max-width:190px}.art-three{grid-column:9/12;grid-row:1;max-width:250px}
.art-four{grid-column:6/9;grid-row:2;max-width:235px}.art-five{grid-column:10/13;grid-row:2;margin-top:-8px;max-width:210px}
.art-record{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:48px;margin-top:56px;border-top:1px solid var(--line-light);padding-top:24px;font-size:16px;line-height:1.45}
.art-record h3{font:600 13px/1.3 var(--display);text-transform:uppercase;margin-bottom:18px}.art-record ul{padding:0;list-style:none;columns:2;column-gap:20px}.art-record li{break-inside:avoid;margin-bottom:3px}.art-record small{display:block;opacity:.65;font-size:13px;margin-top:10px}.patent-note{margin-top:24px}
.contact{z-index:3;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:120px 18px 24px;gap:60px}
.contact-top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}
.contact-top h2{font:400 70px/1 var(--display);letter-spacing:-.04em}.contact-top a{display:block;font-size:23px;letter-spacing:-.03em;margin-top:10px}.contact-top a:hover{color:var(--blue-dark)}
.contact-title{font:850 clamp(58px,10.5vw,150px)/.87 var(--display);letter-spacing:-.035em;margin-top:auto;padding-top:30px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:18px}.footer-bottom a{font:500 13px var(--display)}
/* Project pages retain the user's Figma title, role, caption and evidence hierarchy. */
body:not([data-page=home]) main{position:relative}
.case{padding-top:132px}.case-index{font:500 12px/1.2 var(--display);margin-bottom:28px;letter-spacing:.02em}
.case-heading{display:grid;grid-template-columns:minmax(0,900px) 1fr;gap:8%;align-items:start}
.case-heading h1{font:800 clamp(48px,6.25vw,90px)/.978 var(--display);letter-spacing:-.04em;max-width:900px}
.case-category{font:400 clamp(24px,2.5vw,36px)/1 var(--display);letter-spacing:-.03em;text-align:right;margin-top:2px}
.role{font:600 20px/1.35 var(--display);margin-top:32px;max-width:820px}
.case-summary{width:50%;max-width:680px;margin:52px 0 52px auto;font-size:23px;line-height:1.2;letter-spacing:-.035em}
.wide-media{width:100%;max-width:960px;margin-left:auto}.wide-media img{height:auto;object-fit:contain}
.context{margin-top:40px;max-width:620px}.context p{margin-top:15px;line-height:1.35;font-size:18px}
/* Context and contribution: shared type, desktop columns, narrow screens stacked. */
.context-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,80px);max-width:1320px;margin-top:40px;align-items:start}
.context-pair>.context{min-width:0;margin-top:0}
@media(max-width:899px){.context-pair{grid-template-columns:minmax(0,1fr);gap:40px}}
@media(max-width:600px){.context-pair{margin-top:30px;gap:30px}}
.metrics{display:flex;gap:32px;font-family:var(--display)}.metrics strong{display:block;font-size:48px;line-height:1.05;font-weight:600;letter-spacing:-.04em}
.metrics p{font-size:21px;font-weight:500;line-height:1.25;margin-top:7px}.metrics small{display:block;font-size:16px;opacity:.65;margin-top:5px}
.main-metrics{margin-top:64px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;max-width:1180px}.main-metrics strong{font-size:58px}.main-metrics p{font-size:23px;max-width:310px}
.editorial-heading{font:500 clamp(42px,5vw,72px)/1 var(--display);letter-spacing:-.04em;max-width:1020px}
.intro-copy{font-size:23px;line-height:1.2;letter-spacing:-.03em;max-width:650px;margin-top:36px}
.workflow-body{display:grid;grid-template-columns:422.3px minmax(0,1fr);gap:100px;margin-top:76px;align-items:center;margin-right:0}
.workflow-copy>p:first-of-type{margin-top:14px;max-width:340px}.workflow-number{font:600 48px/1.05 var(--display);letter-spacing:-.03em;margin-top:40px}.workflow-caption{font:500 25px/1.2 var(--display);margin-top:10px;max-width:360px}
.flow-wrap{width:100%;height:42px;margin-top:40px}.flow{list-style:none;padding:0;display:flex;gap:2px;width:422.3px;transform:scale(var(--flow-scale,1));transform-origin:left top}
.flow li{display:flex;flex-direction:column;align-items:center;gap:5.705px;flex-shrink:0;font:500 11px/normal var(--display);letter-spacing:.22px;text-align:center}.flow li:nth-child(1){width:57.759px}.flow li:nth-child(2),.flow li:nth-child(4){width:85.569px}.flow li:nth-child(3){width:128.353px}.flow li:nth-child(5){width:57.046px}.flow img{max-width:none;width:auto;height:auto}.flow span{display:block;width:100%}
.workflow-montage{width:min(100%,747px);justify-self:end;overflow:hidden}.workflow-tiles{position:relative;width:100%;aspect-ratio:956.46289/827}.workflow-tiles img{position:absolute;max-width:none;height:auto;border-radius:0}
.architecture-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));margin-top:72px;gap:56px 24px}.architecture-card{grid-column:1/6;max-width:560px}.architecture-card>p{margin-top:12px}.architecture-card .metrics{margin-top:30px;gap:32px}.architecture-card .media{margin-top:30px}.extend{grid-column:8/13;grid-row:1;margin-top:190px}.restructure{grid-row:2;margin-top:-100px}
.interactive-body{max-width:960px;margin:64px 0 0 auto}.interactive-body>.media{max-width:780px;margin-left:auto}.interactive-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-bottom:48px}.interactive-metrics article>p{margin-top:14px}.interactive-metrics .metrics{margin-top:30px;gap:32px}.interactive-metrics .metrics strong{white-space:nowrap}
.creator-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px;max-width:1138px;margin:128px 0 64px}.creator-stats article>p,.creator-stats .metrics{margin-top:12px}.creator-media{width:100%;max-width:880px;margin-left:auto}
.project-footer{position:relative;padding:88px 18px 24px}.project-pagination{display:grid;grid-template-columns:1fr .7fr 1fr;gap:40px;border-top:1px solid var(--line-dark);padding-top:32px;align-items:start}.project-pagination>a{display:flex;flex-direction:column;gap:12px;min-width:0}.project-pagination small{font-size:13px;opacity:.65}.project-pagination span{font:500 clamp(22px,2.2vw,34px)/1.1 var(--display);letter-spacing:-.035em}.project-pagination .next{text-align:right;align-items:flex-end}.project-pagination .back-work{text-align:center;align-items:center;padding-top:4px}.project-pagination .back-work span{font-size:16px}.project-pagination a:hover{color:var(--blue-dark)}.detail-colophon{display:flex;justify-content:space-between;margin-top:100px;font-size:12px}
@media(max-width:1100px){
 .hero-scope{font-size:18px}.hero-heading{font-size:8.6vw}
 .work-heading>p{margin-right:9%;font-size:23px}.work-grid{column-gap:18px}.work-ads{grid-column:1/10}.work-foundations{grid-column:4/13}.work-interactive{grid-column:1/7}.work-creator{grid-column:8/13}.work-creator .card-metrics{grid-template-columns:1fr;gap:16px}.work-creator .card-metrics>div{flex-direction:row-reverse;justify-content:space-between;align-items:start}.work-creator .card-metrics dt{max-width:55%}
 .card-metrics dd{font-size:28px}.card-metrics dt{font-size:12px}.about-copy>p:first-child{max-width:50%;font-size:20px}.art-record{gap:28px;font-size:14px}.art-record ul{columns:1}
 .case-heading{grid-template-columns:minmax(0,2fr) 1fr;gap:8%}.case-heading h1{font-size:6.3vw}.role{font-size:18px}.case-summary,.intro-copy{font-size:21px}.metrics strong{font-size:40px}.metrics p{font-size:18px}.main-metrics strong{font-size:50px}.main-metrics p{font-size:20px}
 .workflow-body{grid-template-columns:360px minmax(0,1fr);gap:60px}.workflow-number{font-size:42px}.workflow-caption{font-size:23px}.creator-stats{gap:30px}.architecture-card .metrics{gap:20px}
}
@media(max-width:800px){
 .hero-scope{top:96px;width:min(420px,calc(100% - 36px));font-size:18px}.hero-heading{top:51%;transform:translateY(-30%)}
 .theme-switcher{left:18px;top:17px;transform:none}.has-scrolled .theme-switcher,body:not([data-page=home]) .theme-switcher{left:95px}
 .work-interactive,.work-creator{grid-column:1/10;max-width:560px}.work-interactive{grid-row:3}.work-creator{grid-row:4;grid-column:4/13;margin-top:0}.work-creator .card-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.work-creator .card-metrics>div{flex-direction:column-reverse;justify-content:flex-end}.work-creator .card-metrics dt{max-width:100%}
 .workflow-body{grid-template-columns:minmax(0,1fr);gap:48px}.workflow-copy{min-width:0;max-width:422.3px}.workflow-montage{width:min(100%,650px)}
 .contact-top h2{font-size:54px}.contact-top a{font-size:19px}.contact{padding-top:108px}
 .case-heading{display:block}.case-category{font-size:19px;text-align:left;margin-top:24px}.case-category br{display:none}.case-heading h1{font-size:8.8vw;max-width:700px}
 .architecture-grid{display:flex;flex-direction:column;gap:64px}.architecture-card{width:85%;max-width:560px;margin:0}.architecture-card.extend{align-self:flex-end}.interactive-metrics{gap:35px}.interactive-body{margin-top:48px}
}
@media(max-width:600px){
 body{font-size:16px}:root{--section-space:92px}.site-nav a{font-size:11px;padding:3px 0}.site-nav{top:16px}.theme-dot{width:32px;height:40px}.theme-dot::before{inset:8px 4px}
 .hero{min-height:560px}.hero-scope{top:115px;max-width:340px;font-size:17px}.hero-heading{font-size:9.1vw;line-height:.94;top:51%;transform:translateY(-22%);letter-spacing:-.035em}.scroll-cue{font-size:12px;bottom:24px;gap:10px}
 .works{padding-top:104px;padding-bottom:76px}.work-heading{align-items:flex-start;gap:20px}.work-heading h2{font-size:48px}.work-heading>p{font-size:14px;line-height:1.2;margin:3px 0 0;max-width:135px}.work-grid{display:flex;flex-direction:column;gap:65px;margin-top:46px}.work-card{width:100%;max-width:100%;margin:0}.work-foundations{width:94%;align-self:flex-end}.work-interactive{width:94%;align-self:flex-start}.work-creator{width:92%;align-self:flex-end}
 .work-kicker{font-size:10px;margin-bottom:12px}.work-card h3{font-size:26px;max-width:360px}.work-caption{font-size:15px;line-height:1.35;margin:14px 0 20px}.card-metrics{gap:12px;margin-top:20px;padding-top:16px}.card-metrics dd,.work-interactive .card-metrics dd,.work-creator .card-metrics dd{font-size:25px}.card-metrics dt{font-size:11px;line-height:1.35}.work-interactive .card-metrics dd{font-size:23px}.work-interactive .card-metrics>div:last-child dd{font-size:20px}
 .about{padding-top:100px;padding-bottom:66px}.about-intro h2{font-size:9.5vw;margin-top:22px}.about-copy{display:block;margin-top:25px}.about-copy>p:first-child{max-width:100%;font-size:19px}.about-copy .art-role{font-size:14px;margin-top:22px}
 .art-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 14px;margin-top:36px}.art-one{grid-column:1/7;grid-row:1;max-width:430px}.art-two{grid-column:1/3;grid-row:2;margin-top:12px;max-width:190px}.art-three{grid-column:3/7;grid-row:2;justify-self:end;max-width:240px}.art-four{grid-column:1/4;grid-row:3;max-width:235px}.art-five{grid-column:4/7;grid-row:3;max-width:200px;margin-top:26px}
 .art-record{grid-template-columns:1fr;gap:30px;margin-top:38px;font-size:16px}.art-record h3{margin-bottom:12px}.art-record ul{columns:2}.patent-note{margin-top:15px}
 .contact{min-height:100svh;padding:104px 18px 22px;gap:44px}.contact-top{display:block}.contact-top h2{font-size:48px}.contact-top>div{margin-top:28px}.contact-top a{font-size:19px;margin-top:11px}.contact-title{font-size:10.3vw;line-height:.92;padding-top:20px}.footer-bottom{font-size:10px}.footer-bottom a{font-size:12px}
 .case{padding-top:115px}.case-index{font-size:10px;margin-bottom:25px}.case-heading h1{font-size:10vw;line-height:1.03}.case-category{font-size:16px;margin-top:20px}.role{font-size:15px;margin-top:22px}.case-summary{width:100%;font-size:19px;line-height:1.3;margin:32px 0}.context{margin-top:30px}.context p{font-size:16px}.label{font-size:17px}
 .main-metrics{grid-template-columns:1fr;gap:22px;margin-top:40px}.main-metrics>div{display:grid;grid-template-columns:43% 57%;align-items:start;padding-top:22px;border-top:1px solid var(--line-light)}.main-metrics strong{font-size:42px}.main-metrics p{font-size:17px;margin:0}.main-metrics p br{display:none}
 .editorial-heading{font-size:9vw;line-height:1.04}.intro-copy{font-size:19px;line-height:1.3;margin-top:26px}.desktop-break{display:none}.workflow-body{margin-top:42px}.workflow-copy{padding-right:18px;max-width:100%}.workflow-number{font-size:38px;margin-top:32px}.workflow-caption{font-size:22px}.flow-wrap{margin-top:32px}.workflow-montage{width:100%}
 .architecture-grid{margin-top:48px}.architecture-card{width:100%}.architecture-card .metrics{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}.metrics strong{font-size:38px}.metrics p{font-size:17px}.metrics small{font-size:14px}.architecture-card .media{margin-top:24px}
 .interactive-metrics{grid-template-columns:1fr;gap:35px;margin-bottom:35px}.interactive-metrics .metrics{margin-top:23px;gap:40px}.creator-stats{grid-template-columns:1fr;gap:30px;margin:80px 0 40px}.creator-stats article{border-top:1px solid var(--line-light);padding-top:20px}.creator-stats .label br{display:none}
 .project-footer{padding-top:56px}.project-pagination{grid-template-columns:1fr 1fr;gap:35px 24px}.project-pagination .back-work{grid-row:2;grid-column:1/3;border-top:1px solid var(--line-dark);padding-top:24px}.project-pagination .next{grid-column:2;grid-row:1}.project-pagination span{font-size:23px}.project-pagination small{font-size:12px}.detail-colophon{margin-top:56px}
}
@media(max-height:650px) and (min-width:801px){.hero-scope{font-size:17px;max-width:430px}.hero-heading{font-size:min(7.5vw,88px);top:50%;transform:translateY(-36%)}}
@media(max-width:360px){.work-interactive .card-metrics dd{font-size:20px}.work-interactive .card-metrics>div:last-child dd{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none}.js-motion .reveal:not(.visible){opacity:1;translate:none}.hero{position:relative}.hero-ink{display:none}.cursor{transition:none}}
/* Source tile coordinates; no CSS corner rounding on the cropped edge. */
.workflow-tiles img[src="assets/workflow-1.png"]{left:0.00000000%;top:0.00000000%;width:57.29443404%}
.workflow-tiles img[src="assets/workflow-2.png"]{left:0.00000000%;top:33.79236888%;width:28.12445759%}
.workflow-tiles img[src="assets/workflow-3.png"]{left:29.21837254%;top:67.58473776%;width:28.12445759%}
.workflow-tiles img[src="assets/workflow-4.png"]{left:87.65511763%;top:33.79236888%;width:12.44167455%}
.workflow-tiles img[src="assets/workflow-5.png"]{left:58.43674509%;top:0.00000000%;width:28.12445759%}
.workflow-tiles img[src="assets/workflow-6.png"]{left:87.65511763%;top:0.00000000%;width:12.44167455%}
.workflow-tiles img[src="assets/workflow-7.png"]{left:58.43674509%;top:33.79236888%;width:28.12445759%}
.workflow-tiles img[src="assets/workflow-8.png"]{left:58.43674509%;top:67.58473776%;width:41.61165100%}
.workflow-tiles img[src="assets/workflow-9.png"]{left:29.21837254%;top:33.79236888%;width:28.12445759%}
.workflow-tiles img[src="assets/workflow-10.png"]{left:0.00000000%;top:67.58473776%;width:28.12445759%}

/* Original Recognition composition, retained as part of About. */
.recognition-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:50px}.recognition-grid>p,.exhibition>p:first-child{font-size:46px;line-height:1.2}
.badge{display:inline-block;vertical-align:middle;border:1px solid var(--line-light);font:18px var(--mono);padding:7px 12px;margin-left:12px;white-space:nowrap}
.patents{font-size:46px;line-height:1.2;margin-top:30px}.published-label{margin-top:100px}.published{display:grid;grid-template-columns:1fr 1fr;column-gap:80px;list-style:none;padding:0;margin-top:40px}
.published li{font-size:46px;padding:25px 0;border-bottom:1px solid var(--line-light);line-height:1.2}.exhibition-label{margin-top:100px}
.exhibition{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line-light);padding:38px 0 24px;gap:24px}.exhibition .mono{font-size:18px;text-transform:none}
.recognition{padding-top:20px}.recognition-grid{gap:70px}.recognition-grid>p{border-bottom:1px solid var(--line-light);padding-bottom:22px}.recognition-grid small{display:block;font:12px var(--mono);margin-top:14px}.recognition .mono{font:400 15px/1.3 var(--mono)}
@media(max-width:800px){.recognition-grid{grid-template-columns:1fr;gap:35px}.recognition-grid p,.patents,.published li,.exhibition>p:first-child{font-size:34px}.published{gap:12px 30px}.exhibition{display:block}.exhibition .mono{margin-top:26px}}
@media(max-width:600px){.recognition{padding-top:22px}.recognition-grid p,.patents,.published li,.exhibition>p:first-child{font-size:29px}.recognition-grid{margin-top:28px}.published{grid-template-columns:1fr}.badge{font-size:12px;padding:5px 8px}.published-label,.exhibition-label{margin-top:64px}.patents{margin-top:36px}}

@media(prefers-reduced-motion:reduce){.page-content,.reveal,.work-image,.work-image img,.card-metrics,.floating-logo{animation:none;transition:none}.js-motion .work-card:not(.visible) .work-image{clip-path:none}.js-motion .work-card:not(.visible) .work-image img{transform:none}.js-motion .work-card:not(.visible) .card-metrics{opacity:1;translate:none}}

/* Keep the 24px swatches clear of the logo and navigation on narrow screens. */
@media(max-width:600px){
 .theme-switcher{top:10px}
 .has-scrolled .theme-switcher,body:not([data-page=home]) .theme-switcher{left:85px}
}
@media(max-width:360px){
 .theme-switcher,.has-scrolled .theme-switcher,body:not([data-page=home]) .theme-switcher{left:18px;top:62px}
}
