@font-face{font-family:'DM Sans';src:url('/assets/dm-sans-regular.ttf') format('truetype');font-weight:100 450;font-display:swap}@font-face{font-family:'DM Sans';src:url('/assets/dm-sans-medium.ttf') format('truetype');font-weight:451 900;font-display:swap}
:root{--ink:#111111;--paper:#f7f2e9;--white:#fffdf9;--lime:#dfff3f;--muted:#a5a49f;--line:#343532;font-family:'DM Sans',Arial,sans-serif;color:var(--paper);background:var(--ink);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--lime);outline-offset:6px}::selection{background:var(--lime);color:var(--ink)}.skip{position:fixed;top:-80px;left:20px;padding:14px;background:var(--lime);color:var(--ink);z-index:100}.skip:focus{top:10px}.nav{height:96px;display:flex;align-items:center;justify-content:space-between;margin:0 5%;border-bottom:1px solid var(--line);position:relative;z-index:5}.wordmark{font-size:23px;font-weight:650;letter-spacing:-1px;display:flex;align-items:center;gap:12px}.terminal{font-family:monospace;color:var(--lime);font-size:27px}.nav nav{display:flex;gap:32px;align-items:center;font-size:14px}.nav nav a{padding:12px 0}.nav nav a:hover{color:var(--lime)}.edition{font-size:10px;letter-spacing:1.3px;color:#92938d;margin-left:28px}.hero{padding:48px 5% 72px}.eyebrow,.stage-label,.stage-footer{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.7px;color:var(--muted)}.eyebrow{margin-bottom:48px}.index{color:#74766f}h1{font-size:clamp(64px,9.2vw,154px);font-weight:500;line-height:.96;letter-spacing:-.065em;margin:0;max-width:1500px}h1 em{font-style:normal;color:#b1b2a7}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:40px}.hero-bottom p{font-size:18px;line-height:1.55;color:#aaa9a2;margin:0}.primary{font-size:15px;background:var(--lime);color:var(--ink);padding:20px 24px;display:flex;gap:48px;align-items:center;border-radius:3px;transition:background .2s,transform .2s}.primary:hover{background:var(--paper);transform:translateY(-2px)}.primary span{font-size:23px}.experience{height:130vh;position:relative}.stage{height:100svh;min-height:680px;position:sticky;top:0;overflow:hidden;perspective:1600px;background:#111}.stage-label{position:absolute;top:35px;left:5%;right:5%;z-index:3}.device{width:min(1320px,96vw);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);transform-style:preserve-3d}.laptop{display:block;width:100%;height:auto}.screen{position:absolute;left:18.2292%;top:12.793%;width:63.5417%;height:54.1016%;overflow:hidden;background:var(--paper)}.dashboard{width:976px;height:554px;color:#20241f;background:var(--paper);display:grid;grid-template-columns:176px 1fr;transform-origin:top left;font-size:14px}.dash-sidebar{background:#eae6dc;padding:26px 18px;display:flex;flex-direction:column;border-right:1px solid #dedbd1}.dash-sidebar strong{font-size:19px;letter-spacing:-.7px;white-space:nowrap}.dash-sidebar strong span{color:#515949;font-family:monospace}.dash-nav{display:grid;gap:23px;margin-top:46px;color:#70756a;font-size:13px}.dash-nav b{color:#21291c;background:#d9decc;margin:-10px;padding:10px;border-radius:4px}.dash-sidebar small{margin-top:auto;font-size:9px;letter-spacing:1px;line-height:1.8;color:#73796c}.dash-main{padding:26px 32px}.dash-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.25px;color:#7c8174}.dash-main h2{font-size:32px;letter-spacing:-1.4px;margin:21px 0 4px;font-weight:500}.dash-intro{font-size:12px;color:#747b6e;margin:0 0 20px}.brief{position:relative;background:#e3e8d8;padding:17px 21px}.small-label{font-size:9px;letter-spacing:1.4px;color:#58634d}.brief h3{font-size:20px;font-weight:500;letter-spacing:-.7px;margin:10px 0 8px}.brief p{font-size:12px;line-height:1.5;color:#59614f;margin:0}.brief-foot{display:flex;justify-content:space-between;border-top:1px solid #cdd4be;margin-top:14px;padding-top:10px;font-size:10px;color:#5c6553}.dash-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;margin-top:21px}.block-title{display:flex;justify-content:space-between;align-items:center}.block-title h3{font-weight:550;font-size:14px;margin:0 0 9px}.block-title>span{font-size:8px;color:#858a7f}.lesson{display:grid;grid-template-columns:44px 1fr auto;align-items:center;font-size:10px;padding:11px 0;border-top:1px solid #dcded3}.lesson time{color:#7d8576}.lesson b{font-weight:500}.lesson>span{font-size:9px;color:#757e6d}.lesson .change{color:#445727;background:#e2eacb;padding:4px}.homework p{display:flex;align-items:center;gap:10px;font-size:11px;margin:10px 0 16px}.check-square{height:12px;width:12px;border:1px solid #a5ad99;border-radius:2px}.homework b{font-weight:500}.homework small{display:block;font-size:10px;color:#808778;margin-top:4px}.dash-footer{display:flex;justify-content:space-between;border-top:1px solid #dcded3;padding-top:12px;font-size:9px;color:#66705b}.dash-footer b{font-size:8px;letter-spacing:.6px;margin-right:12px;font-weight:500}.dash-footer i{font-style:normal;background:#e4e3dc;padding:3px 5px;margin-left:5px}.stage-footer{position:absolute;bottom:28px;left:5%;right:5%;font-size:10px;letter-spacing:.7px}footer{display:flex;align-items:center;gap:25px;margin:0 5%;padding:42px 0;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}footer p{margin-right:auto}
@media(min-width:1600px){.hero,.nav,footer{max-width:1700px;margin-left:auto;margin-right:auto}.hero{padding-left:60px;padding-right:60px}.nav,footer{width:90%}}
@media(max-width:700px){.nav{height:76px}.nav nav{gap:18px;font-size:12px}.edition,.index{display:none}.wordmark{font-size:20px}.terminal{font-size:24px}.hero{padding-top:32px;padding-bottom:50px}.eyebrow{font-size:9px;margin-bottom:38px;letter-spacing:1.3px}h1{font-size:clamp(55px,12.7vw,90px);line-height:1.03;letter-spacing:-.06em}.hero-bottom{display:block;margin-top:30px}.hero-bottom p{font-size:16px}.primary{display:inline-flex;margin-top:28px;padding:15px 18px;font-size:14px;gap:40px}.experience{height:80vh}.stage{min-height:460px;height:80svh}.device{width:150vw}.stage-label{font-size:8px;letter-spacing:.8px}.stage-label span:last-child{display:none}.stage-footer{font-size:8px}footer{flex-wrap:wrap;padding:30px 0;gap:20px}footer p{width:100%;order:4;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.experience{height:100svh}}
/* Narrative and motion */
.section{padding:100px 5% 130px;border-top:1px solid var(--line)}.section-kicker{display:flex;justify-content:space-between;color:#a8aaa1;font-size:11px;letter-spacing:1.3px;margin-bottom:65px}.section h2,.closing h2{font-size:clamp(40px,4.5vw,76px);line-height:1.07;letter-spacing:-.055em;font-weight:450;margin:0}.body-copy{font-size:18px;line-height:1.65;color:#a9aca1;max-width:430px;margin-top:28px}.day-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:7%}.day-visual{padding-top:7px}.mini-heading{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:#8f9587;margin-bottom:21px}.schedule-row{display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);padding:24px 0}.schedule-row>span:first-child{font-size:13px;color:#a3a797;align-self:flex-start;margin-top:4px}.schedule-row>span:last-child{margin-left:auto;font-size:11px;color:#9da28f}.schedule-row h3{font-size:22px;font-weight:450;letter-spacing:-.5px;margin:0}.schedule-row p{font-size:13px;color:#909787;margin:6px 0 0}.schedule-row s{margin-right:10px;color:#8e9286}.schedule-row b{font-weight:400;color:var(--paper)}.schedule-row .tag{background:#262e1b;color:#d5e5b4!important;padding:6px 9px}.visual-caption{font-size:12px;color:#949a8b;border-top:1px solid var(--line);padding-top:22px}.story-brief{background:#eae8df;color:#262b22}.story-brief .section-kicker{color:#656d5c}.brief-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:7%}.brief-layout h2 span{color:#858c7b}.brief-story-copy .body-copy{color:#646d5a;margin-top:0}.morning-note{background:#f7f5ed;margin-top:45px;padding:32px 30px 24px;box-shadow:0 16px 40px #1e281109;border:1px solid #d9ddcf}.morning-note>div:first-child{display:flex;gap:14px;align-items:center;font-size:11px;letter-spacing:1px}.note-mark{font:28px monospace;color:#5d6c47}.morning-note small{font-size:9px;margin-left:20px;color:#808674}.morning-note p{font-size:clamp(23px,2.4vw,36px);letter-spacing:-1.2px;line-height:1.35;font-weight:450;margin:35px 0}.morning-note p span{color:#838b76}.note-bottom{display:flex;justify-content:space-between;font-size:11px;color:#717b62;border-top:1px solid #d9dece;padding-top:20px}.editorial{margin:0;position:relative;height:720px;max-height:85vh;overflow:hidden}.editorial img{width:100%;height:100%;object-fit:cover;object-position:50% 53%;display:block}.editorial figcaption{position:absolute;bottom:28px;left:5%;right:5%;display:flex;justify-content:space-between;gap:30px;font-size:10px;letter-spacing:1.4px;color:#ede3ce;text-shadow:0 2px 7px #000}.story-after{border:0}.planned{border:1px solid #565b4e;padding:7px 10px;margin-top:-7px;font-size:10px}.after-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:7%}.after-layout h2{font-size:clamp(55px,7.5vw,120px)}.after-layout h2 em{font-style:normal;color:#929b7e}.after-layout .body-copy{margin-top:0}.after-plan{margin-top:44px}.after-plan>div:not(:first-child){display:flex;gap:22px;align-items:baseline;padding:18px 0;border-top:1px solid var(--line)}.after-plan>div>span{font-size:11px;color:#8b947d}.after-plan p{font-size:17px;letter-spacing:-.3px;margin:0}.after-plan small{display:block;color:#929a87;font-size:13px;margin-top:7px;letter-spacing:0}.story-data h2{max-width:700px}.data-flow{display:flex;align-items:center;justify-content:space-between;padding:65px 0 50px;border-bottom:1px solid var(--line);gap:16px}.data-flow>span{font-size:clamp(19px,2.5vw,36px);letter-spacing:-1px}.data-flow small{display:block;font-size:12px;color:#9ba38e;letter-spacing:0;margin-top:10px}.data-flow i{font-style:normal;color:#5d6553;font-size:25px}.flow-center{color:var(--lime)}.data-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:25px;font-size:13px;line-height:1.7;color:#a2aa98}.data-bottom a{border-bottom:1px solid #747d65;padding-bottom:7px;color:var(--paper);white-space:nowrap}.data-bottom a span{margin-left:30px}.closing{padding:70px 5% 110px;text-align:center}.closing .terminal{font-size:36px;display:inline-block;margin-bottom:30px}.closing h2{font-size:clamp(65px,8vw,130px)}.closing a{display:inline-flex;gap:50px;margin-top:40px;padding-bottom:12px;border-bottom:1px solid #5a6150;font-size:14px}.laptop-canvas{position:absolute;inset:0;z-index:1;opacity:calc(1 - var(--reveal,0))}.projected-screen{position:absolute;left:0;top:0;width:976px;height:554px;transform-origin:0 0;z-index:2;overflow:hidden;backface-visibility:hidden;box-shadow:0 0 0 1px #161816}.has-3d .device{display:none}.has-3d .experience{height:240svh}.has-3d .stage{background:color-mix(in srgb,#111 calc(100% - var(--reveal,0)*100%),#f7f2e9)}.has-3d .stage-label,.has-3d .stage-footer{z-index:4}.has-3d .stage-label{color:color-mix(in srgb,#a5a49f calc(100% - var(--reveal,0)*100%),#69715f)}.has-3d .stage-footer{color:color-mix(in srgb,#a5a49f calc(100% - var(--reveal,0)*100%),#69715f)}
@media(min-width:1600px){.section{padding-left:max(5%,calc((100% - 1520px)/2));padding-right:max(5%,calc((100% - 1520px)/2))}}
@media(max-width:1000px){.section{padding-top:70px;padding-bottom:85px}.section-kicker{margin-bottom:45px}.day-layout,.brief-layout,.after-layout{gap:5%}.section h2{font-size:42px}.body-copy{font-size:16px}.schedule-row{gap:12px}.schedule-row .tag{font-size:9px!important}.data-bottom{flex-wrap:wrap}.after-layout h2{font-size:68px}}
@media(max-width:800px){.experience{height:auto!important}.stage{height:auto;min-height:0;position:relative;padding:55px 5% 35px;overflow:hidden}.stage-label{position:static;margin-bottom:28px;font-size:9px}.device{width:100%;position:relative;inset:auto;transform:none}.laptop{display:none}.screen{position:relative;left:auto;top:auto;width:100%;height:auto;border-radius:4px;overflow:hidden}.dashboard{width:100%;height:auto;display:block;transform:none!important;font-size:14px}.dash-sidebar{display:none}.dash-main{padding:24px}.dash-top{font-size:9px;letter-spacing:.8px;gap:15px}.dash-main h2{font-size:32px;margin-top:28px}.dash-intro{font-size:14px}.brief{padding:20px}.small-label{font-size:10px}.brief h3{font-size:21px;line-height:1.2}.brief p{font-size:14px;line-height:1.6}.brief-foot{font-size:11px}.dash-columns{grid-template-columns:1fr;gap:25px;margin-top:28px}.block-title h3{font-size:17px}.block-title>span{font-size:10px}.lesson{font-size:14px;grid-template-columns:55px 1fr auto;padding:15px 0}.lesson>span{font-size:12px}.homework p{font-size:14px;margin:18px 0}.homework small{font-size:12px}.check-square{height:16px;width:16px}.dash-footer{gap:20px;flex-direction:column;font-size:12px;padding:20px 0 0}.dash-footer b{font-size:10px}.stage-footer{position:static;font-size:9px;margin-top:20px;line-height:1.5}.sequence-number{display:none}.day-layout,.brief-layout,.after-layout{grid-template-columns:1fr;gap:35px}.section-kicker{font-size:9px;letter-spacing:1px;margin-bottom:35px}.section-kicker>span:last-child:not(.planned){display:none}.section{padding:62px 6% 70px}.section h2{font-size:clamp(35px,7.7vw,59px)}.body-copy{font-size:16px;line-height:1.65;margin-top:24px}.body-copy br{display:none}.day-visual{margin-top:5px}.schedule-row{gap:20px}.schedule-row h3{font-size:21px}.schedule-row>span:last-child{font-size:11px}.schedule-row .tag{font-size:10px!important}.visual-caption{font-size:12px;line-height:1.6}.morning-note{margin-top:30px;padding:27px 24px}.morning-note p{font-size:30px}.editorial{height:480px;max-height:none}.editorial img{object-position:57% center}.editorial figcaption{font-size:9px;line-height:1.6}.editorial figcaption span:last-child{display:none}.after-layout h2{font-size:70px}.after-plan{margin-top:30px}.after-plan p{font-size:16px}.data-flow{display:grid;grid-template-columns:1fr 28px 1fr;padding:40px 0;gap:28px 12px}.data-flow>span{font-size:23px;letter-spacing:-.6px}.data-flow small{font-size:11px}.data-flow i:nth-of-type(2){grid-column:3;transform:rotate(90deg);justify-self:start;margin-left:20px}.data-flow>span:nth-of-type(3){grid-column:3;grid-row:3}.data-flow i:nth-of-type(3){grid-column:2;grid-row:3;transform:rotate(180deg)}.data-flow>span:nth-of-type(4){grid-column:1;grid-row:3}.data-bottom{display:block;font-size:13px}.data-bottom p{margin-bottom:24px}.data-bottom a{display:inline-block}.closing{padding:50px 5% 75px}.closing h2{font-size:65px}footer>span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.loader{display:none}.experience{height:auto!important}.stage{position:relative;height:auto;min-height:760px}.stage-label span:last-child{display:none}}
.legal{padding:55px 5% 100px;max-width:1280px;margin:auto}.back-link{font-size:14px;color:#b0b5a6;display:inline-block;padding:12px 0}.legal-intro{padding:55px 0 45px;border-bottom:1px solid var(--line)}.legal-intro .eyebrow{margin-bottom:28px;font-size:11px}.legal-intro h1{font-size:clamp(38px,6.5vw,90px);line-height:1.06;overflow-wrap:anywhere}.legal-intro p{color:#a1a995;font-size:16px;line-height:1.6;margin-top:27px}.legal-body{max-width:780px;padding:15px 0 50px}.legal-body section{margin:42px 0}.legal-body h2{font-size:24px;line-height:1.3;letter-spacing:-.5px;font-weight:500}.legal-body p{font-size:17px;line-height:1.8;color:#b4baa9;overflow-wrap:anywhere}@media(max-width:700px){.legal{padding-top:28px}.legal-intro{padding-top:35px}.legal-intro h1{font-size:38px;letter-spacing:-1.7px}.legal-body h2{font-size:21px}.legal-body p{font-size:16px}}

@media(min-width:801px){.hero{padding-top:32px;padding-bottom:30px}.eyebrow{margin-bottom:32px}.hero-bottom{margin-top:28px}.has-3d .stage{min-height:600px}.experience{margin-top:-30px}.hero{position:relative;z-index:4}.hero h1{font-size:clamp(64px,8.1vw,142px)}}
@media(prefers-reduced-motion:reduce) and (max-width:800px){.stage{min-height:0;height:auto}}
.projected-screen{backface-visibility:visible}.morning-note p{font-size:clamp(21px,2.05vw,30px);letter-spacing:-.8px;line-height:1.5}

@media(min-width:1001px){.brief-layout{grid-template-columns:.8fr 1.4fr;gap:10%}.brief-story-copy{padding-top:64px}.brief-story-copy .body-copy{max-width:500px}.morning-note{padding:34px 38px}.morning-note p{font-size:clamp(25px,2.45vw,38px)}}
@media(min-width:1001px){.brief-layout{grid-template-columns:1fr 1.25fr;gap:7%}.brief-layout h2{font-size:clamp(40px,3.8vw,65px)}}
/* Handoff: let the hardware recede against charcoal before the paper interface fills the stage. */
.has-3d .laptop-canvas{opacity:calc(1 - var(--device-fade,0))}
.has-3d .stage{background:#111}
.has-3d .stage::before{content:"";position:absolute;inset:0;z-index:0;background:var(--paper);opacity:var(--paper-reveal,0);will-change:opacity;pointer-events:none}
.has-3d .stage-label,.has-3d .stage-footer{color:color-mix(in srgb,#a5a49f calc(100% - var(--paper-reveal,0)*100%),#69715f)}
.has-3d .projected-screen{box-shadow:0 0 0 calc(1px * (1 - var(--paper-reveal,0))) #161816}

.has-3d .stage-label,.has-3d .stage-footer{opacity:calc(1 - var(--chrome-fade,0))}

/* A slower opening: the cursor stays visible before the scene moves toward the viewer. */

/* The device has more distance to travel before the interface takes over. */
.has-3d .experience{height:360svh}
.dash-nav{display:grid;gap:4px;margin-top:35px}
.dash-nav button,.mobile-dash-nav button{border:0;background:transparent;color:#70756a;text-align:left;cursor:pointer;font-size:13px;padding:10px 12px;border-radius:4px;transition:background .2s,color .2s}
.dash-nav button:hover,.mobile-dash-nav button:hover{color:#26301e;background:#e3e7da}
.dash-nav button[aria-current="page"],.mobile-dash-nav button[aria-current="page"]{color:#21291c;background:#d9decc;font-weight:650}
.mobile-dash-nav{display:none}
.dashboard button:focus-visible{outline:2px solid #23391a;outline-offset:2px}
.dash-panel[hidden]{display:none}
.task-list{display:grid;gap:2px}
.task-toggle{width:100%;display:flex;align-items:center;gap:10px;text-align:left;color:#20241f;background:transparent;border:0;border-radius:3px;padding:5px 3px;cursor:pointer;min-height:36px;transition:background .18s}
.task-toggle:hover{background:#e9ecdf}
.task-toggle .check-square{display:grid;place-items:center;flex:none;border-radius:4px;line-height:1}
.task-toggle .check-square svg{width:10px;height:10px;opacity:0;transition:opacity .2s}
.task-toggle.is-done .check-square{background:#607552;color:#fff;border-color:#607552}
.task-toggle.is-done .check-square svg{opacity:1}
.task-toggle.is-done .task-copy{text-decoration:line-through;color:#858b7e}
.task-copy{display:block;min-width:0}
.task-copy b{font-size:11px;font-weight:500}
.task-copy small{display:block;margin-top:3px;font-size:10px;color:#808778}
.task-arrow{margin-left:auto;color:#7c8676;font-size:14px}
.task-list-full{margin-top:18px;max-width:520px}
.task-list-full .task-toggle{border-bottom:1px solid #dcded3;padding:14px 7px;min-height:68px}
.task-list-full .task-copy b{font-size:16px}.task-list-full .task-copy small{font-size:12px}
.detail-list{margin-top:19px;max-width:720px}
.detail-row{display:grid;grid-template-columns:68px 1fr auto;align-items:center;gap:14px;border-top:1px solid #dcded3;padding:18px 0;font-size:12px}
.detail-row time,.detail-row>span:last-child{color:#727b6e}
.detail-row strong{font-size:15px;font-weight:550}.detail-row strong small{display:block;font-size:11px;color:#808778;font-weight:400;margin-top:5px}
.detail-row .change{color:#445727;padding:5px 8px}
.file-icon{font-size:20px;color:#607552}.panel-note{font-size:9px;letter-spacing:1px;color:#858a7f;margin-top:30px}
@media(max-width:800px){
 .mobile-dash-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:20px -4px 24px;padding:2px 4px}
 .mobile-dash-nav button{font-size:12px;padding:10px 12px}
 .task-toggle{min-height:52px;padding:8px 5px}
 .task-toggle .check-square{height:18px;width:18px}
 .task-copy b{font-size:14px}.task-copy small{font-size:12px}
 .detail-row{grid-template-columns:52px 1fr auto;gap:8px;padding:17px 0}
 .detail-row strong{font-size:13px}.detail-row strong small{font-size:10px}
 .detail-row>span:last-child{font-size:10px}
}
@media(min-width:801px){.dashboard,.projected-screen{height:610px}body:not(.has-3d) .dashboard{min-height:610px}}
@media(min-width:801px){
 .dashboard .dash-main{display:flex;flex-direction:column}
 .dashboard .dash-panel:not([hidden]){display:flex;flex:1;flex-direction:column}
 .dashboard .dash-panel[data-panel=overview] .dash-footer,.dashboard .panel-note{margin-top:auto}
}

/* A readable, fully usable fallback while WebGL is unavailable or motion is reduced. */
@media(min-width:801px){
 body:not(.has-3d) .experience{height:auto;margin-top:0}
 body:not(.has-3d) .stage{position:relative;height:auto;min-height:0;overflow:visible;padding:74px 0 28px}
 body:not(.has-3d) .device{position:relative;left:auto;top:auto;transform:none;width:min(980px,90vw);margin:0 auto}
 body:not(.has-3d) .laptop{display:block;width:100%}
 body:not(.has-3d) .screen{position:relative;left:auto;top:auto;width:100%;height:auto;overflow:visible;margin-top:22px}
 body:not(.has-3d) .dashboard{width:100%;height:auto;min-height:554px;transform:none!important}
 body:not(.has-3d) .stage-footer{position:static;margin:24px 5% 0}
}

/* The product UI shares the site's typography, charcoal, paper and lime vocabulary. */
.dashboard{color:#191b17;background:var(--paper);letter-spacing:-.018em}
.dash-sidebar{background:#171917;color:var(--paper);border-color:#30352d;padding:27px 18px}
.dash-sidebar strong{font-size:21px;font-weight:650;letter-spacing:-.065em}
.dash-sidebar strong span{color:var(--lime)}
.dash-sidebar small{color:#a4a99f;letter-spacing:1.3px}
.dash-nav button,.mobile-dash-nav button{font-size:11px;letter-spacing:.075em;text-transform:uppercase;border-radius:0}
.dash-nav button{color:#adb2a7;padding:12px 10px}
.dash-nav button:hover{background:#282d24;color:var(--paper)}
.dash-nav button[aria-current="page"]{color:var(--lime);background:#282d24;box-shadow:inset 2px 0 0 var(--lime)}
.dash-main{padding:28px 34px}
.dash-top,.small-label,.panel-note,.dash-footer b{letter-spacing:.17em}
.dash-main h2{font-size:36px;font-weight:600;letter-spacing:-.065em;line-height:1.04;margin:21px 0 8px}
.dash-intro{letter-spacing:-.01em}
.brief{background:#e9eddd;border-left:3px solid #cbe840;padding:16px 20px}
.brief h3{font-size:21px;font-weight:600;letter-spacing:-.045em}
.brief p,.brief-foot{color:#4e5945}
.lesson .change{background:#e6edc0;color:#374d20}
.dash-footer i{background:#e6edc0;color:#374d20}
.task-toggle:hover{background:#edf0e6}
@media(max-width:800px){
 .dash-main{padding:24px}
 .dash-main h2{font-size:34px;letter-spacing:-.06em}
 .mobile-dash-nav button{color:#626a5d;padding:11px 8px;letter-spacing:.045em}
 .mobile-dash-nav button[aria-current="page"]{color:#20251b;background:transparent;box-shadow:inset 0 -2px 0 #8ba825}
 .mobile-dash-nav button:hover{background:#eceee3}
}

/* Transform and opacity stay on compositor layers; animated blur caused visible frame drops. */
.has-3d .experience{height:385svh}
.has-3d .projected-screen::after{content:"";position:absolute;z-index:6;top:0;left:50%;width:32px;height:7px;transform:translateX(-50%);border-radius:0 0 5px 5px;background:#080a0b;opacity:calc(1 - var(--device-fade,0));pointer-events:none}

/* The accelerated mark and fading curtain share one compositor-driven flight. */
.loader{position:fixed;inset:0;z-index:90;overflow:hidden;pointer-events:auto;visibility:visible;animation:intro-complete .30s linear 2.2s both}
.loader::before{content:"";position:absolute;inset:0;background:#080908;animation:curtain-reveal .30s linear 2.2s both;will-change:opacity}
.loader-mark{position:absolute;left:50%;top:50%;z-index:1;color:var(--paper);font:38px monospace;line-height:1;transform:translate3d(-50%,-50%,0) scale(1);animation:terminal-flight .30s linear 2.2s both,mark-release .30s linear 2.2s both;will-change:transform,opacity;backface-visibility:hidden}
.loader-mark i{font-style:normal;animation:blink .55s steps(1,end) 4}
@keyframes blink{50%{opacity:0}}
@keyframes terminal-flight{
 0%{transform:translate3d(-50%,-50%,0) scale(1);animation-timing-function:cubic-bezier(.6,0,.95,.2)}
 100%{transform:translate3d(-50%,-50%,0) scale(32)}
}
@keyframes mark-release{0%,78%{opacity:1}100%{opacity:0}}
@keyframes curtain-reveal{0%,73%{opacity:1}100%{opacity:0}}
@keyframes intro-complete{0%,99%{visibility:visible}100%{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.loader{display:none}}

/* Preserve the viewport width when the intro unlocks scrolling. */
html{scrollbar-width:none}
html::-webkit-scrollbar{display:none}

/* Reduced motion and WebGL fallback show the working demo directly. */
@media(min-width:801px){
 body:not(.has-3d) .laptop{display:none}
 body:not(.has-3d) .screen{margin-top:0}
}

/* Keep selected multi-line headings clear without reducing their type size. */
.hero h1{line-height:1.08}
.legal-intro h1,.section h2,.closing h2{line-height:1.14}
@media(max-width:700px){.hero h1{line-height:1.12}}
