/* Shared styles for every page. Palette matches the video pricing flyer. */
:root{
  --bg:#fff8ef; --paper:#ffffff; --ink:#1f1a2e; --muted:#5f5872; --line:#efe3d3;
  --pop1:#ff6b4a; --pop2:#2bb3a3; --pop3:#7a5cff; --pop4:#ffb81f;
  --tint1:#ffe6df; --tint2:#dcf5f1; --tint3:#ebe5ff; --tint4:#fff1cc;
  --ok:#1f9d6b; --bad:#d6453d;
  --display:"Bricolage Grotesque",system-ui,sans-serif;
  --body:"Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#17131f; --paper:#221c2e; --ink:#f6f1ff; --muted:#b9b0cc; --line:#352c45;
  --pop1:#ff8a6f; --pop2:#4fd1c0; --pop3:#a28dff; --pop4:#ffc94d;
  --tint1:#3a221f; --tint2:#163330; --tint3:#2a2348; --tint4:#3a3016; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#17131f; --paper:#221c2e; --ink:#f6f1ff; --muted:#b9b0cc; --line:#352c45;
  --pop1:#ff8a6f; --pop2:#4fd1c0; --pop3:#a28dff; --pop4:#ffc94d;
  --tint1:#3a221f; --tint2:#163330; --tint3:#2a2348; --tint4:#3a3016; color-scheme:dark}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55}
img,video{max-width:100%}
a{color:var(--pop3)}
.wrap{max-width:1000px;margin:0 auto;padding:0 max(16px,env(safe-area-inset-left,0px))}
h1,h2,h3{font-family:var(--display);letter-spacing:-.01em;text-wrap:balance;margin:0}
h1{font-weight:800;font-size:clamp(36px,7vw,62px);line-height:1.02}
h2{font-weight:800;font-size:clamp(24px,4vw,34px);line-height:1.1}
h3{font-weight:800;font-size:20px;line-height:1.2}
.muted{color:var(--muted)}
.small{font-size:14px}

/* top bar */
.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px}
.logo{font:800 19px var(--display);color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:8px}
.logo .dot{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--pop1),var(--pop3));display:inline-block}
.nav{display:flex;gap:18px;align-items:center}
.nav a{color:var(--ink);text-decoration:none;font-weight:700;font-size:15px}
.nav a.btn-primary{color:var(--bg)}
.nav a.btn-primary:hover{color:#fff}
.nav a.hide-sm{display:none}
@media (min-width:720px){.nav a.hide-sm{display:inline}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:800 16px var(--body);border-radius:999px;padding:13px 22px;border:2px solid transparent;cursor:pointer;text-decoration:none;transition:transform .15s ease,background .15s}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--ink);color:var(--bg)}
.btn-primary:hover{background:var(--pop3);color:#fff}
.btn-ghost{background:var(--paper);color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--pop3)}
.btn-sm{padding:8px 14px;font-size:14px}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.chip:focus-within{outline:3px solid var(--pop3);outline-offset:2px}

section{padding:48px 0}
.pill{display:inline-block;font:700 14px var(--body);background:var(--tint4);padding:5px 12px;border-radius:999px}

/* footer */
footer.site{border-top:1px solid var(--line);padding:28px 0 40px;color:var(--muted);font-size:14px}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between}
footer.site a{color:var(--muted)}

/* legal pages */
.legal{max-width:760px;margin:0 auto;padding:36px 16px 60px}
.legal h1{font-size:clamp(30px,5vw,44px);margin-bottom:8px}
.legal h2{font-size:22px;margin:28px 0 8px}
.legal p,.legal li{color:var(--ink)}
.draft-banner{background:var(--tint4);border:2px dashed var(--pop4);border-radius:14px;padding:12px 16px;font-weight:700;margin:16px 0 24px}

/* video modal */
.player{position:fixed;inset:0;z-index:50;background:rgba(10,8,16,.86);display:flex;align-items:center;justify-content:center;padding:16px}
.player[hidden]{display:none}
.player .box{display:flex;flex-direction:column;gap:10px;align-items:center;max-height:100%;max-width:100%}
.player video{max-height:calc(100vh - 110px);max-width:100%;border-radius:16px;background:#000}
.player button{font:700 15px var(--body);background:#fff;color:#1f1a2e;border:0;border-radius:999px;padding:9px 18px;cursor:pointer}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
