:root{
  --navy:#0B2D4D;
  --green:#16A34A;
  --lime:#22C55E;
  --offwhite:#F6F8FB;
  --text:#111827;
  --blue:#60A5FA;
  --white:#ffffff;
  --border:#E5E7EB;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family: "Segoe UI", Arial, sans-serif;
  color:var(--text);
  background:var(--offwhite);
  line-height:1.6;
}
img{max-width:100%;display:block;height:auto;}
a{text-decoration:none;color:inherit;}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px;}
header{
  background:var(--white);
  border-bottom:1px solid var(--border);
  position:sticky;
  top:0;
  z-index:1000;
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 0;
}
.logo{
  max-height:50px;
}
.nav-menu{
  display:flex;
  gap:24px;
  list-style:none;
}
.nav-menu a{
  color:var(--navy);
  font-weight:600;
}
.cta-btn{
  background:var(--green);
  color:var(--white);
  padding:12px 18px;
  border-radius:6px;
  display:inline-block;
  font-weight:600;
}
.secondary-btn{
  background:var(--blue);
  color:var(--white);
  padding:10px 16px;
  border-radius:6px;
  display:inline-block;
  font-weight:600;
}
.hero{
  padding:70px 0;
  background:var(--white);
}
.hero-grid{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:40px;
  align-items:center;
}
.section{
  padding:60px 0;
}
.section-title{
  font-size:32px;
  color:var(--navy);
  margin-bottom:12px;
}
.section-subtitle{
  color:var(--text);
  max-width:820px;
  margin-bottom:24px;
}
.card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:8px;
  padding:22px;
}
.card h3{
  color:var(--navy);
  margin-bottom:10px;
}
.icon-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.icon-item{
  background:var(--white);
  border:1px solid var(--border);
  padding:18px;
  border-radius:8px;
}
.checklist{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:8px;
  padding:24px;
}
.checklist ul{
  list-style:disc;
  padding-left:20px;
}
.two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
  align-items:center;
}
.faq-item{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:8px;
  padding:18px;
  margin-bottom:12px;
}
.form-box{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:8px;
  padding:24px;
}
input, textarea{
  width:100%;
  padding:10px;
  border:1px solid var(--border);
  border-radius:6px;
  margin-bottom:12px;
  font-size:16px;
}
label{font-weight:600;color:var(--navy);}
footer{
  background:var(--navy);
  color:var(--white);
  padding:40px 0;
}
.footer-inner{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:24px;
}
.footer-logo{
  max-height:100px;
  margin-bottom:12px;
}
.footer-menu, .footer-legal{
  list-style:none;
}
.footer-menu a, .footer-legal a{
  color:var(--white);
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.2);
  padding-top:16px;
  margin-top:16px;
  font-size:14px;
}
.cookie-banner{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  background:var(--white);
  border-top:1px solid var(--border);
  padding:16px;
  display:none;
  z-index:2000;
}
.cookie-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.cookie-buttons button{
  background:var(--green);
  color:var(--white);
  border:none;
  padding:10px 14px;
  border-radius:6px;
  cursor:pointer;
  margin-left:8px;
}
.cookie-buttons .reject{
  background:var(--blue);
}
#nav-toggle{display:none;}
.burger{
  display:none;
  font-size:26px;
  cursor:pointer;
  color:var(--navy);
}
.mobile-nav{
  display:none;
}
.mobile-nav .close-menu{
  font-size:28px;
  color:var(--white);
  cursor:pointer;
}
@media(max-width:900px){
  .hero-grid,.two-col{grid-template-columns:1fr;}
  .card-grid{grid-template-columns:1fr;}
  .icon-list{grid-template-columns:1fr;}
  .nav-menu{display:none;}
  .burger{display:block;}
  .mobile-nav{
    position:fixed;
    top:0;left:0;right:0;bottom:0;
    background:var(--navy);
    color:var(--white);
    padding:40px 24px;
    z-index:1500;
  }
  #nav-toggle:checked + .mobile-nav{display:block;}
  .mobile-nav ul{list-style:none;margin-top:40px;}
  .mobile-nav li{margin-bottom:20px;}
  .mobile-nav a{color:var(--white);font-size:20px;}
}
@media(max-width:600px){
  .section{padding:45px 0;}
  .section-title{font-size:26px;}
  .cookie-inner{flex-direction:column;align-items:flex-start;}
}