:root{
  --violet:#5B4BD4; --violet-dark:#4436B3; --violet-tint:#EFEDFB;
  --coral:#FF6B4A; --coral-dark:#E04E2E; --sun:#FFC93C; --sun-dark:#8A6A00;
  --ink:#221E3F; --text:#332F52; --muted:#6E6A8A; --line:#E5E2F2;
  --bg:#FDFCFA; --card:#FFFFFF;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Manrope',sans-serif;color:var(--text);background:var(--bg);font-size:16.5px;line-height:1.65}
h1,h2,h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;color:var(--ink);line-height:1.12}
h1{font-size:46px;letter-spacing:-.01em}
h2{font-size:33px;margin-bottom:14px}
h3{font-size:19px}
.container{max-width:1080px;margin:0 auto;padding:0 24px}
section{padding:88px 0}
.eyebrow{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--violet);background:var(--violet-tint);padding:6px 14px;border-radius:99px;margin-bottom:16px}
.section-sub{color:var(--muted);max-width:600px;margin-bottom:44px}
.squig{position:relative;white-space:nowrap}
.squig svg{position:absolute;left:0;bottom:-8px;width:100%;height:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 15px 'Manrope',sans-serif;
  border:2px solid transparent;border-radius:99px;height:52px;padding:0 28px;cursor:pointer;text-decoration:none;
  transition:background .18s,border-color .18s,color .18s,transform .1s}
.btn:active{transform:scale(.98)}
.btn:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.btn-primary{background:var(--violet);color:#fff}
.btn-primary:hover{background:var(--violet-dark)}
.btn-coral{background:var(--coral);color:#fff}
.btn-coral:hover{background:var(--coral-dark)}
.btn-outline{background:transparent;color:var(--violet);border-color:var(--violet)}
.btn-outline:hover{background:var(--violet);color:#fff}
.btn-ghost{background:transparent;color:var(--violet);padding:0 10px}
.btn-ghost:hover{color:var(--coral)}
header{position:sticky;top:0;background:rgba(253,252,250,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:50}
.nav{height:74px;display:flex;align-items:center;justify-content:space-between}
.logo{font-family:'Bricolage Grotesque',sans-serif;font-size:23px;font-weight:700;color:var(--ink);text-decoration:none}
.logo span{color:var(--coral)}
.nav-links{display:flex;gap:30px;list-style:none}
.nav-links a{color:var(--text);text-decoration:none;font-weight:600;font-size:14.5px}
.nav-links a:hover{color:var(--violet)}
.nav-drop{position:relative;display:flex;align-items:center;gap:4px}
.nav-drop-toggle{background:none;border:none;padding:2px;cursor:pointer;color:var(--text);display:flex;align-items:center}
.nav-drop-toggle svg{width:10px;height:10px;transition:transform .15s}
.nav-drop.open .nav-drop-toggle svg{transform:rotate(180deg)}
.nav-submenu{display:none;position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%);background:#fff;
  border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(34,30,63,.16);padding:8px;min-width:230px;z-index:60}
.nav-drop.open .nav-submenu{display:block}
.nav-submenu a{display:block;padding:9px 14px;border-radius:9px;font-weight:600;font-size:14px;color:var(--text)!important;text-decoration:none;white-space:nowrap}
.nav-submenu a:hover{background:var(--violet-tint);color:var(--violet)!important}
@media (max-width:900px){
  .nav-submenu{position:static;transform:none;box-shadow:none;border:none;padding:4px 0 4px 14px;margin-top:6px;display:none}
  .nav-drop.open .nav-submenu{display:block}
  .nav-drop{flex-wrap:wrap}
}
@media (min-width:901px){.nav-drop:hover .nav-submenu{display:block}}
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px}
.burger span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;border-radius:2px}
.promo{background:var(--ink);color:#EDEBFA;font-size:14px;padding:10px 0}
.promo .container{display:flex;justify-content:center;gap:14px;align-items:center;flex-wrap:wrap;text-align:center}
.promo a{color:var(--sun);font-weight:700;text-decoration:none}