/* One material language, from the first move to the next conversation. */
:root{--ink:#101610;--surface:#1d251b;--paper:#f1eee5;--gold:#c5b586;--olive:#8c9575;--muted:#b9bdb2;--serif:'Instrument Serif',Georgia,serif;--sans:Manrope,Arial,sans-serif;color-scheme:dark}
html{background:var(--ink);scrollbar-color:var(--olive) var(--ink)}
body{background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:16px}
button,input,textarea,select{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}
:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.signature h1,.opening h2,.strategy-story h2,.fw-heading h2,.fw-case-heading :is(h1,h2),.founder-bio :is(h1,h2),.next-letter-fallback{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}
.signature{width:min(44vw,700px);left:6vw}.signature h1{font-size:clamp(64px,6.1vw,120px);line-height:.99}.signature h1 em{color:var(--gold)}
.intro-description{font:400 clamp(16px,1.12vw,21px)/1.65 var(--sans);max-width:420px;margin-top:28px;color:var(--muted)}
.intro-links{gap:24px;flex-wrap:wrap}.intro-primary{background:var(--gold);color:var(--ink);padding:18px 27px;font-size:15px;min-height:54px}.intro-secondary{font-size:15px}.byline{font-size:12px!important;letter-spacing:.06em}
.eyebrow,.brand span{font-size:12px;line-height:1.5;letter-spacing:.13em}.brand{font-size:13px}.intro-stage .edition{font-size:12px}.intro-stage footer{font-size:13px}
.opening{max-width:360px}.opening h2,.strategy-story h2{font-size:clamp(38px,3.8vw,72px);line-height:1.05}.opening>p:not(.eyebrow),.strategy-story>p:not(.eyebrow){font:400 16px/1.65 var(--sans);color:var(--muted)}
.strategy-story{max-width:340px}.strategy-controls{font-size:13px}.chess-move{min-height:38px;min-width:38px}.strategy-legend{font-size:12px}.stage footer{font-size:13px}.project-chapter .stage{background:radial-gradient(ellipse at 52% 46%,#252e20 0%,#101610 65%)}
.featured-work{--fw-ink:var(--ink);--fw-muted:#555d51;background:var(--paper);padding:110px 6vw 150px;font-family:var(--sans);color-scheme:light}.fw-heading{max-width:1600px;margin-bottom:90px;align-items:flex-start}.fw-heading h2{font-size:clamp(60px,7.9vw,142px);line-height:.94;max-width:70%;letter-spacing:-.045em}.fw-intro{font-size:14px;line-height:1.7;max-width:260px;text-transform:none}
.fw-grid{max-width:1600px;column-gap:5vw;row-gap:100px}.fw-card:nth-child(even){margin-top:160px}.fw-card:nth-child(odd){margin-bottom:140px}.fw-reveal{border-radius:3px}.fw-frame{aspect-ratio:1.65}.fw-card h3{font:400 clamp(30px,3.1vw,55px)/1.13 var(--sans);letter-spacing:-.045em}.fw-meta{font-size:12px;letter-spacing:.035em;margin:24px 0 11px}.fw-summary{font-size:16px;line-height:1.6;margin:15px 0 0;color:#555d51;max-width:440px}.fw-card-number{font-size:12px;letter-spacing:.12em;color:#616a58;display:block;margin-bottom:18px}.fw-card:nth-child(even) .fw-frame{aspect-ratio:1.35}
.fw-index{max-width:1600px;margin:50px auto 0;padding:32px 0 0;border-top:1px solid #10161030;display:flex;align-items:center;justify-content:space-between;gap:30px}.fw-index p{font-size:13px;color:#555d51}.fw-index a{font-size:clamp(20px,2.5vw,36px);color:var(--ink);text-decoration:none;border-bottom:1px solid #10161060;padding:10px 0}
.founder{background:var(--ink)}.founder-experience{display:none}.founder-bio{padding:140px 6vw;display:grid;grid-template-columns:.95fr 1fr;gap:8vw;max-width:1800px;margin:auto;background:var(--ink)}.founder-bio-label{display:block;position:relative}.founder-bio-label>p{font:400 12px/1.6 var(--sans);letter-spacing:.12em;color:var(--gold);margin:0 0 24px}.founder-portrait{aspect-ratio:4/5;width:100%;display:block;object-fit:cover;object-position:50% 30%;border-radius:2px}.founder-detail{width:36%;aspect-ratio:4/5;object-fit:cover;position:absolute;right:-9%;bottom:42px;border:9px solid var(--ink)}.founder-bio-label>span{display:block;color:var(--muted);font-size:12px;margin-top:20px}.founder-bio-copy{padding-top:65px}.founder-bio :is(h1,h2){font-size:clamp(46px,4.5vw,80px);line-height:1.02;margin-bottom:38px}.founder-bio-copy .founder-lead{font:400 clamp(21px,1.75vw,30px)/1.45 var(--sans);color:var(--paper)}.founder-bio-copy>p{font-size:16px;line-height:1.75;color:var(--muted)}.founder-contributions{margin:40px 0}.founder-contributions span{font-size:12px}.founder-contributions p{font-size:15px}.founder-project-link{font-size:15px}
.next-move{background:var(--paper);color:var(--ink);color-scheme:light}.next-stage{padding:100px 6vw 120px;max-width:1600px;margin:auto}.next-eyebrow{font-size:12px;letter-spacing:.14em;color:#58624f}.next-letter-scene{height:auto;min-height:0;margin:50px auto 65px}.next-letter-fallback{font-size:clamp(86px,12vw,200px);line-height:.9;position:relative;opacity:1!important;color:var(--ink);text-transform:none;transform:none!important}.next-letter-fallback span{display:inline}.next-letter-canvas{display:none}.next-content{max-width:820px;margin:0 auto}.next-intro{font-size:21px;line-height:1.5;margin-bottom:44px}.next-goals legend{font-size:14px;margin-bottom:17px}.next-goals label span{padding:14px 21px;font-size:15px;min-height:48px}.next-goals{gap:10px;flex-wrap:wrap}.contact-fields{margin-top:42px;gap:32px}.contact-field>span:first-child{font-size:14px}.contact-field input,.contact-field textarea{font-size:18px;line-height:1.5;padding:14px 0;min-height:52px;color:var(--ink);border-color:#10161040}.contact-action-row{margin-top:26px}.contact-submit{min-height:56px;font-size:16px;padding:18px 30px;background:var(--ink);color:var(--paper)}.contact-help,.contact-required{font-size:13px;line-height:1.5}.contact-status{font-size:16px;line-height:1.5}.contact-direct{font-size:14px}.field-error{font-size:14px!important;color:#8a342a}
.closing-shell,.closing-surface{background:var(--ink)}.closing-lockup span{font-family:var(--sans);font-weight:400;letter-spacing:-.075em}.closing-lockup img{filter:saturate(.3)}.closing-details a{font-size:clamp(22px,3vw,45px)}.closing-top,.closing-bottom{font-size:12px;color:var(--muted)}.closing-nav a{font-size:14px}
.site-controls{gap:10px}.site-menu-trigger,.site-language-switch button{min-height:42px}.site-language-switch button{min-width:36px}.menu-panel{background:var(--ink);color:var(--paper)}.menu-curve path{fill:var(--ink)}.menu-links a{font-family:var(--serif);font-size:clamp(45px,6vw,92px);line-height:1.08;letter-spacing:-.035em}.menu-links small{font:400 12px var(--sans);color:var(--gold)}.menu-bottom img{filter:saturate(.3)}
.fw-case-heading :is(h1,h2){font-family:var(--serif);font-size:clamp(60px,8vw,136px);line-height:.96}.fw-case-details p{font-size:18px;color:var(--muted)}.fw-case-cover{border-radius:2px}
@media(max-width:1000px){.signature{width:48vw}.signature h1{font-size:clamp(48px,7vw,76px)}.fw-heading h2{max-width:100%}.fw-card:nth-child(even){margin-top:100px}.fw-card:nth-child(odd){margin-bottom:70px}.founder-bio{gap:6vw}.founder-bio-copy{padding-top:30px}}
@media(max-width:767px){.signature{left:24px;top:auto;bottom:115px;width:calc(100% - 48px);transform:none}.signature h1{font-size:clamp(49px,12vw,75px)}.intro-description{max-width:330px;font-size:16px;margin-top:20px}.intro-links{gap:15px}.intro-primary{padding:16px 21px}.signature .byline{display:none}.intro-stage .edition{display:none}.intro-stage footer #hint{display:none}.opening,.strategy-story{max-width:none;width:calc(100% - 48px);left:24px;right:24px}.opening h2,.strategy-story h2{font-size:38px}.opening>p:not(.eyebrow),.strategy-story>p:not(.eyebrow){font-size:16px}.featured-work{padding:80px 24px 85px}.fw-heading{margin-bottom:48px}.fw-heading h2{font-size:65px;max-width:100%}.fw-grid{gap:55px}.fw-card:nth-child(n){margin:0}.fw-frame,.fw-card:nth-child(even) .fw-frame{aspect-ratio:4/5}.fw-card .fw-image{object-fit:cover}.fw-card h3{font-size:34px}.fw-index{align-items:flex-start;flex-direction:column;gap:8px}.founder-bio{grid-template-columns:1fr;padding:85px 24px;gap:60px}.founder-bio-label{max-width:470px;padding-right:25px}.founder-detail{right:0;bottom:18px;border-width:7px}.founder-bio-copy{padding:0}.founder-bio :is(h1,h2){font-size:53px}.founder-bio-copy .founder-lead{font-size:23px}.next-stage{padding:80px 24px}.next-letter-fallback{font-size:clamp(68px,17vw,110px);line-height:.9}.next-letter-fallback span{display:block}.next-content{width:100%}.next-intro{font-size:18px}.next-goals label span{padding:13px 16px;font-size:14px}.contact-fields{grid-template-columns:1fr}.contact-submit{width:100%;justify-content:space-between}.site-controls{right:18px;top:18px}.site-language-switch button{min-width:30px;font-size:12px}.site-menu-trigger{padding:10px 15px}.menu-links a{font-size:52px}.fw-case-heading :is(h1,h2){font-size:64px}.fw-case-details{gap:30px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.fw-card .fw-shape,.fw-pan,.founder-portrait,.founder-detail{transform:none!important}}
/* Editorial rhythm and shared materials. */
.intro-stage{--ink:#f1eee5;--gold:#c5b586;--muted:#b9bdb2;font-family:var(--sans)}
.intro-stage .signature h1{font-family:var(--serif);font-size:clamp(64px,6.9vw,126px);line-height:.98;letter-spacing:-.045em}.intro-stage .signature h1 em{font-size:1em;color:var(--gold)}
.intro-stage .signature{top:34%;left:6vw;width:47vw}.intro-stage .intro-description{font-family:var(--sans);line-height:1.65;color:var(--muted)}
.fw-heading h2{max-width:none}.fw-heading h2 em,.founder-bio :is(h1,h2) em{font-style:italic;color:inherit}.featured-work .fw-eyebrow,.portfolio-faq .fw-eyebrow{color:#61694f;font-size:12px;letter-spacing:.13em}.fw-card-number{position:absolute;left:0;top:-30px;margin:0}.fw-index>span{font-size:12px;letter-spacing:.08em;color:#59624f}.fw-index a{display:flex;align-items:center;justify-content:space-between;gap:35px;width:70%;border:0}.fw-index strong{font-weight:400}.fw-index a>span{font-size:13px}.fw-index a:hover strong{text-decoration:underline;text-underline-offset:8px}
.founder-portrait{margin:30px 0 0;aspect-ratio:auto;overflow:hidden}.founder-portrait img{width:100%;display:block;height:auto;transform:translateY(var(--portrait-shift,0px)) scale(1.045);border-radius:2px}.founder-portrait figcaption{position:relative;background:var(--ink);padding-top:20px;font-size:12px;letter-spacing:.08em;color:var(--muted)}.founder-detail{position:relative;right:auto;bottom:auto;display:flex;align-items:center;gap:24px;width:auto;aspect-ratio:auto;border:0;margin:50px 0 0}.founder-detail img{width:125px;height:150px;object-fit:cover;object-position:center 25%;border-radius:2px}.founder-detail figcaption{font-size:14px;line-height:1.6;color:var(--muted)}.founder-bio-copy{min-width:0}.founder-bio :is(h1,h2){overflow-wrap:anywhere}
.case-interfaces{margin:100px 0 70px}.case-interface-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:35px}.case-interface-heading h3{font:400 clamp(36px,4vw,60px)/1.1 var(--serif);margin:0}.strategy-toggle{border:1px solid #c5b58670;border-radius:50px;min-height:48px;padding:12px 20px;display:flex;gap:25px;align-items:center;font-size:14px}.strategy-toggle[aria-pressed=true]{background:var(--gold);color:#101610}.case-screen{margin:0 0 60px}.case-screen>img{display:block;width:100%;height:auto;border:1px solid #ffffff18}.case-screen figcaption{display:flex;align-items:baseline;gap:25px;margin-top:22px}.case-screen h4{font:400 23px/1.3 var(--sans);margin:0}.case-screen figcaption>span{font-size:12px;color:var(--gold)}.strategy-notes{padding:25px 0 0;list-style:none;counter-reset:notes;display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-top:1px solid #c5b58640;margin-top:28px}.strategy-notes[hidden]{display:none}.strategy-notes li{counter-increment:notes;font-size:15px;line-height:1.65;color:var(--muted)}.strategy-notes li:before{content:'0' counter(notes);display:block;color:var(--gold);font-size:12px;margin-bottom:10px}

.scroll-space{height:930svh}.project-chapter{isolation:isolate}.king-copy{position:absolute;left:6vw;top:30%;width:48vw;z-index:3;opacity:0;pointer-events:none}.king-copy:not([inert]){pointer-events:auto}.king-copy h2{font:400 clamp(58px,6.9vw,130px)/.98 var(--serif);letter-spacing:-.045em;margin:0 0 28px;text-wrap:balance}.king-copy em{font-weight:400;color:var(--gold)}.king-copy>p:not(.eyebrow){font:400 16px/1.65 var(--sans);max-width:440px;color:var(--muted)}.king-coordinate{display:block;margin-top:65px;font-size:12px;letter-spacing:.15em;color:#8c9575}.project-handoff{position:fixed;z-index:8;pointer-events:none;opacity:0;visibility:hidden;overflow:hidden;border-radius:3px}.project-handoff img{width:100%;height:100%;object-fit:cover;display:block}.project-chapter:has(+.featured-work){z-index:5}.project-chapter+.featured-work{margin-top:-100svh}.journey .project-chapter{z-index:5}.journey .intro-chapter{z-index:6}.stage:has(.king-copy:not([inert])) footer{opacity:0;pointer-events:none}.stage footer{transition:opacity .3s}.lift-caption{top:13%;z-index:2}.lift-caption .eyebrow{color:var(--gold)}
.finale{position:relative;isolation:isolate;height:90svh;min-height:560px;max-height:1000px;background:#101610;overflow:hidden;display:grid;place-items:center}.finale-copy{position:relative;z-index:2;text-align:center;width:90%;padding:45px 0;background:radial-gradient(ellipse,#101610e8,transparent 72%)}.finale-copy h2{font:400 clamp(60px,6.9vw,118px)/1 var(--serif);letter-spacing:-.035em;margin:0 0 35px}.finale-copy h2 em{color:var(--gold)}.portfolio-faq{position:relative;z-index:4;padding:110px 6vw;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:1fr 1.2fr;gap:8vw}.portfolio-faq h2{font:400 clamp(48px,5.7vw,96px)/.98 var(--serif);letter-spacing:-.035em;margin:0}.faq-list details{border-top:1px solid #10161030;padding:24px 0}.faq-list details:last-child{border-bottom:1px solid #10161030}.faq-list summary{font-size:17px;line-height:1.5;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px}.faq-list summary:after{content:'+';font-size:24px;font-weight:400}.faq-list details[open] summary:after{content:'−'}.faq-list summary::-webkit-details-marker{display:none}.faq-list p{font-size:15px;line-height:1.75;color:#555d51;max-width:570px;margin:20px 0 0}.contact-trap{position:absolute;clip-path:inset(100%);width:1px;height:1px;overflow:hidden}.next-letter-fallback{font-family:var(--serif)}.next-letter-fallback span:first-child:after{content:' '}.closing-bottom a{border-bottom:1px solid #c5b58655;padding:7px 0}.next-goals input:focus-visible+span{outline:2px solid #101610;outline-offset:4px}.next-goals input:checked+span{background:#101610;color:#f1eee5;border-color:#101610}.portfolio-faq :focus-visible,.next-move :focus-visible{outline-color:#101610}
@media(min-width:768px){.fw-heading>div{min-width:60%}.fw-intro{margin-top:48px}}
@media(max-width:1000px){.king-copy{left:24px;width:55vw}.king-copy h2{font-size:70px}.portfolio-faq{gap:6vw}}
@media(max-width:767px){.intro-stage .signature{left:24px;top:auto;bottom:108px;width:calc(100% - 48px)}.intro-stage .signature h1{font-size:clamp(48px,11.8vw,78px);line-height:1}.intro-stage .signature .eyebrow{font-size:11px;letter-spacing:.1em}.intro-stage .intro-description{font-size:15px;margin-top:20px;max-width:330px}.intro-stage .intro-links{margin-top:22px}.intro-stage .byline{display:none}.site-controls{gap:5px}.fw-index a{width:100%;flex-wrap:wrap;gap:15px;font-size:25px}.fw-card-number{top:-22px;font-size:11px}.fw-grid{gap:74px}.fw-frame,.fw-card:nth-child(even) .fw-frame{aspect-ratio:9/13}.founder-bio-label{padding-right:0}.founder-portrait{max-width:100%;margin:30px 0 0}.founder-detail{margin-top:38px}.case-interface-heading{align-items:flex-start;flex-direction:column}.case-interfaces{margin-top:65px}.strategy-notes{grid-template-columns:1fr}.case-screen h4{font-size:20px}.king-copy{top:105px;left:24px;width:calc(100% - 48px)}.king-copy h2{font-size:clamp(46px,12.5vw,76px);margin-bottom:20px;max-width:440px}.king-copy>p:not(.eyebrow){font-size:14px;line-height:1.55;max-width:325px}.king-copy .eyebrow{font-size:11px;margin-bottom:16px}.king-copy .text-link{font-size:13px}.king-coordinate{display:none}.scroll-space{height:800svh}.strategy-story,.strategy-story[data-side=competition]{top:100px}.strategy-story h2{font-size:35px}.strategy-story>p:not(.eyebrow){font-size:14px;max-width:340px}.strategy-story #story-detail{margin-top:9px}.strategy-controls{bottom:79px}.strategy-legend{font-size:11px}.chess-move{min-width:34px;padding:8px 7px}.finale{min-height:550px;height:78svh}.finale-copy h2{font-size:57px}.finale-copy .eyebrow{font-size:10px}.portfolio-faq{grid-template-columns:1fr;padding:85px 24px;gap:45px}.portfolio-faq h2{font-size:63px}.faq-list summary{font-size:16px}.next-letter-fallback{font-size:clamp(78px,20vw,135px)}.next-letter-scene{margin:40px 0 50px}.next-stage{padding-top:40px}.closing-bottom{flex-wrap:wrap}}
@media(max-height:650px) and (min-width:768px){.king-copy{top:23%}.king-copy h2{font-size:68px}.king-coordinate{display:none}.intro-stage .signature{top:25%}.intro-stage .signature h1{font-size:70px}.strategy-story{top:23%}.strategy-story h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){.founder-portrait img{transform:none!important}.project-handoff{display:none!important}.scroll-space{height:650svh}}

.intro-stage .edition{display:none}.intro-stage .signature{transform:none}.intro-stage .byline{color:var(--muted);opacity:1}.intro-stage .actions[hidden]{display:none!important}.intro-stage .fallback{filter:saturate(.5)}
.project-chapter.no-webgl{margin-bottom:0!important;z-index:4!important}.no-webgl>.stage,.no-webgl>.scroll-space{display:none!important}.project-chapter.no-webgl+.featured-work{margin-top:0}.chess-fallback{padding:130px 6vw 110px;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px 7vw;align-items:center;background:radial-gradient(ellipse at 60% 50%,#283122,#101610 70%)}.fallback-heading h2{font:400 clamp(48px,5vw,82px)/1.03 var(--serif);letter-spacing:-.035em;margin:0 0 25px}.fallback-heading em{color:var(--gold)}.fallback-heading>p:last-child{font-size:16px;color:var(--muted);line-height:1.7}.fallback-play{grid-column:2;grid-row:1/3;min-width:0}.fallback-board{display:grid;grid-template-columns:repeat(8,1fr);width:100%;aspect-ratio:1;box-shadow:0 25px 70px #0007;border:9px solid #30392a;outline:1px solid #c5b58660;border-radius:3px}.fallback-cell{display:grid;position:relative;place-items:center;min-width:0;line-height:1;font-family:Georgia,serif;font-size:clamp(27px,3vw,50px)}.fallback-cell.light{background:#bcc1ae}.fallback-cell.dark{background:#59624e}.fallback-cell.white-piece{color:#fff9e8;text-shadow:0 1px 2px #171c17,1px 0 #171c17,-1px 0 #171c17}.fallback-cell.black-piece{color:#172018;text-shadow:0 1px #e0dcc840}.fallback-cell.active{box-shadow:inset 0 0 0 3px #e1bd6a;background:#a79b66}.fallback-cell small{position:absolute;left:4px;bottom:3px;font:400 9px var(--sans);color:#172018;text-shadow:none}.fallback-moves{display:flex;gap:6px;margin-top:23px;justify-content:center}.fallback-moves button{border:1px solid #c5b58640;padding:11px 12px;min-height:44px;font-size:14px}.fallback-moves button[aria-pressed=true]{color:var(--ink);background:var(--gold)}.fallback-story{min-height:250px;max-width:420px}.fallback-story h3{font:400 40px/1.08 var(--serif);margin:0 0 20px}.fallback-story>p:not(.eyebrow){font-size:16px;line-height:1.65;color:var(--muted)}.fallback-story .fallback-step{color:var(--gold)!important;font-size:12px!important}.no-webgl>.king-copy{position:relative;left:auto;top:auto;width:100%;min-height:850px;opacity:1!important;transform:none!important;padding:170px 6vw 160px;background:#101610 url('/assets/chess/king-fallback.webp') no-repeat 90% 50% / auto 95%;pointer-events:auto}.no-webgl>.king-copy h2{max-width:55%}.no-webgl>.king-copy:after{content:'';position:absolute;left:6vw;right:6vw;top:0;height:1px;background:#c5b58620}.no-webgl>.king-copy .king-coordinate{margin-top:40px}
@media(max-width:767px){.chess-fallback{grid-template-columns:1fr;gap:38px;padding:100px 24px 70px}.fallback-heading h2{font-size:51px}.fallback-play{grid-column:auto;grid-row:auto}.fallback-cell{font-size:35px}.fallback-story{min-height:230px;max-width:none}.fallback-story h3{font-size:37px}.fallback-moves{gap:4px;flex-wrap:wrap}.fallback-moves button{padding:10px 9px;font-size:12px;min-width:33px}.no-webgl>.king-copy{padding:75px 24px 420px;min-height:860px;background-position:center bottom;background-size:auto 55%}.no-webgl>.king-copy h2{max-width:none;font-size:56px}.no-webgl>.king-copy>p:not(.eyebrow){font-size:15px;max-width:340px}}
.fw-case,.fw-case-heading :is(h1,h2),.featured-dialog .fw-case-heading :is(h1,h2){color:#f1eee5}.stage{color:#f1eee5}.founder-bio-copy :is(h1,h2){color:#f1eee5}.king-copy{color:#f1eee5}
@media(max-width:767px){.intro-stage .fallback{top:85px;height:clamp(110px,calc(100svh - 540px),310px);width:70%;left:15%;object-fit:contain}.king-copy h2{max-width:none}.intro-stage .signature h1{font-weight:400}}
.project-handoff picture{display:block;width:100%;height:100%}.fw-card:first-child .fw-pan{inset:0;transform:none}.fw-card:first-child .fw-shape{transform:none}
@media(max-width:767px){.next-stage{padding-top:100px}}
.next-eyebrow:before{content:'';display:inline-block;width:9px;height:9px;background:var(--goal-color,#8c9575);transform:rotate(45deg);margin-right:14px;transition:background .3s}

/* A solid, framed reading surface, independent of the moving chess scene. */
.king-copy{top:24%;left:5vw;width:54vw;max-width:960px}
.king-panel{position:relative;padding:clamp(28px,3vw,58px);border:1px solid #c5b58666;border-radius:3px;background:linear-gradient(135deg,#20291e,#111810 75%);box-shadow:0 28px 90px #0005}
.king-panel:before{content:'';position:absolute;inset:7px;border:1px solid #c5b58616;border-radius:1px;pointer-events:none}
.king-panel h2{font-size:clamp(60px,6.1vw,118px);line-height:1.02;margin-bottom:25px;max-width:none!important}
.king-panel>p:not(.eyebrow){font:400 16px/1.65 var(--sans);max-width:470px;color:#c6ccbf;margin:0 0 18px}
.king-panel .eyebrow{max-width:calc(100% - 40px);font-size:11px;margin-bottom:24px}
.king-panel .text-link{color:var(--paper);border-bottom-color:#c5b58680}
.king-panel .text-link:hover{color:var(--gold)}
.king-panel .king-coordinate{position:absolute;right:25px;top:24px;margin:0!important;font-size:10px;color:#9ba488}
.stage footer[inert]{pointer-events:none}
.no-webgl>.king-copy{padding:120px 5vw;min-height:880px;background-size:auto 103%;background-position:94% 50%;max-width:none}
.no-webgl>.king-copy .king-panel{width:60%;max-width:960px}
/* Silk by React Bits, adapted locally. Its moving folds remain behind a calm text zone. */
.finale{height:88svh;min-height:650px;max-height:1000px;background:#101610}
.finale-silk{position:absolute;inset:0;pointer-events:none;background:#101610 url('/assets/finale/silk-poster.webp') center/100% 100% no-repeat}
.finale-silk canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity 1.2s}
.finale-silk[data-ready] canvas{opacity:1}
.finale:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,#101610ed 0%,#101610cf 25%,#10161038 66%,#10161044),linear-gradient(#101610 0%,transparent 22%,transparent 75%,#101610 100%)}
.finale-copy{width:min(94%,1400px);padding:100px 24px;background:none}
.finale-copy .eyebrow{color:#c5b586;margin-bottom:32px}
.finale-copy h2{font-size:clamp(66px,7.8vw,146px);line-height:1.02;margin-bottom:42px;text-wrap:balance;color:var(--paper)}
.finale-copy .text-link{border:1px solid #c5b58670;border-radius:50px;padding:16px 25px;gap:38px;min-height:56px;color:var(--paper);background:#10161080;transition:background .25s,border-color .25s}
.finale-copy .text-link:hover{background:#c5b586;color:#101610;border-color:#c5b586}
@media(min-width:768px) and (max-height:700px){
 .king-copy{top:19%}.king-panel{padding:25px 30px}.king-panel h2{font-size:clamp(54px,5.3vw,88px);margin-bottom:18px}.king-panel .eyebrow{margin-bottom:16px}.king-panel>p:not(.eyebrow){font-size:14px;margin-bottom:8px}
}
@media(max-width:1000px) and (min-width:768px){.king-copy{width:57vw;left:3vw}.king-panel{padding:28px}.king-panel h2{font-size:58px}.king-panel>p:not(.eyebrow){font-size:14px}}
@media(max-width:767px){
 .king-copy{left:16px;top:92px;width:calc(100% - 32px)}
 .king-panel{padding:25px 23px}.king-panel h2,.no-webgl>.king-copy h2{font-size:clamp(42px,10.8vw,70px);margin-bottom:18px}
 .king-panel .eyebrow{max-width:none;font-size:9px;letter-spacing:.10em;margin-bottom:15px}
 .king-panel>p:not(.eyebrow){font-size:13px;line-height:1.6;margin-bottom:12px;max-width:400px}.king-panel p br{display:none}
 .king-panel .text-link{font-size:12px;gap:14px;padding:9px 0;min-height:44px}
 .no-webgl>.king-copy{padding:70px 16px 450px;min-height:900px;background-size:auto 52%;background-position:center bottom}
 .no-webgl>.king-copy .king-panel{width:100%;max-width:none}
 .finale{height:78svh;min-height:570px}.finale-copy{width:100%;padding:80px 23px}.finale-copy h2{font-size:clamp(50px,13.3vw,85px);margin-bottom:35px}.finale-copy .eyebrow{font-size:9px;letter-spacing:.11em;margin-bottom:28px}.finale-copy .text-link{font-size:13px;padding:15px 21px}
}
@media(prefers-reduced-motion:reduce){.finale-silk canvas{transition:none}}
@media(min-width:768px) and (max-aspect-ratio:23/20){
 .king-copy{top:100px;left:6vw;width:88vw;max-width:none}.king-panel{padding:35px}.king-panel h2{font-size:clamp(62px,7.5vw,88px)}.king-panel>p:not(.eyebrow){max-width:none;font-size:16px}.king-panel p br{display:none}
 .no-webgl>.king-copy{padding:90px 6vw 600px;min-height:1050px;background-size:auto 62%;background-position:center bottom}.no-webgl>.king-copy .king-panel{width:100%}
}

/* Opt-in soundtrack control; the track is downloaded only on activation. */
.sound-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:none;min-width:44px;min-height:44px;padding:11px 15px;border:1px solid #c5b58655;border-radius:30px;background:#101610eb;color:#f1eee5;font:500 13px/1 var(--sans);cursor:pointer}
.sound-toggle:hover,.sound-toggle[aria-pressed=true]{color:#c5b586;border-color:#c5b586}
.sound-mark{display:flex;align-items:center;justify-content:center;gap:3px;width:16px;height:16px}
.sound-mark i{display:block;width:2px;height:5px;background:currentColor;border-radius:2px;transform-origin:center}
.sound-mark i:nth-child(2){height:12px}.sound-mark i:nth-child(3){height:8px}
.sound-toggle[data-playing=true] .sound-mark i{animation:sound-meter 1.25s ease-in-out infinite alternate}
.sound-toggle[data-playing=true] .sound-mark i:nth-child(2){animation-delay:-.4s}.sound-toggle[data-playing=true] .sound-mark i:nth-child(3){animation-delay:-.8s}
.sound-toggle[aria-busy=true] .sound-mark{opacity:.5}
.sound-status{position:absolute;top:calc(100% + 9px);right:0;width:max-content;max-width:min(290px,calc(100vw - 40px));padding:11px 15px;border:1px solid #c5b58650;border-radius:3px;background:#101610;color:#f1eee5;font:400 13px/1.5 var(--sans);box-shadow:0 8px 25px #0003}
.sound-status[hidden]{display:none}
@keyframes sound-meter{from{transform:scaleY(.45)}to{transform:scaleY(1)}}
@media(max-width:767px){.sound-toggle{padding:10px}.sound-toggle>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.sound-toggle .sound-mark i{animation:none!important}}
