:root{
  --ink:#08111f;
  --navy:#071426;
  --navy2:#0d223a;
  --blue:#005eb8;
  --blue2:#0e6fff;
  --cyan:#00a7df;
  --text:#172033;
  --body:#46566f;
  --muted:#6b7890;
  --line:#d9e1ec;
  --line2:#edf1f7;
  --bg:#ffffff;
  --soft:#f5f8fc;
  --soft2:#eef4fb;
  --card:#ffffff;
  --shadow:0 16px 42px rgba(8,17,31,.08);
  --radius:6px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, Arial, Helvetica, sans-serif;
  color:var(--text);
  background:#fff;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--max),92%);margin:0 auto}
.utility{
  background:#06101d;
  color:#c6d6e8;
  font-size:13px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.utility .container{
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}
.utility a{color:#e3eefb}
.header{
  position:sticky;
  top:0;
  z-index:99;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(12px);
}
.nav{
  height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.logo{
  display:flex;
  align-items:center;
  gap:14px;
  color:var(--navy);
  font-weight:800;
  letter-spacing:-.02em;
  white-space:nowrap;
}
.logo-mark{
  width:46px;
  height:46px;
  border:1px solid #b8c9dd;
  display:grid;
  place-items:center;
  background:#fff;
}
.logo-mark svg{width:34px;height:34px}
.logo small{
  display:block;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--blue);
  font-weight:800;
  margin-top:-2px;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:28px;
  color:#22314a;
  font-size:15px;
  font-weight:700;
}
.nav-links a:not(.btn):hover{color:var(--blue)}
.mobile-toggle{
  display:none;
  background:white;
  border:1px solid var(--line);
  padding:8px 11px;
  font-size:20px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 18px;
  border-radius:3px;
  border:1px solid transparent;
  font-weight:800;
  font-size:15px;
  cursor:pointer;
  transition:.16s ease;
}
.btn.primary{
  background:var(--blue);
  color:white;
  border-color:var(--blue);
}
.btn.primary:hover{background:#004f9b;border-color:#004f9b}
.btn.outline{
  background:white;
  color:var(--blue);
  border-color:#a9c7e6;
}
.btn.outline:hover{border-color:var(--blue);background:#f4f9ff}
.btn.dark{
  background:var(--navy);
  color:white;
}
.hero{
  background:
    linear-gradient(90deg, rgba(7,20,38,.94), rgba(7,20,38,.88)),
    linear-gradient(135deg,#071426,#143554);
  color:white;
  border-bottom:1px solid #0f2b47;
}
.hero-inner{
  display:grid;
  grid-template-columns:1fr 420px;
  gap:56px;
  align-items:center;
  padding:92px 0 86px;
}
.eyebrow{
  color:#8bd8ff;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:12px;
  font-weight:900;
}
h1,h2,h3,h4{margin:0;line-height:1.15;color:inherit}
h1{
  font-size:clamp(44px,5vw,72px);
  letter-spacing:-.055em;
  margin:14px 0 22px;
  max-width:850px;
}
h2{
  font-size:clamp(30px,3.4vw,48px);
  letter-spacing:-.038em;
}
h3{font-size:22px;letter-spacing:-.018em}
p{margin:0}
.lead{
  color:#d7e6f5;
  font-size:20px;
  line-height:1.55;
  max-width:820px;
}
.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:32px;
}
.hero-aside{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);
  padding:28px;
}
.aside-title{
  color:#fff;
  font-weight:900;
  margin-bottom:18px;
}
.metric-list{
  display:grid;
  gap:16px;
}
.metric{
  padding:0 0 16px;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.metric:last-child{border-bottom:0;padding-bottom:0}
.metric strong{
  display:block;
  color:#8bd8ff;
  font-size:28px;
  line-height:1;
  margin-bottom:6px;
}
.metric span{color:#d7e6f5;font-size:14px}
.band{
  background:#fff;
  border-bottom:1px solid var(--line);
}
.band-inner{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
}
.band-item{
  min-height:96px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:20px 14px;
  border-left:1px solid var(--line2);
  color:#33435d;
  font-weight:800;
}
.band-item:last-child{border-right:1px solid var(--line2)}
.section{padding:86px 0}
.section.soft{background:var(--soft)}
.section.navy{
  background:var(--navy);
  color:white;
}
.section-head{
  display:grid;
  grid-template-columns:.92fr 1fr;
  gap:42px;
  align-items:end;
  margin-bottom:42px;
}
.section-head p{
  color:var(--body);
  font-size:17px;
}
.navy .section-head p{color:#c8d7e8}
.card-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{
  background:var(--card);
  border:1px solid var(--line);
  padding:30px;
  min-height:228px;
}
.card:hover{box-shadow:var(--shadow)}
.card .num{
  display:block;
  color:var(--blue);
  font-weight:900;
  font-size:13px;
  letter-spacing:.12em;
  margin-bottom:18px;
}
.card h3{margin-bottom:12px}
.card p{color:var(--body)}
.navy .card{
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.16);
}
.navy .card p{color:#c8d7e8}
.navy .card .num{color:#8bd8ff}
.split{
  display:grid;
  grid-template-columns:.96fr 1.04fr;
  gap:58px;
  align-items:center;
}
.copy p{
  color:var(--body);
  font-size:17px;
  margin-top:18px;
}
.feature-table{
  border:1px solid var(--line);
  background:white;
}
.feature-row{
  display:grid;
  grid-template-columns:190px 1fr;
  gap:22px;
  padding:24px;
  border-bottom:1px solid var(--line);
}
.feature-row:last-child{border-bottom:0}
.feature-row strong{color:var(--navy)}
.feature-row p{color:var(--body)}
.solution-list{
  border-top:1px solid var(--line);
}
.solution-item{
  display:grid;
  grid-template-columns:280px 1fr 180px;
  gap:26px;
  padding:28px 0;
  border-bottom:1px solid var(--line);
  align-items:start;
}
.solution-item h3{color:var(--navy)}
.solution-item p{color:var(--body)}
.solution-link{
  color:var(--blue);
  font-weight:900;
  text-align:right;
}
.industry-card{
  min-height:172px;
  padding:24px;
}
.industry-card h3{font-size:18px;margin-bottom:10px}
.industry-card p{font-size:15px;color:var(--body)}
.cta{
  background:var(--navy);
  color:white;
  padding:46px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
}
.cta p{
  color:#c8d7e8;
  margin-top:12px;
  max-width:820px;
}
.page-hero{
  background:#0b1c31;
  color:white;
  padding:66px 0;
  border-bottom:1px solid #153753;
}
.page-hero h1{
  font-size:clamp(38px,4.5vw,62px);
  margin-bottom:18px;
}
.page-hero p{
  color:#d7e6f5;
  font-size:19px;
  max-width:860px;
}
.breadcrumb{
  color:#8bd8ff;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
  margin-bottom:14px;
}
.platform-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border:1px solid var(--line);
  background:white;
}
.platform-card{
  padding:30px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  min-height:210px;
}
.platform-card:nth-child(even){border-right:0}
.platform-card:nth-last-child(-n+2){border-bottom:0}
.platform-card .platform-name{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:start;
  margin-bottom:14px;
}
.platform-card span{
  color:var(--blue);
  font-weight:900;
  font-size:13px;
  letter-spacing:.12em;
}
.platform-card p{color:var(--body)}
.contact-layout{
  display:grid;
  grid-template-columns:1fr 390px;
  gap:34px;
  align-items:start;
}
form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
label{
  color:#1f2e45;
  font-weight:800;
  font-size:14px;
}
.full{grid-column:1 / -1}
input,select,textarea{
  width:100%;
  margin-top:8px;
  padding:13px 14px;
  border:1px solid #c9d4e3;
  border-radius:2px;
  font:inherit;
  background:white;
  color:var(--text);
}
textarea{min-height:170px;resize:vertical}
.form-note{
  color:var(--muted);
  font-size:13px;
  grid-column:1 / -1;
}
.contact-card{
  border:1px solid var(--line);
  background:white;
  padding:28px;
}
.contact-block{
  padding:18px 0;
  border-bottom:1px solid var(--line);
}
.contact-block:first-child{padding-top:0}
.contact-block:last-child{border-bottom:0;padding-bottom:0}
.contact-block strong{display:block;color:var(--navy);margin-bottom:5px}
.contact-block a{color:var(--blue);font-weight:800}
.footer{
  background:#06101d;
  color:#c8d7e8;
  padding:54px 0 24px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.25fr repeat(4,1fr);
  gap:34px;
}
.footer h4{
  color:white;
  margin-bottom:12px;
  font-size:15px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.footer a{
  display:block;
  color:#b7c9de;
  margin:8px 0;
  font-size:14px;
}
.footer p{color:#b7c9de;font-size:14px}
.footer-bottom{
  margin-top:38px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  color:#879bb4;
  font-size:13px;
}
@media(max-width:980px){
  .hero-inner,.section-head,.split,.contact-layout{grid-template-columns:1fr}
  .hero-aside{max-width:560px}
  .card-grid-3{grid-template-columns:1fr 1fr}
  .card-grid-4{grid-template-columns:1fr 1fr}
  .solution-item{grid-template-columns:1fr}
  .solution-link{text-align:left}
  .footer-grid{grid-template-columns:1fr 1fr}
  .band-inner{grid-template-columns:repeat(2,1fr)}
  .platform-grid{grid-template-columns:1fr}
  .platform-card,.platform-card:nth-child(even){border-right:0}
  .platform-card:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
  .platform-card:last-child{border-bottom:0}
}
@media(max-width:760px){
  .utility{display:none}
  .nav{height:70px}
  .mobile-toggle{display:block}
  .nav-links{
    display:none;
    position:absolute;
    top:70px;
    left:0;
    right:0;
    background:white;
    border-bottom:1px solid var(--line);
    padding:20px 4%;
    flex-direction:column;
    align-items:flex-start;
    gap:16px;
  }
  .nav-links.open{display:flex}
  .hero-inner{padding:62px 0}
  .lead{font-size:18px}
  .hero-aside{display:none}
  .section{padding:62px 0}
  .card-grid-3,.card-grid-4{grid-template-columns:1fr}
  .feature-row{grid-template-columns:1fr}
  .cta{grid-template-columns:1fr;padding:30px}
  .footer-grid{grid-template-columns:1fr}
  form{grid-template-columns:1fr}
}