/* Experts of Insurance redesign layer (2026-09-19). Same family as the Signature / WC / Bond / Health
   redesign: royal blue + deep navy + neon green, white nav, Plus Jakarta Sans, clean cards, photo hero.
   Linked after /assets/style.css on every page EXCEPT /quote/ + /quote/wc (pie-test card-taking
   mirrors — never restyle those). Rollback: remove the <link href="/assets/redesign.css?v=N"> tag.
   /assets is cached, so bump ?v= on every edit. */
:root {
  --navy:#0b1f3a; --navy-dark:#081629; --blue:#1240ab; --blue-soft:#eef3ff;
  --green:#39ff14; --green-dark:#2ee00c; --green-light:#39ff14; --green-soft:#ecfde6;
  --ink:#16223a; --line:#e3eaf6; --bg:#f3f6fb;
  --font-display:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --font-body:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --royal2:#1d4ed8;
}
body { font-size:16px; letter-spacing:-.005em; }
h1, h2, h3, .display { letter-spacing:-.02em; }
h1 { font-weight:800; font-size:clamp(2.1rem,4.6vw,3.3rem); line-height:1.08; }
h2 { font-weight:800; font-size:clamp(1.6rem,3vw,2.2rem); }
h3 { font-weight:700; font-size:1.15rem; }

/* ── buttons: neon with navy text (the family CTA) ── */
.btn { border-radius:10px; font-weight:800; }
.btn-green { background:var(--green); color:var(--navy) !important; box-shadow:0 6px 18px rgba(57,255,20,.35); }
.btn-green:hover { background:#5bff3d; box-shadow:0 8px 22px rgba(57,255,20,.45); }
.btn-navy { background:var(--blue); }
.btn-navy:hover { background:#0d2a6e; }
.btn-outline-navy { color:var(--blue); border-color:var(--blue); }

/* ── header: white bar, no wrapping ── */
.topbar { background:var(--navy); }
.topbar a { color:var(--green); }
header.site { background:#fff; border-bottom:1px solid var(--line); box-shadow:0 2px 14px rgba(11,31,58,.07); }
header.site .container { padding-top:11px; padding-bottom:11px; }
.brand .word { color:var(--navy); letter-spacing:.5px; font-weight:800; font-size:1.3rem; }
.brand .word em { color:#1fae00; }
.brand .tag { color:#6b7a93; letter-spacing:1.4px; }
nav.main { gap:22px; }
nav.main a { color:var(--navy); font-weight:700; font-size:.93rem; white-space:nowrap; }
nav.main a:hover { color:var(--royal2); text-decoration:none; }
.hdr-cta { gap:12px; }
.hdr-cta .btn { white-space:nowrap; padding:10px 20px; }
.hdr-phone { color:var(--navy); }
.hdr-phone span { color:var(--blue); }
.nav-toggle svg { stroke:var(--navy); }
@media (max-width:1180px) { .hdr-phone { display:none; } }
@media (max-width:1000px) {
  nav.main { background:#fff; box-shadow:0 14px 24px rgba(11,31,58,.12); border-top:1px solid var(--line); }
}
/* the ES/EN pill injected by i18n.js into .hdr-cta */
.hdr-cta button:not(.nav-toggle), .hdr-cta .lang-toggle { border-color:var(--blue) !important; color:var(--blue) !important; background:#fff !important; }

/* ── heroes ── */
.hero { background:linear-gradient(120deg,var(--blue) 0%,#0d2a6e 58%,var(--royal2) 100%); border-bottom:5px solid var(--green); }
.hero::after, .hero::before { display:none !important; }
.hero h1 { color:#fff; }
.hero h1 em { color:var(--green); font-style:normal; }
.hero .chip { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); }
.hero .chip svg { fill:var(--green); }
.crumbs, .crumbs a { color:#c7d6f5; }
@media (min-width:900px) {
  .hero.hero-home {
    padding:96px 0 104px;
    background:linear-gradient(90deg,rgba(13,42,110,.98) 0%,rgba(18,64,171,.94) 42%,rgba(18,64,171,.35) 68%,rgba(18,64,171,.05) 100%),
               url('/assets/hero-eoi.webp') right center / cover no-repeat, #0d2a6e;
  }
  .hero.hero-home .container > * { max-width:640px; }
  .hero.hero-home .hero-trust { max-width:none; }
}

/* ── sections ── */
section.alt { background:var(--bg); }
.sec-head .kicker { background:var(--green-soft); color:#137a00; border-radius:999px; letter-spacing:.12em; }
.sec-head h2::after, .prose h2::after { content:""; display:block; width:56px; height:4px; border-radius:4px; background:var(--green); margin-top:12px; }
.sec-head h2::after { margin-left:auto; margin-right:auto; }
.card { border:1px solid var(--line); border-radius:14px; box-shadow:0 4px 18px rgba(11,31,58,.06); }
a.card:hover { border-color:#c9d6f2; box-shadow:0 12px 30px rgba(11,31,58,.12); transform:translateY(-2px); }
a.card { transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.card .ico { background:var(--blue-soft); border-radius:12px; }
.card .ico svg { fill:var(--blue); color:var(--blue); }
.card .more { color:var(--blue); }
.step { border:1px solid var(--line); border-radius:14px; border-top:4px solid var(--blue); }
.step .num { background:var(--blue); color:#fff; }
ul.checks li::before { color:#1fae00; }
.band { background:linear-gradient(120deg,var(--navy) 0%,var(--blue) 100%); border-radius:18px; border-bottom:5px solid var(--green); }
.faq details { border-radius:12px; border:1px solid var(--line); }
.faq summary::after { color:var(--blue); }
.prose h2 { color:var(--navy); }
.prose .tip { border-left-color:var(--green); background:var(--green-soft); }
table.rates { border-collapse:separate; border-spacing:0; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
table.rates th { background:var(--navy); }
.cta-inline { border-radius:16px; border:1px solid var(--line); border-top:4px solid var(--green); }
.form-card { border-radius:16px; border:1px solid var(--line); box-shadow:0 8px 28px rgba(11,31,58,.08); }
.field input:focus, .field select:focus, .field textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(18,64,171,.15); }

/* ── footer ── */
footer.site { background:var(--navy); border-top:5px solid var(--green); }
footer.site a:hover { color:var(--green); }
footer.site .fbrand .word em { color:var(--green); }
.fphone { color:var(--green) !important; }

/* ── v2: spacing + mobile header ── */
/* Plus Jakarta ships narrow word spaces; with tight tracking, words and punctuation read cramped. */
body { letter-spacing:0; word-spacing:.06em; }
h1, h2 { letter-spacing:-.012em; word-spacing:.04em; }
.brand .tag { white-space:nowrap; }
@media (max-width:620px) {
  .topbar .tb-left { display:none; }
  .topbar .container { justify-content:center; }
  .topbar { font-size:.78rem; }
  header.site .container { gap:10px; }
  .brand { gap:8px; min-width:0; }
  .brand .mark { width:32px; height:32px; }
  .brand .word { font-size:1rem; letter-spacing:.2px; }
  .brand .tag { display:none; }
  .hdr-cta { gap:8px; }
  .hdr-cta .btn { padding:8px 12px; font-size:.82rem; box-shadow:none; }
  .nav-toggle { padding:2px; }
}
/* v3: the flex row was crushing the hamburger to 4px wide */
.nav-toggle { flex:none; }
@media (max-width:1000px) { .nav-toggle { width:36px; height:36px; display:grid; place-items:center; } .nav-toggle svg { width:26px; height:26px; } }
@media (max-width:400px) { .brand .word { font-size:.92rem; } .hdr-cta .btn { padding:8px 10px; } }

/* v4: badge logo in the header (2026-09-19) */
.brand .mark { width: auto !important; height: 60px !important; }
@media (max-width: 620px) { .brand .mark { height: 44px !important; } }
