/* The Acceptance Reset — cinematic hub. Brand: cream #FCF5DD · deep green #31553F ·
   sage #8A9B85 · pop #51B788 · Fraunces display + Poppins body. */
:root{
  --cream:#FCF5DD; --cream-soft:#F6EFD8; --green:#31553F; --green-deep:#22402F;
  --night:#0C1912; --sage:#8A9B85; --pop:#51B788; --pop2:#6FD6A0;
  --ink:#1C3026; --radius:22px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:auto;overflow-x:clip}
body{background:var(--cream);color:var(--ink);font-family:Poppins,sans-serif;font-size:16.5px;line-height:1.6;overflow-x:clip}
img{max-width:100%;display:block}
h1,h2{font-family:Fraunces,serif;font-weight:900;color:var(--green);letter-spacing:.005em}
em{font-style:italic}
section{position:relative}

/* grain — the film layer */
.grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:80;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E")}

/* glass */
.glass{background:rgba(252,245,221,.62);backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);
  border:1px solid rgba(49,85,63,.14);border-radius:var(--radius);box-shadow:0 14px 44px rgba(49,85,63,.10)}

/* nav */
.nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:90;width:min(1140px,calc(100% - 28px));
  display:flex;align-items:center;justify-content:space-between;padding:10px 16px}
.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.nav-mark{width:30px;height:30px}
.nav-word{font-family:Fraunces,serif;font-weight:700;font-size:17px;color:var(--green)}
@media(max-width:560px){.nav-word{font-size:14px}}

/* buttons */
.btn{display:inline-block;font-weight:700;font-size:15.5px;text-decoration:none;border-radius:14px;
  padding:14px 26px;transition:transform .2s ease,box-shadow .2s ease;text-align:center}
.btn:hover{transform:translateY(-2px)}
.btn-sm{padding:9px 16px;font-size:13px;border-radius:11px}
.btn-free{background:#fff;color:var(--green);box-shadow:0 0 0 1px rgba(49,85,63,.10),0 10px 30px rgba(111,214,160,.45),0 0 22px rgba(255,255,255,.85)}
.btn-free:hover{box-shadow:0 0 0 1px rgba(49,85,63,.12),0 14px 38px rgba(111,214,160,.6),0 0 30px rgba(255,255,255,.95)}
.btn-ghost{background:transparent;color:var(--green);border:1.5px solid rgba(49,85,63,.35)}
.btn-buy{background:linear-gradient(135deg,var(--pop),var(--pop2));color:#0F211A;box-shadow:0 12px 32px rgba(81,183,136,.4)}

/* ------- HERO ------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(180deg,#FDF8E7 0%,var(--cream) 55%,#EFE9CF 100%);overflow:hidden}
.hero-video-slot{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity 1.2s ease}
.hero-video-slot video{width:100%;height:100%;object-fit:cover}
.hero-video-slot.on{opacity:.34}
.waves{position:absolute;inset:auto 0 -2px 0;height:52vh;z-index:1;pointer-events:none}
.wave{position:absolute;bottom:0;left:-10%;width:120%;height:100%}
.wave path{fill:var(--sage);opacity:.22}
.wave.w2 path{fill:var(--green);opacity:.16}
.wave.w3 path{fill:var(--pop);opacity:.14}
.hero-inner{position:relative;z-index:2;max-width:880px;padding:120px 22px 80px}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.22em;color:var(--sage);margin-bottom:18px}
.hero h1{font-size:clamp(38px,6.4vw,74px);line-height:1.06;margin-bottom:22px}
.hero h1 em{color:var(--pop);font-weight:700}
.hero-sub{font-size:clamp(16px,2vw,19px);color:rgba(28,48,38,.78);max-width:620px;margin:0 auto 34px}
.hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.scroll-cue{margin:64px auto 0;width:26px;height:44px;border:2px solid rgba(49,85,63,.3);border-radius:14px;position:relative}
.scroll-cue span{position:absolute;top:8px;left:50%;width:4px;height:9px;margin-left:-2px;border-radius:3px;background:var(--pop);animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%,100%{transform:translateY(0);opacity:1}55%{transform:translateY(14px);opacity:.25}}

/* ------- NIGHT ------- */
.night{height:100vh;background:radial-gradient(120% 90% at 50% 10%,#12271B 0%,var(--night) 70%);display:flex;align-items:center;justify-content:center}
.vignette{position:absolute;inset:0;box-shadow:inset 0 0 180px 60px rgba(0,0,0,.55);pointer-events:none}
.stars{position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 20% 30%,rgba(252,245,221,.5) 50%,transparent 51%),radial-gradient(1px 1px at 70% 20%,rgba(252,245,221,.4) 50%,transparent 51%),radial-gradient(1.2px 1.2px at 45% 65%,rgba(252,245,221,.35) 50%,transparent 51%),radial-gradient(1px 1px at 85% 55%,rgba(252,245,221,.4) 50%,transparent 51%),radial-gradient(1.4px 1.4px at 10% 75%,rgba(252,245,221,.3) 50%,transparent 51%);pointer-events:none}
.night-inner{position:relative;width:min(760px,calc(100vw - 48px));height:300px;text-align:center}
.night-beat{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Fraunces,serif;font-weight:700;font-size:clamp(24px,4vw,42px);line-height:1.3;color:var(--cream);opacity:0}
.night-beat em{color:var(--pop2)}

/* ------- TURN ------- */
.turn{padding:120px 22px;max-width:1080px;margin:0 auto;text-align:center}
.sec-title{font-size:clamp(30px,4.6vw,52px);margin-bottom:16px}
.marker{position:relative;white-space:nowrap}
.marker::after{content:"";position:absolute;left:-2%;right:-2%;bottom:8%;height:34%;background:rgba(111,214,160,.5);z-index:-1;border-radius:5px;transform:scaleX(0);transform-origin:left}
.marker.swiped::after{transform:scaleX(1);transition:transform .7s cubic-bezier(.6,0,.2,1)}
.sec-sub{color:rgba(28,48,38,.72);max-width:640px;margin:0 auto 48px;font-size:17px}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:22px;text-align:left}
@media(max-width:820px){.compare{grid-template-columns:1fr}.bo{display:none}}
.card{padding:30px 30px}
.card h3{font-family:Fraunces,serif;font-size:21px;color:var(--green);margin-bottom:16px}
.card ul{list-style:none}
.card li{padding:8px 0;border-bottom:1px dashed rgba(49,85,63,.14);font-size:15.5px}
.card li:last-child{border-bottom:none}
.card-pop{background:linear-gradient(160deg,rgba(81,183,136,.16),rgba(252,245,221,.72));border-color:rgba(81,183,136,.4)}

/* ------- METHOD ------- */
.method{background:linear-gradient(180deg,var(--cream) 0%,#EFE9CF 100%);padding:130px 22px 90px}
.method-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:54px;align-items:center}
@media(max-width:920px){.method-grid{grid-template-columns:1fr;gap:34px}}
.book-img{border-radius:var(--radius);box-shadow:0 30px 70px rgba(49,85,63,.28)}
.method-copy h2{font-size:clamp(30px,4vw,46px)}
.tagline{font-family:Fraunces,serif;font-style:italic;color:var(--sage);font-size:19px;margin:6px 0 24px}
.badges{display:flex;gap:12px;margin-bottom:26px;flex-wrap:wrap}
.badge{padding:14px 20px;text-align:center;min-width:104px}
.badge b{display:block;font-family:Fraunces,serif;font-size:30px;font-weight:900;color:var(--pop);line-height:1}
.badge span{font-size:12px;color:rgba(28,48,38,.65);letter-spacing:.06em}
.modules{list-style:none;margin-bottom:30px}
.modules li{padding:9px 0;font-size:15.5px;border-bottom:1px dashed rgba(49,85,63,.14)}
.modules li:last-child{border:none}
.price-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.guarantee{font-size:13.5px;color:rgba(28,48,38,.7)}
.bonus-fan-wrap{max-width:1120px;margin:80px auto 0;text-align:center}
.fan-label{font-size:14px;color:rgba(28,48,38,.65);margin-bottom:26px;letter-spacing:.04em}
.bonus-fan{display:flex;justify-content:center;align-items:flex-end;gap:0}
.bonus-fan img{width:17%;min-width:110px;margin:0 -1.4%;filter:drop-shadow(0 18px 30px rgba(49,85,63,.3))}
.bonus-fan img:nth-child(1){transform:rotate(-8deg) translateY(12px)}
.bonus-fan img:nth-child(2){transform:rotate(-4deg) translateY(4px)}
.bonus-fan img:nth-child(4){transform:rotate(4deg) translateY(4px)}
.bonus-fan img:nth-child(5){transform:rotate(8deg) translateY(12px)}
@media(max-width:560px){.bonus-fan img{min-width:0;width:18.5%;margin:0 -1%}}

/* ------- FREE ------- */
.free{background:var(--green);padding:120px 22px;color:var(--cream)}
.free-grid{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}
@media(max-width:880px){.free-grid{grid-template-columns:1fr}}
.free h2{color:var(--cream);font-size:clamp(30px,4.4vw,50px);margin:14px 0 16px}
.free p{color:rgba(252,245,221,.82);max-width:480px;margin-bottom:26px}
.free-chip{display:inline-block;background:#fff;color:var(--green);font-weight:700;font-size:13px;letter-spacing:.14em;
  padding:6px 16px;border-radius:99px;box-shadow:0 0 24px rgba(255,255,255,.85),0 0 44px rgba(111,214,160,.5)}
.free-note{font-size:13px;color:rgba(252,245,221,.6);margin-top:14px}
.free-book img{border-radius:var(--radius);box-shadow:0 30px 70px rgba(0,0,0,.35)}

/* ------- KITS ------- */
.kits{background:#EFE9CF;padding:110px 0 120px;overflow:hidden}
.kits-head{max-width:900px;margin:0 auto 40px;text-align:center;padding:0 22px}
.kits-head h2{font-size:clamp(28px,4vw,44px);margin-bottom:14px}
.kits-track-wrap{overflow:hidden}
.kits-track{display:flex;gap:22px;padding:10px 6vw;will-change:transform}
.kits-track img{width:min(300px,68vw);flex:0 0 auto;border-radius:18px;box-shadow:0 22px 50px rgba(49,85,63,.24)}

/* ------- TRUST ------- */
.trust{padding:110px 22px;max-width:1060px;margin:0 auto;text-align:center}
.proof{font-family:Fraunces,serif;font-weight:700;font-size:clamp(20px,2.8vw,28px);color:var(--green);margin-bottom:44px}
.trust-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left}
@media(max-width:860px){.trust-cards{grid-template-columns:1fr}}
.trust-cards h3{font-family:Fraunces,serif;font-size:18px;color:var(--green);margin-bottom:10px}
.trust-cards p{font-size:14.5px;color:rgba(28,48,38,.75)}

/* ------- FOOTER ------- */
.footer{background:var(--night);color:rgba(252,245,221,.75);text-align:center;padding:70px 22px 50px}
.footer-logo{width:190px;margin:0 auto 26px;opacity:.95}
.footer-links{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin-bottom:26px}
.footer-links a{color:var(--cream);text-decoration:none;font-size:14.5px;border-bottom:1px solid rgba(252,245,221,.25);padding-bottom:2px}
.footer-line{font-size:12.5px;max-width:560px;margin:0 auto 10px;color:rgba(252,245,221,.5)}
.footer-copy{font-size:12px;color:rgba(252,245,221,.4)}

/* reveal defaults (JS animates; visible without JS) */
.reveal{opacity:1}
.from-left,.from-right{opacity:1}

/* reduced motion — everything static and visible */
@media (prefers-reduced-motion: reduce){
  .scroll-cue span{animation:none}
  .night{height:auto;padding:120px 0}
  .night-inner{height:auto;flex-direction:column;gap:40px}
  .night-beat{position:static;opacity:1}
}
