@font-face{font-family:Bricolage;src:url(/fonts/bricolage-var.woff2) format("woff2");font-weight:200 800;font-stretch:75% 100%;font-display:swap}
:root{--ink:var(--theme-foreground);--ink-2:var(--theme-secondary);--paper:#fff;--muted:var(--theme-muted-foreground);--line:var(--theme-border);--accent:var(--theme-primary);--tint:var(--theme-accent);--surface:var(--theme-muted);--amber:#f5b347;--cta:var(--accent);--cta-hover:#114e46;--gutter:clamp(24px,4.5vw,72px);--max:1440px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-6:48px;--space-8:64px;--space-12:96px;--space-16:128px;--ease:cubic-bezier(.16,1,.3,1);--display:Bricolage,system-ui,sans-serif;--body:18px;--small:14px;--h1:clamp(48px,5.8vw,88px);--h2:clamp(40px,4.5vw,68px);--h3:clamp(30px,3vw,44px);color-scheme:light}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--accent) #fff}body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--body)/1.55 var(--display);font-synthesis:none;-webkit-font-smoothing:antialiased}img,video,canvas{display:block;max-width:100%}img{height:auto}a{color:inherit;text-underline-offset:4px}button{font:inherit;cursor:pointer;color:inherit;touch-action:manipulation}a,summary{touch-action:manipulation}h1,h2,h3{margin:0;letter-spacing:-.04em;line-height:1.02;text-wrap:balance}p{margin:0}svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}::selection{background:var(--tint);color:var(--ink)}:focus-visible{outline:3px solid var(--ink);outline-offset:5px}button:disabled{opacity:.5;cursor:default}section[id]{scroll-margin-top:120px}.skip{position:fixed;left:24px;top:-90px;padding:12px 20px;background:var(--ink);color:#fff;z-index:100}.skip:focus{top:12px}
.top{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px var(--gutter);background:#fff;min-height:96px;border-bottom:1px solid transparent;transition:border-color .3s}.top.is-scrolled{border-bottom-color:var(--line)}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);flex-shrink:0;min-height:44px}.brand .tile{width:36px;height:36px}.brand .wm{height:29px;width:auto;max-width:150px}.nav{display:flex;align-items:center;gap:32px;font-size:15px}.nav a:not(.btn){padding:12px 0;text-decoration:none}.nav a:not(.btn):hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:56px;padding:16px 25px;border-radius:8px;background:var(--cta);color:#fff;font-weight:650;text-decoration:none;line-height:1.2;transition:background .2s,transform .25s var(--ease)}.btn:hover{background:var(--cta-hover);transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.98)}.btn-sm{min-height:48px;padding:14px 20px;font-size:14px}.btn-lg{min-height:60px;padding:18px 28px}.link{display:inline-flex;align-items:center;gap:16px;min-height:48px;text-decoration:none;padding:10px 0}.link:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:32px;max-width:var(--max);margin:auto;padding:72px var(--gutter) 88px;min-height:720px}.hero h1{font-size:var(--h1);font-weight:650;line-height:1.02}.hero h1 span{display:block;white-space:nowrap}.hero h1 span+span{margin-top:8px}.hero h1 .dot{display:inline}.dot{color:var(--accent)}.lede{margin-top:32px;max-width:40ch;font-size:20px;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:32px}.note{margin-top:16px;font-size:14px;color:var(--muted)}.hero-stage{position:relative;aspect-ratio:1;width:100%;max-width:560px;justify-self:center}.hero-stage canvas,.stage-still{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.hero-stage canvas{opacity:0}.hero-stage.is-live canvas{opacity:1}.hero-stage.is-live .stage-still{opacity:0}.stage-actions{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.quiet-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;min-height:44px;padding:10px 12px;font-size:13px;color:var(--muted);border-radius:6px}.quiet-button:hover{color:var(--ink);background:var(--surface)}.quiet-button:active{transform:scale(.98)}.stage-hello{background:var(--surface);color:var(--ink)}
.block{max-width:var(--max);margin:auto;padding:128px var(--gutter) 0}.block-head{display:grid;grid-template-columns:1.25fr 1fr;gap:32px 64px;align-items:end;margin-bottom:56px}.block-head h2{font-size:var(--h2);font-weight:600;max-width:15ch}.block-head p{color:var(--muted);max-width:35ch;justify-self:end}.voices{padding-top:96px;padding-bottom:88px;background:var(--surface);max-width:none;overflow:hidden}.voices>.block-head{max-width:1296px;margin-left:auto;margin-right:auto}.v-car{position:relative;max-width:1296px;height:calc(var(--mh,405px) + var(--caption-h,128px) + 14px);margin:0 auto}.v-track{position:absolute;inset:0 0 var(--caption-h,128px)}.v-item{position:absolute;left:50%;top:50%;width:var(--w,100px);height:var(--h,220px);transform:translate(calc(-50% + var(--x,0px)),-50%);padding:0;border:0;border-radius:999px;overflow:hidden;background:var(--tint);cursor:pointer;transition:transform .6s var(--ease),opacity .4s}.v-item img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}.v-item span{position:absolute;bottom:14px;left:4px;right:4px;text-align:center;font-size:12px;color:#fff;background:#193933eb;padding:5px 2px;border-radius:12px;opacity:1;transition:opacity .2s}.v-item:hover span,.v-item:focus-visible span{opacity:1}.v-item:focus-visible{outline-offset:5px}.v-main{position:absolute;left:50%;top:0;width:var(--mw,720px);margin:0;transform:translateX(-50%);z-index:20;border-radius:16px;overflow:hidden;background:var(--tint);box-shadow:0 20px 50px -30px #00000030;transition:opacity .2s}.v-main.is-swap{opacity:.4}.v-film{position:relative;aspect-ratio:16/9;background:var(--tint);overflow:hidden}.v-main video{width:100%;height:100%;object-fit:cover}.v-main figcaption{min-height:128px;padding:20px 24px 24px;background:#fff;display:flex;flex-direction:column;gap:6px}.v-lang{font-size:12px;font-weight:600;color:var(--muted)}.v-line{font:450 clamp(22px,2.2vw,32px)/1.15 Newsreader,Georgia,serif;letter-spacing:-.025em}.v-en{font-size:13px;color:var(--muted);line-height:1.4}.v-film-controls{position:absolute;top:14px;right:14px;display:flex;gap:8px}.v-film-controls button{min-height:44px;padding:10px 14px;border:0;border-radius:7px;color:var(--ink);background:#fff;font-size:13px;font-weight:550}.v-film-controls button:hover{background:var(--tint)}.v-nav{position:absolute;bottom:-64px;z-index:30;width:48px;height:48px;border-radius:50%;border:1px solid #e7e7ee;background:#fff;color:var(--ink);display:grid;place-items:center}.v-nav:hover{background:var(--tint)}.v-prev{left:calc(50% - 152px)}.v-next{right:calc(50% - 152px)}.v-dots{display:flex;justify-content:center;gap:7px;margin-top:34px;align-items:center;height:30px}.v-dots i{display:block;width:5px;height:5px;border-radius:50%;background:var(--accent);transition:transform .3s,background .3s}.v-dots i.on{transform:scale(1.5);background:var(--ink)}.v-status{display:block;text-align:center;margin-top:24px;font-size:13px;color:var(--muted);min-height:20px}.inside{padding-top:128px;padding-bottom:112px}.phones{background:var(--surface);padding:56px 32px;border-radius:16px}.mock-note{max-width:64ch}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.steps li{display:flex;flex-direction:column;gap:24px;padding-top:32px;border-top:1px solid var(--line);min-width:0}.num{display:none}.steps h3{font-size:var(--h3);font-weight:550}.steps p{color:var(--muted);font-size:17px}.ex{display:flex;gap:8px 16px;flex-wrap:wrap;margin-top:8px;padding-top:16px}.ex span{font:400 25px/1.25 Newsreader,Georgia,serif;color:var(--ink)}.ex span:first-child{width:100%;font:400 13px/1.5 var(--display);color:var(--muted)}.questions{display:grid;grid-template-columns:1fr 1.35fr;gap:80px}.questions .block-head{display:block}.questions .block-head h2{font-size:var(--h2)}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font-size:21px;font-weight:500;line-height:1.25;letter-spacing:-.02em}.faq summary::-webkit-details-marker{display:none}.faq summary svg{flex:none;width:20px;height:20px;transition:transform .3s var(--ease)}.faq details[open] summary svg{transform:rotate(45deg)}.faq details p{padding:0 32px 28px 0;color:var(--muted);font-size:17px;line-height:1.6;max-width:62ch}.join{margin:128px auto 0;padding:96px var(--gutter);background:var(--tint);text-align:center;display:flex;flex-direction:column;align-items:center;gap:32px}.join h2{font-size:clamp(48px,6.5vw,96px);line-height:1;max-width:13ch;font-weight:600}.join .dot{color:var(--ink)}.join .btn{background:var(--ink);color:#fff}.join .btn:hover{background:#114e46}.join .note{margin-top:-12px}.foot{background:#fff}.foot-in{max-width:var(--max);margin:auto;padding:48px var(--gutter);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px}.foot nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;font-size:14px}.foot nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}.foot nav a:hover{text-decoration:underline}.fine{width:100%;font-size:13px;color:var(--muted)}.foot-bottom{width:100%;border-top:1px solid var(--line);padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.foot-bottom .fine{width:auto}.page{max-width:960px;margin:auto;padding:80px var(--gutter) 112px}.page h1{font-size:var(--h2);font-weight:600;margin-bottom:24px}.page h2{font-size:30px;letter-spacing:-.025em;margin:48px 0 16px}.page h3{font-size:23px;margin:32px 0 12px}.page p,.page li{color:var(--muted);max-width:70ch}.page p+p{margin-top:16px}.page li+li{margin-top:8px}.page ul{padding-left:24px}.page a{text-decoration:underline;text-decoration-thickness:1px}.page a:hover{color:var(--ink)}.page .intro{font-size:21px;color:var(--ink)}.page .meta{font-size:14px;margin-bottom:24px}.page .toc{padding:24px;background:var(--surface);border-radius:12px;margin:32px 0}.page .toc ol{margin:0;padding-left:20px;columns:2;column-gap:40px;font-size:14px}.page table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15px}.page th,.page td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}.kicker{display:none}[data-reveal]{opacity:1;transform:none}.js [data-reveal].will-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.js [data-reveal].is-in{opacity:1;transform:none}
/* App mockups: built in the app's own type (Newsreader + IBM Plex Mono), example content */
@font-face{font-family:Newsreader;src:url(/fonts/newsreader-normal-200-800-latin.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:Newsreader;src:url(/fonts/newsreader-normal-200-800-latin-ext.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0100-02BA,U+1E00-1EFF}
@font-face{font-family:"Plex Mono";src:url(/fonts/ibmplexmono-normal-400-latin.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/fonts/ibmplexmono-normal-500-latin.woff2) format("woff2");font-weight:500;font-display:swap}
.phones{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,28px);align-items:start}
.phone{margin:0;display:flex;flex-direction:column;gap:16px}
.phone:nth-child(even){margin-top:56px}
.phone figcaption{font-size:15px;color:var(--muted)}
.phone figcaption b{color:var(--paper);font-weight:650;margin-right:6px}
.scr{--u:calc(var(--w,280px)/300);position:relative;width:100%;aspect-ratio:300/650;border-radius:38px;overflow:hidden;background:#fff;color:var(--ink);border:7px solid #2c2926;box-shadow:0 30px 60px -20px rgba(23,21,20,.18);container-type:inline-size;font-family:Newsreader,Georgia,serif}
.scr *{margin:0}
.scr .serif{font-family:Newsreader,Georgia,serif;letter-spacing:-.01em}
.scr .mono{font-family:"Plex Mono",ui-monospace,monospace;font-size:3.2cqw;letter-spacing:.12em}
.sb{display:flex;justify-content:space-between;align-items:center;padding:5cqw 8cqw 0;font:600 4.6cqw/1 -apple-system,system-ui,sans-serif}
.sb i{width:16cqw;height:3.4cqw;border-radius:2px;background:linear-gradient(90deg,var(--ink) 60%,#4cd964 60%)}
.sb-dark{color:var(--ink)}
.center{text-align:center}
/* home */
.scr-home{background:#fff}
.home-sky{margin-top:-14cqw;padding:22cqw 7cqw 8cqw;background:linear-gradient(180deg,var(--surface) 0%,var(--tint) 46%,#fff 100%)}
.home-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22cqw}
.chip{font:500 3.2cqw/1 "Plex Mono",monospace;letter-spacing:.1em;padding:3.4cqw 4cqw;background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.08)}
.stat{display:grid;grid-template-columns:auto auto;gap:0 7cqw;padding:2.4cqw 4cqw;background:rgba(255,255,255,.6);text-align:right}
.stat b{font:400 7cqw/1.1 Newsreader,serif}
.stat small{font:500 2.6cqw/1.4 "Plex Mono",monospace;letter-spacing:.1em}
.big{font-size:11.5cqw;line-height:1.05;margin-top:2cqw}
.mid{font-size:8cqw;margin-top:3cqw;color:var(--ink)}
.home-play{display:flex;justify-content:space-between;align-items:center;padding:4cqw 7cqw;font:400 4.4cqw/1.35 -apple-system,system-ui,sans-serif;color:var(--muted)}
.play{width:17cqw;height:17cqw;border-radius:50%;background:var(--ink);position:relative}
.play::after{content:"";position:absolute;left:43%;top:33%;border-left:5cqw solid #fff;border-top:3.2cqw solid transparent;border-bottom:3.2cqw solid transparent}
.home-list{padding:4cqw 7cqw}
.home-list .mono{color:var(--muted);padding-bottom:3cqw;border-bottom:1px solid #e6e6e6}
.row{display:flex;gap:4cqw;align-items:center;padding-top:4cqw;font-size:6cqw}
.row small{font-size:2.8cqw;color:var(--muted)}
.thumb{width:16cqw;height:16cqw;background:var(--tint);flex:none}
.tabs{position:absolute;left:12cqw;right:12cqw;bottom:5cqw;display:flex;justify-content:space-around;padding:3cqw;border-radius:99px;background:rgba(245,245,245,.92);box-shadow:0 2px 12px rgba(0,0,0,.08);font:500 3.4cqw/1 -apple-system,system-ui,sans-serif}
.tabs span{padding:3cqw 5cqw;border-radius:99px}
.tabs .on{background:#e4e4e4}
/* pairs */
.bars{display:flex;gap:2cqw;padding:10cqw 8cqw 0 14cqw}
.bars i{flex:1;height:2px;background:#e3e3e3}
.bars i.d{background:var(--ink)}
.scr-pairs>.mono{margin:10cqw 0 7cqw;color:var(--muted)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:3cqw;padding:0 6cqw}
.grid span{display:flex;align-items:center;min-height:21cqw;padding:3cqw 4cqw;border:1px solid #d6d6d6;font-size:5cqw}
.grid b{font-weight:400;font-size:5.8cqw}
.cta-grey{position:absolute;left:6cqw;right:6cqw;bottom:10cqw;padding:5cqw;text-align:center;background:#e8e8e8;color:var(--muted)}
/* word */
.scr-word{background:var(--tint);color:var(--ink);text-align:center}
.feed{display:flex;gap:2cqw;padding:9cqw 7cqw 0;text-align:left;color:var(--muted);font-size:2.8cqw!important}
.feed span{margin-left:auto}
.glim{width:30cqw;height:auto;margin:20cqw auto 4cqw}
.word{font-size:12cqw;font-weight:600}
.native{font-size:8cqw;margin-top:2cqw;font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN",system-ui,sans-serif!important}
.pill{display:inline-block;margin-top:6cqw;padding:3cqw 5cqw;border-radius:99px;background:#fff;color:var(--ink)}
.gloss{margin-top:5cqw;font-size:5cqw;color:var(--muted)}
.word-foot{position:absolute;left:6cqw;right:6cqw;bottom:9cqw;display:flex;justify-content:space-between}
.word-foot span{padding:3cqw 4cqw;border-radius:99px;background:#fff;color:var(--ink);font-size:2.8cqw}
/* done */
.scr-done{background:linear-gradient(180deg,var(--surface) 0%,#fff 38%);padding:0}
.done-title{font-size:13cqw;line-height:1;padding:16cqw 7cqw 0}
.done-sub{padding:4cqw 7cqw 0;font:400 4.2cqw/1.4 -apple-system,system-ui,sans-serif;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:7cqw 7cqw 0;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}
.stats span{padding:4cqw 0;display:flex;flex-direction:column;gap:2cqw}
.stats span+span{padding-left:3cqw;border-left:1px solid #e6e6e6}
.stats b{font:400 9cqw/1 Newsreader,serif}
.stats small{font-size:2.4cqw!important}
.week{display:flex;justify-content:space-between;padding:6cqw 7cqw 0}
.week span{width:9cqw;height:9cqw;display:grid;place-items:center;border:1px solid #ddd;border-radius:50%;font-size:2.8cqw!important;letter-spacing:0!important}
.week .on{background:var(--accent);border-color:var(--accent);color:#fff}
.can{font-size:6cqw;padding:7cqw 7cqw 2cqw}
.w{display:flex;flex-direction:column;padding:3cqw 7cqw;border-top:1px solid #eee}
.w span{font-size:6cqw}
.w small{font:400 3.6cqw/1.4 -apple-system,system-ui,sans-serif;color:var(--muted)}
.continue{position:absolute;left:7cqw;right:7cqw;bottom:9cqw;padding:5cqw;text-align:center;background:var(--ink);color:#fff}
.mock-note{margin-top:28px;font-size:14px;color:var(--muted)}
/* Mockup motion */
[data-cyc-lang],[data-cyc-pair],[data-cyc-course],.word-card{transition:opacity .26s ease,transform .26s ease}
.is-swap{opacity:0;transform:translateY(6px)}
.grid span{transition:border-color .25s,color .25s,opacity .35s,background .25s}
.grid span.sel{border:1.5px solid var(--ink);background:#fafafa}
.grid span.done{border-color:#80a899;color:var(--muted)}
.cta-grey{transition:background .3s,color .3s}
.cta-grey.is-ready{background:var(--ink);color:#fff}

.wave{display:inline-flex;gap:.8cqw;align-items:center;height:3.6cqw;margin-right:1.5cqw;vertical-align:middle}.wave i{width:.7cqw;height:100%;background:var(--ink);border-radius:1px;transform:scaleY(.5)}.is-playing .wave i{animation:wave 1.2s ease-in-out infinite}.wave i:nth-child(2){animation-delay:.15s}.wave i:nth-child(3){animation-delay:.3s}.wave i:nth-child(4){animation-delay:.45s}@keyframes wave{0%,100%{transform:scaleY(.4)}50%{transform:scaleY(1)}}

.phones{gap:24px}.phone figcaption{font-size:14px;color:var(--muted)}.phone figcaption b{color:var(--ink);display:block;font-size:18px;font-weight:550;margin-bottom:4px}.scr{border-color:var(--ink);border-width:6px;box-shadow:0 16px 28px -18px #00000040}.scr .home-sky{background:linear-gradient(180deg,var(--surface) 0%,var(--tint) 46%,#fff 100%)}.scr .tabs{background:#fff0;box-shadow:none;border-radius:0;left:0;right:0;padding:4cqw 0;border-top:1px solid #ddd}.scr .tabs span{padding:3cqw;border-radius:0}.scr .tabs .on{background:transparent;border-bottom:2px solid var(--accent)}.scr .grid span{border-radius:4px}.scr .grid span.done{background:var(--tint)}.mock-note{font-size:13px;line-height:1.5;margin-top:24px}.swipe-hint{display:none}.phone .glim{filter:none}.scr .sb i{background:var(--ink);border-radius:5px;width:11cqw}.scr .sb i:after{content:'';display:block;margin-left:auto;width:4cqw;height:100%;border-radius:5px;background:#777}.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}.motion-off [data-reveal]{opacity:1!important;transform:none!important}
@media(min-width:1550px){.hero{min-height:780px}}@media(max-width:1100px){.nav{gap:24px}.hero{padding-top:56px;padding-bottom:72px;min-height:640px}.hero h1{font-size:5.4vw}.lede{font-size:18px}.hero-stage{max-width:460px}.hero .actions{gap:12px 20px}.phones{padding:40px 24px;gap:16px}.phone:nth-child(even){margin-top:40px}.scr{border-width:5px;border-radius:30px}.questions{gap:48px}.block{padding-top:96px}.inside{padding-bottom:0}.block-head{gap:24px 48px}.block-head p{font-size:17px}}
@media(max-width:760px){:root{--h1:11.7vw;--h2:clamp(38px,10vw,54px);--h3:36px;--body:17px;--gutter:24px}.top{min-height:80px;padding:16px 24px;gap:16px}.brand{gap:8px}.brand .tile{width:30px;height:30px}.brand .wm{height:23px;max-width:111px}.nav{gap:0}.hide-s{display:none}.nav .btn{font-size:12px;min-height:44px;padding:12px}.hero{grid-template-columns:1fr;padding:0 24px 64px;gap:16px;min-height:0}.hero-stage{order:-1;max-width:370px;margin:0 auto;width:100%;aspect-ratio:1.1}.hero-stage canvas,.stage-still{height:calc(100% - 30px)}.stage-actions{bottom:-8px;gap:0}.quiet-button{font-size:12px;padding:10px}.hero h1{font-size:var(--h1);line-height:1.04}.hero h1 span+span{margin-top:6px}.lede{margin-top:24px;font-size:17px;line-height:1.5;max-width:35ch}.actions{margin-top:24px;gap:12px 24px}.hero .btn{width:100%;font-size:15px}.hero .link{font-size:15px;min-height:44px}.hero .note{font-size:12px;margin-top:12px}.block{padding-top:72px}.block-head{grid-template-columns:1fr;gap:24px;margin-bottom:36px}.block-head h2{max-width:15ch}.block-head p{justify-self:start;max-width:35ch;font-size:16px}.voices{padding-bottom:56px}.v-car{height:calc(var(--mh,200px) + var(--caption-h,132px) + 142px)}.v-main{top:0;transform:translateX(-50%);border-radius:12px}.v-main figcaption{min-height:132px;padding:20px}.v-line{font-size:25px}.v-en{font-size:12px}.v-film-controls{top:10px;right:10px;gap:6px}.v-film-controls button{font-size:12px;padding:10px 12px}.v-track{top:calc(var(--mh) + var(--caption-h,132px) + 22px);bottom:0;height:120px}.v-item{top:50%}.v-item span{font-size:12px}.v-nav{bottom:-58px}.v-prev{left:0}.v-next{right:0}.v-dots{margin-top:28px}.v-status{font-size:12px;margin-top:24px}.phones{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:24px;margin:0 -24px;padding:36px 48px 32px;border-radius:0;scrollbar-width:thin;scrollbar-color:var(--accent) var(--surface)}.phone{flex:0 0 264px;scroll-snap-align:center;gap:20px}.phone:nth-child(even){margin-top:0}.scr{border-radius:38px;border-width:6px}.phone figcaption{font-size:14px}.phone figcaption b{display:inline;font-size:17px}.swipe-hint{display:block;font-size:12px;color:var(--muted);margin:0}.inside{padding-bottom:0}.steps{grid-template-columns:1fr;gap:40px}.steps li{gap:16px;padding-top:24px}.steps p{font-size:16px;max-width:38ch}.ex{padding-top:8px;margin-top:0}.ex span{font-size:25px}.questions{display:block}.questions .block-head{margin-bottom:32px}.faq summary{font-size:19px;padding:24px 0}.faq details p{font-size:16px;padding-right:8px}.join{margin-top:80px;padding:72px 24px;gap:28px}.join h2{font-size:12.5vw}.join .btn{font-size:15px}.join .note{font-size:13px}.foot-in{padding:36px 24px;gap:24px}.foot nav{gap:0 24px;font-size:13px}.foot nav a:last-child{width:100%}.foot-bottom{display:block;padding-top:24px}.foot-bottom .quiet-button{padding-left:0;margin-top:12px}.page{padding:48px 24px 72px}.page h1{font-size:42px}.page h2{font-size:27px;margin-top:36px}.page p,.page li{font-size:16px}.page .intro{font-size:19px}.page .toc ol{columns:1}.page table{display:block;overflow-x:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}[data-reveal]{opacity:1!important;transform:none!important}.hero-stage canvas{display:none}.hero-stage .stage-still{opacity:1!important}}

.stage-actions{visibility:hidden}.is-live .stage-actions{visibility:visible}
/* Paused pages retain the complete composed artwork even when the GPU surface is suspended. */
.motion-off .hero-stage canvas{opacity:0}.motion-off .hero-stage .stage-still{opacity:1}

.proof-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px}.proof-tools .quiet-button{margin-left:auto}

/* User-supplied transparent ivory/gold mark; no tile, filter or redraw. */
.brand .tile{width:48px;height:46px;object-fit:contain}
.stage-logo{position:absolute;left:0;top:0;width:86%;height:auto;max-width:none;pointer-events:none}
.hero-stage .stage-still{inset:auto;left:80%;top:2%;width:18%;height:auto;object-fit:contain}
@media(max-width:760px){.brand .tile{width:38px;height:36px}.brand{gap:5px}.brand .wm{max-width:108px}.hero-stage{margin-bottom:0}}

/* Light surfaces keep the supplied ivory/gold identity prominent. */
.btn{border-radius:var(--theme-radius);box-shadow:var(--theme-shadow)}
.v-main,.phones,.page .toc{border-radius:var(--theme-radius)}
.v-main{box-shadow:var(--theme-shadow);background:var(--theme-card)}
.v-main figcaption{background:var(--theme-card)}
.join{background:var(--theme-invitation)}
.join .btn{background:var(--theme-primary);color:var(--theme-primary-foreground)}
.v-nav{border-color:var(--theme-border)}
@media(max-width:760px){.phones{border-radius:0}.v-main{border-radius:var(--theme-radius)}}

.join .btn:hover{background:#114e46}
