/* ============================================
   L.D. BRADLEY — LEAD MAGNET DESIGN TOKENS
   Layout: moody-forest
   Generated by leadmagnet_gen.py — DO NOT EDIT
   ============================================ */@font-face {
  font-family: 'Breathing';
  src: url('assets/fonts/Breathing.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root {
  /* ───── PALETTE ───── */
  --emerald: #1F5C4B;
  --emerald-deep: #143F32;
  --forest: #0F3329;
  --forest-ink: #08231C;

  --cream: #F4EBD9;
  --cream-soft: #EFE3CC;
  --cream-pale: #FAF4E6;

  --ink: #0A0F0D;
  --ink-soft: #1A211E;

  --copper: #C99966;
  --copper-deep: #A87A4A;
  --copper-pale: #E0BC93;

  /* ───── TYPE ───── */
  --font-script: 'Birthstone', 'Mrs Saint Delafield', Allura, cursive;
  --font-script-casual: 'Breathing', Birthstone, Allura, cursive;
  --font-display: 'Bodoni Moda', 'Bodoni 72', Didot, 'Playfair Display', serif;
  --font-serif: 'EB Garamond', Arapey, Garamond, Georgia, serif;
  --font-sans: 'Manrope', Inter, 'system-ui', 'sans-serif';

  /* ───── A5 PAGE ─────
     Dimensions exactes A5 (148mm × 210mm) en mm. */
  --page-w: 148mm;
  --page-h: 210mm;

  /* Reading metrics */
  --body-size: 14.5px;
  --body-leading: 1.62;
}

/* ───── SHARED PAGE PRIMITIVES ───── */

.page {
  width: var(--page-w);
  height: var(--page-h);
  position: relative;
  overflow: hidden;
  font-family: var(--font-serif);
  font-size: var(--body-size);
  line-height: var(--body-leading);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}

.page-cream { background: var(--cream); color: var(--ink); }
.page-cream-pale { background: var(--cream-pale); color: var(--ink); }
.page-emerald { background: var(--emerald); color: var(--cream); }
.page-forest { background: var(--forest); color: var(--cream); }
.page-ink { background: var(--forest-ink); color: var(--cream); }

.paper-texture {
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    radial-gradient(rgba(10, 15, 13, 0.025) 1px, transparent 1px),
    radial-gradient(rgba(201, 153, 102, 0.04) 1px, transparent 1px);
  background-size: 3px 3px, 7px 7px;
  background-position: 0 0, 2px 2px;
  mix-blend-mode: multiply;
  opacity: 0.6;
}

.vignette-dark {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,0.35) 100%);
}

/* ───── TYPOGRAPHY UTILITIES ───── */

.script { font-family: var(--font-script); font-weight: 400; line-height: 0.95; }
.display { font-family: var(--font-display); font-weight: 400; letter-spacing: 0.005em; }
.sans { font-family: var(--font-sans); }
.eyebrow {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: 9px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}
.eyebrow-lg {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
}

.body-text {
  font-family: var(--font-serif);
  font-size: var(--body-size);
  line-height: var(--body-leading);
  text-align: justify;
  hyphens: auto;
  text-wrap: pretty;
}

.body-text p { margin: 0; text-indent: 1.4em; }
.body-text p.no-indent { text-indent: 0; }
.body-text p:first-of-type { text-indent: 0; }

.dropcap::first-letter {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 3.6em;
  line-height: 0.85;
  float: left;
  padding: 0.08em 0.12em 0 0;
  color: var(--copper);
  font-style: normal;
}

.section-break {
  text-align: center;
  margin: 1.1em 0;
  letter-spacing: 0.6em;
  color: var(--copper);
  font-family: var(--font-display);
  font-size: 13px;
}

.chapter-eyebrow {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  text-align: center;
  color: var(--copper-deep);
  margin-bottom: 18px;
}
.chapter-title {
  font-family: var(--font-script);
  font-size: 64px;
  text-align: center;
  color: var(--emerald);
  line-height: 0.9;
  margin: 0;
}
.chapter-subtitle {
  font-family: var(--font-display);
  font-style: italic;
  text-align: center;
  font-size: 18px;
  color: var(--ink);
  margin-top: 14px;
  letter-spacing: 0.04em;
}

.header-running, .footer-running {
  font-family: var(--font-sans);
  font-size: 8.5px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--copper-deep);
  opacity: 0.7;
}

.rule-copper {
  height: 1px;
  background: var(--copper);
  width: 60px;
  border: 0;
  margin: 18px auto;
}
.rule-copper-thin {
  height: 0.5px; background: var(--copper-deep);
  width: 32px; border: 0; margin: 12px auto; opacity: 0.6;
}

.cta-btn {
  display: inline-block;
  background: var(--copper);
  color: var(--cream);
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 18px 28px;
  text-decoration: none;
  border: 1px solid var(--copper-deep);
  text-align: center;
}

.center-flex { display: flex; align-items: center; justify-content: center; }
.col-flex { display: flex; flex-direction: column; }