/* Divine Madness: cover system. Loaded last on every page.
   Palette and type pulled from the book cover (cover_build/cover.html). */
:root{
  --bg:#070605;
  --bg-2:#0f0d0a;
  --gold:#B8963E;           /* hairlines, rules */
  --gold-soft:#D3AC52;      /* cover MADNESS gold */
  --gold-pale:#E3C77F;
  --gold-faint:rgba(184,150,62,.24);
  --cream:#F6ECD4;          /* cover DIVINE cream */
  --ink:#F2E6C8;
  --body:#D7C9AC;
  --muted:#A99A7D;
  --serif:'EB Garamond',Garamond,Georgia,serif;
  --display:'EB Garamond',Garamond,Georgia,serif;
  --sans:'EB Garamond',Garamond,Georgia,serif;
}
/* Garamond has a small lowercase; match the old reading size. */
html{font-size-adjust:.47}
.hc-title,.hc-title span,.hc-author{font-size-adjust:none}
body{background:var(--bg);color:var(--body);font-family:var(--serif)}

/* warm cover glow instead of geometry */
.aura{background:radial-gradient(120% 90% at 28% 12%,rgba(46,38,24,.55) 0%,rgba(14,12,9,.4) 45%,transparent 75%) !important;opacity:1 !important;animation:none !important}
.field-wrap,.geo,.drop,.formats .geo,.book .geo{display:none !important}
.ceiling{background:linear-gradient(90deg,transparent 0%,rgba(211,172,82,.75) 25%,rgba(211,172,82,.75) 75%,transparent 100%)}

/* type */
h2,h3,.sub-h1{font-family:var(--serif);font-weight:500;letter-spacing:.005em}
em{color:var(--gold-soft)}
main p.eyebrow,.eyebrow,.kicker{font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.36em;color:var(--gold-soft)}
main p.fine-inline,.fine-inline{font-family:var(--display);font-size:12px;letter-spacing:.24em}
.mg,.story .kicker-line,.about h2,.quiz-home,.sub-page .quiz-home,.r-title,.ty-sign span,.offer .o-rule,footer .by,.bb-k{font-weight:500}
.about h2{letter-spacing:.3em}

/* buttons: cover gold */
.btn{font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.26em;
  background:linear-gradient(180deg,#DDB862 0%,#C49B44 100%);border-color:#C9A24B;color:#0B0906}
.btn:hover{background:linear-gradient(180deg,#F1D78E 0%,#D3AC52 100%);border-color:#E3C77F;color:#0B0906;box-shadow:0 10px 40px -12px rgba(211,172,82,.55)}
.btn-ghost{background:transparent;color:var(--gold-soft);border-color:rgba(211,172,82,.6)}
.btn-ghost:hover{background:rgba(211,172,82,.12);color:var(--cream);border-color:var(--gold-soft);box-shadow:none}

/* cards and rules pick up the warmer black */
.card{background:rgba(9,8,6,.78)}
.card-flag{background:linear-gradient(180deg,#DDB862,#C49B44)}

/* ================= HERO: the cover ================= */
.hero.hero-cover{position:relative;min-height:100svh;display:block;text-align:left;padding:0;overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);max-width:none}
.hc-art{position:absolute;z-index:0;top:-6vh;right:-1vw;height:114vh;aspect-ratio:2/3;pointer-events:none;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 26%),linear-gradient(to bottom,transparent 0%,#000 14%,#000 72%,transparent 100%),linear-gradient(to left,transparent 0%,#000 6%);
  -webkit-mask-composite:source-in,source-in;mask-image:linear-gradient(to right,transparent 0%,#000 26%),linear-gradient(to bottom,transparent 0%,#000 14%,#000 72%,transparent 100%),linear-gradient(to left,transparent 0%,#000 6%);
  mask-composite:intersect;will-change:transform}
.hc-art picture,.hc-art img{display:block;width:100%;height:100%}
.hc-art img{object-fit:cover;opacity:0;transform:scale(1.07) translate(1.5%,1.5%);filter:brightness(.9) saturate(.95);
  animation:hcArt 3.2s cubic-bezier(.2,.7,.2,1) .15s forwards}
@keyframes hcArt{to{opacity:1;transform:none;filter:brightness(1) saturate(1)}}
/* a pulse of light travels up the wiring toward the swimmer */
.hc-pulse{position:absolute;inset:0;background:url(/assets/swimmer-a-900.webp) center/cover no-repeat;mix-blend-mode:screen;filter:brightness(1.9) saturate(1.25);opacity:0;
  -webkit-mask-image:linear-gradient(35deg,transparent 42%,#000 50%,transparent 58%);mask-image:linear-gradient(35deg,transparent 42%,#000 50%,transparent 58%);
  -webkit-mask-size:300% 300%;mask-size:300% 300%;-webkit-mask-position:0% 100%;mask-position:0% 100%;
  animation:hcPulse 7s ease-in-out 3.4s infinite}
@keyframes hcPulse{0%{opacity:0;-webkit-mask-position:0% 100%;mask-position:0% 100%}12%{opacity:.85}55%{opacity:.85}70%,100%{opacity:0;-webkit-mask-position:100% 0%;mask-position:100% 0%}}
.hc-veil{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(7,6,5,.55) 0%,rgba(7,6,5,.25) 38%,rgba(7,6,5,0) 60%),linear-gradient(to top,var(--bg) 0%,rgba(7,6,5,0) 22%)}
.hc-text{position:relative;z-index:2;max-width:1240px;margin:0 auto;min-height:100svh;padding:16vh 6vw 18vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hc-kicker{font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.38em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:34px;
  opacity:0;animation:hcUp 1.2s var(--ease) .2s forwards}
.hc-title{margin:0;padding:0;font-family:var(--display);text-transform:uppercase;line-height:.98;text-align:left;opacity:1;animation:none;font-size:inherit;letter-spacing:0}
.hc-title{padding-left:0}
.hc-title span{display:block;text-align:inherit}
.hc-title .t-divine{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--cream);-webkit-text-fill-color:var(--cream)}
.t-divine{font-weight:500;font-size:clamp(54px,8.6vw,124px);color:var(--cream);letter-spacing:.16em;margin-right:-.16em;margin-left:-.02em;
  text-shadow:0 2px 18px rgba(0,0,0,.6);opacity:0;filter:blur(10px);animation:hcDivine 1.9s cubic-bezier(.2,.7,.2,1) .35s forwards}
@keyframes hcDivine{from{opacity:0;filter:blur(10px);letter-spacing:.42em}to{opacity:1;filter:blur(0);letter-spacing:.16em}}
.t-madness{font-weight:600;font-size:clamp(56px,9vw,130px);letter-spacing:.06em;margin-top:.02em;
  background:linear-gradient(100deg,#C99F46 0%,#D3AC52 28%,#F6E2A4 44%,#D3AC52 58%,#C49B44 100%);background-size:260% 100%;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  opacity:0;transform:translateY(18px);animation:hcUp 1.6s cubic-bezier(.2,.7,.2,1) .75s forwards,hcSheen 8s linear 2.6s infinite}
@keyframes hcUp{to{opacity:1;transform:none}}
@keyframes hcSheen{0%{background-position:100% 0}45%,100%{background-position:-60% 0}}
.hc-sub{font-family:var(--serif);font-style:italic;font-size:clamp(19px,1.9vw,24px);line-height:1.4;color:#E3D3AC;max-width:470px;margin:30px 0 0;
  opacity:0;transform:translateY(12px);animation:hcUp 1.3s var(--ease) 1.25s forwards}
.hc-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px;opacity:0;transform:translateY(12px);animation:hcUp 1.2s var(--ease) 1.6s forwards}
.hc-ctas .btn{display:inline-block;margin:0}
.hc-fine{margin-top:18px;font-family:var(--display);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);opacity:0;animation:hcUp 1.2s var(--ease) 1.85s forwards}
.hc-author{position:absolute;z-index:2;right:6vw;bottom:9vh;font-family:var(--display);font-weight:500;font-size:clamp(14px,1.3vw,18px);letter-spacing:.42em;text-transform:uppercase;color:var(--gold-soft);
  opacity:0;animation:hcUp 1.4s var(--ease) 2.1s forwards}
.hero-cover .scroll-cue{z-index:2}
.hero-cover .scroll-cue span{font-family:var(--display);font-size:11px}

@media (max-width:960px){
  .hc-art{right:12vw;top:calc(245px - 1.2svh);height:72svh;-webkit-mask-image:radial-gradient(ellipse 72% 58% at 66% 46%,#000 42%,transparent 100%);mask-image:radial-gradient(ellipse 72% 58% at 66% 46%,#000 42%,transparent 100%);-webkit-mask-composite:source-over;mask-composite:add}
  .hc-veil{background:linear-gradient(180deg,rgba(7,6,5,0) 0%,rgba(7,6,5,0) 58%,rgba(7,6,5,.72) 80%,var(--bg) 100%)}
  .hc-ctas .btn.btn-ghost{display:none}
  .hero-cover .scroll-cue{display:none}
  .hc-kicker{font-size:11px;letter-spacing:.28em;margin-bottom:26px}
  .hc-text{align-items:center;text-align:center;justify-content:flex-start;padding:11svh 22px 9svh}
  .hc-title{text-align:center}
  .t-divine{font-size:clamp(46px,14vw,84px)}
  .t-madness{font-size:clamp(48px,14.6vw,88px)}
  .hc-sub{margin:22px auto 0;max-width:330px;font-size:19px}
  .hc-ctas{justify-content:center;margin-top:auto;padding-top:24px;flex-direction:column;align-items:stretch;width:min(320px,100%)}
  .hc-ctas .btn{display:block;text-align:center}
  .hc-fine{text-align:center}
  .hc-author{display:none}
}

@media (prefers-reduced-motion:reduce){
  .hc-art img,.hc-kicker,.t-divine,.t-madness,.hc-sub,.hc-ctas,.hc-fine,.hc-author{animation:none !important;opacity:1 !important;transform:none !important;filter:none !important}
  .hc-pulse{display:none}
}
/* footer links stay on one line with the wider Garamond caps */
@media (max-width:480px){footer a{padding:12px 5px;letter-spacing:.14em;font-size:10.5px}}
/* standalone agent page: offer is the first block, so drop the section gap */
main > .quiz-home + .offer{margin-top:44px;padding-top:56px}
@media (max-width:600px){main > .quiz-home + .offer{margin-top:28px;padding-top:44px}}

/* ---------- polish pass 2 ---------- */
/* Garamond reads small: lift supporting copy on desktop */
@media (min-width:961px){
  .book-copy p{font-size:18.5px;max-width:460px}
  .build .row p{font-size:17.5px;line-height:1.65;max-width:580px}
  .build .how{font-size:19px}
  .card li{font-size:16.5px}
  .formats .why{font-size:18.5px}
  .faq details p{font-size:18px;line-height:1.7}
  .about p{font-size:18.5px}
}
/* no stranded words */
h1,h2,h3,.beat,.lede,.pull,.hc-sub,.scene p,.kicker-line,.faq summary,.count-line,.fit-sub{text-wrap:balance}
main p,main li{text-wrap:pretty}
footer .disclaimer{color:#8f8772}

/* hero: the cover's gold frame, and no seam where the hero ends */
.hc-veil{-webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent 100%);mask-image:linear-gradient(to bottom,#000 70%,transparent 100%)}
.hero-cover::after{content:"";position:absolute;inset:clamp(12px,1.7vw,26px);z-index:3;pointer-events:none;
  border:1px solid rgba(184,150,62,.26);box-shadow:inset 0 0 0 1px rgba(7,6,5,.6);
  opacity:0;transform:scale(1.012);animation:hcFrame 2.4s cubic-bezier(.2,.7,.2,1) .5s forwards}
@keyframes hcFrame{to{opacity:1;transform:none}}
@media (max-width:960px){.hero-cover::after{inset:10px;border-color:rgba(184,150,62,.22)}}

/* the book as a hardcover object, not a framed print */
.cover-frame{border:0;padding:0;background:#000;border-radius:2px 5px 5px 2px;
  box-shadow:0 0 0 1px rgba(184,150,62,.18),28px 38px 70px -26px rgba(0,0,0,.95),0 0 110px rgba(216,182,94,.13)}
.cover-frame img{border-radius:2px 5px 5px 2px}
.cover-frame .spine{position:absolute;left:0;top:0;bottom:0;width:7%;z-index:1;pointer-events:none;border-radius:2px 0 0 2px;
  background:linear-gradient(90deg,rgba(0,0,0,.55) 0%,rgba(255,236,200,.16) 30%,rgba(0,0,0,.42) 55%,rgba(255,236,200,.07) 78%,transparent 100%)}
.cover-frame::after{inset:auto;left:6%;right:-2%;bottom:-30px;height:30px;border:0;z-index:-1;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.75),transparent 70%);filter:blur(6px)}
.cover-frame.tilt::before{inset:0;border-radius:2px 5px 5px 2px}

@media (prefers-reduced-motion:reduce){.hero-cover::after{animation:none;opacity:1;transform:none}}
