:root{--ink:#0b0906;--coal:#15110b;--gold:#e6b450;--gold2:#fff1c4;--cream:#f1e6cf;--green:#6fd13a;--mute:#a89a7e}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--cream);font:17px/1.65 'Playfair Display',Georgia,serif;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.grain{position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.kicker{font:14px 'Special Elite',monospace;letter-spacing:.25em;text-transform:uppercase;color:var(--gold)}
h1,h2{font-family:'Bebas Neue',Impact,sans-serif;font-weight:400;letter-spacing:.02em;line-height:.95}
h2{font-size:clamp(44px,6vw,84px);background:linear-gradient(180deg,var(--gold2),var(--gold) 55%,#8a6420);-webkit-background-clip:text;background-clip:text;color:transparent}
h3{font:900 28px/1.15 'Playfair Display',serif;color:var(--gold2);margin-bottom:12px}
.head{text-align:center;margin-bottom:64px}
.btn{display:inline-block;padding:14px 28px;font:22px 'Bebas Neue',sans-serif;letter-spacing:.08em;color:var(--ink);background:linear-gradient(180deg,var(--gold2),var(--gold));border:1px solid var(--gold);border-radius:2px;box-shadow:0 0 30px #e6b45033;transition:.2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 0 40px #e6b45077}
.btn.ghost{background:transparent;color:var(--gold2)}
.btn.small{padding:8px 16px;font-size:18px}
.btn.soon{opacity:.6;cursor:not-allowed}
.nav{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:14px 5vw;background:linear-gradient(#0b0906ee,#0b090600)}
.brand{display:flex;align-items:center;gap:10px;font:28px 'Bebas Neue',sans-serif;color:var(--gold2)}
.brand img{width:36px;border-radius:50%}
.links{display:flex;gap:32px;font:14px 'Special Elite',monospace;letter-spacing:.15em;text-transform:uppercase}
.links a:hover{color:var(--gold)}
.hero{position:relative;min-height:100vh;display:grid;place-items:center;text-align:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:drift 30s ease-in-out infinite alternate}
@keyframes drift{to{transform:scale(1.08)}}
.hero-shade{position:absolute;inset:0;background:radial-gradient(ellipse at center,#0b090655,#0b0906dd 75%),linear-gradient(transparent 60%,var(--ink))}
.hero-copy{position:relative;padding:120px 20px 60px;max-width:900px}
.hero-logo{width:min(340px,70vw);margin:18px auto;border-radius:50%;box-shadow:0 0 80px #e6b45055}
h1{font-size:clamp(40px,6vw,76px);color:var(--cream);text-shadow:0 4px 30px #000}
h1 em{font-style:normal;color:var(--gold)}
.cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.ca{margin:26px auto 0;display:flex;align-items:center;gap:12px;background:#0b0906cc;border:1px solid #e6b45066;color:var(--cream);padding:10px 14px;font:14px 'Special Elite',monospace;cursor:pointer;max-width:100%}
.ca span,.ca b{color:var(--gold);font-weight:400}
.ca code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.marquee{overflow:hidden;border-block:1px solid #e6b45055;background:var(--coal);padding:14px 0}
.track{display:flex;gap:28px;width:max-content;animation:roll 40s linear infinite;font:26px 'Bebas Neue',sans-serif;letter-spacing:.1em;color:var(--gold)}
@keyframes roll{to{transform:translateX(-50%)}}
section{padding:120px 5vw}
.story{max-width:1280px;margin:auto}
.chapter{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center;margin-bottom:110px}
.chapter.flip img{order:2}
.chapter img{border:1px solid #e6b45055;box-shadow:0 30px 80px #000,0 0 0 8px var(--coal),0 0 0 9px #e6b45033}
.num{font:13px 'Special Elite',monospace;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;display:block;margin-bottom:10px}
.text p{margin-bottom:14px;color:#ddd0b5}
q{font-style:italic;color:var(--gold2)}
.big-q{font:italic 700 30px/1.3 'Playfair Display',serif;color:var(--gold)!important;border-left:3px solid var(--gold);padding-left:20px;margin-top:22px}
.code{background:radial-gradient(ellipse at top,#2a1f0e,var(--ink) 70%)}
.rules{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-width:1280px;margin:auto}
.rule{border:1px solid #e6b45044;background:#15110bcc;padding:34px 26px;position:relative}
.rule span{font:64px 'Bebas Neue',sans-serif;color:#e6b45033;position:absolute;top:10px;right:18px}
.rule p{color:var(--mute)}
.books{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;max-width:1150px;margin:auto;align-items:center}
.don img{border:1px solid #e6b45066;box-shadow:0 0 90px #e6b45022}
dl{margin:26px 0;border-top:1px solid #e6b45044}
dl div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #e6b45044}
dt{font:14px 'Special Elite',monospace;letter-spacing:.15em;text-transform:uppercase;color:var(--mute)}
dd{font:24px 'Bebas Neue',sans-serif;letter-spacing:.05em;color:var(--gold2);text-align:right}
.fine{font-size:13px;color:var(--mute)}
.join{position:relative;text-align:center;min-height:80vh;display:grid;place-items:center;overflow:hidden}
.join-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.join-shade{position:absolute;inset:0;background:linear-gradient(var(--ink),#0b0906bb 35%,#0b0906bb 65%,var(--ink))}
.join-copy{position:relative}
.join-copy>p:not(.kicker){font-style:italic;font-size:22px}
footer{text-align:center;padding:50px 5vw;border-top:1px solid #e6b45033;font:14px 'Special Elite',monospace}
footer .fine{max-width:760px;margin:12px auto 0;font-family:'Playfair Display',serif}
.reveal{opacity:0;transform:translateY(40px);transition:1s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media(max-width:900px){.links{display:none}.chapter,.books{grid-template-columns:1fr;gap:28px}.chapter.flip img{order:0}.rules{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.rules{grid-template-columns:1fr}.nav .btn{display:none}section{padding:80px 6vw}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
