:root{
  --navy:#222243;
  --navy-dark:#181830;
  --mint:#bfe0cf;
  --mint-soft:#e7f4ec;
  --white:#ffffff;
  --ink:#3a3a55;
  --muted:#6b6b85;
  --border:#e4e4ee;
  --radius:18px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color:var(--navy);
  background:var(--white);
  line-height:1.6;
}
a{text-decoration:none; color:inherit;}
img{max-width:100%; display:block;}
ul{list-style:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
section{padding:96px 0;}
h1,h2,h3{font-weight:800; letter-spacing:-0.02em; line-height:1.1;}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--navy); background:var(--mint-soft); border:1px solid var(--mint);
  padding:7px 16px; border-radius:999px; margin-bottom:22px;
}
.eyebrow.on-dark{background:rgba(191,224,207,.12); border-color:rgba(191,224,207,.3); color:var(--mint);}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:15px 30px; border-radius:999px; font-weight:700; font-size:15px;
  transition:all .2s ease; cursor:pointer; border:2px solid transparent;
}
.btn-primary{background:var(--navy); color:var(--white);}
.btn-primary:hover{background:var(--navy-dark); transform:translateY(-2px);}
.btn-outline{border-color:var(--navy); color:var(--navy);}
.btn-outline:hover{background:var(--navy); color:var(--white); transform:translateY(-2px);}
.btn-mint{background:var(--mint); color:var(--navy);}
.btn-mint:hover{background:var(--white); transform:translateY(-2px);}

/* NAV */
header{
  position:sticky; top:0; z-index:100; background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--border);
}
nav{display:flex; align-items:center; justify-content:space-between; padding:16px 28px; max-width:1180px; margin:0 auto;}
.logo img{height:38px; width:auto;}
.nav-links{display:flex; align-items:center; gap:34px;}
.nav-links a{font-weight:600; font-size:14.5px; color:var(--navy); opacity:.8;}
.nav-links a:hover, .nav-links a.active{opacity:1;}
.nav-cta .btn{padding:11px 22px; font-size:14px;}

/* PAGE HERO (sub-pages) */
.page-hero{padding:90px 0 60px; text-align:center; position:relative; overflow:hidden;}
.page-hero::before{
  content:""; position:absolute; top:-220px; left:50%; transform:translateX(-50%);
  width:900px; height:480px; background:radial-gradient(closest-side, var(--mint-soft), transparent 70%);
  z-index:-1;
}
.page-hero h1{font-size:clamp(32px,5vw,54px); max-width:820px; margin:0 auto 20px;}
.page-hero p.lead{font-size:18px; color:var(--muted); max-width:640px; margin:0 auto 32px;}
.page-hero .hero-ctas{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

/* HOME HERO */
.hero{padding:110px 0 70px; text-align:center; position:relative; overflow:hidden;}
.hero::before{
  content:""; position:absolute; top:-200px; left:50%; transform:translateX(-50%);
  width:900px; height:500px; background:radial-gradient(closest-side, var(--mint-soft), transparent 70%);
  z-index:-1;
}
.hero h1{font-size:clamp(36px,5.6vw,64px); max-width:900px; margin:0 auto 22px;}
.hero p.lead{font-size:19px; color:var(--muted); max-width:640px; margin:0 auto 36px;}
.hero-ctas{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-bottom:56px;}
.pill-row{display:flex; gap:12px; justify-content:center; flex-wrap:wrap;}
.pill{
  background:var(--white); border:1px solid var(--border); padding:9px 18px;
  border-radius:999px; font-size:13.5px; font-weight:600; color:var(--ink);
}

/* PARTNER STRIP */
.partner-strip{background:var(--navy); padding:22px 0; overflow:hidden;}
.partner-strip .wrap{display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; text-align:center;}
.partner-strip p{color:var(--mint); font-weight:700; font-size:13.5px; letter-spacing:.06em; text-transform:uppercase;}
.partner-strip span{color:rgba(255,255,255,.55); font-size:13.5px;}

/* LOGO MARQUEE */
.logo-marquee{background:var(--navy); padding:44px 0; overflow:hidden;}
.logo-marquee .eyebrow-row{text-align:center; margin-bottom:26px;}
.logo-marquee .eyebrow-row span{
  color:rgba(255,255,255,.5); font-weight:700; font-size:12.5px; letter-spacing:.1em; text-transform:uppercase;
}
.logo-track-wrap{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.logo-track{
  display:flex; align-items:center; gap:64px; width:max-content;
  animation:logo-scroll 28s linear infinite;
}
.logo-track:hover{animation-play-state:paused;}
.logo-track img{
  height:42px; width:auto; max-width:170px; object-fit:contain; flex:0 0 auto;
  filter:brightness(0) invert(1); opacity:.85; transition:opacity .2s ease;
}
.logo-track img:hover{opacity:1;}
@keyframes logo-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@media (max-width:560px){
  .logo-track{gap:40px;}
  .logo-track img{height:32px;}
}

/* SECTION HEAD */
.section-head{text-align:center; max-width:680px; margin:0 auto 56px;}
.section-head .eyebrow{margin-bottom:16px;}
.section-head h2{font-size:clamp(28px,3.6vw,40px); margin-bottom:14px;}
.section-head p{color:var(--muted); font-size:16.5px;}

/* GRIDS */
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:24px;}

.card{
  background:var(--white); border:1px solid var(--border); border-radius:var(--radius);
  padding:30px 26px; transition:all .2s ease;
}
.card:hover{border-color:var(--mint); box-shadow:0 20px 40px -20px rgba(34,34,67,.18); transform:translateY(-4px);}
.card .tag{
  display:inline-block; font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.07em;
  color:var(--navy); background:var(--mint-soft); padding:4px 12px; border-radius:999px; margin-bottom:16px;
}
.card h3{font-size:19px; margin-bottom:10px;}
.card p{color:var(--muted); font-size:14.5px; margin-bottom:16px;}
.card a.link{font-weight:700; font-size:14px; color:var(--navy); border-bottom:2px solid var(--mint);}

/* PANEL */
.panel{
  background:var(--white); border-radius:var(--radius); padding:38px; border:1px solid var(--mint);
}
.panel h3{font-size:22px; margin-bottom:12px;}
.panel p{color:var(--ink); font-size:15px;}
.panel .tag{color:var(--navy); font-weight:700; font-size:12.5px; text-transform:uppercase; letter-spacing:.07em; display:block; margin-bottom:10px;}

/* STEPS */
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.step{position:relative; padding-top:14px;}
.step .num{font-size:44px; font-weight:900; color:var(--mint); margin-bottom:10px; line-height:1;}
.step h3{font-size:18px; margin-bottom:10px;}
.step p{color:var(--muted); font-size:14.5px;}

/* CHECK LIST */
.check-list li{list-style:none; display:flex; gap:14px; margin-bottom:26px;}
.check-list .check{
  flex:0 0 30px; height:30px; width:30px; border-radius:50%; background:var(--navy); color:var(--mint);
  display:flex; align-items:center; justify-content:center; font-weight:900; font-size:14px;
}
.check-list h3{font-size:16.5px; margin-bottom:4px;}
.check-list p{color:var(--muted); font-size:14.5px;}
.check-list.on-dark h3{color:var(--white);}
.check-list.on-dark p{color:rgba(255,255,255,.6);}

/* SIMPLE BULLET LIST (dash style, for investment/pricing) */
.dash-list li{position:relative; padding-left:26px; margin-bottom:16px; font-size:15.5px; color:var(--ink);}
.dash-list li::before{content:"—"; position:absolute; left:0; color:var(--mint); font-weight:700;}
.dash-list strong{color:var(--navy);}

/* WHY / VISUAL PANEL */
.dark-panel{background:var(--navy-dark); border-radius:28px; max-width:1124px; margin:0 auto 96px; padding:70px 50px;}
.dark-panel-inner{max-width:1080px; margin:0 auto;}
.why-wrap{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; margin-top:22px;}
.why-visual{
  background:var(--navy); border-radius:24px; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; padding:60px;
}

/* FAQ */
.faq{max-width:800px; margin:0 auto;}
.faq-item{border-bottom:1px solid var(--border); padding:26px 0;}
.faq-item h3{font-size:17px; margin-bottom:10px;}
.faq-item p{color:var(--muted); font-size:15px;}
.faq-item a{color:var(--navy); font-weight:700; border-bottom:2px solid var(--mint);}

/* CTA BANNER */
.cta-banner{
  background:var(--navy); border-radius:28px; padding:70px 50px; text-align:center; margin:0 28px;
  max-width:1124px; margin-left:auto; margin-right:auto;
}
.cta-banner h2{color:var(--white); font-size:clamp(26px,3.4vw,38px); max-width:640px; margin:0 auto 16px;}
.cta-banner p{color:rgba(255,255,255,.7); max-width:560px; margin:0 auto 32px; font-size:16px;}

/* CONTACT FORM */
.contact-wrap{display:grid; grid-template-columns:0.8fr 1.2fr; gap:50px; align-items:flex-start;}
.contact-info h3{font-size:15px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin-bottom:8px;}
.contact-info .item{margin-bottom:32px;}
.contact-info .item p{font-size:17px; font-weight:600;}
.contact-form{background:var(--mint-soft); border:1px solid var(--mint); border-radius:var(--radius); padding:36px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
.form-group{margin-bottom:16px;}
.form-group label{display:block; font-size:13px; font-weight:700; margin-bottom:6px; color:var(--navy);}
.form-group input, .form-group select, .form-group textarea{
  width:100%; padding:13px 16px; border-radius:10px; border:1px solid var(--border);
  font-family:inherit; font-size:14.5px; background:var(--white); color:var(--navy);
}
.form-group textarea{resize:vertical; min-height:110px;}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{outline:2px solid var(--mint);}

/* BLOG / INSIGHTS */
.blog-empty{
  text-align:center; padding:60px 40px; border:1px dashed var(--border); border-radius:var(--radius);
  max-width:640px; margin:0 auto; color:var(--muted);
}
.blog-empty h3{color:var(--navy); font-size:20px; margin-bottom:10px;}

/* FOOTER */
footer{background:var(--navy-dark); color:rgba(255,255,255,.7); padding:70px 0 30px; margin-top:40px;}
.footer-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,.1);}
.footer-grid img{height:34px; margin-bottom:16px;}
.footer-grid p{font-size:14px; max-width:280px; color:rgba(255,255,255,.55);}
.footer-grid h4{color:var(--white); font-size:13px; text-transform:uppercase; letter-spacing:.07em; margin-bottom:18px;}
.footer-grid li{margin-bottom:12px; font-size:14.5px;}
.footer-grid li a:hover{color:var(--mint);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:26px; font-size:13px; flex-wrap:wrap; gap:10px; color:rgba(255,255,255,.45);}

@media (max-width:900px){
  .nav-links{display:none;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;}
  .steps{grid-template-columns:repeat(2,1fr);}
  .why-wrap{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .contact-wrap{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .grid-4{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  section{padding:64px 0;}
  .cta-banner{padding:46px 24px;}
  .dark-panel{padding:46px 24px;}
}
