:root{
  --navy:#062b60;
  --navy-2:#0c2246;
  --blue:#087df2;
  --cyan:#18c7ef;
  --green:#16a34a;
  --ink:#0b1f38;
  --muted:#617289;
  --line:#dce8f5;
  --bg:#f5f9ff;
  --white:#ffffff;
  --shadow:0 18px 50px rgba(4,39,85,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at top right,rgba(24,199,239,.14),transparent 28%),
    linear-gradient(180deg,#f8fbff 0,#fff 40%,#f5f9ff 100%);
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(1180px,92%);margin:0 auto}
.topbar{
  background:var(--navy-2);
  color:#d8ecff;
  font-size:13px;
}
.topbar .container{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding:10px 0;
}
.topbar a{color:#fff;font-weight:700}
header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid #e5eef8;
}
.header-inner{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:58px;height:58px;object-fit:contain}
.brand strong{font:800 22px Manrope,sans-serif;color:var(--navy)}
.brand span{display:block;font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.08em}
.nav{display:flex;gap:22px;font-size:14px;font-weight:700;color:#27435f}
.nav a:hover,.nav a.active{color:var(--blue)}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:0;
  border-radius:14px;
  padding:14px 20px;
  font-weight:800;
}
.btn-primary{
  background:linear-gradient(135deg,var(--blue),#025fc8);
  color:#fff;
  box-shadow:0 10px 26px rgba(8,125,242,.25);
}
.btn-outline{
  border:1px solid #bfd6ee;
  color:var(--navy);
  background:#fff;
}
.hero{padding:54px 0 42px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:42px;align-items:center}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#eaf6ff;
  color:#086ac7;
  border:1px solid #cbe9ff;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
h1{
  font:900 clamp(38px,5vw,70px)/.97 Manrope,sans-serif;
  margin:18px 0 16px;
  color:var(--navy-2);
  letter-spacing:-.05em;
}
h1 em{font-style:normal;color:var(--blue)}
.hero p{font-size:18px;line-height:1.72;color:#50647a;margin:0 0 26px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.meta-list{display:flex;flex-wrap:wrap;gap:10px}
.meta-pill{
  padding:9px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid #dbeaf7;
  font-size:12px;
  font-weight:800;
  color:#31506e;
}
.hero-card,.card,.service-card,.faq-card,.cta-card,.city-link,.hub-card{
  background:#fff;
  border:1px solid #dce8f5;
  box-shadow:var(--shadow);
}
.hero-card{
  border-radius:28px;
  padding:28px;
}
.hero-card h2{
  margin:0 0 10px;
  font:900 28px/1.06 Manrope,sans-serif;
  color:var(--navy);
}
.hero-card p{margin:0;color:#60768c;line-height:1.7;font-size:15px}
.quick-points{display:grid;gap:12px;margin-top:18px}
.quick-points div{
  padding:14px 16px;
  border-radius:18px;
  background:#f7fbff;
  border:1px solid #e3efff;
}
.quick-points strong{display:block;margin-bottom:4px}
.section{padding:44px 0}
.section h2{
  font:900 clamp(28px,3.6vw,44px)/1.04 Manrope,sans-serif;
  letter-spacing:-.04em;
  color:var(--navy-2);
  margin:0 0 12px;
}
.section-intro{
  max-width:820px;
  color:var(--muted);
  font-size:17px;
  line-height:1.75;
  margin-bottom:24px;
}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.card,.service-card,.faq-card,.hub-card{
  border-radius:24px;
  padding:22px;
}
.card h3,.service-card h3,.hub-card h3{
  margin:0 0 10px;
  font:900 22px/1.15 Manrope,sans-serif;
  color:var(--navy);
}
.card p,.service-card p,.hub-card p,.faq-card p{
  margin:0;
  color:#5c7187;
  line-height:1.72;
  font-size:15px;
}
.service-card ul,.faq-card ul,.hub-card ul{
  margin:12px 0 0 18px;
  padding:0;
  color:#5c7187;
  line-height:1.72;
}
.service-card li,.faq-card li,.hub-card li{margin-bottom:8px}
.badge-row{display:flex;flex-wrap:wrap;gap:10px}
.badge-chip{
  display:inline-flex;
  align-items:center;
  padding:10px 13px;
  border-radius:999px;
  background:#f4f9ff;
  border:1px solid #d6e7f8;
  font-size:13px;
  font-weight:800;
  color:#33516f;
}
.breadcrumb{
  font-size:13px;
  color:#57708a;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:14px;
}
.breadcrumb a{color:#0b66ff;font-weight:800}
.cta-card{
  border-radius:28px;
  padding:28px;
  background:linear-gradient(135deg,#062b60,#0d5aa5);
  color:#fff;
}
.cta-card h2,.cta-card h3{color:#fff}
.cta-card p{color:#d9ecff}
.cta-card .hero-actions{margin:18px 0 0}
footer{
  margin-top:30px;
  background:#06172d;
  color:#dce8f7;
  padding:44px 0 24px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  gap:24px;
  margin-bottom:22px;
}
.footer-brand{display:flex;align-items:center;gap:10px;font:900 22px Manrope,sans-serif}
.footer-brand img{width:50px;height:50px;object-fit:contain}
footer p,footer li,footer a{color:#9fb1c8;line-height:1.75;font-size:14px}
footer strong{display:block;color:#fff;margin-bottom:12px}
footer ul{margin:0;padding-left:18px}
.bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:18px;text-align:center;color:#93a8bf;font-size:13px}
@media(max-width:960px){
  .hero-grid,.grid-3,.grid-2,.footer-grid{grid-template-columns:1fr}
  .header-inner{padding:12px 0}
  .nav{display:none}
}
@media(max-width:620px){
  .container{width:92%;max-width:420px}
  .topbar .container{padding:8px 0;flex-direction:column;align-items:flex-start}
  .header-inner{min-height:70px}
  .brand img{width:44px;height:44px}
  .brand strong{font-size:18px}
  h1{font-size:34px}
  .hero p,.section-intro{font-size:14px}
  .hero-card,.card,.service-card,.faq-card,.cta-card,.hub-card{padding:18px;border-radius:20px}
  .section{padding:36px 0}
}
