/* Relentless Mother — site styles
   Palette: rose pink (the Relentless Mother color), deep plum, gold and white.
   Rose carries the title and every mention of the book; gold is for the
   things people click; plum and white keep it calm and easy to read. */

@font-face { font-family: "Playfair Display"; src: url("fonts/PlayfairDisplay.woff2") format("woff2"); font-weight: 400 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Playfair Display"; src: url("fonts/PlayfairDisplay-Italic.woff2") format("woff2"); font-weight: 400 900; font-style: italic; font-display: swap; }
@font-face { font-family: "Source Sans 3"; src: url("fonts/SourceSans3.woff2") format("woff2"); font-weight: 200 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Source Sans 3"; src: url("fonts/SourceSans3-Italic.woff2") format("woff2"); font-weight: 200 900; font-style: italic; font-display: swap; }
@font-face { font-family: "Great Vibes"; src: url("fonts/GreatVibes.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }

:root {
  --night: #22121B;        /* deep plum: hero, sign-up, closing */
  --night-2: #170C12;      /* footer */
  --rose: #E35D90;         /* Relentless Mother pink, on plum */
  --rose-deep: #C2356C;    /* the same pink, deep enough for white text and light pages */
  --rose-hover: #A92B5C;
  --blush: #FCEFF4;        /* soft pink sections */
  --white: #FFFFFF;
  --text: #2A1621;
  --text-muted: #6A4E5C;
  --on-dark: #FFFFFF;
  --on-dark-muted: #E9D3DC;
  --gold: #D8AE5A;
  --gold-hover: #E5BF73;
  --gold-frame: #CFA24A;
  --line-dark: rgba(255, 255, 255, .18);
  --line-light: rgba(42, 22, 33, .14);

  --font-display: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-body: "Source Sans 3", "Source Sans Pro", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-script: "Great Vibes", "Snell Roundhand", cursive;

  --strike-rose: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 24' preserveAspectRatio='none'%3E%3Cpath fill='%23E35D90' d='M3 13.6c38-3 77-4.4 121-4.6 44-.3 83 .8 126 .1 47-.8 94-2.5 147-4.3l1.4 6.1c-50 2.9-98 5-146 5.8-44 .7-83-.4-127-.1C81 16.9 42 18.2 4 20z'/%3E%3C/svg%3E");
  --flame: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 32'%3E%3Cpath d='M12 1c1.6 5.1 7.6 8.6 7.6 16.5A7.6 7.6 0 0 1 4.4 17.5c0-4.6 2.4-7.4 4.1-9.7.6 3 1.9 4.8 3.8 5.5-1.1-4-.6-8 -.3-12.3z'/%3E%3C/svg%3E");
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 5rem; }
body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--text);
  background: var(--night);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
cite { font-style: italic; }
[hidden] { display: none !important; }
::selection { background: #F7D3E1; color: var(--text); }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.linkbtn { background: none; border: 0; padding: 0; color: inherit; font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: .2em; }

h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: 600;
  line-height: 1.15;
  margin: 0 0 .6em;
  text-wrap: balance;
}
h2 { font-size: clamp(2rem, 1.35rem + 2.6vw, 3.1rem); letter-spacing: -.01em; }
h3 { font-size: clamp(1.35rem, 1.2rem + .6vw, 1.6rem); }
h4 { font-size: 1.2rem; }
p { margin: 0 0 1em; }
.lede { font-size: 1.25rem; line-height: 1.55; }
.small { font-size: .9375rem; }

.wrap { width: 100%; max-width: 72rem; margin-inline: auto; padding-inline: 1rem; }
@media (min-width: 40em) { .wrap { padding-inline: 2rem; } }
.narrow > * { max-width: 46rem; }

.section { padding-block: clamp(4rem, 3rem + 5vw, 7rem); }
.on-dark { background: var(--night); color: var(--on-dark); }
.on-rose { background: var(--rose-deep); color: var(--on-dark); }
.on-light { background: var(--white); color: var(--text); }
.on-light.alt, .on-tint { background: var(--blush); color: var(--text); }

/* Every mention of the book's title is pink. */
.on-dark cite { color: var(--rose); }
.on-light cite, .on-tint cite, .excerpt-section cite { color: var(--rose-deep); }

:focus-visible { outline: 3px solid var(--rose-deep); outline-offset: 3px; }
.on-dark :focus-visible, .offer--featured :focus-visible { outline-color: var(--gold); }
.on-rose :focus-visible { outline-color: var(--on-dark); }

.skip { position: absolute; left: -999px; top: .75rem; z-index: 100; background: var(--gold); color: var(--night); padding: .5rem 1rem; border-radius: 4px; font-weight: 600; }
.skip:focus { left: .75rem; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 3rem; padding: .75rem 1.4rem;
  border: 1.5px solid transparent; border-radius: 4px;
  font: 600 1.0625rem/1.2 var(--font-body);
  text-decoration: none; text-align: center; cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.btn--gold { background: var(--gold); color: var(--night); }
.btn--gold:hover { background: var(--gold-hover); }
.btn--ghost { border-color: rgba(255, 255, 255, .6); color: var(--on-dark); background: transparent; }
.btn--ghost:hover { border-color: var(--on-dark); background: rgba(255, 255, 255, .08); }
.btn--ink { background: var(--rose-deep); color: var(--on-dark); }
.btn--ink:hover { background: var(--rose-hover); }
.btn--line { border-color: var(--text); color: var(--text); background: transparent; }
.btn--line:hover { background: rgba(42, 22, 33, .06); }
.btn--sm { min-height: 2.5rem; padding: .45rem 1rem; font-size: .95rem; }
.textlink { color: inherit; text-underline-offset: .2em; text-decoration-thickness: 1px; font-weight: 600; }
.textlink:hover { text-decoration-thickness: 2px; }

/* ---------- Wordmark (Relentless Mother in pink) ---------- */
.wordmark { display: inline-flex; align-items: baseline; gap: .4rem; margin-right: auto; color: var(--rose); text-decoration: none; line-height: 1; }
.wordmark .flame { align-self: center; }
.wordmark__script { font: 400 1.75rem/1 var(--font-script); }
.wordmark__serif { font: 600 1.05rem/1 var(--font-display); letter-spacing: .02em; }
.flame { display: inline-block; width: .8rem; height: 1.05rem; flex: none; background: var(--gold); -webkit-mask: var(--flame) center / contain no-repeat; mask: var(--flame) center / contain no-repeat; }

/* ---------- Top bar ---------- */
.topbar { position: sticky; top: 0; z-index: 30; background: rgba(34, 18, 27, .96); border-bottom: 1px solid var(--line-dark); }
@supports (backdrop-filter: blur(8px)) { .topbar { background: rgba(34, 18, 27, .88); backdrop-filter: blur(8px); } }
.topbar__inner { display: flex; align-items: center; gap: 1.25rem; min-height: 4rem; }
.topnav { display: none; gap: 1.75rem; }
.topnav a { color: var(--on-dark-muted); text-decoration: none; font-size: 1rem; }
.topnav a:hover { color: var(--on-dark); }
@media (min-width: 56em) { .topnav { display: flex; } }

/* ---------- Hero ---------- */
.hero { padding-block: clamp(3rem, 2rem + 5vw, 6.5rem) clamp(4.5rem, 3rem + 5vw, 7.5rem); }
.hero__grid { display: grid; gap: 3rem; align-items: center; }
@media (min-width: 56em) { .hero__grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, .85fr); gap: 4.5rem; } }
.hero__quote {
  margin: 0 0 1.75rem;
  max-width: 12.5ch;
  font: italic 500 clamp(2.65rem, 1.5rem + 5.4vw, 5.6rem)/1.04 var(--font-display);
  letter-spacing: -.015em;
  color: var(--on-dark);
}
.strike {
  text-decoration: none;
  background-image: var(--strike-rose);
  background-repeat: no-repeat;
  background-position: 0 64%;
  background-size: 0% .34em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  animation: strike 1s cubic-bezier(.6, 0, .3, 1) .6s forwards;
}
@keyframes strike { to { background-size: 100% .34em; color: rgba(255, 255, 255, .72); } }
.hero__answer { margin: 0 0 1.5rem; max-width: 22ch; font: 400 clamp(1.45rem, 1.15rem + 1.2vw, 2.05rem)/1.3 var(--font-display); color: var(--on-dark); }
.hero__intro { max-width: 34rem; color: var(--on-dark-muted); }
.hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.hero__release { margin: 1.25rem 0 0; color: var(--on-dark-muted); font-size: 1rem; }
.hero__release strong { color: var(--on-dark); font-weight: 600; }
.hero__book { display: flex; justify-content: center; }
.hero__book .book { width: min(66vw, 21.5rem, 100%); }
@media (min-width: 56em) { .hero__book { justify-content: flex-end; } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .strike { animation: none; background-size: 100% .34em; color: rgba(255, 255, 255, .72); }
  .btn, .faq summary::after { transition: none; }
}

/* ---------- Book cover: your cover image, or the placeholder below ---------- */
.book { position: relative; width: min(66vw, 19.5rem); container-type: inline-size; }
.book--small { width: 9.5rem; }
.book__shadow { box-shadow: 0 34px 60px -22px rgba(0, 0, 0, .6), 0 14px 26px -14px rgba(0, 0, 0, .5); border-radius: 2px 4px 4px 2px; }
.cover-img { width: 100%; height: auto; border-radius: 2px 4px 4px 2px; }
/* Finishes the cover image like a paperback: a soft crease by the spine. */
.book--img::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 2px 4px 4px 2px;
  background: linear-gradient(90deg, rgba(34, 18, 27, .22) 0, rgba(255, 255, 255, .28) .9%, rgba(34, 18, 27, .12) 2.4%, rgba(255, 255, 255, .08) 3.4%, rgba(34, 18, 27, 0) 7%);
}
.cover {
  position: relative; display: flex; aspect-ratio: 2 / 3; overflow: hidden;
  background: var(--white); color: var(--night); border-radius: 2px 4px 4px 2px;
}
.cover::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 7%; background: linear-gradient(90deg, rgba(34, 18, 27, .14), rgba(34, 18, 27, 0)); }
.cover::after { content: ""; position: absolute; inset: 6.5%; border: 1.5px solid var(--gold-frame); outline: 1px solid rgba(207, 162, 74, .5); outline-offset: .3rem; outline-offset: 2.2cqi; pointer-events: none; }
.cover__inner { position: relative; z-index: 1; margin: auto; padding: 0 10%; text-align: center; }
.cover__script { display: block; font: 400 clamp(1.4rem, 17cqi, 4.4rem)/1 var(--font-script); color: var(--rose-deep); }
.cover__title { display: block; margin-top: -1cqi; font: 700 clamp(.8rem, 10.5cqi, 2.6rem)/1 var(--font-display); text-transform: uppercase; letter-spacing: .08em; color: var(--night); }
.cover__stroke { display: block; width: 46%; height: 4cqi; min-height: .4rem; margin: 8cqi auto 7cqi; background: var(--strike-rose) center / 100% 100% no-repeat; }
.cover__author { display: block; font: 600 clamp(.55rem, 4.1cqi, .85rem)/1.35 var(--font-body); letter-spacing: .16em; text-transform: uppercase; color: var(--text-muted); }

/* ---------- Who it's for ---------- */
.for p { max-width: 40rem; }
.for .lede { font-family: var(--font-display); font-size: clamp(1.35rem, 1.2rem + .6vw, 1.6rem); line-height: 1.45; }
.emergency { margin-top: 3rem; padding: 1.75rem 1.75rem 1.5rem; background: var(--blush); border-left: 4px solid var(--rose-deep); max-width: 40rem; }
.emergency h3 { margin-bottom: .4em; }
.emergency .btn { margin: .5rem 0 1rem; }
.emergency .small { margin: 0; color: var(--text-muted); }
.emergency__also { margin: 0 0 .9rem; }
.emergency__also a { color: var(--rose-deep); text-decoration-color: var(--rose-deep); }

/* ---------- Excerpt ---------- */
.excerpt-section { background: var(--blush); color: var(--text); }
.excerpt { max-width: 40rem; }
.bookpage {
  margin-top: 2rem;
  padding: clamp(2.25rem, 1.5rem + 4vw, 4.25rem) clamp(1.5rem, .75rem + 5vw, 4.25rem);
  background: var(--white);
  color: var(--text);
  font: 400 clamp(1.08rem, 1rem + .3vw, 1.2rem)/1.78 var(--font-display);
  box-shadow: 0 1px 0 rgba(194, 53, 108, .06), 0 22px 44px -26px rgba(194, 53, 108, .35);
}
.bookpage p { margin: 0; text-indent: 1.6em; hanging-punctuation: first; }
.bookpage .bookpage__head { text-indent: 0; text-align: center; margin-bottom: 2.25rem; font: italic 400 1rem/1 var(--font-display); color: var(--text-muted); }
.bookpage .bookpage__open { text-indent: 0; font-style: italic; font-size: 1.3em; line-height: 1.4; margin-bottom: .6em; }
.bookpage .bookpage__first { text-indent: 0; }
.bookpage .bookpage__folio { text-indent: 0; text-align: center; margin-top: 2.5rem; font-size: .85rem; color: var(--rose-deep); font-style: italic; }
.excerpt__next { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 2rem; }

/* ---------- Inside the book ---------- */
.inside { display: grid; gap: 3.5rem; }
@media (min-width: 62em) { .inside { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 5rem; } }
.toc, .toc-front, .steps { list-style: none; padding: 0; margin: 0; }
.toc-front li, .toc li { padding: .8rem 0; border-top: 1px solid var(--line-light); }
.toc-front li { padding-left: 3rem; font: 500 1.1rem/1.35 var(--font-display); color: var(--text-muted); }
.toc li { display: grid; grid-template-columns: 2.25rem 1fr; column-gap: .75rem; }
.toc li:last-child { border-bottom: 1px solid var(--line-light); }
.toc__n { grid-row: span 2; font: 500 1.65rem/1.05 var(--font-display); color: var(--rose-deep); font-variant-numeric: oldstyle-nums; }
.toc__t { font: 600 1.2rem/1.3 var(--font-display); }
.toc__s { font-size: 1rem; color: var(--text-muted); }
.inside__plan > p { max-width: 34rem; }
.steps { margin: 1.5rem 0 1.75rem; }
.steps li { display: grid; grid-template-columns: 2.75rem 1fr; gap: .9rem; padding: 1.1rem 0; border-top: 1px solid var(--line-light); }
.steps li:last-child { border-bottom: 1px solid var(--line-light); }
.steps__n { font: 600 2.3rem/1 var(--font-display); color: var(--rose-deep); }
.steps h4 { margin: .1rem 0 .3rem; }
.steps p { margin: 0; color: var(--text-muted); font-size: 1.05rem; }
.worksheets { font-size: 1.05rem; color: var(--text-muted); }
.worksheets strong { color: var(--text); font-weight: 600; }

/* ---------- Declarations ---------- */
.declarations { list-style: none; padding: 0; margin: 2.5rem 0 0; }
.decl { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 1.5rem; align-items: center; padding: 1.4rem 0; border-top: 1px solid rgba(255, 255, 255, .3); }
.decl:last-child { border-bottom: 1px solid rgba(255, 255, 255, .3); }
.decl__text { margin: 0; font: 500 clamp(1.35rem, 1.15rem + 1vw, 1.9rem)/1.28 var(--font-display); color: var(--on-dark); }
.decl__ref { margin: .35rem 0 0; color: var(--on-dark); font-size: 1rem; font-weight: 600; }
.decl__ref::before, .verse figcaption::before { content: ""; display: inline-block; width: 1.4rem; height: 2px; margin-right: .55rem; vertical-align: middle; background: var(--gold); }
.decl__btn { grid-column: 2; grid-row: 1 / span 2; }
.verse { margin: 3.5rem 0 0; padding: 0; }
.verse blockquote { margin: 0; font: italic 400 clamp(1.3rem, 1.1rem + .9vw, 1.75rem)/1.45 var(--font-display); }
.verse figcaption { margin-top: .75rem; font-size: 1rem; font-weight: 600; color: var(--on-dark); }
.on-light .verse figcaption { color: var(--text-muted); }

/* ---------- Story & author ---------- */
.story { display: grid; gap: 3rem; }
@media (min-width: 62em) { .story { grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); gap: 5rem; align-items: start; } }
.story__text p { max-width: 38rem; font: 400 clamp(1.15rem, 1.05rem + .4vw, 1.3rem)/1.65 var(--font-display); }
.story__text .story__pull { margin-top: 1.75rem; padding-top: 1.5rem; border-top: 3px solid var(--rose); font-size: clamp(1.5rem, 1.25rem + 1.1vw, 2.1rem); line-height: 1.3; font-weight: 500; max-width: 26ch; }
.author { background: var(--blush); padding: 2rem; border-top: 4px solid var(--gold); }
.author__photo { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; margin-bottom: 1.5rem; }
.author p { font-size: 1.05rem; }
.author .signature { margin: 1.25rem 0 0; font: 400 3.4rem/1 var(--font-script); color: var(--rose-deep); }

/* ---------- Pre-order ---------- */
.preorder__head .lede { max-width: 36rem; }
.offers { display: grid; gap: 1.25rem; margin-top: 2.25rem; }
@media (min-width: 48em) { .offers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.offer { display: flex; flex-direction: column; gap: .6rem; padding: 2rem; background: var(--white); border: 1px solid var(--line-light); border-radius: 3px; }
.offer--featured { background: var(--night); color: var(--on-dark); border-color: var(--night); }
.offer__name { margin: 0; font: 600 1.45rem/1.2 var(--font-display); }
.offer--featured .offer__name { color: var(--rose); }
.offer__price { margin: 0; font: 600 2.4rem/1.05 var(--font-display); font-variant-numeric: lining-nums; }
.offer__details { margin: 0 0 1rem; opacity: .88; }
.offer .btn { margin-top: auto; align-self: flex-start; }
.offer .setup-hint { margin-top: .75rem; }
.preorder__more { display: grid; gap: 2.5rem; margin-top: 3rem; }
@media (min-width: 48em) { .preorder__more { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 3.5rem; } }
.gifts ul { list-style: none; padding: 0; margin: 0; }
.gifts li { position: relative; padding: .7rem 0 .7rem 1.75rem; border-top: 1px solid var(--line-light); }
.gifts li:last-child { border-bottom: 1px solid var(--line-light); }
.gifts li::before { content: ""; position: absolute; left: .1rem; top: 1rem; width: .7rem; height: .95rem; background: var(--rose-deep); -webkit-mask: var(--flame) center / contain no-repeat; mask: var(--flame) center / contain no-repeat; }
.group p { max-width: 30rem; }
.retail { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--line-light); }
.retail p { margin: 0 .5rem 0 0; }
.retail__claim { flex-basis: 100%; margin-top: .25rem !important; }

/* ---------- Join ---------- */
.join { display: grid; gap: 2.5rem; }
@media (min-width: 56em) { .join { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 4.5rem; align-items: start; } }
.join__text p { max-width: 32rem; }
.join__text .small { color: var(--on-dark-muted); }
.join__text .small a { color: var(--on-dark); }
.team { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--line-dark); }
.formbox { background: var(--white); color: var(--text); border-radius: 4px; padding: .5rem; min-height: 8rem; }
.formbox iframe { display: block; width: 100%; min-height: 540px; border: 0; }
.formbox__fallback { padding: 1.5rem; }
.formbox__fallback p { margin-bottom: 1rem; }
.formbox__download { width: 100%; }
.leadcard .formbox:has(.formbox__download) { min-height: 0; }
.leadcard:has(.formbox__download) .leadcard__fine { display: none; }
.formbox__fallback .setup-hint + .formbox__download { margin-top: 1rem; }

/* ---------- Follow ---------- */
.follow__lede { max-width: 40rem; }
.social-row { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.social-row:empty { display: none; }
.feeds { display: grid; gap: 2rem; margin-top: 2.5rem; align-items: start; }
@media (min-width: 62em) { .feeds { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.feed:empty { display: none; }
.feed blockquote { margin: 0 auto !important; }
.ig-grid { display: grid; gap: 1.25rem; }

/* ---------- FAQ ---------- */
.faq details { border-top: 1px solid var(--line-light); padding: 1.1rem 0; }
.faq details:last-child { border-bottom: 1px solid var(--line-light); }
.faq summary { display: flex; justify-content: space-between; gap: 1rem; cursor: pointer; list-style: none; font: 600 1.2rem/1.35 var(--font-display); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; font: 400 1.6rem/1 var(--font-body); color: var(--rose-deep); transition: transform .2s ease; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { margin: .75rem 0 0; max-width: 40rem; color: var(--text-muted); }

/* ---------- Closing & footer ---------- */
.closing { padding-block: clamp(4rem, 3rem + 5vw, 7rem); border-top: 1px solid var(--line-dark); }
.closing .verse { margin: 0 0 2.25rem; }
.closing .verse blockquote { font-size: clamp(1.6rem, 1.2rem + 1.8vw, 2.6rem); line-height: 1.32; }
.footer { padding-block: 2.5rem 3rem; border-top: 1px solid var(--line-dark); font-size: .95rem; color: var(--on-dark-muted); background: var(--night-2); }
.footer__inner { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; }
.footer p { margin: 0; }
.footer nav { display: flex; flex-wrap: wrap; gap: 1.25rem; }
.footer a { color: var(--on-dark-muted); }
.footer a:hover { color: var(--on-dark); }

/* ---------- Setup hints (only shown before the site is on your domain) ---------- */
.setup-hint { display: block; padding: .9rem 1.1rem; border: 1.5px dashed currentColor; border-radius: 4px; font: 500 .95rem/1.45 var(--font-body); }
.on-dark .setup-hint, .offer--featured .setup-hint { color: var(--gold); }
.on-rose .setup-hint { color: var(--on-dark); }
.on-light .setup-hint, .on-tint .setup-hint, .formbox .setup-hint, .author .setup-hint { color: var(--text-muted); }
.on-tint .offer--featured .setup-hint { color: var(--gold); }
.setup-hint code { font: inherit; font-weight: 700; }

/* ---------- Toast ---------- */
.toast { position: fixed; left: 50%; bottom: 1.5rem; z-index: 50; transform: translate(-50%, 1rem); max-width: calc(100% - 2rem); padding: .8rem 1.2rem; border-radius: 4px; background: var(--night-2); color: var(--on-dark); box-shadow: 0 12px 30px -12px rgba(0, 0, 0, .5); font-size: 1rem; opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
.toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* ---------- Link-in-bio page ---------- */
.linkpage { min-height: 100vh; min-height: 100dvh; padding: 2.5rem 1rem 3rem; }
.linkpage__inner { max-width: 27rem; margin: 0 auto; text-align: center; }
.linkpage .book { margin: 0 auto 1.75rem; }
.linkpage__photo { width: 6.5rem; height: 6.5rem; margin: 0 auto 1.25rem; border-radius: 50%; object-fit: cover; border: 2px solid var(--gold); }
.linkpage h1 { margin: 0 0 .35rem; color: var(--rose); line-height: 1; }
.linkpage h1 .wordmark__script { display: block; font-size: 3.4rem; }
.linkpage h1 .wordmark__serif { display: block; margin-top: .1rem; font-size: 1.35rem; letter-spacing: .16em; text-transform: uppercase; color: var(--on-dark); }
.linkpage__by { margin: .75rem 0 .75rem; color: var(--on-dark-muted); }
.linkpage__line { margin: 0 auto 1.75rem; max-width: 22rem; font: italic 400 1.15rem/1.45 var(--font-display); text-wrap: balance; }
.linklist { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.linklist .btn { width: 100%; min-height: 3.4rem; }
.linkpage .social-row { justify-content: center; margin-top: 1.75rem; }
.linkpage__release { margin-top: 1.5rem; color: var(--on-dark-muted); font-size: .95rem; }
.linkpage__home { display: inline-block; margin-top: 1.75rem; color: var(--on-dark-muted); font-size: .95rem; }
/* With your cover image in place, the cover carries the title and your name. */
.has-cover .linkpage .book--small { width: 11.5rem; }
.has-cover .linkpage h1, .has-cover .linkpage__by { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---------- Emergency Prayer page (/prayer) ---------- */
.eyebrow { margin: 0 0 1rem; font: 600 .85rem/1.35 var(--font-body); letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.eyebrow cite { font: italic 500 1.08rem/1 var(--font-display); letter-spacing: .01em; text-transform: none; }
.ep { padding-block: clamp(2.25rem, 1.5rem + 3.5vw, 4.5rem) clamp(3.5rem, 2.5rem + 4vw, 6rem); }
.ep__grid { display: grid; gap: 2rem; grid-template-areas: "head" "book" "form" "more"; }
@media (min-width: 56em) {
  .ep__grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); grid-template-areas: "book head" "book form" "book more"; column-gap: clamp(3rem, 1rem + 4vw, 5.5rem); row-gap: 2rem; align-items: start; }
  .ep__book { position: sticky; top: 6.5rem; }
}
.ep__head { grid-area: head; }
.ep__book { grid-area: book; display: flex; justify-content: center; }
.ep__form { grid-area: form; scroll-margin-top: 5rem; }
.ep__more { grid-area: more; display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.ep h1 { margin: 0; font: 600 clamp(2.9rem, 1.7rem + 5vw, 5.2rem)/1 var(--font-display); letter-spacing: -.01em; }
.ep__sub { margin: .9rem 0 0; font: italic 400 clamp(1.45rem, 1.2rem + 1.1vw, 2.1rem)/1.25 var(--font-display); color: var(--rose); }
.ep__line { margin: 1.1rem 0 0; font: 600 .95rem/1.4 var(--font-body); letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.ep .book { width: min(52vw, 15rem); }
@media (min-width: 56em) { .ep .book { width: min(100%, 22rem); } }
.leadcard { padding: 1.5rem 1.25rem 1.25rem; background: var(--white); color: var(--text); border-top: 4px solid var(--gold); border-radius: 4px; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .65); }
@media (min-width: 40em) { .leadcard { padding: 1.75rem 1.75rem 1.5rem; } }
.leadcard h2 { margin: 0 0 .35rem; font-size: clamp(1.4rem, 1.25rem + .5vw, 1.7rem); }
.leadcard__sub { margin: 0 0 1rem; font-size: 1.02rem; line-height: 1.45; color: var(--text-muted); }
.leadcard .formbox { padding: 0; min-height: 6rem; }
.leadcard .formbox iframe { min-height: 0; }
.leadcard .formbox__fallback { padding: .25rem 0 0; }
.leadcard__fine { margin: .9rem 0 0; color: var(--text-muted); }
.ep__safety { margin: 0; color: var(--gold); font-weight: 600; font-size: 1rem; }

/* Link to the second prayer, and its card under the hero */
.ep__also { display: inline-block; margin-top: 1.25rem; color: var(--on-dark); font-weight: 600; text-decoration: underline; text-decoration-color: var(--rose); text-decoration-thickness: 2px; text-underline-offset: .25em; }
.ep__also:hover { color: var(--rose); }
.moreprayers { padding-block: clamp(2.5rem, 1.75rem + 3vw, 4rem); }
.prayercard { max-width: 42rem; padding: 1.75rem 1.5rem; background: var(--white); border-top: 4px solid var(--rose-deep); border-radius: 4px; }
.prayercard h2 { font-size: clamp(1.5rem, 1.3rem + .9vw, 2.1rem); margin-bottom: .5rem; }
.prayercard p { color: var(--text-muted); }

/* ---------- Prayer pages (/protection) ---------- */
.prayer-hero { padding-block: clamp(2.5rem, 1.5rem + 4vw, 5rem) clamp(2.5rem, 1.5rem + 3vw, 4rem); }
.prayer-hero h1 { margin: 0; max-width: 20ch; font: 600 clamp(2.2rem, 1.4rem + 3.6vw, 3.9rem)/1.08 var(--font-display); }
.prayer-hero .lede { margin: 1.1rem 0 0; max-width: 36rem; color: var(--on-dark-muted); }
.prayer-body { padding-block: clamp(2.5rem, 1.5rem + 3vw, 4.5rem) clamp(3.5rem, 2.5rem + 4vw, 6rem); }
.prayer-body .wrap > * { max-width: 44rem; }
.prayer-step { font: 400 clamp(1.15rem, 1.05rem + .45vw, 1.35rem)/1.55 var(--font-display); }
.prayertext { margin: 1.5rem 0 2.25rem; padding: 1.5rem 1.4rem 1.4rem 1.6rem; background: var(--blush); border-left: 4px solid var(--rose-deep); }
.prayertext p { margin: 0 0 1em; font: italic 400 clamp(1.15rem, 1.05rem + .45vw, 1.35rem)/1.65 var(--font-display); color: var(--text); }
.prayertext p:last-child { margin-bottom: 0; }
.prayer-close p { font-size: 1.1rem; }
.prayer-close .signature { margin: .5rem 0 0; font: 400 3rem/1 var(--font-script); color: var(--rose-deep); }
.helpbox { margin: 2.5rem 0; padding: 1.25rem 1.4rem .5rem; border: 1.5px solid var(--rose-deep); border-radius: 4px; }
.helpbox h2 { margin-bottom: .6rem; font-size: 1.3rem; }
.helpbox a { color: var(--rose-deep); font-weight: 600; white-space: nowrap; }
.kjv { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--line-light); }
.kjv h2 { margin-bottom: .2rem; font-size: 1.5rem; }
.kjv__note { margin-bottom: 1.25rem; font-size: .95rem; color: var(--text-muted); }
.kjv__list { margin: 0; }
.kjv__list dt { margin-top: 1.1rem; font: 600 .8rem/1.3 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--rose-deep); }
.kjv__list dd { margin: .25rem 0 0; font: 400 1.05rem/1.6 var(--font-display); }
.prayer-cta { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2.75rem; }

/* ---------- Thank-you page ---------- */
.thanks-download { margin-top: 1.75rem; }
.thanks-choices { display: grid; gap: .75rem; max-width: 27rem; }
.thanks-pick { font-weight: 600; margin: 0 0 .75rem; }
.thanks-pre { margin-top: 1.25rem; }
.thanks-share { margin-top: 3rem; }

/* ---------- Simple pages (thank you, privacy, 404) ---------- */
.simple { min-height: 70vh; padding-block: clamp(3.5rem, 2.5rem + 5vw, 6rem); }
.simple h1 { font-size: clamp(2.3rem, 1.6rem + 3vw, 3.6rem); }
.simple .actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.prose { max-width: 42rem; }
.prose h2 { font-size: 1.5rem; margin-top: 2.25rem; }
.prose p, .prose li { color: var(--text-muted); }
.prose ul { padding-left: 1.2rem; }
.prose li { margin-bottom: .4rem; }
