:root{
  --navy:#102A43;
  --navy-2:#1B3A5C;
  --white:#FFFFFF;
  --offwhite:#F5F7FA;
  --border:#E1E6EB;
  --accent:#1B6FC9;
  --text:#1F2933;
  --muted:#52606D;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--white); color:var(--text);
  font-family:'Inter',sans-serif; line-height:1.65;
  min-height:100vh; display:flex; flex-direction:column;
}
h1,h2,h3{font-family:'Inter',sans-serif; font-weight:700; margin:0; color:var(--navy);}
a{color:inherit; text-decoration:none;}
.wrap{margin:0 auto; padding:0 48px;}

/* NAV */
header{background:var(--navy); position:sticky; top:0; z-index:50;}
nav{display:flex; align-items:center; justify-content:space-between; padding:16px 48px 16px 16px; margin:0 auto;}
.brandmark{display:flex; align-items:center; gap:10px;}
.logo-mark{width:36px; height:36px; border-radius:8px; display:block; object-fit:cover;}
.brand-text{color:var(--white); font-size:14px;}
.brand-text b{font-weight:700;}
.navlinks{display:flex; gap:18px; align-items:center;}
.navlinks a{color:rgba(255,255,255,0.82); font-size:13px;}
.navlinks a:hover, .navlinks a.active{color:var(--white);}
.nav-cta{background:var(--accent); color:var(--white) !important; padding:9px 14px; border-radius:4px; font-size:13px; font-weight:600;}
.menu-toggle{display:none; background:none; border:none; color:var(--white); font-size:24px;}

/* HERO */
.hero{background:var(--navy); color:var(--white); text-align:center; flex:1; display:flex; flex-direction:column; justify-content:center;}
.hero .wrap{padding:96px 32px 76px;}
.hero h1{color:var(--white); font-size:clamp(30px,4.2vw,46px); max-width:760px; margin:0 auto; line-height:1.15;}
.hero p.lead{margin:20px auto 0; max-width:560px; color:rgba(255,255,255,0.78); font-size:16.5px;}
.btn-primary{background:var(--accent); color:var(--white); padding:14px 30px; border-radius:4px; font-weight:600; font-size:14.5px; display:inline-block; margin-top:32px;}
.btn-primary:hover{background:#1a5fae;}

/* PAGE HERO (sub-pages) */
.page-hero{background:var(--navy); color:var(--white); text-align:center; padding:64px 32px;}
.page-hero + section{flex:1; display:flex; flex-direction:column; justify-content:center;}
.page-hero h1{color:var(--white); font-size:clamp(26px,3.6vw,38px);}

section{padding:80px 0;}
.section-head{max-width:680px; margin:0 auto 48px; text-align:center;}
.section-head h2{font-size:clamp(24px,3vw,34px);}
.section-head p{margin-top:14px; color:var(--muted); font-size:clamp(15.5px, 1.1vw, 18px);}

/* ABOUT */
.about{background:var(--offwhite);}
.about-body{max-width:760px; margin:0 auto; text-align:left;}
.about-body p{color:var(--muted); font-size:clamp(15.5px, 1.1vw, 19px); margin:0 0 18px; line-height:1.75;}
.about-body .placeholder{border:1px dashed var(--border); background:var(--white); padding:16px 20px; border-radius:6px; font-size:14px; color:var(--muted);}
.about-cta{text-align:center; margin-top:36px;}

/* SERVICES */
.service-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.service-card{border:1px solid var(--border); border-radius:6px; padding:clamp(30px, 2.2vw, 44px) clamp(26px, 2vw, 38px); background:var(--white);}
.service-card h3{font-size:clamp(19px, 1.4vw, 24px); color:var(--navy);}
.service-card p{font-size:clamp(14.5px, 1.05vw, 17.5px); color:var(--muted); margin-top:12px;}

/* BENEFITS */
.benefits{background:var(--offwhite);}
.benefit-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.benefit-card{background:var(--white); border:1px solid var(--border); border-radius:6px; padding:clamp(26px, 2vw, 38px);}
.benefit-card h3{font-size:clamp(16.5px, 1.2vw, 20px); color:var(--navy);}
.benefit-card p{font-size:clamp(14px, 1vw, 17px); color:var(--muted); margin-top:10px;}

/* CTA */
.cta-section{background:var(--navy); color:var(--white); text-align:center;}
.cta-section h2{color:var(--white); font-size:clamp(22px,3vw,32px); max-width:600px; margin:0 auto;}
.cta-section p{color:rgba(255,255,255,0.75); max-width:520px; margin:16px auto 0; font-size:15.5px;}

/* CONTACT PAGE */
.contact-card{max-width:min(85%, 820px); margin:0 auto; background:var(--offwhite); border:1px solid var(--border); border-radius:8px; padding:clamp(36px, 4vw, 60px);}
.contact-card p{font-size:clamp(15px, 1.2vw, 19px); color:var(--muted); margin:0 0 14px;}
.contact-card a{color:var(--accent); font-weight:600;}

/* FOOTER */
footer{background:var(--navy-2); color:rgba(255,255,255,0.8); padding:32px 0; text-align:center; margin-top:auto;}
footer p{margin:6px 0; font-size:14px;}
footer a{color:rgba(255,255,255,0.8);}
footer a:hover{color:var(--white);}

@media (max-width:1080px){
  .navlinks{display:none;}
  .menu-toggle{display:block;}
  .service-grid, .benefit-grid{grid-template-columns:1fr;}
}
