
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#07111F;color:#45596E;font-family:'IBM Plex Sans','Segoe UI',system-ui,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Space Grotesk','Segoe UI',system-ui,sans-serif;font-weight:600;color:#07111F;margin:0;letter-spacing:-.022em;line-height:1.14;text-wrap:balance}
p{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0}
li{list-style:none}
a{color:#2563EB;text-decoration:none;transition:color .18s ease}
a:hover{color:#1B48C4}
img,svg{max-width:100%}
.eyebrow{font-family:'IBM Plex Mono',Consolas,monospace;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#2563EB}
.card{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.card:hover{border-color:#BFCEDE;box-shadow:0 10px 30px rgba(7,17,31,.08);transform:translateY(-2px)}
.dcard{transition:border-color .2s ease,background .2s ease}
.dcard:hover{border-color:rgba(37,99,235,.55);background:#0E2740}
.navlink{color:#C3D3E3;font-size:15px;font-weight:500}
.navlink:hover{color:#fff}
.btn:hover{background:#1B48C4;color:#fff}
.ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.ghostlight:hover{background:#F5F7FA;color:#07111F}
.arrow svg{transition:transform .2s ease}
.arrow:hover svg{transform:translateX(4px)}
.fu{animation:fu .8s cubic-bezier(.22,.7,.3,1) both}
@keyframes fu{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes glow{0%,100%{opacity:.4}50%{opacity:.85}}
.glow{animation:glow 4.6s ease-in-out infinite}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #22C55E;outline-offset:3px;border-radius:3px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:24px;top:16px;z-index:9;background:#fff;color:#07111F;padding:12px 18px;border-radius:6px;font-weight:600;position:absolute}
.navm{display:none}
.navm > summary{list-style:none;cursor:pointer}
.navm > summary::-webkit-details-marker{display:none}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}

@media (max-width:1100px){
  .g-4{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .g-5{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .g-3{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .split{grid-template-columns:1fr !important;gap:44px !important}
  .split > *{order:0 !important}
  .hero-g{grid-template-columns:1fr !important;gap:48px !important}
  .h1{font-size:46px !important}
}
@media (max-width:900px){
  .navd,.hdrcta{display:none !important}
  .navm{display:block;position:relative}
  .hdrin{height:66px !important}
  .navm[open] > .navpanel{display:flex !important}
  .subnav{overflow-x:auto !important;-webkit-overflow-scrolling:touch}
}
@media (max-width:760px){
  .c{padding:0 20px !important}
  .sec{padding:56px 0 !important}
  .g,.g-2,.g-3,.g-4,.g-5{grid-template-columns:1fr !important;gap:16px !important}
  .split{gap:32px !important}
  .h1{font-size:34px !important;line-height:1.12 !important}
  .h2{font-size:27px !important}
  .lead{font-size:16px !important}
  .card,.pad{padding:22px !important}
  .cta-row{flex-direction:column !important;align-items:stretch !important}
  .cta-row > a{justify-content:center;width:100%}
  .btn,.ghost,.ghostlight{min-height:52px;font-size:16px !important}
  .fgrid{grid-template-columns:1fr !important;gap:32px !important}
  .fgrid > .fbrand{grid-column:auto !important}
  .band{flex-direction:column !important;align-items:flex-start !important;gap:32px !important}
  .stackm{flex-direction:column !important;align-items:flex-start !important}
  footer nav ul{gap:0 !important}
  footer nav ul .navlink{display:flex;align-items:center;min-height:44px}
}
