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

:root{
  --black:#0D0C0A;
  --cream:#F5F0E8;
  --warm:#EDE8DC;
  --orange:#E8612A;
  --gold:#D4A843;
  --green:#2D5A3D;
  --serif:'Instrument Serif',Georgia,serif;
  --display:'Bebas Neue',sans-serif;
  --body:'DM Sans',sans-serif;
}

html{scroll-behavior:smooth}

body{
  background:var(--black);
  color:var(--cream);
  font-family:var(--body);
  overflow-x:hidden;
}

/* ── NOISE OVERLAY ── */
body::after{
  content:'';
  position:fixed;
  inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
  pointer-events:none;
  z-index:999;
  opacity:.35;
}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.reveal.on{opacity:1;transform:none}

/* ══════════════════════════
   HERO
══════════════════════════ */
.hero{
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:2rem 1.5rem 3rem;
  position:relative;
  overflow:hidden;
}

/* big background number */
.hero-bg-num{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  font-family:var(--display);
  font-size:clamp(18rem,55vw,38rem);
  color:transparent;
  -webkit-text-stroke:1px rgba(245,240,232,.07);
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
  line-height:1;
}

.hero-tag{
  font-family:var(--body);
  font-size:11px;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--orange);
  margin-bottom:1.5rem;
}

.hero h1{
  font-family:var(--display);
  font-size:clamp(4.5rem,18vw,11rem);
  line-height:.92;
  letter-spacing:.01em;
  text-transform:uppercase;
  margin-bottom:1.5rem;
}

.hero h1 .line-accent{color:var(--orange)}
.hero h1 .line-italic{
  font-family:var(--serif);
  font-style:italic;
  font-size:clamp(3rem,12vw,7.5rem);
  text-transform:none;
  display:block;
  line-height:1.1;
  color:var(--gold);
}

.hero-sub{
  font-size:clamp(1rem,4vw,1.25rem);
  font-weight:300;
  color:rgba(245,240,232,.65);
  max-width:420px;
  line-height:1.55;
  margin-bottom:2.5rem;
}

.hero-price{
  display:inline-flex;
  align-items:center;
  gap:1.5rem;
  border-top:1px solid rgba(245,240,232,.15);
  padding-top:1.5rem;
}
.hero-price .amount{
  font-family:var(--display);
  font-size:clamp(2rem,8vw,3.5rem);
  letter-spacing:.02em;
  color:var(--cream);
}
.hero-price .desc{
  font-size:12px;
  font-weight:400;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(245,240,232,.4);
  line-height:1.5;
}

/* scroll hint */
.scroll-hint{
  position:absolute;
  bottom:2rem;
  right:1.5rem;
  writing-mode:vertical-rl;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(245,240,232,.3);
  animation:fadeUp 2s ease infinite;
}
@keyframes fadeUp{0%,100%{opacity:.3;transform:translateY(4px)}50%{opacity:.7;transform:translateY(-4px)}}

/* ══════════════════════════
   STRIP
══════════════════════════ */
.strip{
  background:var(--orange);
  padding:.75rem 0;
  overflow:hidden;
  white-space:nowrap;
}
.strip-inner{
  display:inline-flex;
  gap:3rem;
  animation:ticker 14s linear infinite;
}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.strip span{
  font-family:var(--display);
  font-size:1.1rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--black);
}
.strip .dot{color:rgba(0,0,0,.3)}

/* ══════════════════════════
   PAIN
══════════════════════════ */
.pain{
  padding:5rem 1.5rem;
  background:var(--black);
}

.pain-head{
  font-family:var(--display);
  font-size:clamp(2.8rem,10vw,6rem);
  line-height:.95;
  text-transform:uppercase;
  margin-bottom:3rem;
}
.pain-head em{
  font-family:var(--serif);
  font-style:italic;
  text-transform:none;
  color:var(--gold);
  font-size:.85em;
}

.pain-list{list-style:none;display:flex;flex-direction:column}
.pain-item{
  display:flex;
  gap:1.25rem;
  align-items:flex-start;
  padding:1.4rem 0;
  border-bottom:1px solid rgba(245,240,232,.1);
  font-size:clamp(1.05rem,4vw,1.3rem);
  font-weight:300;
  line-height:1.5;
}
.pain-item:first-child{border-top:1px solid rgba(245,240,232,.1)}
.pain-n{
  font-family:var(--display);
  font-size:1.5rem;
  color:var(--orange);
  opacity:.6;
  min-width:28px;
  line-height:1.2;
}

/* ══════════════════════════
   QUOTE BLOCK
══════════════════════════ */
.quote-block{
  background:var(--green);
  padding:4rem 1.5rem;
  position:relative;
  overflow:hidden;
}
.quote-block::before{
  content:'"';
  position:absolute;
  top:-2rem;
  left:-.5rem;
  font-family:var(--display);
  font-size:clamp(12rem,40vw,22rem);
  color:rgba(0,0,0,.15);
  line-height:1;
  pointer-events:none;
}
.quote-block blockquote{
  font-family:var(--serif);
  font-style:italic;
  font-size:clamp(1.6rem,6.5vw,2.8rem);
  line-height:1.3;
  color:var(--cream);
  position:relative;
  z-index:1;
}

/* ══════════════════════════
   DAYS GRID
══════════════════════════ */
.days{
  padding:5rem 1.5rem;
  background:var(--black);
}

.days-head{
  font-family:var(--display);
  font-size:clamp(2.5rem,9vw,5.5rem);
  text-transform:uppercase;
  line-height:.95;
  margin-bottom:3rem;
}
.days-head span{color:var(--orange)}

.days-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px;
  background:rgba(245,240,232,.08);
}

.day-card{
  background:var(--black);
  padding:1.5rem 1.25rem;
  position:relative;
  overflow:hidden;
  transition:background .2s;
}
.day-card:active{background:#1a1915}

.day-num{
  font-family:var(--display);
  font-size:3.5rem;
  line-height:1;
  color:rgba(245,240,232,.08);
  position:absolute;
  top:.5rem;
  right:.75rem;
  pointer-events:none;
}
.day-title{
  font-family:var(--display);
  font-size:clamp(1.1rem,4.5vw,1.5rem);
  text-transform:uppercase;
  letter-spacing:.03em;
  margin-bottom:.4rem;
  position:relative;
  z-index:1;
}
.day-desc{
  font-size:clamp(.8rem,3vw,.95rem);
  font-weight:300;
  color:rgba(245,240,232,.5);
  line-height:1.5;
  position:relative;
  z-index:1;
}

/* featured day */
.day-card.featured{
  background:var(--orange);
  grid-column:span 2;
  display:flex;
  gap:1.5rem;
  align-items:center;
}
.day-card.featured .day-num{color:rgba(0,0,0,.12);font-size:6rem;top:-.5rem;right:.5rem}
.day-card.featured .day-title{font-size:clamp(1.6rem,7vw,2.8rem);color:var(--black)}
.day-card.featured .day-desc{color:rgba(0,0,0,.6);font-size:clamp(.9rem,3.5vw,1.05rem)}

/* ══════════════════════════
   STATS
══════════════════════════ */
.stats{
  background:var(--cream);
  padding:4rem 1.5rem;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;
}

.stat-box{
  background:var(--warm);
  padding:2rem 1rem;
  text-align:center;
}
.stat-n{
  font-family:var(--display);
  font-size:clamp(3rem,11vw,5.5rem);
  color:var(--black);
  line-height:1;
  display:block;
  margin-bottom:.4rem;
}
.stat-l{
  font-size:clamp(9px,2.5vw,11px);
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(13,12,10,.5);
  line-height:1.4;
}

/* ══════════════════════════
   OUTCOMES
══════════════════════════ */
.outcomes{
  padding:5rem 1.5rem;
  background:var(--black);
}

.outcomes-head{
  font-family:var(--display);
  font-size:clamp(2.5rem,9vw,5rem);
  text-transform:uppercase;
  line-height:.95;
  margin-bottom:3rem;
}
.outcomes-head em{
  font-family:var(--serif);
  font-style:italic;
  text-transform:none;
  color:var(--gold);
}

.outcome-row{
  display:flex;
  align-items:flex-start;
  gap:1.25rem;
  padding:1.3rem 0;
  border-bottom:1px solid rgba(245,240,232,.1);
  font-size:clamp(1.05rem,4vw,1.3rem);
  font-weight:300;
  line-height:1.5;
}
.outcome-row:first-child{border-top:1px solid rgba(245,240,232,.1)}
.outcome-check{
  width:24px;
  height:24px;
  border-radius:50%;
  background:var(--orange);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  margin-top:2px;
  font-size:12px;
  font-weight:700;
  color:var(--black);
}

/* ══════════════════════════
   CLOSING
══════════════════════════ */
.closing{
  background:var(--orange);
  padding:5rem 1.5rem;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.closing::before{
  content:'14';
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  font-family:var(--display);
  font-size:clamp(18rem,60vw,35rem);
  color:rgba(0,0,0,.08);
  line-height:1;
  pointer-events:none;
}
.closing-pre{
  font-size:11px;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(0,0,0,.5);
  margin-bottom:1.5rem;
  position:relative;
  z-index:1;
}
.closing h2{
  font-family:var(--display);
  font-size:clamp(2.8rem,11vw,7rem);
  text-transform:uppercase;
  color:var(--black);
  line-height:.92;
  margin-bottom:1.5rem;
  position:relative;
  z-index:1;
}
.closing h2 em{
  font-family:var(--serif);
  font-style:italic;
  text-transform:none;
  display:block;
  font-size:.7em;
  line-height:1.2;
}
.closing-price{
  font-family:var(--display);
  font-size:clamp(1.5rem,6vw,3rem);
  color:var(--black);
  letter-spacing:.04em;
  position:relative;
  z-index:1;
}
.closing-note{
  margin-top:1rem;
  font-size:11px;
  font-weight:400;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(0,0,0,.45);
  position:relative;
  z-index:1;
}

/* ══════════════════════════
   FOOTER
══════════════════════════ */
footer{
  background:var(--black);
  border-top:1px solid rgba(245,240,232,.08);
  padding:2rem 1.5rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
footer span{
  font-size:10px;
  font-weight:400;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(245,240,232,.25);
}
/* ── BUY BUTTON ── */
.buy-btn{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  background:var(--orange);
  color:var(--black);
  font-family:var(--display);
  font-size:clamp(1.4rem,5.5vw,2rem);
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:none;
  padding:1.1rem 1.25rem 1.1rem 1.75rem;
  border:none;
  border-radius:100px;
  cursor:pointer;
  box-shadow:0 6px 28px rgba(232,97,42,.45),0 2px 8px rgba(0,0,0,.35);
  transition:transform .15s,box-shadow .15s;
  position:relative;
  z-index:1;
  -webkit-tap-highlight-color:transparent;
}
.buy-btn:active{
  transform:scale(.97);
  box-shadow:0 2px 10px rgba(232,97,42,.3);
}
.buy-btn .btn-arrow{
  width:44px;height:44px;
  border-radius:50%;
  background:var(--black);
  color:var(--cream);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  font-size:1.2rem;
}

.buy-btn.light{
  background:var(--black);
  color:var(--cream);
  box-shadow:0 6px 28px rgba(0,0,0,.5),0 2px 8px rgba(0,0,0,.4);
}
.buy-btn.light .btn-arrow{
  background:var(--orange);
  color:var(--black);
}
.buy-btn.light:active{
  transform:scale(.97);
  box-shadow:0 2px 10px rgba(0,0,0,.3);
}

.btn-wrap{margin-top:2rem;position:relative;z-index:1}
.btn-note{
  margin-top:.85rem;
  font-size:10px;
  font-weight:400;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(245,240,232,.3);
  text-align:center;
}
.btn-note.dark{color:rgba(0,0,0,.4)}

.footer-dot{
  width:6px;height:6px;
  border-radius:50%;
  background:var(--orange);
  opacity:.6;
}
