@font-face{font-family:Gilroy;src:url(gilroy-regular.woff2);font-weight:400;font-display:swap}@font-face{font-family:Gilroy;src:url(gilroy-bold.woff2);font-weight:700;font-display:swap}*{box-sizing:border-box}body{margin:0;background:var(--ls-canvas);color:var(--ls-ink);font-family:Gilroy,system-ui,sans-serif}button,a{touch-action:manipulation}header{display:flex;align-items:center;justify-content:space-between;padding:24px 5vw;border-bottom:1px solid var(--ls-border)}header>span{font-size:10px;letter-spacing:.18em;color:var(--ls-ink-muted)}.wordmark{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:700;color:inherit;text-decoration:none}.wordmark img{width:32px;height:32px}.ui-button{font-family:inherit}main{max-width:1300px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:50px 5vw 35px;align-items:center}.story .ui-back-link{margin-bottom:42px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--ls-primary);line-height:1.6}h1{font-size:clamp(42px,4.3vw,68px);font-weight:400;line-height:1.05;letter-spacing:-.04em;margin:20px 0 28px}.lede{font-size:21px;line-height:1.5;max-width:420px}.explain{font-size:15px;line-height:1.7;color:var(--ls-ink-secondary);max-width:430px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.journey{padding:0;display:flex;list-style:none;gap:22px;font-size:13px;counter-reset:stage}.journey li:before{counter-increment:stage;content:'0' counter(stage);display:block;font-size:10px;margin-bottom:8px;opacity:.65}.journey li{color:var(--ls-ink-muted)}.journey li.active{color:var(--ls-primary);font-weight:700}.demo-note{font-size:12px;color:var(--ls-ink-muted);line-height:1.5;margin-top:24px}.showcase{display:flex;align-items:center;flex-direction:column}.phone{width:min(360px,100%);height:690px;border:7px solid var(--ls-surface-raised);border-radius:43px;overflow:hidden;position:relative;box-shadow:var(--ls-shadow-lg);background:var(--ls-surface);isolation:isolate}.phone-top{position:absolute;top:15px;left:20px;right:20px;display:flex;justify-content:space-between;font-size:10px;font-weight:700;z-index:4;color:var(--ls-ink)}#scene{height:100%;position:relative;background:var(--ls-canvas)}#scene canvas{width:100%;height:100%;display:block}.school-sign{position:absolute;top:47%;left:0;right:0;text-align:center;font-size:11px;font-weight:700;letter-spacing:.22em;color:var(--ls-ink);pointer-events:none;transition:opacity .25s}.scene-fallback{position:absolute;top:30%;left:20px;right:20px;text-align:center;font-size:30px;line-height:1.5}.sheet{position:absolute;bottom:0;left:0;right:0;z-index:3;background:var(--ls-surface-raised);padding:18px 22px 24px;border-radius:25px 25px 0 0;transition:transform .55s cubic-bezier(.16,1,.3,1);border:1px solid var(--ls-border)}.sheet-handle{display:block;width:36px;height:3px;border-radius:5px;background:var(--ls-border-strong);margin:-7px auto 16px}.sheet .eyebrow{margin:0 0 5px}.sheet h2{font-size:27px;margin:0 0 6px;font-weight:700;letter-spacing:-.025em}.sheet p:not(.eyebrow){font-size:13px;margin:0;line-height:1.5;color:var(--ls-ink-secondary)}.progress{display:flex;gap:5px;margin:16px 0}.progress i{height:3px;border-radius:3px;background:var(--ls-border-strong);flex:1}.progress i.active{background:var(--ls-primary)}.lesson-row{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--ls-border)}.lesson-row img{width:27px;height:27px}.lesson-row strong{font-size:13px;display:block}.lesson-row span{font-size:10px;display:block;color:var(--ls-ink-muted);margin-top:4px}#pass-button{width:100%;margin-top:2px}.caption{font-size:11px;color:var(--ls-ink-muted);margin:23px 0 0}#pass{position:absolute;inset:0;z-index:2;padding:85px 28px 30px;background:var(--ls-surface-raised);text-align:center;opacity:0;transform:scale(.85);transition:opacity .5s,transform .7s cubic-bezier(.16,1,.3,1)}#pass h2{font-size:28px;line-height:1.15;font-weight:400;margin:15px 0 25px}#qr{display:block;width:245px;max-width:100%;margin:0 auto 28px;border-radius:16px}#pass p{font-size:11px;line-height:1.6;color:var(--ls-ink-muted);margin-top:20px}.phone.is-pass #pass{opacity:1;transform:none}.phone.is-pass .sheet{transform:translateY(110%)}.phone.is-pass .school-sign,.phone.is-transitioning .school-sign{opacity:0}.phone.is-transitioning .sheet{transform:translateY(110%)}details{margin-top:26px;max-width:430px}summary{cursor:pointer;font-size:13px;color:var(--ls-primary);padding:10px 0}details video{width:100%;max-height:360px;border-radius:14px;background:var(--ls-surface)}details p{font-size:11px;line-height:1.6;color:var(--ls-ink-muted)}a:not(.ui-button):not(.wordmark){color:var(--ls-primary)}footer{text-align:center;padding:28px;font-size:12px;line-height:1.6;color:var(--ls-ink-muted)}[hidden]{display:none!important}html[data-theme=dark] .lesson-row img{filter:invert(1)}@media(max-width:760px){header{padding:18px 6vw}header>span{display:none}main{grid-template-columns:1fr;padding:30px 7vw;gap:40px}.story .ui-back-link{margin-bottom:24px}h1{font-size:48px}.phone{height:650px}.showcase{order:0}.journey{justify-content:space-between}.ui-button{min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.school-sign{color:var(--ls-on-primary);white-space:nowrap;font-size:9px;letter-spacing:.15em}
.story,.showcase{padding:0}.lede{margin:24px 0 18px}.explain{margin:0}.sheet{margin:0}
