:root{--ink:#0b0f15;--navy:#121e2a;--char:#2f2f2f;--text:#f2f2f0;--muted:#a9b0b8;--red:#be5108;--accent:#ee8a3c;
--glass:rgba(255,255,255,.07);--edge:rgba(255,255,255,.16);--hi:rgba(255,255,255,.28);--r:22px;
--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{background:#0b0f15;scroll-behavior:smooth}
body{margin:0;font:400 16px/1.6 Inter,system-ui,sans-serif;color:var(--text);
background:radial-gradient(1200px 700px at 80% -10%,#1d2c3c 0,transparent 60%),radial-gradient(900px 600px at -10% 60%,#1a1214 0,transparent 60%),linear-gradient(180deg,var(--navy),var(--ink) 40%,#070707);min-height:100vh}
a{color:inherit}img{max-width:100%;display:block}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:8px 12px;border-radius:8px;z-index:99}.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.glass{background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.03));border:1px solid var(--edge);
-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);
box-shadow:inset 0 1px 0 var(--hi),inset 0 -1px 0 rgba(0,0,0,.25),0 20px 50px -20px rgba(0,0,0,.7);border-radius:var(--r)}
.nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 24px));z-index:50;display:flex;align-items:center;justify-content:space-between;padding:10px 14px 10px 22px;border-radius:999px}
.brand{font:500 22px/1 Oswald,sans-serif;letter-spacing:.06em;text-decoration:none;display:flex;gap:12px;align-items:baseline}
.brand span{font:300 13px Oswald;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.nav nav{display:flex;gap:4px}
.nav nav a{font:500 14px Inter;text-decoration:none;padding:9px 16px;border-radius:999px;color:#dfe3e8;transition:background .3s var(--ease),color .3s}
.nav nav a:hover{background:rgba(255,255,255,.1)}.nav nav a[aria-current]{color:var(--accent);background:rgba(255,255,255,.06)}
.menu-btn{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.menu-btn span{position:absolute;left:12px;right:12px;height:2px;background:#fff;border-radius:2px;transition:transform .3s var(--ease)}
.menu-btn span:first-child{top:17px}.menu-btn span:last-child{top:25px}
.menu-btn[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-btn[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.hero{position:relative;min-height:min(100svh,980px);display:flex;align-items:center;overflow:hidden;background:#121e2a}
.hero-media{position:absolute;inset:0}
.hero-media video,.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:78% 50%}
.hero-video{opacity:0;transition:opacity 1.2s}.hero-video.ready{opacity:1}
.hero-still{animation:breathe 14s ease-in-out infinite alternate}
.hero-video.ready+.hero-still{display:none}
@keyframes breathe{from{transform:scale(1.02)}to{transform:scale(1.08) translateY(-1%)}}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,30,42,.85) 25%,rgba(18,30,42,.3) 50%,rgba(18,30,42,0) 70%),linear-gradient(0deg,var(--ink),transparent 30%)}
.hero-copy{position:relative;z-index:2;width:min(1120px,calc(100% - 48px));margin:0 auto;padding:120px 0 80px}
.eyebrow{font:400 13px Oswald;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
h1{font:200 clamp(52px,9vw,124px)/.92 Oswald,sans-serif;text-transform:uppercase;margin:0 0 24px;letter-spacing:-.01em;text-shadow:0 10px 40px rgba(0,0,0,.6)}
.lede{max-width:30ch;font-size:clamp(17px,1.6vw,20px);color:#d6d9dd;margin:0 0 32px}
.ctas{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:999px;font:600 15px Inter;text-decoration:none;transition:transform .35s var(--ease),box-shadow .35s,background .35s}
.btn:hover{transform:translateY(-2px)}
.btn.primary{background:linear-gradient(180deg,#fff,#dcdcdc);color:#111;box-shadow:inset 0 1px 0 #fff,0 10px 30px -10px rgba(255,255,255,.35)}
.btn.glass{border-radius:999px;color:#fff}
.btn.sm{min-height:42px;padding:0 18px;font-size:14px}
.section{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:96px 0 0}
h2{font:300 clamp(34px,4.5vw,54px)/1.05 Oswald;text-transform:uppercase;margin:0 0 16px}
.section-head{margin-bottom:28px}
.books{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.book{overflow:hidden;display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s}
.book:hover{transform:translateY(-6px);box-shadow:inset 0 1px 0 var(--hi),0 30px 60px -20px rgba(0,0,0,.9)}
.cover{aspect-ratio:4/3;background:linear-gradient(180deg,#e9e9e9,#bdbdbd);display:grid;place-items:center;overflow:hidden}
.cover img{height:100%;width:100%;object-fit:contain}
.cover.soon{background:radial-gradient(circle at 50% 40%,#3a1518,#0c0c0c);font:200 44px Oswald;letter-spacing:.2em;text-transform:uppercase;color:#ffffffb0}
.book-body{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.book-body p{margin:0;color:#c7ccd2;font-size:15px}
.series{font:400 12px Oswald!important;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)!important}
.book h3{font:400 22px/1.2 Oswald;margin:0}
.byline{font-style:italic}
.ph{color:#e6b65c!important;font-style:italic}
.buy{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between}
.price{font:500 22px Oswald}
.note{color:var(--muted);font-size:13px;margin-top:18px}
.split{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}
.panel{padding:36px}.panel p{color:#c7ccd2}
.news{background:linear-gradient(145deg,rgba(190,81,8,.25),rgba(255,255,255,.03))}
.center{text-align:center}.center .btn{margin-top:8px;word-break:break-all}
.footer{margin-top:110px;border-top:1px solid var(--edge);background:rgba(0,0,0,.35);padding:40px 0 30px}
.foot-grid{width:min(1120px,calc(100% - 32px));margin:0 auto;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer nav{display:flex;gap:18px;flex-wrap:wrap}.footer a{color:#c7ccd2;text-decoration:none;font-size:14px}.footer a:hover{color:#fff}
.footer p{color:var(--muted);margin:4px 0 0;font-size:14px}.brand-f{font:400 18px Oswald;letter-spacing:.06em;text-transform:uppercase}
.copy{width:min(1120px,calc(100% - 32px));margin:28px auto 0!important;font-size:12px!important}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.in{opacity:1;transform:none}
@media (max-width:900px){.books{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.brand span{display:none}}
@media (max-width:700px){
.menu-btn{display:block}
.nav{border-radius:24px;flex-wrap:wrap;padding:6px 6px 6px 18px}
.nav nav{display:none;width:100%;flex-direction:column;padding:6px 0 8px}
.nav.open nav{display:flex}.nav nav a{padding:12px 14px;font-size:16px}
.hero{align-items:flex-end}.hero-media{width:100%}
.hero-shade{background:linear-gradient(0deg,#0b0f15 22%,rgba(11,15,21,.7) 50%,rgba(11,15,21,.15) 80%)}
.hero-copy{padding-bottom:56px}.books{grid-template-columns:1fr}.panel{padding:26px}.section{padding-top:72px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass{background:rgba(20,26,34,.92)}}
.brand img{width:34px;height:auto}
@media (max-width:700px){.hero-media img,.hero-media video{object-position:72% 30%}}
/* ---- multi-page additions ---- */
.page-hero{position:relative;padding:150px 0 40px;overflow:hidden}
.page-hero .wrap,.wrap{width:min(1120px,calc(100% - 32px));margin:0 auto}
.page-hero h1{font-size:clamp(44px,7vw,96px)}
.page-hero .lede{max-width:52ch}
.bgmedia{position:fixed;inset:0;z-index:-1;background:#0d0d0d}
.bgmedia video,.bgmedia img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.bgmedia::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,8,.35),rgba(8,8,8,.75) 55%,rgba(8,8,8,.92))}
.bgmedia .bg-video{opacity:0;transition:opacity 1.2s}.bgmedia .bg-video.ready{opacity:1}
.bgmedia .bg-video.ready+img{display:none}
body.shop{background:transparent}
.grid{display:grid;gap:22px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.cover.tall{aspect-ratio:2/3;background:radial-gradient(circle at 50% 40%,#2a2a2a,#0c0c0c);padding:18px}
.cover.tall img{object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.6))}
.book h3 a{text-decoration:none}.book h3 a:hover{color:var(--accent)}
.merch{padding:18px}.merch h3{font:400 17px/1.25 Oswald;margin:0 0 6px}.merch .price{font-size:18px}
.was{color:var(--muted);text-decoration:line-through;font-size:14px;margin-right:6px}
.tag{display:inline-block;font:500 11px Inter;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;border:1px solid var(--edge);color:var(--muted)}
.tag.ph{color:#e6b65c;border-color:#e6b65c55}
.detail{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:40px;align-items:start}
.detail .cover.tall{border-radius:var(--r)}
.detail .panel h1{font-size:clamp(36px,5vw,64px);margin-bottom:10px}
.detail blockquote{margin:0 0 16px;font:300 20px/1.4 Oswald;letter-spacing:.02em;color:#fff}
.meta{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:14px;color:#c7ccd2;margin:18px 0}
.meta dt{color:var(--muted)}.meta dd{margin:0}
.crumbs{font-size:13px;color:var(--muted);margin-bottom:16px}.crumbs a{text-decoration:none}.crumbs a:hover{color:#fff}
.steps{counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;position:relative;padding:22px 22px 22px 78px}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:22px;top:18px;font:200 34px Oswald;color:var(--accent)}
.steps h3,.offer h3{font:400 20px Oswald;margin:0 0 6px}.steps p,.offer p{margin:0;color:#c7ccd2}
.offer{padding:24px}
details{border-top:1px solid var(--edge);padding:16px 4px}details:first-of-type{border-top:0}
summary{cursor:pointer;font:400 19px Oswald;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::after{content:"+";color:var(--accent);transition:transform .3s}details[open] summary::after{transform:rotate(45deg)}
details p{color:#c7ccd2;margin:10px 0 0}
form.glass{padding:32px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.field label{font:500 14px Inter;color:#dfe3e8}.field small{color:var(--muted)}
input,select,textarea{font:16px Inter;color:#fff;background:rgba(255,255,255,.06);border:1px solid var(--edge);border-radius:14px;padding:12px 14px;width:100%}
textarea{min-height:140px;resize:vertical}select option{color:#000}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.check{flex-direction:row;align-items:flex-start;gap:10px}.check input{width:auto;margin-top:4px}
.hp{position:absolute;left:-9999px}
.form-msg{margin-top:12px;font-weight:500}.form-msg.ok{color:#8fd19e}.form-msg.err{color:#ff8f7a}
.author{padding:28px}.author h3{font:400 26px Oswald;margin:0 0 4px}
.prose p{color:#c7ccd2;max-width:70ch}
@media (max-width:900px){.g3,.g4{grid-template-columns:1fr 1fr}.detail{grid-template-columns:1fr}.g2{grid-template-columns:1fr}}
@media (max-width:560px){.g3,.g4{grid-template-columns:1fr}.page-hero{padding-top:120px}form.glass{padding:22px}.steps li{padding-left:66px}}
@media (max-width:1240px){.brand span{display:none}.nav nav a{padding:9px 12px}}
@media (max-width:960px){.menu-btn{display:block}.nav{border-radius:24px;flex-wrap:wrap;padding:6px 6px 6px 18px}.nav nav{display:none;width:100%;flex-direction:column;padding:6px 0 8px}.nav.open nav{display:flex}.nav nav a{padding:12px 14px;font-size:16px}}
/* ---- v2: 3D covers, gallery, lists ---- */
.cover3d{display:block;aspect-ratio:3/2;overflow:hidden;background:#d6d6d6}
.cover3d img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.book:hover .cover3d img{transform:scale(1.04)}
.cover3d.soon{display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#3a1518,#0c0c0c);font:200 44px Oswald;letter-spacing:.2em;text-transform:uppercase;color:#ffffffb0}
.gallery{display:grid;gap:16px}
.cover3d.big{border-radius:var(--r)}
.cover-flat{padding:14px;border-radius:var(--r);max-width:220px}
.cover-flat img{border-radius:6px}
.banner{margin:0;overflow:hidden;padding:0}.banner img{width:100%;height:auto;display:block}
.mimg{aspect-ratio:1;background:#fff;border-radius:14px;overflow:hidden;margin-bottom:12px;display:grid;place-items:center}
.mimg img{width:100%;height:100%;object-fit:contain}
.pp{display:inline}
.ticks{padding-left:0;list-style:none;margin:0}.ticks li{position:relative;padding:8px 0 8px 28px;color:#c7ccd2;border-top:1px solid rgba(255,255,255,.07)}
.ticks li::before{content:"✓";position:absolute;left:4px;color:var(--accent)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
h3.sub{font:400 21px Oswald;margin:22px 0 6px}
.plain{list-style:none;padding:0;margin:10px 0;color:#c7ccd2}.plain li{padding:3px 0}
.author .ctas{margin-top:14px;gap:8px}
.stock{display:inline-block;margin:6px 0 0;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,140,60,.45);color:#ffb27a;font:500 12px Inter;letter-spacing:.06em;text-transform:uppercase}
