@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700;9..144,800&family=Source+Sans+3:wght@400;500;600;700&display=swap');

:root{
  --ink:#141A2E;
  --ink-soft:#3B4160;
  --paper:#FAF7F1;
  --card:#FFFFFF;
  --card-line:#E4DCC9;
  --gold:#B8863B;
  --gold-soft:#E7D3AC;
  --teal:#1F5A56;
  --teal-soft:#DCEAE8;
  --coral:#8C3B33;
  --coral-soft:#F4E3DF;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Source Sans 3', sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
  font-size:16px;
}
h1,h2,h3,h4{font-family:'Fraunces', serif; color:var(--ink); margin:0 0 12px 0; font-weight:700; line-height:1.15;}
p{margin:0 0 14px 0;}
img{max-width:100%; display:block;}
a{color:inherit;}
.container{max-width:900px; margin:0 auto; padding:0 20px;}
.wide{max-width:1080px; margin:0 auto; padding:0 20px;}

.btn{
  display:inline-block;
  background:var(--gold);
  color:#20140A;
  font-weight:700;
  padding:16px 30px;
  border-radius:10px;
  text-decoration:none;
  font-size:1.05rem;
  border:none;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(184,134,59,0.35);
  transition:transform .15s ease;
  text-align:center;
}
.btn:hover{transform:translateY(-2px);}
.btn.secondary{
  background:transparent;
  color:#F4EFE3;
  border:1.5px solid rgba(244,239,227,0.5);
  box-shadow:none;
}
.btn.block{display:block; width:100%;}

.eyebrow{
  font-size:.8rem; letter-spacing:2px; text-transform:uppercase; font-weight:700;
  color:var(--gold); margin-bottom:10px;
}

/* SCROLL PROGRESS + FLOATING CTA */
.scroll-progress{
  position:fixed; top:0; left:0; height:4px; width:100%; background:rgba(20,26,46,0.08); z-index:60;
}
.scroll-progress-fill{
  height:100%; width:0%; background:linear-gradient(90deg,var(--gold),var(--gold-soft)); transition:width .1s linear;
}
.floating-cta{
  position:fixed; right:20px; bottom:4px; z-index:59;
  background:var(--gold); color:#20140A; font-weight:700; padding:14px 22px; border-radius:100px;
  box-shadow:0 10px 24px rgba(184,134,59,0.4); font-size:.95rem; text-decoration:none;
  opacity:0; pointer-events:none; transition:opacity .35s ease, bottom .35s ease, transform .15s ease;
}
.floating-cta.show{opacity:1; pointer-events:auto; bottom:24px;}
.floating-cta:hover{transform:translateY(-3px); box-shadow:0 14px 30px rgba(184,134,59,0.5);}

/* SCROLL REVEAL */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* HERO */
.hero{
  background:linear-gradient(165deg,#141A2E 0%, #1D2745 55%, #24304F 100%);
  color:#F4EFE3;
  padding:56px 0 64px 0;
  text-align:center;
  position:relative;
  overflow:hidden;
  opacity:0; transform:translateY(24px);
  animation:heroIn .9s ease forwards;
}
@keyframes heroIn{to{opacity:1; transform:translateY(0);}}
.hero::before{
  content:"";
  position:absolute; top:-120px; right:-120px;
  width:420px; height:420px; border-radius:50%;
  background:radial-gradient(circle, rgba(184,134,59,0.22) 0%, rgba(184,134,59,0) 70%);
}
.hero .eyebrow{color:var(--gold-soft);}
.hero h1{color:#FBF8F0; font-size:2.3rem; max-width:680px; margin:0 auto 16px auto;}
.hero .sub{color:#CBD1E6; font-size:1.15rem; max-width:560px; margin:0 auto 28px auto;}
.hero .badge-row{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:26px;}
.hero .badge{
  border:1px solid rgba(231,211,172,0.4); border-radius:100px; padding:6px 16px;
  font-size:.85rem; color:var(--gold-soft);
}

section{padding:56px 0;}
.section-alt{background:var(--card);}
.kicker{font-size:.8rem; letter-spacing:2px; text-transform:uppercase; font-weight:700; color:var(--gold); margin-bottom:8px; text-align:center;}
h2.section-title{text-align:center; font-size:1.9rem; max-width:640px; margin:0 auto 34px auto;}

/* DEMO GRID */
.demo-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:44px; margin-top:20px;}
.demo-card{
  background:var(--paper); border:1px solid var(--card-line); border-radius:12px;
  aspect-ratio:3/4; display:flex; align-items:center; justify-content:center;
  color:var(--ink-soft); font-size:.85rem; text-align:center; padding:16px;
  overflow:hidden;
}
img.demo-card{
  padding:0; object-fit:cover; object-position:top; width:100%;
}
.demo-stack{position:relative; aspect-ratio:3/4;}
.demo-stack::before, .demo-stack::after{
  content:""; position:absolute; inset:0; border:1px solid var(--card-line); border-radius:12px;
}
.demo-stack::before{background:var(--gold-soft); transform:rotate(3deg) translate(6px,10px); z-index:0;}
.demo-stack::after{background:var(--paper); transform:rotate(-2deg) translate(3px,5px); z-index:1;}
.demo-stack img.demo-card{
  position:relative; z-index:2; height:100%; aspect-ratio:auto;
  box-shadow:0 10px 24px rgba(20,26,46,0.15);
  transition:transform .35s ease, box-shadow .35s ease;
}
.demo-stack:hover img.demo-card{
  transform:rotate(-1.5deg) translateY(-10px) scale(1.04);
  box-shadow:0 24px 40px rgba(20,26,46,0.28);
}

/* BENEFITS */
.benefits-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:10px;}
.benefit-card{
  background:var(--card); border:1px solid var(--card-line); border-radius:12px; padding:22px;
  transition:transform .25s ease, box-shadow .25s ease;
}
.benefit-card:hover{transform:translateY(-4px); box-shadow:0 14px 28px rgba(20,26,46,0.08);}
.benefit-card h3{font-size:1.1rem; color:var(--teal); margin-bottom:6px;}
.benefit-card p{margin:0; color:var(--ink-soft); font-size:.95rem;}

/* URGENCY */
.urgency{
  background:linear-gradient(165deg,#141A2E, #24304F);
  color:#F4EFE3; text-align:center; border-radius:16px; padding:40px 30px; margin:0 20px;
}
.urgency h2{color:#FBF8F0; font-size:1.6rem;}
.urgency .days{font-family:'Fraunces',serif; font-size:2.6rem; color:var(--gold-soft); margin:10px 0;}
.countdown-row{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin:18px 0 20px 0;}
.countdown-part{
  background:rgba(244,239,227,0.08); border:1px solid rgba(231,211,172,0.3); border-radius:12px;
  padding:14px 22px; min-width:88px;
}
.countdown-part .val{font-family:'Fraunces',serif; font-size:2rem; color:var(--gold-soft);}
.countdown-part .lbl{font-size:.75rem; letter-spacing:1px; text-transform:uppercase; color:#CBD1E6; margin-top:2px;}

/* VALUE HOOK (personalized) */
.value-hook{
  background:var(--teal-soft); border-left:5px solid var(--teal); border-radius:0 12px 12px 0;
  padding:22px 26px; margin:0 auto; max-width:680px; font-size:1.05rem; color:var(--ink);
}

/* PLANS */
.plans{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:20px; align-items:stretch;}
.plan-card{
  background:var(--card); border:1.5px solid var(--card-line); border-radius:16px; padding:28px;
  display:flex; flex-direction:column;
  transition:transform .3s ease, box-shadow .3s ease;
}
.plan-card:hover{transform:translateY(-6px) scale(1.015); box-shadow:0 20px 40px rgba(20,26,46,0.16);}
.plan-card.featured{
  border-color:var(--gold); box-shadow:0 12px 30px rgba(184,134,59,0.18); position:relative;
}
.plan-card .tag{
  display:inline-block; background:var(--gold-soft); color:#5B4118; font-size:.75rem; font-weight:700;
  padding:4px 12px; border-radius:100px; margin-bottom:12px; width:fit-content;
}
.plan-card h3{font-size:1.3rem;}
.plan-card .price{font-family:'Fraunces',serif; font-size:2rem; color:var(--ink); margin:8px 0 16px 0;}
.plan-card ul{list-style:none; margin:0 0 22px 0; padding:0; flex:1;}
.plan-card li{padding:8px 0 8px 26px; position:relative; border-bottom:1px dashed var(--card-line); font-size:.95rem;}
.plan-card li::before{content:"✓"; position:absolute; left:0; top:8px; color:var(--teal); font-weight:700;}

/* TRUST BLOCKS */
.trust-grid{display:flex; flex-wrap:wrap; justify-content:center; gap:20px; margin-top:10px;}
.trust-card{background:var(--card); border:1px solid var(--card-line); border-radius:12px; padding:24px; text-align:center; flex:1 1 320px; max-width:360px; transition:transform .25s ease;}
.trust-card:hover{transform:translateY(-4px);}
.trust-card .icon{font-size:1.8rem; margin-bottom:10px;}
.trust-card h3{font-size:1.05rem; color:var(--teal); margin-bottom:8px;}
.trust-card p{font-size:.92rem; color:var(--ink-soft); margin:0;}

.testimonial-placeholder{
  border:1.5px dashed var(--card-line); border-radius:12px; padding:20px; text-align:center;
  color:var(--ink-soft); font-size:.9rem; font-style:italic;
}

/* TESTIMONIALS */
.testimonial-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:10px;}
.testimonial-card{
  background:var(--card); border:1px solid var(--card-line); border-radius:12px; padding:22px;
  display:flex; flex-direction:column;
  transition:transform .25s ease, box-shadow .25s ease;
}
.testimonial-card:hover{transform:translateY(-4px); box-shadow:0 14px 28px rgba(20,26,46,0.08);}
.t-head{display:flex; align-items:center; gap:12px; margin-bottom:12px;}
.t-avatar{width:44px; height:44px; border-radius:50%; object-fit:cover; flex-shrink:0; background:var(--card-line);}
.t-name{font-weight:700; color:var(--ink); font-size:.95rem;}
.t-quote{margin:0; color:var(--ink-soft); font-size:.92rem; font-style:italic;}

/* FAQ */
details{
  background:var(--card); border:1px solid var(--card-line); border-radius:10px;
  padding:14px 18px; margin-bottom:10px; transition:border-color .2s ease;
}
details[open]{border-color:var(--gold);}
summary{
  font-weight:700; cursor:pointer; color:var(--ink); list-style:none;
  display:flex; justify-content:space-between; align-items:center; transition:color .2s ease;
}
summary:hover{color:var(--teal);}
summary::-webkit-details-marker{display:none;}
summary::after{
  content:"+"; color:var(--gold); font-size:1.2rem; font-weight:700; margin-left:12px;
  transition:transform .3s ease; flex-shrink:0;
}
details[open] summary::after{transform:rotate(45deg);}
details p{margin:10px 0 0 0; color:var(--ink-soft); animation:fade .3s ease;}

/* FOOTER */
footer{
  background:var(--ink); color:#9CA3C4; padding:32px 0; text-align:center; font-size:.85rem;
}
footer .disclaimer{max-width:560px; margin:10px auto 0 auto; font-style:italic; color:#7D84A8;}

/* QUIZ */
.quiz-wrap{
  min-height:100vh; background:linear-gradient(165deg,#141A2E 0%, #1D2745 55%, #24304F 100%);
  color:#F4EFE3; display:flex; align-items:center; justify-content:center; padding:30px 16px;
}
.quiz-card{
  background:#1D2745; border:1px solid rgba(231,211,172,0.18); border-radius:18px;
  max-width:560px; width:100%; padding:34px 30px;
}
.progress-track{background:rgba(244,239,227,0.15); border-radius:100px; height:6px; overflow:hidden; margin-bottom:26px;}
.progress-fill{background:linear-gradient(90deg,var(--gold),var(--gold-soft)); height:100%; width:20%; transition:width .4s cubic-bezier(.4,0,.2,1);}
.quiz-step{display:none;}
.quiz-step.active{display:block; animation:stepIn .35s ease;}
@keyframes fade{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}
@keyframes stepIn{from{opacity:0; transform:translateX(24px);} to{opacity:1; transform:translateX(0);}}
@keyframes pulse{0%{transform:scale(1);} 50%{transform:scale(1.03);} 100%{transform:scale(1);}}
.quiz-step h2{color:#FBF8F0; font-size:1.4rem;}
.quiz-step .q-sub{color:#CBD1E6; font-size:.95rem; margin-bottom:20px;}
.opt{
  display:block; width:100%; text-align:left; background:rgba(244,239,227,0.06);
  border:1.5px solid rgba(231,211,172,0.25); color:#F4EFE3; padding:14px 18px; border-radius:10px;
  margin-bottom:10px; cursor:pointer; font-size:1rem; font-family:inherit;
  transition:border-color .2s ease, background .2s ease, transform .15s ease;
}
.opt:hover{border-color:var(--gold); transform:translateX(2px);}
.opt.selected{background:rgba(184,134,59,0.18); border-color:var(--gold);}
.quiz-nav{margin-top:22px; text-align:right;}
#finalCta.pulse{animation:pulse 2s ease-in-out infinite;}

@media(max-width:760px){
  .demo-grid{grid-template-columns:repeat(2,1fr); gap:30px;}
  .benefits-grid{grid-template-columns:1fr;}
  .plans{grid-template-columns:1fr;}
  .trust-card{flex:1 1 100%;}
  .testimonial-grid{grid-template-columns:1fr;}
  .hero h1{font-size:1.7rem;}
  .floating-cta{right:14px; padding:12px 18px; font-size:.85rem;}
}

@media(prefers-reduced-motion: reduce){
  .hero, .reveal, .quiz-step.active, details p{animation:none !important; transition:none !important; opacity:1 !important; transform:none !important;}
  #finalCta.pulse{animation:none !important;}
  .demo-stack img.demo-card, .benefit-card, .plan-card, .trust-card, .testimonial-card{transition:none !important;}
}
