:root{--brand:#0b4f6c;--brand-d:#083a50;--accent:#f2b134;--ink:#1c2a33;--muted:#5a6b76;--bg:#fff;--alt:#f3f7f9;--line:#dbe4ea;--err:#b3261e;--ok:#1d6b3a;--r:12px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
img,svg{max-width:100%}
a{color:var(--brand)}a:hover{color:var(--brand-d)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
h1,h2,h3{line-height:1.25;color:var(--brand-d)}
h1{font-size:clamp(1.8rem,4.5vw,2.7rem);margin:.2em 0 .4em}
h2{font-size:clamp(1.35rem,3vw,1.8rem)}
h3{font-size:1.15rem;margin:.5em 0 .3em}
.wrap{width:min(1120px,92vw);margin:0 auto}.narrow{width:min(800px,92vw)}
.skip{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:.6em 1em;z-index:10}.skip:focus{left:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.small{font-size:.92rem}.muted{color:var(--muted)}.center{text-align:center}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:1.15rem;color:var(--brand-d);text-decoration:none}
.logo-mark{width:30px;height:30px;color:var(--brand)}
.nav{list-style:none;display:flex;gap:1.1rem;align-items:center;margin:0;padding:0;flex-wrap:wrap}
.nav a{text-decoration:none;font-weight:600;color:var(--ink)}.nav a[aria-current=page]{color:var(--brand);text-decoration:underline;text-underline-offset:6px}
.nav .btn{color:#fff}
.btn{display:inline-block;background:var(--brand);color:#fff;border:2px solid var(--brand);padding:.65em 1.2em;border-radius:999px;font-weight:700;text-decoration:none;cursor:pointer;font-size:1rem;line-height:1.2}
.btn:hover{background:var(--brand-d);border-color:var(--brand-d);color:#fff}
.btn-sm{padding:.45em .95em;font-size:.92rem}.btn-lg{padding:.85em 1.6em;font-size:1.08rem}
.btn-ghost{background:transparent;color:var(--brand)}.btn-ghost:hover{background:var(--alt);color:var(--brand-d)}
.hero{background:linear-gradient(135deg,#e8f2f6 0%,#fff 60%);padding:3.5rem 0 3rem;border-bottom:1px solid var(--line)}
.hero-inner{display:grid;grid-template-columns:1.5fr 1fr;gap:2.5rem;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700;color:var(--brand);margin:0}
.lead{font-size:1.15rem;color:#33454f}
.ticks{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:1.2rem 0 0}
.ticks li{display:flex;align-items:center;gap:.35rem}.ticks .icon{width:18px;height:18px;color:var(--ok)}
.hero-card{background:#fff;border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:var(--r);padding:1.5rem;box-shadow:0 10px 30px rgba(11,79,108,.08)}
.hero-card h2{margin-top:0;font-size:1.3rem}
.section{padding:3.5rem 0}.section.alt{background:var(--alt)}
.section-title{text-align:center;margin-top:0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem;margin:1.5rem 0}
.cards.three{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.3rem}
.card p{margin:.2em 0 0;color:#3a4b55;font-size:.97rem}
.icon{width:34px;height:34px;color:var(--brand)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.pill-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.pill-list li{background:var(--alt);border:1px solid var(--line);border-radius:999px;padding:.3em .85em;font-size:.95rem}
.section.alt .pill-list li{background:#fff}
.page-hero{background:linear-gradient(135deg,#e8f2f6 0%,#fff 70%);padding:2.8rem 0 2rem;border-bottom:1px solid var(--line);margin-bottom:2rem}
.page-hero .icon{width:56px;height:56px;color:var(--ok)}
.svc{border-bottom:1px solid var(--line);padding:1.2rem 0 1.6rem}
.svc-head{display:flex;align-items:center;gap:.7rem}.svc-head h2{margin:.3em 0}
.cta-band{background:var(--alt);border-radius:var(--r);padding:1.8rem;text-align:center;margin:2.5rem 0}
.cta-band h2{margin-top:0}
.faq{border:1px solid var(--line);border-radius:var(--r);margin:.8rem 0;background:#fff}
.faq summary{cursor:pointer;padding:1rem 1.2rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--brand);font-weight:700}
.faq[open] summary::after{content:"\2212"}
.faq summary h2{font-size:1.08rem;margin:0;color:var(--ink)}
.faq-a{padding:0 1.2rem 1rem}
.prose h2{font-size:1.25rem;margin-top:1.8em}
.quote-form{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.5rem;box-shadow:0 10px 30px rgba(11,79,108,.06);margin:1.2rem 0}
fieldset{border:0;padding:0;margin:0 0 1.2rem}
legend{font-weight:800;color:var(--brand-d);font-size:1.1rem;margin-bottom:.6rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.field{margin-bottom:.9rem}
label,.label{display:block;font-weight:600;font-size:.95rem;margin-bottom:.3rem}
input[type=text],input[type=tel],input[type=email],select,textarea{width:100%;font:inherit;padding:.65em .75em;border:1.5px solid #b9c7d0;border-radius:8px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{border-color:var(--brand)}
.was-validated :invalid{border-color:var(--err)}
.radios{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}.radios label{font-weight:500;display:flex;gap:.4rem;align-items:center}
.consent label{font-weight:500;display:flex;gap:.55rem;align-items:flex-start}.consent input{margin-top:.35em}
.hp{position:absolute;left:-9999px}
.form-note{margin-top:0;color:var(--muted);font-size:.92rem}
.form-status{min-height:1.4em;font-weight:600}.form-status.error{color:var(--err)}.form-status.ok{color:var(--ok)}
.site-footer{background:#0d2b38;color:#d5e2e8;padding:2.5rem 0 1.5rem;margin-top:3rem}
.site-footer a{color:#fff}.footer-brand{color:#fff}.footer-brand .logo-mark{color:var(--accent)}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:2rem}
.footer-h{color:#fff;font-size:1rem;margin-top:.4rem}
.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin:.25rem 0}
.disclosure{border-top:1px solid #2a4a58;margin-top:1.5rem;padding-top:1rem;color:#b8cbd3}
@media (max-width:820px){.hero-inner,.two-col,.footer-grid{grid-template-columns:1fr}.hero{padding:2.2rem 0}.grid2{grid-template-columns:1fr}.nav{gap:.8rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.4rem}.text-link{font-weight:700}
.btn + .btn{margin-left:.4rem}
@media (max-width:480px){.btn + .btn{margin:.5rem 0 0}}
