:root {
  --ink: #f3ecdf;
  --ink-soft: #c9bfaf;
  --ink-dim: #91978f;
  --night: #08100c;
  --green: #0d1d15;
  --green-raised: #13271d;
  --green-soft: #183326;
  --burgundy: #4a1d24;
  --brass: #a88751;
  --brass-light: #d2b879;
  --brass-pale: #ead8a7;
  --paper: #eee5d5;
  --paper-deep: #ded0ba;
  --paper-ink: #172219;
  --line: rgba(210, 184, 121, 0.26);
  --line-soft: rgba(243, 236, 223, 0.1);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
  --shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
  --ease: cubic-bezier(0.2, 0.75, 0.25, 1);
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; background: var(--night); }

body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background:
    radial-gradient(circle at 86% 2%, rgba(74, 29, 36, 0.29), transparent 29rem),
    linear-gradient(180deg, #0a1610 0%, var(--night) 100%);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background: radial-gradient(circle at 50% 32%, transparent 0, rgba(0, 0, 0, 0.12) 58%, rgba(0, 0, 0, 0.37) 100%);
}

.grain {
  position: fixed;
  inset: 0;
  z-index: 70;
  opacity: 0.028;
  pointer-events: none;
  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 type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}

img { display: block; max-width: 100%; }
a { color: inherit; }
p, h1, h2, h3, blockquote, figure { margin-top: 0; }
h1, h2, h3, blockquote { text-wrap: balance; }

h1, h2, h3 {
  font-family: var(--serif);
  font-weight: 500;
  line-height: 0.98;
}

h1 { font-size: clamp(3.55rem, 15.5vw, 7.2rem); letter-spacing: -0.052em; }
h2 { margin-bottom: 1.15rem; font-size: clamp(2.72rem, 11vw, 5.2rem); letter-spacing: -0.04em; }
h3 { font-size: 1.55rem; }
em { font-weight: 500; }

::selection { color: var(--night); background: var(--brass-pale); }
:focus-visible { outline: 2px solid var(--brass-light); outline-offset: 4px; }

.site-header {
  position: relative;
  z-index: 20;
  width: min(100% - 28px, 1240px);
  min-height: 72px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid var(--line-soft);
}

.wordmark {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--ink-soft);
  font-family: var(--serif);
  font-size: 1.08rem;
  letter-spacing: 0.04em;
  text-decoration: none;
}

.monogram {
  position: relative;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid var(--brass);
  color: transparent;
  font-family: var(--serif);
  font-size: 0.8rem;
  transform: rotate(45deg);
}

.monogram::after { content: "AF"; position: absolute; color: var(--brass-light); transform: rotate(-45deg); }

.header-chapter {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  border-bottom: 1px solid var(--brass);
  color: var(--brass-pale);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.reading-progress { position: fixed; inset: 0 0 auto; z-index: 90; height: 2px; }
.reading-progress span { display: block; width: 0; height: 100%; background: var(--brass-light); box-shadow: 0 0 15px rgba(210, 184, 121, 0.5); }

.hero {
  width: min(100% - 28px, 1240px);
  margin: 0 auto;
  padding: 46px 0 74px;
  display: grid;
  gap: 48px;
  align-items: center;
}

.hero-copy { position: relative; z-index: 2; }
.hero-copy h1 { max-width: 10ch; margin: 10px 0 22px; }
.hero-copy h1 em { display: inline-block; color: var(--brass-pale); }

.eyebrow {
  margin-bottom: 14px;
  color: var(--brass-light);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.4;
  text-transform: uppercase;
}

.thesis {
  max-width: 36ch;
  margin-bottom: 26px;
  color: var(--ink-soft);
  font-family: var(--serif);
  font-size: clamp(1.4rem, 5.4vw, 1.9rem);
  line-height: 1.28;
}

.book-facts {
  max-width: 540px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 0 28px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.book-facts span { min-width: 0; padding: 11px 8px; color: var(--ink-dim); font-size: 0.62rem; line-height: 1.35; text-align: center; }
.book-facts span + span { border-left: 1px solid var(--line-soft); }
.book-facts b { display: block; color: var(--ink); font-family: var(--serif); font-size: 1.25rem; font-weight: 600; }

.hero-offer { max-width: 440px; }
.price-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.price-line { min-height: 54px; display: flex; align-items: baseline; gap: 12px; }
.price-current { color: var(--brass-pale); font-family: var(--serif); font-size: 3.25rem; font-weight: 600; line-height: 1; letter-spacing: -0.04em; }
.price-code { margin-left: -7px; color: var(--brass-light); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.12em; }
.price-anchor { color: var(--ink-dim); font-size: 1.04rem; text-decoration-color: var(--burgundy); text-decoration-thickness: 2px; }
.price-save { padding: 6px 9px; border: 1px solid var(--line); color: var(--ink-dim); font-size: 0.65rem; letter-spacing: 0.06em; text-transform: uppercase; }
.price-save b { color: var(--brass-pale); }
.price-note, .payment-note, .form-note { color: var(--ink-dim); font-size: 0.75rem; }
.price-note { margin: 5px 0 17px; }

.button {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid transparent;
  border-radius: 2px;
  padding: 14px 21px;
  font-family: var(--sans);
  font-size: 0.73rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0); }
.button-primary { color: #151006; background: linear-gradient(180deg, var(--brass-pale), #b99355); border-color: var(--brass-light); box-shadow: 0 15px 34px rgba(125, 84, 32, 0.2), inset 0 1px rgba(255, 255, 255, 0.42); }
.button-primary:hover { background: linear-gradient(180deg, #f4e7c0, #c5a363); }
.button-secondary { color: var(--brass-pale); background: transparent; border-color: var(--brass); }
.button-secondary:hover { background: rgba(167, 134, 79, 0.1); }
.button-ink { color: var(--paper); background: var(--paper-ink); border-color: var(--paper-ink); }
.button-ink:hover { color: #fffaf1; background: #0b1510; }
.hero-offer .button { width: 100%; }
.hero-actions { display: grid; gap: 9px; }
.hero-actions .button-secondary { min-height: 49px; color: var(--ink-soft); border-color: rgba(210, 184, 121, 0.48); }
.hero-assurance { margin: 11px 0 0; color: var(--ink-dim); font-size: 0.64rem; letter-spacing: 0.035em; text-align: center; }

.hero-free-link {
  width: fit-content;
  margin: 15px auto 0;
  display: block;
  color: var(--ink-soft);
  font-size: 0.76rem;
  text-underline-offset: 5px;
  text-decoration-color: var(--brass);
}

.hero-free-link strong { color: var(--brass-pale); }

.hero-visual { position: relative; width: min(100%, 510px); margin: 0 auto; padding: 0 6px 27px 0; }
.portrait-frame { position: relative; margin: 0 0 0 auto; overflow: hidden; border: 1px solid rgba(210, 184, 121, 0.3); box-shadow: var(--shadow); }
.portrait-frame::after, .estate-frame::after, .author-portrait::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 0 7px rgba(7, 14, 10, 0.44); background: linear-gradient(180deg, transparent 50%, rgba(8, 16, 12, 0.52)); }
.portrait-frame img { width: 100%; height: clamp(430px, 126vw, 660px); object-fit: cover; object-position: 50% 24%; filter: saturate(0.82) contrast(1.04); }

.book-object { position: absolute; left: -7px; bottom: -4px; width: 144px; display: flex; filter: drop-shadow(0 22px 24px rgba(0, 0, 0, 0.55)); transform: rotate(-3deg); }
.book-spine { width: 14px; flex: 0 0 14px; border: 1px solid #826835; border-right: 0; background: linear-gradient(90deg, #17140f, #2a281c 50%, #16130e); }
.book-cover, .offer-book { position: relative; aspect-ratio: 0.67; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; border: 1px solid #80683c; color: #dfc98a; background: radial-gradient(circle at 50% 32%, rgba(105, 92, 52, 0.24), transparent 35%), linear-gradient(145deg, #19241b, #08110d 70%); text-align: center; }
.book-cover { width: 130px; padding: 18px 10px; }
.book-cover::before, .offer-book::before { content: ""; position: absolute; inset: 7px; border: 1px solid rgba(210, 184, 121, 0.4); pointer-events: none; }
.cover-mark { margin-bottom: 12px; font-family: var(--serif); font-size: 0.72rem; letter-spacing: 0.12em; }
.cover-rule { width: 28px; height: 1px; margin-bottom: 14px; background: var(--brass); }
.book-cover strong, .offer-book strong { font-family: var(--serif); font-weight: 500; line-height: 1.08; }
.book-cover strong { font-size: 1.05rem; }
.book-cover small, .offer-book small { margin-top: 18px; font-size: 0.52rem; letter-spacing: 0.14em; text-transform: uppercase; }
.edition-note { margin: 11px 0 0; color: var(--ink-dim); font-size: 0.64rem; letter-spacing: 0.13em; text-align: right; text-transform: uppercase; }

/* The page's signature: a physical reading sheet lifted from the book. */
.sample-stage { padding: 0 12px 42px; background: linear-gradient(180deg, transparent 0 50%, rgba(14, 31, 22, 0.54) 50%); }
.sample-sheet { position: relative; width: min(100%, 1120px); margin: 0 auto; display: grid; gap: 32px; padding: 38px 24px; overflow: hidden; color: var(--paper-ink); background: linear-gradient(135deg, #f4eddf, var(--paper)); box-shadow: 0 34px 90px rgba(0, 0, 0, 0.5); }
.sample-sheet::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(23, 34, 25, 0.19); pointer-events: none; }
.sample-copy, .sample-excerpt { position: relative; z-index: 1; }
.eyebrow-dark { color: #75582b; }
.sample-copy h2 { max-width: 11ch; margin-bottom: 17px; color: var(--paper-ink); }
.sample-copy h2 em { color: #75582b; }
.sample-copy > p:not(.eyebrow) { max-width: 55ch; color: #465047; }
.sample-proof { display: flex; flex-wrap: wrap; gap: 7px 17px; margin: 21px 0; padding: 14px 0; border-top: 1px solid rgba(23, 34, 25, 0.18); border-bottom: 1px solid rgba(23, 34, 25, 0.18); color: #354239; font-size: 0.72rem; list-style: none; }
.sample-proof li::before { content: ""; width: 5px; height: 5px; display: inline-block; margin: 0 8px 1px 0; background: #75582b; transform: rotate(45deg); }
.sample-copy .button { width: 100%; }
.sample-copy small { display: block; margin-top: 11px; color: #677067; font-size: 0.66rem; }
.sample-excerpt { margin: 0; min-height: 310px; padding: 62px 22px 28px; display: flex; flex-direction: column; justify-content: space-between; border-left: 1px solid rgba(23, 34, 25, 0.18); font-family: var(--serif); }
.sample-excerpt::before { content: "AF"; position: absolute; top: 14px; right: 18px; color: rgba(117, 88, 43, 0.18); font-size: 4.5rem; line-height: 1; }
.sample-excerpt .folio { color: #75582b; font-family: var(--sans); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
.sample-excerpt p { max-width: 15ch; margin: 28px 0; font-size: clamp(2.05rem, 8vw, 3.65rem); font-style: italic; line-height: 1.02; }
.sample-excerpt cite { color: #586159; font-size: 1rem; }

.section { width: min(100% - 32px, 1120px); margin: 0 auto; padding: 90px 0; }
.section-copy p:not(.eyebrow):not(.signature) { max-width: 58ch; color: var(--ink-soft); }
.lead { font-family: var(--serif); font-size: clamp(1.45rem, 6vw, 2rem); line-height: 1.34; }
.signature { margin-top: 22px; color: var(--brass-light); font-family: var(--serif); font-size: 1.45rem; font-style: italic; }
.inheritance-section { display: grid; gap: 44px; align-items: center; }
.estate-frame { position: relative; margin: 0; border: 1px solid var(--line); box-shadow: var(--shadow); }
.estate-frame img { width: 100%; height: 535px; object-fit: cover; object-position: 57% 34%; filter: saturate(0.7) contrast(1.05); }
.estate-frame figcaption { position: absolute; z-index: 2; right: 18px; bottom: 18px; left: 18px; color: rgba(243, 236, 223, 0.88); font-family: var(--serif); font-size: 1.16rem; font-style: italic; text-align: center; }

.section-heading { max-width: 760px; margin: 0 auto 38px; text-align: center; }
.section-heading > p:last-child { max-width: 52ch; margin-right: auto; margin-left: auto; color: var(--ink-dim); }
.distinction-section { border-top: 1px solid var(--line-soft); }
.distinction-grid { display: grid; gap: 13px; max-width: 900px; margin: 0 auto; }
.distinction-card { padding: 27px 22px; border: 1px solid var(--line-soft); background: rgba(10, 21, 15, 0.6); }
.distinction-card.is-positive { border-color: var(--line); background: linear-gradient(150deg, rgba(24, 51, 38, 0.84), rgba(10, 21, 15, 0.78)); }
.card-label { color: var(--ink-dim); font-size: 0.63rem; font-weight: 700; letter-spacing: 0.17em; text-transform: uppercase; }
.is-positive .card-label { color: var(--brass-light); }
.distinction-card ul { margin: 17px 0 0; padding: 0; color: var(--ink-soft); list-style: none; }
.distinction-card li { position: relative; padding: 10px 0 10px 22px; border-top: 1px solid var(--line-soft); }
.distinction-card li::before { content: ""; position: absolute; left: 2px; top: 20px; width: 6px; height: 1px; background: var(--ink-dim); }
.is-positive li::before { width: 5px; height: 5px; top: 18px; background: var(--brass); transform: rotate(45deg); }

.laws-section { width: min(100%, 1240px); padding-right: 16px; padding-left: 16px; }
.laws-list { max-width: 960px; margin: 0 auto; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.laws-list li { display: grid; grid-template-columns: 36px 1fr; gap: 12px; padding: 22px 4px; border-bottom: 1px solid var(--line); }
.laws-list li > span { padding-top: 3px; color: var(--brass); font-family: var(--serif); font-size: 0.88rem; }
.laws-list h3 { margin: 0 0 6px; font-size: 1.54rem; line-height: 1.07; }
.laws-list p { margin: 0; color: var(--ink-dim); font-size: 0.86rem; }

.mid-close { width: min(100% - 28px, 820px); margin: 0 auto 28px; padding: 54px 22px; border: 1px solid var(--line); background: radial-gradient(circle at 50% 0, rgba(74, 29, 36, 0.28), transparent 24rem), rgba(13, 29, 21, 0.65); text-align: center; box-shadow: 0 26px 65px rgba(0, 0, 0, 0.28); }
.mid-close h2 { max-width: 12ch; margin-right: auto; margin-left: auto; }
.mid-close > p:not(.eyebrow) { max-width: 52ch; margin-right: auto; margin-left: auto; color: var(--ink-soft); }
.mid-close-price { margin: 25px 0 18px; color: var(--brass-light); font-size: 0.7rem; letter-spacing: 0.09em; }
.mid-close-price b { color: var(--brass-pale); font-family: var(--serif); font-size: 3.2rem; letter-spacing: -0.04em; }
.mid-close-price s { margin-left: 7px; color: var(--ink-dim); font-size: 0.88rem; }
.mid-close .button { width: min(100%, 390px); }
.mid-free-link { display: block; width: fit-content; margin: 15px auto 0; color: var(--ink-soft); font-size: 0.74rem; text-underline-offset: 5px; text-decoration-color: var(--brass); }

.page-notes { border-top: 1px solid var(--line-soft); }
.page-notes-grid { display: grid; gap: 13px; }
.page-note { margin: 0; min-height: 255px; padding: 27px 23px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid var(--line-soft); background: linear-gradient(155deg, rgba(19, 39, 29, 0.82), rgba(8, 16, 12, 0.82)); }
.page-note span { color: var(--brass); font-size: 0.63rem; font-weight: 700; letter-spacing: 0.17em; text-transform: uppercase; }
.page-note p { margin: 42px 0 0; color: var(--ink-soft); font-family: var(--serif); font-size: 1.62rem; font-style: italic; line-height: 1.28; }

.portrait-quote { display: grid; gap: 44px; align-items: center; }
.author-portrait { position: relative; width: min(100%, 400px); margin: 0 auto; border: 1px solid var(--line); box-shadow: var(--shadow); }
.author-portrait img { width: 100%; height: 520px; object-fit: cover; object-position: 50% 26%; filter: saturate(0.72) contrast(1.04); }
.portrait-quote-copy p:not(.eyebrow) { max-width: 54ch; color: var(--ink-soft); }
.text-cta { display: inline-flex; gap: 12px; margin-top: 10px; color: var(--brass-pale); font-size: 0.73rem; font-weight: 700; letter-spacing: 0.08em; text-underline-offset: 6px; text-transform: uppercase; }

.offer-section { width: min(100% - 18px, 1060px); }
.offer-panel { position: relative; display: grid; gap: 35px; padding: 35px 23px; overflow: hidden; border: 1px solid var(--brass); background: radial-gradient(circle at 15% 27%, rgba(74, 29, 36, 0.35), transparent 25rem), linear-gradient(145deg, #152a20, #09130e 68%); box-shadow: var(--shadow); }
.offer-panel::before { content: ""; position: absolute; inset: 9px; border: 1px solid rgba(210, 184, 121, 0.17); pointer-events: none; }
.offer-book { width: min(68vw, 250px); margin: 0 auto; padding: 30px 18px; box-shadow: 22px 28px 45px rgba(0, 0, 0, 0.42); transform: perspective(900px) rotateY(7deg) rotateZ(-1deg); }
.offer-book strong { font-size: 1.8rem; }
.offer-book small { font-size: 0.63rem; }
.offer-copy { position: relative; z-index: 1; }
.offer-copy h2 { font-size: clamp(2.75rem, 12vw, 4.7rem); }
.offer-list { display: grid; gap: 0; margin: 21px 0; padding: 0; color: var(--ink-soft); list-style: none; }
.offer-list li { position: relative; padding: 10px 0 10px 23px; border-top: 1px solid var(--line-soft); }
.offer-list li::before { content: ""; position: absolute; left: 2px; top: 19px; width: 6px; height: 6px; border: 1px solid var(--brass); transform: rotate(45deg); }
.offer-list b { color: var(--ink); }
.offer-price-box { margin: 25px 0 17px; padding: 15px 0; display: grid; grid-template-columns: 1fr auto; align-items: end; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.offer-kicker { grid-column: 1 / -1; color: var(--brass-light); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
.price-line-large .price-current { font-size: 4.2rem; }
.offer-saving { padding-bottom: 7px; color: var(--ink-dim); font-size: 0.7rem; }
.offer-saving b { color: var(--brass-pale); }
.offer-copy .button { width: 100%; }
.payment-note { margin: 11px 0 0; text-align: center; }

.faq-section { max-width: 820px; }
.faq { border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 15px 2px; color: var(--ink-soft); cursor: pointer; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary span { color: var(--brass-light); font-family: var(--serif); font-size: 1.45rem; transition: transform 0.25s ease; }
.faq details[open] summary span { transform: rotate(45deg); }
.faq details p { max-width: 62ch; margin: 0; padding: 0 30px 22px 2px; color: var(--ink-dim); }

.chapter-bridge { width: min(100% - 28px, 820px); margin: 20px auto 105px; padding: 52px 20px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: center; }
.chapter-bridge p:not(.eyebrow) { max-width: 48ch; margin-right: auto; margin-left: auto; color: var(--ink-dim); }
.chapter-bridge .button { margin-top: 12px; }
.chapter-bridge small { display: block; margin-top: 13px; color: var(--ink-dim); font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; }

.site-footer { padding: 54px 24px 128px; border-top: 1px solid var(--line-soft); color: var(--ink-dim); text-align: center; }
.footer-mark { width: 48px; height: 48px; margin: 0 auto 18px; display: grid; place-items: center; border: 1px solid var(--brass); color: var(--brass-light); font-family: var(--serif); transform: rotate(45deg); }
.footer-mark span { transform: rotate(-45deg); }
.site-footer > p { color: var(--ink-soft); font-family: var(--serif); font-size: 1.25rem; }
.site-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 24px; margin: 20px 0; }
.site-footer a { color: var(--ink-dim); font-size: 0.75rem; text-underline-offset: 4px; }
.site-footer small { display: block; max-width: 70ch; margin: 0 auto; font-size: 0.68rem; }

.sticky-offer { position: fixed; left: 50%; bottom: max(8px, env(safe-area-inset-bottom)); z-index: 60; width: min(calc(100% - 16px), 570px); display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 8px 8px 8px 14px; border: 1px solid var(--brass); background: rgba(8, 16, 12, 0.96); box-shadow: 0 20px 45px rgba(0, 0, 0, 0.55); backdrop-filter: blur(12px); opacity: 0; transform: translate(-50%, calc(100% + 28px)); pointer-events: none; transition: transform 0.55s var(--ease), opacity 0.35s ease; }
.sticky-offer.is-visible { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.sticky-offer > div { min-width: 0; display: grid; line-height: 1.2; }
.sticky-label { color: var(--ink-dim); font-size: 0.56rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.sticky-price { color: var(--brass-pale); font-family: var(--serif); font-size: 1.2rem; }
.sticky-price [data-price-currency] { color: var(--brass-light); font-family: var(--sans); font-size: 0.54rem; font-weight: 700; letter-spacing: 0.08em; }
.sticky-price s { margin-left: 5px; color: var(--ink-dim); font-family: var(--sans); font-size: 0.68rem; }
.sticky-offer .button { min-height: 46px; padding: 10px 15px; }

/* Lead capture */
.chapter-page, .thank-you-page { min-height: 100vh; }
.capture-layout { display: grid; min-height: calc(100vh - 72px); }
.capture-copy { align-self: center; width: min(100% - 30px, 670px); margin: 0 auto; padding: 54px 0 65px; }
.capture-copy h1 { max-width: 10ch; margin-bottom: 21px; }
.capture-lead { max-width: 52ch; color: var(--ink-soft); font-family: var(--serif); font-size: 1.32rem; line-height: 1.42; }
.capture-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin: 25px 0 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.capture-facts span { padding: 11px 5px; color: var(--ink-dim); font-size: 0.63rem; text-align: center; }
.capture-facts span + span { border-left: 1px solid var(--line-soft); }
.capture-facts b { display: block; color: var(--ink); font-family: var(--serif); font-size: 1.25rem; }
.lead-form { margin: 29px 0; padding: 23px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lead-form label { display: block; margin-bottom: 9px; color: var(--ink-soft); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.07em; }
.form-row { display: grid; gap: 10px; }
.lead-form input { width: 100%; min-height: 56px; border: 1px solid var(--line); border-radius: 2px; padding: 14px 16px; color: var(--ink); background: rgba(5, 12, 8, 0.7); font: inherit; }
.lead-form input::placeholder { color: #6e786e; }
.lead-form input:focus { border-color: var(--brass); outline: none; box-shadow: 0 0 0 2px rgba(210, 184, 121, 0.12); }
.lead-form .button { width: 100%; }
.form-note { margin: 10px 0 0; }
.form-assurance { display: flex; flex-wrap: wrap; gap: 7px 15px; margin: 12px 0 0; padding: 0; color: var(--ink-dim); font-size: 0.65rem; list-style: none; }
.form-assurance li::before { content: ""; display: inline-block; width: 4px; height: 4px; margin: 0 7px 1px 0; background: var(--brass); transform: rotate(45deg); }
.chapter-promise { display: grid; grid-template-columns: 38px 1fr; gap: 13px; margin: 32px 0 24px; }
.roman { color: var(--brass-light); font-family: var(--serif); font-size: 1.1rem; }
.chapter-promise h2 { margin-bottom: 8px; font-size: 2rem; }
.chapter-promise p { margin: 0; color: var(--ink-dim); font-size: 0.88rem; }
.capture-direct { margin: 0 0 24px 51px; display: grid; gap: 3px; }
.capture-direct > span { color: var(--ink-dim); font-size: 0.64rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.capture-direct a { color: var(--brass-pale); font-size: 0.78rem; text-underline-offset: 5px; text-decoration-color: var(--brass); }
.capture-direct b { font-family: var(--serif); font-size: 1.08rem; }
.text-link { color: var(--ink-soft); font-size: 0.78rem; text-underline-offset: 5px; text-decoration-color: rgba(210, 184, 121, 0.45); }
.back-link { display: inline-block; margin-top: 8px; }
.capture-visual { position: relative; min-height: 65vh; overflow: hidden; }
.capture-visual img { width: 100%; height: 100%; object-fit: cover; object-position: 56% 32%; filter: saturate(0.65) contrast(1.08); }
.capture-visual-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6, 14, 9, 0.12), rgba(6, 14, 9, 0.8)); }
.capture-visual blockquote { position: absolute; right: 24px; bottom: 33px; left: 24px; margin: 0 auto; max-width: 16ch; color: var(--ink); font-family: var(--serif); font-size: clamp(2rem, 8vw, 3.4rem); font-style: italic; line-height: 1.05; text-align: center; }
.minimal-footer { padding: 24px; border-top: 1px solid var(--line-soft); color: var(--ink-dim); font-size: 0.68rem; text-align: center; }

/* Delivery and post-purchase pages */
.thank-you-page { display: grid; place-items: center; padding: 22px; }
.thank-you-card { position: relative; width: min(100%, 680px); padding: 46px 23px; border: 1px solid var(--brass); background: radial-gradient(circle at 50% 0, rgba(74, 29, 36, 0.32), transparent 24rem), linear-gradient(160deg, rgba(20, 42, 31, 0.95), rgba(7, 15, 10, 0.98)); box-shadow: var(--shadow); text-align: center; }
.thank-you-card::before { content: ""; position: absolute; inset: 9px; border: 1px solid rgba(210, 184, 121, 0.17); pointer-events: none; }
.thank-you-seal { width: 70px; height: 70px; margin: 0 auto 28px; display: grid; place-items: center; border: 1px solid var(--brass); color: var(--brass-light); font-family: var(--serif); font-size: 1.08rem; transform: rotate(45deg); }
.thank-you-seal span { transform: rotate(-45deg); }
.thank-you-card h1 { margin: 0 0 8px; font-size: clamp(4rem, 18vw, 6rem); }
.thank-you-lead { color: var(--ink); font-family: var(--serif); font-size: clamp(1.55rem, 7vw, 2.2rem); line-height: 1.25; }
.thank-you-card > p:not(.eyebrow):not(.thank-you-lead):not(.signature):not(.closing) { max-width: 52ch; margin-right: auto; margin-left: auto; color: var(--ink-soft); }
.fine-rule { display: flex; align-items: center; justify-content: center; margin: 27px 0; }
.fine-rule::before, .fine-rule::after { content: ""; width: 80px; height: 1px; background: var(--line); }
.fine-rule span { width: 7px; height: 7px; margin: 0 12px; border: 1px solid var(--brass); transform: rotate(45deg); }
.inbox-note { max-width: 500px; margin: 28px auto; padding: 17px; display: grid; gap: 5px; border-left: 2px solid var(--brass); color: var(--ink-dim); background: rgba(5, 12, 8, 0.48); font-size: 0.8rem; text-align: left; }
.inbox-note strong { color: var(--ink-soft); }
.closing { margin-bottom: 0; color: var(--ink-soft); font-family: var(--serif); font-size: 1.2rem; font-style: italic; }
.thank-you-card .signature { margin-bottom: 24px; }
.delivery-actions { margin: 10px auto 18px; display: grid; gap: 9px; }
.delivery-actions .button { width: 100%; }
.delivery-note { font-size: 0.79rem; }
.upgrade-box { position: relative; margin: 34px 0 25px; padding: 25px 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.upgrade-box h2 { margin-bottom: 10px; font-size: clamp(2.35rem, 10vw, 3.5rem); }
.upgrade-box p { color: var(--ink-dim); }
.upgrade-price { margin: 15px 0 13px; color: var(--ink-soft); font-size: 0.76rem; }
.upgrade-price b { color: var(--brass-pale); font-family: var(--serif); font-size: 2rem; }
.upgrade-box .button { width: 100%; }

/* Progressive motion */
.js .reveal { opacity: 0; transform: translateY(22px); transition: opacity 0.85s var(--ease), transform 0.85s var(--ease); transition-delay: calc(var(--delay, 0) * 90ms); }
.js .reveal.is-visible { opacity: 1; transform: none; }
.price-current.price-pop { animation: price-pop 0.65s var(--ease) both; }
@keyframes price-pop { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

@media (min-width: 620px) {
  .site-header, .hero { width: min(100% - 54px, 1240px); }
  .section { width: min(100% - 54px, 1120px); }
  .laws-section { width: min(100% - 28px, 1240px); }
  .hero-offer .button { width: auto; min-width: 292px; }
  .hero-actions { width: fit-content; }
  .hero-actions .button { width: 100%; }
  .hero-assurance { width: 360px; text-align: left; }
  .hero-free-link { margin-left: 0; }
  .sample-stage { padding-right: 25px; padding-left: 25px; }
  .sample-sheet { padding: 50px 44px; }
  .sample-copy .button { width: auto; }
  .distinction-grid { grid-template-columns: repeat(2, 1fr); }
  .page-notes-grid { grid-template-columns: repeat(2, 1fr); }
  .page-notes-grid .page-note:first-child { grid-column: 1 / -1; }
  .form-row { grid-template-columns: minmax(0, 1fr) auto; }
  .lead-form .button { width: auto; }
  .thank-you-card { padding: 58px 52px; }
  .delivery-actions { grid-template-columns: minmax(0, 1.35fr) minmax(150px, 0.65fr); }
}

@media (min-width: 840px) {
  .hero { min-height: calc(100svh - 72px); padding: 44px 0 68px; grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr); gap: clamp(38px, 6vw, 88px); }
  .hero h1 { font-size: clamp(5.1rem, 8vw, 7.25rem); }
  .hero-visual { width: min(100%, 485px); }
  .portrait-frame img { height: min(68vh, 675px); min-height: 555px; }
  .book-object { left: -35px; width: 185px; }
  .book-spine { width: 18px; flex-basis: 18px; }
  .book-cover { width: 167px; padding: 22px 14px; }
  .book-cover strong { font-size: 1.32rem; }
  .sample-stage { margin-top: -26px; padding-bottom: 66px; }
  .sample-sheet { grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.8fr); gap: clamp(45px, 8vw, 100px); padding: 68px clamp(55px, 7vw, 86px); }
  .sample-excerpt { min-height: 430px; padding: 75px 0 25px 42px; }
  .inheritance-section { grid-template-columns: minmax(0, 1.04fr) minmax(330px, 0.8fr); gap: clamp(55px, 8vw, 110px); }
  .laws-list { display: grid; grid-template-columns: repeat(2, 1fr); border-left: 1px solid var(--line); }
  .laws-list li { min-height: 132px; padding: 24px; border-right: 1px solid var(--line); }
  .page-notes-grid { grid-template-columns: repeat(3, 1fr); }
  .page-notes-grid .page-note:first-child { grid-column: auto; }
  .portrait-quote { grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.12fr); gap: clamp(58px, 9vw, 120px); }
  .offer-panel { grid-template-columns: minmax(250px, 0.7fr) minmax(0, 1.15fr); gap: clamp(50px, 8vw, 96px); align-items: center; padding: 62px clamp(42px, 6vw, 72px); }
  .offer-book { width: min(100%, 260px); }
  .offer-copy .button { width: auto; min-width: 280px; }
  .payment-note { max-width: 390px; text-align: left; }
  .capture-layout { grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr); }
  .capture-copy { padding: 68px 45px; }
  .capture-visual { min-height: calc(100vh - 72px); }
}

@media (min-width: 1120px) {
  .section { padding-top: 120px; padding-bottom: 120px; }
}

@media (max-width: 420px) {
  .wordmark > span:last-child { display: none; }
  .hero { padding-top: 36px; }
  .hero-copy h1 { font-size: clamp(3.45rem, 16vw, 4.25rem); }
  .hero-visual { padding-right: 0; }
  .book-object { left: -4px; }
  .price-save { display: none; }
  .sample-stage { padding-right: 8px; padding-left: 8px; }
  .sample-sheet { padding: 36px 21px; }
  .sample-excerpt { padding-left: 17px; }
  .offer-price-box { grid-template-columns: 1fr; }
  .offer-saving { padding-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  .js .reveal { opacity: 1; transform: none; }
}
