:root{
  --navy-950:#0B1526; --navy-900:#0F1E3A; --navy-700:#1B3A66; --navy-600:#25467E;
  --heading:#1F4E8C;
  --butter:#F6C453; --butter-dark:#E8AC28; --white:#FFFFFF;
  --grey-100:#F0EEE8; --grey-200:#E3E0D8;
  --ink-600:#4E5566; --ink-400:#7A8195;
  --radius-lg:24px; --radius-md:16px;
  --shadow-soft:0 20px 60px -20px rgba(11,21,38,0.25);
  --shadow-card:0 12px 30px -12px rgba(11,21,38,0.18);
  --font-display:'Plus Jakarta Sans',sans-serif; --font-body:'Inter',sans-serif;
  --maxw:1180px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body); color:var(--navy-950); background:var(--white); line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
img{max-width:100%; display:block; height:auto;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
section{position:relative; background:var(--white);}
h1,h2,h3,h4{font-family:var(--font-display); font-weight:800; letter-spacing:-0.02em; color:var(--heading);}
h1{font-size:clamp(2.2rem,7vw,3.9rem); line-height:1.08;}
h2{font-size:clamp(1.7rem,5vw,2.7rem); line-height:1.14;}
h3{font-size:1.25rem; line-height:1.3;}
p{color:var(--ink-600);}
ul{list-style:none;}
.bullet li{position:relative; padding-left:20px;}
.bullet li::before{content:"\2022"; position:absolute; left:0; top:0; color:var(--ink-400); font-weight:700;}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:6px; font-family:var(--font-display); font-weight:700; font-size:0.92rem; padding:14px 20px; border-radius:999px; border:1px solid transparent; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; white-space:nowrap; width:auto; flex:0 0 auto;}
.btn-primary{background:var(--butter); color:var(--navy-950); box-shadow:0 10px 24px -10px rgba(246,196,83,0.7);}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 16px 30px -10px rgba(246,196,83,0.85); background:var(--butter-dark);}
.btn-ghost{background:transparent; border-color:var(--navy-900); color:var(--navy-950);}
.btn-ghost.on-dark{border-color:rgba(255,255,255,0.35); color:var(--white);}
.btn-sm{padding:10px 14px; font-size:0.82rem;}

.reveal{opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
.reveal.d1{transition-delay:.08s;} .reveal.d2{transition-delay:.16s;}
@media (prefers-reduced-motion: reduce){ .reveal{opacity:1; transform:none; transition:none;} html{scroll-behavior:auto;} }

.section-head{max-width:660px; margin:0 auto 28px; text-align:center;}
.section-head p{font-size:1.02rem; margin-top:12px;}

/* NAV — logo left, links center, CTA right */
.nav{position:sticky; top:0; z-index:50; background:rgba(255,255,255,0.94); backdrop-filter:blur(10px); border-bottom:1px solid var(--grey-200);}
.nav .wrap{display:flex; align-items:center; justify-content:space-between; height:70px; gap:12px;}
.logo{font-family:var(--font-display); font-weight:800; font-size:1.3rem; color:var(--heading); flex-shrink:0;}
.nav-links{display:flex; gap:28px; font-weight:600; font-size:0.9rem; color:var(--navy-700);}
.nav-links a:hover{color:var(--heading);}
@media (max-width:760px){ .nav-links{display:none;} }

/* HERO */
.hero{padding:44px 0 8px; overflow:hidden;}
.hero-inner{max-width:760px; margin:0 auto; text-align:center;}
.hero h1{margin-bottom:16px;}
.hero h1 .hl{position:relative; white-space:nowrap;}
.hero h1 .hl::after{content:""; position:absolute; left:-2%; right:-2%; bottom:4px; height:0.32em; background:var(--butter); z-index:-1; border-radius:6px; opacity:0.8;}
.hero p.sub{font-size:1.05rem; max-width:520px; margin:0 auto 24px;}
.hero-ctas{display:flex; justify-content:center; margin-bottom:14px;}
.hero-note{font-size:0.8rem; color:var(--ink-400); font-weight:500;}
.hero-visual{position:relative; max-width:920px; margin:32px auto 0; padding:0 6px;}
.hero-visual img.main-shot{position:relative; z-index:2; border-radius:16px; width:100%;}
.float-card{position:absolute; z-index:3; background:var(--white); border-radius:14px; box-shadow:var(--shadow-card); padding:12px 16px; animation:floaty 5s ease-in-out infinite;}
.float-card .fc-label{font-size:0.65rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-400); font-weight:700; margin-bottom:3px;}
.float-card .fc-value{font-family:var(--font-display); font-weight:800; font-size:1.05rem; color:var(--navy-950);}
.float-card.fc1{top:6%; left:1%;}
.float-card.fc2{bottom:8%; right:1%; animation-delay:1.2s;}
.float-card .badge{display:inline-flex; align-items:center; gap:6px; font-size:0.75rem; font-weight:700; color:#1E7A44;}
.float-card .badge::before{content:""; width:7px; height:7px; border-radius:50%; background:#2FBE5E;}
@keyframes floaty{0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);}}
@media (max-width:680px){ .float-card{padding:8px 11px;} .float-card .fc-value{font-size:0.88rem;} .float-card.fc1{top:3%; left:2%;} .float-card.fc2{bottom:5%; right:2%;} }
@media (max-width:460px){ .float-card{display:none;} }
@media (max-width:560px){ .hero h1 .hl{white-space:normal;} }

/* TRUST */
.trust{padding:36px 0; border-top:1px solid var(--grey-200); border-bottom:1px solid var(--grey-200);}
.trust .wrap{max-width:880px;}
.trust p{font-family:var(--font-display); font-weight:600; font-size:clamp(1.05rem,3.4vw,1.5rem); color:var(--heading); line-height:1.45; letter-spacing:-0.01em;}

/* PROBLEM */
.problem{padding:60px 0;}
.problem-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:36px; align-items:center; margin-top:28px;}
.problem .lede{font-size:1.08rem; color:var(--navy-900); font-weight:600; margin-bottom:14px;}
.problem p{margin-bottom:12px; font-size:0.98rem;}
.problem .kicker{font-family:var(--font-display); font-weight:800; color:var(--heading); font-size:1.05rem; margin-top:16px;}
.problem-shot{border-radius:18px; overflow:hidden; box-shadow:var(--shadow-soft); border:1px solid var(--grey-200);}
@media (max-width:900px){ .problem-grid{grid-template-columns:1fr; gap:24px;} .problem-shot{order:-1;} }
.problem-grid, .problem-grid > *{min-width:0;}

/* METHODOLOGY */
.methodology{padding:64px 0 52px;}
.flywheel-stage{position:relative; width:min(600px,90vw); aspect-ratio:1/1; margin:32px auto 0;}
.fw-ring{position:absolute; inset:9%; border-radius:50%; border:2px dashed rgba(31,78,140,0.28);}
.fw-pulse{position:absolute; top:0; left:0; width:16px; height:16px; margin:-8px; border-radius:50%; background:var(--butter); box-shadow:0 0 0 7px rgba(246,196,83,0.28); offset-path:circle(41% at 50% 50%); animation:travel 12s linear infinite;}
@keyframes travel{from{offset-distance:0%;} to{offset-distance:100%;}}
.fw-center{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:34%; aspect-ratio:1/1; border-radius:50%; background:var(--heading); display:flex; align-items:center; justify-content:center; flex-direction:column; box-shadow:var(--shadow-soft);}
.fw-center .fc-word{font-family:var(--font-display); font-weight:800; color:var(--white); font-size:clamp(1rem,4vw,1.6rem);}
.fw-center .fc-sub{font-size:0.6rem; color:rgba(255,255,255,0.6); text-transform:uppercase; letter-spacing:0.08em; margin-top:4px; font-weight:600;}
.fw-node{position:absolute; transform:translate(-50%,-50%); background:var(--white); border:1px solid var(--grey-200); box-shadow:var(--shadow-card); border-radius:999px; padding:9px 15px; white-space:nowrap; font-family:var(--font-display); font-weight:700; font-size:0.82rem; color:var(--navy-950); display:flex; align-items:center; gap:7px;}
.fw-node .n{width:19px; height:19px; border-radius:50%; background:var(--grey-100); color:var(--heading); font-size:0.65rem; display:flex; align-items:center; justify-content:center; font-weight:800; flex-shrink:0;}
@media (max-width:640px){ .flywheel-stage{width:min(520px,88vw);} .fw-node{font-size:0.62rem; padding:6px 9px; max-width:96px; white-space:normal; text-align:center; line-height:1.25; gap:4px;} .fw-node .n{width:14px; height:14px; font-size:0.53rem;} }
@media (max-width:340px){ .flywheel-stage{width:84vw;} .fw-node{max-width:76px; padding:5px 7px; font-size:0.56rem;} }

/* CAROUSEL */
.getgrid{padding:60px 0;}
.carousel{display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; padding:6px 4px 8px; scrollbar-width:none; margin-top:28px;}
.carousel::-webkit-scrollbar{display:none;}
.car-card{scroll-snap-align:start; flex:0 0 auto; width:min(300px,74vw); background:var(--white); border:1px solid var(--grey-200); border-radius:20px; overflow:hidden; box-shadow:var(--shadow-card); transition:transform .22s ease, box-shadow .22s ease;}
.car-card:hover{transform:translateY(-5px); box-shadow:var(--shadow-soft);}
.car-shot{height:180px; background:var(--grey-100); display:flex; align-items:center; justify-content:center; overflow:hidden; padding:12px;}
.car-shot img{width:100%; height:100%; object-fit:contain;}
.car-body{padding:18px 20px 22px;}
.car-body h3{font-size:0.98rem; margin-bottom:6px;}
.car-body p{font-size:0.87rem;}
.carousel-nav{display:flex; justify-content:center; gap:10px; margin-top:22px;}
.car-arrow{width:42px; height:42px; border-radius:50%; border:1.5px solid var(--grey-200); background:var(--white); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .18s ease, border-color .18s ease;}
.car-arrow:hover{background:var(--heading); border-color:var(--heading);}
.car-arrow:hover svg{stroke:var(--white);}
.car-arrow svg{width:16px; height:16px; stroke:var(--navy-950); transition:stroke .18s ease;}

/* BUILT FOR */
.builtfor{padding:60px 0;}
.builtfor-shot{max-width:720px; margin:28px auto 32px; border-radius:20px; overflow:hidden; box-shadow:var(--shadow-soft); border:1px solid var(--grey-200);}
.acc-list{max-width:840px; margin:0 auto; display:flex; flex-direction:column; gap:10px;}
.acc-item{border:1px solid var(--grey-200); border-radius:var(--radius-md); overflow:hidden; background:var(--white);}
.acc-head{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 22px; cursor:pointer; font-family:var(--font-display); font-weight:700; font-size:1.02rem; color:var(--navy-950);}
.acc-plus{width:24px; height:24px; border-radius:50%; background:var(--grey-100); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform .25s ease; font-weight:600;}
.acc-item.open .acc-plus{transform:rotate(45deg); background:var(--butter);}
.acc-body{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.acc-body-in{padding:0 22px 22px 22px;}
.acc-body-in ul{display:flex; flex-direction:column; gap:9px;}
.acc-body-in li{font-size:0.93rem; color:var(--ink-600);}

/* PRICING */
.included{padding:60px 0;}
.price-card{max-width:420px; margin:28px auto 0; background:var(--navy-950); border-radius:26px; padding:38px 32px; color:var(--white); text-align:center; box-shadow:var(--shadow-soft); position:relative; overflow:hidden;}
.price-card::before{content:""; position:absolute; top:-40%; right:-30%; width:70%; height:70%; background:radial-gradient(circle,rgba(246,196,83,0.35),transparent 70%);}
.price-card .pc-inner{position:relative; z-index:1;}
.price-amount{font-family:var(--font-display); font-weight:800; font-size:2.9rem; margin:6px 0 2px;}
.price-tag{font-size:0.8rem; color:rgba(255,255,255,0.55); font-weight:600; text-transform:uppercase; letter-spacing:0.05em; margin-bottom:18px;}
.price-list{text-align:left; display:flex; flex-direction:column; gap:11px; margin:18px 0 26px;}
.price-list li{font-weight:600; font-size:0.93rem; padding-left:20px; position:relative;}
.price-list li::before{content:"\2022"; position:absolute; left:0; top:0; color:rgba(255,255,255,0.5);}
.price-card .btn-primary{display:inline-flex;}

/* FAQ */
.faq{padding:60px 0;}
.faq-grid{max-width:900px; margin:28px auto 0; display:grid; grid-template-columns:1fr 1fr; gap:12px 16px; align-items:start;}
@media (max-width:700px){ .faq-grid{grid-template-columns:1fr;} }

/* FINAL CTA */
.final-cta{padding:72px 0; background:var(--navy-950); text-align:center;}
.final-cta h2{color:var(--white); margin-bottom:14px;}
.final-cta p{color:rgba(255,255,255,0.68); font-size:1rem; max-width:480px; margin:0 auto 26px;}

/* FOOTER */
footer{padding:40px 0 26px; background:var(--navy-950); border-top:1px solid rgba(255,255,255,0.1);}
footer .foot-top{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px; padding-bottom:22px; margin-bottom:18px; border-bottom:1px solid rgba(255,255,255,0.1);}
footer .logo{color:var(--white);}
footer .foot-line{color:rgba(255,255,255,0.5); font-size:0.85rem; max-width:320px;}
footer .foot-links{display:flex; gap:16px 22px; font-size:0.87rem; font-weight:600; color:rgba(255,255,255,0.75); flex-wrap:wrap;}
footer .foot-links a:hover{color:var(--butter);}
footer .foot-bottom{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:0.78rem; color:rgba(255,255,255,0.45);}
footer .foot-bottom a:hover{color:var(--butter);}

@media (max-width:520px){
  h1{font-size:clamp(1.9rem,8vw,2.6rem);}
  .wrap{padding:0 18px;}
  .car-card{width:82vw;}
}
