@font-face{font-family:Plex;src:url('/assets/plex-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Plex;src:url('/assets/plex-500.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Plex;src:url('/assets/plex-700.woff') format('woff');font-weight:700;font-display:swap}@font-face{font-family:Display;src:url('/assets/display-400.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:Display;src:url('/assets/display-italic-400.woff') format('woff');font-weight:400;font-style:italic;font-display:swap}
:root{--paper:#f8f6ef;--ink:#181814;--orange:#dd5925;--rule:#c8c5bc;--water:#18262b;--brass:#d4c18d;--ease:cubic-bezier(.22,.61,.36,1);font-family:Plex,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}h1,h2,p,figure{margin:0}h1,h2{letter-spacing:-.065em;line-height:.99;font-weight:700}h1{font-size:clamp(60px,8vw,128px)}h1 span{color:var(--orange)}h2{font-size:clamp(46px,5vw,80px)}em{font-family:Display,serif;font-weight:400}img{display:block;max-width:100%;height:auto;object-fit:cover}svg{display:block}a,button{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}.skip{position:absolute;top:-80px;left:15px;padding:15px;background:var(--orange);z-index:30}.skip:focus{top:10px}.brand{display:flex;align-items:center;gap:13px;font-weight:700;font-size:17px;letter-spacing:.24em}.brand svg{width:31px;height:31px;fill:var(--orange)}.book{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--orange);color:var(--ink);padding:15px 20px;font-size:14px;font-weight:500;border:1px solid var(--orange)}.book:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.intro{padding:26px 5vw 0;position:relative}.intro-top{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.14em;margin-bottom:40px}.intro h1{max-width:1200px}.intro-bottom{display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:end;gap:35px;margin-top:38px;margin-bottom:36px}.intro-bottom p{font-size:17px;line-height:1.6}.intro-bottom strong{font-weight:500}.scroll-link{display:flex;align-items:center;justify-content:space-between;max-width:235px;border-bottom:1px solid var(--ink);padding:14px 0;font-size:14px}.scroll-link svg{width:17px;height:27px;stroke:var(--ink);stroke-width:1.5;fill:none}.project-stamp{border-left:1px solid var(--rule);padding-left:25px;display:grid;gap:9px;font-size:10px;letter-spacing:.12em}.project-stamp strong{font-size:22px;letter-spacing:-.02em;font-weight:500}.intro-rule{height:1px;background:var(--ink)}
.build-story{position:relative;background:var(--paper);border-bottom:1px solid var(--rule)}.theatre{display:none}.steps{padding:0 5vw}.step{padding:40px 0;border-bottom:1px solid var(--rule)}.step-copy{max-width:650px}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.14em;margin-bottom:22px;display:flex;align-items:center;gap:13px}.eyebrow>span{font-size:14px;background:var(--orange);color:var(--ink);padding:7px;letter-spacing:0}.step-copy>p:not(.eyebrow){font-size:17px;line-height:1.6;max-width:330px;margin-top:24px}.step-copy p.step-small{font-size:14px;color:#62615a;margin-top:17px;max-width:315px}.step-detail{display:grid;gap:9px;border-top:1px solid var(--rule);padding-top:18px;margin-top:26px;max-width:330px}.step-detail span{font-size:10px;letter-spacing:.12em;color:#68675f}.step-detail strong{font-size:12px;font-weight:500}.finished{background:var(--water);color:var(--paper);padding:35px 5vw 65px}.finished-top{display:flex;justify-content:space-between;border-bottom:1px solid #536168;padding-bottom:22px;font-size:11px;letter-spacing:.13em}.finished-body{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:7vw;margin-top:50px}.finished h2{font-family:Display,serif;font-weight:400;letter-spacing:-.035em;line-height:1.02;font-size:clamp(52px,6vw,88px)}.finished h2 em{color:var(--brass)}.finished-body>div>p:not(.eyebrow){font-size:16px;line-height:1.7;max-width:320px;margin-top:25px}.finished figure img{width:100%;aspect-ratio:1.4;object-fit:cover}.finished figcaption{font-size:10px;letter-spacing:.15em;padding-top:15px}.demo-link{display:inline-flex;gap:32px;align-items:center;border-bottom:1px solid var(--brass);padding-bottom:12px;margin-top:27px;font-size:14px;color:var(--brass)}footer{margin:0 5vw;border-top:1px solid var(--rule);padding:28px 0}footer>div{display:flex;align-items:center;justify-content:space-between;gap:20px}footer>div>span,footer>div>a:not(.brand){font-size:10px;letter-spacing:.08em}footer>p{font-size:11px;line-height:1.7;color:#68675f;max-width:900px;margin-top:22px}.view-settings{margin-top:20px;font-size:12px}.view-settings summary{cursor:pointer;width:max-content}.view-settings button{margin-top:14px;border:1px solid var(--ink);background:none;padding:10px 15px;color:var(--ink)}
/* Progressive enhancement. The normal document above contains no scroll budget. */
.enhanced .build-story{display:grid;grid-template-areas:'story';view-timeline-name:--construction;view-timeline-axis:block}.enhanced .theatre{display:block;grid-area:story;position:sticky;top:0;height:100svh;align-self:start;overflow:hidden;pointer-events:none;z-index:1}.enhanced .steps{grid-area:story;position:relative;z-index:2;pointer-events:none}.enhanced .step{height:96svh;min-height:680px;padding:0;display:flex;align-items:center;border:0}.enhanced .step-copy{width:27%;max-width:350px;padding-bottom:20px}.enhanced .step h2{font-size:clamp(45px,4.6vw,70px)}.stage-top{position:absolute;top:24px;left:5vw;right:5vw;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.14em;z-index:8}.stage-top span:nth-child(2){color:var(--orange)}.stage-bottom{position:absolute;bottom:25px;left:5vw;right:5vw;display:flex;align-items:center;gap:30px;font-size:10px;letter-spacing:.1em;z-index:8}.stage-progress{height:2px;background:var(--rule);flex:1}.stage-progress i{display:block;background:var(--orange);height:2px;transform:scaleX(0);transform-origin:left}.stage-number{font-size:12px;font-weight:500}.composition{position:absolute;left:35vw;right:5vw;top:15%;bottom:15%;}.browser-frame{position:absolute;inset:0;background:#fff;border:1px solid #55554d;box-shadow:0 18px 35px -27px #0008;overflow:hidden;opacity:0;transform:translateY(5%) rotate(-3deg) scale(.85);transform-origin:center center;transition:transform 650ms var(--ease),opacity 500ms var(--ease)}.browser-chrome{height:34px;display:flex;justify-content:space-between;align-items:center;padding:0 14px;border-bottom:1px solid #ccc;background:#f3f2ed;font-size:9px;color:#797970;letter-spacing:.06em;position:relative;z-index:5}.window-marks{letter-spacing:4px;font-size:10px}.browser-state{font-size:8px;letter-spacing:.12em}.demo-surface{position:absolute;inset:34px 0 0;background:#eeece4;overflow:hidden}.demo-photo{position:absolute;inset:0;width:100%;height:100%;opacity:0;transform:scale(1.08);transition:transform 650ms var(--ease),opacity 650ms var(--ease);object-position:center}.demo-shade{position:absolute;inset:0;background:#000;opacity:0;transition:opacity 650ms var(--ease)}.demo-nav{position:absolute;top:5%;left:6%;right:6%;display:flex;align-items:center;justify-content:space-between;gap:15px;z-index:2;opacity:0}.demo-logo{font-family:Display,serif;font-size:20px;font-weight:400;letter-spacing:-.035em}.demo-logo em{font-style:italic;color:inherit}.demo-nav-links{font-size:7px;letter-spacing:.1em}.demo-copy{position:absolute;top:29%;left:6%;right:5%;z-index:2;opacity:0;transform:translateY(20px);transition:transform 650ms var(--ease),opacity 650ms var(--ease)}.demo-kicker{font-size:7px;letter-spacing:.15em}.demo-heading{font-family:Display,serif;font-size:clamp(30px,4.2vw,64px);line-height:1.02;font-weight:400;letter-spacing:-.04em;margin-top:14px}.demo-heading em{font-style:italic}.demo-description{font-size:10px;line-height:1.6;margin-top:18px;max-width:290px}.demo-button{display:inline-flex;align-items:center;gap:35px;font-size:8px;font-weight:500;letter-spacing:.06em;background:var(--ink);color:white;padding:12px 15px;margin-top:18px}.demo-button b{font-size:12px;font-weight:400}.demo-foot{position:absolute;bottom:5%;left:6%;right:6%;display:flex;justify-content:space-between;gap:10px;font-size:7px;letter-spacing:.14em;opacity:0;z-index:2}.wireframe{position:absolute;inset:0;padding:6%;opacity:0;transition:opacity 550ms var(--ease)}.wire-nav{height:24px;border:1px solid #a4a197}.wire-heading{position:absolute;left:6%;top:27%;width:42%;display:grid;gap:10px}.wire-heading i{display:block;height:22px;background:#c4c2b8}.wire-heading i:last-child{width:75%}.wire-copy{position:absolute;top:56%;left:6%;width:39%;display:grid;gap:7px}.wire-copy i{height:5px;background:#c4c2b8}.wire-button{position:absolute;top:69%;left:6%;height:30px;width:24%;border:1px solid #8a877b}.wire-picture{position:absolute;top:27%;left:54%;right:6%;height:46%;border:1px solid #b3b0a5}.wire-picture svg{width:100%;height:100%;stroke:#b3b0a5;stroke-width:.25;fill:none}.wire-picture span{position:absolute;bottom:10px;right:10px;font-size:8px;color:#8a877b;letter-spacing:.1em}.wire-note{position:absolute;bottom:9%;font-size:8px;letter-spacing:.11em}.source-files{position:absolute;inset:0;z-index:5;transition:transform 650ms var(--ease),opacity 500ms var(--ease)}.source-photo{position:absolute;top:4%;left:3%;width:72%;padding:10px;background:white;transform:rotate(-7deg);box-shadow:0 15px 25px -24px #0009}.source-photo img{width:100%;aspect-ratio:1.65;object-fit:cover}.source-photo>span,.source-material>span{font-size:8px;letter-spacing:.14em;display:block;padding:9px 0 2px}.source-brief{position:absolute;right:-1%;top:36%;width:43%;padding:24px 22px;background:#e7e2d4;transform:rotate(5deg);border-top:5px solid var(--orange)}.source-brief>span:first-child{font-size:8px;letter-spacing:.13em}.source-brief>strong{font-family:Display,serif;font-size:36px;line-height:1;display:block;font-weight:400;margin:16px 0}.source-brief>p{font-size:11px;line-height:1.6}.handmark{display:block;font-family:Display,serif;font-size:18px;font-style:italic;margin-top:20px;color:#7e4827}.source-material{position:absolute;left:0;bottom:2%;width:43%;padding:9px;background:white;transform:rotate(4deg);box-shadow:0 15px 25px -24px #0009}.source-material img{width:100%;aspect-ratio:1.7;object-fit:cover}.source-palette{position:absolute;bottom:-4%;left:33%;display:flex;gap:5px;background:var(--paper);padding:9px;transform:rotate(-3deg)}.source-palette i{width:30px;height:36px;background:var(--water)}.source-palette i:nth-child(2){background:var(--brass)}.source-palette i:nth-child(3){background:#dba45c}.source-palette>span{position:absolute;bottom:-15px;font-size:7px;letter-spacing:.12em;white-space:nowrap}.bench-axis{position:absolute;left:65%;top:70px;bottom:75px;border-left:1px solid #dedbd2}.bench-base{position:absolute;left:32%;right:3%;top:50%;border-top:1px solid #dedbd2}.measure{position:absolute;right:2%;top:44%;font-size:8px;writing-mode:vertical-rl;letter-spacing:.12em;color:#929087}.frame-dimension{position:absolute;left:0;right:0;bottom:-30px;text-align:center;font-size:8px;letter-spacing:.14em;color:#77766e}.type-guides{position:absolute;inset:0;opacity:0;pointer-events:none;z-index:4;border:1px solid var(--orange)}.type-guides span{position:absolute;left:6%;top:22%;font-size:7px;letter-spacing:.13em;color:#ab421d}.type-guides span:last-child{top:auto;bottom:6%}.type-guides i{position:absolute;left:6%;right:6%;top:24%;border-top:1px solid var(--orange)}.review-note{position:absolute;z-index:6;display:flex;align-items:flex-start;gap:8px;font-size:10px;opacity:0;transform:translateY(14px);transition:transform 650ms var(--ease),opacity 500ms var(--ease)}.review-note>span{padding:6px;background:var(--orange);color:var(--ink);font-weight:700}.review-note p{background:var(--paper);padding:9px 12px;box-shadow:0 8px 22px #0002;font-size:10px;line-height:1.5}.review-note small{display:block;font-size:8px;color:#666}.review-note b{color:#fff;background:var(--water);padding:5px 8px;font-size:15px;opacity:0}.note-one{right:5%;top:22%}.note-two{right:6%;bottom:13%}.launch-signoff{position:absolute;z-index:9;right:5vw;bottom:8vh;color:var(--paper);opacity:0;transform:translateY(20px)}.launch-signoff span{font-size:9px;letter-spacing:.16em;color:var(--brass)}.launch-signoff strong{display:block;font-size:23px;line-height:1.15;font-weight:500;margin-top:10px}.enhanced .launch-step .step-copy{opacity:0}
/* IntersectionObserver fallback for browsers without native scroll timelines. */
.theatre[data-state]:not([data-state='0']) .browser-frame{opacity:1;transform:none}.theatre[data-state]:not([data-state='0']) .source-files{opacity:0;transform:translateY(-40px) scale(.82)}.theatre[data-state='1'] .wireframe{opacity:1}.theatre[data-state='2'] .demo-nav,.theatre[data-state='2'] .demo-copy,.theatre[data-state='2'] .type-guides{opacity:1;transform:none}.theatre[data-state='3'] .demo-photo,.theatre[data-state='4'] .demo-photo,.theatre[data-state='5'] .demo-photo{opacity:1;transform:none}.theatre[data-state='3'] .demo-shade,.theatre[data-state='4'] .demo-shade,.theatre[data-state='5'] .demo-shade{opacity:.22}.theatre[data-state='3'] .demo-nav,.theatre[data-state='4'] .demo-nav,.theatre[data-state='5'] .demo-nav,.theatre[data-state='3'] .demo-copy,.theatre[data-state='4'] .demo-copy,.theatre[data-state='5'] .demo-copy,.theatre[data-state='3'] .demo-foot,.theatre[data-state='4'] .demo-foot,.theatre[data-state='5'] .demo-foot{opacity:1;transform:none;color:var(--paper)}.theatre[data-state='3'] .demo-heading em,.theatre[data-state='4'] .demo-heading em,.theatre[data-state='5'] .demo-heading em{color:var(--brass)}.theatre[data-state='3'] .demo-button,.theatre[data-state='4'] .demo-button,.theatre[data-state='5'] .demo-button{background:var(--brass);color:var(--water)}.theatre[data-state='4'] .review-note{opacity:1;transform:none}.theatre[data-state='4'] .review-note b{opacity:1}.theatre[data-state='5'] .browser-frame{transform:translateX(-15vw) scale(1.667)}.theatre[data-state='5'] .browser-chrome,.theatre[data-state='5'] .frame-dimension,.theatre[data-state='5'] .stage-top,.theatre[data-state='5'] .bench-lines{opacity:0}.theatre[data-state='5'] .launch-signoff{opacity:1;transform:none}
/* Native, reversible scroll progress. Only transforms and opacity are animated. */
@supports(animation-timeline:view()){
 .scrub .browser-frame{animation:frame-journey auto var(--ease) both;animation-timeline:--construction;animation-range:contain 0% contain 100%;transition:none}
 .scrub .source-files{animation:files-journey auto var(--ease) both;animation-timeline:--construction;animation-range:contain 0% contain 100%;transition:none}
 .scrub .wireframe{animation:wire-journey auto var(--ease) both;animation-timeline:--construction;animation-range:contain 0% contain 100%;transition:none}
 .scrub .demo-copy,.scrub .demo-nav{animation:type-journey auto var(--ease) both;animation-timeline:--construction;animation-range:contain 0% contain 100%;transition:none}
 .scrub .demo-photo{animation:photo-journey auto var(--ease) both;animation-timeline:--construction;animation-range:contain 0% contain 100%;transition:none}
 .scrub .demo-shade{animation:shade-journey auto var(--ease) both;animation-timeline:--construction;animation-range:contain 0% contain 100%;transition:none}
 .scrub .type-guides{animation:guides-journey auto var(--ease) both;animation-timeline:--construction;animation-range:contain 0% contain 100%;transition:none}
 .scrub .review-note{animation:review-journey auto var(--ease) both;animation-timeline:--construction;animation-range:contain 0% contain 100%;transition:none}
 .scrub .review-note b{animation:check-journey auto var(--ease) both;animation-timeline:--construction;animation-range:contain 0% contain 100%}
 .scrub .stage-progress i{animation:progress-journey auto linear both;animation-timeline:--construction;animation-range:contain 0% contain 100%}
 .scrub .launch-signoff{animation:launch-journey auto var(--ease) both;animation-timeline:--construction;animation-range:contain 0% contain 100%}
 .scrub .browser-chrome,.scrub .frame-dimension,.scrub .bench-lines{animation:chrome-journey auto var(--ease) both;animation-timeline:--construction;animation-range:contain 0% contain 100%}
}
@keyframes frame-journey{0%,5%{opacity:0;transform:translateY(6%) rotate(-3deg) scale(.85)}18%,82%{opacity:1;transform:translateY(0) rotate(0) scale(1)}100%{opacity:1;transform:translateX(-15vw) scale(1.667)}}
@keyframes files-journey{0%,5%{opacity:1;transform:none}18%,100%{opacity:0;transform:translateY(-35px) scale(.82)}}
@keyframes wire-journey{0%,7%{opacity:0}16%,24%{opacity:1}35%,100%{opacity:0}}
@keyframes type-journey{0%,25%{opacity:0;transform:translateY(18px)}39%,100%{opacity:1;transform:translateY(0)}}
@keyframes photo-journey{0%,43%{opacity:0;transform:scale(1.1)}59%,100%{opacity:1;transform:scale(1)}}
@keyframes shade-journey{0%,43%{opacity:0}59%,100%{opacity:.22}}
@keyframes guides-journey{0%,27%{opacity:0}37%,43%{opacity:1}53%,100%{opacity:0}}
@keyframes review-journey{0%,63%{opacity:0;transform:translateY(12px)}70%,78%{opacity:1;transform:translateY(0)}86%,100%{opacity:0;transform:translateY(-12px)}}
@keyframes check-journey{0%,73%{opacity:0;transform:translateY(8px)}79%,100%{opacity:1;transform:translateY(0)}}
@keyframes progress-journey{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes launch-journey{0%,89%{opacity:0;transform:translateY(20px)}98%,100%{opacity:1;transform:translateY(0)}}
@keyframes chrome-journey{0%,84%{opacity:1}94%,100%{opacity:0}}
@media(max-width:799px){.brand{font-size:14px;gap:8px}.brand svg{width:25px}.book{font-size:12px;padding:12px 14px;gap:15px}.intro{padding-top:23px}.intro-top{font-size:8px;letter-spacing:.08em;margin-bottom:30px;gap:15px}h1{font-size:clamp(53px,11.7vw,86px);letter-spacing:-.065em}.intro h1 br{display:none}.intro h1 span{display:block}.intro-bottom{grid-template-columns:1fr 1fr;gap:25px;margin:28px 0}.intro-bottom p{font-size:14px}.scroll-link{font-size:12px}.project-stamp{grid-column:1/-1;padding:18px 0 0;border-left:0;border-top:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:10px}.project-stamp strong{font-size:17px}.project-stamp span{font-size:8px}.project-stamp span:last-child{display:none}.enhanced .step{height:90svh;min-height:690px;align-items:flex-end;padding-bottom:6svh}.enhanced .step-copy{width:100%;max-width:100%;padding-bottom:0}.enhanced .step h2{font-size:42px;max-width:370px;line-height:1.03}.enhanced .step h2 br{display:none}.enhanced .step-copy>p:not(.eyebrow){font-size:15px;max-width:420px;margin-top:13px}.enhanced .step-copy>p.step-small{font-size:12px;margin-top:10px}.enhanced .step-detail{display:none}.enhanced .step .eyebrow{font-size:9px;margin-bottom:13px}.enhanced .step .eyebrow span{font-size:11px;padding:5px}.stage-top{top:18px;font-size:8px;gap:10px}.stage-kind{display:none}.stage-bottom{bottom:15px;font-size:8px;gap:14px}.stage-number{font-size:10px}.composition{left:5vw;right:5vw;top:9%;height:44%;bottom:auto}.browser-chrome{height:25px;padding:0 9px;font-size:7px}.browser-state{font-size:6px}.window-marks{font-size:8px;letter-spacing:2px}.demo-surface{top:25px}.demo-logo{font-size:16px}.demo-nav-links{font-size:5px}.demo-heading{font-size:34px;line-height:.99;margin-top:10px}.demo-kicker{font-size:5px}.demo-copy{top:25%}.demo-description{font-size:7px;line-height:1.5;margin-top:10px}.demo-button{font-size:6px;padding:9px 11px;margin-top:12px;gap:20px}.demo-foot{font-size:5px}.source-photo{width:68%;left:3%;top:3%;padding:7px}.source-photo>span,.source-material>span{font-size:6px;padding:5px 0 0}.source-brief{width:45%;right:0;top:25%;padding:15px 12px;border-top-width:3px}.source-brief>strong{font-size:28px;margin:10px 0}.source-brief>p{font-size:8px;line-height:1.5}.source-brief>span:first-child{font-size:6px}.handmark{font-size:14px;margin-top:12px}.source-material{width:43%;bottom:2%;padding:6px}.source-palette{bottom:-4%;left:34%;padding:6px;gap:3px}.source-palette i{width:20px;height:26px}.source-palette>span{font-size:5px}.bench-axis{left:50%;top:55px;bottom:45%}.bench-base{left:3%;right:3%;top:30%}.measure{display:none}.frame-dimension{font-size:6px;bottom:-20px}.review-note{gap:5px}.review-note p{font-size:8px;padding:7px}.review-note small{font-size:6px}.review-note>span{font-size:8px;padding:5px}.review-note b{font-size:10px;padding:4px}.note-one{top:20%;right:3%}.note-two{right:3%;bottom:8%}.wire-heading{gap:7px}.wire-heading i{height:15px}.wire-copy{gap:5px}.wire-copy i{height:4px}.wire-button{height:21px}.wire-nav{height:18px}.wire-note{font-size:6px}.type-guides span{font-size:5px}.finished{padding:27px 5vw 40px}.finished-top{font-size:8px;letter-spacing:.06em;gap:25px}.finished-top span:last-child{max-width:150px;text-align:right}.finished-body{grid-template-columns:1fr;gap:30px;margin-top:32px}.finished h2{font-size:55px}.finished-body>div>p:not(.eyebrow){font-size:15px;margin-top:17px}.finished .eyebrow{font-size:9px}.finished figure img{aspect-ratio:1.4}footer>div{flex-wrap:wrap;row-gap:15px}footer>div>span{font-size:8px}footer>p{font-size:10px}.launch-signoff{left:7vw;right:auto;bottom:15vh}.launch-signoff strong{font-size:30px}.launch-signoff span{font-size:8px}
}
@media(min-width:600px) and (max-width:799px){.enhanced .step-copy{max-width:650px}.enhanced .step h2{max-width:600px;font-size:52px}.composition{left:12vw;right:12vw}.demo-heading{font-size:45px}.source-brief>strong{font-size:33px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.static-mode .theatre{display:none}.static-mode .build-story{display:block}.static-mode .steps{display:block}.static-mode .step{height:auto;min-height:0;display:block;padding:35px 0;border-bottom:1px solid var(--rule)}.static-mode .step-copy{width:auto;max-width:650px;opacity:1}.static-mode .step-copy>p{max-width:550px}.static-mode .step h2 br{display:none}.static-mode .step-detail{display:grid}.static-mode .intro{margin-bottom:0}

.launch-mobile{display:none}@media(max-width:799px){.launch-mobile{display:block;position:absolute;inset:0;opacity:0;z-index:5;pointer-events:none}.launch-mobile>img{width:100%;height:100%;object-fit:cover}.launch-mobile-shade{position:absolute;inset:0;background:#0004}.launch-mobile-brand{position:absolute;top:10%;left:7%;color:var(--paper);font:25px Display,serif}.launch-mobile-brand em{color:var(--brass)}.launch-mobile-copy{position:absolute;left:7%;right:7%;top:30%;color:var(--paper)}.launch-mobile-copy>span{font-size:8px;letter-spacing:.15em}.launch-mobile-copy>p{font:64px/.98 Display,serif;letter-spacing:-.03em;margin-top:20px}.launch-mobile-copy em{color:var(--brass)}.launch-mobile-copy small{display:block;font-size:12px;line-height:1.6;margin-top:24px}.theatre[data-state="5"] .browser-frame{transform:scale(1.1)}.theatre[data-state="5"] .launch-mobile{opacity:1}.scrub .launch-mobile{animation:launch-backdrop auto var(--ease) both;animation-timeline:--construction;animation-range:contain 0% contain 100%}@keyframes launch-backdrop{0%,85%{opacity:0;transform:scale(.95)}97%,100%{opacity:1;transform:scale(1)}}@keyframes frame-journey{0%,5%{opacity:0;transform:translateY(6%) rotate(-3deg) scale(.85)}18%,82%{opacity:1;transform:none}100%{opacity:0;transform:scale(1.13)}}}

.enhanced .theatre{z-index:3}.stage-bottom{background:var(--paper);bottom:0;height:48px;padding:12px 0}.scrub .stage-bottom{animation:chrome-journey auto var(--ease) both;animation-timeline:--construction;animation-range:contain 0% contain 100%}

.stage-top{top:0;height:64px;padding-top:24px;background:var(--paper)}@media(max-width:799px){.stage-top{height:48px;padding-top:18px}}

@media(max-width:799px){.enhanced .theatre:before{content:"";position:absolute;top:0;left:0;right:0;height:56%;background:var(--paper)}}

/* Keep the explanation paired with the stage while real-height articles drive scroll. */
.enhanced .steps .step-copy{opacity:0;pointer-events:none}
.caption-stack{position:absolute;left:5vw;top:24%;width:27%;max-width:350px;z-index:4}
.caption-stack .caption-pane{position:absolute;inset:0 auto auto 0;width:100%;max-width:none;opacity:0;transform:translateY(18px);transition:opacity 400ms var(--ease),transform 600ms var(--ease)}
.caption-pane h2{font-size:clamp(45px,4.6vw,70px)}
.theatre[data-state="0"] .caption-pane[data-pane="0"],.theatre[data-state="1"] .caption-pane[data-pane="1"],.theatre[data-state="2"] .caption-pane[data-pane="2"],.theatre[data-state="3"] .caption-pane[data-pane="3"],.theatre[data-state="4"] .caption-pane[data-pane="4"]{opacity:1;transform:none}
@media(max-width:799px){.caption-stack{left:5vw;right:5vw;width:auto;max-width:none;top:59%}.caption-stack .caption-pane{width:100%;max-width:650px}.caption-pane h2{font-size:42px;line-height:1.04;letter-spacing:-.045em;max-width:600px}.caption-pane h2 br{display:none}.caption-pane .eyebrow{font-size:9px;margin-bottom:13px}.caption-pane .eyebrow span{font-size:11px;padding:5px}.caption-pane .step-detail{display:none}.caption-pane>p:not(.eyebrow){font-size:15px;margin-top:13px;max-width:550px}.caption-pane>p.step-small{font-size:12px;margin-top:10px}.caption-pane .step-detail{display:none}}
@media(min-width:600px) and (max-width:799px){.caption-pane h2{font-size:48px}.caption-stack{top:59%}}
