@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#090a0b;--ink:#eae8e4;--muted:#a7a7a4;--line:#303133;--accent:#ddd9d1;--project:#d0cec7;--font:'Manrope',Arial,sans-serif;--mono:'DM Mono',Consolas,monospace;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.85 var(--font);overflow-x:hidden}body:after{content:"";position:fixed;inset:-40%;pointer-events:none;z-index:100;opacity:.085;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.75' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .35s steps(3) infinite}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9;box-shadow:inset 0 0 150px #0004}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;cursor:pointer;background:none;border:0;padding:0}a,button,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #ddd;outline-offset:6px}p{margin:0 0 1.5rem}h1,h2,h3{font-weight:500;line-height:1.05;letter-spacing:-.045em;margin:0}h1{font-size:clamp(3.5rem,7.5vw,7.5rem)}h2{font-size:clamp(2.2rem,4vw,4.2rem)}h3{font-size:1.4rem;line-height:1.3;letter-spacing:-.025em}em{font-family:Georgia,serif;font-weight:400;color:#bbb9b3}img,svg,canvas{max-width:100%;display:block}[hidden]{display:none!important}.wrap{width:calc(100% - 144px);max-width:1350px;margin-inline:auto}.mono,.eyebrow{font:11px/1.7 var(--mono);letter-spacing:.1em}.eyebrow{margin-bottom:28px;color:#aaa9a5}.small-note{font-size:13px;line-height:1.8;color:#989895}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:20px;z-index:200;background:#eee;color:#111;padding:12px}.skip-link:focus{top:10px}.site-header{height:100px;padding:0 52px;display:flex;justify-content:space-between;align-items:center;position:absolute;top:0;width:100%;z-index:30;transition:opacity .35s}.wordmark{font:600 13px var(--font);letter-spacing:.07em}.site-header nav{display:flex;gap:34px;align-items:center;font-size:13px}.site-header nav button,.site-header nav a{color:#c5c4bf}.site-header nav button:hover,.site-header nav a:hover{color:#fff}.site-header nav span{font:9px var(--mono);vertical-align:super;padding-left:4px}.site-header #motion-toggle{font-size:10px;color:#8f8f8c}.interstitial .site-header{opacity:0;pointer-events:none}.site-header:focus-within{opacity:1!important;pointer-events:auto!important}#film-stage{position:fixed;inset:0;z-index:0;pointer-events:none}#film-stage canvas{width:100%;height:100%}#home-view{position:relative}.opening{height:100svh;min-height:680px;position:relative;z-index:2;display:flex;align-items:center;padding:0 7%}.opening-caption{opacity:var(--intro-opacity,1);max-width:500px;transform:translateY(20px)}.opening-caption h1{font-size:clamp(4rem,7.5vw,8rem);font-weight:500;line-height:.99;letter-spacing:-.07em}.opening-caption>.eyebrow{font-size:10px;color:#b2b0a9;margin-bottom:28px}.opening-caption>p:last-child{font-size:13px;color:#b0aea8;margin-top:30px;max-width:255px;line-height:1.8}.opening-bottom{position:absolute;bottom:40px;left:52px;right:52px;display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:.07em;opacity:var(--intro-opacity,1);color:#92918c}.opening-bottom a{font-size:11px;color:#d8d6d0}.opening-bottom a span{margin-left:14px}.film-chapter{height:225svh;position:relative;z-index:2}.film-transition{height:100svh;pointer-events:none}.film-copy{height:105svh;display:flex;align-items:center;justify-content:flex-end;padding:40px 8%;opacity:var(--copy-opacity,0);position:relative}.film-copy-inner{width:38%;max-width:470px;pointer-events:auto}.film-counter{font:13px var(--mono);margin-bottom:40px;letter-spacing:.15em}.film-counter span{color:#747570;font-size:10px}.film-copy .eyebrow{font-size:10px;margin-bottom:16px}.film-copy h2{font-size:clamp(3rem,5.4vw,5.7rem);letter-spacing:-.065em;line-height:1;margin-bottom:26px}.film-copy h2+p{color:#b7b6b0;font-size:15px;line-height:1.8}.film-meta{display:flex;gap:0;flex-wrap:wrap;font:10px/1.6 var(--mono);color:#92938b;margin:22px 0 32px}.film-meta span+span:before{content:"/";padding:0 10px;color:#575952}.project-link,.button,.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;font-size:14px;line-height:1.4;padding:12px 0;border-bottom:1px solid #8b8a83;transition:color .2s,border-color .2s;vertical-align:middle}.project-link:hover,.button:hover,.text-link:hover{color:#fff;border-color:#fff}.project-link span,.button span{font-size:20px}.project-link.secondary{font-size:12px;margin-left:22px;color:#b3b2aa;border-color:#4a4b45;gap:15px}.film-contribution{font-size:11px!important;line-height:1.8!important;color:#7f8179!important;margin:30px 0 0;max-width:370px}.end-title{position:relative;z-index:2;min-height:80svh;display:flex;justify-content:center;flex-direction:column;align-items:center;text-align:center;background:#090a0b}.end-title h2{font-size:clamp(3rem,6vw,6rem);margin:12px 0 30px}.end-title .project-link{gap:70px}.site-footer{position:relative;z-index:4;background:var(--bg);display:flex;gap:35px;justify-content:space-between;padding:30px 0;border-top:1px solid var(--line);font:10px var(--mono);letter-spacing:.04em;color:#999991}.detail-route #film-stage{display:none}.detail-route .site-header{position:relative;border-bottom:1px solid var(--line)}.detail-topline{display:flex;justify-content:space-between;padding-top:38px;gap:20px}.back-link{font-size:12px;color:#adada5}.detail-topline .mono{font-size:9px;color:#84867d}.detail-hero{padding-top:75px;padding-bottom:80px}.detail-hero>.eyebrow{color:#d0cec6}.detail-hero h1{font-size:clamp(3.4rem,7vw,7.2rem);max-width:1000px;line-height:1.03}.detail-lead{font-size:19px;max-width:650px;line-height:1.8;color:#b6b5ad;margin:40px 0}.detail-facts{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);gap:25px;padding-top:24px;margin-top:40px}.detail-facts>div{display:flex;flex-direction:column;gap:8px}.detail-facts span{font:10px var(--mono);color:#8a8b82;text-transform:uppercase;letter-spacing:.06em}.detail-facts strong{font-size:13px;font-weight:500}.detail-hero>.button{margin-top:35px}.story-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:12%;padding:90px 0;border-top:1px solid var(--line)}.story-heading .eyebrow{font-size:10px}.story-heading h2{font-size:clamp(2rem,3.2vw,3.4rem);line-height:1.12}.story-body{color:#b5b5ad}.story-body>p:first-child{margin-top:0}.story-body p{font-size:16px}.decision-card{border-left:1px solid #99978e;padding:5px 0 5px 28px;margin:38px 0 0}.decision-card .mono{font-size:9px;color:#909286}.decision-card h3{color:#e8e6df;margin:16px 0 13px}.decision-card p{margin:0;font-size:14px}.feature-panel{display:grid;grid-template-columns:1fr 1fr;border:1px solid #363832;background:#111313;gap:65px;padding:58px;margin:25px 0 70px}.feature-copy h2{margin-bottom:28px;font-size:clamp(2rem,3vw,3.3rem)}.feature-copy>p:not(.eyebrow){font-size:15px;color:#b5b6ad}.feature-copy .small-note{font-size:12px!important;color:#7f8478!important}.economy-demo{border-top:1px solid #6d7267;padding-top:20px}.economy-top{display:flex;justify-content:space-between;align-items:baseline}.economy-top .mono{font-size:9px}.economy-top output{font:60px var(--mono);line-height:1.2}.economy-track{display:flex;gap:5px;margin:15px 0 25px}.economy-track i{height:5px;flex:1;background:#dddccc;transition:background .2s}.economy-track .spent{background:#31352d}.economy-board{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;max-width:310px;margin:auto}.economy-board>span{aspect-ratio:1;background:#242822;border:1px solid #34392e;display:grid;place-items:center;color:#111;font:16px var(--mono)}.economy-board>.token-player{background:#d6d9ca}.economy-board>.token-enemy{background:#888b80}.economy-demo>p{text-align:center;font-size:12px;color:#a5ab9a;margin:20px 0}.demo-actions{display:flex;gap:12px;justify-content:center}.demo-actions button{border:1px solid #5c6255;padding:9px 15px;font-size:12px}.demo-actions button:hover{background:#353a30}.demo-actions button:disabled{opacity:.35;cursor:default}.demo-actions button span{font-family:var(--mono);margin-left:12px}.timeline-section{border-top:1px solid var(--line);padding:60px 0}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.timeline article{border-top:1px solid #626658;padding-top:24px}.timeline article>span{font:35px var(--mono);color:#a2a594}.timeline h3{margin:20px 0 15px}.timeline p{font-size:14px;color:#9b9e92}.feedback-list article{border-top:1px solid var(--line);padding:24px 0}.feedback-list article>span{font:10px var(--mono);color:#aaa89f}.feedback-list h3{color:#deded3;margin:14px 0 10px}.feedback-list p{font-size:14px;margin:0}.review-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:12%;padding:80px 0;border-top:1px solid var(--line)}.review-section h2{font-size:clamp(2rem,3.2vw,3.4rem)}blockquote{font:italic 28px/1.5 Georgia,serif;letter-spacing:-.015em;margin:0 0 25px}.review-context{margin-top:30px;font-size:14px;color:#a8aa9d}.results-row{display:flex;gap:50px;border-top:1px solid var(--line);padding:25px 0}.results-row>div{display:flex;flex-direction:column}.results-row strong{font-size:27px;font-weight:500}.results-row span{font:10px var(--mono);color:#979c8b}.media-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:30px 0 80px}.site-capture,.media-placeholder{margin:0}.capture-zoom{width:100%;display:block;text-align:left;background:#111;border:1px solid #393b34;overflow:hidden}.browser-bar{display:flex;align-items:center;justify-content:space-between;font:10px var(--mono);padding:12px 16px;border-bottom:1px solid #363932;color:#aaa}.browser-dots{letter-spacing:3px;color:#6f7365}.site-capture img{width:100%;aspect-ratio:1.44;object-fit:cover;object-position:top;filter:saturate(.82);transition:filter .3s}.site-capture button:hover img{filter:saturate(1)}figcaption{font-size:11px;color:#848a7a;padding:14px 0;line-height:1.8}.case-content>.site-capture{margin-bottom:75px}.case-content>.site-capture img{max-height:760px;object-fit:cover}.placeholder-top{display:flex;align-items:center;justify-content:space-between;border:1px solid #363a30;padding:10px 14px}.placeholder-top .mono{font-size:9px;color:#878d7d}.format-tag{font:9px var(--mono);color:#939a85}.placeholder-frame{position:relative;aspect-ratio:1.44;border:1px solid #34392c;border-top:0;background:repeating-linear-gradient(135deg,#151813 0,#151813 1px,#11130f 1px,#11130f 12px);display:grid;place-items:center;padding:20px}.placeholder-center{text-align:center;color:#969e87}.empty-film{font-size:32px;display:block;margin-bottom:12px}.placeholder-center h3{font-size:19px;color:#aeb59f}.placeholder-center p{font:11px/1.7 var(--mono);margin:12px 0 0}.timecode{position:absolute;bottom:12px;left:15px;font-size:9px;color:#5e6651}.missing-capture{min-height:270px;display:grid;place-content:center;color:#899276;text-align:center}.roles-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:40px 0}.roles-grid h3{color:#ddd;margin-bottom:15px}.roles-grid p{font-size:14px}.story-body details{border-top:1px solid #45473d;border-bottom:1px solid #45473d;padding:18px 0;margin-top:30px}.story-body summary{cursor:pointer;color:#d4d8c9;font-size:14px}.story-body details p{font-size:14px;margin-top:22px;margin-bottom:0}.geometry-lab{background:#111313;border:1px solid #383b35;padding:48px 48px 25px;margin:20px 0 80px}.lab-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:40px}.lab-heading h2{font-size:3rem}.lab-heading>p{max-width:370px;font-size:14px;color:#a4aa9b;margin-bottom:0}.lab-tabs{display:flex;border-top:1px solid #3b4133;border-bottom:1px solid #3b4133;gap:40px}.lab-tabs button{padding:18px 0;font:11px var(--mono);color:#808a73;border-bottom:2px solid transparent;margin-bottom:-1px}.lab-tabs button span{font:14px var(--font);color:#c4ceba;margin-left:12px}.lab-tabs button[aria-selected=true]{border-color:#d4d6cd;color:#ddd}.lab-canvas-wrap{position:relative;background:#0b0f10;margin-top:30px;border:1px solid #30383a}.lab-canvas-wrap canvas{width:100%;aspect-ratio:1000/510;touch-action:none}.canvas-badge{position:absolute;top:14px;left:16px;font-size:9px;color:#83979c;pointer-events:none}.lab-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:26px 0}.lab-control label{font-size:12px;color:#afb5a6;display:flex;justify-content:space-between;margin-bottom:10px}.lab-control output{font-family:var(--mono);font-size:11px;color:#ddd}.lab-control input[type=range]{width:100%;accent-color:#c9c9bd;cursor:pointer}.lab-control input[type=checkbox]{accent-color:#c9c9bd}.lab-switches{display:flex;flex-wrap:wrap;gap:16px;align-items:center;grid-column:1/-1}.lab-switches label{font-size:12px;display:flex;gap:8px;align-items:center;cursor:pointer}.lab-switches button{font-size:12px;padding:7px 14px;border:1px solid #5b6550}.lab-readout{font:11px/1.8 var(--mono);padding:16px 0;border-top:1px solid #343d2d;border-bottom:1px solid #343d2d;color:#bdc9ad;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;min-height:54px}.lab-explanation{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-top:25px}.lab-explanation p{font-size:13px;color:#939e86;margin-bottom:0}.lab-explanation strong{color:#cbd2c0;font-weight:500}.lab-credit{font-size:11px;color:#7b8670;border-top:1px solid #303829;padding-top:20px;margin:25px 0 0}.clue-demo{border-top:1px solid #5d696c;padding-top:20px;display:flex;flex-direction:column;justify-content:center;min-height:310px}.clue-progress{display:flex;gap:5px;margin-bottom:34px}.clue-progress span{flex:1;height:3px;background:#303639}.clue-progress .revealed{background:#c6d2d5}.clue-demo h3{font-size:28px;margin-bottom:20px}.clue-demo>p:not(.eyebrow){font-size:14px;color:#a8b4b8}.clue-demo .button{align-self:start}.node-demo{display:flex;flex-direction:column;justify-content:center}.node-wire{stroke:#818287;stroke-width:2;stroke-dasharray:4 6;animation:flow 1s linear infinite}.node-box rect{fill:#1a1b1d;stroke:#5d5e65;stroke-width:1}.node-box text{fill:#b9bbc5;font:12px Arial}.node-box .node-small{font:8px monospace;fill:#868895}.node-box.active-node rect{stroke:#d1d2d8;fill:#292b30}.node-demo>p{font-size:12px;color:#969bad;text-align:center;margin:20px 0 0}.social-demo{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:center}.phone-panel{width:43%;min-height:240px;border:1px solid #6d686b;padding:25px 15px 15px;background:#171516;display:flex;flex-direction:column}.phone-panel.second{transform:translateY(20px);background:#211e21}.phone-panel .mono{font-size:9px;color:#99919a}.phone-panel h3{font-size:23px;margin-top:38px}.phone-panel p{font-size:12px;margin-top:24px;color:#a59aa5}.social-demo>.button{margin-top:25px}.duck-process{padding:45px;border:1px solid var(--line);margin:20px 0 80px}.duck-process>div{display:flex;align-items:center;gap:30px;margin:30px 0}.duck-process article{flex:1}.duck-process article>span{font:24px var(--mono);color:#aaa690}.duck-process h3{margin:12px 0}.duck-process article p{font-size:13px;color:#a19f90}.pipeline-arrow{color:#686755}.next-project{border-top:1px solid var(--line);padding:70px 0;display:flex;justify-content:space-between;align-items:center;margin-top:40px}.next-project h2{font-size:clamp(2.5rem,4.5vw,4.5rem)}.next-arrow{font-size:65px;color:#c6c8bd;transition:transform .3s}.next-project:hover .next-arrow{transform:translate(8px,-8px)}.about-hero{padding:85px 0}.about-hero h1{font-size:clamp(4rem,7.5vw,7.5rem)}.about-intro{max-width:600px;margin:50px 0 0 auto;color:#b6baae;font-size:18px}.credits-page{padding:50px 0 100px}.credits-page>.eyebrow{margin-top:70px}.credits-page h1{font-size:clamp(3.5rem,7vw,7rem)}.credits-copy{max-width:720px;margin:55px 0 0 auto;color:#b0b5a4}.credits-copy dt{color:#e0e2d7;font-size:20px;margin-top:35px}.credits-copy dd{margin:12px 0 0;font-size:15px;border-bottom:1px solid var(--line);padding-bottom:25px}.credits-copy>.small-note{margin-top:30px}.index-dialog{max-width:none;width:100vw;max-height:100svh;height:100svh;margin:0;border:0;background:#0c0d0ef5;color:var(--ink);padding:0}.index-dialog::backdrop{background:#080909}.index-inner{max-width:1050px;width:calc(100% - 100px);margin:auto;padding:40px 0 70px}.index-heading{display:flex;justify-content:space-between;align-items:center}.index-heading>.eyebrow{margin:0;font-size:10px}.index-heading button{font-size:13px}.index-inner h2{font-size:clamp(3rem,6vw,6rem);margin:60px 0 35px}.index-inner>.text-link{margin-top:35px}#project-index-list>a{display:grid;grid-template-columns:50px 1fr 220px 20px;gap:20px;align-items:center;padding:25px 0;border-top:1px solid var(--line)}#project-index-list>a>span{font:11px var(--mono);color:#979a8e}#project-index-list strong{font-size:26px;font-weight:500;letter-spacing:-.03em}#project-index-list small{font-size:12px;color:#8b9180}#project-index-list a:hover strong{font-style:italic}.dialog-open{overflow:hidden}.media-dialog{padding:45px 20px 20px;max-width:95vw;max-height:95svh;background:#111;color:#eee;border:1px solid #555}.media-dialog::backdrop{background:#000e}.media-dialog>img{max-height:80svh;object-fit:contain}.dialog-close{position:absolute;top:10px;right:20px;font-size:13px}.route-loading,.not-found{padding:100px 0;min-height:70svh}.film-fallback .film-copy{opacity:1}.film-fallback .film-transition{height:20vh}.film-fallback .film-chapter{height:auto}.film-fallback #film-stage{background:radial-gradient(ellipse at 60% 40%,#3a3b3b,#090a0b 65%)}.no-motion *,.no-motion *:before,.no-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.no-motion .opening-caption,.no-motion .opening-bottom{opacity:1!important}.no-motion .film-transition{height:15svh}.no-motion .film-chapter{height:120svh}.no-motion .film-copy{opacity:1!important}
@keyframes grain{0%{transform:translate(0,0)}33%{transform:translate(-2%,1%)}66%{transform:translate(1%,-2%)}100%{transform:translate(-1%,2%)}}@keyframes flow{to{stroke-dashoffset:-20}}
@media(max-width:1050px){.wrap{width:calc(100% - 80px)}.film-copy{padding-inline:5%}.film-copy-inner{width:42%}.film-copy h2{font-size:4rem}.feature-panel{padding:35px;gap:35px}.geometry-lab{padding:30px}.story-section,.review-section{gap:7%}.lab-heading h2{font-size:2.5rem}.lab-heading>p{max-width:290px}.detail-facts{grid-template-columns:repeat(2,1fr)}.lab-tabs{gap:25px}.lab-tabs button span{margin-left:7px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.site-header{height:75px;padding-inline:22px}.wordmark{font-size:10px}.site-header nav{gap:19px;font-size:12px}.site-header #motion-toggle{font-size:9px}.opening{min-height:700px;align-items:flex-end;padding:0 25px 130px}.opening-caption h1{font-size:4rem}.opening-caption>.eyebrow{font-size:8px}.opening-caption>p:last-child{font-size:12px;max-width:230px}.opening-bottom{left:25px;right:25px;bottom:28px;font-size:8px}.opening-bottom>span:first-child{display:none}.opening-bottom a{font-size:10px}.film-chapter{height:250svh}.film-copy{height:130svh;align-items:flex-end;padding:35px 25px 85px;background:linear-gradient(transparent 0%,#090a0b00 20%,#090a0be8 42%,#090a0b 75%)}.film-copy-inner{width:100%;max-width:450px}.film-copy h2{font-size:3.8rem}.film-counter{margin-bottom:25px}.film-copy h2+p{font-size:15px}.film-meta{margin:20px 0}.film-contribution{font-size:11px!important}.film-copy .project-link{font-size:13px}.film-copy .project-link.secondary{margin-left:18px;font-size:11px}.end-title{min-height:65svh}.end-title h2{font-size:3rem}.detail-topline{padding-top:26px}.detail-topline .mono{font-size:8px;max-width:120px;text-align:right}.back-link{font-size:11px}.detail-hero{padding:50px 0}.detail-hero h1{font-size:3.3rem}.detail-lead{font-size:16px;margin:30px 0}.detail-facts{gap:25px 18px;margin-top:30px}.detail-facts strong{font-size:12px}.detail-facts span{font-size:9px}.story-section,.review-section{display:block;padding:50px 0}.story-heading{margin-bottom:30px}.story-heading h2,.review-section h2{font-size:2.5rem}.story-body p{font-size:15px}.feature-panel{display:block;padding:25px;margin:10px 0 45px}.feature-copy{margin-bottom:35px}.feature-copy h2{font-size:2.5rem}.economy-demo{max-width:400px;margin:auto}.timeline-section{padding:45px 0}.timeline{display:block}.timeline article{margin-bottom:30px}.timeline article>span{font-size:27px}.timeline h3{margin:12px 0}.review-section>div:first-child{margin-bottom:30px}blockquote{font-size:24px}.results-row{gap:35px}.media-pair{display:block;margin-bottom:40px}.media-pair>figure+figure{margin-top:30px}.geometry-lab{padding:22px 14px 18px;margin:10px 0 45px}.lab-heading{display:block;margin-bottom:26px}.lab-heading h2{font-size:2.5rem}.lab-heading>p{max-width:none;margin-top:22px;font-size:13px}.lab-tabs{gap:0;justify-content:space-between}.lab-tabs button{font-size:9px;padding:14px 5px}.lab-tabs button span{font-size:11px;margin-left:4px}.lab-canvas-wrap{margin-top:20px}.lab-canvas-wrap canvas{aspect-ratio:1.2}.canvas-badge{font-size:7px;left:9px;top:8px}.lab-controls{grid-template-columns:1fr 1fr;gap:18px 14px;padding-block:20px}.lab-control label{font-size:11px}.lab-switches{gap:12px}.lab-switches label{font-size:11px}.lab-readout{font-size:10px;gap:6px;display:block}.lab-readout>span{display:block}.lab-explanation{display:block}.lab-explanation>p+p{margin-top:15px}.lab-credit{font-size:10px}.roles-grid{display:block;margin:30px 0}.roles-grid article+article{margin-top:25px}.next-project{padding:45px 0;margin-top:15px}.next-project h2{font-size:2.5rem}.next-arrow{font-size:40px}.about-hero{padding:55px 0}.about-hero h1{font-size:3.5rem}.about-intro{font-size:16px;margin-top:35px}.credits-page{padding-top:30px}.credits-page h1{font-size:3.2rem}.credits-copy{margin-top:35px}.credits-copy dd{font-size:14px}.site-footer{gap:15px;font-size:8px;padding-block:24px}.duck-process{padding:25px;margin-bottom:45px}.duck-process>div{display:block}.duck-process article{margin-bottom:18px}.pipeline-arrow{display:block;transform:rotate(90deg);width:18px;margin-bottom:20px}.duck-process article p{margin-bottom:0}.index-inner{width:calc(100% - 44px);padding-top:26px}.index-heading .eyebrow{font-size:8px}.index-inner h2{font-size:3rem;margin-top:50px}#project-index-list>a{grid-template-columns:25px 1fr 15px;gap:10px;padding:22px 0}#project-index-list strong{font-size:23px}#project-index-list small{display:none}.no-motion .film-chapter{height:auto}.no-motion .film-copy{height:auto;min-height:100svh}.no-motion .film-transition{height:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Portfolio presentation: short cinematic transfers and permanent reading sections. */
body:after{opacity:.025;animation:none;inset:0;background-size:150px 150px}
body:before{box-shadow:none}
.site-header{position:fixed;height:78px;padding:0 5%;background:#111711e8;backdrop-filter:blur(12px)}
.site-header nav{gap:28px}
.detail-route .site-header{background:#090a0b}
.opening{height:100svh;min-height:600px;padding:0 7%;background:linear-gradient(90deg,rgba(15,20,17,.82),rgba(15,20,17,.38) 40%,transparent 72%)}
.opening-caption{opacity:1;transform:none;max-width:590px}
.opening-caption h1{font-size:clamp(5rem,10vw,10rem);font-weight:500;line-height:.88;letter-spacing:-.07em}
.opening-caption>.eyebrow{color:#deded2;font-size:11px;letter-spacing:.12em}
.opening-caption>p:last-of-type{color:#d4d7cc;font-size:18px;max-width:320px;line-height:1.55;margin:32px 0}
.hero-work-link{font-size:13px;display:inline-flex;gap:60px;align-items:center;border-bottom:1px solid #d0d2c3;padding:12px 0}
.hero-work-link span{font-size:24px}
.opening-bottom{opacity:1;left:7%;right:7%;color:#d1d2c6;font-size:9px}
.opening-bottom>a{display:none}
.film-chapter{height:auto!important;position:relative}
.film-transition{height:160svh;position:relative}
.scene-window{position:sticky;top:0;height:100svh;pointer-events:none}
.film-copy{opacity:1!important;min-height:100svh;height:auto!important;display:block;padding:100px 7% 120px;background:#e7e5dd;color:#202723;position:relative}
.project-heading{display:flex;align-items:baseline;justify-content:space-between;gap:50px;border-top:1px solid #a7ada0;padding-top:25px;margin-bottom:60px}
.project-heading>.eyebrow{color:#576251;font-size:10px;margin:0;max-width:200px}
.film-copy .project-heading h2{font-size:clamp(3rem,6.2vw,6.6rem);margin:0;text-align:right;letter-spacing:-.06em}
.project-presentation{display:grid;grid-template-columns:1.6fr 1fr;gap:7%;align-items:center}
.film-copy-inner{width:auto;max-width:none}
.project-media{display:block;min-width:0;box-shadow:0 30px 55px -35px #26302190;transition:transform .3s}
.project-media:hover{transform:translateY(-4px)}
.home-screen{background:#313932;border:1px solid #687061;overflow:hidden}
.home-screen-top{display:flex;justify-content:space-between;padding:12px 16px;font:9px var(--mono);color:#d8decf;letter-spacing:.05em}
.home-screen img{width:100%;aspect-ratio:1.44;object-fit:cover;object-position:top}
.home-geometry{border:1px solid #747f70}
.home-geometry svg{width:100%;height:auto}
.home-aim{transform-origin:120px 360px;animation:aim-study 6s ease-in-out infinite alternate}
@keyframes aim-study{from{transform:rotate(-14deg)}to{transform:rotate(18deg)}}
.film-copy .project-summary{font-size:clamp(1.15rem,1.8vw,1.65rem);line-height:1.5;color:#303a31;margin:0 0 32px;letter-spacing:-.025em}
.project-facts{margin:0;border-top:1px solid #b6bbae}
.project-facts>div{display:grid;grid-template-columns:80px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid #b6bbae;font-size:12px;line-height:1.5}
.project-facts dt{font:10px/1.8 var(--mono);color:#626d5d}
.project-facts dd{margin:0;color:#343e33}
.film-copy .film-contribution{font-size:13px!important;line-height:1.7!important;color:#626c5d!important;margin:25px 0;max-width:none}
.project-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.film-copy .project-link{color:#202a20;border-color:#6f7a68;font-size:13px}
.film-copy .project-link.secondary{margin-left:0;font-size:11px;color:#5e6957;border-color:#a0a896}
.project-link:hover{opacity:.7}
.end-title{width:100%;padding:100px 7%;min-height:70svh}
.end-title h2{font-size:clamp(2.5rem,5vw,5.5rem);line-height:1.12}
.no-motion .film-transition{display:none}
.no-motion .film-copy{padding-block:85px}
.no-motion .home-aim{animation:none}
.no-motion .opening{height:100svh}
.film-fallback .film-transition{display:none}
.film-fallback .opening{background:#303a32}
@media(min-width:1550px){.project-presentation{grid-template-columns:1.65fr 1fr;gap:8%}.film-copy{padding-inline:max(7%,calc((100vw - 1480px)/2))}}
@media(max-width:900px){
.project-heading{display:block;margin-bottom:35px}.project-heading>.eyebrow{max-width:none;margin-bottom:20px}.film-copy .project-heading h2{text-align:left}
.project-presentation{grid-template-columns:1fr;gap:40px}.film-copy-inner{max-width:650px}
.film-copy{padding:65px 7% 80px}.project-summary{max-width:600px}.project-actions{flex-direction:row;align-items:center;gap:28px}
}
@media(max-width:600px){
.site-header{height:72px;padding:0 6%}.site-header nav{gap:17px}.site-header #motion-toggle{font-size:9px}.wordmark{font-size:11px}
.opening{min-height:650px;background:linear-gradient(90deg,#121a14b3,#121a1440),linear-gradient(0deg,#121a1466,transparent)}
.opening-caption{padding-top:90px;align-self:flex-start;margin-top:19vh;max-width:100%}.opening-caption h1{font-size:5.5rem}.opening-caption>.eyebrow{font-size:9px}
.opening-caption>p:last-of-type{font-size:16px;max-width:235px;margin-top:25px}.opening-bottom{bottom:25px;line-height:1.8;gap:25px}.opening-bottom>span:first-child{max-width:165px}
.film-transition{height:140svh}.film-copy{background:#e7e5dd;padding:55px 6% 70px;min-height:0}
.film-copy:before{display:none}.film-copy .project-heading h2{font-size:3rem}.film-copy-inner{width:100%;max-width:none}
.film-copy .project-summary{font-size:1.25rem}.project-actions{flex-direction:column;align-items:flex-start;gap:8px}
.home-screen-top{font-size:8px;padding:9px 12px}.project-heading{padding-top:20px}.project-heading>.eyebrow{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.home-aim{animation:none}.project-media{transition:none}}

/* The router and skip link focus this landmark; only interactive controls need a ring. */
#main:focus { outline: none; }