*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}

:root{
  /* Brand — exact Ahavaplan brand colors from Icon.svg */
  --purple:#602587;
  --purple-600:#6D2D97;
  --purple-dark:#3D1654;
  --purple-deep:#240B33;
  --purple-light:#8B5BAA;
  --purple-50:#F5EFF9;
  --purple-100:#E8D8F1;
  --purple-200:#D3B8E3;
  --purple-300:#B492CD;
  --yellow:#FBB858;
  --yellow-light:#FFCC80;
  --yellow-soft:#FEF1D9;
  --yellow-deep:#A86A14;

  /* Soft tint cards (At-a-Glance style) */
  --tint-lavender:#EDE4FF;
  --tint-mint:#D1FAE5;
  --tint-mint-deep:#047857;
  --tint-peach:#FEF3C7;
  --tint-peach-deep:#B45309;
  --tint-rose:#FCE7F3;
  --tint-blush:#FDE7E5;

  /* Pastel hero gradient stops (matches app's "Welcome back" + event-detail cards) */
  --pastel-1:#FBE8E4;
  --pastel-2:#F0DEF5;
  --pastel-3:#E4DBF7;

  /* Neutrals — cool lavender-gray (matches app canvas, not warm cream) */
  --bg:#F5F3F8;
  --bg-soft:#EFECF5;
  --bg-cool:#EAE6F2;
  --bg-warm:#FBFAFC;
  --surface:#FFFFFF;
  --border:#E8E4EF;
  --border-soft:#F1EDF6;
  --text:#1A1226;
  --text-2:#3F3550;
  --muted:#6B6B7B;
  --faint:#9494A4;

  /* Comms */
  --wa:#25D366;
  --wa-dark:#1DA851;

  /* Tokens */
  --off:#FAFAFB;
  --r-xs:8px;
  --r-sm:10px;
  --r:16px;
  --r-lg:20px;
  --r-xl:28px;
  --r-pill:999px;
  --shadow-xs:0 1px 2px rgba(61,22,84,0.04);
  --shadow-sm:0 1px 2px rgba(61,22,84,0.05),0 1px 3px rgba(61,22,84,0.06);
  --shadow:0 4px 14px rgba(61,22,84,0.06),0 2px 4px rgba(61,22,84,0.04);
  --shadow-md:0 8px 24px rgba(61,22,84,0.08),0 3px 8px rgba(61,22,84,0.05);
  --shadow-lg:0 18px 44px rgba(61,22,84,0.10),0 6px 14px rgba(61,22,84,0.06);
  --shadow-purple:0 10px 28px rgba(96,37,135,0.22);
  --shadow-yellow:0 10px 28px rgba(251,184,88,0.28);
  --ring:0 0 0 4px rgba(96,37,135,0.14);

  /* Type */
  --font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --font-serif:'Instrument Serif','Playfair Display',Georgia,serif;
}

body{
  font-family:var(--font-sans);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{text-decoration:none;color:inherit;}
svg{display:block;}
button{font-family:inherit;}

/* ============================ NAV ============================ */
nav{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,0.82);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--border);
  padding:0.85rem 2.5rem;
  display:flex;align-items:center;justify-content:space-between;
  gap:1.5rem;
}
.logo{display:flex;align-items:center;text-decoration:none;}
.logo-img{
  height:38px;width:auto;display:block;
  transition:transform 0.2s;
}
.logo:hover .logo-img{transform:scale(1.02);}
.nav-links{display:flex;align-items:center;gap:2rem;}
.nav-links a{
  font-size:0.875rem;font-weight:500;
  color:var(--muted);
  transition:color 0.2s;cursor:pointer;
  position:relative;padding:0.25rem 0;
}
.nav-links a:hover{color:var(--text);}
.nav-links a.active{color:var(--purple);font-weight:600;}
.nav-links a.active::after{
  content:'';position:absolute;bottom:-8px;left:0;right:0;
  height:2px;background:var(--purple);border-radius:2px;
}
.nav-actions{display:flex;align-items:center;gap:0.55rem;flex-wrap:wrap;}
.btn-wa-nav{
  display:inline-flex;align-items:center;gap:0.4rem;
  background:var(--wa);color:#fff;
  padding:0.55rem 1rem;
  border-radius:var(--r-pill);
  font-weight:600;font-size:0.8rem;
  transition:all 0.2s;cursor:pointer;
}
.btn-wa-nav:hover{background:var(--wa-dark);transform:translateY(-1px);}
.btn-wa-nav svg{width:14px;height:14px;fill:#fff;flex-shrink:0;}
.btn-email-nav{
  display:inline-flex;align-items:center;gap:0.4rem;
  border:1px solid var(--border);
  background:#fff;
  color:var(--text-2);
  padding:0.55rem 1rem;
  border-radius:var(--r-pill);
  font-weight:500;font-size:0.8rem;
  transition:all 0.2s;
}
.btn-email-nav:hover{border-color:var(--purple);color:var(--purple);background:var(--purple-50);}
.btn-email-nav svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.btn-signin{
  font-size:0.875rem;font-weight:500;
  color:var(--text);
  padding:0.55rem 1.1rem;
  border-radius:var(--r-pill);
  transition:all 0.2s;
}
.btn-signin:hover{color:var(--purple);background:var(--purple-50);}
.btn-trial{
  display:inline-flex;align-items:center;
  background:var(--purple);color:#fff;
  padding:0.6rem 1.35rem;
  border-radius:var(--r-pill);
  font-weight:600;font-size:0.85rem;
  transition:all 0.2s;
  box-shadow:0 6px 18px rgba(96,37,135,0.32);
}
.btn-trial:hover{
  background:var(--purple-dark);
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(96,37,135,0.4);
}

/* ============================ MOBILE NAV ============================ */
.nav-toggle{
  display:none;
  width:44px;height:44px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  align-items:center;justify-content:center;
  cursor:pointer;
  padding:0;
  transition:all 0.2s;
  box-shadow:var(--shadow-xs);
  flex-shrink:0;
}
.nav-toggle:hover{
  border-color:var(--purple);
  background:var(--purple-50);
}
.nav-toggle svg{
  width:22px;height:22px;
  stroke:var(--text);fill:none;
  stroke-width:2;stroke-linecap:round;
  transition:stroke 0.2s;
}
.nav-toggle:hover svg{stroke:var(--purple);}

.mobile-menu-backdrop{
  position:fixed;inset:0;
  background:rgba(36,11,51,0.45);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  opacity:0;
  pointer-events:none;
  transition:opacity 0.3s ease;
  z-index:200;
}
body.menu-open .mobile-menu-backdrop{
  opacity:1;
  pointer-events:auto;
}

.mobile-menu{
  position:fixed;
  top:0;right:0;bottom:0;
  width:min(86vw,360px);
  background:#fff;
  z-index:201;
  transform:translateX(100%);
  transition:transform 0.32s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;
  box-shadow:-30px 0 60px -10px rgba(36,11,51,0.25);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
body.menu-open .mobile-menu{
  transform:translateX(0);
}
body.menu-open{overflow:hidden;}

.mobile-menu-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem 1.5rem;
  border-bottom:1px solid var(--border);
  flex-shrink:0;
}
.mobile-menu-header img{
  height:32px;width:auto;display:block;
}
.mobile-menu-close{
  width:40px;height:40px;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;padding:0;
  transition:all 0.2s;
}
.mobile-menu-close:hover{
  background:var(--purple-50);
  border-color:var(--purple-200);
}
.mobile-menu-close svg{
  width:16px;height:16px;
  stroke:var(--text-2);fill:none;
  stroke-width:2.4;stroke-linecap:round;
}
.mobile-menu-close:hover svg{stroke:var(--purple);}

.mobile-menu-body{
  display:flex;flex-direction:column;
  padding:1.5rem;
  gap:0.4rem;
  flex:1;
}
.mm-links{
  display:flex;flex-direction:column;
  gap:0.25rem;margin-bottom:0.5rem;
}
.mm-link{
  display:flex;align-items:center;gap:0.85rem;
  padding:0.95rem 1rem;
  border-radius:12px;
  font-size:1rem;font-weight:600;
  color:var(--text);
  cursor:pointer;
  transition:all 0.18s;
  text-decoration:none;
  letter-spacing:-0.01em;
}
.mm-link:hover,
.mm-link.active{
  background:var(--purple-50);
  color:var(--purple);
}
.mm-link.active{
  background:var(--purple-100);
}
.mm-link .mm-icon{
  width:18px;height:18px;
  stroke:currentColor;fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
  flex-shrink:0;opacity:0.7;
}
.mm-link:hover .mm-icon,
.mm-link.active .mm-icon{opacity:1;}

.mm-divider{
  height:1px;background:var(--border);
  margin:0.85rem 0.25rem;
}

.mm-actions{
  display:flex;flex-direction:column;gap:0.6rem;
}
.mm-actions a{
  display:flex;align-items:center;justify-content:center;gap:0.5rem;
  padding:0.85rem 1rem;
  border-radius:var(--r-pill);
  font-size:0.92rem;font-weight:600;
  text-decoration:none;
  transition:all 0.2s;
  letter-spacing:-0.005em;
}
.mm-btn-trial{
  background:var(--purple);color:#fff;
  box-shadow:0 6px 18px rgba(96,37,135,0.32);
}
.mm-btn-trial:hover{background:var(--purple-dark);}
.mm-btn-signin{
  background:#fff;color:var(--text);
  border:1.5px solid var(--border);
}
.mm-btn-signin:hover{border-color:var(--purple);color:var(--purple);}
.mm-btn-wa{
  background:var(--wa);color:#fff;
}
.mm-btn-wa:hover{background:var(--wa-dark);}
.mm-btn-wa svg{width:16px;height:16px;fill:#fff;flex-shrink:0;}
.mm-btn-email{
  background:#fff;color:var(--text-2);
  border:1.5px solid var(--border);
}
.mm-btn-email:hover{border-color:var(--purple);color:var(--purple);}
.mm-btn-email svg{
  width:16px;height:16px;
  stroke:currentColor;fill:none;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
  flex-shrink:0;
}

.mobile-menu-footer{
  padding:1.25rem 1.5rem;
  border-top:1px solid var(--border);
  font-size:0.78rem;color:var(--muted);
  text-align:center;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;gap:0.5rem;
}
.mobile-menu-footer .mm-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--yellow);
  animation:blink 2s ease-in-out infinite;
}

/* ============================ PAGES ============================ */
.page{display:none;}
.page.active{display:block;animation:fadeIn 0.35s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

/* ============================ SHARED ============================ */
.section-label{
  font-size:0.72rem;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--purple);
  margin-bottom:0.9rem;
  display:inline-flex;align-items:center;gap:0.65rem;
}
.section-label::before{
  content:'';display:block;
  width:1.85rem;height:2px;
  background:var(--yellow);border-radius:2px;
}
.section-label.light{color:var(--yellow);}
.section-label.light::before{background:var(--yellow);}

.section-h{
  font-size:clamp(1.85rem,3.2vw,2.65rem);
  font-weight:800;
  color:var(--text);
  letter-spacing:-0.03em;
  line-height:1.1;
  margin-bottom:2rem;
}
.section-h.light{color:#fff;}

/* Numbers band */
.numbers-band{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1rem;
  padding:0 2.5rem;
  margin:3rem auto;
  max-width:1280px;
}
.nstat{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:1.85rem 1.25rem;
  text-align:center;
  transition:all 0.25s;
  box-shadow:var(--shadow-xs);
}
.nstat:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-md);
  border-color:var(--purple-200);
}
.nstat-val{
  font-size:2.4rem;font-weight:800;
  color:var(--purple);
  display:block;line-height:1;
  letter-spacing:-0.025em;
}
.nstat-label{
  font-size:0.78rem;color:var(--muted);
  margin-top:0.55rem;display:block;line-height:1.45;
}

/* Buttons */
.btn-yellow{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:var(--purple);color:#fff;
  padding:0.95rem 1.85rem;
  border-radius:var(--r-pill);
  font-weight:600;font-size:0.92rem;
  transition:all 0.2s;cursor:pointer;
  box-shadow:var(--shadow-purple);
  white-space:nowrap;
}
.btn-yellow:hover{background:var(--purple-dark);transform:translateY(-1px);box-shadow:0 14px 32px rgba(96,37,135,0.32);}
.btn-ghost{
  display:inline-flex;align-items:center;gap:0.5rem;
  border:1.5px solid var(--border);
  background:#fff;
  color:var(--text);
  padding:0.9rem 1.6rem;
  border-radius:var(--r-pill);
  font-size:0.9rem;font-weight:600;
  transition:all 0.2s;
  white-space:nowrap;
  box-shadow:var(--shadow-xs);
}
.btn-ghost:hover{
  border-color:var(--purple);
  color:var(--purple);
}
.btn-wa{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:var(--wa);color:#fff;
  padding:0.9rem 1.6rem;
  border-radius:var(--r-pill);
  font-size:0.9rem;font-weight:600;
  transition:all 0.2s;cursor:pointer;
  box-shadow:0 10px 24px rgba(37,211,102,0.28);
  white-space:nowrap;
}
.btn-wa:hover{background:var(--wa-dark);transform:translateY(-1px);}
.btn-wa svg{width:18px;height:18px;fill:#fff;flex-shrink:0;}
.btn-wa-large{
  display:inline-flex;align-items:center;gap:0.65rem;
  background:var(--wa);color:#fff;
  padding:1rem 1.85rem;
  border-radius:var(--r-pill);
  font-size:0.95rem;font-weight:700;
  transition:all 0.2s;white-space:nowrap;flex-shrink:0;cursor:pointer;
  box-shadow:0 12px 28px rgba(37,211,102,0.32);
}
.btn-wa-large:hover{background:var(--wa-dark);transform:translateY(-1px);}
.btn-wa-large svg{width:20px;height:20px;fill:#fff;flex-shrink:0;}
.btn-purple{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:var(--purple);color:#fff;
  padding:0.95rem 1.85rem;
  border-radius:var(--r-pill);
  font-weight:600;font-size:0.9rem;white-space:nowrap;
  transition:all 0.2s;
  box-shadow:var(--shadow-purple);
}
.btn-purple:hover{background:var(--purple-dark);transform:translateY(-1px);}
.btn-outline-white{
  display:inline-flex;align-items:center;gap:0.5rem;
  border:1.5px solid var(--purple);
  background:#fff;
  color:var(--purple);
  padding:0.9rem 1.6rem;
  border-radius:var(--r-pill);
  font-size:0.9rem;font-weight:600;white-space:nowrap;
  transition:all 0.2s;
  box-shadow:var(--shadow-xs);
}
.btn-outline-white:hover{
  background:var(--purple);color:#fff;
  border-color:var(--purple);
  box-shadow:var(--shadow-purple);
}
.btn-outline-purple{
  display:inline-flex;align-items:center;gap:0.5rem;
  border:1.5px solid var(--purple);
  background:#fff;
  color:var(--purple);
  padding:0.9rem 1.6rem;
  border-radius:var(--r-pill);
  font-size:0.9rem;font-weight:600;white-space:nowrap;
  transition:all 0.2s;
}
.btn-outline-purple:hover{background:var(--purple);color:#fff;}

/* ============================ HERO ============================ */
.hero{
  background:
    radial-gradient(ellipse 70% 60% at 85% 15%,var(--pastel-1) 0%,transparent 55%),
    radial-gradient(ellipse 60% 55% at 15% 80%,var(--pastel-3) 0%,transparent 55%),
    linear-gradient(180deg,#FBFAFC 0%,#F5F2FA 100%);
  padding:5rem 2.5rem 6rem;
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:4rem;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:'';position:absolute;
  top:50%;left:30%;width:520px;height:520px;
  background:radial-gradient(circle,var(--pastel-2) 0%,transparent 65%);
  border-radius:50%;pointer-events:none;
  filter:blur(60px);opacity:0.55;
  transform:translate(-50%,-50%);
}
.hero > *{position:relative;z-index:1;}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:0.55rem;
  background:#fff;
  border:1px solid var(--border);
  color:var(--purple);
  font-size:0.72rem;font-weight:600;
  letter-spacing:0.1em;text-transform:uppercase;
  padding:0.5rem 1rem;
  border-radius:var(--r-pill);
  margin-bottom:1.75rem;
  box-shadow:var(--shadow-xs);
}
.eyebrow-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--yellow);
  animation:blink 2s ease-in-out infinite;
  box-shadow:0 0 0 4px rgba(251,184,88,0.18);
}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.35;}}
.hero h1{
  font-size:clamp(2.4rem,4.6vw,4rem);
  font-weight:800;
  color:var(--text);
  line-height:1.04;letter-spacing:-0.035em;
  margin-bottom:1.5rem;
}
.hero h1 .y{
  background:linear-gradient(135deg,var(--purple) 0%,var(--purple-light) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  position:relative;display:inline-block;
}
.hero-desc{
  font-size:1.1rem;color:var(--muted);
  line-height:1.7;
  max-width:52ch;margin-bottom:2.5rem;
}
.hero-actions{
  display:flex;gap:0.85rem;align-items:center;
  flex-wrap:wrap;margin-bottom:3rem;
}
.hero-actions .btn-ghost{
  border-color:var(--border);
  background:#fff;
  color:var(--text);
  box-shadow:var(--shadow-xs);
}
.hero-actions .btn-ghost:hover{
  border-color:var(--purple);color:var(--purple);
  background:#fff;
}
.hero-stats{
  display:flex;gap:3rem;
  padding-top:2.25rem;border-top:1px solid var(--border);
}
.hstat-val{
  font-size:1.95rem;font-weight:800;
  color:var(--text);
  line-height:1;letter-spacing:-0.025em;
}
.hstat-label{
  font-size:0.74rem;color:var(--muted);
  margin-top:0.4rem;letter-spacing:0.01em;
}

/* DASHBOARD CARD (matches app aesthetic — soft pastel hero card) */
.dash-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:0 30px 60px -20px rgba(61,22,84,0.20),
             0 12px 30px -10px rgba(61,22,84,0.10);
  transform:perspective(1400px) rotateY(-3deg) rotateX(2deg);
  transition:transform 0.55s cubic-bezier(.2,.8,.2,1);
}
.dash-card:hover{transform:perspective(1400px) rotateY(0) rotateX(0);}
.dash-topbar{
  background:
    linear-gradient(135deg,var(--pastel-1) 0%,var(--pastel-2) 50%,var(--pastel-3) 100%);
  padding:0.85rem 1.2rem;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--border);
}
.dots{display:flex;gap:6px;}
.dot{width:10px;height:10px;border-radius:50%;}
.dot-r{background:#FF5F56;}
.dot-y2{background:#FFBD2E;}
.dot-g{background:#27C93F;}
.dash-url{
  font-size:0.72rem;color:var(--text-2);
  background:rgba(255,255,255,0.72);
  border:1px solid rgba(255,255,255,0.7);
  padding:0.3rem 0.9rem;border-radius:var(--r-pill);
  font-weight:500;backdrop-filter:blur(4px);
}
.dash-screenshot{
  display:block;
  width:100%;height:auto;
  background:var(--bg);
}
.dash-body{padding:1.5rem;}
.dash-hello{
  font-size:0.7rem;color:var(--purple);
  text-transform:uppercase;letter-spacing:0.14em;
  font-weight:700;margin-bottom:0.35rem;
}
.dash-name{
  font-size:1.2rem;font-weight:800;color:var(--text);
  margin-bottom:1.25rem;letter-spacing:-0.02em;
}
.dash-metrics{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:0.65rem;margin-bottom:1.25rem;
}
.dmetric{
  background:var(--purple-50);
  border:1px solid var(--purple-100);
  border-radius:12px;
  padding:0.9rem 0.6rem;
  text-align:center;
}
.dmetric:nth-child(2){background:#D1FAE5;border-color:#A7F3D0;}
.dmetric:nth-child(3){background:var(--yellow-soft);border-color:#FDE68A;}
.dmetric-v{
  font-size:1.35rem;font-weight:800;
  color:var(--purple);display:block;line-height:1;
  letter-spacing:-0.02em;
}
.dmetric:nth-child(2) .dmetric-v{color:var(--tint-mint-deep);}
.dmetric:nth-child(3) .dmetric-v{color:var(--yellow-deep);}
.dmetric-l{
  font-size:0.6rem;color:var(--muted);
  text-transform:uppercase;letter-spacing:0.08em;
  margin-top:0.4rem;display:block;font-weight:600;
}
.devent-list{
  display:flex;flex-direction:column;gap:0.5rem;
  margin-bottom:1rem;
}
.devent{
  display:flex;align-items:center;gap:0.65rem;
  padding:0.75rem 0.9rem;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:10px;
  border-left:3px solid var(--yellow);
}
.devent.alt{border-left-color:var(--purple);}
.devent-name{flex:1;font-size:0.82rem;color:var(--text-2);font-weight:500;}
.dbadge{
  font-size:0.62rem;font-weight:600;
  padding:0.22rem 0.6rem;border-radius:var(--r-pill);
  text-transform:uppercase;letter-spacing:0.06em;
}
.ba{background:var(--yellow-soft);color:var(--yellow-deep);}
.bp{background:var(--purple-100);color:var(--purple);}
.bd{background:#D1FAE5;color:var(--tint-mint-deep);}
.ai-bar{
  display:flex;align-items:center;gap:0.65rem;
  background:linear-gradient(135deg,var(--purple-50),#FFF8EC);
  border:1px solid var(--purple-100);
  border-radius:12px;
  padding:0.75rem 0.95rem;
}
.ai-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--purple);
  box-shadow:0 0 0 4px rgba(96,37,135,0.18);
  animation:blink 2s ease-in-out infinite;
}
.ai-txt{font-size:0.8rem;color:var(--text-2);}
.ai-txt strong{color:var(--purple);font-weight:700;}

/* ============================ PIVOT ============================ */
.pivot-section{
  background:#fff;
  padding:5rem 2.5rem;
}
.pivot-section > .section-label,
.pivot-section > .section-h{
  max-width:1200px;margin-left:auto;margin-right:auto;
}
.pivot-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:1.5rem;margin-top:0.5rem;
  max-width:1200px;margin-left:auto;margin-right:auto;
}
.pivot-box{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:2rem;
  box-shadow:var(--shadow-xs);
  transition:all 0.25s;
}
.pivot-box:hover{
  box-shadow:var(--shadow);
  border-color:var(--purple-200);
}
.pivot-box.future{
  background:
    radial-gradient(ellipse 70% 70% at 100% 0%,var(--pastel-1) 0%,transparent 55%),
    radial-gradient(ellipse 70% 70% at 0% 100%,var(--pastel-3) 0%,transparent 55%),
    linear-gradient(160deg,#FBFAFC 0%,var(--pastel-2) 100%);
  border-color:var(--purple-200);
  position:relative;overflow:hidden;
  box-shadow:var(--shadow-md);
}
.pivot-box.future::before{
  content:'';position:absolute;
  top:50%;left:50%;width:200px;height:200px;
  background:radial-gradient(circle,var(--pastel-2) 0%,transparent 65%);
  pointer-events:none;filter:blur(40px);opacity:0.6;
  transform:translate(-50%,-50%);
}
.pivot-title{
  font-size:0.72rem;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--muted);margin-bottom:1.25rem;
  display:flex;align-items:center;gap:0.55rem;
}
.pivot-title::before{
  content:'';width:1.5rem;height:2px;
  background:var(--border);border-radius:2px;
}
.pivot-box.future .pivot-title{color:var(--purple);position:relative;}
.pivot-box.future .pivot-title::before{background:var(--yellow);}
.pivot-item{
  display:flex;align-items:flex-start;gap:0.75rem;
  font-size:0.95rem;color:var(--text);
  margin-bottom:0.85rem;line-height:1.55;
}
.pivot-box.future .pivot-item{color:var(--text);position:relative;font-weight:500;}
.pdot{
  width:8px;height:8px;border-radius:50%;
  background:var(--purple);margin-top:0.45rem;flex-shrink:0;
  box-shadow:0 0 0 3px rgba(96,37,135,0.15);
}
.pivot-box.future .pdot{background:var(--purple);box-shadow:0 0 0 3px rgba(96,37,135,0.22);}

/* ============================ FEATURES ============================ */
.features-section{
  background:var(--bg);
  padding:5rem 2.5rem;
  position:relative;
}
.features-section::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:1px;
  background:var(--border);
}
.features-section > .section-label,
.features-section > .section-h{
  max-width:1280px;margin-left:auto;margin-right:auto;
}
.features-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
  max-width:1280px;margin:2.5rem auto 0;
}
.feat-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:2rem 1.85rem;
  transition:all 0.25s;
  box-shadow:var(--shadow-xs);
  position:relative;
  overflow:hidden;
}
.feat-card::before{
  content:'';position:absolute;
  inset:0;
  background:radial-gradient(120% 80% at 50% 0%,rgba(96,37,135,0.05),transparent 60%);
  opacity:0;transition:opacity 0.25s;pointer-events:none;
}
.feat-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-lg);
  border-color:var(--purple-200);
}
.feat-card:hover::before{opacity:1;}
.feat-icon{
  width:48px;height:48px;
  background:var(--purple-50);
  border:1px solid var(--purple-100);
  border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.25rem;
  transition:all 0.25s;
}
.feat-card:hover .feat-icon{
  background:var(--purple);
  border-color:var(--purple);
  transform:scale(1.05);
  box-shadow:var(--shadow-purple);
}
.feat-icon svg{
  width:22px;height:22px;
  stroke:var(--purple);
  fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
  transition:stroke 0.25s;
}
.feat-card:hover .feat-icon svg{stroke:var(--yellow);}
.feat-title{
  font-size:1.06rem;font-weight:700;
  color:var(--text);
  margin-bottom:0.55rem;letter-spacing:-0.01em;
}
.feat-desc{
  font-size:0.9rem;color:var(--muted);
  line-height:1.65;
}

/* ============================ PRODUCT TOUR ============================ */
.tour-section{
  background:
    radial-gradient(ellipse 60% 35% at 100% 0%,var(--pastel-1) 0%,transparent 60%),
    radial-gradient(ellipse 50% 25% at 0% 100%,var(--pastel-3) 0%,transparent 60%),
    #FBFAFC;
  padding:6rem 2.5rem;
  border-top:1px solid var(--border);
  position:relative;overflow:hidden;
}
.tour-header{
  max-width:680px;
  margin:0 auto 5rem;
  text-align:center;
  position:relative;z-index:1;
}
.tour-header .section-label{
  margin-bottom:1.1rem;
}
.tour-header .section-h{
  margin-bottom:1.15rem;
}
.tour-intro{
  font-size:1.1rem;color:var(--text-2);
  line-height:1.65;
  max-width:54ch;margin:0 auto;
}

.tour-stack{
  display:flex;flex-direction:column;
  gap:6rem;
  max-width:1200px;margin:0 auto;
  position:relative;z-index:1;
}

.tour-row{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  gap:4rem;
  align-items:center;
}
.tour-row--reverse .tour-row__visual{order:2;}
.tour-row--reverse .tour-row__copy{order:1;}

.tour-row__visual{
  position:relative;
}
.tour-step{
  position:absolute;top:-1.2rem;left:-1.2rem;
  width:3.2rem;height:3.2rem;
  background:var(--purple);color:#fff;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:0.95rem;font-weight:800;
  letter-spacing:0.02em;
  box-shadow:var(--shadow-purple);
  z-index:3;
  border:3px solid #FBFAFC;
}
.tour-row--reverse .tour-step{
  left:auto;right:-1.2rem;
}

.tour-frame{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:0 30px 60px -15px rgba(61,22,84,0.22),
             0 12px 30px -6px rgba(61,22,84,0.12);
  position:relative;
  transition:transform 0.4s cubic-bezier(.2,.8,.2,1), box-shadow 0.4s ease;
}
.tour-row:hover .tour-frame{
  transform:translateY(-6px);
  box-shadow:0 40px 70px -15px rgba(61,22,84,0.28),
             0 16px 36px -6px rgba(61,22,84,0.14);
}
.tour-topbar{
  background:linear-gradient(135deg,var(--pastel-1) 0%,var(--pastel-2) 50%,var(--pastel-3) 100%);
  padding:0.75rem 1.1rem;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--border);
}
.tour-frame img{
  display:block;width:100%;height:auto;
  background:var(--bg);
}

.tour-row__copy{
  display:flex;flex-direction:column;gap:1.1rem;
  max-width:500px;
}
.tour-row--reverse .tour-row__copy{margin-left:auto;}
.tour-tag{
  display:inline-flex;align-items:center;gap:0.45rem;
  background:#fff;
  border:1px solid var(--purple-200);
  color:var(--purple);
  font-size:0.7rem;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  padding:0.42rem 0.95rem;
  border-radius:var(--r-pill);
  width:fit-content;
  box-shadow:var(--shadow-xs);
}
.tour-tag::before{
  content:'';
  width:6px;height:6px;border-radius:50%;
  background:var(--yellow);
  box-shadow:0 0 0 3px rgba(251,184,88,0.25);
}
.tour-row__copy h3{
  font-size:clamp(1.65rem,2.5vw,2.15rem);
  font-weight:800;
  color:var(--text);
  letter-spacing:-0.03em;
  line-height:1.12;
  margin:0;
}
.tour-row__copy > p{
  font-size:1.02rem;color:var(--text-2);
  line-height:1.7;
}
.tour-row__copy p strong{color:var(--purple);font-weight:700;}

.tour-bullets{
  list-style:none;
  display:grid;grid-template-columns:1fr 1fr;
  gap:0.7rem 1.5rem;
  margin-top:0.65rem;
  padding:0;
}
.tour-bullets li{
  display:flex;align-items:center;gap:0.7rem;
  font-size:0.92rem;color:var(--text-2);
  font-weight:500;
}
.tour-bullets li::before{
  content:'';
  width:8px;height:8px;border-radius:50%;
  background:var(--purple);
  flex-shrink:0;
  box-shadow:0 0 0 3px var(--purple-100);
}

/* ============================ PLANNER LINK ============================ */
.planner-link-section{
  background:
    radial-gradient(ellipse 60% 55% at 12% 100%,var(--pastel-3) 0%,transparent 60%),
    radial-gradient(ellipse 60% 55% at 88% 0%,var(--pastel-1) 0%,transparent 60%),
    linear-gradient(180deg,#FBFAFC 0%,#F5F2FA 100%);
  padding:5rem 2.5rem;
  position:relative;overflow:hidden;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.planner-link-section .section-label.light{color:var(--purple);}
.planner-link-section .section-label.light::before{background:var(--yellow);}
.planner-link-section .section-h.light{color:var(--text);}
.pl-inner{
  display:grid;grid-template-columns:1fr 1fr;
  gap:4rem;align-items:center;
  max-width:1200px;margin:0 auto;
  position:relative;z-index:1;
}
.pl-inner > div:first-child > p{color:var(--text-2)!important;}
.lf-list{
  display:flex;flex-direction:column;gap:0.8rem;
  margin-top:1.75rem;
}
.lf-item{
  display:flex;align-items:flex-start;gap:0.85rem;
  font-size:0.95rem;color:var(--text-2);
  line-height:1.55;
}
.lf-check{
  width:22px;height:22px;
  background:var(--purple-100);
  border:1px solid var(--purple-200);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;margin-top:0.1rem;
}
.lf-check::after{
  content:'';width:8px;height:8px;border-radius:50%;
  background:var(--purple);
}
.link-demo{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:1.85rem;
  box-shadow:var(--shadow-lg);
}
.link-demo-label{
  font-size:0.68rem;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--purple);margin-bottom:0.95rem;
  display:flex;align-items:center;gap:0.55rem;
}
.link-demo-label::before{
  content:'';display:block;
  width:1.5rem;height:2px;
  background:var(--yellow);border-radius:2px;
}
.link-url-bar{
  display:flex;align-items:center;gap:0.75rem;
  background:var(--bg-soft);
  border:1px solid var(--border);
  border-radius:var(--r-pill);
  padding:0.5rem 0.5rem 0.5rem 0.75rem;
  margin-bottom:1.5rem;
}
.link-icon{
  width:32px;height:32px;
  background:var(--purple);border-radius:8px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  box-shadow:0 4px 12px rgba(96,37,135,0.28);
}
.link-icon svg{
  width:14px;height:14px;
  stroke:var(--yellow);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;
}
.link-url-text{
  font-size:0.9rem;color:var(--purple);font-weight:600;flex:1;
  letter-spacing:-0.01em;
}
.copy-btn{
  font-size:0.72rem;color:#fff;
  background:var(--purple);border:none;
  padding:0.5rem 1rem;border-radius:var(--r-pill);
  cursor:pointer;transition:all 0.2s;font-weight:600;
  font-family:inherit;
  box-shadow:0 4px 12px rgba(96,37,135,0.28);
}
.copy-btn:hover{background:var(--purple-dark);transform:translateY(-1px);}
.inq-flow{display:flex;flex-direction:column;gap:0.6rem;}
.inq-row{
  display:flex;align-items:center;gap:0.75rem;
  padding:0.8rem 1rem;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:10px;
  border-left:3px solid var(--purple);
  transition:all 0.2s;
}
.inq-row:hover{transform:translateX(2px);}
.inq-row.ig{border-left-color:#E1306C;}
.inq-row.wa{border-left-color:var(--wa);}
.inq-row.em{border-left-color:#378ADD;}
.inq-src{
  font-size:0.62rem;font-weight:700;
  color:var(--muted);
  width:38px;text-align:center;
  text-transform:uppercase;letter-spacing:0.06em;
}
.inq-arr{font-size:0.78rem;color:var(--faint);}
.inq-txt{font-size:0.84rem;color:var(--text-2);flex:1;}
.badge-synced{
  font-size:0.62rem;font-weight:600;
  padding:0.22rem 0.6rem;border-radius:var(--r-pill);
  background:#D1FAE5;color:var(--tint-mint-deep);
  flex-shrink:0;text-transform:uppercase;letter-spacing:0.06em;
}

/* ============================ PRICING ============================ */
.pricing-section{
  background:var(--bg);
  padding:5rem 2.5rem;
}
.pricing-section > .section-label,
.pricing-section > .section-h,
.pricing-section > .pricing-note{
  max-width:1200px;margin-left:auto;margin-right:auto;
}
.pricing-section .section-h.light{color:var(--text);}
.pricing-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1.25rem;margin:2.5rem auto 0;
  max-width:1200px;align-items:stretch;
}
.price-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:2.25rem 1.85rem;
  transition:all 0.25s;
  position:relative;
  display:flex;flex-direction:column;
  box-shadow:var(--shadow-xs);
}
.price-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-lg);
}
.price-card.featured{
  background:
    radial-gradient(ellipse 80% 60% at 100% 0%,var(--pastel-1) 0%,transparent 55%),
    radial-gradient(ellipse 80% 70% at 0% 100%,var(--pastel-3) 0%,transparent 55%),
    linear-gradient(160deg,#FBFAFC 0%,var(--pastel-2) 100%);
  border:1px solid var(--purple-200);
  color:var(--text);
  box-shadow:var(--shadow-lg);
  transform:translateY(-10px);
  z-index:1;
}
.price-card.featured:hover{transform:translateY(-14px);}
.price-card.featured::before{
  content:'★ Most Popular';
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--purple);color:#fff;
  font-size:0.66rem;font-weight:700;
  padding:0.4rem 0.95rem;border-radius:var(--r-pill);
  letter-spacing:0.08em;text-transform:uppercase;
  box-shadow:var(--shadow-purple);
  white-space:nowrap;
}
.price-tier{
  font-size:0.72rem;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--purple);
  margin-bottom:1rem;display:block;
}
.price-card.featured .price-tier{color:var(--purple);}
.price-amt{
  font-size:2.6rem;font-weight:800;
  color:var(--text);line-height:1;
  letter-spacing:-0.03em;
}
.price-card.featured .price-amt{color:var(--text);}
.price-period{
  font-size:0.82rem;color:var(--muted);
  display:block;margin-top:0.55rem;margin-bottom:2rem;
}
.price-card.featured .price-period{color:var(--muted);}
.price-features{
  list-style:none;margin-bottom:2rem;
  display:flex;flex-direction:column;gap:0.75rem;
  flex:1;
}
.price-features li{
  font-size:0.9rem;color:var(--text-2);
  display:flex;align-items:center;gap:0.75rem;
}
.price-card.featured .price-features li{color:var(--text-2);font-weight:500;}
.pcheck{
  width:20px;height:20px;border-radius:50%;
  background:var(--purple-50);
  border:1px solid var(--purple-100);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.pcheck::after{
  content:'';width:7px;height:7px;border-radius:50%;
  background:var(--purple);
}
.price-card.featured .pcheck{
  background:#fff;
  border-color:var(--purple-200);
}
.price-card.featured .pcheck::after{background:var(--purple);}
.price-btn{
  display:block;text-align:center;
  padding:0.9rem 1rem;
  border:1.5px solid var(--purple);
  color:var(--purple);
  background:#fff;
  font-size:0.88rem;font-weight:600;
  border-radius:var(--r-pill);
  transition:all 0.2s;letter-spacing:0.01em;
}
.price-btn:hover{background:var(--purple);color:#fff;box-shadow:var(--shadow-purple);}
.price-card.featured .price-btn{
  background:var(--purple);
  border-color:var(--purple);
  color:#fff;
  box-shadow:var(--shadow-purple);
}
.price-card.featured .price-btn:hover{
  background:var(--purple-dark);
  border-color:var(--purple-dark);
  color:#fff;
}
.pricing-note{
  font-size:0.88rem;color:var(--muted);
  text-align:center;margin-top:1.75rem;
}

/* ============================ ROADMAP ============================ */
.roadmap-section{
  background:#fff;
  padding:5rem 2.5rem;
}
.roadmap-section > .section-label,
.roadmap-section > .section-h{
  max-width:1200px;margin-left:auto;margin-right:auto;
}
.roadmap-track{
  position:relative;padding-top:2.5rem;margin-top:1.5rem;
  max-width:1200px;margin-left:auto;margin-right:auto;
}
.roadmap-line{
  position:absolute;top:0.5rem;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--yellow) 0%,var(--yellow) 18%,var(--purple-200) 18%);
  border-radius:2px;
}
.roadmap-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;}
.rstep{position:relative;padding-top:2rem;padding-right:1rem;}
.rstep-dot{
  position:absolute;top:-0.55rem;left:0;
  width:1.3rem;height:1.3rem;border-radius:50%;
  border:2.5px solid var(--purple-200);
  background:#fff;z-index:2;
  transition:all 0.25s;
}
.rstep-dot.active{
  background:var(--yellow);border-color:var(--yellow);
  box-shadow:0 0 0 6px rgba(251,184,88,0.2);
}
.rstep-year{
  font-size:0.7rem;font-weight:700;
  color:var(--purple);text-transform:uppercase;letter-spacing:0.1em;
  margin-bottom:0.4rem;
}
.rstep-title{
  font-size:0.98rem;font-weight:700;
  color:var(--text);margin-bottom:0.35rem;
  letter-spacing:-0.01em;
}
.rstep-detail{
  font-size:0.83rem;color:var(--muted);
  line-height:1.6;
}

/* ============================ WA SECTION ============================ */
.wa-section{
  background:
    radial-gradient(ellipse 60% 80% at 90% 50%,var(--pastel-1) 0%,transparent 60%),
    radial-gradient(ellipse 50% 80% at 10% 50%,var(--pastel-3) 0%,transparent 60%),
    linear-gradient(180deg,#FBFAFC 0%,#F5F2FA 100%);
  padding:5rem 2.5rem;
  display:flex;align-items:center;justify-content:space-between;
  gap:2rem;flex-wrap:wrap;
  position:relative;overflow:hidden;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.wa-section > div{position:relative;z-index:1;}
.wa-headline{
  font-size:clamp(1.55rem,2.6vw,2.1rem);
  font-weight:800;color:var(--text);
  line-height:1.15;letter-spacing:-0.025em;
}
.wa-sub{
  font-size:0.98rem;color:var(--text-2);
  margin-top:0.6rem;max-width:42ch;line-height:1.6;
}

/* ============================ CTA BAND ============================ */
.cta-band{
  background:
    radial-gradient(ellipse 55% 70% at 90% 20%,var(--pastel-1) 0%,transparent 55%),
    radial-gradient(ellipse 55% 70% at 10% 80%,var(--pastel-3) 0%,transparent 55%),
    linear-gradient(180deg,#FBFAFC 0%,#F5F2FA 100%);
  padding:5rem 2.5rem;
  display:flex;align-items:center;justify-content:space-between;
  gap:2rem;flex-wrap:wrap;
  position:relative;overflow:hidden;
  border-top:1px solid var(--border);
}
.cta-band::before{
  content:'';position:absolute;
  top:35%;left:50%;width:360px;height:360px;
  background:radial-gradient(circle,var(--pastel-2) 0%,transparent 65%);
  pointer-events:none;filter:blur(50px);opacity:0.6;
  transform:translate(-50%,-50%);
}
.cta-headline{
  font-size:clamp(1.85rem,3.4vw,2.7rem);
  font-weight:800;color:var(--text);line-height:1.1;
  letter-spacing:-0.035em;
  position:relative;z-index:1;
}
.cta-headline em{
  font-family:var(--font-serif);font-style:italic;
  color:var(--purple);font-weight:400;
}
.cta-btns{display:flex;gap:1rem;flex-shrink:0;flex-wrap:wrap;
  position:relative;z-index:1;}

/* ============================ FAQ ============================ */
.faq-hero{
  background:
    radial-gradient(ellipse 55% 70% at 88% 15%,var(--pastel-1) 0%,transparent 55%),
    radial-gradient(ellipse 50% 60% at 0% 100%,var(--pastel-3) 0%,transparent 60%),
    linear-gradient(180deg,#FBFAFC 0%,#F5F2FA 100%);
  padding:5rem 2.5rem;
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--border);
}
.faq-hero::before{
  content:'';position:absolute;
  top:40%;left:30%;width:300px;height:300px;
  background:radial-gradient(circle,var(--pastel-2) 0%,transparent 65%);
  pointer-events:none;filter:blur(50px);opacity:0.55;
  transform:translate(-50%,-50%);
}
.faq-hero .section-label.light{color:var(--purple);}
.faq-hero .section-label.light::before{background:var(--yellow);}
.faq-hero .section-h.light{color:var(--text);}
.faq-hero > *{position:relative;z-index:1;}
.faq-section{background:var(--bg);padding:5rem 2.5rem;}
.faq-section > *{max-width:920px;margin-left:auto;margin-right:auto;}
.faq-group{margin-bottom:3rem;}
.faq-group:last-of-type{margin-bottom:0;}
.faq-group-title{
  font-size:clamp(1.35rem,2.2vw,1.75rem);
  font-weight:800;color:var(--text);
  letter-spacing:-0.025em;margin-bottom:1.25rem;
}
.faq-list{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r);
  overflow:hidden;
  box-shadow:var(--shadow-xs);
}
.faq-item{border-bottom:1px solid var(--border);}
.faq-item:last-child{border-bottom:none;}
.faq-btn{
  width:100%;text-align:left;
  padding:1.3rem 1.6rem;
  display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
  cursor:pointer;background:none;border:none;font-family:inherit;
  transition:background 0.15s;
}
.faq-btn:hover{background:var(--bg-soft);}
.faq-q{
  font-size:0.96rem;font-weight:600;
  color:var(--text);line-height:1.5;text-align:left;
}
.faq-toggle{
  width:30px;height:30px;border-radius:50%;
  background:var(--purple-50);
  border:1px solid var(--purple-100);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;margin-top:0.05rem;
  transition:all 0.25s;
}
.faq-toggle svg{
  width:12px;height:12px;
  stroke:var(--purple);fill:none;
  stroke-width:2.5;stroke-linecap:round;
  transition:transform 0.25s;
}
.faq-item.open .faq-btn{background:var(--purple-50);}
.faq-item.open .faq-toggle{background:var(--purple);border-color:var(--purple);}
.faq-item.open .faq-toggle svg{stroke:#fff;transform:rotate(45deg);}
.faq-answer{
  display:none;padding:0 1.6rem 1.5rem;
  font-size:0.92rem;color:var(--muted);line-height:1.75;
}
.faq-answer strong{color:var(--purple);font-weight:600;}
.faq-item.open .faq-answer{display:block;animation:answerSlide 0.25s ease;}
@keyframes answerSlide{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}
.faq-still{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:2rem 2.25rem;margin-top:3rem;
  display:flex;align-items:center;justify-content:space-between;
  gap:2rem;flex-wrap:wrap;
  box-shadow:var(--shadow);
}
.faq-still-title{
  font-size:1.15rem;font-weight:700;color:var(--text);
  margin-bottom:0.4rem;letter-spacing:-0.015em;
}
.faq-still-sub{font-size:0.92rem;color:var(--muted);line-height:1.6;}

/* ============================ LEGAL (Privacy / Terms) ============================ */
.legal-hero{
  background:
    radial-gradient(ellipse 55% 70% at 88% 15%,var(--pastel-1) 0%,transparent 55%),
    radial-gradient(ellipse 50% 60% at 0% 100%,var(--pastel-3) 0%,transparent 60%),
    linear-gradient(180deg,#FBFAFC 0%,#F5F2FA 100%);
  padding:5rem 2.5rem;
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--border);
}
.legal-hero > *{
  position:relative;z-index:1;
  max-width:760px;margin-left:auto;margin-right:auto;
}
.legal-hero .section-label.light{color:var(--purple);}
.legal-hero .section-label.light::before{background:var(--yellow);}
.legal-hero .section-h.light{color:var(--text);margin-bottom:0.6rem;}
.legal-meta{
  display:inline-flex;align-items:center;gap:0.55rem;
  font-size:0.85rem;color:var(--muted);
  background:#fff;
  border:1px solid var(--border);
  padding:0.4rem 0.95rem;
  border-radius:var(--r-pill);
  margin-top:0.5rem;
  box-shadow:var(--shadow-xs);
}
.legal-meta::before{
  content:'';width:6px;height:6px;border-radius:50%;
  background:var(--yellow);
  box-shadow:0 0 0 3px rgba(251,184,88,0.25);
}

.legal-section{
  background:#fff;
  padding:4.5rem 2.5rem 6rem;
}
.legal-body{
  max-width:760px;margin:0 auto;
  font-size:1rem;color:var(--text-2);
  line-height:1.78;
}
.legal-body > p:first-of-type{
  font-size:1.08rem;color:var(--text);
  border-left:3px solid var(--purple);
  padding-left:1.25rem;
  margin-bottom:2.25rem;
}
.legal-body h2{
  font-size:1.45rem;
  font-weight:800;color:var(--text);
  letter-spacing:-0.025em;
  margin:2.75rem 0 0.85rem;
  scroll-margin-top:5rem;
}
.legal-body h2:first-child{margin-top:0;}
.legal-body h3{
  font-size:1.1rem;
  font-weight:700;color:var(--text);
  letter-spacing:-0.015em;
  margin:1.75rem 0 0.65rem;
}
.legal-body p{margin-bottom:1.1rem;}
.legal-body p strong{color:var(--text);font-weight:700;}
.legal-body ul{
  list-style:none;
  margin:0.5rem 0 1.5rem;padding:0;
  display:flex;flex-direction:column;gap:0.65rem;
}
.legal-body ul li{
  position:relative;
  padding-left:1.5rem;
}
.legal-body ul li::before{
  content:'';position:absolute;
  left:0;top:0.65rem;
  width:8px;height:8px;border-radius:50%;
  background:var(--purple);
  box-shadow:0 0 0 3px var(--purple-100);
}
.legal-body ul li strong{color:var(--text);font-weight:700;}
.legal-body a{
  color:var(--purple);font-weight:600;
  border-bottom:1px solid var(--purple-200);
  transition:border-color 0.2s;
}
.legal-body a:hover{border-bottom-color:var(--purple);}
.legal-body blockquote{
  margin:1.25rem 0;
  padding:1rem 1.25rem;
  background:var(--purple-50);
  border-left:3px solid var(--purple);
  border-radius:0 var(--r) var(--r) 0;
  font-style:italic;color:var(--text);
}
.legal-divider{
  height:1px;background:var(--border);
  margin:3rem 0;border:none;
}
.legal-toc{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:1.5rem 1.75rem;
  margin-bottom:3rem;
}
.legal-toc-label{
  font-size:0.7rem;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--purple);margin-bottom:0.9rem;
  display:flex;align-items:center;gap:0.55rem;
}
.legal-toc-label::before{
  content:'';width:1.4rem;height:2px;
  background:var(--yellow);border-radius:2px;
}
.legal-toc ol{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:1fr 1fr;
  gap:0.5rem 1.25rem;
  counter-reset:toc;
}
.legal-toc ol li{counter-increment:toc;}
.legal-toc ol a{
  display:flex;align-items:center;gap:0.6rem;
  font-size:0.92rem;color:var(--text-2);font-weight:500;
  padding:0.4rem 0;
  border-bottom:none;
  text-decoration:none;
  transition:color 0.2s;
}
.legal-toc ol a::before{
  content:counter(toc,decimal-leading-zero);
  font-size:0.72rem;font-weight:700;
  color:var(--purple);
  background:var(--purple-50);
  padding:0.2rem 0.5rem;border-radius:6px;
  flex-shrink:0;
}
.legal-toc ol a:hover{color:var(--purple);}

.legal-footer{
  margin-top:3.5rem;padding-top:2.25rem;
  border-top:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  gap:1.5rem;flex-wrap:wrap;
}
.legal-footer-meta{
  font-size:0.85rem;color:var(--muted);
}
.legal-footer-links{
  display:flex;gap:0.85rem;flex-wrap:wrap;
}
.legal-footer-links a{
  font-size:0.85rem;color:var(--purple);
  font-weight:600;border-bottom:1px solid var(--purple-200);
  transition:all 0.2s;
}
.legal-footer-links a:hover{border-bottom-color:var(--purple);}

@media (max-width:768px){
  .legal-hero{padding:3.5rem 1.25rem;}
  .legal-section{padding:3rem 1.25rem 4rem;}
  .legal-body h2{font-size:1.25rem;margin-top:2rem;}
  .legal-toc ol{grid-template-columns:1fr;}
}

/* ============================ ABOUT ============================ */
.about-hero{
  background:
    radial-gradient(ellipse 55% 65% at 88% 15%,var(--pastel-1) 0%,transparent 55%),
    radial-gradient(ellipse 50% 60% at 0% 100%,var(--pastel-3) 0%,transparent 55%),
    linear-gradient(180deg,#FBFAFC 0%,#F5F2FA 100%);
  padding:5rem 2.5rem;
  display:grid;
  grid-template-columns:minmax(0,640px) 340px;
  gap:3rem;align-items:center;
  justify-content:center;
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--border);
}
.about-hero::after{
  content:'';position:absolute;
  top:55%;left:35%;width:340px;height:340px;
  background:radial-gradient(circle,var(--pastel-2) 0%,transparent 65%);
  pointer-events:none;filter:blur(60px);opacity:0.55;
  transform:translate(-50%,-50%);
}
.about-hero > div:first-child{position:relative;z-index:1;}
.about-hero .section-label.light{color:var(--purple);}
.about-hero .section-label.light::before{background:var(--yellow);}
.about-hero h1{
  font-size:clamp(2.4rem,4.6vw,3.8rem);
  font-weight:800;color:var(--text);
  line-height:1.04;letter-spacing:-0.035em;
  margin-bottom:0.5rem;
}
.about-hero h1 span{
  display:block;
  font-family:var(--font-serif);
  font-style:italic;font-weight:400;
  color:var(--purple);
  letter-spacing:-0.01em;
}
.hero-role{
  font-size:1.08rem;color:var(--muted);
  font-style:italic;margin-bottom:1.85rem;
  font-family:var(--font-serif);
}
.hero-quote{
  font-size:1.05rem;color:var(--text-2);
  line-height:1.7;max-width:52ch;
  border-left:3px solid var(--purple);
  padding-left:1.5rem;
}
.hero-tags{
  display:flex;gap:0.55rem;flex-wrap:wrap;margin-top:2rem;
}
.htag{
  background:#fff;
  border:1px solid var(--border);
  color:var(--text-2);
  font-size:0.8rem;font-weight:500;
  padding:0.42rem 0.95rem;
  border-radius:var(--r-pill);
  box-shadow:var(--shadow-xs);
}
.photo-frame{position:relative;}
.photo-bg{
  border-radius:var(--r-xl);
  overflow:hidden;aspect-ratio:3/4;
  background:var(--pastel-2);
  box-shadow:0 32px 64px -20px rgba(61,22,84,0.28),
             0 12px 28px -8px rgba(61,22,84,0.14);
  position:relative;
}
.photo-bg::after{
  content:'';position:absolute;
  inset:auto 0 0 0;height:35%;
  background:linear-gradient(180deg,transparent 0%,rgba(36,11,51,0.18) 100%);
  pointer-events:none;
}
.photo-img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 30%;
  display:block;
}
.photo-badge{
  position:absolute;bottom:-1.25rem;left:-1.25rem;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:0.85rem 1.1rem;
  display:flex;align-items:center;gap:0.8rem;
  box-shadow:var(--shadow-lg);
}
.pbadge-icon{
  width:38px;height:38px;
  background:var(--purple);border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.pbadge-icon svg{
  width:16px;height:16px;
  stroke:var(--yellow);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.pbadge-val{
  font-size:0.88rem;font-weight:700;
  color:var(--text);line-height:1.2;
}
.pbadge-label{
  font-size:0.72rem;color:var(--muted);margin-top:0.2rem;
}
.bg-section{
  background:#fff;
  padding:5rem 2.5rem;
  display:grid;grid-template-columns:1fr 1fr;
  gap:4rem;align-items:start;
}
.bg-section > *{max-width:none;}
.bg-story p{
  font-size:1rem;color:var(--text-2);
  line-height:1.8;margin-bottom:1.25rem;
}
.bg-story p strong{color:var(--text);font-weight:700;}
.cred-block{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:1.5rem;margin-bottom:1rem;
}
.cred-group-label{
  font-size:0.7rem;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--purple);margin-bottom:0.95rem;
}
.cred-items{display:flex;flex-direction:column;gap:0.65rem;}
.cred-item{
  display:flex;align-items:center;gap:0.95rem;
  padding:0.95rem 1.1rem;
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  transition:all 0.2s;
}
.cred-item:hover{
  border-color:var(--purple-200);
  transform:translateX(2px);
}
.cdot{
  width:10px;height:10px;border-radius:50%;
  background:var(--purple);flex-shrink:0;
  box-shadow:0 0 0 4px rgba(96,37,135,0.14);
}
.cdot.y{
  background:var(--yellow);
  box-shadow:0 0 0 4px rgba(251,184,88,0.22);
}
.cred-name{
  font-size:0.93rem;font-weight:700;color:var(--text);
}
.cred-detail{
  font-size:0.8rem;color:var(--muted);margin-top:0.15rem;
}

/* STORY TIMELINE */
.story-section{
  background:var(--bg);padding:5rem 2.5rem;
}
.story-section > .section-label,
.story-section > .section-h{
  max-width:1100px;margin-left:auto;margin-right:auto;
}
.timeline{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  overflow:hidden;margin-top:0.5rem;
  max-width:1100px;margin-left:auto;margin-right:auto;
  box-shadow:var(--shadow);
}
.tl-item{
  display:grid;grid-template-columns:135px 1fr;
  background:#fff;border-bottom:1px solid var(--border);
}
.tl-item:last-child{border-bottom:none;}
.tl-yr-col{
  background:
    linear-gradient(160deg,var(--pastel-2) 0%,#E4DBF7 100%);
  padding:1.85rem 1rem;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
  position:relative;overflow:hidden;
  border-right:1px solid var(--border);
}
.tl-yr-col::before{
  content:'';position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 50% 0%,var(--pastel-1),transparent 70%);
  opacity:0.7;
}
.tl-yr{
  font-size:1.35rem;font-weight:800;
  color:var(--purple);line-height:1;letter-spacing:-0.02em;
  position:relative;
}
.tl-yr-sub{
  font-size:0.62rem;color:var(--muted);
  text-transform:uppercase;letter-spacing:0.1em;
  margin-top:0.5rem;font-weight:700;
  position:relative;
}
.tl-item.launch .tl-yr-col{
  background:linear-gradient(135deg,#FFF4D6 0%,#FCD78A 100%);
}
.tl-item.launch .tl-yr-col::before{
  background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,0.5),transparent 70%);
}
.tl-item.launch .tl-yr{color:#92400E;}
.tl-item.launch .tl-yr-sub{color:#B45309;}
.tl-content{padding:1.85rem 2rem;}
.tl-item.launch .tl-content{
  background:linear-gradient(135deg,#FFFBEB 0%,#FEF3C7 100%);
  border-left:3px solid var(--yellow);
}
.tl-title{
  font-size:1.08rem;font-weight:700;
  color:var(--text);margin-bottom:0.55rem;
  letter-spacing:-0.015em;
}
.tl-item.launch .tl-title{color:var(--purple-dark);}
.tl-desc{
  font-size:0.92rem;color:var(--muted);
  line-height:1.72;
}
.tl-tags{
  display:flex;gap:0.45rem;flex-wrap:wrap;margin-top:0.95rem;
}
.tl-tag{
  display:inline-block;
  background:var(--purple-50);
  border:1px solid var(--purple-100);
  color:var(--purple);
  font-size:0.72rem;font-weight:600;
  padding:0.28rem 0.75rem;border-radius:var(--r-pill);
}
.tl-tag.y{
  background:var(--yellow-soft);
  border-color:#FDE68A;
  color:#92400E;
}

/* LESSONS */
.lessons-section{
  background:#fff;padding:5rem 2.5rem;
}
.lessons-section > .section-label,
.lessons-section > .section-h{
  max-width:1200px;margin-left:auto;margin-right:auto;
}
.lessons-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:1.25rem;margin-top:0.5rem;
  max-width:1200px;margin-left:auto;margin-right:auto;
}
.lesson-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:2rem 1.85rem;
  transition:all 0.25s;
  box-shadow:var(--shadow-xs);
}
.lesson-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-md);
  border-color:var(--purple-200);
}
.lesson-num{
  font-size:0.72rem;font-weight:800;
  letter-spacing:0.12em;
  color:var(--yellow);
  background:var(--purple);
  display:inline-block;
  padding:0.32rem 0.8rem;
  border-radius:var(--r-pill);
  margin-bottom:1.1rem;
}
.lesson-title{
  font-size:1.08rem;font-weight:700;
  color:var(--text);margin-bottom:0.55rem;
  letter-spacing:-0.015em;
}
.lesson-desc{
  font-size:0.92rem;color:var(--muted);
  line-height:1.72;
}

/* MILESTONES */
.milestones-section{
  background:#fff;
  padding:5rem 2.5rem;position:relative;overflow:hidden;
}
.milestones-section > .section-label,
.milestones-section > .section-h{
  max-width:1100px;margin-left:auto;margin-right:auto;
  position:relative;z-index:1;
}
.milestones-section .section-label.light{color:var(--purple);}
.milestones-section .section-label.light::before{background:var(--yellow);}
.milestones-section .section-h.light{color:var(--text);}
.milestone-list{
  display:flex;flex-direction:column;gap:1rem;
  margin-top:0.75rem;
  max-width:1100px;margin-left:auto;margin-right:auto;
  position:relative;z-index:1;
}
.milestone-item{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:1.85rem 2rem;
  display:grid;grid-template-columns:3rem 1fr;
  gap:1.5rem;align-items:start;
  transition:all 0.25s;
  box-shadow:var(--shadow-xs);
}
.milestone-item:hover{
  background:#fff;
  transform:translateX(6px);
  border-color:var(--purple-200);
  box-shadow:var(--shadow);
}
.ms-num{
  width:2.85rem;height:2.85rem;
  border-radius:50%;
  background:var(--purple);
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;font-weight:800;
  color:#fff;
  flex-shrink:0;
  box-shadow:0 10px 24px rgba(96,37,135,0.32);
}
.ms-title{
  font-size:1.14rem;font-weight:700;
  color:var(--text);margin-bottom:0.5rem;
  letter-spacing:-0.015em;
}
.ms-desc{
  font-size:0.94rem;color:var(--muted);
  line-height:1.65;
}

/* PULLQUOTE */
.pullquote{
  background:
    radial-gradient(ellipse 65% 70% at 80% 20%,var(--pastel-1) 0%,transparent 55%),
    radial-gradient(ellipse 65% 70% at 20% 80%,var(--pastel-3) 0%,transparent 55%),
    linear-gradient(180deg,#FBFAFC 0%,#F5F2FA 100%);
  padding:5rem 2.5rem;text-align:center;
  position:relative;overflow:hidden;
}
.pullquote::before{
  content:'\201C';
  position:absolute;
  top:1.25rem;left:50%;transform:translateX(-50%);
  font-family:var(--font-serif);
  font-size:11rem;color:var(--purple);opacity:0.10;
  line-height:1;
}
.pullquote blockquote{
  font-size:clamp(1.45rem,2.8vw,2.05rem);
  font-weight:800;
  color:var(--text);
  line-height:1.3;letter-spacing:-0.03em;
  max-width:42ch;margin:0 auto 1.5rem;
  position:relative;z-index:1;
  font-family:var(--font-serif);font-style:italic;font-weight:400;
}
.pullquote cite{
  font-size:0.88rem;
  color:var(--purple);font-style:normal;font-weight:600;
  position:relative;z-index:1;
  letter-spacing:0.02em;
}

/* ============================ FOOTER ============================ */
footer{
  background:#fff;
  border-top:1px solid var(--border);
  padding:2.5rem;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:1.25rem;
}
.footer-logo{
  display:inline-flex;align-items:center;
}
.footer-logo img{
  height:30px;width:auto;display:block;
}
.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap;}
.footer-links a{
  font-size:0.85rem;color:var(--muted);
  transition:color 0.2s;cursor:pointer;
}
.footer-links a:hover{color:var(--purple);}
.footer-copy{font-size:0.82rem;color:var(--faint);}

/* ============================ RESPONSIVE ============================ */
@media (max-width:1100px){
  nav{padding:0.85rem 1.75rem;}
  .nav-links{gap:1.5rem;}
}
@media (max-width:1024px){
  .hero{
    grid-template-columns:1fr;
    padding:4rem 2rem 5rem;
    gap:3rem;
  }
  .hero > div:first-child{order:1;}
  .hero > .dash-card{order:2;justify-self:center;margin:0 auto;}
  .hero-stats{gap:2.25rem;}
  .dash-card{transform:none;max-width:540px;width:100%;}
  .pivot-grid,
  .pl-inner,
  .bg-section{grid-template-columns:1fr;gap:2.5rem;}
  .about-hero{
    grid-template-columns:1fr;
    gap:3rem;
  }
  .about-hero::after{display:none;}
  .photo-frame{max-width:380px;margin:0 auto;width:100%;}
  .features-grid{grid-template-columns:repeat(2,1fr);}
  .tour-section{padding:5rem 2rem;}
  .tour-header{margin-bottom:4rem;}
  .tour-stack{gap:5rem;}
  .tour-row,
  .tour-row--reverse{
    grid-template-columns:1fr;
    gap:2.25rem;
  }
  .tour-row__visual,
  .tour-row--reverse .tour-row__visual{order:0;}
  .tour-row__copy,
  .tour-row--reverse .tour-row__copy{order:1;margin-left:0;max-width:none;}
  .tour-step,
  .tour-row--reverse .tour-step{
    left:-0.85rem;right:auto;top:-0.9rem;
    width:2.6rem;height:2.6rem;font-size:0.85rem;
  }
  .pricing-grid{gap:1rem;}
  .pricing-grid .price-card{padding:2rem 1.4rem;}
  .pricing-grid .price-card.featured{transform:translateY(-6px);}
  .pricing-grid .price-card.featured:hover{transform:translateY(-9px);}
  .roadmap-steps{grid-template-columns:repeat(3,1fr);row-gap:2.5rem;}
  .roadmap-line{display:none;}
  .rstep{padding-top:0;padding-right:0.5rem;}
  .rstep-dot{position:relative;top:0;margin-bottom:0.65rem;}
  .lessons-grid{grid-template-columns:1fr;}
  .numbers-band{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:860px){
  nav{
    padding:0.85rem 1.25rem;
    gap:0.75rem;
  }
  .nav-links,
  .nav-actions{display:none;}
  .nav-toggle{display:inline-flex;}
}
@media (max-width:768px){
  .hero{padding:3rem 1.25rem 4rem;gap:2.5rem;}
  .hero::before{display:none;}
  .hero h1{font-size:clamp(2.1rem,7vw,2.9rem);}
  .hero-desc{font-size:1rem;margin-bottom:2rem;}
  .hero-stats{gap:1.5rem;padding-top:1.85rem;}
  .hstat-val{font-size:1.5rem;}
  .hero-actions{gap:0.65rem;width:100%;}
  .hero-actions > a{flex:1 1 auto;justify-content:center;text-align:center;}
  .pivot-section,
  .features-section,
  .tour-section,
  .planner-link-section,
  .pricing-section,
  .roadmap-section,
  .faq-section,
  .bg-section,
  .story-section,
  .lessons-section,
  .milestones-section,
  .pullquote,
  .wa-section,
  .cta-band,
  .faq-hero,
  .about-hero{padding-left:1.25rem;padding-right:1.25rem;}
  .pivot-section,
  .features-section,
  .tour-section,
  .pricing-section,
  .roadmap-section,
  .faq-section,
  .bg-section,
  .story-section,
  .lessons-section,
  .milestones-section,
  .pullquote{padding-top:3.5rem;padding-bottom:3.5rem;}
  .tour-section{padding:3.75rem 1.25rem;}
  .tour-header{margin-bottom:3rem;}
  .tour-stack{gap:4rem;}
  .tour-row__copy h3{font-size:1.55rem;}
  .tour-bullets{grid-template-columns:1fr;}
  .features-grid,
  .pricing-grid{grid-template-columns:1fr;gap:1rem;max-width:480px;margin-left:auto;margin-right:auto;}
  .pricing-grid .price-card{padding:2.25rem 1.85rem;}
  .pricing-grid .price-card.featured{transform:translateY(-6px);}
  .pricing-grid .price-card.featured::before{top:-10px;}
  .roadmap-steps{grid-template-columns:1fr;gap:1.75rem;}
  .pl-inner{gap:2.5rem;}
  .link-demo{padding:1.5rem;}
  .tl-item{grid-template-columns:90px 1fr;}
  .tl-content{padding:1.35rem 1.35rem;}
  .tl-yr-col{padding:1.35rem 0.5rem;}
  .tl-tags{margin-top:0.75rem;}
  .photo-badge{left:0;bottom:-1.1rem;padding:0.7rem 0.95rem;}
  .pbadge-val{font-size:0.78rem;}
  .pbadge-label{font-size:0.66rem;}
  .faq-still{padding:1.75rem;flex-direction:column;align-items:flex-start;}
  .faq-btn{padding:1.1rem 1.25rem;}
  .faq-q{font-size:0.92rem;}
  .faq-answer{padding:0 1.25rem 1.25rem;font-size:0.88rem;}
  .cta-band,
  .wa-section{flex-direction:column;text-align:left;align-items:flex-start;padding-top:3.5rem;padding-bottom:3.5rem;}
  .cta-btns{width:100%;}
  .cta-btns > a{flex:1 1 calc(50% - 0.5rem);justify-content:center;text-align:center;}
  .milestone-item{grid-template-columns:2.5rem 1fr;gap:1rem;padding:1.5rem;}
  .numbers-band{grid-template-columns:1fr 1fr;padding:0 1.25rem;gap:0.85rem;}
  .nstat{padding:1.4rem 1rem;}
  .nstat-val{font-size:1.95rem;}
  .footer-links{gap:0.95rem;}
  footer{padding:2rem 1.25rem;flex-direction:column;align-items:flex-start;}
  .hero-tags{gap:0.4rem;}
  .htag{font-size:0.72rem;padding:0.35rem 0.8rem;}
  .feat-card{padding:1.75rem 1.5rem;}
  .feat-icon{width:42px;height:42px;}
  .feat-icon svg{width:20px;height:20px;}
}
@media (max-width:560px){
  .logo-img{height:34px;}
  .tour-row__copy h3{font-size:1.4rem;}
  .tour-step{width:2.2rem;height:2.2rem;font-size:0.78rem;top:-0.7rem;left:-0.5rem;}
  .hero h1{font-size:clamp(1.95rem,8vw,2.4rem);}
  .about-hero h1{font-size:clamp(2rem,9vw,2.65rem);}
  .section-h{font-size:clamp(1.55rem,6.5vw,2rem);}
  .hero-eyebrow{font-size:0.66rem;padding:0.4rem 0.85rem;}
  .hero-actions > a{flex-basis:100%;}
  .cta-btns > a{flex-basis:100%;}
  .hero-stats{flex-direction:column;gap:1.25rem;align-items:flex-start;width:100%;}
  .hero-stats > div{display:flex;justify-content:space-between;align-items:baseline;width:100%;gap:1rem;}
  .hstat-val{font-size:1.65rem;}
  .hstat-label{margin-top:0;text-align:right;font-size:0.78rem;}
  .nav-links{gap:1rem;font-size:0.8rem;}
  .dash-metrics{grid-template-columns:1fr 1fr;}
  .dmetric:nth-child(3){grid-column:1/3;}
  .pivot-box,
  .feat-card,
  .lesson-card,
  .price-card{padding:1.6rem 1.35rem;}
  .price-amt{font-size:2.2rem;}
  .pivot-grid,
  .features-grid,
  .pricing-grid,
  .lessons-grid{gap:0.85rem;}
  .milestone-item{padding:1.35rem;gap:0.85rem;}
  .ms-num{width:2.4rem;height:2.4rem;font-size:0.88rem;}
  .ms-title{font-size:1.05rem;}
  .tl-content{padding:1.15rem;}
  .tl-yr-col{padding:1.15rem 0.5rem;}
  .tl-item{grid-template-columns:78px 1fr;}
  .tl-yr{font-size:1.1rem;}
  .tl-title{font-size:1rem;}
  .tl-desc{font-size:0.88rem;}
  .numbers-band{grid-template-columns:1fr 1fr;gap:0.65rem;}
  .nstat{padding:1.25rem 0.85rem;}
  .nstat-val{font-size:1.7rem;}
  .nstat-label{font-size:0.7rem;margin-top:0.4rem;}
  .photo-badge{left:-0.25rem;right:auto;bottom:-1rem;padding:0.65rem 0.85rem;gap:0.6rem;}
  .pbadge-icon{width:32px;height:32px;}
  .photo-initials{width:80px;height:80px;font-size:1.65rem;}
  .pullquote{padding:4rem 1.25rem;}
  .pullquote::before{font-size:7rem;top:0.5rem;}
  .pullquote blockquote{font-size:1.4rem;}
  .link-url-text{font-size:0.8rem;}
  .copy-btn{font-size:0.68rem;padding:0.42rem 0.8rem;}
  .inq-txt{font-size:0.78rem;}
  .inq-src{width:34px;font-size:0.58rem;}
  .faq-group-title{font-size:1.25rem;}
  .faq-still-title{font-size:1.05rem;}
  .price-card.featured::before{font-size:0.6rem;padding:0.32rem 0.75rem;}
  .dash-body{padding:1.25rem;}
  .dash-name{font-size:1.05rem;}
  .dmetric-v{font-size:1.15rem;}
  .footer-logo{font-size:1.1rem;}
  .footer-copy{font-size:0.74rem;}
  .footer-links{gap:0.75rem 1rem;}
  .footer-links a{font-size:0.8rem;}
}
@media (max-width:380px){
  nav{padding:0.65rem 1rem;}
  .logo-img{height:32px;}
  .nav-actions{gap:0.35rem;}
  .btn-wa-nav{padding:0.4rem 0.7rem;font-size:0.7rem;}
  .btn-wa-nav svg{width:12px;height:12px;}
  .btn-signin{padding:0.45rem 0.75rem;font-size:0.74rem;}
  .btn-trial{padding:0.45rem 0.85rem;font-size:0.74rem;}
  .hero{padding:2.5rem 1rem 3.5rem;}
  .hero h1{font-size:1.85rem;}
  .pivot-section,
  .features-section,
  .tour-section,
  .planner-link-section,
  .pricing-section,
  .roadmap-section,
  .faq-section,
  .bg-section,
  .story-section,
  .lessons-section,
  .milestones-section,
  .pullquote,
  .wa-section,
  .cta-band,
  .faq-hero,
  .about-hero{padding-left:1rem;padding-right:1rem;}
  .tl-item{grid-template-columns:68px 1fr;}
  .tl-yr-col{padding:1rem 0.4rem;}
  .tl-yr{font-size:1rem;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:0.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:0.01ms!important;
    scroll-behavior:auto!important;
  }
  .dash-card{transform:none!important;}
}
