/* =========================================================
   Pray Through Business — sales page
   ========================================================= */

:root{
  --navy-900:#07131c;
  --navy-800:#0f2233;
  --navy-600:#1d3249;
  --gold-500:#c9a45c;          /* rules, buttons, decoration */
  --gold-300:#e3cc97;          /* gold text on navy */
  --gold-ink:#7a5c1c;          /* gold text on cream — WCAG AA (5.1:1) */
  --cream-100:#f6f1e7;
  --cream-200:#ece4d3;
  --ink:#1a1a1a;
  --muted:#6b6b6b;

  --shell:1200px;
  --measure:68ch;
  --ease:cubic-bezier(.22,1,.36,1);

  --pad-y:96px;
  --radius:8px;
  --hdr:72px;
}

@media (min-width:900px){ :root{ --pad-y:140px; } }

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

[hidden]{ display:none !important; }

/* Lenis drives smooth scrolling; native smooth behaviour must stay off */
html{ -webkit-text-size-adjust:100%; }
html.lenis,html.lenis body{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }

body{
  margin:0;
  background:var(--cream-100);
  color:var(--ink);
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17px;
  line-height:1.65;
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
@media (min-width:900px){ body{ font-size:18px; } }
body.is-locked{ overflow:hidden; }

img{ max-width:100%; height:auto; display:block; }

p{ margin:0 0 1.1em; }
p:last-child{ margin-bottom:0; }

a{ color:inherit; }

::selection{ background:var(--gold-300); color:var(--navy-900); }

:focus-visible{
  outline:2px solid var(--gold-500);
  outline-offset:3px;
  border-radius:3px;
}

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

.skip-link{
  position:absolute; left:16px; top:-100px; z-index:200;
  background:var(--gold-500); color:var(--navy-900);
  padding:12px 20px; border-radius:var(--radius);
  font-weight:600; text-decoration:none;
  transition:top .2s var(--ease);
}
.skip-link:focus{ top:16px; }

/* ---------- Typography ---------- */

.display{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:600;
  line-height:1.1;
  letter-spacing:-0.005em;
  margin:0 0 .5em;
  text-wrap:balance;
}
.display--xl{ font-size:clamp(2.4rem,7.4vw,4.4rem); }
.display--lg{ font-size:clamp(2rem,5.2vw,3.2rem); }
.display--md{ font-size:clamp(1.55rem,3.4vw,2.1rem); }
.display--sm{ font-size:1.25rem; }

.eyebrow{
  font-size:.7rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--gold-ink);
  margin:0 0 1.1rem;
}

/* Small gold text sitting on a cream background needs the darker gold */
.sec--cream .bp-label,.sec--cream200 .bp-label,
.sec--cream .part7__no,
.sec--cream .journey__label,
.sec--cream200 .bookpage__kicker,
.sec--cream200 .review__who,
.sec--cream .who__list--yes li::before,
.sec--cream200 .compare__table .yes::before,
.cart__free,.cart__bonus-head,
.bp-block:not(.bp-block--pray) .bp-label{ color:var(--gold-ink); }

.sec--cream .placeholder,.sec--cream200 .placeholder{ color:#5f5a50; }
.sec--navy900 .eyebrow,
.sec--navy800 .eyebrow,
.ritual .eyebrow{ color:var(--gold-300); }

.lede{ font-size:1.0625rem; max-width:52ch; }
@media (min-width:900px){ .lede{ font-size:1.1875rem; } }

.measure{ max-width:var(--measure); }
.measure p{ max-width:68ch; }

.placeholder{
  background:rgba(201,164,92,.14);
  border:1px dashed var(--gold-500);
  border-radius:6px;
  padding:.7em .9em;
  color:var(--muted);
  font-style:italic;
  display:block;
}
.sec--navy900 .placeholder,.sec--navy800 .placeholder,.site-footer .placeholder{
  color:var(--gold-300); background:rgba(201,164,92,.1);
}
.placeholder--sm{ display:inline-block; font-size:.9em; padding:.25em .5em; }

/* ---------- Layout ---------- */

.shell{
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
  padding-inline:20px;
}
@media (min-width:768px){ .shell{ padding-inline:40px; } }

.sec{
  position:relative;
  padding-block:var(--pad-y);
}

.sec--cream{ background:var(--cream-100); color:var(--ink); }
.sec--cream200{ background:var(--cream-200); color:var(--ink); }
.sec--navy900{ background:var(--navy-900); color:var(--cream-100); }
.sec--navy800{ background:var(--navy-800); color:var(--cream-100); }

.sec--navy900 .display,.sec--navy800 .display,.ritual .display{ color:var(--cream-100); }
.sec--cream .display,.sec--cream200 .display{ color:var(--navy-600); }

/* paper grain on cream */
.sec--cream::before,.sec--cream200::before{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  opacity:.03;
  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='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}

.sec__head{ margin-bottom:56px; }
@media (min-width:900px){ .sec__head{ margin-bottom:72px; } }

.hairline{ border:0; border-top:1px solid rgba(201,164,92,.4); margin:0; }

/* ---------- Buttons ---------- */

.btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55em;
  min-height:48px;
  padding:13px 26px;
  border:1px solid var(--gold-500);
  border-radius:var(--radius);
  background:transparent;
  color:var(--gold-500);
  font:600 .9375rem/1.2 "Inter",sans-serif;
  text-decoration:none;
  cursor:pointer;
  overflow:hidden;
  isolation:isolate;
  transition:color .4s var(--ease),border-color .4s var(--ease);
}
.btn::before{
  content:"";
  position:absolute; inset:0; z-index:-1;
  background:var(--gold-500);
  transform:scaleX(1);
  transform-origin:left;
  transition:transform .5s var(--ease),background-color .4s var(--ease);
}
.btn--gold{ color:var(--navy-900); }
.btn--outline{ color:var(--navy-600); border-color:var(--navy-600); }
.btn--outline::before{ transform:scaleX(0); background:var(--navy-600); }
.btn--outline:hover{ color:var(--cream-100); }
.btn--outline:hover::before{ transform:scaleX(1); }
.btn--gold:hover::before{ background:var(--gold-300); }
.btn__arrow{ transition:transform .4s var(--ease); display:inline-block; }
.btn:hover .btn__arrow{ transform:translateX(4px); }
.btn--lg{ min-height:56px; padding:17px 32px; font-size:1rem; }
.btn--sm{ min-height:44px; padding:10px 18px; font-size:.875rem; }
.btn--block{ display:flex; width:100%; }

.icon-btn{
  position:relative;
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px;
  padding:0; border:0; background:none; color:inherit; cursor:pointer;
  border-radius:var(--radius);
}
.icon-btn svg{ width:24px; height:24px; }
.icon-btn__count{
  position:absolute; top:4px; right:2px;
  min-width:17px; height:17px; padding:0 4px;
  display:grid; place-items:center;
  background:var(--gold-500); color:var(--navy-900);
  border-radius:9px;
  font-size:.625rem; font-weight:600; line-height:1;
}

/* ---------- Announcement + header ---------- */

.announce{
  background:var(--navy-900);
  color:var(--gold-300);
  text-align:center;
  padding:9px 16px;
}
.announce__text{
  margin:0;
  font-size:.6875rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.12em;
}

.site-header{
  position:sticky; top:0; z-index:90;
  color:var(--cream-100);
  transition:background-color .45s var(--ease),color .45s var(--ease),box-shadow .45s var(--ease);
  border-bottom:1px solid transparent;
}
.site-header__inner{
  display:flex; align-items:center; gap:20px;
  min-height:72px;
}
.site-header.is-stuck{
  background:var(--cream-100);
  color:var(--navy-600);
  border-bottom-color:rgba(201,164,92,.45);
}
.site-header.is-stuck .btn--gold{ color:var(--navy-900); }

.brand{
  display:inline-flex; align-items:center; gap:10px;
  text-decoration:none; color:inherit; margin-right:auto;
}
.brand__mark{ width:28px; height:14px; color:var(--gold-500); flex:none; }
.brand__name{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:600; font-size:1.0625rem; letter-spacing:.02em;
  white-space:nowrap;
}
@media (min-width:480px){ .brand__name{ font-size:1.1875rem; } }

.site-nav{ display:none; gap:30px; }
.site-nav a{
  font-size:.8125rem; font-weight:500; text-decoration:none;
  padding:6px 0; position:relative;
}
.site-nav a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:var(--gold-500); transform:scaleX(0); transform-origin:left;
  transition:transform .4s var(--ease);
}
.site-nav a:hover::after{ transform:scaleX(1); }

.site-header__actions{ display:flex; align-items:center; gap:4px; margin-left:auto; }
.site-header__actions .btn{ display:none; }
.menu-btn{ display:inline-flex; }

@media (min-width:1000px){
  .site-nav{ display:flex; }
  .brand{ margin-right:0; }
  .site-nav{ margin-inline:auto; }
  .site-header__actions .btn{ display:inline-flex; }
  .menu-btn{ display:none; }
}

.mobile-menu{
  position:fixed; inset:0; z-index:120;
  background:var(--navy-900); color:var(--cream-100);
  display:flex; flex-direction:column;
  padding-block:16px 48px;
}
.mobile-menu__top{ display:flex; align-items:center; justify-content:space-between; min-height:56px; }
.mobile-menu__nav{
  display:flex; flex-direction:column; gap:8px;
  margin-top:auto; margin-bottom:auto;
}
.mobile-menu__nav a{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:2rem; text-decoration:none; padding:10px 0;
  border-bottom:1px solid rgba(201,164,92,.25);
}
.mobile-menu__nav .btn{ margin-top:28px; align-self:flex-start; }

/* ---------- Hero ---------- */

.hero{
  overflow:hidden;
  /* sits underneath the transparent sticky header */
  margin-top:calc(-1 * var(--hdr));
  padding-top:calc(var(--pad-y) + var(--hdr));
}
@media (min-width:1000px){
  .hero{
    min-height:100svh; display:flex; align-items:center;
    padding-block:calc(60px + var(--hdr)) 60px;
  }
}
.hero__bg{
  position:absolute; inset:0; width:100%; height:120%;
  object-fit:cover; opacity:.1; pointer-events:none;
  top:-10%;
}
.hero__grid{ position:relative; display:grid; gap:56px; }
@media (min-width:1000px){
  .hero__grid{ grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; }
}

/* ---- Mobile hero: headline, book, price, button above the fold ----
   Most visitors arrive from a phone. In DOM order the book sits after all the
   copy, which on a 390x844 screen puts the product ~1100px down and leaves the
   buy button straddling the fold. `display:contents` on the copy lifts its
   children into the hero grid so they can be reordered around the book, with no
   change to the markup or to the desktop layout. */
@media (max-width:999px){
  .hero{
    padding-top:calc(var(--hdr) + 26px);
    padding-bottom:64px;
  }
  .hero__grid{ display:flex; flex-direction:column; gap:0; }
  .hero__copy{ display:contents; }

  .hero__copy > .eyebrow{ order:1; margin-bottom:10px; }
  .hero__copy > h1{ order:2; margin-bottom:20px; }
  .hero__book{ order:3; margin-bottom:22px; }
  .hero__copy > .hero__price{ order:4; margin-bottom:18px; }
  .hero__copy > .hero__cta{ order:5; }
  .hero__copy > .lede{ order:6; margin-top:34px; }
  .hero__copy > .ticks{ order:7; margin-top:24px; margin-bottom:0; }
  .hero__copy > .trust-row{ order:8; }

  /* The phone shows the desk photo instead of the studio shot — the cream
     backdrop of the studio shot reads as a pasted-on card at this size. Cropped
     in on the book so the title stays legible. The .hero prefix is needed
     because the base .book-img rule is declared later in this file. */
  .hero .book-img{
    width:min(74vw,268px);
    aspect-ratio:1;          /* squarer than the 4:5 source, so it really crops */
    object-fit:cover;
    object-position:52% 48%;
  }
  .hero .book-glow{ width:64%; filter:blur(20px); }
  .hero__cta .btn--lg{ width:100%; }
}

/* Short phones (iPhone SE and similar): tighten further so the price and the
   buy button still clear the fold. */
@media (max-width:999px) and (max-height:720px){
  .hero{ padding-top:calc(var(--hdr) + 6px); }
  .hero .book-img{ width:min(46vw,175px); }
  .hero__copy > h1{ font-size:clamp(1.9rem,6.6vw,2.4rem); margin-bottom:12px; }
  .hero__copy > .eyebrow{ margin-bottom:8px; }
  .hero__book{ margin-bottom:12px; }
  .hero__copy > .hero__price{ margin-bottom:10px; }
  .hero__copy > .hero__price .price-note{ display:none; }
}

.ticks{ list-style:none; margin:0 0 32px; padding:0; display:grid; gap:12px; max-width:48ch; }
.ticks li{ display:grid; grid-template-columns:22px 1fr; gap:12px; align-items:start; font-size:1rem; }
.tick{ width:20px; height:20px; color:var(--gold-500); margin-top:3px; }

.hero__price{ margin-bottom:28px; }
.price-line{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.75rem; font-weight:600; margin:0 0 4px; color:var(--cream-100);
}
.sec--cream .price-line{ color:var(--navy-600); }
.price-line .dot{ color:var(--gold-500); padding-inline:4px; }
.price-note{ font-size:.875rem; color:rgba(246,241,231,.6); margin:0; }

.gift-note{
  display:flex; gap:9px; align-items:center;
  margin:16px 0 0; font-size:.875rem; color:rgba(246,241,231,.75);
}
.gift{ width:20px; height:20px; color:var(--gold-500); flex:none; }

.trust-row{
  list-style:none; margin:36px 0 0; padding:0;
  display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px;
  font-size:.75rem; color:rgba(246,241,231,.55);
  padding-top:20px; border-top:1px solid rgba(201,164,92,.25);
}
.trust-row--centre{ justify-content:center; }
.trust-row__cards{ display:flex; gap:6px; flex-wrap:wrap; margin:0; }
.card-chip{
  border:1px solid rgba(201,164,92,.4); border-radius:4px;
  padding:3px 7px; font-size:.625rem; font-weight:600;
  letter-spacing:.06em; color:var(--gold-300);
}

/* Book */
.hero__book{ position:relative; display:grid; place-items:center; perspective:1400px; }
.book-glow{
  position:absolute; width:78%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle,rgba(201,164,92,.3),rgba(201,164,92,0) 68%);
  filter:blur(28px);
}
.book-tilt{ transform-style:preserve-3d; will-change:transform; }
.book-float{ position:relative; will-change:transform; }
.book-img{
  width:min(84vw,430px);
  border-radius:var(--radius);
  box-shadow:0 48px 70px -34px rgba(0,0,0,.75);
}
.book-sweep{
  position:absolute; inset:0; overflow:hidden; pointer-events:none;
  border-radius:var(--radius);
  mix-blend-mode:screen;
}
.book-sweep::after{
  content:"";
  position:absolute; top:-30%; left:-60%; width:36%; height:160%;
  background:linear-gradient(100deg,rgba(255,255,255,0),rgba(227,204,151,.42),rgba(255,255,255,0));
  transform:rotate(12deg);
  animation:sweep 6s var(--ease) infinite;
}
@keyframes sweep{
  0%,72%{ transform:translateX(0) rotate(12deg); }
  100%{ transform:translateX(480%) rotate(12deg); }
}

/* ---------- Pull quote ---------- */

.pull-quote{
  margin:48px 0 0; padding-top:32px;
  border-top:1px solid var(--gold-500);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic; font-weight:400;
  font-size:clamp(1.5rem,3.8vw,2.25rem);
  line-height:1.3;
  color:var(--navy-600);
}

/* ---------- Day cards (7.4) ---------- */

.day-grid{
  list-style:none; margin:0; padding:0;
  display:grid; gap:14px;
  grid-auto-flow:column;
  grid-auto-columns:76%;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  margin-inline:-20px; padding-inline:20px 20px;
  scrollbar-width:none;
}
.day-grid::-webkit-scrollbar{ display:none; }
.day-grid > *{ scroll-snap-align:start; }

@media (min-width:600px){
  .day-grid{
    grid-auto-flow:row; grid-auto-columns:auto;
    grid-template-columns:repeat(2,1fr);
    overflow:visible; margin-inline:0; padding-inline:0; gap:16px;
  }
}
@media (min-width:1000px){ .day-grid{ grid-template-columns:repeat(4,1fr); } }

.day-card{
  position:relative;
  background:rgba(246,241,231,.04);
  border:1px solid rgba(201,164,92,.22);
  border-radius:var(--radius);
  padding:26px 22px 22px;
  min-height:188px;
  display:flex; flex-direction:column;
  transition:transform .5s var(--ease),background-color .5s var(--ease);
}
.day-card::after{
  content:""; position:absolute; inset:-1px; border-radius:var(--radius);
  border:1px solid var(--gold-500);
  clip-path:inset(0 100% 0 0);
  transition:clip-path .6s var(--ease);
  pointer-events:none;
}
.day-card__no{
  font-size:.6875rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; color:var(--gold-300); margin:0 0 12px;
}
.day-card__title{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:600; font-size:1.375rem; line-height:1.2;
  margin:0; color:#fff;
}
.day-card__link{
  margin:auto 0 0; padding-top:16px;
  font-size:.8125rem; font-weight:500; color:var(--gold-300);
  opacity:0; transform:translateY(4px);
  transition:opacity .4s var(--ease),transform .4s var(--ease);
}
@media (hover:hover){
  .day-card:hover{ transform:translateY(-4px); background:rgba(246,241,231,.07); }
  .day-card:hover::after{ clip-path:inset(0 0 0 0); }
  .day-card:hover .day-card__link{ opacity:1; transform:none; }
}

/* ---------- Inside a day (7.5) ---------- */

.inside__layout{ display:grid; gap:48px; }
@media (min-width:1000px){
  .inside__layout{ grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
  .inside__sticky{ position:sticky; top:120px; }
}

.inside__figure{
  position:relative; display:block; width:100%; padding:0;
  border:1px solid rgba(29,50,73,.14);
  border-radius:var(--radius);
  background:var(--cream-200);
  cursor:zoom-in;
  overflow:hidden;
  box-shadow:0 30px 60px -40px rgba(7,19,28,.5);
}
.inside__figure img{ width:100%; transition:filter .5s var(--ease); }
.inside__figure.is-dimmed img{ filter:brightness(.7); }

.inside__markers{ position:absolute; inset:0; pointer-events:none; }
.marker{
  position:absolute; left:var(--mx); top:var(--my);
  transform:translate(-50%,-50%) scale(.8);
  width:30px; height:30px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--gold-500); color:var(--navy-900);
  font-size:.625rem; font-weight:600; letter-spacing:.04em;
  opacity:0;
  transition:opacity .4s var(--ease),transform .4s var(--ease);
}
.marker.is-active{ opacity:1; transform:translate(-50%,-50%) scale(1); }
.marker.is-active::after{
  content:""; position:absolute; inset:-6px; border-radius:50%;
  border:1px solid var(--gold-500);
  animation:pulse 2.2s var(--ease) infinite;
}
@keyframes pulse{
  0%{ transform:scale(.9); opacity:.9; }
  100%{ transform:scale(1.45); opacity:0; }
}

.parts7{ list-style:none; margin:0; padding:0; counter-reset:p; }
.part7{
  padding:28px 0;
  border-top:1px solid rgba(29,50,73,.14);
  display:grid; grid-template-columns:48px 1fr; gap:8px 16px;
  transition:opacity .5s var(--ease);
}
.part7:last-child{ border-bottom:1px solid rgba(29,50,73,.14); }
@media (min-width:1000px){ .part7{ padding:40px 0; } }
.part7__no{
  grid-row:span 2;
  font-size:.875rem; font-weight:600; letter-spacing:.1em;
  color:var(--gold-500); margin:0; padding-top:4px;
}
.part7 h3{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:600; font-size:1.5rem; margin:0; color:var(--navy-600);
}
.part7 p:last-child{ color:var(--muted); font-size:.9375rem; }

@media (min-width:1000px){
  .inside.js-on .part7{ opacity:.35; }
  .inside.js-on .part7.is-active{ opacity:1; }
}

/* ---------- Day 4 open spread (7.6) ---------- */

.spread{ max-width:1040px; margin-inline:auto; }

.spread__book{
  position:relative;
  perspective:2200px;
  display:grid;
  border-radius:3px;
  box-shadow:
    0 2px 0 rgba(29,50,73,.08),
    0 40px 70px -40px rgba(7,19,28,.55),
    0 80px 90px -70px rgba(7,19,28,.4);
}

.page{
  position:relative;
  background:var(--cream-100);
  padding:40px 26px 56px;
  min-width:0;
  backface-visibility:hidden;
}
/* paper grain + outer page curl */
.page::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  opacity:.035;
  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='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}

@media (min-width:900px){
  .spread__book{ grid-template-columns:1fr 1fr; }
  .page{ padding:64px 56px 72px; }
  /* spine shadow down the middle */
  .spread__book::after{
    content:""; position:absolute; top:0; bottom:0; left:50%;
    width:92px; transform:translateX(-50%); pointer-events:none; z-index:2;
    background:linear-gradient(to right,
      rgba(7,19,28,0) 0%, rgba(7,19,28,.1) 38%, rgba(7,19,28,.16) 50%,
      rgba(7,19,28,.1) 62%, rgba(7,19,28,0) 100%);
  }
  .page--left{ border-radius:3px 0 0 3px; }
  .page--right{ border-radius:0 3px 3px 0; }
  /* outer edge curl */
  .page--left::after,.page--right::after{
    content:""; position:absolute; top:0; bottom:0; width:26px; pointer-events:none;
  }
  .page--left::after{ left:0; background:linear-gradient(to right,rgba(7,19,28,.07),rgba(7,19,28,0)); }
  .page--right::after{ right:0; background:linear-gradient(to left,rgba(7,19,28,.07),rgba(7,19,28,0)); }
}

.page__kicker{
  font-size:.625rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; color:var(--navy-600); margin:0 0 28px;
  padding-bottom:12px; border-bottom:1px solid rgba(29,50,73,.25);
}
.page__kicker--right{ text-align:right; }

.page__title{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:600; font-size:clamp(1.8rem,4.2vw,2.4rem);
  line-height:1.12; margin:0 0 32px; color:var(--navy-600);
}

.page__folio{
  position:absolute; bottom:24px; left:0; right:0;
  text-align:center; margin:0;
  font-size:.6875rem; color:var(--muted); letter-spacing:.08em;
}

.bp{ margin-bottom:30px; }
.bp:last-of-type{ margin-bottom:0; }
.bp__label{
  font-size:.625rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; color:var(--navy-600);
  margin:0 0 12px; padding-bottom:8px;
  border-bottom:1px solid rgba(29,50,73,.22);
}
.bp p{ font-size:.9375rem; line-height:1.7; margin:0 0 .9em; }
.bp p:last-child{ margin-bottom:0; }

.bp__scripture{ margin:0; padding-left:16px; border-left:2px solid var(--gold-500); }
.bp__scripture p{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic; font-size:1.1875rem; line-height:1.45;
  color:var(--navy-600); margin:0 0 10px;
}
.bp__scripture cite{
  display:block; font-style:normal;
  font-size:.625rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; color:var(--muted);
}

.bp__declaration span{
  display:block; margin-bottom:8px;
  font-weight:500; color:var(--navy-600);
}

.bp__write{
  margin:0 0 26px !important;
  padding-bottom:30px;
  font-size:.6875rem !important; text-transform:uppercase; letter-spacing:.09em;
  color:var(--muted);
  background-image:linear-gradient(to right,rgba(29,50,73,.22),rgba(29,50,73,.22));
  background-size:100% 1px; background-position:0 100%; background-repeat:no-repeat;
}

/* page turn (mobile) */
.spread__controls{ display:none; gap:12px; justify-content:center; margin-top:28px; }

@media (max-width:899px){
  .spread__book{ overflow:hidden; border-radius:3px; }
  .spread__controls{ display:flex; }
  .page--right{ display:none; }
  .spread.is-right .page--left{ display:none; }
  .spread.is-right .page--right{ display:block; }
  .page.is-turning{
    animation:pageturn .8s cubic-bezier(.22,1,.36,1) both;
    transform-origin:left center;
  }
  @keyframes pageturn{
    0%{ transform:rotateY(-78deg); opacity:0; box-shadow:40px 0 50px -20px rgba(7,19,28,.5); }
    60%{ box-shadow:14px 0 40px -18px rgba(7,19,28,.35); }
    100%{ transform:rotateY(0deg); opacity:1; box-shadow:0 0 0 rgba(7,19,28,0); }
  }
}

.btn__arrow--back{ transition:transform .4s var(--ease); }
.btn:hover .btn__arrow--back{ transform:translateX(-4px); }

.after-day{ text-align:center; margin-top:48px; }
.after-day p{ margin-bottom:20px; }
.after-day__kit{
  display:inline-flex; align-items:center; gap:10px;
  max-width:46ch; text-align:left;
  font-size:.8125rem; color:#5d5952;   /* 5.0:1 on cream-200 */
  margin-bottom:28px !important;
}
.after-day__kit .gift{ color:var(--gold-ink); flex:none; }

/* ---------- Split sections ---------- */

.split{ display:grid; gap:48px; align-items:center; }
@media (min-width:1000px){
  .split{ grid-template-columns:1fr 1fr; gap:80px; }
  .split--tight{ gap:64px; }
}
.split__media{ overflow:hidden; border-radius:var(--radius); }
.framed{
  width:100%; border-radius:var(--radius);
  box-shadow:0 40px 70px -50px rgba(0,0,0,.8);
}

.action-list{ list-style:none; margin:32px 0 0; padding:0; counter-reset:a; }
.action-list li{
  display:grid; grid-template-columns:72px 1fr; gap:16px;
  padding:18px 0;
  border-top:1px solid rgba(201,164,92,.22);
  align-items:baseline;
}
.action-list li:last-child{ border-bottom:1px solid rgba(201,164,92,.22); }
.action-list__day{
  font-size:.6875rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.12em; color:var(--gold-500);
}
.action-list__text{ font-size:1rem; }

/* ---------- The 90 days (7.8) ---------- */

.journey__viewport{ overflow:hidden; }
.journey__track{
  list-style:none; margin:0; padding:0 20px;
  display:grid; gap:20px;
}
@media (min-width:768px){ .journey__track{ padding-inline:40px; } }
@media (min-width:1000px){
  .journey__track{
    grid-auto-flow:column;
    grid-auto-columns:clamp(360px,34vw,460px);
    display:grid;
    will-change:transform;
  }
}

.part-card{
  position:relative;
  min-height:420px;
  border-radius:var(--radius);
  overflow:hidden;
  display:flex; align-items:flex-end;
  background:var(--navy-800);
}
@media (min-width:1000px){ .part-card{ min-height:540px; } }
.part-card img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover;
}
.part-card::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to bottom,rgba(7,19,28,.15) 0%,rgba(7,19,28,.6) 45%,rgba(7,19,28,.85) 72%,rgba(7,19,28,.94) 100%);
}
.part-card__body{ position:relative; z-index:1; padding:32px 28px; color:#fff; }
.part-card__no{
  font-size:.6875rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; color:var(--gold-300); margin:0 0 12px;
  display:flex; gap:12px;
}
.part-card__no span{ color:rgba(255,255,255,.82); }
/* beats `.sec--cream .display`, since the cards sit on a dark image */
.part-card .part-card__body h3{ font-size:clamp(1.65rem,3vw,2.1rem); margin:0 0 14px; color:#fff; }
.part-card__topics{ font-size:.9375rem; color:rgba(255,255,255,.82); margin:0 0 20px; }
.part-card__change{
  margin:0; padding-top:16px;
  border-top:1px solid rgba(201,164,92,.4);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic; font-size:1.25rem; color:var(--gold-300);
}

.journey__progress{
  display:flex; align-items:center; gap:14px;
  margin-top:40px;
  font-size:.6875rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; color:var(--muted);
}
.journey__bar{ flex:1; height:1px; background:rgba(29,50,73,.2); position:relative; }
.journey__fill{
  position:absolute; inset:0 auto 0 0; width:0%;
  background:var(--gold-500);
  transition:width .1s linear;
}

/* ---------- Bonuses (7.9) ---------- */

.bonus-grid{
  list-style:none; margin:0; padding:0;
  display:grid; gap:20px;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
}
.bonus{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(201,164,92,.22);
  border-radius:var(--radius);
  padding:20px;
}
.bonus h3{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:600; font-size:1.3125rem; margin:0 0 8px; color:#fff;
}
.bonus p{ font-size:.9375rem; color:rgba(255,255,255,.82); }
.bonus__format{
  margin-top:14px !important; padding-top:12px;
  border-top:1px solid rgba(201,164,92,.22);
  font-size:.625rem !important; font-weight:600;
  text-transform:uppercase; letter-spacing:.12em;
  color:var(--gold-300) !important;
}
.bonus__note{ font-size:.75rem; color:rgba(255,255,255,.82); margin-top:10px; }

/* ----- physical objects ----- */

.object{ margin-bottom:22px; perspective:900px; }
.object__stage{
  position:relative;
  aspect-ratio:1/1;
  display:grid; place-items:center;
  transform-style:preserve-3d;
  transition:transform .6s var(--ease);
}
.object__stage > *{
  transition:transform .6s var(--ease), box-shadow .6s var(--ease);
}
/* lift + tilt towards the viewer */
@media (hover:hover){
  .bonus:hover .object__stage{ transform:translateY(-6px) rotateX(7deg); }
}
.bonus.is-lifted .object__stage{ transform:translateY(-6px) rotateX(7deg); }
/* desk shadow */
.object__stage::after{
  content:""; position:absolute; left:14%; right:14%; bottom:8%;
  height:14px; border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,0,0,.55),rgba(0,0,0,0) 70%);
  filter:blur(5px);
  transition:transform .6s var(--ease),opacity .6s var(--ease);
}
.bonus:hover .object__stage::after,
.bonus.is-lifted .object__stage::after{ transform:translateY(7px) scaleX(1.08); opacity:.8; }

/* printed surfaces */
.obj-cover,.obj-sheet,.obj-sleeve{
  position:absolute;
  border-radius:3px;
  box-shadow:0 14px 26px -12px rgba(0,0,0,.75);
  overflow:hidden;
}
.obj-cover,.obj-sheet--front{
  background:
    linear-gradient(118deg,rgba(255,255,255,.07),rgba(255,255,255,0) 46%),
    linear-gradient(170deg,var(--navy-600),var(--navy-900));
  border:1px solid rgba(201,164,92,.3);
}
.obj-cover__eyebrow{
  font-size:.4375rem !important; font-weight:600; text-transform:uppercase;
  letter-spacing:.16em; color:var(--gold-300) !important; margin:0 0 8px !important;
}
.obj-cover__title{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:600; font-size:1.5rem; line-height:1.05;
  color:var(--gold-300); margin:0 0 8px;
}
.obj-cover__title--sm{ font-size:1.25rem; }
.obj-cover__mark{ width:30px; height:15px; color:var(--gold-500); display:block; margin:0 0 6px; }
.obj-cover__rule{ height:1px; background:rgba(201,164,92,.5); margin:0 0 8px !important; }
.obj-cover__sub,.obj-cover__body{
  font-size:.5rem !important; font-weight:500; text-transform:uppercase;
  letter-spacing:.1em; color:rgba(255,255,255,.82) !important; margin:0 !important;
  line-height:1.5;
}

/* a) booklet */
.object--booklet .obj-booklet{
  position:relative; width:58%; aspect-ratio:148/210;
  transform:rotate(-4deg);
}
.object--booklet .obj-cover{ inset:0; padding:14px 13px; }
.obj-booklet__edge{
  position:absolute; top:3px; bottom:3px; right:-7px; width:7px;
  border-radius:0 2px 2px 0;
  background:repeating-linear-gradient(to right,#f6f1e7 0 1px,#d9d1bf 1px 2px);
  box-shadow:2px 2px 8px -3px rgba(0,0,0,.8);
}
.object--booklet .obj-sheet--under{
  width:54%; aspect-ratio:148/210;
  transform:rotate(3deg) translate(10%,4%);
  background:var(--cream-100);
  border:1px solid rgba(0,0,0,.2);
  padding:14px 12px;
}
.object--booklet .obj-sheet--under .obj-cover__eyebrow{ color:var(--gold-ink) !important; }
.object--booklet .obj-sheet--under .obj-cover__body{ color:var(--navy-600) !important; }
.object--booklet .obj-sheet--under .obj-cover__rule{ background:rgba(29,50,73,.3); }

/* b) fanned worksheets */
.object--kit .obj-sheet{
  width:56%; aspect-ratio:210/297;
  background:var(--cream-100);
  border:1px solid rgba(0,0,0,.2);
  padding:14px 12px;
  transform-origin:bottom left;
}
.object--kit .obj-sheet--fan2{ transform:rotate(8deg); }
.object--kit .obj-sheet--fan1{ transform:rotate(4deg); }
.object--kit .obj-sheet--front{
  transform:rotate(-2deg); padding:16px 13px;
  background:
    linear-gradient(118deg,rgba(255,255,255,.07),rgba(255,255,255,0) 46%),
    linear-gradient(170deg,var(--navy-600),var(--navy-900));
  border:1px solid rgba(201,164,92,.3);
}
.obj-sheet__h{
  font-size:.5rem !important; font-weight:600; text-transform:uppercase;
  letter-spacing:.1em; color:var(--navy-600) !important; margin:0 0 10px !important;
}
.obj-sheet__line{
  display:block; height:1px; background:rgba(29,50,73,.2); margin-bottom:9px;
}
.obj-sheet__line:nth-child(3){ width:78%; }
.obj-sheet__line:nth-child(5){ width:62%; }
.obj-clip{
  position:absolute; top:-7px; left:14px; width:13px; height:30px;
  border:2px solid var(--gold-500); border-radius:7px 7px 3px 3px;
  border-bottom-color:transparent;
}
@media (hover:hover){
  .bonus:hover .object--kit .obj-sheet--fan2{ transform:rotate(14deg) translateX(4%); }
  .bonus:hover .object--kit .obj-sheet--fan1{ transform:rotate(7deg) translateX(2%); }
}

/* c) tabbed finder */
.object--finder .obj-sheet--front{
  width:58%; aspect-ratio:210/297; padding:16px 14px;
  transform:rotate(-3deg);
}
.obj-tabs{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%) rotate(-3deg);
  width:58%; aspect-ratio:210/297;
  display:flex; flex-direction:column; justify-content:space-evenly;
  align-items:flex-end; padding:8px 0;
}
.obj-tabs span{
  display:block; width:16px; height:5px;
  margin-right:-11px; border-radius:0 2px 2px 0;
  background:var(--navy-600);
  border:1px solid rgba(201,164,92,.45); border-left:0;
  transition:transform .6s var(--ease);
}
.obj-tabs span:nth-child(odd){ background:#24405c; }
@media (hover:hover){
  .bonus:hover .obj-tabs span:nth-child(3n){ transform:translateX(4px); }
  .bonus:hover .obj-tabs span:nth-child(3n+1){ transform:translateX(2px); }
}

/* d) audio sleeves */
.object--audio .obj-sleeve{
  width:54%; aspect-ratio:1;
  padding:14px 12px;
  display:flex; flex-direction:column; justify-content:flex-end;
  border:1px solid rgba(201,164,92,.3);
  transform-origin:bottom center;
}
.obj-sleeve--5{ background:#0a1826; transform:rotate(-12deg) translateX(-18%); }
.obj-sleeve--4{ background:#0d1e2f; transform:rotate(-7deg) translateX(-11%); }
.obj-sleeve--3{ background:#102438; transform:rotate(-2deg) translateX(-4%); }
.obj-sleeve--2{ background:#152c42; transform:rotate(3deg) translateX(3%); }
.obj-sleeve--1{
  background:
    linear-gradient(125deg,rgba(255,255,255,.08),rgba(255,255,255,0) 44%),
    linear-gradient(170deg,#1d3249,#0b1724);
  transform:rotate(8deg) translateX(10%);
  box-shadow:0 20px 32px -14px rgba(0,0,0,.85);
}
.obj-sleeve__n{
  font-size:.5rem !important; font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; color:var(--gold-300) !important; margin:0 0 4px !important;
}
.obj-sleeve__t{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:.8125rem !important; line-height:1.15;
  color:#fff !important; margin:0 !important;
}
@media (hover:hover){
  .bonus:hover .obj-sleeve--5{ transform:rotate(-17deg) translateX(-24%); }
  .bonus:hover .obj-sleeve--4{ transform:rotate(-10deg) translateX(-15%); }
  .bonus:hover .obj-sleeve--2{ transform:rotate(5deg) translateX(6%); }
  .bonus:hover .obj-sleeve--1{ transform:rotate(11deg) translateX(14%); }
}
.obj-play{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:48px; height:48px; border-radius:50%;
  border:0; cursor:pointer;
  background:var(--gold-500); color:var(--navy-900);
  display:grid; place-items:center;
  box-shadow:0 8px 18px -6px rgba(0,0,0,.8);
  transition:background-color .4s var(--ease),transform .4s var(--ease);
}
.obj-play:hover{ background:var(--gold-300); transform:translate(-50%,-50%) scale(1.06); }
.obj-play:focus-visible{ outline:2px solid var(--gold-300); outline-offset:3px; }
.obj-play__icon{ width:22px; height:22px; grid-area:1/1; }
.obj-play__icon--pause{ display:none; }
.is-playing .obj-play__icon--play,
.player__btn[aria-pressed="true"] .obj-play__icon--play{ display:none; }
.is-playing .obj-play__icon--pause,
.player__btn[aria-pressed="true"] .obj-play__icon--pause{ display:block; }

/* front sleeve pulses while playing */
.bonus--audio.is-playing .obj-sleeve--1{
  transform:rotate(11deg) translateX(16%);
  animation:sleevepulse 2.4s ease-in-out infinite;
}
@keyframes sleevepulse{
  0%,100%{ box-shadow:0 20px 32px -14px rgba(0,0,0,.85),0 0 0 0 rgba(201,164,92,.4); }
  50%{ box-shadow:0 20px 32px -14px rgba(0,0,0,.85),0 0 0 10px rgba(201,164,92,0); }
}

/* ----- audio player ----- */

.player{
  margin-top:18px; padding-top:16px;
  border-top:1px solid rgba(201,164,92,.22);
}
.player__label{
  font-size:.625rem !important; font-weight:600;
  text-transform:uppercase; letter-spacing:.12em;
  color:var(--gold-300) !important; margin:0 0 12px !important;
}
.player__row{ display:flex; align-items:center; gap:12px; }
.player__btn{
  flex:none; width:44px; height:44px; border-radius:50%;
  border:0; cursor:pointer;
  background:var(--gold-500); color:var(--navy-900);
  display:grid; place-items:center;
  transition:background-color .4s var(--ease);
}
.player__btn:hover{ background:var(--gold-300); }
.player__track{
  position:relative; flex:1; height:28px; cursor:pointer;
  display:flex; align-items:center;
}
.player__bars{
  position:absolute; inset:0;
  background-image:repeating-linear-gradient(to right,
    rgba(201,164,92,.28) 0 2px, transparent 2px 5px);
  -webkit-mask-image:linear-gradient(to bottom,transparent 18%,#000 30%,#000 70%,transparent 82%);
  mask-image:linear-gradient(to bottom,transparent 18%,#000 30%,#000 70%,transparent 82%);
}
.player__fill{
  position:absolute; left:0; top:0; bottom:0; width:0%;
  background-image:repeating-linear-gradient(to right,
    var(--gold-300) 0 2px, transparent 2px 5px);
  -webkit-mask-image:linear-gradient(to bottom,transparent 18%,#000 30%,#000 70%,transparent 82%);
  mask-image:linear-gradient(to bottom,transparent 18%,#000 30%,#000 70%,transparent 82%);
  transition:width .12s linear;
}
.player__time{
  flex:none; margin:0 !important;
  font-size:.6875rem !important; font-variant-numeric:tabular-nums;
  color:rgba(255,255,255,.82) !important;
}
.player__track:focus-visible{ outline:2px solid var(--gold-300); outline-offset:3px; border-radius:3px; }

/* end state, shown once the sample finishes */
.player__end{
  margin-top:16px; padding-top:16px;
  border-top:1px solid rgba(201,164,92,.22);
}
.player__end p{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.125rem !important; color:#fff !important;
  margin:0 0 12px !important;
}

/* reduced motion: no pulse, no slide — the clip still plays */
@media (prefers-reduced-motion:reduce){
  .bonus--audio.is-playing .obj-sleeve--1{
    transform:rotate(8deg) translateX(10%);
    animation:none;
  }
}

/* ---------- Statement (7.10) ---------- */

.statement{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(1.75rem,4.6vw,2.75rem);
  line-height:1.25; color:var(--navy-600);
  margin:40px 0;
}
.statement span{ display:block; }

/* ---------- Comparison (7.11) ---------- */

.compare__table{ width:100%; border-collapse:collapse; text-align:left; }
.compare__table thead th{
  font-size:.6875rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; color:var(--navy-600);
  padding:0 16px 14px 0; vertical-align:bottom;
  border-bottom:1px solid var(--gold-500);
}
.compare__table tbody th{
  font-size:.6875rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; color:var(--muted);
  padding:20px 16px 20px 0; vertical-align:top; width:20%;
}
.compare__table td{
  padding:20px 16px 20px 0; vertical-align:top;
  border-top:1px solid rgba(29,50,73,.14);
  font-size:.9375rem;
}
.compare__table tbody th{ border-top:1px solid rgba(29,50,73,.14); }
.compare__table .yes,.compare__table .no{ padding-left:30px; position:relative; }
.compare__table .yes::before{
  content:"✓"; position:absolute; left:0; top:18px;
  color:var(--gold-500); font-weight:600;
}
.compare__table .no{ color:var(--muted); }
.compare__table .no::before{
  content:"✕"; position:absolute; left:0; top:18px; color:var(--muted);
}

@media (max-width:767px){
  .compare__table,.compare__table tbody,.compare__table tr{ display:block; }
  .compare__table thead{ display:none; }
  .compare__table tr{
    background:var(--cream-100);
    border:1px solid rgba(29,50,73,.14);
    border-radius:var(--radius);
    padding:18px; margin-bottom:14px;
  }
  .compare__table th,.compare__table td{
    display:block; width:auto; padding:0; border:0;
  }
  .compare__table tbody th{ margin-bottom:12px; }
  .compare__table td{ margin-bottom:12px; }
  .compare__table td:last-child{ margin-bottom:0; }
  .compare__table .yes::before,.compare__table .no::before{ top:2px; }
  .compare__table td::after{
    display:block; font-size:.625rem; text-transform:uppercase;
    letter-spacing:.12em; color:var(--muted); margin-top:4px; padding-left:30px;
  }
  .compare__table .yes::after{ content:"Pray Through Business"; }
  .compare__table .no::after{ content:"Most Christian business books"; }
}

/* ---------- Morning ritual (7.12) ---------- */

.ritual{
  position:relative; overflow:hidden;
  background:var(--navy-900); color:var(--cream-100);
  min-height:70svh; display:grid; align-items:center;
}
.ritual__bg{
  position:absolute; inset:0; width:100%; height:120%; top:-10%;
  object-fit:cover; opacity:.5;
}
.ritual::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to right,rgba(7,19,28,.92),rgba(7,19,28,.55) 65%,rgba(7,19,28,.35));
}
.ritual__inner{ position:relative; z-index:1; }
.ritual__inner p{ color:rgba(246,241,231,.82); }

/* ---------- Who it's for (7.13) ---------- */

.who{ display:grid; gap:48px; }
@media (min-width:860px){ .who{ grid-template-columns:1fr 1fr; gap:64px; } }
.who__col h2{ padding-bottom:20px; border-bottom:1px solid var(--gold-500); }
.who__list{ list-style:none; margin:0; padding:0; }
.who__list li{
  position:relative; padding:14px 0 14px 32px;
  border-bottom:1px solid rgba(29,50,73,.12);
  font-size:.9375rem;
}
.who__list--yes li::before{
  content:"✓"; position:absolute; left:0; top:13px;
  color:var(--gold-500); font-weight:600;
}
.who__list--no li{ color:var(--muted); }
.who__list--no li::before{
  content:"✕"; position:absolute; left:0; top:13px; color:var(--muted);
}

/* ---------- The book itself (7.14) ---------- */

.stats{
  list-style:none; margin:0 0 72px; padding:28px 0;
  display:grid; grid-template-columns:repeat(2,1fr); gap:28px;
  border-block:1px solid rgba(201,164,92,.3);
}
@media (min-width:768px){ .stats{ grid-template-columns:repeat(4,1fr); } }
.stat__n{
  display:block;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(2.5rem,6vw,3.5rem); font-weight:600; line-height:1;
  color:var(--gold-500);
}
.stat__l{
  display:block; margin-top:8px;
  font-size:.6875rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; color:rgba(246,241,231,.6);
}

.spin-on-scroll{ will-change:transform; }

.spec{ margin:0; }
.spec > div{
  display:flex; justify-content:space-between; gap:20px;
  padding:16px 0;
  border-top:1px solid rgba(201,164,92,.22);
}
.spec > div:last-child{ border-bottom:1px solid rgba(201,164,92,.22); }
.spec dt{
  font-size:.6875rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; color:var(--gold-500);
}
.spec dd{ margin:0; font-size:.9375rem; text-align:right; }

/* ---------- Why this book exists (7.15) ---------- */

.why{ max-width:620px; margin-inline:auto; text-align:center; }
.why .eyebrow{ margin-bottom:28px; }
.why__text{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(1.35rem,3.2vw,1.875rem);
  line-height:1.4; color:var(--navy-600); margin:0;
}

/* ---------- Reviews (7.16) ---------- */

.reviews{
  list-style:none; margin:0; padding:0;
  display:grid; gap:20px;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
.review{
  background:var(--cream-100);
  border:1px solid rgba(29,50,73,.14);
  border-radius:var(--radius);
  padding:28px;
}
.review blockquote{
  margin:0 0 20px;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.25rem; font-style:italic; line-height:1.4; color:var(--navy-600);
}
.review__who{
  margin:0; font-size:.6875rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.14em; color:var(--gold-500);
}
.review__who span{ display:block; color:var(--muted); margin-top:4px; }

/* ---------- Guarantee (7.17) ---------- */

.guarantee{
  max-width:640px; margin-inline:auto; text-align:center;
  border:1px solid var(--gold-500); border-radius:var(--radius);
  padding:48px 28px;
}
@media (min-width:700px){ .guarantee{ padding:64px 56px; } }
.guarantee p{ color:rgba(255,255,255,.82); }
.guarantee__small{
  margin-top:24px !important; padding-top:20px;
  border-top:1px solid rgba(201,164,92,.25);
  font-size:.8125rem;
}
.link-arrow{
  display:inline-flex; align-items:center; gap:.5em;
  min-height:44px;
  font-size:.875rem; font-weight:600;
  color:var(--gold-300); text-decoration:none;
  border-bottom:1px solid rgba(201,164,92,.5);
}
.link-arrow:hover{ color:var(--gold-300); border-bottom-color:var(--gold-300); }
.link-arrow .btn__arrow{ transition:transform .4s var(--ease); }
.link-arrow:hover .btn__arrow{ transform:translateX(4px); }

/* ---------- FAQ (7.18) ---------- */

.faq__item{ border-top:1px solid rgba(29,50,73,.16); }
.faq__item:last-child{ border-bottom:1px solid rgba(29,50,73,.16); }
.faq__item h3{ margin:0; font-size:inherit; font-weight:inherit; }
.faq__q{
  width:100%; min-height:56px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:20px 0; border:0; background:none; cursor:pointer;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.3125rem; font-weight:600; line-height:1.25;
  color:var(--navy-600); text-align:left;
}
.faq__icon{ position:relative; width:14px; height:14px; flex:none; }
.faq__icon::before,.faq__icon::after{
  content:""; position:absolute; inset:50% 0 auto 0; height:1px;
  background:var(--gold-500);
  transition:transform .45s var(--ease);
}
.faq__icon::after{ transform:rotate(90deg); }
.faq__q[aria-expanded="true"] .faq__icon::after{ transform:rotate(0deg); }
.faq__a{ overflow:hidden; height:0; }
.faq__a > div{ padding-bottom:24px; max-width:62ch; }
.faq__a p{ font-size:.9375rem; color:var(--muted); }
.faq__steps{
  margin:0 0 1.1em; padding:0 0 0 1.3em;
  font-size:.9375rem; color:var(--muted);
}
.faq__steps li{ margin-bottom:.5em; padding-left:.3em; }
.faq__steps li::marker{ color:var(--gold-ink); font-weight:600; }
.faq__steps a,.faq__a a{ color:var(--gold-ink); }

/* ---------- Final CTA (7.19) ---------- */

.final{ display:grid; align-items:center; min-height:100svh; }
.final__inner{ text-align:center; display:grid; justify-items:center; }
.final__lines{
  margin:0 0 32px; font-size:.9375rem;
  color:rgba(246,241,231,.58);   /* 4.9:1 on navy-900 */
}
.final__lines span{ display:block; }
.final__book{ margin:12px 0 32px; }
.final__book img{
  width:min(42vw,170px);
  border-radius:6px;
  box-shadow:0 30px 44px -24px rgba(0,0,0,.75);
}
.final .price-line{ margin-bottom:28px; }
.final .trust-row{ justify-content:center; border-top:0; margin-top:40px; }

/* ---------- Footer (7.20) ---------- */

.site-footer{
  background:var(--navy-900); color:rgba(246,241,231,.6);
  padding-block:64px 48px;
  font-size:.8125rem;
}
.site-footer__inner{ display:grid; gap:36px; }
@media (min-width:860px){
  .site-footer__inner{ grid-template-columns:1.2fr 1fr 1fr; gap:48px; }
}
.site-footer .brand__name{ color:var(--cream-100); }
.site-footer__brand p{ margin-top:12px; }
.site-footer__links{ display:grid; gap:10px; align-content:start; }
.site-footer__links a{
  text-decoration:none; width:fit-content;
  min-height:24px; display:inline-flex; align-items:center;
}
.site-footer__links a:hover{ color:var(--gold-300); }
.site-footer__legal p{ margin-bottom:8px; }
.site-footer__trader{ display:flex; flex-wrap:wrap; gap:6px; }

/* ---------- Legal / content pages ---------- */

.page-legal .site-header{ position:static; }
.legal{ padding-top:64px; }
.legal__crumb{
  font-size:.6875rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; color:var(--muted); margin-bottom:28px;
}
.legal__crumb a{ color:var(--gold-ink); text-decoration:none; }
.legal__crumb a:hover{ text-decoration:underline; }
.legal__crumb span{ padding-inline:6px; }

.legal h1{ margin-bottom:40px; }
.legal__body h2{
  margin-top:48px; margin-bottom:14px;
  padding-top:28px; border-top:1px solid rgba(201,164,92,.45);
}
.legal__lead{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(1.3rem,3vw,1.75rem); line-height:1.4;
  color:var(--navy-600);
}
.legal__list{ margin:0 0 1.1em; padding:0; list-style:none; }
.legal__list li{
  position:relative; padding:8px 0 8px 22px;
  font-size:.9375rem;
}
.legal__list li::before{
  content:""; position:absolute; left:0; top:17px;
  width:6px; height:1px; background:var(--gold-500);
}
.legal__body a{ color:var(--gold-ink); }
.legal__contact{
  margin-top:40px; padding-top:24px;
  border-top:1px solid rgba(29,50,73,.14);
  font-size:.9375rem;
}
.legal__updated{
  font-size:.75rem; color:var(--muted);
  margin:-28px 0 40px;
}
.legal__table{
  width:100%; border-collapse:collapse; margin:0 0 1.4em;
  font-size:.9375rem;
}
.legal__table th[scope="col"]{
  text-align:left; padding:0 16px 10px 0;
  font-size:.625rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; color:var(--gold-ink);
  border-bottom:1px solid var(--gold-500);
}
.legal__table th[scope="row"]{
  text-align:left; font-weight:500; padding:14px 16px 14px 0;
  border-top:1px solid rgba(29,50,73,.14);
}
.legal__table td{
  padding:14px 0; border-top:1px solid rgba(29,50,73,.14);
}
/* order-complete page */
.thanks .eyebrow{ margin-bottom:16px; }
.thanks__panel{
  margin:40px 0 48px; padding:32px 24px;
  background:var(--cream-200);
  border:1px solid var(--gold-500);
  border-radius:var(--radius);
}
@media (min-width:700px){ .thanks__panel{ padding:40px; } }
.thanks__panel h2{ margin-top:0; padding-top:0; border-top:0; }
.thanks__steps{
  margin:0 0 28px; padding:0 0 0 1.3em;
  font-size:.9375rem;
}
.thanks__steps li{ margin-bottom:.6em; padding-left:.3em; }
.thanks__steps li::marker{ color:var(--gold-ink); font-weight:600; }
.thanks__small{
  margin-top:20px !important;
  font-size:.8125rem; color:var(--muted);
}

.legal__cta{
  margin-top:72px; padding-top:48px;
  border-top:1px solid rgba(201,164,92,.45);
  text-align:center;
}
.legal__cta .price-line{ margin-bottom:24px; }

/* ---------- Mobile buy bar ---------- */

.buybar{
  position:fixed; left:0; right:0; bottom:0; z-index:85;
  display:flex; align-items:center; gap:12px;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  background:var(--navy-900);
  border-top:1px solid rgba(201,164,92,.3);
  transform:translateY(110%);
  transition:transform .55s var(--ease);
  visibility:hidden;
}
.buybar.is-on{ transform:none; visibility:visible; }
.buybar img{ width:34px; border-radius:2px; }
.buybar__text{ display:flex; flex-direction:column; line-height:1.25; margin-right:auto; }
.buybar__text strong{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.125rem; color:var(--cream-100);
}
.buybar__text span{ font-size:.6875rem; color:rgba(246,241,231,.6); }
@media (min-width:1000px){ .buybar{ display:none; } }

/* ---------- Cart drawer ---------- */

.cart-overlay{
  position:fixed; inset:0; z-index:130;
  background:rgba(7,19,28,.6);
  opacity:0; transition:opacity .45s var(--ease);
}
.cart-overlay.is-on{ opacity:1; }

.cart{
  position:fixed; top:0; right:0; bottom:0; z-index:140;
  width:min(100%,440px);
  background:var(--cream-100);
  color:var(--ink);
  display:flex; flex-direction:column;
  transform:translateX(100%);
  transition:transform .55s var(--ease);
  box-shadow:-30px 0 60px -40px rgba(7,19,28,.7);
}
.cart.is-on{ transform:none; }
.cart__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 20px; border-bottom:1px solid rgba(29,50,73,.14);
}
.cart__head .display{ margin:0; color:var(--navy-600); }
.cart__body{ padding:24px 20px; overflow-y:auto; flex:1; }
.cart__item{
  display:grid; grid-template-columns:72px 1fr auto; gap:16px;
  padding-bottom:24px; border-bottom:1px solid rgba(29,50,73,.14);
}
.cart__item img{ width:72px; border-radius:3px; box-shadow:0 10px 20px -14px rgba(0,0,0,.6); }
.cart__item .display{ margin:0 0 4px; color:var(--navy-600); }
.cart__sub{ font-size:.8125rem; color:var(--muted); margin:0 0 6px; }
.cart__free{
  font-size:.6875rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.12em; color:var(--gold-500); margin:0 0 8px;
}
.cart__eta{ font-size:.75rem; color:var(--muted); margin:0 0 14px; }
.cart__price{ font-family:"Cormorant Garamond",Georgia,serif; font-size:1.25rem; margin:0; }

.qty{ display:inline-flex; align-items:center; border:1px solid rgba(29,50,73,.2); border-radius:6px; }
.qty__btn{
  width:44px; height:44px; border:0; background:none; cursor:pointer;
  font-size:1.125rem; color:var(--navy-600);
}
.qty__n{ min-width:32px; text-align:center; font-weight:600; font-size:.9375rem; }

.cart__bonuses{ padding-top:24px; }
.cart__bonus-head{
  display:flex; align-items:center; gap:9px;
  font-size:.6875rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; color:var(--gold-500); margin:0 0 14px;
}
.cart__bonuses ul{ list-style:none; margin:0; padding:0; }
.cart__bonuses li{
  display:grid; grid-template-columns:44px 1fr; gap:14px; align-items:center;
  padding:10px 0;
  font-size:.875rem; color:var(--ink);
  border-bottom:1px solid rgba(29,50,73,.1);
}
/* miniatures of the bonus objects, so the downloads still feel like things */
.bthumb{
  display:block; width:44px; height:44px;
  filter:drop-shadow(0 4px 7px rgba(7,19,28,.28));
}
.cart__bonus-note{ margin-top:12px; font-size:.75rem; color:var(--muted); }

.cart__foot{
  padding:20px 20px calc(20px + env(safe-area-inset-bottom));
  border-top:1px solid rgba(29,50,73,.14);
  background:var(--cream-200);
}
.cart__total{
  display:flex; justify-content:space-between; align-items:baseline;
  margin:0 0 16px;
  font-size:.6875rem; font-weight:600; text-transform:uppercase; letter-spacing:.14em;
  color:var(--muted);
}
.cart__total strong{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.75rem; font-weight:600; letter-spacing:0; color:var(--navy-600);
}
.cart__secure{
  text-align:center; margin:14px 0 10px;
  font-size:.6875rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.12em; color:var(--muted);
}
.cart__foot .trust-row__cards{ justify-content:center; }
.cart__foot .card-chip{ color:var(--muted); border-color:rgba(29,50,73,.2); }

/* ---------- Lightbox ---------- */

.lightbox{
  position:fixed; inset:0; z-index:150;
  background:rgba(7,19,28,.94);
  display:grid; place-items:center;
  padding:20px;
  overflow:auto;
}
.lightbox img{ max-width:100%; max-height:92vh; border-radius:4px; }
.lightbox__close{ position:fixed; top:12px; right:12px; color:var(--cream-100); }

/* ---------- Motion base states (JS adds .js-anim to <html>) ---------- */

.js-anim [data-anim]{ opacity:0; }
.js-anim [data-anim="stagger"] > *{ opacity:0; }

@media (prefers-reduced-motion:reduce){
  .js-anim [data-anim],
  .js-anim [data-anim="stagger"] > *{ opacity:1 !important; transform:none !important; }
  .book-sweep,.marker.is-active::after{ animation:none !important; }
  .book-float{ animation:none !important; }
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
}
