:root{
  --navy-900:#0B1F33;
  --navy-800:#173950;
  --teal-700:#225064;
  --teal-600:#2B6377;
  --teal-500:#3B6E78;
  --ice-200:#D7E8F0;
  --ice-100:#EAF3F5;
  --bg:#F5F6F7;
  --surface:#FFFFFF;
  --text:#14283C;
  --text-muted:#51677A;
  --border:#DCE6EA;
  --placeholder-bg:#FDF3D9;
  --placeholder-border:#C9A227;
  --placeholder-text:#7A5E10;
  --radius:10px;
  --shadow:0 1px 2px rgba(11,31,51,.06), 0 8px 24px -12px rgba(11,31,51,.16);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Archivo', 'Public Sans', sans-serif;
  font-weight:800;
  letter-spacing:-.01em;
  color:var(--navy-900);
  line-height:1.14;
  margin:0 0 .5em;
}
p{margin:0 0 1em; color:var(--text-muted); max-width:62ch;}
a{color:var(--teal-700);}
.container{max-width:1080px; margin:0 auto; padding:0 24px;}
.eyebrow{
  font-size:.78rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--teal-700); margin:0 0 .9em; display:flex; align-items:center; gap:8px;
}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:'Public Sans',sans-serif; font-weight:700; font-size:.98rem;
  padding:14px 26px; border-radius:8px; border:2px solid transparent;
  cursor:pointer; text-decoration:none; transition:transform .12s ease, box-shadow .12s ease, background .15s ease;
}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--teal-700); color:#fff;}
.btn-primary:hover{background:var(--teal-600);}
.btn-invert{background:#fff; color:var(--teal-700);}
.btn-invert:hover{background:var(--ice-100);}
.btn:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible{
  outline:3px solid var(--navy-900); outline-offset:2px;
}

.placeholder{
  background:var(--placeholder-bg); border:1px solid var(--placeholder-border); color:var(--placeholder-text);
  padding:.05em .45em; border-radius:5px; font-weight:600; font-size:.95em; white-space:nowrap;
}

/* header / nav */
header.site{
  background:#fff; position:sticky; top:0; z-index:50; border-bottom:1px solid var(--border);
}
.nav-row{display:flex; align-items:center; justify-content:space-between; gap:24px; padding:12px 24px; max-width:1080px; margin:0 auto;}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--navy-900);}
.brand img.mark{width:36px; height:auto; display:block;}
.brand .word{font-family:'Archivo',sans-serif; font-weight:800; font-size:1.05rem; letter-spacing:-.01em; color:var(--navy-900);}
.brand .word small{display:block; font-family:'Public Sans',sans-serif; font-weight:600; font-size:.62rem; letter-spacing:.14em; color:var(--teal-700); text-transform:uppercase;}
nav.links{display:flex; align-items:center; gap:2px;}
nav.links a{
  color:var(--text-muted); text-decoration:none; font-size:.92rem; font-weight:600; padding:9px 14px; border-radius:7px;
  transition:background .15s ease, color .15s ease;
}
nav.links a:hover{background:var(--ice-100); color:var(--navy-900);}
nav.links a.active{background:var(--ice-200); color:var(--navy-900);}
.nav-actions{display:flex; align-items:center; gap:10px;}

.hero{
  position:relative; overflow:hidden; background:linear-gradient(180deg, var(--ice-100) 0%, var(--bg) 100%); padding:72px 0 80px;
}
.hero .container{position:relative; z-index:2; display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center;}
.hero h1{color:var(--navy-900); font-size:clamp(2.1rem, 4vw, 3rem); max-width:14ch;}
.hero p.lead{color:var(--text-muted); font-size:1.1rem; max-width:44ch;}
.hero .cta-row{display:flex; gap:14px; flex-wrap:wrap; margin-top:28px;}
.hero-visual{display:flex; align-items:center; justify-content:center;}
.logo-card{
  background:#fff; border-radius:18px; padding:30px; box-shadow:var(--shadow); border:1px solid var(--border);
  max-width:300px; width:100%;
}
.logo-card img{width:100%; height:auto; display:block;}

section{padding:72px 0;}
section.tint{background:var(--ice-100);}
.section-head{max-width:56ch; margin-bottom:40px;}

.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
.card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  padding:28px; box-shadow:var(--shadow);
}
.step-card .num{
  font-family:'Archivo',sans-serif; font-weight:800; color:var(--teal-700); font-size:1.5rem;
  display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px;
  border:2px solid var(--teal-700); border-radius:50%; margin-bottom:16px;
}
.step-card h3{font-size:1.12rem; margin-bottom:.4em;}
.step-card p{margin:0; font-size:.96rem;}

.coverage-card h3{display:flex; align-items:center; gap:10px; font-size:1.2rem;}
.coverage-card p{font-size:.97rem;}

.trust-bar{display:flex; gap:0; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; background:var(--surface);}
.trust-bar .item{flex:1; padding:22px 20px; text-align:center; border-right:1px solid var(--border); font-weight:700; color:var(--navy-900); font-size:.95rem;}
.trust-bar .item:last-child{border-right:none;}

.cta-band{background:var(--navy-900); color:#fff; padding:56px 0; text-align:center;}
.cta-band h2{color:#fff; margin-bottom:.3em;}
.cta-band p{color:#c3d1dc; margin:0 auto 26px;}

footer.site{background:var(--navy-900); color:#a9bbca; padding:52px 0 0;}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:32px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.1);}
.footer-brand-chip{
  display:inline-flex; align-items:center; gap:10px; background:#fff; border-radius:10px; padding:8px 14px 8px 8px; margin-bottom:14px;
}
.footer-brand-chip img{width:30px; height:auto; display:block;}
.footer-brand-chip span{font-family:'Archivo',sans-serif; font-weight:800; font-size:.92rem; color:var(--navy-900);}
footer.site h4{color:#fff; font-family:'Public Sans',sans-serif; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; margin:0 0 14px;}
footer.site p{color:#8fa2b3; font-size:.92rem;}
footer.site ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px;}
footer.site a{color:#b7c7d4; text-decoration:none; font-size:.92rem;}
footer.site a:hover{color:#fff;}
.footer-bottom{padding:20px 0 28px; font-size:.82rem; color:#7690a3; display:flex; flex-direction:column; gap:10px;}
.footer-disclosure{max-width:none; font-size:.82rem; color:#7690a3;}

/* legal pages */
.legal-head{background:var(--navy-900); color:#fff; padding:52px 0 40px;}
.legal-head h1{color:#fff; font-size:2.05rem;}
.legal-head .eff{color:#c3d1dc; font-size:.92rem;}
.legal-body{padding:48px 0 80px;}
.legal-body .container{max-width:760px;}
.legal-body h2{font-size:1.24rem; margin-top:2em; font-weight:800;}
.legal-body h2:first-child{margin-top:0;}
.legal-body p, .legal-body li{color:var(--text); font-size:.98rem; max-width:none;}
.legal-body ul{padding-left:1.3em;}
.legal-note{
  background:var(--ice-100); border:1px solid var(--ice-200); border-radius:8px; padding:16px 18px; font-size:.9rem;
  color:var(--teal-700); margin-bottom:2em;
}

/* quote page */
.quote-wrap{display:grid; grid-template-columns:1fr 1.05fr; gap:48px; align-items:start; padding:64px 0 90px;}
.quote-info h1{font-size:1.95rem;}
.quote-info .lead{font-size:1.05rem;}
.quote-info .list{list-style:none; margin:26px 0 0; padding:0; display:flex; flex-direction:column; gap:14px;}
.quote-info .list li{display:flex; gap:10px; align-items:flex-start; font-size:.95rem; color:var(--text-muted);}
.quote-info .list svg{flex:none; margin-top:2px;}

.form-embed{
  background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:8px; overflow:hidden;
}
.form-embed-slot{
  background:var(--surface); border:2px dashed var(--border); border-radius:14px; padding:36px 28px;
  text-align:center; color:var(--text-muted); font-size:.92rem;
}
.form-embed-slot strong{display:block; color:var(--navy-900); font-size:1.02rem; margin-bottom:8px;}
.form-embed-slot code{
  display:block; margin-top:14px; background:var(--ice-100); border-radius:8px; padding:10px 12px;
  font-size:.82rem; color:var(--teal-700); word-break:break-word;
}

@media (max-width: 860px){
  .hero .container, .quote-wrap, .footer-grid{grid-template-columns:1fr;}
  .hero{padding:52px 0 60px; text-align:left;}
  .hero-visual{display:none;}
  .grid-3, .grid-2{grid-template-columns:1fr;}
  nav.links{display:none;}
}
