@import url("https://fonts.googleapis.com/css2?family=Ballet&family=Cormorant+Garamond:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap");

.product-photo-pending {
  display: grid;
  align-content: center;
  width: 100%;
  min-height: 160px;
  aspect-ratio: 1;
  padding: 20px;
  color: #e8c47e;
  font-size: 18px;
  line-height: 1.5;
  text-align: center;
}

:root {
  color-scheme: dark;
  --paper: #160e09;
  --paper-deep: #0f0906;
  --panel: #21150d;
  --panel-light: #2a1b10;
  --ink: #f8eedb;
  --ink-soft: #d2bea0;
  --gold: #edc45f;
  --gold-bright: #ffe6a0;
  --gold-deep: #bf8737;
  --line: rgba(237, 196, 95, .43);
  --serif: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;
  --sans: "Manrope", "Avenir Next", sans-serif;
  --content: 1160px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  min-height: 100vh;
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 7% 13%, rgba(255, 214, 118, .42) 0 1px, transparent 3px),
    radial-gradient(circle at 86% 9%, rgba(255, 214, 118, .3) 0 1.5px, transparent 4px),
    radial-gradient(circle at 92% 39%, rgba(225, 164, 62, .26) 0 1px, transparent 3px),
    radial-gradient(circle at 4% 61%, rgba(255, 225, 157, .25) 0 1px, transparent 3px),
    radial-gradient(circle at 78% 83%, rgba(255, 214, 118, .28) 0 1px, transparent 4px),
    radial-gradient(ellipse at 50% -25%, rgba(157, 96, 31, .24), transparent 55%),
    var(--paper);
  background-attachment: fixed;
  font: 19px/1.75 var(--sans);
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: "";
  position: fixed;
  z-index: 20;
  inset: 0;
  pointer-events: none;
  opacity: .16;
  background-image: radial-gradient(rgba(255, 231, 176, .16) .55px, transparent .65px);
  background-size: 5px 5px;
  mask-image: linear-gradient(90deg, #000, transparent 32%, transparent 68%, #000);
}
img { display: block; max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--gold-bright);
  outline-offset: 4px;
  border-radius: 3px;
}
.skip-link {
  position: absolute; z-index: 30; top: 8px; left: 8px;
  padding: 10px 14px; transform: translateY(-150%);
  background: var(--gold); color: var(--paper-deep); border-radius: 3px;
}
.skip-link:focus { transform: translateY(0); }
.site-header {
  position: relative; z-index: 25;
  background: rgba(17, 10, 6, .96);
  border-bottom: 1px solid rgba(226, 187, 103, .32);
  box-shadow: 0 8px 30px rgba(0,0,0,.19);
}
.header-inner, .footer-inner, .container {
  width: min(var(--content), calc(100% - 48px));
  margin-inline: auto;
}
.header-inner { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.wordmark { display: grid; line-height: 1.1; text-decoration: none; }
.wordmark strong { font: 600 31px/1 var(--serif); letter-spacing: .015em; }
.wordmark span { margin-top: 8px; color: var(--gold); font-size: 13px; font-weight: 700; letter-spacing: .27em; text-transform: uppercase; }
.nav-wrap { display: flex; align-items: center; gap: 32px; }
.site-nav { display: flex; align-items: center; gap: 29px; }
.site-nav a { position: relative; color: #ddcba9; text-decoration: none; font-size: 15px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: color .2s; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--gold-bright); }
.site-nav a[aria-current="page"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -10px; height: 1px; background: var(--gold); }
.nav-cta, .button {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 47px; padding: 0 21px; border: 1px solid var(--gold);
  background: linear-gradient(135deg, #edcf83, #c39242);
  color: #241609; text-decoration: none;
  font: 800 14px var(--sans); letter-spacing: .12em; text-transform: uppercase;
  transition: background .2s ease, transform .2s ease, border-color .2s ease;
}
.nav-cta:hover, .button:hover:not(:disabled) { background: var(--gold-bright); border-color: var(--gold-bright); transform: translateY(-2px); }
.button.secondary { background: transparent; color: var(--gold-bright); }
.button.secondary:hover { background: rgba(226,187,103,.1); }
.button:disabled { cursor: not-allowed; opacity: .72; background: #493a2d; border-color: #796446; color: #e4d1ac; transform: none; }
.disabled-link, .is-disabled { cursor: not-allowed; opacity: .8; background: #493a2d !important; border-color: #796446 !important; color: #e4d1ac !important; transform: none !important; }
.menu-toggle { display: none; border: 1px solid var(--line); color: var(--ink); background: transparent; min-height: 44px; padding: 0 14px; font: 700 14px var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.eyebrow { display: inline-flex; align-items: center; gap: 12px; color: var(--gold); font-size: 13px; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 25px; height: 1px; background: var(--gold-deep); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 500; letter-spacing: -.025em; }
h1 { font-size: clamp(56px, calc(7vw + 4px), 95px); line-height: .94; }
h2 { font-size: clamp(41px, calc(4.6vw + 4px), 63px); line-height: 1; }
h3 { font-size: 31px; line-height: 1.15; }
.lead { color: #ebd7b2; font: 500 clamp(23px, calc(2.2vw + 4px), 28px)/1.45 var(--serif); }
.muted { color: var(--ink-soft); }
.section { padding: 112px 0; }
.section-small { padding: 65px 0; }
.rule { border: 0; border-top: 1px solid var(--line); margin: 0; }
.quiet-label { color: var(--ink-soft); font-size: 14px; letter-spacing: .14em; text-transform: uppercase; }

/* The book's atmosphere is evoked in the architecture and light, never as wallpaper. */
.hero {
  position: relative; isolation: isolate; overflow: hidden; min-height: 670px;
  display: grid; align-items: center;
  background:
    radial-gradient(circle at 7% 25%, rgba(255, 222, 146, .88) 0 1px, transparent 3px),
    radial-gradient(circle at 17% 72%, rgba(255, 213, 112, .68) 0 1.5px, transparent 4px),
    radial-gradient(circle at 36% 18%, rgba(255, 226, 165, .6) 0 1px, transparent 3px),
    radial-gradient(circle at 61% 80%, rgba(230, 172, 71, .7) 0 1.5px, transparent 4px),
    radial-gradient(circle at 92% 28%, rgba(255, 229, 160, .8) 0 1px, transparent 3px),
    radial-gradient(circle at 84% 72%, rgba(246, 196, 95, .58) 0 1px, transparent 3px),
    radial-gradient(ellipse at 78% 46%, rgba(177, 111, 36, .36), transparent 40%),
    radial-gradient(ellipse at 12% 10%, rgba(135, 82, 31, .27), transparent 34%),
    linear-gradient(116deg, #130b07 0%, #24150c 53%, #120a06 100%);
}
.hero::before, .hero::after { content: ""; position: absolute; pointer-events: none; z-index: -1; }
.hero::before {
  inset: 18px;
  border: 1px solid rgba(223, 182, 94, .13);
  clip-path: polygon(0 0, 14% 0, 14% 1px, 1px 1px, 1px 18%, 0 18%, 0 0, 100% 0, 100% 18%, calc(100% - 1px) 18%, calc(100% - 1px) 1px, 86% 1px, 86% 0, 100% 0, 100% 100%, 86% 100%, 86% calc(100% - 1px), calc(100% - 1px) calc(100% - 1px), calc(100% - 1px) 82%, 100% 82%, 100% 100%, 0 100%, 0 82%, 1px 82%, 1px calc(100% - 1px), 14% calc(100% - 1px), 14% 100%, 0 100%);
}
.hero::after { width: 540px; height: 540px; right: -180px; top: -220px; border: 1px solid rgba(255,215,124,.38); border-radius: 50%; box-shadow: 0 0 0 24px rgba(231,189,94,.045), 0 0 0 62px rgba(231,189,94,.04), 0 0 0 112px rgba(231,189,94,.025); }
.hero-grid {
  position: relative; z-index: 1; width: min(var(--content), calc(100% - 48px));
  margin: auto; display: grid; grid-template-columns: 1fr 1.08fr; gap: 46px; align-items: center;
  padding: 80px 0 102px;
}
.hero-copy { max-width: 580px; }
.hero h1 { margin: 23px 0 23px; line-height: 1.06; }
.hero h1 em {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 3px 0 8px;
  padding-right: .12em;
  color: var(--gold-bright);
  font: 400 clamp(80px, calc(9.4vw + 4px), 126px)/1.08 "Ballet", "Cormorant Garamond", cursive;
  letter-spacing: .01em;
  text-shadow: 0 0 1px rgba(255, 239, 191, .8), 0 3px 22px rgba(238, 184, 76, .32);
}
.hero-copy .lead { max-width: 450px; margin-bottom: 17px; }
.hero-summary { max-width: 490px; margin: 0 0 29px; color: #cbb99d; font-size: 18px; line-height: 1.8; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-art { display: flex; justify-content: center; align-items: center; min-height: 440px; }
.hero-art-layout { display: grid; grid-template-columns: .74fr 1fr; align-items: center; gap: 20px; width: 100%; }
.book-author-photo { position: relative; z-index: 1; margin: 0; padding: 9px; border: 1px solid rgba(231,189,94,.68); background: #21160e; box-shadow: 0 25px 55px rgba(0,0,0,.5); transform: rotate(-3deg); }
.book-author-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 48%; }
.book-author-photo figcaption { padding: 8px 1px 1px; color: #e3c989; font-size: 12px; line-height: 1.35; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.cover-frame { position: relative; width: 100%; transform: rotate(1.3deg); }
.cover-frame::before { content: ""; position: absolute; inset: 13px -13px -13px 13px; border: 1px solid rgba(231,189,94,.6); }
.cover-frame img { position: relative; width: 100%; border: 1px solid rgba(244,198,99,.55); box-shadow: 0 28px 60px rgba(0,0,0,.58); }
.draft-badge { position: absolute; right: -11px; bottom: -23px; padding: 11px 14px; background: var(--gold); color: #221307; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.hero-note { position: absolute; bottom: 25px; left: max(24px, calc((100% - var(--content))/2)); color: #d4bd90; font: italic 22px var(--serif); letter-spacing: .04em; }
.text-link { display: inline-flex; align-items: center; gap: 10px; color: var(--gold-bright); font-size: 15px; font-weight: 800; letter-spacing: .1em; text-decoration-color: rgba(246,212,126,.5); text-underline-offset: 6px; text-transform: uppercase; }
.text-link span { font-size: 23px; transition: transform .2s ease; }
.text-link:hover span { transform: translateX(4px); }

.about-section {
  position: relative;
  background:
    radial-gradient(circle at 11% 16%, rgba(255,220,135,.42) 0 1px, transparent 3px),
    radial-gradient(circle at 22% 78%, rgba(240,185,79,.38) 0 1px, transparent 4px),
    radial-gradient(circle at 88% 22%, rgba(255,223,150,.42) 0 1.5px, transparent 4px),
    radial-gradient(circle at 76% 84%, rgba(239,184,78,.3) 0 1px, transparent 3px),
    radial-gradient(ellipse at 20% 50%, rgba(151,94,33,.27), transparent 42%),
    #1b110a;
  border-block: 1px solid rgba(231,189,94,.18);
}
.about-grid { display: grid; grid-template-columns: .76fr 1.24fr; gap: 90px; align-items: center; }
.about-photo { position: relative; width: min(100%, 350px); margin: 0 auto; padding: 10px; border: 1px solid rgba(231,189,94,.72); background: rgba(231,189,94,.07); box-shadow: 0 22px 52px rgba(0,0,0,.42); }
.about-photo::before { content: ""; position: absolute; inset: 17px -14px -14px 17px; z-index: 0; border: 1px solid rgba(231,189,94,.38); }
.about-photo img { position: relative; z-index: 1; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 30%; }
.about-copy { max-width: 680px; }
.about-copy h2 { margin: 16px 0 22px; }
.about-copy p { color: var(--ink-soft); }

.journey-section {
  background:
    radial-gradient(circle at 8% 26%, rgba(255,218,134,.45) 0 1px, transparent 3px),
    radial-gradient(circle at 45% 9%, rgba(240,185,79,.37) 0 1.5px, transparent 4px),
    radial-gradient(circle at 93% 67%, rgba(255,224,145,.48) 0 1px, transparent 3px),
    radial-gradient(circle at 72% 92%, rgba(224,166,65,.36) 0 1px, transparent 3px),
    linear-gradient(105deg, #120b07, #2a190d 54%, #160d08);
}
.journey-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 76px; align-items: center; }
.journey-copy h2 { max-width: 630px; margin: 17px 0 25px; }
.journey-copy p { color: var(--ink-soft); max-width: 650px; }
.healing-card { position: relative; padding: 36px 38px; border: 1px solid rgba(231,189,94,.55); background: linear-gradient(145deg, rgba(66,41,19,.85), rgba(28,17,9,.97)); box-shadow: 0 22px 58px rgba(0,0,0,.28); }
.healing-card::before { content: ""; position: absolute; inset: 7px; border: 1px solid rgba(231,189,94,.14); pointer-events: none; }
.healing-card h3 { position: relative; font-size: 30px; color: var(--gold-bright); margin: 0 0 23px; }
.healing-list { position: relative; display: grid; gap: 15px; list-style: none; margin: 0; padding: 0; }
.healing-list li { position: relative; padding-left: 25px; color: #f1e4c9; font-size: 18px; }
.healing-list li::before { content: ""; position: absolute; left: 1px; top: .7em; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 13px rgba(231,189,94,.55); }
.healing-note { position: relative; margin: 23px 0 0; padding-top: 18px; border-top: 1px solid rgba(231,189,94,.28); color: #d8c39e; font: italic 21px/1.55 var(--serif); }

.collection-section {
  background:
    radial-gradient(circle at 14% 21%, rgba(255,220,135,.4) 0 1px, transparent 3px),
    radial-gradient(circle at 92% 16%, rgba(239,182,77,.4) 0 1px, transparent 3px),
    radial-gradient(circle at 57% 91%, rgba(255,225,150,.34) 0 1px, transparent 3px),
    radial-gradient(ellipse at 50% 35%, rgba(124,76,27,.16), transparent 60%),
    #1a1009;
  border-top: 1px solid rgba(231,189,94,.28);
}
.section-heading { max-width: 720px; margin: 0 0 40px; }
.section-heading h2 { margin: 15px 0; }
.section-heading p { color: var(--ink-soft); }
.teaser-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.teaser-card { display: flex; flex-direction: column; min-width: 0; padding: 12px; border: 1px solid rgba(231,189,94,.35); background: linear-gradient(160deg, #2a1a0e, #1d1109); color: var(--ink); text-decoration: none; transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease; }
.teaser-card:hover { border-color: var(--gold-bright); transform: translateY(-5px); box-shadow: 0 18px 34px rgba(0,0,0,.3); }
.teaser-art { display: grid; place-items: center; min-height: 250px; padding: 14px; background: radial-gradient(ellipse at center, rgba(196,137,48,.2), transparent 68%), #120a06; }
.teaser-art img { width: 100%; height: 230px; object-fit: contain; }
.teaser-name { padding: 18px 6px 5px; font: 600 27px/1.15 var(--serif); }
.teaser-action { padding: 8px 6px 4px; color: var(--gold); font-size: 13px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.closing-band { display: flex; justify-content: space-between; align-items: center; gap: 36px; padding: 57px 0; border-top: 1px solid rgba(231,189,94,.35); }
.closing-band h2 { font-size: clamp(38px, calc(4vw + 4px), 54px); margin-bottom: 8px; color: var(--gold-bright); }
.closing-band p { color: var(--ink-soft); margin: 0; }

.site-footer { background: #100904; color: #f4e8cd; padding: 48px 0 28px; border-top: 1px solid rgba(230,187,91,.3); }
.footer-inner { display: flex; justify-content: space-between; align-items: flex-start; gap: 32px; flex-wrap: wrap; }
.footer-brand { max-width: 300px; }
.footer-brand strong { display: block; font: 600 30px var(--serif); margin-bottom: 7px; }
.footer-brand p { color: #c7b28c; font-size: 18px; }
.footer-links { display: flex; gap: 20px; flex-wrap: wrap; }
.footer-links a { color: #e5d3ad; text-decoration: none; font-size: 14px; letter-spacing: .05em; }
.footer-links a:hover { color: var(--gold-bright); text-decoration: underline; text-underline-offset: 4px; }
.footer-bottom { width: 100%; border-top: 1px solid rgba(230,187,91,.2); padding-top: 18px; color: #bba780; font-size: 14px; }

.page-hero {
  position: relative; isolation: isolate; overflow: hidden;
  padding: 96px 0 72px;
  background:
    radial-gradient(circle at 13% 19%, rgba(255,226,150,.68) 0 1px, transparent 3px),
    radial-gradient(circle at 38% 71%, rgba(236,183,81,.5) 0 1.5px, transparent 4px),
    radial-gradient(circle at 83% 20%, rgba(255,231,170,.66) 0 1px, transparent 3px),
    radial-gradient(circle at 94% 78%, rgba(237,182,71,.53) 0 1px, transparent 3px),
    radial-gradient(ellipse at 86% 12%, rgba(198,132,49,.3), transparent 41%),
    linear-gradient(115deg, #160d08, #302010 58%, #170d08);
  border-bottom: 1px solid rgba(230,187,91,.26);
}
.page-hero::after { content: ""; position: absolute; z-index: -1; right: 7%; top: -135px; width: 330px; height: 330px; border: 1px solid rgba(255,216,127,.37); border-radius: 50%; box-shadow: 0 0 0 18px rgba(231,189,94,.05), 0 0 0 52px rgba(231,189,94,.035); }
.page-hero h1 { font-size: clamp(52px, calc(6.4vw + 4px), 81px); max-width: 900px; margin: 18px 0 16px; }
.page-hero .lead { max-width: 700px; margin: 0; }
.page-body { padding: 75px 0 106px; }
.page-body {
  background:
    radial-gradient(circle at 5% 11%, rgba(255,221,139,.32) 0 1px, transparent 3px),
    radial-gradient(circle at 91% 19%, rgba(235,177,73,.32) 0 1px, transparent 3px),
    radial-gradient(circle at 83% 72%, rgba(255,225,152,.26) 0 1.5px, transparent 4px),
    radial-gradient(circle at 12% 88%, rgba(224,163,58,.27) 0 1px, transparent 3px);
}
.shop-intro { display: flex; justify-content: space-between; align-items: end; gap: 38px; margin-bottom: 39px; }
.shop-intro p { max-width: 500px; margin: 0; color: var(--ink-soft); font-size: 18px; }
.shop-intro h2 { max-width: 520px; color: var(--gold-bright); font-size: clamp(38px, calc(3.8vw + 4px), 51px); line-height: 1.05; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.product-image-link { display: grid; width: 100%; height: 100%; place-items: center; }
.product-image-link:focus-visible, .product-title-link:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 3px; }
.product-title-link { color: inherit; text-decoration: none; }
.product-title-link:hover { color: #fff2cd; text-decoration: underline; text-underline-offset: 3px; }
.product-card { position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid rgba(231,189,94,.4); background: linear-gradient(160deg, #2b1b10, #1b1009); box-shadow: 0 18px 40px rgba(0,0,0,.22); }
.product-card::before { content: ""; position: absolute; inset: 7px; z-index: 1; border: 1px solid rgba(231,189,94,.13); pointer-events: none; }
.product-art {
  display: grid; place-items: center; aspect-ratio: 4 / 3; padding: 17px;
  background:
    radial-gradient(circle at 18% 20%, rgba(255,224,145,.66) 0 1px, transparent 3px),
    radial-gradient(circle at 82% 75%, rgba(255,207,99,.48) 0 1.5px, transparent 4px),
    radial-gradient(circle at 72% 17%, rgba(255,239,185,.4) 0 1px, transparent 3px),
    radial-gradient(ellipse at center, rgba(202,145,52,.3), transparent 70%),
    #130a05;
  border-bottom: 1px solid rgba(255,215,124,.42);
}
.product-thumb { display: block; width: 100%; height: 100%; aspect-ratio: auto; object-fit: contain; background: transparent; }
.product-card > div:not(.product-art) { padding: 22px 22px 12px; }
.product-name { min-height: 2.4em; margin: 0 0 9px; color: #ffedc2; font-size: 30px; line-height: 1.06; }
.product-detail { min-height: 5.2em; color: #d4c19f; font-size: 18px; line-height: 1.65; }
.product-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; padding: 0 22px 23px; text-align: left; }
.product-price { margin: 0; color: var(--gold); font-size: 14px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.product-actions .button { min-height: 44px; padding-inline: 13px; white-space: nowrap; font-size: 14px; }
.product-placeholder { grid-column: 1 / -1; border: 1px dashed var(--gold-deep); background: rgba(255,255,255,.03); padding: 32px; color: var(--ink-soft); }
.notice { padding: 17px 19px; border-left: 2px solid var(--gold); background: rgba(231,189,94,.08); color: #eadbbd; font-size: 18px; }
.amazon-box { margin-top: 48px; background: #2c1a0d; border: 1px solid rgba(230,187,91,.32); padding: 30px 32px; display: flex; justify-content: space-between; gap: 28px; align-items: center; }
.amazon-box h3 { color: #ffe9b8; margin: 0 0 5px; font-size: 29px; }
.amazon-box p { margin: 0; color: var(--ink-soft); font-size: 18px; }
.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 34px; align-items: start; }
.contact-card, .template-card { position: relative; border: 1px solid var(--line); background: linear-gradient(145deg, rgba(45,29,17,.85), rgba(26,16,9,.8)); padding: 34px; }
.contact-card h2, .template-card h2 { font-size: 40px; margin: 14px 0; }
.contact-card p, .template-card p { color: var(--ink-soft); font-size: 18px; }
.contact-card .button { max-width: 100%; }
.template-card pre { white-space: pre-wrap; font: 18px/1.75 var(--sans); color: var(--ink-soft); margin: 20px 0 0; padding: 20px; border: 1px solid rgba(231,189,94,.2); background: rgba(10,6,4,.35); }
.safe-note { font-size: 18px !important; color: #c6b28c !important; margin-top: 15px; }
.policy-content { max-width: 820px; }
.policy-content > p { color: #dfceb0; }
.policy-content h2 { font-size: 35px; margin: 42px 0 10px; padding-top: 13px; border-top: 1px solid rgba(226,187,103,.24); }
.policy-content p, .policy-content li { color: #dfceb0; }
.policy-content ul { padding-left: 22px; }
.policy-content li { padding-left: 4px; margin: 8px 0; }
.approval-banner { padding: 20px 22px; border: 1px solid #d4a448; background: linear-gradient(110deg, #382313, #29190f); color: #f6e5c3; margin-bottom: 36px; }
.approval-banner strong { display: block; color: var(--gold-bright); font-size: 14px; text-transform: uppercase; letter-spacing: .17em; margin-bottom: 6px; }
.approval-banner p { margin: 0; font-size: 18px; }
.external-link, .policy-content a { color: var(--gold-bright); text-decoration-color: var(--gold-deep); text-underline-offset: 4px; }
.legal-caption { font-size: 18px; color: var(--ink-soft); }

.reveal { animation: rise-in .75s both; }
.reveal.delay { animation-delay: .16s; }
@keyframes rise-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media (max-width: 900px) {
  .about-grid, .journey-grid { gap: 46px; }
  .teaser-grid, .product-grid { gap: 14px; }
  .teaser-card { padding: 10px; }
  .product-actions { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 800px) {
  .header-inner, .footer-inner, .container { width: min(100% - 36px, var(--content)); }
  .header-inner { min-height: 73px; }
  .menu-toggle { display: inline-flex; align-items: center; }
  .nav-wrap { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 19px 22px 23px; background: #170e09; border-bottom: 1px solid var(--line); align-items: stretch; }
  .nav-wrap[data-open="true"] { display: flex; flex-direction: column; gap: 18px; }
  .site-nav { flex-direction: column; align-items: stretch; gap: 0; }
  .site-nav a { padding: 13px 0; border-bottom: 1px solid var(--line); }
  .site-nav a[aria-current="page"]::after { display: none; }
  .nav-cta { width: 100%; }
  .hero { min-height: auto; }
  .hero-grid { width: min(100% - 36px, var(--content)); grid-template-columns: 1fr; gap: 26px; padding: 68px 0 90px; }
  .hero-copy { max-width: 660px; }
  .hero-art { min-height: 380px; }
  .hero-art-layout { width: min(100%, 580px); }
  .cover-frame { width: 100%; }
  .hero-note { left: 18px; bottom: 20px; }
  .about-grid, .journey-grid, .contact-grid { grid-template-columns: 1fr; }
  .about-photo { width: min(74%, 310px); }
  .about-copy { max-width: 680px; }
  .section { padding: 78px 0; }
  .closing-band { align-items: flex-start; flex-direction: column; }
  .shop-intro { align-items: flex-start; flex-direction: column; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-actions { align-items: center; flex-direction: row; }
}
@media (max-width: 540px) {
  body { font-size: 18px; }
  .header-inner, .footer-inner, .container { width: calc(100% - 32px); }
  .wordmark strong { font-size: 28px; }
  .hero-grid { width: calc(100% - 32px); padding-top: 60px; }
  .hero h1 { font-size: clamp(54px, calc(14vw + 4px), 72px); line-height: 1.04; }
  .hero h1 em { font-size: clamp(74px, calc(19vw + 4px), 98px); margin: 5px 0 9px; }
  .hero-art { min-height: 290px; }
  .hero-art-layout { gap: 12px; grid-template-columns: .7fr 1fr; }
  .book-author-photo { padding: 6px; }
  .book-author-photo figcaption { font-size: 12px; }
  .draft-badge { right: -5px; bottom: -17px; padding: 9px 10px; font-size: 12px; }
  .hero-actions .button { flex: 1; }
  .page-hero { padding: 72px 0 55px; }
  .page-hero h1 { font-size: clamp(49px, calc(12vw + 4px), 66px); }
  .page-body { padding: 48px 0 72px; }
  .teaser-grid, .product-grid { grid-template-columns: 1fr; }
  .teaser-card { display: grid; grid-template-columns: 112px 1fr; gap: 0 15px; align-items: center; }
  .teaser-art { grid-row: span 2; min-height: 122px; padding: 8px; }
  .teaser-art img { height: 105px; }
  .teaser-name { padding: 0; font-size: 25px; }
  .teaser-action { padding: 8px 0 0; }
  .product-card { display: grid; grid-template-columns: 112px 1fr; }
  .product-card::before { display: none; }
  .product-art { grid-row: span 2; aspect-ratio: auto; min-height: 175px; padding: 9px; border-right: 1px solid rgba(231,189,94,.25); border-bottom: 0; }
  .product-card > div:not(.product-art) { padding: 16px 15px 7px; }
  .product-name { min-height: 0; font-size: 25px; }
  .product-detail { min-height: 0; font-size: 17px; }
  .product-actions { grid-column: 2; padding: 4px 15px 16px; align-items: flex-start; flex-direction: column; }
  .product-actions .button { min-height: 44px; }
  .about-photo { width: min(82%, 290px); }
  .healing-card { padding: 28px 23px; }
  .contact-card, .template-card { padding: 24px; }
  .amazon-box { padding: 24px; align-items: flex-start; flex-direction: column; }
  .footer-links { gap: 12px 17px; }
}
