:root{
  --navy:#0D0E12;
  --navy2:#13171F;
  --signal:#55A8F6;
  --deep:#00498E;
  --sky:#A1D4FF;
  --silver:#C9CDD3;
  --white:#FFFFFF;
  --green:#4FD18C;
  --border:#262b36;
  --space-1:8px; --space-2:16px; --space-3:24px; --space-4:32px; --space-6:48px; --space-8:64px; --space-12:96px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--navy); color:var(--white);
  font-family:'Inter',sans-serif; line-height:1.6;
}
h1,h2,h3{font-family:'Anton',sans-serif; font-weight:400; letter-spacing:0.5px; margin:0;}
.eyebrow{font-family:'Montserrat',sans-serif; font-weight:700; letter-spacing:2px; text-transform:uppercase; font-size:13px; color:var(--signal);}
a{color:inherit;}
.wrap{max-width:1120px; margin:0 auto; padding:0 var(--space-4);}
@media (max-width:640px){ .wrap{padding:0 var(--space-3);} }

/* NAV */
nav{position:sticky; top:0; z-index:50; background:rgba(13,14,18,0.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--border);}
nav .wrap{display:flex; align-items:center; justify-content:space-between; height:76px;}
.logo{display:flex; align-items:center; gap:10px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:16px; text-decoration:none;}
.logo .logo-icon{height:34px; width:auto; flex-shrink:0; display:block; margin-right:10px;}
.logo .accent{color:var(--signal);}
.nav-links{display:flex; align-items:center; gap:var(--space-4); list-style:none; margin:0; padding:0;}
.nav-links li{margin-left:var(--space-4);}
.nav-links li:first-child{margin-left:0;}
.nav-links a{text-decoration:none; font-family:'Montserrat',sans-serif; font-weight:600; font-size:14px; color:var(--silver); transition:color .15s;}
.nav-links a:hover, .nav-links a.active{color:var(--white);}
.nav-cta{background:var(--signal); color:var(--navy); font-family:'Montserrat',sans-serif; font-weight:700; padding:10px 22px; border-radius:24px; font-size:14px; text-decoration:none; letter-spacing:0.3px; white-space:nowrap;}
.nav-mobile-toggle{display:none; background:none; border:none; color:var(--white); font-size:24px; cursor:pointer;}
@media (max-width:860px){
  .nav-links{display:none;}
  .nav-mobile-toggle{display:block;}
}

/* Buttons */
.btn-primary{background:var(--signal); color:var(--navy); font-family:'Montserrat',sans-serif; font-weight:700; padding:16px 30px; border-radius:8px; text-decoration:none; font-size:15px; letter-spacing:0.3px; display:inline-block; border:none; cursor:pointer;}
.btn-secondary{border:1px solid var(--border); color:var(--white); font-family:'Montserrat',sans-serif; font-weight:700; padding:16px 30px; border-radius:8px; text-decoration:none; font-size:15px; display:inline-block;}

/* Page header (non-home pages) */
.page-header{padding:var(--space-8) 0 var(--space-6); border-bottom:1px solid var(--border);}
.page-header h1{font-size:clamp(36px,5vw,56px);}
.page-header p{color:var(--silver); font-size:18px; max-width:600px; margin-top:var(--space-2);}

/* Sections */
section{padding:var(--space-12) 0;}
.section-head{max-width:640px; margin-bottom:var(--space-6);}
.section-head h2{font-size:clamp(28px,4vw,42px); margin-top:var(--space-2);}

/* Cards */
.card-grid{display:flex; flex-wrap:wrap; margin:0 -12px;}
@media (max-width:900px){ .card-grid{display:block;} }
.card{background:var(--navy2); border:1px solid var(--border); border-radius:14px; padding:var(--space-3); width:calc(33.333% - 24px); margin:12px; box-sizing:border-box;}
@media (max-width:900px){ .card{width:auto; margin:0 0 var(--space-3) 0;} }
.card h3{font-family:'Montserrat',sans-serif; font-weight:700; font-size:18px; letter-spacing:0; margin-bottom:6px;}
.card p{color:var(--silver); font-size:15px; margin:0 0 var(--space-2);}
.card a.card-link{font-family:'Montserrat',sans-serif; font-weight:700; font-size:14px; color:var(--signal); text-decoration:none;}
.icon-badge{width:52px;height:52px;border-radius:50%;border:2px solid var(--signal); display:flex; align-items:center; justify-content:center; margin-bottom:var(--space-2);}

/* Footer */
footer{padding:var(--space-8) 0 var(--space-6); border-top:1px solid var(--border);}
.footer-grid{display:flex; justify-content:space-between; align-items:flex-start; gap:var(--space-4); flex-wrap:wrap;}
.footer-links{display:flex; gap:var(--space-4); list-style:none; margin:0; padding:0; flex-wrap:wrap;}
.footer-links li{margin-left:var(--space-4);}
.footer-links li:first-child{margin-left:0;}
.footer-links a{text-decoration:none; color:var(--silver); font-size:14px; font-family:'Montserrat',sans-serif; font-weight:600;}
.footer-links a:hover{color:var(--white);}
.footer-note{color:#7d8494; font-size:13px; margin-top:var(--space-4);}

::selection{background:var(--signal); color:var(--navy);}
a.btn-primary:focus-visible, a.btn-secondary:focus-visible, .nav-cta:focus-visible{outline:2px solid var(--sky); outline-offset:2px;}
@media (prefers-reduced-motion: reduce){ .draw-line{animation:none !important;} }
