
* { box-sizing: border-box; }
body { font-family:'Poppins',sans-serif; background:#1B2E45; color:#F5EDD8; }

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

/* reveal */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .55s ease,transform .55s ease; }
.reveal.visible { opacity:1; transform:none; }
.stagger>* { opacity:0; transform:translateY(18px); transition:opacity .45s ease,transform .45s ease; }
.stagger.visible>*:nth-child(1){opacity:1;transform:none;transition-delay:.04s;}
.stagger.visible>*:nth-child(2){opacity:1;transform:none;transition-delay:.10s;}
.stagger.visible>*:nth-child(3){opacity:1;transform:none;transition-delay:.16s;}
.stagger.visible>*:nth-child(4){opacity:1;transform:none;transition-delay:.22s;}
.stagger.visible>*:nth-child(5){opacity:1;transform:none;transition-delay:.28s;}
.stagger.visible>*:nth-child(6){opacity:1;transform:none;transition-delay:.34s;}
.stagger.visible>*:nth-child(7){opacity:1;transform:none;transition-delay:.40s;}
.stagger.visible>*:nth-child(8){opacity:1;transform:none;transition-delay:.46s;}
.stagger.visible>*:nth-child(9){opacity:1;transform:none;transition-delay:.52s;}

/* pulse */
@keyframes pulse-honey{0%,100%{box-shadow:0 0 0 0 rgba(250,190,92,.55);}50%{box-shadow:0 0 0 14px rgba(250,190,92,0);}}
.btn-pulse { animation:pulse-honey 2.4s infinite; }
@keyframes pulse-steel{0%,100%{box-shadow:0 0 0 0 rgba(70,130,180,.45);}50%{box-shadow:0 0 0 14px rgba(70,130,180,0);}}
.btn-steel-pulse { animation:pulse-steel 2.4s infinite; }

/* form */
.form-input { transition:border-color .2s,box-shadow .2s; }
.form-input:focus { outline:none; border-color:#FABE5C; box-shadow:0 0 0 3px rgba(250,190,92,.15); }

/* nav */
.nav-scrolled { box-shadow:0 2px 24px rgba(0,0,0,.35); }

/* sticky bar */
#sticky-bar { transform:translateY(100%); transition:transform .3s ease; }
#sticky-bar.show { transform:translateY(0); }

/* journey */
.journey-step {
  flex:1; padding:1rem; text-align:center;
  background:rgba(70,130,180,.08);
  border:1px solid rgba(70,130,180,.2);
  transition:background .2s;
}
.journey-step:hover { background:rgba(70,130,180,.18); }
.journey-step.active-step { background:rgba(250,190,92,.1); border-color:rgba(250,190,92,.4); }
.journey-arrow { display:flex; align-items:center; padding:0 6px; color:rgba(70,130,180,.5); font-size:1.2rem; }

/* day card */
.day-card { border-top:4px solid; transition:transform .2s,box-shadow .2s; }
.day-card:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.25); }

/* marquee */
@keyframes mq{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.mq-inner { animation:mq 22s linear infinite; display:flex; width:max-content; }

/* pill selector */
.pill-opt span.opt-inner {
  display:block; border:1.5px solid rgba(70,130,180,.25);
  color:rgba(214,230,245,.6); font-size:12px; text-align:center;
  padding:10px 8px; transition:all .15s; cursor:pointer;
}
.pill-opt input:checked ~ .opt-inner,
.pill-opt:has(input:checked) .opt-inner {
  border-color:#FABE5C; color:#FABE5C; background:rgba(250,190,92,.07);
}
.radio-row label { display:flex; align-items:center; gap:10px; border:1.5px solid rgba(70,130,180,.2); padding:10px 14px; cursor:pointer; transition:all .15s; }
.radio-row label:hover { border-color:rgba(250,190,92,.35); }
.radio-row input:checked ~ * { color:#FABE5C; }
.radio-row label:has(input:checked) { border-color:#FABE5C; background:rgba(250,190,92,.06); }
.radio-dot { width:14px; height:14px; border-radius:50%; border:2px solid rgba(214,230,245,.3); flex-shrink:0; transition:all .15s; }
label:has(input:checked) .radio-dot { border-color:#FABE5C; background:#FABE5C; }

/* checkmark */
@keyframes ck-pop{0%{transform:scale(0);}65%{transform:scale(1.12);}100%{transform:scale(1);}}
.ck-anim { animation:ck-pop .5s ease forwards; }

/* ─── TESTIMONIALS CAROUSEL ─── */
.carousel-track { display:flex; transition:transform .5s cubic-bezier(.4,0,.2,1); }
.carousel-card {
  flex-shrink:0; width:100%;
  padding: 2rem;
  background:rgba(70,130,180,.07);
  border:1px solid rgba(70,130,180,.2);
  position:relative;
}
.carousel-card::before {
  content:'"';
  font-family:'Anton',sans-serif;
  font-size:7rem;
  color:rgba(250,190,92,.08);
  position:absolute;
  top:-10px; left:16px;
  line-height:1;
  pointer-events:none;
}
.carousel-img-placeholder {
  width:60px; height:60px;
  border:2px dashed rgba(250,190,92,.4);
  background:rgba(250,190,92,.04);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
  overflow:hidden;
  cursor:pointer;
  position:relative;
  transition:border-color .2s, background .2s;
}
.carousel-img-placeholder:hover { border-color:#FABE5C; background:rgba(250,190,92,.1); }
.carousel-img-placeholder img { width:100%; height:100%; object-fit:cover; display:none; }
.carousel-img-placeholder .upload-icon { font-size:1.2rem; color:rgba(250,190,92,.4); }
.carousel-img-placeholder input[type=file] { position:absolute; inset:0; opacity:0; cursor:pointer; }

.proof-img-placeholder {
  width:100%; aspect-ratio:4/3;
  border:2px dashed rgba(70,130,180,.3);
  background:rgba(70,130,180,.04);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  cursor:pointer; position:relative; overflow:hidden;
  transition:border-color .2s, background .2s;
}
.proof-img-placeholder:hover { border-color:#4682B4; background:rgba(70,130,180,.1); }
.proof-img-placeholder img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:none; }
.proof-img-placeholder input[type=file] { position:absolute; inset:0; opacity:0; cursor:pointer; }

/* ─── FAQ ACCORDION ─── */
.faq-item { border-bottom:1px solid rgba(70,130,180,.15); }
.faq-btn { width:100%; text-align:left; padding:1.25rem 0; display:flex; justify-content:space-between; align-items:center; background:none; border:none; cursor:pointer; gap:1rem; }
.faq-icon { flex-shrink:0; width:24px; height:24px; border:1.5px solid rgba(250,190,92,.4); display:flex; align-items:center; justify-content:center; font-size:1rem; color:#FABE5C; transition:transform .3s; }
.faq-body { max-height:0; overflow:hidden; transition:max-height .4s ease, padding .3s; }
.faq-body.open { max-height:400px; padding-bottom:1.25rem; }
.faq-item.active .faq-icon { transform:rotate(45deg); }

/* ─── MENTOR SECTION ─── */
.mentor-photo-placeholder {
  width:200px; height:200px;
  border:3px dashed rgba(250,190,92,.4);
  background:rgba(250,190,92,.04);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  cursor:pointer; position:relative; overflow:hidden; flex-shrink:0;
}
.mentor-photo-placeholder img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:none; }
.mentor-photo-placeholder input[type=file] { position:absolute; inset:0; opacity:0; cursor:pointer; }

/* ─── URGENCY ─── */
@keyframes blink { 0%,100%{opacity:1;}50%{opacity:.4;} }
.blink-dot { animation:blink 1.4s infinite; }

/* ─── STATS ─── */
.stat-card { text-align:center; padding:1.5rem 1rem; border:1px solid rgba(70,130,180,.2); background:rgba(70,130,180,.06); }

/* ─── GUARANTEE ─── */
.guarantee-badge {
  width:110px; height:110px; border-radius:50%;
  border:3px solid #FABE5C;
  background:rgba(250,190,92,.08);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  flex-shrink:0;
}