*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{
  --rose:#C8456A;--rose-d:#99304E;--rose-l:#F4C0D1;--rose-ll:#FBF0F3;
  --ink:#2A1820;--ink2:#5A3A48;--ink3:#9A7888;
  --cream:#FFFFFF;--white:#FFFFFF;
  --teal:#0F6E56;--teal-l:#D4F0E8;
  --amber:#854F0B;--amber-l:#FAEEDA;
  --blue:#185FA5;--blue-l:#E6F1FB;
  --gray:#9A8590;--gray-l:#F1EFE8;
  --serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost','DM Sans',sans-serif;
  --radius:12px;--radius-lg:20px;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:#FFFFFF;color:var(--ink);min-height:100vh;overflow-x:hidden}

/* ── NAV ── */
nav{position:sticky;top:0;z-index:200;background:var(--ink);height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:16px}
.nav-brand{font-family:var(--serif);font-size:20px;color:var(--rose-l);letter-spacing:.04em;flex-shrink:0;font-weight:600}
.nav-links{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.nav-links::-webkit-scrollbar{display:none}
.ntab{padding:0 14px;height:62px;display:flex;align-items:center;font-size:12px;color:var(--ink3);cursor:pointer;border:none;border-bottom:2px solid transparent;background:none;font-family:var(--sans);white-space:nowrap;transition:all .2s;letter-spacing:.02em}
.ntab:hover{color:var(--rose-l)}
.ntab.on{color:var(--rose-l);border-bottom-color:var(--rose);font-weight:500}
.nav-cta{background:var(--rose);color:var(--white);border:none;border-radius:20px;padding:8px 20px;font-size:12px;font-family:var(--sans);cursor:pointer;white-space:nowrap;flex-shrink:0;font-weight:500;letter-spacing:.02em}

/* ── PAGES ── */
.page{display:none}
.page.on{display:block;animation:fadeUp .3s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ── SECTION WRAPPER ── */
.wrap{max-width:780px;margin:0 auto;padding:56px 24px}
.wrap-wide{max-width:980px;margin:0 auto;padding:48px 20px}

/* ── HERO ── */
.hero{min-height:92vh;background:#FFFFFF;display:flex;align-items:center;justify-content:center;text-align:center;padding:60px 20px;position:relative;overflow:hidden;border-bottom:1px solid rgba(200,69,106,.12)}
.hero-dots{position:absolute;inset:0;opacity:.06;background-image:radial-gradient(circle,var(--rose) 1px,transparent 1px);background-size:36px 36px}
.hero-inner{position:relative;z-index:1;max-width:580px}
.hero-badge{display:inline-block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--rose-d);background:var(--rose-ll);border:1px solid rgba(200,69,106,.3);border-radius:20px;padding:5px 14px;margin-bottom:24px;font-weight:500}
.hero-h{font-family:var(--serif);font-size:clamp(38px,8vw,64px);color:var(--ink);line-height:1.08;margin-bottom:18px;font-weight:600;letter-spacing:.01em}
.hero-h em{color:var(--rose);font-style:italic}
.hero-p{font-size:15px;color:var(--ink2);line-height:1.75;margin-bottom:36px;max-width:440px;margin-left:auto;margin-right:auto}
.hero-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{padding:13px 26px;border-radius:30px;font-size:13.5px;font-weight:500;cursor:pointer;font-family:var(--sans);transition:all .2s;border:none;letter-spacing:.01em}
.btn-p{background:var(--rose);color:var(--white)}
.btn-p:hover{background:var(--rose-d);transform:translateY(-1px)}
.btn-s{background:transparent;color:var(--rose-d);border:1px solid rgba(200,69,106,.5)}
.btn-s:hover{border-color:var(--rose);background:rgba(200,69,106,.06);color:var(--rose)}
.hero-stats{display:flex;gap:28px;justify-content:center;margin-top:52px;flex-wrap:wrap}
.hstat .n{font-family:var(--serif);font-size:26px;color:var(--rose);display:block}
.hstat .l{font-size:10px;color:var(--ink2);text-transform:uppercase;letter-spacing:.08em;opacity:.7}
.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--ink3);font-size:10px;letter-spacing:.06em;text-transform:uppercase;animation:bob 2s infinite}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(5px)}}
.scroll-arr{width:16px;height:16px;border-right:1.5px solid var(--rose-l);border-bottom:1.5px solid var(--rose-l);transform:rotate(45deg)}

/* ── SECTION HEADERS ── */
.eyebrow{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--rose);font-weight:500;margin-bottom:8px}
.section-h{font-family:var(--serif);font-size:clamp(24px,4vw,34px);color:var(--ink);margin-bottom:10px;line-height:1.15;font-weight:600}
.section-p{font-size:14px;color:var(--ink3);line-height:1.7;margin-bottom:32px}
.divider{border:none;border-top:1px solid rgba(200,69,106,.1);margin:36px 0}

/* ── CARDS ── */
.card{background:var(--white);border:1px solid rgba(200,69,106,.18);border-radius:var(--radius);padding:20px}
.card-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.card-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.card-grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
@media(max-width:540px){.card-grid-2{grid-template-columns:1fr}}

/* ── PILL BADGE ── */
.pill{display:inline-block;font-size:10px;padding:3px 9px;border-radius:20px;font-weight:500}
.pill-rose{background:var(--rose-ll);color:var(--rose-d)}
.pill-teal{background:var(--teal-l);color:var(--teal)}
.pill-blue{background:var(--blue-l);color:var(--blue)}
.pill-amber{background:var(--amber-l);color:var(--amber)}
.pill-gray{background:#F5F2F4;color:var(--gray)}

/* ── TICKET BUTTONS ── */
.ticket-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:16px 0}
.tbtn{border:1.5px solid rgba(200,69,106,.2);border-radius:var(--radius);padding:16px;cursor:pointer;background:var(--white);text-align:left;transition:all .2s;font-family:var(--sans)}
.tbtn:hover,.tbtn.on{border-color:var(--rose);background:var(--rose-ll)}
.tbtn .tt{font-size:10px;font-weight:500;color:var(--ink3);text-transform:uppercase;letter-spacing:.07em;display:block;margin-bottom:3px}
.tbtn .tn{font-size:13.5px;font-weight:500;color:var(--ink);display:block;margin-bottom:3px}
.tbtn .td{font-size:11px;color:var(--ink3);display:block;margin-bottom:8px}
.tbtn .tc{font-family:var(--serif);font-size:20px;color:var(--ink2);display:block}
.tbtn.on .tc{color:var(--rose-d)}

/* ── TIER BUTTONS ── */
.tier-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:14px 0}
.tierbtn{border:1.5px solid rgba(200,69,106,.18);border-radius:var(--radius);padding:13px;cursor:default;background:var(--white);text-align:left;transition:all .2s;font-family:var(--sans)}
.tierbtn.on{border-color:var(--rose);background:var(--rose-ll)}
.tierbtn .tname{font-size:13px;font-weight:500;color:var(--ink);display:block;margin-bottom:2px}
.tierbtn .trange{font-size:10px;color:var(--ink3);display:block;margin-bottom:5px}
.tierbtn .textra{font-size:11px;font-weight:500;color:var(--ink3);display:block;line-height:1.4}
.tierbtn.on .textra{color:var(--rose-d)}

/* ── SLIDERS ── */
.sl-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.sl-row label{font-size:12.5px;color:var(--ink2);min-width:200px}
.sl-row input[type=range]{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:var(--rose-l);border-radius:2px;cursor:pointer}
.sl-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--rose);border:2.5px solid var(--white);box-shadow:0 1px 6px rgba(200,69,106,.35)}
.sl-val{font-size:12px;font-weight:500;color:var(--rose-d);min-width:80px;text-align:right}

/* ── RESULT BOX ── */
.result-box{background:var(--ink);border-radius:var(--radius-lg);padding:26px 22px;text-align:center;margin:16px 0}
.result-n{font-family:var(--serif);font-size:clamp(38px,8vw,54px);color:var(--rose-l);line-height:1}
.result-sub{font-size:13px;color:var(--ink3);margin:6px 0 18px}
.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:left}
.rg-item{background:rgba(255,255,255,.06);border-radius:8px;padding:10px 12px}
.rg-l{font-size:10px;color:var(--ink3);margin-bottom:3px}
.rg-v{font-size:13.5px;font-weight:500;color:var(--white)}

/* ── PROGRESS BAR ── */
.prog-wrap{margin:14px 0}
.prog-info{display:flex;justify-content:space-between;font-size:11px;color:var(--ink3);margin-bottom:5px}
.prog-bar{height:5px;background:rgba(200,69,106,.15);border-radius:3px;overflow:hidden}
.prog-fill{height:100%;background:var(--rose);border-radius:3px;transition:width .4s ease}

/* ── DREAM BUTTONS ── */
.dream-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin-bottom:20px}
.dream-btn{border:1px solid rgba(200,69,106,.18);border-radius:var(--radius-lg);padding:18px 14px;cursor:pointer;background:var(--white);text-align:center;transition:all .2s;font-family:var(--sans)}
.dream-btn:hover,.dream-btn.on{border-color:var(--rose);background:var(--rose-ll);transform:translateY(-2px)}
.dream-icon{font-size:22px;display:block;margin-bottom:8px}
.dream-name{font-size:12.5px;font-weight:500;color:var(--ink);display:block;margin-bottom:3px}
.dream-amount{font-size:11px;color:var(--rose-d);font-weight:500;display:block}
.dream-btn.on .dream-name{color:var(--rose-d)}

/* ── TIMELINE ── */
.tl-wrap{position:relative;padding-left:22px}
.tl-wrap::before{content:'';position:absolute;left:6px;top:8px;bottom:8px;width:1px;background:var(--rose-l)}
.tl-item{position:relative;margin-bottom:22px;padding-left:18px}
.tl-dot{position:absolute;left:-16px;top:4px;width:11px;height:11px;border-radius:50%}
.tl-dia{font-size:10px;font-weight:500;color:var(--ink3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.tl-name{font-family:var(--serif);font-size:17px;color:var(--ink);margin-bottom:3px}
.tl-earn{font-size:12px;color:var(--ink3)}
.tl-bar-bg{height:3px;background:rgba(200,69,106,.12);border-radius:2px;margin-top:5px;overflow:hidden}
.tl-bar{height:100%;border-radius:2px}
.tl-milestone{background:var(--rose-ll);border-left:2px solid var(--rose);border-radius:0 8px 8px 0;padding:7px 12px;margin:0 0 20px 6px;font-size:11px;color:var(--rose-d);font-style:italic}

/* ── STEP LIST ── */
.step-list{display:flex;flex-direction:column;gap:0}
.step-item{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid rgba(200,69,106,.08)}
.step-item:last-child{border-bottom:none}
.step-num{width:38px;height:38px;border-radius:50%;background:var(--rose-ll);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:16px;color:var(--rose-d);flex-shrink:0;font-weight:600}
.step-h{font-size:14px;font-weight:500;color:var(--ink);margin-bottom:4px}
.step-p{font-size:13px;color:var(--ink3);line-height:1.6}
.step-tag{display:inline-block;margin-top:6px;font-size:10px;font-weight:500;background:var(--rose-ll);color:var(--rose-d);padding:3px 9px;border-radius:20px}

/* ── BONO CARDS ── */
.bono-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px;margin-bottom:22px}
.bono-card{background:var(--white);border:1px solid rgba(200,69,106,.12);border-radius:var(--radius);padding:16px}
.bono-amt{font-family:var(--serif);font-size:22px;color:var(--rose-d);margin-bottom:4px}
.bono-name{font-size:13px;font-weight:500;color:var(--ink);margin-bottom:3px}
.bono-desc{font-size:11.5px;color:var(--ink3);line-height:1.5}

/* ── NONEED ── */
.noneed{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}
.noneed-item{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--teal-l);border-radius:8px}
.noneed-dot{width:5px;height:5px;border-radius:50%;background:var(--teal);flex-shrink:0}
.noneed-txt{font-size:12px;color:var(--teal);font-weight:500}

/* ── ALERT ── */
.alert{padding:11px 14px;border-radius:10px;font-size:12.5px;margin-bottom:14px;line-height:1.6}
.alert-ok{background:var(--teal-l);color:var(--teal)}
.alert-warn{background:var(--amber-l);color:var(--amber)}
.alert-rose{background:var(--rose-ll);color:var(--rose-d)}

/* ── LEVEL BLOCKS ── */
.level-block{border:1px solid rgba(200,69,106,.15);border-radius:var(--radius-lg);margin-bottom:14px;overflow:hidden}
.level-block.active-level{border-width:2px;border-color:var(--rose)}
.level-hdr{display:flex;align-items:center;gap:14px;padding:14px 16px}
.level-num{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;flex-shrink:0}
.level-name{font-size:13.5px;font-weight:500;color:var(--ink)}
.level-range{font-size:10.5px;color:var(--ink3);margin-top:1px}
.level-earn{font-family:var(--serif);font-size:17px;margin-left:auto;text-align:right}
.level-meta{font-size:10px;color:var(--ink3);text-align:right}

/* ── KPI CARDS ── */
.kpi-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:16px}
.kpi{background:var(--white);border:1px solid rgba(200,69,106,.1);border-radius:var(--radius);padding:13px 15px}
.kpi.accent{background:var(--rose-ll);border-color:var(--rose-l)}
.kpi .kl{font-size:10px;color:var(--ink3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.kpi .kv{font-family:var(--serif);font-size:21px;color:var(--ink);line-height:1}
.kpi.accent .kv{color:var(--rose-d)}
.kpi.ok .kv{color:var(--teal)}
.kpi .ks{font-size:10px;color:var(--ink3);margin-top:3px}

/* ── CTA FOOTER ── */
.cta-footer{background:var(--ink);padding:64px 20px;text-align:center}
.cta-footer h2{font-family:var(--serif);font-size:clamp(26px,5vw,38px);color:var(--white);margin-bottom:12px}
.cta-footer p{font-size:14px;color:var(--ink3);margin-bottom:28px;max-width:380px;margin-left:auto;margin-right:auto;line-height:1.7}
.cta-footer small{display:block;font-size:11px;color:rgba(176,136,152,.55);margin-top:18px}

/* ── APPLY FORM ── */
.apply-form{background:var(--white);border:1px solid rgba(200,69,106,.15);border-radius:var(--radius-lg);padding:28px 24px;max-width:520px;margin:0 auto}
.form-field{margin-bottom:16px}
.form-field label{display:block;font-size:12px;font-weight:500;color:var(--ink2);margin-bottom:5px}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:10px 14px;border:1px solid rgba(200,69,106,.25);border-radius:8px;font-size:13px;font-family:var(--sans);color:var(--ink);background:#FAFAFA;transition:border .2s}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--rose)}
.form-field textarea{height:80px;resize:vertical}
.form-success{text-align:center;padding:32px;display:none}
.form-success .check{width:52px;height:52px;border-radius:50%;background:var(--teal-l);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:22px}
.form-error{background:var(--amber-l);color:var(--amber);border-radius:8px;padding:10px 14px;font-size:12.5px;margin-bottom:14px;display:none}

/* ── SELECT ── */
select{font-size:12px;padding:6px 10px;border-radius:8px;border:1px solid rgba(200,69,106,.2);background:#FAFAFA;color:var(--ink);font-family:var(--sans)}

/* ── COMPARISON TABLE ── */
.comp-table{width:100%;border-collapse:collapse;font-size:12.5px;margin-bottom:16px}
.comp-table th{text-align:left;padding:8px 10px;background:var(--ink);color:var(--white);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em}
.comp-table th:not(:first-child){text-align:right}
.comp-table td{padding:9px 10px;border-bottom:1px solid rgba(200,69,106,.08);color:var(--ink2)}
.comp-table td:not(:first-child){text-align:right;font-weight:500}
.comp-table tr:last-child td{border-bottom:none}
.comp-table tr.highlight td{background:var(--rose-ll);color:var(--rose-d)}

@media(max-width:600px){
  .hero-stats{gap:18px}
  .sl-row label{min-width:140px;font-size:11px}
  .result-grid{grid-template-columns:1fr}
  .card-grid-2{grid-template-columns:1fr}
  .ntab{font-size:10.5px;padding:0 9px}
}
