
:root{
  --navy:#071B2A;
  --navy-2:#0B2A45;
  --blue:#155BFF;
  --cyan:#24C6DC;
  --text:#071B2A;
  --muted:#5E6A7C;
  --soft:#F6FAFF;
  --line:#D8E5F3;
  --white:#fff;
  --shadow:0 20px 60px rgba(7,27,42,.12);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:#fff;
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 42px));margin:0 auto}
.header{
  position:sticky;top:0;z-index:30;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(216,229,243,.8);
}
.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center}
.logo img{width:255px;height:auto}
.menu{display:flex;align-items:center;gap:30px;font-weight:750}
.menu a{color:#172435}
.menu a:hover,.menu a.active{color:var(--blue)}
.btn{
  display:inline-flex;align-items:center;gap:10px;justify-content:center;
  border-radius:999px;
  padding:14px 24px;
  font-weight:800;
  border:1px solid transparent;
  transition:.2s ease;
  cursor:pointer;
  font-family:inherit;
}
.btn-primary{background:linear-gradient(135deg,var(--blue),#1297f5);color:white;box-shadow:0 12px 28px rgba(21,91,255,.26)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(21,91,255,.32)}
.btn-outline{border-color:var(--blue);color:var(--blue);background:rgba(255,255,255,.72)}
.btn-dark{background:var(--navy);color:white}
.mobile-toggle{display:none;border:0;background:var(--navy);color:#fff;border-radius:12px;padding:10px 12px;font-size:22px}

.hero{
  position:relative;
  min-height:690px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:linear-gradient(90deg,#fff 0%,#f7fbff 42%,#e5f6ff 100%);
}
.hero::after{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,#fff 0%,rgba(255,255,255,.94) 34%,rgba(255,255,255,.45) 56%,rgba(7,27,42,.1) 100%),
    url('../assets/hero-city.svg') right center/auto 100% no-repeat;
  z-index:0;
}
.hero .container{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.eyebrow{color:var(--blue);font-weight:900;letter-spacing:.13em;text-transform:uppercase;font-size:13px}
h1,h2,h3{font-family:Poppins,Inter,sans-serif;line-height:1.08;margin:0 0 18px}
h1{font-size:clamp(42px,5vw,72px);letter-spacing:-.045em}
h2{font-size:clamp(32px,3.4vw,52px);letter-spacing:-.035em}
h3{font-size:22px}
.lead{font-size:clamp(18px,2vw,23px);color:var(--muted);max-width:650px}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin:30px 0}
.partner-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px;color:#506175;font-weight:800;font-size:14px}
.partner-pill{border-left:2px solid var(--line);padding-left:18px}
.hero-cards{
  min-height:450px;
  position:relative;
}
.floating-card{
  position:absolute;
  width:178px;
  min-height:125px;
  padding:22px;
  border-radius:18px;
  background:rgba(255,255,255,.48);
  border:1px solid rgba(255,255,255,.72);
  backdrop-filter:blur(10px);
  box-shadow:var(--shadow);
  text-align:center;
  font-weight:850;
}
.floating-card .icon{font-size:34px;color:var(--blue);display:block;margin-bottom:10px}
.fc1{top:30px;left:10px}
.fc2{top:22px;right:140px}
.fc3{top:85px;right:0}
.fc4{bottom:70px;left:110px;background:rgba(7,27,42,.55);color:#fff}
.fc5{bottom:40px;right:70px;background:rgba(7,27,42,.65);color:#fff}
.section{padding:88px 0}
.section.soft{background:var(--soft)}
.section.dark{background:linear-gradient(135deg,#071B2A,#0B2A45);color:white}
.center{text-align:center}
.section-title{max-width:760px;margin:0 auto 46px}
.section-title p{color:var(--muted);font-size:18px}
.dark .section-title p,.dark p{color:#C9D7E8}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.card{
  background:white;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:30px;
  box-shadow:0 10px 30px rgba(7,27,42,.06);
}
.card:hover{transform:translateY(-4px);transition:.2s ease;box-shadow:var(--shadow)}
.card-icon{
  width:58px;height:58px;border-radius:18px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(36,198,220,.14),rgba(21,91,255,.14));
  color:var(--blue);
  font-size:28px;
  margin-bottom:18px;
}
.card p{color:var(--muted)}
.list{padding-left:0;list-style:none;margin:18px 0 0}
.list li{margin:10px 0;padding-left:28px;position:relative;color:#35475F}
.list li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:900}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;text-align:center}
.stat strong{display:block;font-size:40px;color:#60A5FF;font-family:Poppins,sans-serif}
.stat span{color:#fff;font-weight:750}
.page-hero{
  padding:95px 0 65px;
  background:linear-gradient(135deg,#071B2A,#0B2A45);
  color:#fff;
  position:relative;overflow:hidden;
}
.page-hero:after{content:"";position:absolute;inset:auto -150px -210px auto;width:520px;height:520px;border-radius:999px;background:#155BFF;opacity:.22;filter:blur(10px)}
.page-hero p{color:#C9D7E8;max-width:760px;font-size:20px}
.solution-card{display:flex;flex-direction:column;gap:12px}
.tag{display:inline-flex;width:max-content;padding:7px 12px;border-radius:999px;background:#EAF2FF;color:var(--blue);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.cta{
  border-radius:32px;
  padding:52px;
  background:linear-gradient(135deg,#EAF6FF,#fff);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.footer{
  background:#061724;color:#DDE9F8;padding:52px 0 24px
}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.footer img{width:230px;filter:brightness(1.2)}
.footer h4{color:white;margin:0 0 14px}
.footer a{display:block;color:#B8C9DB;margin:8px 0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:22px;color:#96A9BB;font-size:14px}
.form-card{
  background:white;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:var(--shadow)
}
input,select,textarea{
  width:100%;padding:17px 18px;border-radius:16px;border:1px solid #D4E1F0;
  margin-bottom:16px;font:inherit;background:white
}
textarea{min-height:150px;resize:vertical}
.form-note{background:#F0F6FF;border-left:4px solid var(--blue);padding:18px;border-radius:16px;color:#36506D}
.success-box{background:#F0FFF7;border:1px solid #A7F3D0;padding:18px;border-radius:16px;margin-top:16px;color:#075E3E}
@media (max-width:980px){
  .mobile-toggle{display:block}
  .menu{display:none;position:absolute;top:86px;left:0;right:0;background:white;flex-direction:column;align-items:flex-start;padding:22px;border-bottom:1px solid var(--line)}
  .menu.open{display:flex}
  .hero-grid,.grid-2{grid-template-columns:1fr}
  .hero{min-height:auto;padding:76px 0}
  .hero::after{opacity:.55;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.9) 100%),url('../assets/hero-city.svg') right bottom/cover no-repeat}
  .hero-cards{display:none}
  .grid-4,.grid-3,.stats,.footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .container{width:min(100% - 28px,1180px)}
  .nav{height:74px}.logo img{width:205px}.menu{top:74px}
  .grid-4,.grid-3,.stats,.footer-grid{grid-template-columns:1fr}
  .section{padding:62px 0}
  .cta{padding:30px}
  .hero-actions{flex-direction:column}
  .btn{width:100%}
}
