:root{
  --navy:#00354B;
  --navy-2:#022637;
  --navy-3:#011A26;
  --accent:#15B2F8;
  --accent-dark:#0B93D1;
  --bg:#F4F7F9;
  --card:#FFFFFF;
  --border:#E1E8ED;
  --text:#10222B;
  --muted:#5C6D77;
}

*{box-sizing:border-box;}

body{
  margin:0;
  font-family:'Public Sans', Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
}

h1,h2,h3{
  font-family:'Barlow Condensed', 'Arial Narrow', sans-serif;
  font-weight:700;
  letter-spacing:.2px;
  margin:0;
}

a{color:var(--accent); text-decoration:none;}
a:hover{color:var(--accent-dark);}

img{max-width:100%;}

.container{max-width:1280px; margin:0 auto; padding:0 40px;}

/* NAV */
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:0 40px; height:88px; background:#fff; border-bottom:1px solid var(--border);
  position:sticky; top:0; z-index:10;
}
.nav-links{display:flex; align-items:center; gap:36px; flex-wrap:wrap;}
.navlink{font-size:15px; font-weight:600; color:var(--navy);}
.navlink:hover{color:var(--accent-dark);}
.navlink.current{color:var(--accent-dark);}
.logo-mark{height:52px; width:auto; display:block;}

/* BUTTONS */
.btn{
  display:inline-flex; align-items:center; gap:8px; padding:14px 26px;
  border-radius:2px; font-weight:600; font-size:15px; cursor:pointer;
  border:1.5px solid transparent;
}
.btn-primary{background:var(--accent); color:var(--navy);}
.btn-primary:hover{background:var(--accent-dark); color:#fff;}
.btn-outline{border-color:rgba(255,255,255,.55); color:#fff;}
.btn-outline:hover{border-color:#fff; background:rgba(255,255,255,.08);}
.btn-dark{border:1.5px solid var(--navy); color:var(--navy);}
.btn-dark:hover{background:var(--navy); color:#fff;}

/* MISC */
.eyebrow{
  font-family:'Barlow Condensed', sans-serif; text-transform:uppercase;
  letter-spacing:2.5px; font-size:13px; font-weight:600; color:var(--accent);
}
.rule{width:56px; height:3px; background:var(--accent);}
.client-logo-box{display:flex; align-items:center; justify-content:center; padding:26px 22px;}
.client-logo{max-height:90px; max-width:85%; width:auto; height:auto; object-fit:contain;}
.pill{padding:9px 20px; border:1px solid var(--border); border-radius:2px; font-size:14px; font-weight:600; color:var(--navy); background:#fff;}
.card{background:var(--card); border:1px solid var(--border); border-radius:2px;}
.tag{padding:8px 16px; border:1px solid var(--border); border-radius:2px; font-size:13.5px; font-weight:600; color:var(--navy); background:#F4F7F9;}
.filter{padding:10px 20px; border-radius:2px; font-size:14px; font-weight:600; border:1px solid var(--border); color:var(--navy); background:#fff; cursor:pointer;}
.filter.active{background:var(--navy); border-color:var(--navy); color:#fff;}
.badge{padding:5px 12px; border-radius:2px; font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; background:#EBF1F4; color:var(--navy); display:inline-block;}
.quote{font-size:11.5px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:var(--accent-dark);}
.checkrow{display:flex; align-items:flex-start; gap:12px; padding:14px 0; border-bottom:1px solid var(--border);}
.checkrow:last-child{border-bottom:none;}

/* HERO */
.hero{background:var(--navy); padding:96px 40px 88px; overflow:hidden; position:relative;}
.hero-page{background:var(--navy); padding:72px 40px 64px;}

/* GRID HELPERS */
.grid-4{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:24px;}
.grid-3{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px;}
.grid-6{display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:20px;}

/* FOOTER */
.footer{background:var(--navy-2); padding:64px 40px; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px;}
.footer-bottom{background:var(--navy-3); padding:18px 40px; color:#6E8894; font-size:12.5px;}
.footer h4{color:#fff; font-weight:600; font-size:14px; margin-bottom:14px; font-family:'Public Sans';}
.footer-col p, .footer-col a{color:#8FA9B5; font-size:13.5px; line-height:1.7;}
.footer-links{display:flex; flex-direction:column; gap:9px;}

@media (max-width: 900px){
  .grid-4{grid-template-columns:repeat(2, minmax(0,1fr));}
  .grid-3{grid-template-columns:repeat(1, minmax(0,1fr));}
  .grid-6{grid-template-columns:repeat(3, minmax(0,1fr));}
  .nav-links{display:none;}
  .footer{grid-template-columns:1fr 1fr;}
}
