/* Divine Madness additions on top of the Black Friday Build system (styles.css). */
.hero-sub{
  font-family:var(--serif);font-style:italic;font-size:clamp(16px,2vw,20px);line-height:1.5;color:var(--body);
  max-width:520px;margin-top:-18px;opacity:0;animation:up 1.1s var(--ease) 1.8s forwards;
}
.title h1{font-size:clamp(38px,6.4vw,68px)}

.eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:18px}
.fine-inline{margin-top:16px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

/* book block */
.book{margin:56px auto 0;max-width:860px;position:relative}
.book .geo{opacity:.35}
.book-grid{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:56px;align-items:center}
.cover-frame{position:relative;border:1px solid var(--gold);padding:10px;background:var(--bg);
  box-shadow:0 30px 80px -30px rgba(0,0,0,.85),0 0 70px rgba(216,182,94,.12);
  transform:rotate(-1.2deg);transition:transform .7s var(--ease),box-shadow .7s var(--ease)}
.cover-frame:hover{transform:rotate(0deg) translateY(-4px);box-shadow:0 40px 90px -30px rgba(0,0,0,.9),0 0 100px rgba(216,182,94,.24)}
.cover-frame::after{content:"";position:absolute;inset:-9px;border:1px solid var(--gold-faint);pointer-events:none}
.cover-frame img{display:block;width:100%;height:auto}
.book-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3.2vw,34px);line-height:1.25;color:var(--ink);margin-bottom:18px}
.book-copy h2 em{font-style:italic;color:var(--gold-soft)}
.book-copy p{font-size:16px;line-height:1.75;color:var(--body);max-width:440px}
.book-copy .btn{margin-top:30px}
.book-copy .fine-inline{color:var(--muted)}

/* quiz call */
.quiz-call{margin:120px auto 0;max-width:620px;text-align:center}
.quiz-call h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.8vw,40px);line-height:1.2;color:var(--ink)}
.quiz-call>p{font-family:var(--serif);font-size:18px;line-height:1.6;color:var(--body);margin:0 auto;max-width:480px}
.mg{display:flex;align-items:center;justify-content:center;gap:18px;margin:26px 0 22px;font-family:var(--display);font-weight:300;letter-spacing:.3em;text-transform:uppercase;font-size:13px;color:var(--ink)}
.mg i{display:block;width:72px;height:1px;background:linear-gradient(90deg,var(--gold),var(--ink),var(--gold));background-size:200% 100%;animation:mgswap 3.6s ease-in-out infinite}
.mg span:first-child{animation:mga 3.6s ease-in-out infinite}
.mg span:last-child{animation:mgb 3.6s ease-in-out infinite}
@keyframes mgswap{0%,100%{background-position:0 0}50%{background-position:100% 0}}
@keyframes mga{0%,40%,100%{color:var(--gold-soft)}50%,90%{color:var(--muted)}}
@keyframes mgb{0%,40%,100%{color:var(--muted)}50%,90%{color:var(--gold-soft)}}
.btn-ghost{background:transparent;color:var(--gold-soft)}
.btn-ghost:hover{background:var(--gold);border-color:var(--gold);color:#0A0A0C}

/* story */
.story{margin:120px auto 0;max-width:640px}
.story p{font-family:var(--serif);font-size:clamp(18px,2.1vw,21px);line-height:1.65;color:var(--body);margin-bottom:22px}
.story .lede{font-size:clamp(22px,2.8vw,28px);line-height:1.4;color:var(--ink)}
.story .pull{font-size:clamp(22px,2.8vw,28px);line-height:1.4;color:var(--ink);margin:36px 0}
.story .pull em{color:var(--gold-soft)}
.story .kicker-line{font-family:var(--display);font-weight:300;font-size:clamp(15px,1.8vw,18px);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-soft);margin-top:36px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:44px 0 40px;border-top:1px solid var(--gold-faint);border-bottom:1px solid var(--gold-faint)}
.stats div{padding:28px 10px;text-align:center}
.stats div+div{border-left:1px solid var(--gold-faint)}
.stats b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(30px,4.4vw,46px);line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.stats span{display:block;margin-top:10px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);line-height:1.6}

/* inside: roman numerals sit a little smaller */
.build .row .n{font-size:30px}
.build{margin-top:120px}

/* fit checklist */
.fit{margin:120px auto 0;max-width:680px;text-align:center}
.fit h2{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3.4vw,36px);line-height:1.25;color:var(--ink)}
.fit h2 em{font-style:italic;color:var(--gold-soft)}
.fit-sub{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.6;color:var(--body);max-width:520px;margin:16px auto 36px}
.checks{list-style:none;text-align:left;border-top:1px solid var(--gold-faint)}
.checks li{border-bottom:1px solid var(--gold-faint)}
.checks button{
  all:unset;box-sizing:border-box;display:grid;grid-template-columns:28px 1fr;gap:18px;align-items:start;width:100%;
  padding:20px 6px;font-family:var(--serif);font-size:clamp(17px,2vw,19px);line-height:1.5;color:var(--body);
  transition:color .3s,background .3s;cursor:inherit;
}
.checks button::before{
  content:"";width:22px;height:22px;margin-top:3px;border:1px solid var(--gold);
  background:transparent center/14px no-repeat;transition:background-color .3s,box-shadow .3s;
}
.checks button[aria-pressed="true"]{color:var(--ink)}
.checks button[aria-pressed="true"]::before{
  background-color:var(--gold);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='%230A0A0C' stroke-width='2'/%3E%3C/svg%3E");
  box-shadow:0 0 18px rgba(216,182,94,.45);
}
.checks button:hover{background:rgba(184,150,62,.05)}
.checks button:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}
.count-line{margin-top:26px;font-family:var(--serif);font-style:italic;font-size:19px;color:var(--gold-soft);min-height:1.6em}

/* the scene */
.scene{margin:130px auto 0;max-width:620px}
.scene .rule{margin-bottom:30px}
.scene .eyebrow{text-align:center}
.scene p{font-family:var(--serif);font-size:clamp(18px,2.1vw,21px);line-height:1.75;color:var(--body);margin-bottom:22px}
.scene p:nth-of-type(2){font-size:clamp(22px,2.8vw,28px);line-height:1.4;color:var(--ink);text-align:center;margin-bottom:34px}
.scene .scene-key{font-style:italic;color:var(--ink);font-size:clamp(20px,2.5vw,25px);line-height:1.5;border-left:1px solid var(--gold);padding-left:24px;margin:34px 0}
.scene .scene-end{font-style:italic;color:var(--gold-soft);margin-top:34px}

/* formats */
.formats{margin:130px auto 0;max-width:820px;text-align:center;position:relative}
.formats .geo{width:min(120vw,900px);height:min(120vw,900px);opacity:.32}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:10px;text-align:left}
.card{position:relative;border:1px solid var(--gold-faint);background:rgba(10,10,12,.72);padding:40px 34px 36px;display:flex;flex-direction:column;
  backdrop-filter:blur(2px)}
.card-feature{border-color:var(--gold);box-shadow:0 0 60px rgba(216,182,94,.12)}
.card-flag{position:absolute;top:-11px;left:34px;background:var(--gold);color:#0A0A0C;font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;padding:5px 10px}
.card-k{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:18px}
.card .price{font-size:clamp(56px,7vw,76px);align-self:flex-start}
.card ul{list-style:none;margin:24px 0 0;flex:1}
.card li{position:relative;padding:10px 0 10px 22px;font-size:15px;line-height:1.6;color:var(--body);border-top:1px solid rgba(184,150,62,.14)}
.card li::before{content:"";position:absolute;left:2px;top:19px;width:7px;height:7px;border:1px solid var(--gold);transform:rotate(45deg)}
.card .btn{margin-top:28px;text-align:center;padding:20px 22px;letter-spacing:.18em}
.why{margin:40px auto 0;max-width:600px;font-family:var(--serif);font-size:17px;line-height:1.7;color:var(--body)}
.why em{color:var(--gold-soft)}
.why-2{margin-top:16px}

/* faq */
.faq{margin:120px auto 0;max-width:680px}
.faq .eyebrow{text-align:center;margin-bottom:28px}
.faq details{border-top:1px solid var(--gold-faint)}
.faq details:last-of-type{border-bottom:1px solid var(--gold-faint)}
.faq summary{list-style:none;padding:22px 40px 22px 4px;position:relative;font-family:var(--serif);font-size:clamp(18px,2.1vw,20px);color:var(--ink);cursor:inherit}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:12px;height:12px;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);transform:translateY(-70%) rotate(45deg);transition:transform .35s var(--ease)}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq summary:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}
.faq details p{padding:0 4px 24px;font-size:15.5px;line-height:1.75;color:var(--body);max-width:600px}
.faq details a{color:var(--gold-soft)}

/* about */
.about{margin:120px auto 0;max-width:620px;text-align:center}
.about h2{font-family:var(--display);font-weight:300;letter-spacing:.24em;text-transform:uppercase;font-size:clamp(22px,3vw,30px);color:var(--ink);margin-bottom:26px}
.about p{font-family:var(--serif);font-size:17px;line-height:1.75;color:var(--body);margin-bottom:18px;text-align:left}

footer .sep{margin:0 10px;color:var(--gold)}
footer .disclaimer{margin:26px auto 0;max-width:520px;font-size:11px;letter-spacing:.04em;text-transform:none;line-height:1.7;color:#6f6a5e}

.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;z-index:50;
  background:var(--bg-2);border:1px solid var(--gold);color:var(--ink);font-size:13px;letter-spacing:.08em;padding:14px 20px;
  transition:opacity .35s,transform .35s;pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}

@media (max-width:700px){
  .book-grid{grid-template-columns:1fr;gap:40px;text-align:center}
  .cover-frame{max-width:300px;margin:0 auto}
  .book-copy p{margin:0 auto}
  .cards{grid-template-columns:1fr;gap:34px}
  .stats{grid-template-columns:1fr}
  .stats div+div{border-left:0;border-top:1px solid var(--gold-faint)}
}
@media (max-width:520px){
  .hero-sub{max-width:300px;margin-top:-10px}
  .card{padding:34px 22px 28px}
  .card .btn{display:block}
  .book-copy .btn{display:inline-block}
  .quiz-call .btn{display:inline-block;padding:20px 34px}
  .about .btn{display:inline-block}
  .checks button{grid-template-columns:24px 1fr;gap:14px;padding:18px 2px}
}
@media (prefers-reduced-motion:reduce){
  .hero-sub{opacity:1}
  .mg i,.mg span{animation:none}
}

/* specificity fixes: labels and fine print inside long-form sections */
main p.eyebrow{font-family:var(--sans);font-size:11px;line-height:1.6;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 0 18px;font-style:normal;max-width:none;text-align:inherit}
.scene p.eyebrow,.faq p.eyebrow,.about p.eyebrow,.quiz-call p.eyebrow,.fit p.eyebrow{text-align:center}
main p.fine-inline{font-family:var(--sans);font-size:11px;line-height:1.6;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:16px;font-style:normal}
.hero-sub{text-wrap:balance;max-width:600px;margin-top:-10px}
.hero{padding-bottom:120px}
.formats h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.8vw,40px);line-height:1.2;color:var(--ink);margin:0 0 40px}
.formats h2 em{font-style:italic;color:var(--gold-soft)}
html,body{overflow-x:clip}
.formats .geo{width:min(100vw,900px);height:min(100vw,900px)}
.book .geo{max-width:100vw}

/* ---- polish pass (Oct 27) ---- */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
[id]{scroll-margin-top:28px}

/* custom cursor waits for the first real pointer move */
@media (hover:hover){
  .cur,.cur-ring{opacity:0}
  body.cur-on .cur{opacity:1}
  body.cur-on .cur-ring{opacity:.75}
  body.cur-on.hovering .cur-ring{opacity:1}
}

/* staggered entrances for lists inside revealed sections */
.js-stg .stg{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i,0) * 90ms)}
.js-stg .stg.in{opacity:1;transform:none}

/* FAQ answers ease open */
.faq details[open] > p{animation:faqIn .5s var(--ease)}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.faq summary{transition:color .3s}
@media (hover:hover){.faq summary:hover{color:var(--gold-soft)}}

/* price cards lift; cover tilts toward the pointer with a moving sheen */
@media (hover:hover){
  .card{transition:transform .6s var(--ease),box-shadow .6s var(--ease),border-color .6s}
  .card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 28px 70px -30px rgba(216,182,94,.4)}
  .cover-frame.tilt{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) rotate(-1.2deg);transition:transform .25s ease-out,box-shadow .7s var(--ease)}
  .cover-frame.tilt::before{content:"";position:absolute;inset:10px;z-index:2;pointer-events:none;opacity:0;transition:opacity .4s;
    background:radial-gradient(circle at var(--mx,50%) var(--my,30%),rgba(255,240,200,.18),transparent 55%)}
  .cover-frame.tilt:hover::before{opacity:1}
}

/* stats settle with a soft glow when the count finishes */
#stats b{transition:text-shadow 1.2s var(--ease)}
#stats.done b{text-shadow:0 0 24px rgba(216,182,94,.35)}

/* footer: real tap targets, clean wrap on small screens */
footer a{display:inline-block;padding:12px 6px}
@media (max-width:560px){
  footer .sep{display:none}
  footer a{padding:12px 7px;letter-spacing:.2em}
}

/* mobile buy bar */
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(10,10,12,.9);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--gold-faint);
  transform:translateY(110%);transition:transform .55s var(--ease)}
.buybar.on{transform:none}
.bb-k{display:block;font-family:var(--display);letter-spacing:.26em;text-transform:uppercase;font-size:12px;color:var(--ink)}
.bb-p{display:block;font-size:11px;letter-spacing:.06em;color:var(--muted);margin-top:5px}
.buybar .btn.bb-btn{display:inline-block;width:auto;margin:0;padding:15px 18px;font-size:11px;letter-spacing:.16em;white-space:nowrap}
@media (max-width:760px){.buybar{display:flex}}

/* 404 */
.nf{padding-top:12vh;text-align:center}
.nf-ctas{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:34px}
.nf-ctas .btn{display:inline-block}
footer .disclaimer{font-size:12px;letter-spacing:0}
