/* The Z-Symptom Store — black / silver, cinematic, matches the cover art */
:root{
  --bg:#070708; --bg-2:#0e0e11; --bg-3:#15151a; --line:#26262d;
  --ink:#ececee; --ink-2:#a9a9b3; --ink-3:#6f6f7a;
  --silver:#d6d6dc; --silver-2:#8f8f9a; --accent:#c9c9d3; --red:#b4262c;
  --serif:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --max:1180px; --pad:clamp(16px,4vw,40px); --r:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;color-scheme:dark}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:.01em;margin:0}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--pad)}
.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--silver-2)}
.sec{padding-block:clamp(56px,9vw,110px);border-top:1px solid var(--line)}
.sec-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px;margin-bottom:36px}
.sec-head h2{font-size:clamp(34px,5vw,54px);line-height:1.05}
.sec-head p{max-width:520px;color:var(--ink-2);margin:0}

/* nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(7,7,8,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:20px}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:20px;letter-spacing:.08em;text-transform:uppercase}
.brand .z{width:30px;height:30px;border:1px solid var(--silver);display:grid;place-items:center;font-size:17px;font-weight:600}
.brand small{font-family:var(--sans);font-size:10px;letter-spacing:.3em;color:var(--silver-2);margin-left:4px}
.nav-links{display:flex;gap:26px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.nav-links a:hover{color:var(--ink)}
.nav-cta{font-size:12px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--silver-2);padding:9px 14px;border-radius:999px;white-space:nowrap}
.nav-cta:hover{border-color:var(--ink);background:var(--bg-3)}
@media (max-width:820px){.nav-links{display:none}.brand{font-size:16px;white-space:nowrap}.brand small{display:none}.nav-cta{padding:8px 12px;font-size:11px}}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-bg{position:absolute;inset:0;background:url("assets/art/hero.jpg?v=3") center 35%/cover no-repeat;opacity:.38;filter:grayscale(.35) contrast(1.05)}
.hero-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 80% at 30% 50%,rgba(7,7,8,.15),rgba(7,7,8,.95)),linear-gradient(to top,var(--bg),transparent 40%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;min-height:min(86vh,760px);padding-block:64px}
.hero h1{font-size:clamp(44px,7vw,96px);line-height:.98;max-width:12ch}
.hero h1 em{font-style:italic;color:var(--silver)}
.hero p.lede{font-size:clamp(17px,1.6vw,20px);color:var(--ink-2);max-width:52ch;margin:22px 0 32px}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--silver-2);transition:.2s}
.btn:hover{border-color:var(--ink);transform:translateY(-1px)}
.btn.primary{background:var(--silver);color:#0a0a0c;border-color:var(--silver)}
.btn.primary:hover{background:#fff}
.btn.sm{padding:10px 14px;font-size:11px}
.btn.disabled{opacity:.45;pointer-events:none}
.hero-art{position:relative;justify-self:center;width:min(600px,88vw);aspect-ratio:1.12;perspective:1600px;margin-bottom:30px}
.fan{position:absolute;inset:0}
.fan img{position:absolute;bottom:0;left:50%;width:54%;aspect-ratio:2/3;height:auto;object-fit:cover;border-radius:4px;transform-origin:50% 100%;box-shadow:0 30px 60px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.07);transition:transform .6s ease}
.fan .c1{transform:translateX(-50%) translateZ(60px);z-index:3}
.fan .c2{transform:translateX(-50%) rotateY(-22deg) translateX(-38%) rotate(-6deg) scale(.92);z-index:2;filter:brightness(.8)}
.fan .c3{transform:translateX(-50%) rotateY(22deg) translateX(38%) rotate(6deg) scale(.92);z-index:1;filter:brightness(.7)}
.hero-art:hover .c2{transform:translateX(-50%) rotateY(-22deg) translateX(-44%) rotate(-8deg) scale(.92)}
.hero-art:hover .c3{transform:translateX(-50%) rotateY(22deg) translateX(44%) rotate(8deg) scale(.92)}
.hero-art .tag{position:absolute;left:50%;transform:translateX(-50%);bottom:-46px;background:var(--red);color:#fff;font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:8px 14px;white-space:nowrap;z-index:4}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr;min-height:0;padding-block:40px 56px}.hero-art{order:-1;width:min(340px,80vw);margin-bottom:34px}}

/* marquee */
.marquee{overflow:hidden;border-bottom:1px solid var(--line);padding:14px 0;font-family:var(--serif);font-size:18px;color:var(--silver-2);white-space:nowrap}
.marquee span{display:inline-block;padding-right:56px;animation:mq 40s linear infinite}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* books */
.books{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.book{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:14px;transition:.25s}
.book:hover{border-color:#3a3a44;transform:translateY(-3px)}
.book .cov{aspect-ratio:2/3;border-radius:6px;overflow:hidden;background:#000;box-shadow:0 20px 40px rgba(0,0,0,.55)}
.book .cov img{width:100%;height:100%;object-fit:cover}
.book h3{font-size:26px;line-height:1.1}
.book .sub{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--silver-2)}
.book p{margin:0;color:var(--ink-2);font-size:14.5px}
.book .formats{font-size:12.5px;color:var(--ink-3)}
.stores{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.store{font-size:11px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);padding:8px 11px;border-radius:8px;background:var(--bg-3);color:var(--ink)}
.store:hover{border-color:var(--silver-2)}
.pill{display:inline-block;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;padding:5px 9px;border-radius:999px;border:1px solid var(--line);color:var(--silver)}
.pill.live{border-color:#2f7a4a;color:#8fe0ad}
.pill.pre{border-color:#7a5d2f;color:#e0c48f}

/* audiobook */
.audio{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}
.audio .cov{border-radius:10px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.7)}
.audio h2{font-size:clamp(34px,5vw,56px);line-height:1.02;margin-bottom:14px}
.audio .lede{color:var(--ink-2);font-size:17px;max-width:56ch}
.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0}
.spec{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--bg-2)}
.spec b{display:block;font-family:var(--serif);font-size:26px;font-weight:500;line-height:1}
.spec span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--silver-2)}
.player{display:flex;align-items:center;gap:14px;border:1px solid var(--line);background:var(--bg-2);border-radius:12px;padding:12px 14px;margin:18px 0 6px}
.player button{width:44px;height:44px;border-radius:50%;border:1px solid var(--silver-2);background:transparent;color:var(--ink);cursor:pointer;font-size:16px;display:grid;place-items:center}
.player .bar{flex:1;height:4px;background:var(--line);border-radius:4px;overflow:hidden}
.player .bar i{display:block;height:100%;width:0;background:var(--silver)}
.player small{color:var(--ink-3);font-variant-numeric:tabular-nums;min-width:82px;text-align:right}
.price{font-family:var(--serif);font-size:38px;line-height:1}
.price small{font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--silver-2);margin-left:10px}
@media (max-width:860px){.audio{grid-template-columns:1fr}.specs{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.specs{grid-template-columns:1fr 1fr}}

/* merch */
.merch{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}
.prod{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:.25s}
.prod:hover{border-color:#3a3a44;transform:translateY(-3px)}
.prod .mock{position:relative;aspect-ratio:1;background:#111116;display:grid;place-items:center;overflow:hidden}
.prod .mock img{width:62%;aspect-ratio:1;}


.prod .mock .lbl{position:absolute;top:12px;left:12px;z-index:1;background:rgba(7,7,8,.6);padding:4px 8px;border-radius:6px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--silver-2)}
.prod .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.prod h3{font-size:19px;font-family:var(--sans);font-weight:500;letter-spacing:0}
.prod .type{font-size:12.5px;color:var(--ink-3)}
.prod .row{display:flex;align-items:center;justify-content:space-between;margin-top:8px}
.prod .p{font-family:var(--serif);font-size:24px}
.notice{border:1px dashed var(--line);border-radius:12px;padding:16px 18px;color:var(--ink-2);font-size:14px;margin-top:24px}
.notice b{color:var(--ink)}

/* atlas band */
.band{position:relative;overflow:hidden;border-top:1px solid var(--line)}
.band-bg{position:absolute;inset:0;background:url("assets/art/hero2.jpg?v=3") center 30%/cover;opacity:.28;filter:grayscale(.3)}
.band-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 10%,transparent 60%),linear-gradient(to top,var(--bg),transparent 50%)}
.band .wrap{position:relative;padding-block:clamp(60px,9vw,120px);max-width:760px;margin-left:0}
.band h2{font-size:clamp(34px,5vw,60px);line-height:1.02;margin-bottom:14px}
.band p{color:var(--ink-2);font-size:17px;max-width:54ch}

/* newsletter / footer */
.news{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.news h2{font-size:clamp(30px,4vw,44px);line-height:1.05}
.news form{display:flex;gap:10px;flex-wrap:wrap}
.news input{flex:1;min-width:220px;background:var(--bg-2);border:1px solid var(--line);color:var(--ink);padding:14px 16px;border-radius:999px;font:inherit}
.news input:focus{outline:none;border-color:var(--silver-2)}
.foot{border-top:1px solid var(--line);padding:34px 0 44px;color:var(--ink-3);font-size:13px}
.foot .wrap{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}
.foot a:hover{color:var(--ink)}
@media (max-width:760px){.news{grid-template-columns:1fr}}
.reveal{opacity:0;transform:translateY(14px);transition:.7s ease}
.reveal.in{opacity:1;transform:none}

/* timeline */
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:36px;background:var(--bg-2)}
.tl{padding:18px 20px;border-right:1px solid var(--line)}
.tl:last-child{border-right:0}
.tl b{display:block;font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.1}
.tl span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--silver-2)}
.tl em{display:block;font-style:normal;color:var(--ink-2);font-size:13px;margin-top:4px}
@media (max-width:640px){.timeline{grid-template-columns:1fr}.tl{border-right:0;border-bottom:1px solid var(--line)}.tl:last-child{border-bottom:0}}
