:root{
  --navy:#08183f;
  --navy-2:#0c2558;
  --navy-3:#102f6f;
  --blue:#4f6cff;
  --blue-2:#6e8aff;
  --soft-blue:#5f84ff;
  --ink:#0a1430;
  --text:#101936;
  --muted:#6c7f9e;
  --line:#dfe6f3;
  --panel:#f5f7fc;
  --white:#ffffff;
  --page:#f0f3f8;
  --shadow:0 22px 48px rgba(7,24,63,.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:#eceff4;
  color:var(--text);
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}

.page-shell{
  width:min(100%, 1120px);
  margin:0 auto 24px;
  padding-top:76px;
  background:var(--white);
  box-shadow:0 18px 60px rgba(0,0,0,.08);
  overflow:visible;
}

.site-header{
  position:fixed;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:min(100%, 1120px);
  z-index:3000;
  background:linear-gradient(90deg, #07173d 0%, #112554 65%, #163067 100%);
  box-shadow:0 8px 24px rgba(4,16,45,.10);
}
.nav-inner{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:0 26px;
}
.brand-logo{
  width:142px;
  height:auto;
}
.desktop-nav{
  display:flex;
  align-items:center;
  gap:18px;
}
.desktop-nav a{
  color:rgba(255,255,255,.90);
  font-size:11px;
  line-height:1;
  font-weight:500;
}
.nav-cta{
  background:#5470ff;
  color:#fff !important;
  padding:9px 14px;
  border-radius:10px;
  font-weight:700 !important;
  box-shadow:0 8px 22px rgba(79,108,255,.28);
}
.nav-cta span{margin-left:4px}
.menu-toggle{
  display:none;
  border:none;
  background:none;
  color:#fff;
  font-size:28px;
  cursor:pointer;
}
.mobile-nav{
  display:none;
  padding:0 26px 20px;
  background:linear-gradient(90deg, #07173d 0%, #112554 65%, #163067 100%);
  flex-direction:column;
  gap:14px;
}
.mobile-nav a{
  color:#fff;
  font-size:14px;
  font-weight:600;
}

.hero{
  position:relative;
  min-height:500px;
  display:grid;
  grid-template-columns:1.04fr .96fr;
  background:linear-gradient(90deg, #07173d 0%, #0b1e4d 36%, #12306b 70%, #eaf1ff 100%);
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(7,23,61,.96) 0%, rgba(8,28,73,.82) 43%, rgba(8,28,73,.18) 68%, rgba(255,255,255,.05) 100%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0) 30%),
    url("assets/decor/reference-building-bg.png") center right/cover no-repeat;
  opacity:1;
}
.hero-copy,
.hero-visual{
  position:relative;
  z-index:2;
}
.hero-copy{
  padding:52px 28px 34px 28px;
}
.section-label{
  margin:0 0 12px;
  font-size:10px;
  letter-spacing:.36em;
  font-weight:800;
  color:#6f84aa;
}
.section-label.inverse{color:#89a5db}
.section-label.center{
  text-align:center;
}
.centered-left{margin-bottom:10px}
.hero h1{
  margin:0;
  font-size:28px;
  line-height:.98;
  letter-spacing:-.055em;
  font-weight:900;
  color:#fff;
}
.hero h1 span{color:#6f8cff}
.hero-text{
  margin:16px 0 0;
  max-width:345px;
  color:rgba(255,255,255,.82);
  font-size:12.6px;
  line-height:1.55;
}
.button-row{
  display:flex;
  gap:10px;
  margin-top:22px;
  flex-wrap:wrap;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:42px;
  padding:0 18px;
  border-radius:11px;
  font-size:12.5px;
  font-weight:700;
}
.btn-primary{
  background:linear-gradient(135deg, #4f6cff 0%, #6a86ff 100%);
  color:#fff;
  box-shadow:0 14px 28px rgba(79,108,255,.24);
}
.btn-dark{
  background:rgba(8,20,48,.32);
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
}
.btn.small{
  min-height:38px;
  padding:0 16px;
  font-size:12px;
  margin-top:20px;
}
.micro-proof{
  display:flex;
  gap:18px;
  margin-top:58px;
  flex-wrap:wrap;
}
.micro-proof span{
  position:relative;
  font-size:9px;
  letter-spacing:.38em;
  font-weight:800;
  color:#768fbe;
}
.micro-proof span + span::before{
  content:"•";
  position:absolute;
  left:-12px;
  top:0;
  color:#5576be;
}
.hero-visual{
  padding:44px 30px 26px 0;
}
.hero-mark{
  position:absolute;
  right:125px;
  top:48px;
  width:300px;
  filter:drop-shadow(0 0 18px rgba(90,122,255,.35)) drop-shadow(0 0 60px rgba(90,122,255,.22));
}
.side-copy{
  position:absolute;
  font-size:10px;
  line-height:1.55;
  letter-spacing:.30em;
  font-weight:700;
  color:rgba(14,28,58,.48);
  text-align:center;
}
.side-copy.top{
  right:43px;
  top:170px;
}
.side-copy.bottom{
  right:16px;
  bottom:52px;
  color:rgba(255,255,255,.46);
}

.foundation{
  display:grid;
  grid-template-columns:.56fr .44fr;
  min-height:253px;
  background:
    linear-gradient(90deg, #fbfcfe 0 63%, rgba(248,250,255,.88) 63% 100%),
    url("assets/decor/mountains.svg") right bottom/62% auto no-repeat;
}
.foundation-copy{
  padding:28px 30px 24px 28px;
}
.foundation h2{
  margin:0 0 10px;
  font-size:31px;
  line-height:.98;
  letter-spacing:-.05em;
  font-weight:900;
  color:#0a1431;
}
.foundation h2 span{color:#5470ff}
.foundation p{
  max-width:365px;
  color:#7a8aa4;
  font-size:12.5px;
  line-height:1.62;
}
.vision-points{
  list-style:none;
  margin:16px 0 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:9px;
}
.vision-points li{
  position:relative;
  padding-left:16px;
  color:#5b6c8a;
  font-size:11.5px;
  font-weight:600;
  line-height:1.5;
}
.vision-points li::before{
  content:"";
  position:absolute;
  left:0;
  top:6px;
  width:6px;
  height:6px;
  border-radius:2px;
  background:#5470ff;
}
.foundation-visual{
  position:relative;
  padding:30px 38px 26px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.foundation-visual::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.78) 42%, rgba(255,255,255,.10) 100%),
    url("assets/decor/reference-building-bg.png") center right/cover no-repeat;
}
.snapshot-card{
  position:relative;
  z-index:2;
  width:min(100%, 342px);
  background:rgba(255,255,255,.86);
  border:1px solid rgba(228,234,244,.95);
  border-radius:16px;
  box-shadow:0 14px 38px rgba(18,31,66,.08);
  overflow:hidden;
  backdrop-filter:blur(6px);
}
.snapshot-row{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:14px 16px;
  border-bottom:1px solid #edf1f6;
}
.snapshot-row:last-child{border-bottom:none}
.snapshot-row span{
  color:#8a97ae;
  font-size:11px;
}
.snapshot-row strong{
  color:#0d1634;
  font-size:11px;
  font-weight:800;
  text-align:right;
}

.systems-band{
  display:grid;
  grid-template-columns:120px 1.15fr .7fr;
  align-items:center;
  gap:14px;
  min-height:190px;
  background:linear-gradient(90deg, #07173d 0%, #0b1d49 50%, #081538 100%);
  padding:0 28px;
}
.systems-icon-wrap{
  display:flex;
  justify-content:center;
}
.systems-icon-box{
  width:126px;
  height:126px;
  border-radius:24px;
  background:radial-gradient(circle at 50% 38%, rgba(101,132,255,.35), rgba(18,34,83,.94) 55%);
  box-shadow:
    inset 0 0 0 1px rgba(93,123,255,.55),
    0 0 22px rgba(85,115,255,.32);
  display:flex;
  align-items:center;
  justify-content:center;
}
.systems-icon{
  width:74px;
  filter:drop-shadow(0 0 14px rgba(94,124,255,.48));
}
.systems-copy{
  padding-left:24px;
}
.systems-copy h2{
  margin:0 0 12px;
  color:#fff;
  font-size:22px;
  line-height:1.02;
  letter-spacing:-.05em;
  font-weight:900;
}
.systems-copy h2 span{color:#6f8cff}
.systems-copy p{
  max-width:370px;
  color:#c3d0ef;
  font-size:12px;
  line-height:1.6;
}
.systems-side{
  min-height:110px;
  padding-left:22px;
  border-left:1px solid rgba(255,255,255,.10);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.systems-side p{
  margin:0 0 14px;
  color:#c7d3ec;
  font-size:12px;
  line-height:1.65;
}
.systems-side a{
  color:#6f8cff;
  font-size:12px;
  font-weight:700;
}
.systems-side a span{margin-left:4px}
.pillar-list{
  list-style:none;
  margin:0 0 16px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:9px;
}
.pillar-list li{
  position:relative;
  padding-left:15px;
  color:#c7d3ec;
  font-size:12px;
  font-weight:600;
  line-height:1.5;
}
.pillar-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:6px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#6f8cff;
}

.capabilities{
  padding:28px 28px 36px;
  background:#ffffff;
}
.capabilities-intro{
  text-align:center;
  max-width:760px;
  margin:0 auto 24px;
}
.capabilities-intro h2{
  margin:0 0 8px;
  font-size:20px;
  line-height:1.1;
  letter-spacing:-.045em;
  font-weight:900;
  color:#111b39;
}
.capabilities-intro h2 span{color:#4f6cff}
.capabilities-intro p{
  color:#7f8ea7;
  font-size:11px;
  line-height:1.55;
}
.capability-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
}
.cap-card{
  background:#fff;
  border:1px solid #e7ecf5;
  border-radius:12px;
  padding:18px 18px 14px;
  box-shadow:0 8px 24px rgba(16,31,66,.04);
}
.cap-icon{
  width:28px;
  height:28px;
  margin-bottom:14px;
  border-radius:8px;
  position:relative;
}
.cap-icon::before,
.cap-icon::after{
  content:"";
  position:absolute;
  inset:0;
  border:2px solid #6e8aff;
  border-radius:8px;
}
.icon-1::after{
  inset:7px;
  border-radius:50%;
}
.icon-2::before{
  transform:rotate(45deg);
}
.icon-2::after{
  inset:8px;
  transform:rotate(45deg);
}
.icon-3::before{
  border-radius:50%;
}
.icon-3::after{
  inset:8px;
  border-radius:50%;
}
.icon-4::before{
  inset:0;
}
.icon-4::after{
  inset:8px 8px 0 0;
}
.icon-5::before{
  transform:rotate(10deg);
}
.icon-5::after{
  inset:7px;
  transform:rotate(-10deg);
}
.icon-6::before{
  border-radius:50%;
}
.icon-6::after{
  inset:9px;
  border-radius:50%;
}
.cap-card h3{
  margin:0 0 8px;
  font-size:12.5px;
  line-height:1.35;
  font-weight:800;
  color:#182347;
}
.cap-card p{
  min-height:66px;
  color:#7b8ba6;
  font-size:10.5px;
  line-height:1.62;
}
.cap-card a{
  color:#4f6cff;
  font-size:11px;
  font-weight:800;
}
.cap-card a span{margin-left:4px}

.trust{
  padding:38px 28px 42px;
  background:linear-gradient(90deg, #07173d 0%, #0b1d49 50%, #081538 100%);
}
.trust-intro{
  max-width:640px;
  margin:0 auto 32px;
  text-align:center;
}
.trust-intro h2{
  margin:0 0 10px;
  font-size:26px;
  line-height:1.08;
  letter-spacing:-.05em;
  font-weight:900;
  color:#fff;
}
.trust-intro h2 span{color:#6f8cff}
.trust-intro p{
  color:#aebbdd;
  font-size:12px;
  line-height:1.6;
  max-width:520px;
  margin:0 auto;
}
.trust-grid{
  max-width:1020px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
}
.trust-item{
  padding:20px 18px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.03);
}
.trust-icon{
  width:26px;
  height:26px;
  margin-bottom:14px;
  position:relative;
}
.trust-icon::before,
.trust-icon::after{
  content:"";
  position:absolute;
  border:2px solid #6e8aff;
}
.icon-shield::before{
  inset:0;
  border-radius:50%;
}
.icon-shield::after{
  inset:7px;
  border-radius:2px;
  transform:rotate(45deg);
}
.icon-eye::before{
  inset:0;
  border-radius:50%;
}
.icon-eye::after{
  inset:10px;
  border-radius:50%;
}
.icon-pulse::before{
  inset:0;
  border-radius:2px;
}
.icon-pulse::after{
  inset:6px;
  border-radius:2px;
  transform:rotate(12deg);
}
.icon-scan::before{
  inset:0;
  border-radius:50%;
}
.icon-scan::after{
  inset:7px;
  border-radius:2px;
}
.trust-item h3{
  margin:0 0 7px;
  font-size:12.5px;
  font-weight:800;
  color:#fff;
}
.trust-item p{
  margin:0;
  color:#aebbdd;
  font-size:10.5px;
  line-height:1.6;
}

.company{
  position:relative;
  padding:22px 28px 0;
  background:
    linear-gradient(180deg, #f8fbff 0%, #f8fbff 70%, #e7efff 100%);
}
.company-skyline{
  position:absolute;
  inset:auto 0 0 0;
  height:92px;
  background:url("assets/decor/mountains.svg") center bottom/cover no-repeat;
  opacity:.92;
}
.company-intro{
  position:relative;
  z-index:2;
  max-width:760px;
  margin:0 auto 22px;
  text-align:center;
}
.company-intro h2{
  margin:0 0 10px;
  font-size:20px;
  line-height:1.08;
  letter-spacing:-.045em;
  font-weight:900;
}
.company-intro h2 span{color:#4f6cff}
.company-intro p{
  color:#7d8da7;
  font-size:11px;
  line-height:1.55;
}
.principles{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:0;
  padding:0 20px 48px;
}
.principle{
  text-align:left;
  padding:0 20px;
  border-right:1px solid rgba(141,160,196,.25);
}
.principle:last-child{border-right:none}
.principle-icon{
  width:26px;
  height:26px;
  margin:0 auto 10px 0;
  position:relative;
}
.principle h3{
  margin:0 0 7px;
  font-size:14px;
  font-weight:800;
  color:#142145;
}
.principle p{
  margin:0;
  color:#7b8aa3;
  font-size:10.5px;
  line-height:1.55;
  max-width:210px;
}
.cube::before,
.cube::after,
.chip::before,
.chip::after,
.bars::before,
.bars::after{
  content:"";
  position:absolute;
}
.cube::before{
  inset:4px;
  border:2px solid #5f84ff;
  transform:rotate(45deg);
}
.cube::after{
  inset:0;
  border:2px solid rgba(95,132,255,.45);
  transform:rotate(45deg);
}
.chip::before{
  inset:5px;
  border:2px solid #5f84ff;
  border-radius:5px;
}
.chip::after{
  inset:-2px;
  border:2px dashed rgba(95,132,255,.45);
  border-radius:7px;
}
.bars::before{
  left:2px;
  bottom:2px;
  width:5px;
  height:12px;
  background:#5f84ff;
  border-radius:3px;
  box-shadow:9px -6px 0 0 #5f84ff, 18px -12px 0 0 #5f84ff;
}
.bars::after{
  display:none;
}

.cta-band{
  padding:46px 28px;
  background:linear-gradient(120deg, #4f6cff 0%, #6a86ff 55%, #7e97ff 100%);
  text-align:center;
}
.cta-inner{
  max-width:620px;
  margin:0 auto;
}
.cta-inner h2{
  margin:0 0 12px;
  font-size:28px;
  line-height:1.05;
  letter-spacing:-.05em;
  font-weight:900;
  color:#fff;
}
.cta-inner p{
  margin:0 0 22px;
  color:rgba(255,255,255,.88);
  font-size:12.5px;
  line-height:1.6;
}
.button-row.centered{
  justify-content:center;
}
.btn-light{
  background:#fff;
  color:#233266;
  box-shadow:0 14px 28px rgba(7,24,63,.18);
}
.btn-outline-light{
  background:transparent;
  color:#fff;
  border:1px solid rgba(255,255,255,.55);
}

.site-footer{
  background:linear-gradient(90deg, #07173d 0%, #0e214f 58%, #15336c 100%);
  color:#fff;
  padding:16px 28px 14px;
}
.footer-top{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:20px;
  align-items:center;
}
.footer-logo{
  width:158px;
  margin-bottom:6px;
}
.footer-brand p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:10px;
  line-height:1.5;
}
.footer-nav{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.footer-nav a,
.footer-contact a{
  color:rgba(255,255,255,.80);
  font-size:10px;
}
.footer-contact{
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.footer-email-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(142px, 1fr));
  gap:5px 16px;
}
.footer-email-list a{
  display:flex;
  flex-direction:column;
  gap:1px;
  white-space:nowrap;
}
.footer-email-list a span{
  color:rgba(255,255,255,.46);
  font-size:8px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.footer-email-list a:hover{
  color:#fff;
}
.footer-social{
  display:inline-flex;
  width:20px;
  height:20px;
  flex:0 0 20px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.25);
  border-radius:4px;
  font-size:11px !important;
  font-weight:700;
}
.footer-bottom{
  margin-top:14px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.footer-bottom p{
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:9px;
  letter-spacing:.15em;
}

@media (max-width: 960px){
  .page-shell{margin:0 auto}
  .desktop-nav{display:none}
  .menu-toggle{display:block}
  .mobile-nav.show{display:flex}
  .hero,
  .foundation,
  .systems-band,
  .capability-grid,
  .trust-grid,
  .principles,
  .footer-top{
    grid-template-columns:1fr;
  }
  .trust-grid{gap:14px}
  .hero{min-height:auto}
  .hero-copy{padding-bottom:30px}
  .hero-visual{
    min-height:340px;
    padding:0;
  }
  .hero-mark{
    width:220px;
    top:40px;
    right:80px;
  }
  .side-copy.top{right:24px; top:110px}
  .side-copy.bottom{right:18px; bottom:34px}
  .foundation-visual{min-height:230px}
  .systems-band{
    padding:30px 24px;
    gap:24px;
  }
  .systems-copy{padding-left:0}
  .systems-side{
    border-left:none;
    border-top:1px solid rgba(255,255,255,.10);
    padding:18px 0 0;
    min-height:0;
  }
  .capability-grid{gap:14px}
  .principle{
    border-right:none;
    border-bottom:1px solid rgba(141,160,196,.25);
    padding:14px 0;
  }
  .principle:last-child{border-bottom:none}
}

@media (max-width: 640px){
  .nav-inner{padding:0 16px}
  .brand-logo{width:128px}
  .hero-copy,
  .foundation-copy,
  .capabilities,
  .company,
  .site-footer{padding-left:16px;padding-right:16px}
  .hero h1,
  .foundation h2{font-size:36px}
  .hero-text,
  .foundation p{max-width:none}
  .button-row{flex-direction:column; align-items:flex-start}
  .button-row.centered{align-items:center}
  .btn{width:100%}
  .btn.small{width:auto}
  .systems-band{padding-left:16px;padding-right:16px}
  .trust{padding-left:16px;padding-right:16px}
  .cta-band{padding:36px 16px}
  .cta-inner h2{font-size:24px}
  .footer-email-list{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
}

/* Fixed-header navigation fallback. JavaScript computes exact final alignment. */
#vision,
#platform,
#capabilities,
#company,
#contact {
  scroll-margin-top: 96px;
}

html {
  scroll-behavior: smooth;
}

@media (max-width: 960px){
  .site-header{
    width:100%;
  }
  .page-shell{
    padding-top:76px;
  }
  .footer-top{
    grid-template-columns:1fr;
    align-items:start;
  }
  .footer-email-list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
