@font-face{font-family:'Bricolage Grotesque Variable';src:url(/seo/bricolage.woff2) format('woff2-variations');font-weight:200 800;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url(/seo/instrument-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url(/seo/instrument-600.woff2) format('woff2');font-weight:600;font-display:swap}
:root{--bg:#0d0e0b;--s1:#16170f;--s2:#1f201a;--s3:#2a2b23;--ink:#f3f1ea;--muted:#b4b4a8;--accent:#ff5a1f;--accent-ink:#0b0b0f;--rec:#2b160c;
--display:'Bricolage Grotesque Variable',system-ui,sans-serif;--text:'Instrument Sans',system-ui,sans-serif;--m:clamp(20px,4vw,56px);
--t1:clamp(36px,4.2vw,64px);--t2:clamp(28px,3.1vw,46px);--t3:clamp(20px,1.8vw,26px);--t4:18px;--t5:14px;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--t4)/1.55 var(--text)}
a{color:inherit}img,video{display:block;max-width:100%}button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.frame{width:100%;max-width:1440px;margin:0 auto;padding-left:var(--m);padding-right:var(--m)}
h1,h2,h3{font-family:var(--display);font-weight:700;margin:0;letter-spacing:-.03em}
h1{font-size:var(--t1);line-height:1}h2{font-size:var(--t2);line-height:1.04}h3{font-size:var(--t3);line-height:1.15;letter-spacing:-.02em}
p{margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:999px;font-weight:600;text-decoration:none;border:0;cursor:pointer;
transition:transform .18s var(--ease),background-color .18s}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.98)}
.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.primary:hover{background:#ff7340}
.btn.ghost{background:var(--s2);color:var(--ink)}.btn.ghost:hover{background:var(--s3)}.btn.sm{min-height:40px;padding:0 18px;font-size:var(--t5)}
.btn.sq{width:48px;padding:0}.btn:disabled{opacity:.45;cursor:default;transform:none}
.tlink{font-weight:600;text-decoration:none;display:inline-flex;gap:8px;align-items:center;min-height:48px}.tlink span{transition:transform .18s var(--ease)}.tlink:hover span{transform:translateX(4px)}
/* header */
.top{position:sticky;top:0;z-index:20;background:var(--bg)}
.bar{display:flex;align-items:center;gap:20px;height:72px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.mk{height:28px;width:auto}.wm{height:21px;width:auto;color:var(--ink)}
.bar nav{margin-left:auto;display:flex;gap:26px;align-items:center;font-size:var(--t4)}.bar nav a:not(.btn){text-decoration:none;color:var(--muted)}.bar nav a:not(.btn):hover{color:var(--ink)}
/* hero */
.hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,88px);align-items:center;padding-top:clamp(40px,7vh,96px);padding-bottom:clamp(72px,10vh,128px)}
.lead{font-size:var(--t3);line-height:1.4;margin-top:28px;max-width:34em}.cta{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:36px}
.note{color:var(--muted);font-size:var(--t5);margin-top:20px}.hero-f{margin:0}.hero-f figcaption{color:var(--muted);font-size:var(--t5);margin-top:14px}
/* app fragments */
[data-ui]{background:var(--s1);border-radius:16px;color:var(--ink);font-family:var(--text);font-size:16px;line-height:1.4}
[data-ui] b{font-weight:600}[data-ui] small{color:var(--muted);font-size:14px}
.app-t,.st-h{display:block;font-size:18px;margin-bottom:16px}
.results{padding:18px}.app-head{display:flex;gap:12px;align-items:center}.app-head div{display:grid;min-width:0}.app-head b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.yt{flex:none;width:34px;height:24px;border-radius:7px;background:#ff0033;position:relative}.yt::after{content:'';position:absolute;left:13px;top:7px;border-left:10px solid #fff;border-top:5px solid transparent;border-bottom:5px solid transparent}
.tl{position:relative;display:flex;align-items:flex-end;gap:2px;height:48px;margin:18px 0 16px;padding:6px;background:var(--bg);border-radius:8px}
.tl i{flex:1;background:var(--s3);border-radius:2px}.tl i.hot{background:var(--accent)}
.tl-ph{position:absolute;top:0;bottom:0;left:0;width:2px;background:var(--ink);animation:ph 9s linear infinite}
@keyframes ph{from{transform:translateX(0)}to{transform:translateX(calc(var(--tlw,600px) - 2px))}}
.rc-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.rc{position:relative;padding:0;border:0;border-radius:10px;overflow:hidden;aspect-ratio:9/16;background:var(--bg);cursor:pointer;outline:3px solid transparent;outline-offset:-3px;transition:outline-color .2s,transform .25s var(--ease)}
.rc:hover{transform:translateY(-3px)}.rc.on{outline-color:var(--accent)}.rc video,.rl-v video{width:100%;height:100%;object-fit:cover}
.rc-s,.rc-l{position:absolute;font:600 14px/1 var(--text);padding:5px 8px;border-radius:6px;background:rgba(0,0,0,.72);color:#fff}.rc-s{top:7px;left:7px}.rc-l{bottom:7px;right:7px}
.rc.on .rc-s{background:var(--accent);color:var(--accent-ink)}
.why{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-top:16px;padding:12px 14px;background:var(--s2);border-radius:10px}
.why-t{display:grid;min-width:0;transition:opacity .4s}.why-t.swap{opacity:0}
.ring{--v:90;flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--v)*1%),var(--s3) 0)}
.ring b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--s2);font-size:13px}
/* reel */
.reel{background:var(--s1);padding:clamp(96px,12vh,160px) 0}
.reel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px}.reel-head p{color:var(--muted);margin-top:16px;max-width:36em}
.reel-nav{display:flex;gap:10px}
.reel-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--m) 8px;scroll-padding:0 var(--m);scrollbar-width:none}
.reel-track::-webkit-scrollbar{display:none}
.rl{flex:none;width:clamp(200px,19vw,270px);scroll-snap-align:start}.rl b{display:block;margin-top:14px;font-family:var(--display);font-size:var(--t4)}.rl small{display:block;color:var(--muted);font-size:var(--t5);margin-top:2px}
.rl-v{position:relative;aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:var(--bg)}
/* how */
.how{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,110px);padding-top:clamp(120px,14vh,200px)}
.step{min-height:38vh;display:flex;flex-direction:column;justify-content:center;gap:14px}.step:last-child{min-height:34vh}
.step h3{font-size:var(--t3);color:var(--muted);transition:color .3s}.step p{color:var(--muted);max-width:30em;transition:color .3s}
.step.on h3,.step.on p{color:var(--ink)}
.how-f{position:relative}.stage{position:sticky;top:14vh;display:grid;place-items:center;background:var(--s2);border-radius:20px;padding:clamp(20px,4vw,56px);min-height:460px;margin-top:80px}
.stage-app{width:min(520px,100%);padding:28px;display:grid}.st{grid-area:1/1;opacity:0;transform:translateY(12px);transition:opacity .45s,transform .45s var(--ease);pointer-events:none}
.stage[data-at="0"] .st0,.stage[data-at="1"] .st1,.stage[data-at="2"] .st2{opacity:1;transform:none}
.fld{display:grid;gap:6px;margin-bottom:14px}.fld span:first-child{font-size:14px;color:var(--muted)}
.inp,.fld input{display:block;width:100%;height:46px;padding:0 14px;border-radius:9px;background:var(--bg);border:1px solid var(--s3);color:var(--ink);font:inherit;font-size:16px;line-height:48px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.fld input:focus{outline:none;border-color:var(--accent)}.fld input::placeholder{color:var(--muted)}
.abtn{display:flex;align-items:center;justify-content:center;height:46px;border-radius:9px;background:var(--accent);color:var(--accent-ink);font-weight:600;border:0;width:100%;cursor:pointer;font-size:16px;transition:background-color .15s,transform .15s}
.abtn:hover{background:#ff7340}.abtn:active{transform:scale(.98)}.st-n{display:block;margin-top:12px}
.prog{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px}.prog li{padding-left:26px;position:relative;color:var(--muted)}
.prog li::before{content:'';position:absolute;left:0;top:3px;width:14px;height:14px;border-radius:50%;background:var(--s3)}
.prog li.ok{color:var(--ink)}.prog li.ok::before{background:#3ccf6e}.prog li.now{color:var(--ink)}.prog li.now::before{background:var(--accent);animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(.6)}}
.stage-app .bar{display:block;height:6px;border-radius:3px;background:var(--s3);overflow:hidden}.stage-app .bar i{display:block;height:100%;width:62%;background:var(--accent)}
.srow{display:flex;gap:12px;align-items:center;padding:8px 0}.srow img{width:36px;height:64px;object-fit:cover;border-radius:6px}.srow div{display:grid;min-width:0;flex:1}
.srow b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sact{display:flex;gap:6px}.sact span{font-size:14px;padding:5px 8px;border-radius:6px;background:var(--s2)}.sact .pri{background:var(--accent);color:var(--accent-ink)}
/* splits */
.split{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,6vw,110px);align-items:center;padding-top:clamp(120px,14vh,200px)}
.split.flip .split-t{order:2}.split-t h2{margin-bottom:24px}.split-t p{max-width:36em}.split-t p+p{margin-top:16px}.split-t a{color:var(--accent);text-underline-offset:3px}
.split-f{display:flex;justify-content:flex-end}
.bigclip{margin:0;width:min(340px,100%)}.bigclip-v{position:relative;aspect-ratio:9/16;border-radius:18px;overflow:hidden;background:var(--s1)}.bigclip-v video{width:100%;height:100%;object-fit:cover}
.bigclip figcaption{margin-top:14px}.bigclip b{display:block;font-family:var(--display);font-size:var(--t4)}.bigclip small{display:block;color:var(--muted);font-size:var(--t5);margin-top:2px}.split.flip .split-f{justify-content:flex-start}
.score-app,.sched-app,.brief-app,.cap-app,.lay-app{width:min(480px,100%);padding:26px}
.score-app ul,.sched-app ul,.brief-app ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.score-app li,.sched-app li{display:flex;gap:12px;align-items:center;padding:8px;border-radius:10px}.score-app li.on{background:var(--s2)}
.score-app li img,.sched-app li img{object-fit:cover;border-radius:6px;flex:none}.score-app li div,.sched-app li div{display:grid;flex:1;min-width:0}
.score-app li b,.sched-app li b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tag{flex:none;font-size:14px;font-weight:600;padding:5px 9px;border-radius:999px;background:var(--s3)}.tag.done{background:#173d25;color:#7ff0a6}.tag.fix{background:var(--rec);color:#ffb08a}
.brief-app li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-radius:9px;background:var(--s2)}.brief-app .abtn{margin-top:16px}
.cap-stage{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:9/12;background:var(--bg)}.cap-stage img{width:100%;height:100%;object-fit:cover;object-position:center 70%;filter:brightness(.55)}
.cap-line{position:absolute;left:0;right:0;bottom:16%;text-align:center;font:800 26px/1.1 var(--display);letter-spacing:-.01em;text-transform:uppercase;color:#fff;-webkit-text-stroke:1px #000;paint-order:stroke}
.cap-line .hi{color:var(--c,#c6ff3d)}
.cap-app[data-cap=box] .cap-line .hi{color:#fff;background:#7c4dff;padding:0 6px;border-radius:6px;-webkit-text-stroke:0}
.cap-app[data-cap=karaoke] .cap-line span{color:#b9b9b9}.cap-app[data-cap=karaoke] .cap-line .hi{color:#fff}
.cap-app[data-cap=clean] .cap-line{text-transform:none;font-weight:600;-webkit-text-stroke:0;text-shadow:0 2px 8px rgba(0,0,0,.8)}.cap-app[data-cap=clean] .cap-line .hi{color:#fff}
.cap-app[data-cap=loud] .cap-line{transform:scale(1.18)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chip{border:0;padding:9px 14px;border-radius:999px;background:var(--s2);cursor:pointer;font-size:15px;transition:background-color .15s}
.chip:hover{background:var(--s3)}.chip.on{background:var(--ink);color:var(--bg)}
.seg{display:flex;gap:4px;padding:4px;background:var(--bg);border-radius:10px;margin-bottom:14px}.seg button{flex:1;border:0;background:none;padding:10px 6px;border-radius:8px;cursor:pointer;font-size:15px}
.seg button:hover{background:var(--s2)}.seg button.on{background:var(--ink);color:var(--bg)}
.lay-stage{display:flex;justify-content:center;background:var(--bg);border-radius:10px;padding:16px}
.phone{position:relative;width:230px;aspect-ratio:9/16;border-radius:12px;overflow:hidden;background:#000}
.phone img{position:absolute;transition:all .45s var(--ease)}
.lay-bg{inset:0;width:100%;height:100%;object-fit:cover;filter:blur(14px) brightness(.6);transform:scale(1.15)}
.lay-fg{left:0;width:100%;top:50%;transform:translateY(-50%);height:auto}
.lay-title{position:absolute;left:10px;right:10px;top:22%;text-align:center;font:800 13px/1.1 var(--display);color:#fff;opacity:0;transition:opacity .3s}
.lay-app[data-lay=fill] .lay-fg{width:100%;height:100%;top:0;transform:none;object-fit:cover;object-position:62% center}
.lay-app[data-lay=wide] .lay-bg{opacity:0}.lay-app[data-lay=wide] .lay-fg{top:58%}.lay-app[data-lay=wide] .lay-title{opacity:1}
.lay-note{display:none;margin-top:12px}.lay-app[data-lay=fill] [data-note=fill],.lay-app[data-lay=fit] [data-note=fit],.lay-app[data-lay=wide] [data-note=wide]{display:block}
/* features */
.feats{padding-top:clamp(120px,14vh,200px)}.feats>h2{margin-bottom:40px}
.band:nth-child(odd){background:var(--s1)}.band-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,96px);align-items:center;min-height:clamp(120px,16vh,170px);padding-top:28px;padding-bottom:28px}
.band h3{font-size:var(--t3)}.band p{max-width:38em}
/* pricing */
.pricing{padding-top:clamp(120px,14vh,200px)}.pricing .sub{margin-top:16px;max-width:40em}
.ptable{width:100%;border-collapse:collapse;margin-top:48px;font-size:var(--t4)}.ptable th,.ptable td{text-align:left;padding:18px 20px;vertical-align:middle}
.ptable thead th{vertical-align:bottom;padding-top:28px}.ptable thead b{display:block;font:700 var(--t3)/1 var(--display);letter-spacing:-.02em}
.ptable thead span{display:block;font:400 var(--t3)/1.1 var(--display);margin-top:8px}.ptable thead small{font:400 var(--t5) var(--display);color:var(--muted)}
.ptable tbody th{font-weight:400;color:var(--muted);width:34%}.ptable tbody tr:nth-child(odd):not(.btns){background:var(--s1)}
.ptable .rec{background:var(--rec)}.ptable tbody tr:nth-child(odd):not(.btns) .rec{background:#331a0e}.ptable .btns td{padding-top:24px;padding-bottom:28px}.ptable .btns .btn{width:100%}
.pstack{display:none}
/* faq */
.faq{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,110px);padding-top:clamp(120px,14vh,200px);align-items:start}
.faq-l h2{margin-bottom:28px}.qs{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.q{display:flex;gap:14px;align-items:baseline;width:100%;text-align:left;background:none;border:0;padding:12px 14px;border-radius:10px;cursor:pointer;font-size:var(--t4);color:var(--muted);transition:background-color .15s,color .15s}
.q::before{content:'';flex:none;width:9px;height:9px;border-radius:50%;background:var(--s3);transform:translateY(-1px);transition:background-color .15s}
.q:hover{background:var(--s1);color:var(--ink)}.q.on{color:var(--ink);background:var(--s1)}.q.on::before{background:var(--accent)}
.a{margin:4px 0 14px 37px;color:var(--ink)}
.faq-pane{display:none}
.js .faq-pane{display:block;position:sticky;top:120px;padding:clamp(28px,3vw,44px);background:var(--s1);border-radius:20px;font:400 var(--t3)/1.35 var(--text);transition:opacity .15s;min-height:200px;margin-top:clamp(60px,7vw,96px)}
.js .faq-pane.swap{opacity:0}.js .faq .a{display:none}
/* final */
.final{background:var(--accent);color:var(--accent-ink);margin-top:clamp(120px,14vh,200px)}
.final-in{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,6vw,110px);align-items:center;min-height:min(80svh,720px);padding-top:96px;padding-bottom:96px}
.final h2{font-size:clamp(48px,6.4vw,104px);line-height:.92;max-width:8em}.final-t p{font-size:var(--t3);line-height:1.4;margin-top:24px;max-width:24em}
.dialog{padding:26px;background:var(--bg);box-shadow:0 30px 80px rgba(0,0,0,.35);width:min(460px,100%);justify-self:end;color:var(--ink)}
/* footer */
.tiles{display:grid;grid-template-columns:repeat(12,1fr);gap:8px;padding:8px;font-size:var(--t5)}
.tile{background:var(--s1);border-radius:14px;padding:24px;min-height:220px;text-decoration:none}.tile b{display:block;font-family:var(--display);font-size:var(--t4);margin-bottom:14px}
.tile a{text-decoration:none}.tile a:hover{color:var(--accent)}
.t-say{grid-column:span 3;display:flex;flex-direction:column;justify-content:space-between;gap:24px}.t-say p{font:600 var(--t3)/1.25 var(--display);letter-spacing:-.01em}.t-say small{color:var(--muted);font-size:var(--t5)}
.t-nav{grid-column:span 4}.t-nav div,.t-learn div{display:grid;gap:8px}.t-nav div{grid-template-columns:1fr 1fr;column-gap:16px}
.t-learn{grid-column:span 2}.t-mail{grid-column:span 3;display:flex;flex-direction:column;justify-content:space-between}.t-mail a{font-size:var(--t4)}
.t-word{grid-column:span 8;background:var(--ink);color:var(--bg);display:grid;place-items:center;min-height:300px;transition:background-color .2s}.t-word .wm{height:auto;width:min(78%,760px);color:var(--bg)}.t-word:hover{background:#fff}
.t-go{grid-column:span 4;background:var(--accent);color:var(--accent-ink);display:flex;flex-direction:column;justify-content:space-between;min-height:300px}
.t-go span{font:700 var(--t3)/1.1 var(--display);letter-spacing:-.02em}.t-go svg{align-self:flex-end;transition:transform .25s var(--ease)}.t-go:hover svg{transform:translate(6px,-6px)}
/* entrances */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important}.js .rv{opacity:1;transform:none;transition:none}.st,.phone img,.why-t{transition:none}}
/* tablet and phone */
@media (max-width:1020px){
.hero,.how,.split,.faq,.final-in{grid-template-columns:1fr}.split.flip .split-t{order:0}
.how-f{order:-1}.stage{position:static;margin-top:24px;min-height:400px;padding:16px;border-radius:16px}
.step,.step:last-child{min-height:0;padding:20px 0}.step h3,.step p{color:var(--ink)}
.band-in{grid-template-columns:1fr;gap:10px}
.ptable{display:none}.pstack{display:grid;gap:48px;margin-top:36px}
.pcard{background:var(--s1);border-radius:16px;padding:24px}.pcard.rec{background:var(--rec)}.pcard>h3{font-size:var(--t2)}
.pp{display:block;font:400 var(--t2)/1.1 var(--display);margin-top:6px}.pp small{font:400 var(--t5) var(--display);color:var(--muted)}
.pcard dl{margin:20px 0}.pcard dt{color:var(--muted);font-size:var(--t5);margin-top:12px}.pcard dd{margin:2px 0 0;font-size:var(--t4)}.pcard .btn{width:100%}
.js .faq-pane{display:none}.js .faq .q.on+.a{display:block}
.dialog{justify-self:stretch}
.t-say,.t-nav,.t-learn,.t-mail,.t-word,.t-go{grid-column:span 6}.t-mail{grid-column:span 6}.t-word{grid-column:span 12;order:-2;min-height:180px}.t-go{grid-column:span 12;order:-1;min-height:160px}
}
@media (max-width:640px){
.bar{height:64px}.bar nav a:not(.btn){display:none}
h1{font-size:clamp(32px,8.4vw,40px)}.lead{font-size:var(--t3)}
.rc-row{gap:6px}.rc-s,.rc-l{padding:4px 5px}.why{padding:10px}
.reel-head{flex-direction:column;align-items:flex-start}.rl{width:66vw}
.final h2{font-size:13vw}
.t-say,.t-nav,.t-learn,.t-mail{grid-column:span 12;min-height:0}.tiles{gap:6px;padding:6px}
}
