:root {
  --black:#060606;
  --ink:#0b0b0b;
  --ivory:#e9dfcf;
  --muted:#b8ab99;
  --red:#9f211f;
  --red-bright:#bd2b27;
  --line:rgba(233,223,207,.18);
  --display:'Cinzel', Georgia, serif;
  --body:'EB Garamond', Georgia, serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{margin:0;color:var(--ivory);background:#070707;font-family:var(--body);font-size:20px;line-height:1.55;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-4;background-image:linear-gradient(rgba(6,6,6,.75),rgba(6,6,6,.91)),url('assets/dark-surface.webp');background-size:cover;background-position:center;filter:saturate(.55)}
body::after{content:"";position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 55% 42%,rgba(74,35,25,.13),transparent 34%),radial-gradient(circle at 50% 115%,rgba(125,20,18,.14),transparent 31%)}
a{color:inherit}

.grain{pointer-events:none;position:fixed;inset:0;z-index:100;opacity:.12;mix-blend-mode:screen;background-image:url('assets/wood-planks.webp');background-size:900px auto;filter:contrast(1.5) brightness(.4)}

.site-header{height:96px;position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;padding:7px clamp(18px,3vw,48px);background:linear-gradient(to bottom,rgba(5,5,5,.94),rgba(5,5,5,.62),transparent);pointer-events:none}
.brand-logo{display:block;width:118px;pointer-events:auto;text-decoration:none;opacity:.9;transition:opacity .2s ease,transform .2s ease}
.brand-logo:hover{opacity:1;transform:translateY(-1px)}
.brand-logo img{display:block;width:100%;height:auto;border:0}

.hero{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr);align-items:center;gap:clamp(30px,6vw,95px);padding:132px clamp(24px,7vw,110px) 70px;position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(90deg,rgba(4,4,4,.97) 0%,rgba(4,4,4,.78) 48%,rgba(4,4,4,.34) 100%),url('assets/wood-planks.webp');background-size:cover;background-position:center;opacity:.58}
.hero::after{content:"";position:absolute;right:-10vw;bottom:-20vh;width:70vw;height:90vh;z-index:-1;background:url('assets/gnarled-wood.webp') center/cover no-repeat;opacity:.16;mix-blend-mode:screen;filter:grayscale(1) contrast(1.35)}
.eyebrow{font-family:var(--display);font-size:13px;letter-spacing:.22em;color:#c9b89e;margin:0 0 20px}
.hero h1{font-family:var(--display);font-size:clamp(72px,9vw,148px);line-height:.86;letter-spacing:-.035em;margin:0;color:#eee3d1;font-weight:600;text-shadow:0 3px 18px rgba(0,0,0,.5)}
.hero h1 span{letter-spacing:-.045em}
.genre{font-family:var(--display);font-size:clamp(18px,2vw,28px);letter-spacing:.13em;color:var(--red-bright);font-weight:700;margin:34px 0}
.hero-hook{font-size:clamp(29px,3vw,45px);line-height:1.12;margin:0 0 26px;color:#f0e6d7}
.hero-hook strong{color:#c7b294;font-weight:500}
.hero-copy{max-width:670px;color:#b9ad9c;font-size:21px}
.hero-actions,.edition-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-family:var(--display);letter-spacing:.08em;font-size:14px;padding:14px 22px;min-height:52px;transition:.2s ease}
.button-primary{background:#a62623;color:#fff;border:1px solid #c23935;box-shadow:0 8px 30px rgba(120,20,18,.25)}
.button-primary:hover{transform:translateY(-2px);background:#bd2b27}
.button-secondary{border:1px solid rgba(233,223,207,.32);color:#ddcfbd;background:rgba(0,0,0,.25)}
.button-secondary:hover{border-color:#d7c7af;background:rgba(255,255,255,.025)}
.edition-kicker{font-size:15px;color:#85796c;margin-top:20px}
.cover-stage{position:relative;display:flex;justify-content:center;align-items:center}
.cover-stage img{width:min(100%,530px);height:auto;display:block;box-shadow:0 34px 80px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.06);transform:perspective(1200px) rotateY(-2deg)}
.cover-shadow{position:absolute;width:72%;height:10%;bottom:-3%;background:#000;filter:blur(30px);opacity:.75;border-radius:50%}

.premise-strip{position:relative;padding:95px 24px;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.premise-strip::before{content:"";position:absolute;inset:0;background:url('assets/gnarled-wood.webp') center 47%/cover no-repeat;opacity:.17;filter:grayscale(1) contrast(1.4)}
.premise-strip::after{content:"";position:absolute;inset:0;background:rgba(4,4,4,.75)}
.premise-strip>*{position:relative;z-index:1}
.premise-strip p{margin:0;color:#ad9f8d;font-size:21px}
.premise-strip h2{font-family:var(--display);font-size:clamp(36px,5vw,70px);line-height:1.05;margin:12px auto 16px;max-width:1000px;font-weight:500}
.premise-strip h2 span{color:#b52a26}
.premise-end{font-style:italic!important;color:#d1c3b0!important}

.section{padding:110px clamp(24px,7vw,110px)}
.section-heading{max-width:820px;margin-bottom:55px}
.section-heading h2,.edition h2{font-family:var(--display);font-weight:500;font-size:clamp(38px,5vw,66px);line-height:1.08;margin:0}
.story{position:relative;background:linear-gradient(90deg,rgba(5,5,5,.96),rgba(12,11,10,.92))}
.story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.75fr);gap:clamp(40px,8vw,110px);align-items:start}
.story-copy{max-width:720px;color:#bcb09f}
.story-copy .lead{font-size:27px;line-height:1.35;color:#e0d4c2}
.story-copy p{margin:0 0 20px}
.closing-line{font-size:30px;color:#ece0ce!important;font-style:italic;margin-top:30px!important}
.text-link{display:inline-block;color:#c93631;text-decoration:none;font-family:var(--display);font-size:15px;letter-spacing:.07em}
.text-link:hover{color:#e04a44}
.story-read-link{margin-top:12px}
.lamp-panel{border:1px solid rgba(233,223,207,.12);background:#0a0908}
.lamp-photo{aspect-ratio:4/3;background-image:linear-gradient(rgba(0,0,0,.22),rgba(0,0,0,.42)),url('assets/real-lamp.webp');background-size:cover;background-position:center}
.lamp-panel blockquote{margin:0;padding:28px 30px 32px;font-size:24px;line-height:1.3;color:#d6c5af;font-style:italic}

.stakes{padding-top:0;background:#080808}
.stakes-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}
.stake-card{padding:42px 36px;min-height:310px;background:linear-gradient(150deg,rgba(255,255,255,.025),rgba(255,255,255,0));border-right:1px solid var(--line)}
.stake-card:last-child{border-right:0}
.stake-card span{font-family:var(--display);color:#7e1d1b;font-size:13px;letter-spacing:.2em}
.stake-card h3{font-family:var(--display);font-size:25px;line-height:1.2;font-weight:600;color:#e7dac8}
.stake-card p{color:#a99c8c;font-size:18px}

.edition{position:relative;text-align:left;background-image:linear-gradient(90deg,rgba(5,5,5,.96),rgba(5,5,5,.78)),url('assets/wood-planks.webp');background-size:cover;background-position:center;padding-bottom:52px}
.edition-inner{max-width:880px}
.edition-inner>p:not(.eyebrow){font-size:24px;color:#b9ac9b;max-width:760px}
.copyright{margin:96px auto 0;text-align:center;font-size:13px;letter-spacing:.08em;color:#6f655a}

.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
.js .reveal.is-visible{opacity:1;transform:none}

/* Chapter reader */
.reader-body{background:#080706;color:#e5dacb;overflow-x:hidden}
.reader-body::before{background-image:linear-gradient(rgba(5,5,5,.88),rgba(5,5,5,.96)),url('assets/wood-planks.webp');background-attachment:fixed}
.reader-main{padding:140px 22px 90px}
.reader-shell{width:min(820px,100%);margin:0 auto;background:rgba(8,7,6,.92);border:1px solid rgba(233,223,207,.13);box-shadow:0 30px 90px rgba(0,0,0,.45);padding:clamp(34px,6vw,72px)}
.reader-heading{text-align:center;margin-bottom:54px;padding-bottom:38px;border-bottom:1px solid var(--line)}
.reader-heading .eyebrow{margin-bottom:16px}
.reader-heading h1{font-family:var(--display);font-weight:600;font-size:clamp(42px,7vw,72px);line-height:1;margin:0;color:#eee2d1}
.reader-heading .reader-book{margin:18px 0 0;color:#8f8274;font-size:17px;font-style:italic}
.chapter-text{font-size:21px;line-height:1.72;color:#d3c7b6}
.chapter-text p{margin:0 0 1.25em}
.chapter-text p:first-of-type::first-letter{float:left;font-family:var(--display);font-size:4.4em;line-height:.77;padding:.08em .09em 0 0;color:#b72b27}
.scene-break{height:48px;display:flex;align-items:center;justify-content:center;color:#6d6257;letter-spacing:.55em;font-size:13px}
.reader-end{margin-top:64px;padding-top:36px;border-top:1px solid var(--line);text-align:center}
.reader-end p{color:#96897a;font-style:italic;margin:0 0 22px}
.reader-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}

@media(max-width:900px){
  body{font-size:18px}
  .site-header{height:84px;padding-left:16px}
  .brand-logo{width:104px}
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:116px}
  .hero-text{text-align:center}
  .hero-copy{margin-left:auto;margin-right:auto}
  .hero-actions,.edition-actions{justify-content:center}
  .cover-stage{margin-top:20px}
  .cover-stage img{width:min(78vw,470px);transform:none}
  .story-grid{grid-template-columns:1fr}
  .stakes-grid{grid-template-columns:1fr}
  .stake-card{border-right:0;border-bottom:1px solid var(--line)}
  .stake-card:last-child{border-bottom:0}
  .edition{text-align:center}
  .edition-inner{margin:0 auto}
  .edition-inner>p:not(.eyebrow){margin-left:auto;margin-right:auto}
  .hero::before{background-image:linear-gradient(rgba(4,4,4,.88),rgba(4,4,4,.96)),url('assets/wood-planks.webp')}
}

@media(max-width:540px){
  .site-header{height:72px;padding:4px 10px}
  .brand-logo{width:88px}
  .hero{padding-left:20px;padding-right:20px;padding-top:96px}
  .hero h1{font-size:clamp(62px,22vw,98px)}
  .hero-hook{font-size:31px}
  .section{padding:82px 22px}
  .premise-strip{padding:78px 22px}
  .copyright{margin-top:72px}
  .reader-main{padding:104px 12px 54px}
  .reader-shell{padding:30px 22px}
  .chapter-text{font-size:19px;line-height:1.68}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .button,.brand-logo{transition:none}
}
