@font-face{font-family:Archivo;src:url(archivo.woff2) format('woff2');font-weight:100 900;font-stretch:62% 125%;font-display:swap}
:root{--bg:#FFFFFF;--surface:#F4F4F4;--ink:#111111;--soft:#6F6F6F;--line:#E6E6E6;--wave:#CACACA;--act:#111111;--act-ink:#FFFFFF}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font:400 16px/1.5 Archivo,system-ui,sans-serif;font-stretch:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--act);outline-offset:3px;border-radius:2px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
header.top{display:flex;align-items:center;gap:20px;padding:18px 0}
.brand{font-weight:900;font-stretch:62%;font-size:34px;letter-spacing:.01em;text-decoration:none;line-height:1}
nav.links{margin-left:auto;display:flex;gap:18px;font-size:15px}
nav.links a{text-decoration:none;color:var(--soft)}nav.links a:hover{color:var(--ink)}
.hero{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:40px;align-items:end;padding:24px 0 36px}
.hero{position:relative}.hero>*{position:relative;z-index:1}
.hero .cover{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block;border-radius:4px;background:var(--line);box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}
.hero .t-hero{font-weight:900;font-stretch:62%;font-size:clamp(64px,11vw,156px);line-height:.86;letter-spacing:-.005em;text-transform:uppercase;overflow-wrap:anywhere}
.hero p.about{margin-top:12px;color:var(--soft);font-size:17px;max-width:40ch}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:9px;height:42px;padding:0 18px;border-radius:999px;border:0;font:600 16px Archivo,sans-serif;cursor:pointer;text-decoration:none}
.btn.play{background:var(--act);color:var(--act-ink)}
.btn.buy{background:var(--ink);color:var(--bg)}
.btn.quiet{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn svg{width:16px;height:16px;fill:currentColor}
.wave{position:relative;height:56px;cursor:pointer;touch-action:manipulation}
.wave svg{position:absolute;inset:0;width:100%;height:100%}
.wave .base rect{fill:var(--wave)}
.wave .done{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--p,0%)) 0 0)}
.wave .done rect{fill:var(--act)}
.hero .wave{height:72px;margin-top:22px}
h2.list{font-weight:800;font-stretch:75%;font-size:28px;margin:26px 0 8px}
ol.beats{list-style:none;padding:0;border-top:1.5px solid var(--line)}
.beat{display:grid;grid-template-columns:64px minmax(140px,1.1fr) minmax(160px,2fr) 232px;gap:18px;align-items:center;padding:14px 0;border-bottom:1.5px solid var(--line)}
.beat img{width:64px;height:64px;object-fit:cover;border-radius:3px;display:block;background:var(--line)}
.beat .t{min-width:0}
.beat h3{font-weight:850;font-stretch:62%;font-size:30px;line-height:1;text-transform:uppercase;letter-spacing:.005em}
.beat h3 a{text-decoration:none}.beat h3 a:hover{text-decoration:underline;text-decoration-thickness:2px}
.beat .d{color:var(--soft);font-size:14px;margin-top:4px}
.beat .wave{height:44px}
.beat .b{display:flex;gap:8px;justify-content:flex-end}
.short{display:none}
.beat .btn{height:40px;padding:0 15px;font-size:15px}
.icon-only{width:40px;padding:0!important;justify-content:center}
.video{margin:12px 0 40px;max-width:820px}
.video button{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;cursor:pointer;background:#000 center/cover;border-radius:4px}
.video button span{position:absolute;left:18px;bottom:16px;background:var(--act);color:#fff;padding:9px 16px;border-radius:999px;font:600 15px Archivo,sans-serif}
.video iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:4px}
footer{margin:56px 0 120px;color:var(--soft);font-size:15px;display:flex;flex-wrap:wrap;gap:8px 24px}
footer .legal-links{display:inline-flex;flex-wrap:wrap;gap:4px 16px}
.player{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1.5px solid var(--line);display:none;z-index:5}
.player.on{display:block}
.player .in{max-width:1180px;margin:0 auto;padding:10px 20px;display:grid;grid-template-columns:44px auto 1fr 44px;gap:14px;align-items:center}
.player img{width:44px;height:44px;border-radius:3px;object-fit:cover}
.player .name{font-weight:800;font-stretch:62%;font-size:22px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:28vw}
.player .wave{height:36px}
.empty{padding:40px 0;color:var(--soft)}
@media (max-width:760px){
 .hero{grid-template-columns:1fr;gap:20px;padding-top:8px}
 .hero h1{font-size:clamp(56px,19vw,96px)}
 .beat{grid-template-columns:56px 1fr auto;gap:12px}
 .beat .long{display:none}.beat .short{display:inline}
 .beat img{width:56px;height:56px}
 .beat .wave{grid-column:1/-1;grid-row:2}
 .beat h3{font-size:26px}
 nav.links{gap:12px}
 .player .in{grid-template-columns:40px 1fr 40px}.player .name{display:none}.player img{width:40px;height:40px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
.grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:30px 22px;margin-top:6px}
.card .cv{position:relative}
.card .cv img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block;border-radius:4px;background:var(--line)}
.card .cv .play{position:absolute;left:12px;bottom:12px;width:48px;height:48px;box-shadow:0 8px 20px -8px rgba(0,0,0,.5)}
.card .prog{position:absolute;left:0;right:0;bottom:0;height:4px;border-radius:0 0 4px 4px;overflow:hidden}
.card .prog i{display:block;height:100%;width:0;background:var(--act)}
.card h3{font-weight:850;font-stretch:62%;font-size:28px;line-height:1;text-transform:uppercase;margin-top:14px}
.card h3 a{text-decoration:none}.card h3 a:hover{text-decoration:underline;text-decoration-thickness:2px}
.card .d{color:var(--soft);font-size:14px;margin-top:5px}
.card .from{font-weight:700;font-size:14px;margin-top:6px;font-variant-numeric:tabular-nums}
.card[hidden]{display:none}
.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin:4px 0 26px;font-size:15px}
.tabs button{background:none;border:0;padding:4px 0;font:500 15px Archivo,sans-serif;color:var(--soft);cursor:pointer;border-bottom:2px solid transparent}
.tabs button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink)}
h2.list.center{text-align:center;margin-top:40px}
header.logo-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 0 6px;position:relative;z-index:2}
header.logo-bar nav{display:flex;gap:20px;font-size:15px}
header.logo-bar nav.r{justify-content:flex-end}
header.logo-bar nav a{text-decoration:none;color:var(--soft)}header.logo-bar nav a:hover{color:var(--ink)}
header.logo-bar .logo img{display:block;height:96px;width:auto;-webkit-mask-image:radial-gradient(closest-side,#000 72%,transparent);mask-image:radial-gradient(closest-side,#000 72%,transparent)}
.hero .art{position:absolute;z-index:0;right:-14%;top:34%;width:min(64vw,800px);height:auto;transform:translateY(-50%) rotate(-7deg);pointer-events:none;
 -webkit-mask-image:radial-gradient(closest-side,#000 58%,transparent 100%);mask-image:radial-gradient(closest-side,#000 58%,transparent 100%);opacity:.5}
.grain .hero p.about{font-weight:500}
body.grain::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.22;mix-blend-mode:multiply;
 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
body.grain .wrap{position:relative;z-index:1}
@media (max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}.card h3{font-size:22px}}
@media (max-width:760px){header.logo-bar{grid-template-columns:1fr;justify-items:center;gap:8px}header.logo-bar .logo{order:-1}
 header.logo-bar .logo img{height:72px}header.logo-bar nav{gap:16px}.hero .art{width:120vw;right:-40%;top:30%;opacity:.35}
 .card .cv .play{width:42px;height:42px;left:8px;bottom:8px}}
@font-face{font-family:Mont;src:url(montserrat.woff2) format('woff2');font-weight:100 900;font-display:swap}
body.mono .wordmark{font-family:Mont,Archivo,sans-serif;font-weight:690;font-size:32px;letter-spacing:.032em;line-height:1;text-decoration:none;color:var(--ink);display:block;padding:10px 0}
body.mono .hero .t-hero,body.mono .card h3,body.mono .player .name,body.mono .tier .nm,body.mono .legal h1,body.mono .order h1{font-family:Mont,Archivo,sans-serif;font-stretch:100%;font-weight:700;letter-spacing:.015em}
body.mono .hero .t-hero{font-size:clamp(38px,5.6vw,84px);line-height:.98}
body.mono .card h3{font-size:18px;line-height:1.15}
body.mono .player .name{font-size:17px}
body.mono .tier .nm{font-size:20px}
body.mono .legal h1,body.mono .order h1{font-size:clamp(36px,6vw,60px)}
body.mono h2.list,body.mono .store h2{font-family:Mont,Archivo,sans-serif;font-stretch:100%;font-weight:650;letter-spacing:.01em;font-size:21px}
body.mono footer{margin-bottom:18px}
body.mono .bigmark{font-family:Mont,sans-serif;font-weight:700;font-size:clamp(64px,17.5vw,250px);letter-spacing:.03em;text-align:center;
 color:#000;opacity:.07;line-height:.82;margin:8px 0 104px;white-space:nowrap;user-select:none;overflow:hidden}
body.mono .card .cv img,body.mono .hero .cover{box-shadow:0 24px 50px -28px rgba(0,0,0,.55)}
body.mono .btn.quiet{box-shadow:inset 0 0 0 1.5px #000}
body.mono .tabs button[aria-pressed=true]{border-bottom-color:#000}
@media (max-width:760px){body.mono .wordmark{font-size:28px}}

html{overflow-x:clip}
body.studio{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.studio header.logo-bar{padding:20px 0 16px;border-bottom:1px solid var(--line)}
body.studio header.logo-bar::before,body.studio header.logo-bar::after{content:"";position:absolute;bottom:-1px;width:120px;height:1px;background:var(--ink);opacity:.18}
body.studio header.logo-bar::before{left:12%}body.studio header.logo-bar::after{right:12%}
body.studio header.logo-bar nav{gap:34px}
body.studio header.logo-bar nav a{font:600 11px/1 Mont,Archivo,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#3a3a3a}
body.studio header.logo-bar nav a:hover{color:#000}
body.studio .wordmark{font-weight:600;font-size:22px;letter-spacing:.34em;padding:6px 0 6px .34em}
/* stage: the hero */
.stage{position:relative;min-height:min(92vh,960px);display:flex;flex-direction:column;align-items:center;justify-content:center;
 text-align:center;padding:56px 0 64px;isolation:isolate}
.stage .floor{position:absolute;left:-30%;right:-30%;bottom:-4%;height:58%;z-index:-2;pointer-events:none;
 background-image:linear-gradient(#e9e9e9 1px,transparent 1px),linear-gradient(90deg,#e9e9e9 1px,transparent 1px);background-size:86px 86px;
 transform:perspective(520px) rotateX(64deg);transform-origin:50% 100%;
 -webkit-mask-image:linear-gradient(to top,#000 20%,transparent 92%);mask-image:linear-gradient(to top,#000 20%,transparent 92%)}
.stage .ghost{position:absolute;left:50%;top:50%;z-index:-1;pointer-events:none;user-select:none;
 font:800 min(78vh,70vw)/.8 Mont,sans-serif;color:#000;opacity:.035;margin:0;translate:-50% -50%}
.headline{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.08em .42em;margin:0;
 font:600 clamp(34px,6.4vw,96px)/1 Mont,Archivo,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#262626}
.headline.long{font-size:clamp(28px,4.6vw,70px)}
.headline .w{white-space:nowrap;position:relative}
.headline a{text-decoration:none}
.headline sup{position:absolute;top:-.55em;right:-1.6em;font:800 11px/1 Mont,sans-serif;letter-spacing:.14em;background:#111;color:#fff;
 padding:5px 8px 5px 9px;border-radius:999px;transform:rotate(8deg)}
.orb{position:relative;flex:none;width:clamp(68px,8.4vw,124px);aspect-ratio:1;border:0;padding:0;border-radius:50%;cursor:pointer;
 background:transparent;isolation:isolate;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.orb::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:46% 54% 52% 48%/52% 46% 54% 48%;
 background:radial-gradient(circle at 32% 26%,#fff 0 7%,rgba(255,255,255,0) 26%),
  conic-gradient(from 200deg,#0e0e0e,#5d5d5d 14%,#f2f2f2 26%,#2a2a2a 38%,#c9c9c9 52%,#151515 64%,#8c8c8c 78%,#fafafa 88%,#0e0e0e);
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),inset -8px -12px 26px rgba(0,0,0,.55),inset 10px 12px 22px rgba(255,255,255,.35),0 22px 40px -16px rgba(0,0,0,.55);
 animation:orb 9s ease-in-out infinite,spin 16s linear infinite}
.orb span{font:700 12px/1 Mont,sans-serif;letter-spacing:.22em;padding-left:.22em;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.orb:hover{transform:scale(1.07)}.orb:active{transform:scale(.96)}
@keyframes orb{0%,100%{border-radius:46% 54% 52% 48%/52% 46% 54% 48%}33%{border-radius:56% 44% 47% 53%/44% 56% 46% 54%}
 66%{border-radius:44% 56% 57% 43%/55% 43% 57% 45%}}
@keyframes spin{to{rotate:360deg}}
.stage .obj{position:relative;width:min(34vh,330px,68vw);margin:clamp(28px,5vh,56px) 0 8px}
.stage .bob{position:relative;animation:bob 7s ease-in-out infinite}
@keyframes bob{50%{translate:0 -12px}}
.stage .cover{position:relative;z-index:2;width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block;border-radius:8px;
 box-shadow:0 40px 60px -34px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.04)}
.stage .shadow{position:absolute;left:8%;right:8%;bottom:-38px;height:26px;border-radius:50%;
 background:radial-gradient(closest-side,rgba(0,0,0,.28),transparent);filter:blur(4px);z-index:0;animation:shade 7s ease-in-out infinite}
@keyframes shade{50%{transform:scaleX(.86);opacity:.7}}
.stage .clip{position:absolute;top:6%;width:56%;aspect-ratio:9/16;border-radius:12px;overflow:hidden;background:#111;z-index:1;
 box-shadow:0 30px 50px -28px rgba(0,0,0,.65)}
.stage .clip.l{right:62%;transform:rotate(-9deg)}.stage .clip.r{left:62%;transform:rotate(9deg)}
.stage .clip video,.reel video{width:100%;height:100%;object-fit:cover;display:block}
.stage .sub{margin-top:52px;font:600 clamp(12px,1.25vw,15px)/1.6 Mont,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#8a8a8a}
.stage .actions{justify-content:center;margin-top:18px}
.stage .wave{width:min(560px,100%);margin:18px auto 0;height:52px}
.stage .credit{font-size:11px;opacity:.55;margin-top:10px}
.stage .cue{position:absolute;bottom:14px;left:50%;translate:-50% 0;font:600 10px Mont,sans-serif;letter-spacing:.3em;color:#9a9a9a;
 display:flex;flex-direction:column;align-items:center;gap:8px}
.stage .cue::after{content:"";width:1px;height:34px;background:linear-gradient(#9a9a9a,transparent);animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.stage .ghost-sil{position:absolute;right:-1%;bottom:5%;height:84%;width:auto;z-index:-1;opacity:.075;pointer-events:none;user-select:none}
.me{display:flex;flex-direction:column;align-items:center;margin:0 0 46px}
.me .sil{position:relative;width:min(300px,58vw);background:#111;
 -webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;animation:bob 8s ease-in-out infinite}
.me .sil video,.me .sil img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.me .sil::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.35))}
.me .ground{width:min(240px,46vw);height:18px;margin-top:-6px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.22),transparent);filter:blur(3px)}
.orbw{position:relative;display:inline-flex;flex:none}
.viz.ring{position:absolute;left:50%;top:50%;width:196%;height:196%;translate:-50% -50%;pointer-events:none;z-index:-1}
.viz.floorbars{position:absolute;left:4%;right:4%;bottom:9%;height:150px;width:92%;z-index:-1;pointer-events:none}
/* the big text that slides with your scroll */
.band{overflow:hidden;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:10px calc(50% - 50vw) 0;user-select:none}
.band .track{display:flex;gap:.5em;white-space:nowrap;font:700 clamp(54px,10.5vw,168px)/1 Mont,sans-serif;letter-spacing:.02em;text-transform:uppercase;will-change:transform}
.band .track span{color:#111}.band .track .o{color:transparent;-webkit-text-stroke:1.5px #111}
.band .track .dot{font-size:.5em;align-self:center;color:#111}
/* in the studio: clips sliding sideways with your scroll */
.studio-reel{padding:70px 0 30px}
.kicker{font:600 11px/1 Mont,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:#7a7a7a;text-align:center;margin:0 0 26px;display:flex;align-items:center;justify-content:center;gap:16px}
.kicker::before,.kicker::after{content:"";width:46px;height:1px;background:#cfcfcf}
.reel{overflow:hidden;margin:0 calc(50% - 50vw);padding:10px 0}
.reel .track{display:flex;gap:16px;width:max-content;will-change:transform}
.reel .card-v{width:clamp(130px,15vw,210px);aspect-ratio:9/16;border-radius:12px;overflow:hidden;background:#111;flex:none;box-shadow:0 22px 40px -26px rgba(0,0,0,.6)}
.reel.b .card-v{width:clamp(110px,12vw,170px)}
/* beat cards */
body.studio h2.list{font:600 12px/1 Mont,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:#7a7a7a;margin:70px 0 22px}
body.studio .card h3{font:600 15px/1.25 Mont,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin-top:16px}
body.studio .card .d{font-size:13px;letter-spacing:.02em}
body.studio .card .cv img{border-radius:8px;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
body.studio .card:hover .cv img{transform:translateY(-6px);box-shadow:0 34px 50px -30px rgba(0,0,0,.6)}
body.studio .tabs button{font:600 11px Mont,sans-serif;letter-spacing:.2em;text-transform:uppercase}
body.studio .bigmark{opacity:.05;letter-spacing:.18em}
html.js body.studio .reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.75,.2,1);transition-delay:calc(var(--i,0) * 70ms)}
html.js body.studio .reveal.in{opacity:1;transform:none}
@media (max-width:760px){
 .stage .ghost-sil{height:58%;right:-22%;bottom:16%;opacity:.06}
 .stage{min-height:auto;padding:34px 0 70px}.stage .sub{margin-top:44px;letter-spacing:.16em}
 .headline{letter-spacing:.06em}.headline sup{right:-.6em;top:-1.4em}
 .stage .clip{width:50%}.stage .clip.l{right:70%}.stage .clip.r{left:70%}
 body.studio header.logo-bar{border-bottom:0}body.studio header.logo-bar::before,body.studio header.logo-bar::after{display:none}
 body.studio header.logo-bar nav{gap:20px}}
@media (prefers-reduced-motion:reduce){.orb::before,.stage .bob,.stage .shadow,.stage .cue::after,.me .sil{animation:none}
 html.js body.studio .reveal{opacity:1;transform:none;transition:none}}

.legal{max-width:72ch;padding:10px 0 40px}
.legal.wide{max-width:none}
.legal .lead{max-width:70ch;color:var(--soft)}
.tiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:26px 0 36px}
.tcard{background:var(--surface);border-radius:6px;padding:20px 20px 18px;display:flex;flex-direction:column;gap:6px}
.tcard .tn{font-weight:800;font-size:17px;text-decoration:none}
.tcard .tp{font-weight:800;font-size:28px;font-variant-numeric:tabular-nums;margin-bottom:6px}
.legal .tcard ul{list-style:none;padding:0;margin:0 0 12px;flex:1}
.legal .tcard li{font-size:14px;padding:7px 0;border-top:1px solid var(--line);margin:0;color:inherit}
.tcard .tl{font-size:14px;color:var(--soft)}
.tcard.dark{background:var(--ink);color:var(--bg)}.legal .tcard.dark li{border-color:rgba(255,255,255,.18);color:var(--bg)}
.tcard.dark .btn.quiet{color:var(--bg);box-shadow:inset 0 0 0 1.5px var(--bg);align-self:flex-start}
.faq{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px 28px;max-width:none}
.faq h3{font-size:16px;font-weight:700;margin:0 0 4px}.faq p{margin:0;color:var(--soft)}
.legal h1{font-weight:900;font-stretch:62%;font-size:clamp(44px,8vw,72px);line-height:.95;text-transform:uppercase;margin:10px 0 18px}
.legal h2{font-weight:800;font-stretch:75%;font-size:22px;margin:26px 0 6px}
.legal p,.legal li{color:var(--ink);margin:8px 0}
.legal ul{padding-left:20px}
.legal .meta,.legal .sign{background:var(--surface);border-radius:4px;padding:14px 16px;line-height:1.7}
.legal table{border-collapse:collapse;width:100%;margin:14px 0;font-size:15px}
.legal th,.legal td{text-align:left;padding:10px 8px;border-bottom:1.5px solid var(--line);vertical-align:top}
.legal th{font-weight:800;font-stretch:75%;font-size:17px}
.store{margin:10px 0 44px;max-width:900px}
.store h2{font-weight:800;font-stretch:75%;font-size:28px;margin-bottom:6px}
.store .note{color:var(--soft);font-size:14px;margin-bottom:10px}
.tier{border-top:1.5px solid var(--line);padding:14px 0;display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center}
.tier:last-of-type{border-bottom:1.5px solid var(--line)}
.tier .nm{font-weight:850;font-stretch:62%;font-size:26px;text-transform:uppercase;line-height:1}
.tier .sm{color:var(--soft);font-size:14px;margin-top:4px}
.tier .pr{font-weight:800;font-size:20px;font-variant-numeric:tabular-nums}
.tier .pay{grid-column:1/-1;display:none;padding-top:4px}
.tier.open .pay{display:block}
.tier .agree{display:flex;gap:10px;align-items:flex-start;font-size:15px;margin-bottom:12px}
.tier .agree input{width:20px;height:20px;margin-top:2px;accent-color:var(--act)}
.tier .ppb{max-width:420px}
.tier .msg{color:#c0392b;font-size:14px;margin-top:8px}
.order{max-width:640px;padding:20px 0 40px}
.order h1{font-weight:900;font-stretch:62%;font-size:clamp(44px,9vw,80px);line-height:.95;text-transform:uppercase}
.order .files{display:flex;flex-direction:column;gap:10px;margin:22px 0}
.order .files a{justify-content:space-between}
.order p{margin:10px 0;color:var(--soft)}
footer .legal-links a{margin-right:14px}
.store .deal{display:inline-block;background:var(--ink);color:var(--bg);font-weight:800;font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:6px 12px;border-radius:999px;margin:2px 0 10px}
.btn.in{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.cart-fab{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;gap:8px;align-items:center;background:var(--ink);color:var(--bg);border:0;border-radius:999px;padding:12px 18px;font:inherit;font-weight:800;font-size:15px;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.cart-fab[hidden]{display:none}.player.on~.cart-fab{bottom:96px}
.cart-ov{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .2s;z-index:70}
.cart-ov.open{opacity:1;pointer-events:auto}
.cart{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--bg);color:var(--ink);z-index:71;transform:translateX(105%);transition:transform .25s ease;display:flex;flex-direction:column;padding:22px 22px 30px;overflow-y:auto;box-shadow:-12px 0 40px rgba(0,0,0,.2)}
.cart.open{transform:none}
.cart-h{display:flex;justify-content:space-between;align-items:center;font-size:22px;font-weight:900;margin-bottom:8px}
.cart-x,.ci-x{background:none;border:0;font-size:26px;line-height:1;cursor:pointer;color:inherit;padding:4px 8px;opacity:.6}
.cart-x:hover,.ci-x:hover{opacity:1}
.ci{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:12px 0;border-top:1.5px solid var(--line)}
.ci a{font-weight:800;text-decoration:none;color:inherit}.ci small{display:block;color:var(--soft);font-size:13px;margin-top:2px}
.ci .cp{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.ci s{display:block;color:var(--soft);font-weight:400;font-size:13px}
.cart-s .row{display:flex;justify-content:space-between;padding:9px 0;border-top:1.5px solid var(--line);font-variant-numeric:tabular-nums}
.cart-s .tot{font-weight:900;font-size:19px;border-top:2px solid var(--ink)}
.cart-s .hint{font-size:14px;color:var(--soft);margin:6px 0 0}
.cart .agree{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:18px 0 12px}
.cart .agree input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--act)}
.cart:not(.has) .agree,.cart:not(.has) .ppb{display:none}
.cart .msg{color:#c0392b;font-size:14px;margin-top:8px}.cart .empty{color:var(--soft)}
.freebox{margin:6px 0 34px;max-width:900px;background:var(--surface);border-radius:8px;padding:20px 22px;display:grid;grid-template-columns:1fr minmax(260px,1.25fr);gap:18px;align-items:center}
.freebox h2{font-weight:800;font-stretch:75%;font-size:26px;margin:0 0 4px}
.freebox .note{color:var(--soft);font-size:14px;margin:0}
.free-dl{display:grid;grid-template-columns:1fr auto;gap:8px}
.free-dl input[type=email]{font:inherit;font-size:15px;padding:12px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);min-width:0}
.free-dl input[type=email]:focus{outline:2px solid var(--act);outline-offset:1px}
.free-dl .agree{grid-column:1/-1;display:flex;gap:8px;font-size:13px;color:var(--soft);align-items:center}
.free-dl .agree input{accent-color:var(--act)}
.free-dl .msg{grid-column:1/-1;color:#c0392b;font-size:14px}.free-dl .ok{grid-column:1/-1;font-weight:700;margin:0}
.badge-free{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--ink);color:var(--bg);padding:3px 8px;border-radius:999px;margin-left:6px;vertical-align:middle}
.oitem{border-top:1.5px solid var(--line);padding:10px 0 2px}.oitem h2{font-size:21px;margin:6px 0 0;font-weight:800}
.oitem h2 span{color:var(--soft);font-weight:600;font-size:15px;margin-left:8px}.oitem .files{margin:12px 0}
.offer-form{display:grid;gap:10px;margin:4px 0 18px;padding:16px 18px;background:var(--surface);border-radius:8px}
.offer-form[hidden]{display:none}.offer-form .of-row{display:grid;grid-template-columns:160px 1fr;gap:10px}
.offer-form label{display:grid;gap:4px;font-size:13px;font-weight:700;color:var(--soft)}
.offer-form input,.offer-form textarea{font:inherit;font-size:15px;padding:10px 14px;border-radius:10px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);min-width:0}
.offer-form .msg{color:#c0392b;font-size:14px}.offer-form .ok{font-weight:700;margin:0}
.xo-box[hidden]{display:none}.xo-box .tier{border:2px solid var(--act);border-radius:8px;padding:12px 14px}
.cart-code{display:flex;gap:8px;margin:12px 0 0}.cart:not(.has) .cart-code{display:none}
.cart-code input{flex:1;min-width:0;font:inherit;font-size:14px;padding:9px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);text-transform:uppercase}
.deal-bar{position:sticky;top:0;z-index:70;background:var(--ink);color:var(--bg);text-align:center;font-size:14px;padding:9px 14px}
.deal-bar a{color:inherit;font-weight:800}
@media (max-width:760px){.tier{grid-template-columns:1fr auto}.tier .buy-col{grid-column:1/-1}.freebox{grid-template-columns:1fr}.offer-form .of-row{grid-template-columns:1fr}}
