/* ===== HEADER ===== */
nav.top{position:sticky; top:0; z-index:30; background:var(--glass-rgba); backdrop-filter:blur(18px) saturate(170%); -webkit-backdrop-filter:blur(18px) saturate(170%); box-shadow:0 1px 0 rgba(255,255,255,0.6) inset, 0 10px 24px -20px rgba(226,70,136,0.2);}
nav.top .wrap{position:relative; display:flex; align-items:center; justify-content:space-between; padding:16px 32px;}
nav.top .brand{display:flex; align-items:center; gap:30px;}
nav.top .word{font-family:var(--font); font-size:16.5px; font-weight:590; letter-spacing:0.005em; margin-left:8px; text-decoration:none; color:var(--ink);}
nav.top .brand .eyebrow-pill{margin-bottom:0; font-size:11px; padding:7px 13px 7px 11px;}
nav.top .pill{position:absolute; left:75.5%; top:50%; transform:translate(-50%,-50%); font-family:var(--font); font-size:11.5px; font-weight:520; letter-spacing:0.03em; color:var(--pink); padding:8px 15px;}

/* ===== HERO ===== */
section.hero .wrap{display:grid; grid-template-columns:1.05fr 1fr; gap:64px; align-items:start; padding:78px 32px 92px;}
.hero-copy{margin-top:30px;}
.eyebrow-pill{display:inline-flex; align-items:center; gap:9px; font-size:12px; font-weight:560; letter-spacing:0.06em; text-transform:uppercase; color:var(--pink); padding:8px 15px 8px 12px; margin-bottom:26px;}
.eyebrow-pill .dot{width:5px; height:5px; border-radius:50%; background:var(--pink); box-shadow:0 0 6px rgba(226,70,136,0.6);}
section.hero h1{font-family:var(--font); font-size:clamp(128px,18vw,216px); font-weight:800; line-height:0.94; letter-spacing:-0.03em; margin:0 0 22px -12px; color:#2E1D24;}
section.hero p.sub{font-size:17px; font-weight:400; letter-spacing:0.005em; color:var(--ink-soft); max-width:36ch; margin:0 0 28px; line-height:1.62;}
.status-note{display:inline-flex; align-items:center; gap:9px; font-size:13px; font-weight:450; letter-spacing:0.01em; color:var(--ink-faint);}
.status-note .dot{width:7px; height:7px; border-radius:50%; background:var(--pink-2); box-shadow:0 0 0 4px var(--pink-pale);}

/* ===== PHONE MOCKUP ===== */
.phone-stage{position:relative; display:flex; justify-content:center;}
.phone-glow{position:absolute; z-index:0; width:420px; height:460px; left:50%; top:50%; transform:translate(-50%,-50%);
  background:radial-gradient(ellipse at center, rgba(226,70,136,0.30), rgba(226,70,136,0.08) 55%, transparent 72%); filter:blur(46px);}

.phone-frame{
  position:relative; z-index:1; width:280px; margin:0 auto; padding:12px;
  background:linear-gradient(155deg,#34292E,#15111A);
  border-radius:48px;
  box-shadow:
    0 0 0 1px rgba(226,70,136,0.20),
    0 55px 100px -30px rgba(226,70,136,0.40),
    0 18px 34px -14px rgba(36,26,32,0.32),
    inset 0 1px 0 rgba(255,255,255,0.12),
    inset 0 -1px 0 rgba(0,0,0,0.45);
}
.phone-frame::before{content:""; position:absolute; left:-2px; top:70px; width:3px; height:56px; background:#1a1516; border-radius:2px 0 0 2px;}
.phone-frame::after{content:""; position:absolute; right:-2px; top:110px; width:3px; height:80px; background:#1a1516; border-radius:0 2px 2px 0;}
.phone-frame .island{position:absolute; top:26px; left:50%; transform:translateX(-50%); width:86px; height:24px; background:#0c0a0b; border-radius:100px; z-index:5;}
.phone-frame .screen{position:relative; background:linear-gradient(175deg,#FFFEFD,#FFF3F8); border-radius:38px; overflow:hidden; aspect-ratio:640/1384;}
.phone-frame .screen img{display:block; width:100%; height:100%; object-fit:cover;}
.phone-frame .screen::before{content:""; position:absolute; inset:0; border-radius:38px; box-shadow:inset 0 1px 0 rgba(255,255,255,0.8), inset 0 -14px 26px -18px rgba(226,70,136,0.16); pointer-events:none;}

/* ===== HOW IT WORKS ===== */
section.steps{padding:22px 32px 104px;}
section.steps .eyebrow{text-align:center; font-size:12px; letter-spacing:0.09em; text-transform:uppercase; color:var(--ink-faint); font-weight:560; margin-bottom:38px;}
.steps-row{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; max-width:1080px; margin:0 auto;}
.step-col{padding:28px 22px; text-align:left;}
.step-col .badge{
  position:relative; width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:var(--font); font-weight:590; font-size:14px; color:var(--pink);
  background:radial-gradient(circle at 30% 26%, #fff, var(--pink-pale) 60%, #FBD9E7 100%);
  box-shadow:inset -3px -4px 8px rgba(226,70,136,0.18), inset 3px 4px 6px rgba(255,255,255,0.9), 0 8px 18px -8px rgba(226,70,136,0.30);
  margin-bottom:16px;
}
.step-col h4{position:relative; font-family:var(--font); font-size:15.5px; font-weight:560; letter-spacing:-0.002em; margin:0 0 6px;}
.step-col p{position:relative; font-size:13.5px; font-weight:420; letter-spacing:0.004em; color:var(--ink-soft); margin:0; line-height:1.55;}

/* ===== GOALS ===== */
section.goals{padding:22px 32px 108px;}
section.goals .eyebrow{text-align:center; font-size:12px; letter-spacing:0.09em; text-transform:uppercase; color:var(--ink-faint); font-weight:560; margin-bottom:14px;}
section.goals .lede{text-align:center; font-size:16px; font-weight:400; letter-spacing:0.004em; color:var(--ink-soft); max-width:56ch; margin:0 auto 42px;}
.goals-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; max-width:820px; margin:0 auto;}
.goal-card{padding:28px 26px;}
.goal-card .badge{
  position:relative; width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 30% 26%, #fff, var(--pink-pale) 60%, #FBD9E7 100%);
  box-shadow:inset -3px -4px 8px rgba(226,70,136,0.18), inset 3px 4px 6px rgba(255,255,255,0.9), 0 8px 18px -8px rgba(226,70,136,0.30);
  margin-bottom:17px;
}
.goal-card svg{position:relative; width:20px; height:20px; color:var(--pink);}
.goal-card h4{position:relative; font-family:var(--font); font-size:16px; font-weight:560; letter-spacing:-0.002em; margin:0 0 6px;}
.goal-card p{position:relative; font-size:13.5px; font-weight:420; letter-spacing:0.004em; color:var(--ink-soft); margin:0; line-height:1.55;}

/* ===== PHILOSOPHY / QUOTE ===== */
section.philosophy{padding:60px 24px; text-align:center;}
.sculpted{max-width:640px; margin:0 auto; position:relative; top:-15px; padding:60px 48px;}
.sculpted .glow{position:absolute; top:-40px; left:50%; transform:translateX(-50%); width:200px; height:160px; background:radial-gradient(ellipse, rgba(226,70,136,0.35), transparent 70%); filter:blur(30px); pointer-events:none;}
.sculpted p{position:relative; font-family:var(--font); font-size:18px; font-weight:520; letter-spacing:-0.002em; color:var(--ink); margin:-8px auto 0; line-height:1.55; max-width:42ch;}

/* ===== AVAILABILITY / FOOTER ===== */
section.availability{position:relative; top:-15px; padding:42px 32px 8px; text-align:center;}
section.availability p{font-size:13.5px; font-weight:420; letter-spacing:0.01em; color:var(--ink-faint); margin:0;}

footer.foot{position:relative; top:-15px; padding:36px 32px; text-align:center; font-size:13px; font-weight:420; letter-spacing:0.005em; color:var(--ink-faint);}
footer.foot a{color:var(--ink-faint); text-decoration:none; margin:0 8px;}
footer.foot a:hover{color:var(--pink);}

/* ===== SIMPLE INNER PAGES (privacy / terms / support / 404) ===== */
section.legal{padding:78px 32px 120px;}
section.legal .wrap{max-width:720px;}
section.legal h1{font-family:var(--font); font-size:clamp(30px,4vw,40px); font-weight:700; letter-spacing:-0.01em; line-height:1.15; color:var(--ink); margin:0 0 28px; text-align:center;}
section.legal .sculpted{position:static; top:auto; max-width:100%; padding:40px 40px;}
section.legal .sculpted p{margin:0 auto; max-width:56ch; font-size:16px; font-weight:450; text-align:center;}
section.legal .back{display:block; max-width:220px; margin:36px auto 0;}

section.error .wrap{max-width:520px;}
section.error .eyebrow{text-align:center; font-size:13px; letter-spacing:0.09em; text-transform:uppercase; color:var(--ink-faint); font-weight:560; margin-bottom:10px;}

/* ===== RESPONSIVE ===== */
@media (max-width:900px){
  .steps-row{grid-template-columns:1fr 1fr;}
}
@media (max-width:760px){
  section.hero .wrap{grid-template-columns:1fr; padding:56px 24px 60px;}
  .phone-stage{margin-top:24px;}
  .goals-grid{grid-template-columns:1fr;}
  nav.top .brand .eyebrow-pill{display:none;}
  section.legal{padding:56px 24px 90px;}
}
@media (max-width:520px){
  .steps-row{grid-template-columns:1fr;}
}
