
:root{
  --container:1400px;
  --bg-top:#f4f8ff; --bg-bot:#e6eeff;
  --text:#0f1324; --muted:#4a5878;
  --blue:#0f2b7a; --blueBright:#2460FF; --red:#d12028; --card:#ffffff;
  --line:#c7d6fb;
  --pill:#eef3ff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;color:var(--text)}
body{font-family:Montserrat,Oswald,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(180deg,var(--bg-top),var(--bg-bot)) fixed}
a{color:var(--blue);text-decoration:none} a:hover{opacity:.9}
.container{max-width:var(--container);margin:0 auto;padding:0 40px}
.row{display:flex;gap:24px} .row.wrap{flex-wrap:wrap} .row.between{justify-content:space-between} .row.center{align-items:center}
.gap-sm{gap:10px} .gap-md{gap:16px} .gap-lg{gap:28px} .gap-xl{gap:44px}
.grid-2{display:grid;grid-template-columns:1.25fr 1fr;gap:64px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}

/* Topbar */
.topbar{position:sticky;top:0;z-index:50;background:#fff;backdrop-filter:blur(8px);border-bottom:2px solid var(--line)}
.logo{height:64px;object-fit:contain}
.nav a{margin:0 12px;color:#18203a;font-weight:900;letter-spacing:.02em}
.nav a:hover{color:var(--blueBright)}
.hide-sm{display:none} @media(min-width:900px){.hide-sm{display:inline-flex}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:18px 26px;border-radius:14px;font-weight:900;transition:.2s;letter-spacing:.02em}
.btn-lg{padding:20px 30px;font-size:18px}
.btn-primary{background:var(--blueBright);color:#fff;border:2px solid transparent}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(36,96,255,.25)}
.btn-ghost{border:2px solid #c9d3ea;color:#18203a;background:#ffffffa0}
.btn-ghost:hover{background:#fff}

/* Hero */
.hero{position:relative;overflow:hidden;padding:140px 0 120px}
.hero-bg{position:absolute;inset:0;background:
  radial-gradient(1200px 600px at 20% -10%, rgba(36,96,255,.14), transparent 60%),
  radial-gradient(1000px 640px at 80% 120%, rgba(209,46,46,.12), transparent 60%);
  pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:center}
@media(max-width:1100px){.hero-grid{grid-template-columns:1fr}}
.headline{font-family:Oswald,Montserrat,sans-serif;font-weight:900;letter-spacing:.01em;font-size:78px;line-height:1.02;margin:0 0 16px;color:#0a1850}
.headline.single{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.subhead{margin:0 0 20px;color:#1e2b49;font-weight:800;font-size:24px;letter-spacing:.01em}
.cta-row{display:flex;gap:18px;margin:30px 0 12px}
.badge{border:2px solid #c9d3ea;background:#fff;padding:8px 12px;border-radius:999px;font-weight:900;font-size:12px;color:#1e2b49}
.badge.success{border-color:var(--blueBright);background:#e7eeff}

/* Earth canvas + fallback */
.earth-wrap{position:relative;max-width:720px;aspect-ratio:1/1;justify-self:center;margin:0 auto;filter:drop-shadow(0 22px 42px rgba(31,50,120,.25))}
#earthCanvas{width:100%;height:100%;display:block;border-radius:16px;background:linear-gradient(180deg,#eaf1ff,#f7fbff)}
.earth-fallback{position:absolute;inset:0;display:grid;place-items:center}
.globe-fallback{width:80%;height:80%;animation:spin 36s linear infinite}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* Trustbar */
.trustbar{border-top:2px solid var(--line);border-bottom:2px solid var(--line);background:#fff}
.trust-title{color:#1e2b49;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.pill{border:2px solid #c9d3ea;background:var(--pill);padding:10px 16px;border-radius:999px;font-size:14px;font-weight:900;letter-spacing:.02em}

/* Sections */
.section{padding:120px 0;border-top:2px solid var(--line)}
.section.alt{background:linear-gradient(180deg,var(--bg-top),var(--bg-bot))}
.section-title{font-family:Oswald,Montserrat,sans-serif;font-size:50px;margin:0 0 18px;font-weight:900;letter-spacing:.01em;color:var(--blue)}
.section-sub{color:#2a3b62;margin:0 0 36px;font-size:20px}

/* Services emphasis */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.service-card{background:#ffffff;border:2px solid #cfe0ff;border-radius:20px;padding:32px;box-shadow:0 14px 34px rgba(9,18,40,.10)}
.sc-title{font-family:Oswald,Montserrat,sans-serif;font-size:22px;letter-spacing:.08em;color:#0a1850;border-left:10px solid var(--red);padding-left:12px;margin-bottom:10px}
.sc-sub{color:#0f1324;font-weight:900;margin-bottom:12px}
.service-card ul{margin:0 0 0 20px;color:#2a3b62;line-height:1.9}

/* Chips */
.chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}
.chips.big .chip{font-size:15px;padding:12px 16px}
.chip{border:2px solid #cfe0ff;background:#fff;padding:10px 14px;border-radius:999px;font-size:14px;font-weight:900}

/* About + Contact Cards */
.lead.larger{color:#1b2646;font-size:20px;line-height:2}
.contact-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;align-content:start}
.card.xl{background:#fff;border:2px solid #cfe0ff;border-radius:18px;padding:24px 26px;box-shadow:0 12px 30px rgba(9,18,40,.08);display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}
.card .emoji{font-size:28px}
.card .label{font-weight:900;color:#0a1850;letter-spacing:.02em}
.card .value{font-weight:800;color:#0f2b7a}
.tone1{background:linear-gradient(180deg,#ffffff,#f5f9ff)}
.tone2{background:linear-gradient(180deg,#ffffff,#f4faff)}
.tone3{background:linear-gradient(180deg,#ffffff,#f7fbff)}
.tone4{background:linear-gradient(180deg,#ffffff,#f3f8ff)}

/* Footer */
.footer{border-top:2px solid var(--line);padding:36px 0;background:#fff}

/* Responsive */
@media(max-width:1300px){:root{--container:1180px}}
@media(max-width:980px){:root{--container:940px} .grid-2{grid-template-columns:1fr} .hero-grid{grid-template-columns:1fr} .service-grid{grid-template-columns:1fr 1fr} .headline{font-size:60px} .contact-cards{grid-template-columns:1fr}}
@media(max-width:640px){:root{--container:92vw} .service-grid, .grid-3{grid-template-columns:1fr} .headline{font-size:46px}}
