:root{
  --bg:#000;--bg2:#0b0b0d;--fg:#f5f5f7;--muted:#8e8e93;--line:rgba(255,255,255,.1);
  --card:rgba(22,22,26,.82);--radius:28px;--ease:cubic-bezier(.22,1,.36,1);--ease-io:cubic-bezier(.65,0,.35,1);
  /* Apple Music–inspired accent */
  --accent:#fa2d48;--accent-2:#fc3c44;--accent-hover:#e5223d;
  --grad1:linear-gradient(90deg,#fa2d48,#ff5c7a,#ff8fa3,#fa2d48);
  --grad2:linear-gradient(90deg,#fc3c44,#ff6f91,#ffb3c1);
  --grad3:linear-gradient(120deg,#ffd1dc,#ff8fa3,#fa2d48);
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","PingFang SC","Hiragino Sans","Helvetica Neue","Microsoft YaHei",sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--bg)}
body{position:relative;background:var(--bg);color:var(--fg);font-family:var(--font);line-height:1.47;-webkit-font-smoothing:antialiased;overflow-x:hidden}
main,.footer,.nav{position:relative;z-index:1}
.nav{position:fixed}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.grad-text{background:var(--grad1);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:gradShift 8s var(--ease-io) infinite alternate}
.grad-text.g2{background-image:var(--grad2)}
.grad-text.g3{background-image:var(--grad3)}
@keyframes gradShift{to{background-position:100% 0}}
.eyebrow{font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--muted);text-transform:uppercase}
.section-title{font-size:clamp(40px,7vw,88px);font-weight:700;letter-spacing:-.045em;line-height:1.02}
.section-sub{font-size:clamp(17px,2vw,24px);color:var(--muted);margin-top:14px;font-weight:500;letter-spacing:-.01em}
.fine{font-size:12px;color:var(--muted)}
.center{text-align:center;padding:24px 0 36px}
.dim{color:var(--muted);font-weight:500}
.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
::selection{background:rgba(250,45,72,.4)}
