
:root{
  --bolt:#6B4DF5;
  --bolt-deep:#4F33D6;
  --ink:#171225;
  --ink-soft:#4A4360;
  --fog:#F7F6FB;
  --lavender:#E9E4FB;
  --spark:#FFC53D;
  --white:#FFFFFF;
  --radius:14px;
  --maxw:1120px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  font-size:16.5px;
}
h1,h2,h3{font-family:'Bricolage Grotesque',sans-serif;line-height:1.08;letter-spacing:-0.015em}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--bolt-deep);font-weight:500;display:block;margin-bottom:14px;
}
.btn{
  display:inline-block;font-weight:600;font-size:16px;
  padding:14px 28px;border-radius:999px;text-decoration:none;
  transition:transform .15s ease,box-shadow .15s ease;border:2px solid transparent;
}
.btn:focus-visible{outline:3px solid var(--spark);outline-offset:2px}
.btn-primary{background:var(--bolt);color:#fff;box-shadow:0 6px 18px rgba(107,77,245,.32)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(107,77,245,.4)}
.btn-ghost{border-color:var(--lavender);color:var(--ink)}
.btn-ghost:hover{background:var(--fog)}

/* ---------- Nav ---------- */
nav{
  position:sticky;top:0;z-index:50;background:#000;
  border-bottom:1px solid rgba(169,155,240,.25);
}
.logo-img{height:86px;width:auto;display:block}
footer .logo-img{height:54px}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:118px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:'Bricolage Grotesque';font-weight:800;font-size:21px;letter-spacing:-.01em}
.logo .va{color:var(--bolt)}
.bolt-mark{width:34px;height:34px;border-radius:50%;background:var(--lavender);display:grid;place-items:center;flex-shrink:0}
.bolt-mark svg{width:16px;height:16px}
.nav-links{display:flex;gap:30px;align-items:center;list-style:none}
.nav-links a{text-decoration:none;font-size:15px;font-weight:500;color:#C9C2E8}
.nav-links a:hover{color:#fff}
.nav-links .btn{padding:10px 22px;font-size:15px}
.nav-toggle{display:none}

/* ---------- Hero ---------- */
.hero{background:linear-gradient(180deg,var(--fog) 0%,var(--white) 100%);overflow:hidden;position:relative}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding-top:88px;padding-bottom:96px}
.hero h1{font-size:clamp(38px,5.4vw,62px);font-weight:800;margin-bottom:22px}
.hero h1 em{font-style:normal;color:var(--bolt);position:relative;white-space:nowrap}
.hero p.lede{font-size:19px;color:var(--ink-soft);max-width:34em;margin-bottom:32px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-sub{margin-top:18px;font-size:14px;color:var(--ink-soft)}

/* Momentum feed — signature element */
.momentum{
  background:var(--ink);border-radius:20px;padding:26px 24px;
  box-shadow:0 24px 60px rgba(23,18,37,.28);
  color:#EDEAFB;min-height:380px;position:relative;
}
.momentum-head{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#A99BF0}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--spark);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}
.feed{display:flex;flex-direction:column;gap:12px}
.feed-item{
  background:rgba(255,255,255,.06);border:1px solid rgba(169,155,240,.18);
  border-radius:12px;padding:13px 16px;font-size:14.5px;line-height:1.45;
  display:flex;gap:11px;align-items:flex-start;
  opacity:0;transform:translateY(10px);animation:rise .5s ease forwards;
}
.feed-item:nth-child(1){animation-delay:.2s}
.feed-item:nth-child(2){animation-delay:1.1s}
.feed-item:nth-child(3){animation-delay:2.0s}
.feed-item:nth-child(4){animation-delay:2.9s}
.feed-item:nth-child(5){animation-delay:3.8s}
@keyframes rise{to{opacity:1;transform:translateY(0)}}
.feed-item .tick{color:var(--spark);font-weight:700;flex-shrink:0}
.feed-item .ask{color:#A99BF0;font-weight:700;flex-shrink:0}
.feed-item time{display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;color:#8E84B8;margin-top:3px}
.momentum-foot{margin-top:18px;font-size:13px;color:#8E84B8;text-align:center}

/* ---------- Sections ---------- */
section{padding:88px 0}
.section-head{max-width:680px;margin-bottom:52px}
.section-head h2{font-size:clamp(28px,3.6vw,42px);font-weight:700;margin-bottom:14px}
.section-head p{font-size:17.5px;color:var(--ink-soft)}

/* Problem */
.problem{background:var(--white)}
.pain-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pain{
  background:var(--fog);border-radius:var(--radius);padding:26px 22px;
  border:1px solid var(--lavender);
}
.pain h3{font-size:18px;margin-bottom:8px;font-weight:700}
.pain p{font-size:14.5px;color:var(--ink-soft)}
.problem-close{margin-top:40px;font-size:19px;font-weight:600;max-width:38em}
.problem-close strong{color:var(--bolt-deep)}

/* How it's different */
.diff{background:var(--ink);color:#EDEAFB}
.diff .eyebrow{color:var(--spark)}
.diff .section-head p{color:#B7AEDB}
.diff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.diff-card{
  border:1px solid rgba(169,155,240,.22);border-radius:16px;padding:30px 28px;
  background:rgba(255,255,255,.04);
}
.diff-card h3{font-size:21px;margin-bottom:10px;color:#fff}
.diff-card p{font-size:15.5px;color:#B7AEDB}
.diff-card .tag{
  display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--spark);
  border:1px solid rgba(255,197,61,.4);border-radius:999px;padding:3px 10px;margin-bottom:14px;
}

/* Paths */
.paths{background:var(--fog)}
.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:56px}
.path{
  background:var(--white);border-radius:18px;padding:34px 32px;
  border:1px solid var(--lavender);
}
.path h3{font-size:23px;margin-bottom:10px}
.path p{color:var(--ink-soft);font-size:15.5px}
.path .which{margin-top:16px;font-size:14px;font-weight:600;color:var(--bolt-deep)}
.menu-block h3{font-size:21px;margin-bottom:20px}
.menu-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.menu-item{
  background:var(--white);border:1px solid var(--lavender);border-radius:12px;
  padding:16px 14px;font-size:13.5px;font-weight:500;line-height:1.4;
  display:flex;align-items:center;gap:9px;
}
.menu-item svg{flex-shrink:0;width:15px;height:15px}
.menu-note{margin-top:20px;font-size:14.5px;color:var(--ink-soft);max-width:46em}

/* Onboarding */
.onboard{background:var(--white)}
.stages{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.stage{padding:0 22px 0 0;position:relative}
.stage:not(:last-child)::after{
  content:"";position:absolute;top:19px;right:6px;left:auto;width:calc(100% - 56px);
  height:2px;background:var(--lavender);left:46px;
}
.stage-num{
  width:38px;height:38px;border-radius:50%;background:var(--bolt);color:#fff;
  font-family:'Bricolage Grotesque';font-weight:700;font-size:16px;
  display:grid;place-items:center;margin-bottom:16px;position:relative;z-index:1;
}
.stage h3{font-size:18px;margin-bottom:8px}
.stage p{font-size:14.5px;color:var(--ink-soft)}
.avatar-callout{
  margin-top:52px;background:var(--lavender);border-radius:18px;padding:34px 36px;
  display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;
}
.avatar-icon{
  width:60px;height:60px;border-radius:16px;background:var(--bolt);
  display:grid;place-items:center;flex-shrink:0;
}
.avatar-callout h3{font-size:21px;margin-bottom:6px}
.avatar-callout p{font-size:15.5px;color:var(--ink-soft)}
.onboard-promise{
  margin-top:36px;font-family:'Bricolage Grotesque';font-size:clamp(20px,2.6vw,27px);
  font-weight:600;max-width:30em;line-height:1.35;
}
.onboard-promise span{color:var(--bolt)}

/* Pricing */
.pricing{background:var(--fog)}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tier{
  background:var(--white);border-radius:18px;padding:36px 30px;
  border:1px solid var(--lavender);display:flex;flex-direction:column;
}
.tier.featured{border:2px solid var(--bolt);box-shadow:0 16px 40px rgba(107,77,245,.16);position:relative}
.tier.featured .flag{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--spark);color:var(--ink);font-size:12px;font-weight:700;
  padding:4px 14px;border-radius:999px;letter-spacing:.04em;
}
.tier h3{font-size:23px;margin-bottom:4px}
.tier .for{font-size:14px;color:var(--ink-soft);margin-bottom:22px}
.tier ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:28px}
.tier li{font-size:15px;padding-left:26px;position:relative}
.tier li::before{content:"";position:absolute;left:0;top:6px;width:15px;height:15px;border-radius:50%;background:var(--lavender)}
.tier li::after{content:"✓";position:absolute;left:3px;top:0;font-size:11px;color:var(--bolt-deep);font-weight:700}
.tier li.inherit{color:var(--ink-soft);font-style:italic}
.tier li.inherit::before,.tier li.inherit::after{display:none}
.tier li.inherit{padding-left:0}
.tier .btn{margin-top:auto;text-align:center}
.pricing-note{margin-top:30px;font-size:15px;color:var(--ink-soft);max-width:46em}
.pricing-note strong{color:var(--ink)}

/* Why us */
.why{background:var(--white)}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.proof{display:flex;flex-direction:column;gap:0}
.proof-item{padding:22px 0;border-bottom:1px solid var(--lavender);display:flex;gap:18px;align-items:baseline}
.proof-item:first-child{border-top:1px solid var(--lavender)}
.proof-num{font-family:'Bricolage Grotesque';font-size:34px;font-weight:800;color:var(--bolt);min-width:120px;line-height:1}
.proof-item p{font-size:15.5px;color:var(--ink-soft)}

/* CTA */
.cta{background:var(--ink);color:#fff;text-align:center}
.cta h2{font-size:clamp(30px,4.4vw,50px);font-weight:800;margin-bottom:18px}
.cta h2 span{color:var(--spark)}
.cta p{font-size:18px;color:#B7AEDB;max-width:36em;margin:0 auto 34px}

/* Footer */
footer{background:#000;color:#8E84B8;border-top:1px solid rgba(169,155,240,.18);padding:34px 0;font-size:14px}
.foot-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.foot-inner .logo{font-size:17px;color:#fff}
.foot-inner .bolt-mark{width:28px;height:28px;background:rgba(233,228,251,.12)}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr;padding-top:56px;padding-bottom:64px}
  .pain-grid{grid-template-columns:repeat(2,1fr)}
  .diff-grid{grid-template-columns:1fr}
  .path-grid{grid-template-columns:1fr}
  .menu-grid{grid-template-columns:repeat(2,1fr)}
  .stages{grid-template-columns:1fr;gap:28px}
  .stage:not(:last-child)::after{display:none}
  .tiers{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr;gap:36px}
  .nav-links{display:none}
  .logo-img{height:auto;width:min(64vw,290px)}
  .nav-toggle{display:block;background:none;border:none;cursor:pointer;padding:8px}
  .nav-toggle svg{width:24px;height:24px}
  nav.open .nav-links{
    display:flex;flex-direction:column;position:absolute;top:118px;left:0;right:0;
    background:#000;padding:20px 24px;border-bottom:1px solid rgba(169,155,240,.22);
    align-items:flex-start;gap:18px;
  }
}
@media (max-width:560px){
  .wrap{padding-left:25px;padding-right:25px}
  .pain-grid{grid-template-columns:1fr}
  .avatar-callout{grid-template-columns:1fr}
  section{padding:64px 0}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .feed-item{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ---------- Subpages ---------- */
.foot-links a{text-decoration:none;color:#C9C2E8}
.foot-links a:hover{color:#fff}
.page-head{background:linear-gradient(180deg,var(--fog) 0%,var(--white) 100%);padding:72px 0 56px}
.page-head h1{font-size:clamp(32px,4.6vw,52px);font-weight:800;margin-bottom:14px}
.page-head p{font-size:18px;color:var(--ink-soft);max-width:38em}
.prose{max-width:760px;padding:56px 0 88px}
.prose h2{font-size:24px;margin:40px 0 12px}
.prose h3{font-size:18px;margin:26px 0 8px}
.prose p,.prose li{font-size:16px;color:var(--ink-soft);margin-bottom:14px}
.prose ul{padding-left:22px}
.prose .updated{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--ink-soft);letter-spacing:.08em}
.draft-note{background:var(--lavender);border-radius:12px;padding:16px 20px;font-size:14.5px;color:var(--ink);margin:24px 0}
