 :root {
  --blue: #0b3f88;
  --blue-dark: #061e45;
  --blue-bright: #1688d8;
  --ink: #0b1c35;
  --muted: #61708a;
  --line: #dce5f0;
  --pale: #f4f8fc;
  --white: #fff;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: Manrope, sans-serif; }
a { color: inherit; text-decoration: none; }
.container { width: min(1160px, calc(100% - 48px)); margin: auto; }
.site-header { position: absolute; z-index: 10; top: 0; left: 0; right: 0; }
.nav-wrap { display:flex; align-items:center; justify-content:space-between; padding: 24px 0; }
.brand img { width: 190px; height:auto; display:block; }
.nav { display:flex; align-items:center; gap: 32px; font-size: 13px; font-weight: 700; color:#17345e; }
.nav a { transition: color .2s; }
.nav a:hover { color: var(--blue-bright); }
.nav-cta { border:1px solid #b9cce3; padding: 12px 16px; border-radius: 30px; }
.nav-cta span, .button span { margin-left: 10px; }
.menu-toggle { display:none; border:0; background:none; font-size:25px; color:var(--blue); }
.hero { min-height: 760px; position:relative; overflow:hidden; background:linear-gradient(115deg,#f8fbff 0%,#eef5fc 58%,#fff 100%); }
.hero-grid { position:absolute; inset:0; opacity:.45; background-image: linear-gradient(#dce8f5 1px, transparent 1px), linear-gradient(90deg,#dce8f5 1px,transparent 1px); background-size: 70px 70px; mask-image: linear-gradient(to right, black, transparent 80%); }
.hero-content { position:relative; z-index:2; padding-top: 190px; }
.eyebrow { display:flex; align-items:center; gap:10px; text-transform:uppercase; letter-spacing:2px; color:var(--blue); font-size:11px; font-weight:800; }
.pulse { width:8px; height:8px; border-radius:50%; background:var(--blue-bright); box-shadow:0 0 0 7px #1688d81c; }
h1,h2,h3 { font-family:"Space Grotesk",sans-serif; margin:0; }
h1 { font-size:clamp(58px,8vw,108px); line-height:.95; letter-spacing:-5px; margin:28px 0; font-weight:700; }
h1 em,h2 em { font-style:normal; color:var(--blue-bright); }
.hero-copy { max-width:480px; color:var(--muted); font-size:16px; line-height:1.8; }
.hero-actions { display:flex; gap:14px; margin-top:34px; }
.button { display:inline-flex; align-items:center; justify-content:center; padding:15px 21px; border-radius:4px; font-size:13px; font-weight:800; }
.button-primary { background:var(--blue); color:#fff; box-shadow:0 10px 24px #0b3f8825; }
.button-ghost { border:1px solid #b8cbe1; color:var(--blue); }
.button-light { background:#fff; color:var(--blue); margin-top:28px; }
.hero-meta { display:flex; gap:42px; margin-top:70px; }
.hero-meta div { display:flex; gap:12px; align-items:flex-start; }
.hero-meta strong { font-family:"Space Grotesk"; color:var(--blue-bright); font-size:12px; }
.hero-meta span { color:#6d7e96; font-size:11px; line-height:1.5; text-transform:uppercase; letter-spacing:1px; }
.orbit { position:absolute; border:1px solid #8bb7df; border-radius:50%; opacity:.65; }
.orbit-one { width:800px; height:800px; right:-260px; top:40px; transform:rotate(-25deg); }
.orbit-two { width:580px; height:580px; right:-120px; top:150px; border-color:#b8d5ed; }
.hero-mark { position:absolute; right:11%; top:37%; font-family:"Space Grotesk"; font-size:230px; line-height:1; color:#0b3f8808; font-weight:700; transform:rotate(-12deg); }
.hero-mark span { color:#1688d810; font-size:160px; }
.statement { padding:125px 0; }
.statement-grid { display:grid; grid-template-columns: 1fr 2fr; gap:70px; }
.section-label { color:var(--blue-bright); font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:800; }
h2 { font-size:clamp(36px,4vw,58px); letter-spacing:-2.5px; line-height:1.05; margin-bottom:28px; }
.statement p { color:var(--muted); line-height:1.9; max-width:690px; font-size:15px; }
.capabilities { background:var(--pale); padding:100px 0; }
.section-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:35px; }
.section-top p { color:var(--muted); font-size:13px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.cap-card { background:#fff; border:1px solid var(--line); min-height:330px; padding:30px; position:relative; transition:transform .25s, box-shadow .25s; }
.cap-card:hover { transform:translateY(-6px); box-shadow:0 18px 45px #0b3f8810; }
.cap-card.featured { background:var(--blue); color:#fff; border-color:var(--blue); }
.card-number { font-size:11px; letter-spacing:2px; opacity:.55; }
.icon { font-size:40px; margin:35px 0 25px; color:var(--blue-bright); }
.featured .icon { color:#8bd1ff; }
.cap-card h3 { font-size:22px; margin-bottom:14px; }
.cap-card p { color:var(--muted); font-size:13px; line-height:1.8; }
.featured p { color:#c7d9ef; }
.cap-card a { position:absolute; bottom:28px; color:var(--blue); font-size:12px; font-weight:800; }
.featured a { color:#fff; }
.cap-card a span { margin-left:8px; }
.approach { padding:120px 0; }
.approach-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.steps { border-top:1px solid var(--line); }
.step { display:grid; grid-template-columns:55px 1fr; gap:18px; padding:25px 0; border-bottom:1px solid var(--line); }
.step > span { color:var(--blue-bright); font-family:"Space Grotesk"; font-weight:700; }
.step h3 { font-size:21px; margin-bottom:8px; }
.step p { margin:0; color:var(--muted); font-size:13px; line-height:1.8; }
.cta { background:var(--blue-dark); color:#fff; padding:110px 0; position:relative; overflow:hidden; }
.cta:after { content:""; position:absolute; width:500px; height:500px; border:1px solid #ffffff18; border-radius:50%; right:-100px; top:-200px; }
.cta-inner { position:relative; z-index:1; }
.cta .section-label { color:#78c6f5; }
.cta h2 { margin-top:25px; font-size:clamp(44px,6vw,80px); }
.cta p { color:#b7c8df; font-size:15px; }
footer { padding:28px 0; background:#04142e; color:#93a7c1; }
.footer-wrap { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.footer-wrap img { width:140px; filter:brightness(0) invert(1); opacity:.9; }
footer p, .footer-links { font-size:11px; }
.footer-links { display:flex; gap:18px; }
@media (max-width: 760px) {
  .container { width:calc(100% - 36px); }
  .brand img { width:150px; }
  .menu-toggle { display:block; }
  .nav { display:none; position:absolute; top:75px; left:18px; right:18px; background:#fff; padding:20px; box-shadow:0 12px 30px #0b3f8820; flex-direction:column; align-items:stretch; gap:20px; }
  .nav.open { display:flex; }
  .nav-cta { text-align:center; }
  .hero { min-height:700px; }
  .hero-content { padding-top:145px; }
  h1 { letter-spacing:-3px; font-size:58px; }
  .hero-meta { gap:18px; margin-top:45px; }
  .hero-meta span { font-size:9px; }
  .orbit-one { right:-430px; }
  .orbit-two { right:-350px; }
  .statement, .approach { padding:80px 0; }
  .statement-grid, .approach-grid { grid-template-columns:1fr; gap:35px; }
  .cards { grid-template-columns:1fr; }
  .section-top { display:block; }
  .section-top p { margin-top:15px; }
  .footer-wrap { flex-direction:column; align-items:flex-start; }
}
