/* James Peters — Landing Page
   Built on the James Peters Design System (Built Through Fire) */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Lora:ital,wght@0,400;0,500;0,600;1,400&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --black:#0A0A0A; --white:#F5F4F0; --red:#C41E1E; --red-hover:#A01818; --red-muted:#8B1515;
  --g900:#1C1C1C; --g700:#3A3A3A; --g500:#6B6566; --g300:#B5B0AB; --g100:#E8E5DF; --g50:#F2F0EA;
  --display:'Bebas Neue','Arial Narrow',sans-serif;
  --editorial:'Playfair Display',Georgia,serif;
  --body:'Lora',Georgia,serif;
  --ui:'DM Sans',system-ui,sans-serif;
  --mono:'JetBrains Mono','Courier New',monospace;
  --ease:cubic-bezier(0.16,1,0.3,1);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--black);font-family:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{display:block;}
::selection{background:var(--red);color:var(--white);}
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:var(--black);}
::-webkit-scrollbar-thumb{background:var(--red);}

/* ── utility ── */
.eyebrow{font-family:var(--ui);font-size:11px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;}
.accent-rule{width:44px;height:3px;background:var(--red);}
.btn-red{font-family:var(--ui);font-size:13px;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;
  background:var(--red);color:var(--white);border:none;padding:15px 30px;cursor:pointer;transition:background var(--ease) .2s, transform .1s;}
.btn-red:hover{background:var(--red-hover);}
.btn-red:active{transform:scale(0.98);}
.btn-ghost{font-family:var(--ui);font-size:13px;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;
  background:transparent;color:var(--white);border:1.5px solid var(--g700);padding:15px 30px;cursor:pointer;
  transition:border-color var(--ease) .2s;}
.btn-ghost:hover{border-color:var(--white);}

/* ── reveal on scroll ── */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* ── portrait treatment ── */
.pt-bw{filter:grayscale(1) contrast(1.08) brightness(0.96);}

/* ── designed book cover ── */
.book3d{position:relative;transform-style:preserve-3d;}
.book-cover{position:relative;background:var(--black);border:1px solid #262626;
  box-shadow:-22px 26px 60px rgba(0,0,0,.6), 0 2px 0 #000;}
.book-spine{position:absolute;left:0;top:0;bottom:0;width:14px;background:linear-gradient(90deg,#000,#171717);
  border-right:1px solid var(--red);}

/* ── marquee ── */
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.marquee-track{display:flex;width:max-content;animation:marquee 32s linear infinite;}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none;}}

/* ── hero ash drift (subtle, single ember) ── */
@keyframes emberPulse{0%,100%{opacity:.5;}50%{opacity:1;}}

/* link hover */
a{color:inherit;}
