:root{--bg:#09090e;--bg2:#101018;--fg:#f1f1f6;--muted:#a3a3b8;--card:#13131c;--line:#24243200;--line2:#262636;--accent:#a855f7;--accent2:#ff2d6f;--shadow:0 20px 60px -20px rgba(168,85,247,.45)}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--bg:#fbfbfd;--bg2:#f2f1f7;--fg:#14141c;--muted:#5d5d72;--card:#fff;--line2:#e6e5ee;--shadow:0 20px 50px -24px rgba(124,58,237,.35)}}
:root[data-theme="dark"]{--bg:#09090e;--bg2:#101018;--fg:#f1f1f6;--muted:#a3a3b8;--card:#13131c;--line2:#262636}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;overflow-x:hidden}
body::before{content:"";position:fixed;inset:-20% -10% auto;height:70vh;z-index:-1;pointer-events:none;
  background:radial-gradient(40% 50% at 70% 30%,rgba(168,85,247,.22),transparent 70%),radial-gradient(30% 40% at 25% 10%,rgba(255,45,111,.14),transparent 70%)}
a{color:var(--accent)}
main{max-width:1080px;margin:0 auto;padding:0 16px}

/* header (shared with the legal pages) */
header.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;padding:14px max(16px,calc((100% - 1048px) / 2));border-bottom:1px solid color-mix(in srgb,var(--line2) 60%,transparent);
  background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.logo{display:flex;align-items:center;gap:10px;font-weight:750;font-size:19px;letter-spacing:-.01em;color:var(--fg);text-decoration:none}
.logo img{width:32px;height:32px;border-radius:9px}
nav.legal{margin-left:auto;display:flex;gap:6px 18px;font-size:14px;flex-wrap:wrap;justify-content:flex-end}
nav.legal a{color:var(--muted);text-decoration:none}nav.legal a:hover{color:var(--fg)}

/* hero */
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:56px 0 40px}
.pill{display:inline-block;font-size:13px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:4px 12px;border-radius:999px}
.hero h1{font-size:clamp(34px,6vw,58px);line-height:1.04;letter-spacing:-.025em;margin:18px 0 16px}
.grad{background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:var(--muted);font-size:18px;max-width:560px;margin:0}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 22px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:12px;font-weight:600;font-size:15px;
  text-decoration:none;color:var(--fg);border:1px solid var(--line2);background:var(--card)}
.btn:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line2))}
.btn.primary{border:0;color:#fff;background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:var(--shadow)}
.trust{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--muted);font-size:14px}
.trust li::before{content:"✓";color:var(--accent);font-weight:700;margin-right:7px}

/* phone mock */
.phone{justify-self:center;width:min(270px,70vw);aspect-ratio:9/18.5;padding:10px;border-radius:38px;background:#0d0d14;
  border:1px solid #2b2b3a;box-shadow:var(--shadow),0 0 0 6px color-mix(in srgb,var(--fg) 4%,transparent)}
.screen{position:relative;height:100%;border-radius:29px;overflow:hidden;background:linear-gradient(160deg,#1b1030,#2a0f2a 55%,#120c1d)}
.glow{position:absolute;border-radius:50%;filter:blur(30px);opacity:.7}
.g1{width:70%;height:40%;left:-10%;top:12%;background:#7c3aed;animation:float 7s ease-in-out infinite}
.g2{width:60%;height:35%;right:-15%;top:40%;background:#ff2d6f;animation:float 9s ease-in-out infinite reverse}
@keyframes float{50%{transform:translate(12px,-16px)}}
.eq{position:absolute;left:0;right:0;top:22%;display:flex;justify-content:center;align-items:flex-end;gap:5px;height:70px}
.eq i{width:7px;border-radius:4px;background:rgba(255,255,255,.85);animation:eq 1.1s ease-in-out infinite}
.eq i:nth-child(1){height:30%;animation-delay:-.2s}.eq i:nth-child(2){height:70%;animation-delay:-.5s}.eq i:nth-child(3){height:45%;animation-delay:-.1s}
.eq i:nth-child(4){height:95%;animation-delay:-.7s}.eq i:nth-child(5){height:55%;animation-delay:-.3s}.eq i:nth-child(6){height:80%;animation-delay:-.9s}.eq i:nth-child(7){height:35%;animation-delay:-.4s}
@keyframes eq{50%{transform:scaleY(.35)}}.eq i{transform-origin:bottom}
.lyrics{position:absolute;left:12px;right:12px;bottom:22%;text-align:center;color:#fff;font-weight:800;font-size:17px;line-height:1.3;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.lyrics p{margin:6px 0}.lyrics .dim{opacity:.45;font-size:14px;font-weight:700}
.w{transition:color .3s}.w.on{color:#ffd23f}
.lyrics .w:nth-child(3){animation:hl 3s steps(1) infinite}.lyrics .w:nth-child(4){animation:hl 3s steps(1) infinite .6s}.lyrics .w:nth-child(5){animation:hl 3s steps(1) infinite 1.2s}
@keyframes hl{0%{color:#fff}30%,100%{color:#ffd23f}}
.bar{position:absolute;left:14px;right:14px;bottom:14px;height:3px;border-radius:2px;background:rgba(255,255,255,.2);overflow:hidden}
.bar span{display:block;height:100%;width:40%;background:#fff;animation:prog 6s linear infinite}
@keyframes prog{from{width:0}to{width:100%}}
.tag{position:absolute;top:14px;left:14px;font-size:11px;font-weight:700;color:#fff;background:rgba(0,0,0,.35);padding:3px 9px;border-radius:999px}

/* sections */
section{scroll-margin-top:80px}
h2.section{font-size:clamp(24px,3.4vw,32px);letter-spacing:-.02em;line-height:1.15;margin:56px 0 22px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:var(--card);border:1px solid var(--line2);border-radius:16px;padding:22px}
.card svg{width:38px;height:38px;padding:8px;border-radius:10px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
  background:color-mix(in srgb,var(--accent) 12%,transparent)}
.card h3{margin:14px 0 6px;font-size:17px}.card p{margin:0;color:var(--muted);font-size:15px}
ol.steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
ol.steps li{counter-increment:s;position:relative;background:var(--card);border:1px solid var(--line2);border-radius:16px;padding:22px}
ol.steps li::before{content:counter(s);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;font-weight:700;font-size:14px;
  background:linear-gradient(135deg,var(--accent),var(--accent2));margin-bottom:12px}
ol.steps b{display:block;font-size:17px;margin-bottom:4px}ol.steps span{color:var(--muted);font-size:15px}
.note{margin-top:40px;padding:22px 24px;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line2));
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--card)),var(--card))}
.note h3{margin:0 0 6px;font-size:17px}.note p{margin:0;color:var(--muted)}
details{background:var(--card);border:1px solid var(--line2);border-radius:14px;padding:4px 20px;margin-bottom:10px}
summary{cursor:pointer;font-weight:600;padding:12px 0;list-style-position:outside}details p{color:var(--muted);margin:0 0 14px}

/* legal pages */
article{max-width:760px;margin:0 auto}
article h1{font-size:clamp(28px,5vw,40px);letter-spacing:-.02em;margin:40px 0 4px}article h2{font-size:20px;margin:30px 0 6px}
article p,article li{color:var(--muted)}article li{margin:4px 0}
.updated{color:var(--muted);font-size:14px}

footer{max-width:1080px;margin:64px auto 0;padding:24px 16px 40px;border-top:1px solid var(--line2);color:var(--muted);font-size:14px;display:flex;gap:10px 20px;flex-wrap:wrap}
footer a{color:var(--muted)}footer span{margin-right:auto}

@media (max-width:860px){
  .hero{grid-template-columns:1fr;gap:36px;padding-top:32px}
  .grid{grid-template-columns:1fr 1fr}ol.steps{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  header.top{flex-wrap:wrap}nav.legal{margin-left:0;justify-content:flex-start;width:100%;gap:4px 14px;font-size:13px}
  .grid,ol.steps{grid-template-columns:1fr}.lead{font-size:17px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto}}
