:root{
  --navy:#1D4372; --navy-2:#24508a; --sky:#1A55FF; --clay:#1A55FF; --clay-d:#0F3FCC; --sun:#9fb9ff;
  --sand:#ffffff; --sand-2:#f5f5f5; --ink:#333333; --muted:#666666; --line:#e2e2e2; --white:#fff;
  --gray:#999999; --head:#2c2c2c;
  --r:6px; --shadow:0 2px 4px rgba(0,0,0,.06),0 10px 28px rgba(0,0,0,.12);
  --serif:"Open Sans",Helvetica,Arial,sans-serif; --sans:"Open Sans",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--sand);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:var(--sky)} a:hover{color:var(--head)}
h1,h2,h3{font-family:var(--serif);color:var(--head);line-height:1.2;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.6vw,3.3rem)} h2{font-size:clamp(1.5rem,3vw,2.1rem)} h3{font-size:1.2rem}
p{margin:0 0 1em}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px} .narrow{max-width:760px}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:8px 12px;z-index:99}.skip:focus{left:8px}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--sky);margin-bottom:.6em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;background:var(--clay);color:#fff;border:0;border-radius:4px;padding:.85em 1.6em;font:700 1rem var(--sans);text-transform:uppercase;letter-spacing:.02em;box-shadow:0 2px 6px rgba(26,85,255,.3);text-decoration:none;cursor:pointer;transition:background .15s,transform .15s}
.btn:hover{background:var(--clay-d);color:#fff;transform:translateY(-1px)}
.btn.sm{padding:.55em 1.1em;font-size:.92rem} .btn.full{width:100%}
.btn.light{background:#fff;color:var(--sky);box-shadow:none} .btn.light:hover{background:#eef3ff;color:var(--clay-d)}
.btn.ghost{box-shadow:none;background:transparent;border:2px solid rgba(255,255,255,.6);color:#fff} .btn.ghost:hover{background:rgba(255,255,255,.1)}
.btn.ghost-dark{box-shadow:none;background:transparent;border:2px solid var(--sky);color:var(--sky)} .btn.ghost-dark:hover{background:var(--sky);color:#fff}
.small{font-size:.88rem;color:var(--muted)} .center{text-align:center}

/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar{background:var(--sand-2);color:var(--ink);font-size:.82rem;border-bottom:1px solid var(--line)}
.bar-in{display:flex;justify-content:space-between;gap:16px;padding-top:6px;padding-bottom:6px}
.bar a{color:var(--ink);text-decoration:none;margin-left:18px} .bar a:hover{text-decoration:underline}
.head-in{display:flex;align-items:center;gap:20px;height:88px}
.brand{display:block;line-height:0}
.brand img{height:68px;width:auto}
.foot .brand img{height:84px}
.brand .mark{width:44px;height:31px;color:var(--head)} .brand.inv,.brand.inv .mark{color:#fff}
.brand b{display:block;font:700 1.3rem/1 var(--serif)} .brand small{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--clay-d);margin-top:3px}
.brand.inv small{color:var(--sun)}
nav{margin-left:auto}
.menu-btn{display:none}
.links{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
.links a,.sub-btn{display:block;padding:8px 12px;border-radius:10px;color:var(--ink);text-decoration:none;font:500 1rem var(--sans);cursor:pointer;border:0}
.sub-btn{background:none}
.sub-btn::after{content:"▾";font-size:.75em;margin-left:5px;color:var(--muted)}
.links a:hover,.sub-btn:hover{background:var(--sand-2);color:var(--head)}
.links .nav-cta a{background:var(--clay);color:#fff;padding:.55em 1.1em;margin-left:6px} .links .nav-cta a:hover{background:var(--clay-d);color:#fff}
.has-sub{position:relative}
.drop{display:none;position:absolute;top:calc(100% + 8px);left:-10px;width:300px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);list-style:none;margin:0;padding:8px}
.has-sub:hover .drop,.has-sub:focus-within .drop,.has-sub.open .drop{display:block}
.has-sub::after{content:"";position:absolute;left:0;right:0;top:100%;height:10px}
.drop a{display:flex;align-items:center;gap:10px}
.call{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--head);text-decoration:none;white-space:nowrap}
.call svg{width:18px;height:18px;color:var(--clay)}
.ico{width:40px;height:40px;color:var(--sky);flex:none} .ico.sm{width:20px;height:20px} .ico.lg{width:64px;height:64px;background:#fff;border-radius:var(--r);padding:12px;box-shadow:var(--shadow)}

/* hero */
.hero{background:#fff;padding:64px 0 56px}
.hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero h1 em{font-style:normal;color:var(--sky)}
.lede{font-size:1.14rem;color:var(--muted);max-width:60ch}
.quick{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);margin:28px 0 14px;max-width:560px}
.quick label{display:block;font-weight:600;color:var(--head);margin-bottom:8px}
.quick-row{display:flex;gap:10px}
select,input,textarea{font:inherit;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:4px;padding:.75em .9em;width:100%}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px rgba(47,111,179,.15)}
.quick select{flex:1}
.or{color:var(--muted);font-size:.95rem} .or a{font-weight:600}
.hero-art{position:relative}
.hero-art svg{display:block;width:100%;height:auto;border-radius:var(--r);box-shadow:var(--shadow)}
.badge{position:absolute;left:-18px;bottom:28px;background:#fff;border-radius:var(--r);padding:12px 16px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow)}
.badge b{font:700 2rem/1 var(--serif);color:var(--sky)} .badge span{font-size:.82rem;line-height:1.3;color:var(--muted)}

.stats{background:var(--sky);color:#fff}
.stats-in{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:28px;padding-bottom:28px;text-align:center}
.stats b{display:block;font:700 2.1rem/1.1 var(--serif);color:#fff} .stats span{font-size:.92rem;color:#e3eaff}

/* sections */
.sec{padding:72px 0} .sec.alt{background:var(--sand-2)}
.sec-head{text-align:center;max-width:680px;margin:0 auto 36px} .sec-head.left{text-align:left;margin:48px 0 20px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px} .grid.three{grid-template-columns:repeat(3,1fr)}
.card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s,border-color .15s}
.card:not(.static):hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--sky);color:var(--ink)}
.card h3{margin:14px 0 6px} .card p{color:var(--muted);font-size:.95rem;margin-bottom:12px}
.more{font-weight:600;color:var(--sky);font-size:.92rem}
.steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0;margin:0}
.steps li{counter-increment:s;background:#fff;border-radius:var(--r);padding:28px;border:1px solid var(--line)}
.steps li::before{content:counter(s);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--sky);color:#fff;font:700 1.1rem var(--serif);margin-bottom:14px}
.steps b{display:block;font:700 1.12rem var(--serif);color:var(--head);margin-bottom:6px} .steps p{color:var(--muted);margin:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.checks{list-style:none;padding:0;margin:0 0 1.4em}
.checks li{position:relative;padding-left:30px;margin-bottom:.6em}
.checks li::before{content:"";position:absolute;left:0;top:.35em;width:18px;height:18px;border-radius:50%;background:var(--clay) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat}
.carriers{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px}
.carriers ul,.states{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px}
.carriers li,.states li{font-weight:500;color:var(--head);padding:6px 0;border-bottom:1px dashed var(--line)}
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.post-card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}
.post-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);color:var(--ink)}
.post-card h3{font-size:1.4rem;margin:10px 0 8px} .post-card p{color:var(--muted)}
.tag{display:inline-block;background:#e8eeff;color:var(--clay-d);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:4px 10px;border-radius:999px}
.faq{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px;padding:0 20px}
.faq summary{cursor:pointer;font-weight:600;color:var(--head);padding:18px 30px 18px 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:12px;font-size:1.5rem;color:var(--clay)} .faq[open] summary::after{content:"–"}
.faq p{color:var(--muted);padding-bottom:6px}

/* page hero / content */
.page-hero{background:linear-gradient(180deg,#f5f7fc,#fff);padding:40px 0 48px;border-bottom:1px solid var(--line)}
.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:20px} .crumbs a{color:var(--muted)} .crumbs span{margin:0 4px}
.ph-row{display:flex;gap:24px;align-items:flex-start}
.ph-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.content-grid{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start}
.prose h2{margin-top:1.4em} .prose h2:first-child{margin-top:0} .prose p,.prose li{font-size:1.06rem}
.prose ul:not(.checks){padding-left:1.2em}
.prose blockquote{margin:0 0 1em;padding:12px 20px;border-left:4px solid var(--clay);background:#fff;border-radius:0 4px 4px 0;background:#f5f7fc;font:600 1.1rem/1.5 var(--serif);color:var(--head)}
.side{position:sticky;top:120px;display:grid;gap:16px}
.side-card{background:var(--navy);color:#dbe5f3;border-radius:var(--r);padding:26px}
.side-card h3{color:#fff} .side-card a:not(.btn){color:#fff} .side-card .small{color:#b9c8de;margin:10px 0 0;text-align:center}
.side-card.plain{background:#fff;color:var(--ink);border:1px solid var(--line)} .side-card.plain h3{color:var(--head)}
.read{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;margin-top:28px}
.read a{font:600 1.1rem var(--serif);color:var(--head);text-decoration:none}
.person{text-align:center;background:#fff;color:var(--ink);border:1px solid var(--line)} .person h3{color:var(--head);margin-top:12px} .person a{color:var(--sky)!important}
.role{color:var(--clay-d);font-weight:600}
.avatar{display:grid;place-items:center;width:88px;height:88px;margin:0 auto;border-radius:50%;background:var(--navy);color:#fff;font:600 1.8rem var(--serif)}
.avatar.sm{width:32px;height:32px;font-size:.8rem;margin:0}
.byline{display:flex;align-items:center;gap:10px;color:var(--muted);font-weight:500}
.post-hero h1{margin-top:12px} .post p{font-size:1.1rem}
.post-cta{margin-top:40px}.post-cta .cta-actions{display:flex;gap:10px;flex-wrap:wrap}.post-cta .btn.ghost-dark{border-color:#fff;color:#fff}

/* forms */
.form{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:28px;display:grid;gap:16px}
.form label{display:grid;gap:6px;font-weight:600;color:var(--head);font-size:.95rem}
.form fieldset{border:0;padding:0;margin:0} .form legend{font:600 1.15rem var(--serif);color:var(--head);margin-bottom:12px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.chk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.chk{position:relative} .chk input{position:absolute;opacity:0;width:1px;height:1px}
.chk span{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:4px;padding:10px 12px;font-weight:500;color:var(--ink);cursor:pointer;transition:all .15s}
.chk input:checked+span{border-color:var(--clay);background:#eef3ff;color:var(--clay-d)}
.chk input:focus-visible+span{box-shadow:0 0 0 3px rgba(47,111,179,.25)}
.form .btn{justify-self:start}
.contact-list{display:grid;gap:22px} .contact-list h3{margin-bottom:4px} .contact-list p{margin:0}
.map iframe{width:100%;height:420px;border:0;border-radius:var(--r);box-shadow:var(--shadow)}
.carrier-links{list-style:none;padding:0;margin:0 0 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.carrier-links li{background:#fff;border:1px solid var(--line);border-radius:4px;padding:12px 16px;font-weight:600;color:var(--head)}
.carrier-links a{text-decoration:none}

/* cta + footer */
.cta-band{background:linear-gradient(120deg,#0F3FCC,var(--sky));color:#fff}
.cta-in{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:44px;padding-bottom:44px;flex-wrap:wrap}
.cta-band h2{color:#fff;margin-bottom:.2em} .cta-band p{margin:0;color:#e3eaff}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.foot{background:var(--sand-2);color:var(--ink);border-top:1px solid var(--line);padding:56px 0 24px;font-size:.95rem}
.foot-in{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:36px}
.foot h3{color:#fff;background:var(--sky);font-size:.95rem;font-family:var(--sans);text-transform:uppercase;letter-spacing:.06em;padding:14px 16px;border-radius:4px 4px 0 0;box-shadow:0 6px 0 #2c2c2c;margin-bottom:14px}
.foot ul{list-style:none;padding:0;margin:0} .foot li{margin-bottom:6px}
.foot a{color:var(--ink);text-decoration:none} .foot a:hover{color:var(--sky);text-decoration:underline}
.foot address{font-style:normal;margin-bottom:1em}
.slogan{font:700 1.15rem var(--serif);color:var(--sky)}
.legal{border-top:1px solid var(--line);margin-top:40px;padding-top:20px;font-size:.8rem;color:var(--muted)}
.legal p{margin:0 0 .5em}

@media (max-width:960px){
  .hero-in,.split,.content-grid{grid-template-columns:1fr} .hero-art{max-width:520px}
  .side{position:static} .steps,.grid.three{grid-template-columns:1fr}
  .foot-in{grid-template-columns:1fr 1fr}
  .bar-in>span:first-child{display:none} .bar-in{justify-content:center}
  .call{display:none}
  .menu-btn{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:12px;background:none;border:0}
  .menu-btn span{display:block;width:24px;height:2.5px;background:var(--navy);border-radius:2px}
  .links{display:none}
  .links.open{display:flex;flex-direction:column;align-items:stretch;position:absolute;left:0;right:0;top:100%;background:var(--sand);border-bottom:1px solid var(--line);padding:12px 16px 20px;box-shadow:var(--shadow);max-height:80vh;overflow:auto}
  .drop,.has-sub .drop{display:block;position:static;width:auto;box-shadow:none;border:0;padding:0 0 0 8px;background:transparent}
  .links .nav-cta a{margin:8px 0 0;text-align:center}
  .sub-btn{pointer-events:none;font-weight:700;color:var(--head)} .sub-btn::after{content:none}
  .head-in{position:relative}
}
@media (max-width:600px){
  .sec{padding:52px 0} .hero{padding:40px 0}
  .quick-row,.row2{grid-template-columns:1fr;flex-direction:column} .quick-row{display:flex}
  .stats-in{grid-template-columns:1fr 1fr} .foot-in{grid-template-columns:1fr}
  .carriers ul,.states{grid-template-columns:1fr 1fr} .posts{grid-template-columns:1fr}
  .ph-row{flex-direction:column;gap:14px} .badge{left:12px} .bar a{margin-left:10px}
  .bar-links a:last-child{display:none}
}
.foot ul{padding:14px 4px 0!important}

/* comparison table */
.cmp-wrap{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
.cmp{width:100%;border-collapse:collapse;background:#fff;font-size:.95rem}
.cmp thead th{background:var(--sky);color:#fff;font-weight:700;padding:16px 14px;text-align:center;font-size:.95rem}
.cmp thead th:first-child{text-align:left;background:#1240c8}
.cmp thead th.us{background:#0F3FCC}
.cmp tbody th{background:var(--sky);color:#fff;text-align:left;font-weight:600;padding:16px 18px;width:32%;border-top:1px solid rgba(255,255,255,.18)}
.cmp tbody tr:nth-child(even) th{background:#1240c8}
.cmp td{text-align:center;padding:14px 12px;border-top:1px solid var(--line);border-left:1px solid var(--line);color:var(--muted);vertical-align:middle}
.cmp td:nth-child(2){background:#f3f6ff}
.cmp-yes{font-size:1.6rem;font-weight:800;color:#2c2c2c}
.cmp-no{font-size:1.5rem;font-weight:800;color:#d42a2a}
.cmp small,.cmp-note{display:block;font-size:.85rem;line-height:1.35;color:var(--muted)}
@media (max-width:700px){
  .cmp thead{display:none}
  .cmp,.cmp tbody,.cmp tr,.cmp th,.cmp td{display:block;width:100%!important}
  .cmp tbody th{padding:14px 16px}
  .cmp tr{border-bottom:6px solid var(--sand-2)}
  .cmp td{display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:right;border-left:0}
  .cmp td::before{content:attr(data-label);font-weight:700;color:var(--head);text-align:left;flex:none}
  .cmp td small,.cmp-note{display:inline;max-width:60%}
}

.prose h3{font-size:1.15rem;margin:1.4em 0 .5em}
.prose h2.tagline{margin-top:2em;padding:20px 24px;background:#f5f7fc;border-left:5px solid var(--sky);border-radius:0 var(--r) var(--r) 0;color:var(--sky);font-size:1.4rem}
.read ul{list-style:none;margin:0;padding:0;width:100%;display:grid;gap:8px}
.row3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}
@media (max-width:600px){.row3{grid-template-columns:1fr 1fr}.row3 label:first-child{grid-column:1/-1}}
