:root{
  /* --- The whole palette. Eight values, no tint ladder. --- */
  --deep:#0B2559;          /* the flood */
  --deep-ink:#061634;      /* deepest: card tabs, footer, strip text */
  --bright:#3FC5FF;        /* the accent — one phrase per section */
  --brand:#1D4ED8;         /* brand blue: solid buttons + links on light */
  --cream:#F1EDE3;         /* cream band */
  --ink:#0B1730;           /* text on light */
  --ink-2:#41506B;         /* secondary text on light */
  --on-deep-2:#AFC3E4;     /* secondary text on the flood */

  /* Legacy aliases so preserved widget CSS keeps resolving. */
  --brass:var(--brand);
  --brass-bright:var(--bright);
  --bone:var(--ink);
  --bone-dim:var(--ink-2);
  --slate:var(--ink-2);
  --green:#0F9D6B;
  --danger:#D93A3A;
  --line:rgba(11,23,48,.14);
  --vault:#FFFFFF;
  --vault-2:var(--cream);

  /* Layout */
  --max:1232px;
  --gutter:20px;
  --radius:14px;
  --pill:999px;
  --sec-y:clamp(64px,7vw,108px);
  --sec-y-sm:clamp(44px,5vw,72px);
  --util-h:38px;
  --hdr-h:82px;

  /* Display type. Full-width sections use these values. */
  --h1:clamp(2.3rem,4.4vw,3.5rem);
  --h2:clamp(1.9rem,3.2vw,2.7rem);
  --measure:58ch;          /* comfortable prose measure */
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:#FFFFFF;color:var(--ink);font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%}
::selection{background:var(--bright);color:var(--deep-ink)}
a{color:inherit;text-decoration:none}
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--bright);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:0;top:0;z-index:2000;background:var(--bright);color:var(--deep-ink);padding:12px 20px;font-weight:700;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip-link:focus{width:auto;height:auto;overflow:visible;clip:auto}

/* ---------------- Shell ---------------- */
.wrap,.shell{width:100%;max-width:var(--max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
@media(min-width:768px){:root{--gutter:28px}}
@media(min-width:1200px){:root{--gutter:32px}}
.shell-narrow{max-width:880px}
.shell-mid{max-width:1040px}

/* ---------------- Typography ---------------- */
/* Headlines are short by design — four or five words, heavy, sentence case. */
h1,h2,h3,h4,h5{font-family:'Inter Tight','Inter',system-ui,sans-serif;font-weight:800;color:inherit;line-height:1.04;letter-spacing:-.03em;text-wrap:balance}
/* Display scale. --h1/--h2 are redefined for narrow columns below, so a
   heading never has to wrap just because it sits in half the page. */
h1{font-size:var(--h1)}
h2{font-size:var(--h2)}
h3{font-size:clamp(1.2rem,1.7vw,1.45rem);line-height:1.2;letter-spacing:-.02em}
h4{font-size:1.05rem;letter-spacing:-.015em}
p{text-wrap:pretty}

/* Rule 2 — the accent phrase. One per section, on the second line. */
h1 em,h2 em{display:block;font-style:normal;color:var(--brand)}
.band-deep h1 em,.band-deep h2 em,.hero h1 em,.hero-page h1 em,.cta-band h2 em,.cta-inline h2 em{color:var(--bright)}

/* Sentence case labels. Never all-caps. */
.eyebrow,.chip{display:block;font-family:'Inter Tight','Inter',sans-serif;font-weight:800;font-size:clamp(1.1rem,1.6vw,1.4rem);letter-spacing:-.02em;text-transform:none;color:var(--brand);margin-bottom:6px;background:none;border:0;padding:0}
.band-deep .eyebrow,.hero .eyebrow,.hero-page .eyebrow,.band-deep .chip,.hero .chip,.hero-page .chip,.cta-band .eyebrow,.cta-band .chip{color:var(--bright)}
.eyebrow::before{content:none}
.lede{color:var(--ink-2);font-size:clamp(1.02rem,1.1vw,1.15rem);line-height:1.65;margin-top:20px;max-width:var(--measure)}
.band-deep .lede,.hero .lede,.hero-page .lede{color:var(--on-deep-2)}
.sub{color:var(--ink-2);font-size:1rem;line-height:1.65;max-width:var(--measure)}
.band-deep .sub,.hero-page .sub{color:var(--on-deep-2)}
.underline-link{color:var(--brand);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.band-deep .underline-link,.hero .underline-link,.hero-page .underline-link{color:var(--bright)}
.arrow-link{display:inline-flex;align-items:center;gap:7px;color:var(--brand);font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:1rem}
.arrow-link::after{content:"›";font-size:1.35em;line-height:1}
.band-deep .arrow-link,.hero-page .arrow-link{color:var(--bright)}
.mono{font-family:'Inter',system-ui,sans-serif}

/* Any half-width column: headings get the smaller step so each intended
   line still fits. Add this class to a new column and it just works. */
.split-copy,.hero-copy,.hero-page-grid > *:first-child,.narrow-col,
.taxpage .tw-hero .wrap > *:first-child,.taxpage .lead .split > *:first-child{
  --h1:clamp(2.05rem,3vw,2.8rem);
  --h2:clamp(1.7rem,2.3vw,2.25rem);
}

/* ---------------- Rule 5 — bands do the separating ---------------- */
section{padding:var(--sec-y) 0}
.sec-tight{padding:var(--sec-y-sm) 0}
.band-deep{background:var(--deep);color:#FFFFFF}
.band-deep h1,.band-deep h2,.band-deep h3,.band-deep h4{color:#FFFFFF}
.band-cream{background:var(--cream);color:var(--ink)}
.band-white{background:#FFFFFF;color:var(--ink)}
/* The thin accent strip. One line, one pill, nothing else. */
.strip{background:var(--bright);color:var(--deep-ink);padding:18px 0}
.strip-in{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2vw,28px);flex-wrap:wrap;text-align:center}
.strip p{font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:clamp(1rem,1.3vw,1.15rem);color:var(--deep-ink);margin:0;letter-spacing:-.015em}
.strip .underline-link{color:var(--deep-ink)}

.sec-head{max-width:none;margin-bottom:clamp(32px,3.6vw,52px)}
/* Inside a split column the column itself is the measure — do not double-cap it. */
.split-copy .sec-head{max-width:none}
.split-copy .sec-head .lede,.split-copy > .lede{max-width:var(--measure)}
.sec-head .lede,.sec-head .sub,.sec-head > p{max-width:var(--measure)}
.sec-head.center{max-width:none;text-align:center}
.sec-head.center h2{max-width:26ch;margin-left:auto;margin-right:auto}
.sec-head.center .lede,.sec-head.center .sub{margin-left:auto;margin-right:auto;text-align:center}
.sec-foot{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:clamp(32px,3.4vw,44px)}
.sec-foot.center{justify-content:center}

/* ---------------- Rule 1 — two buttons, both pills ---------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:1.02rem;letter-spacing:-.01em;text-transform:none;padding:16px 30px;border-radius:var(--pill);border:2px solid var(--brand);color:#FFFFFF;background:var(--brand);cursor:pointer;transition:background .16s,color .16s,border-color .16s;text-align:center;line-height:1.15}
.btn:hover{background:var(--deep);border-color:var(--deep);color:#FFFFFF}
.btn svg{width:18px;height:18px;flex:none}
.btn.ghost{background:transparent;color:var(--brand);border-color:var(--brand)}
.btn.ghost:hover{background:var(--brand);color:#FFFFFF}
.btn.quiet{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.quiet:hover{background:var(--ink);color:#FFFFFF}
.btn.sm{padding:11px 20px;font-size:.92rem}
.btn.lg{padding:19px 38px;font-size:1.1rem}
.btn.block{width:100%}
/* On the flood: solid is the bright accent, outline is white. */
.band-deep .btn,.hero .btn,.hero-page .btn,.cta-band .btn,.cta-inline .btn,.btn.on-dark{background:var(--bright);border-color:var(--bright);color:var(--deep-ink)}
.band-deep .btn:hover,.hero .btn:hover,.hero-page .btn:hover,.cta-band .btn:hover,.cta-inline .btn:hover,.btn.on-dark:hover{background:#FFFFFF;border-color:#FFFFFF;color:var(--deep-ink)}
.band-deep .btn.ghost,.hero .btn.ghost,.hero-page .btn.ghost,.cta-band .btn.ghost,.cta-inline .btn.ghost,.band-deep .btn.quiet,.hero-page .btn.quiet,.btn.on-dark.ghost{background:transparent;color:#FFFFFF;border-color:#FFFFFF}
.band-deep .btn.ghost:hover,.hero .btn.ghost:hover,.hero-page .btn.ghost:hover,.cta-band .btn.ghost:hover,.cta-inline .btn.ghost:hover,.band-deep .btn.quiet:hover,.hero-page .btn.quiet:hover,.btn.on-dark.ghost:hover{background:#FFFFFF;color:var(--deep-ink)}
.strip .btn{background:transparent;border-color:var(--deep-ink);color:var(--deep-ink)}
.strip .btn:hover{background:var(--deep-ink);color:var(--bright)}
/* .btn-shine is retired — no gradients. */
.btn-shine::after,.btn-shine::before{content:none}

.tagline{display:inline-flex;align-items:center;gap:8px;font-size:.95rem;color:var(--ink-2)}
.band-deep .tagline{color:var(--on-deep-2)}

/* ---------------- Rule 3 — the badge seal, the only decoration ---------------- */
.badge{position:relative;display:inline-grid;place-items:center;width:46px;height:46px;flex:none}
.badge .badge-seal{position:absolute;inset:0;width:100%;height:100%;fill:var(--bright)}
.badge .badge-ico{position:relative;width:54%;height:54%;stroke:var(--deep-ink);fill:none;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.band-cream .badge .badge-seal,.band-white .badge .badge-seal,.card .badge .badge-seal{fill:var(--brand)}
.band-cream .badge .badge-ico,.band-white .badge .badge-ico,.card .badge .badge-ico{stroke:#FFFFFF}
.badge.lg{width:64px;height:64px}
.trust-visual .badge{width:64px;height:64px;display:grid}

/* ---------------- Rule 4 — flat cards. No border, no shadow. ---------------- */
.card{background:#FFFFFF;border:0;border-radius:var(--radius);padding:clamp(26px,2.8vw,36px);box-shadow:none;color:var(--ink)}
.card h1,.card h2,.card h3,.card h4{color:var(--ink)}
.card p{color:var(--ink-2);font-size:1rem}
.card .n{font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:.94rem;letter-spacing:0;text-transform:none;color:var(--brand);margin-bottom:12px}
/* Cards take contrast from the band, never from a border. */
.band-white .card{background:var(--cream)}
.band-cream .card{background:#FFFFFF}
.band-deep .card{background:#FFFFFF}
a.card,.card-hover{transition:transform .16s}
a.card:hover,.card-hover:hover{transform:translateY(-2px)}

.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(28px,3.4vw,56px);align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,24px);margin-top:clamp(32px,3.4vw,48px)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2vw,24px);margin-top:clamp(32px,3.4vw,48px)}
@media(max-width:1000px){.grid4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.grid2{grid-template-columns:1fr}.grid3{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.grid3,.grid4{grid-template-columns:1fr}}

ul.checks{list-style:none;padding:0;margin-top:22px;display:flex;flex-direction:column;gap:14px}
ul.checks li{color:var(--ink-2);display:flex;gap:12px;align-items:flex-start;font-size:1rem;border:0;padding:0}
ul.checks li::before{content:"";flex:0 0 18px;width:18px;height:18px;margin-top:4px;background-color:var(--brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-size:12px;background-position:center;background-repeat:no-repeat}
.band-deep ul.checks li,.hero-page ul.checks li,.hero ul.checks li{color:var(--on-deep-2)}
.band-deep ul.checks li::before,.hero-page ul.checks li::before,.hero ul.checks li::before{background-color:var(--bright);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23061634' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")}
.card ul.checks li,.split-panel ul.checks li{color:var(--ink-2)}
.card ul.checks li::before,.split-panel ul.checks li::before{background-color:var(--brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")}

.stat{border:0;padding:0;background:none;box-shadow:none}
.stat .val{font-family:'Inter Tight','Inter',sans-serif;font-weight:800;font-size:2.6rem;color:var(--brand);letter-spacing:-.04em;line-height:1}
.band-deep .stat .val{color:var(--bright)}
.stat .lab{font-size:.95rem;color:var(--ink-2);text-transform:none;margin-top:6px;letter-spacing:0}
.band-deep .stat .lab{color:var(--on-deep-2)}

/* ---------------- Top accent strip + utility bar ---------------- */
.top-accent{height:6px;background:var(--bright)}
.util{background:var(--deep-ink);color:var(--on-deep-2);font-size:.85rem}
.util-in{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:var(--util-h);flex-wrap:wrap}
.util-l{display:inline-flex;align-items:center;gap:9px;font-size:.8rem;padding:7px 0}
.util-l svg{width:14px;height:14px;flex:none;color:var(--bright)}
.util-r{display:inline-flex;align-items:center;gap:20px;padding:7px 0}
.util-r a{color:#FFFFFF;font-weight:700;font-size:.84rem;display:inline-flex;align-items:center;gap:7px}
.util-r a:hover{color:var(--bright)}
.util-r a svg{width:14px;height:14px;color:var(--bright)}
.util-r .sep{width:1px;height:14px;background:rgba(255,255,255,.2)}
@media(max-width:860px){.util-l{display:none}.util-in{justify-content:center}.util-r{gap:16px}}
@media(max-width:520px){.util-r .util-hide-xs{display:none}}

/* ---------------- Header ---------------- */
header.site{position:sticky;top:0;z-index:400;background:#FFFFFF}
.nav{display:flex;align-items:center;gap:18px;min-height:var(--hdr-h)}
.logo{display:inline-flex;align-items:center;flex:none;margin-right:6px}
.logo-img{height:58px;width:auto;max-width:250px;object-fit:contain;object-position:left center;display:block}
@media(max-width:1100px){.logo-img{height:50px;max-width:200px}}
@media(max-width:600px){:root{--hdr-h:66px}.logo-img{height:44px;max-width:166px}}
.nav .links{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav .links > a,.navdrop > button{display:inline-flex;align-items:center;gap:6px;font-family:'Inter Tight','Inter',sans-serif;font-size:1rem;font-weight:700;color:var(--ink);background:none;border:none;cursor:pointer;padding:10px 14px;line-height:1.2;white-space:nowrap;letter-spacing:-.01em}
.nav .links > a:hover,.navdrop > button:hover,.navdrop[data-open="true"] > button{color:var(--brand)}
.nav .links > a.active{color:var(--brand)}
.navdrop > button .caret{display:inline-block;width:9px;height:9px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s}
.navdrop[data-open="true"] > button .caret{transform:rotate(-135deg) translate(-3px,-3px)}
.hdr-actions{display:inline-flex;align-items:center;gap:14px;flex:none;margin-left:10px}
.hdr-phone{display:none;align-items:center;gap:8px;font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:.96rem;color:var(--ink);white-space:nowrap}
.hdr-phone svg{width:17px;height:17px;color:var(--brand)}
.hdr-phone:hover{color:var(--brand)}
@media(max-width:1240px){.nav .links > a,.navdrop > button{padding:10px 12px;font-size:.95rem}}
/* Final step before the drawer takes over, so the nav never outgrows the row. */
@media(max-width:1180px){
  .nav{gap:12px}
  .nav .links > a,.navdrop > button{padding:10px 8px;font-size:.92rem}
  .hdr-actions .btn{padding:10px 16px;font-size:.88rem}
}
@media(max-width:1060px){
  .nav .links,.hdr-actions{display:none}
  /* The drawer replaces them; the mega grid is wider than the viewport. */
  .mega{display:none}
}

/* Mega menu — a flat deep panel, no shadow. */
.navdrop{position:static}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--deep);color:#FFFFFF;opacity:0;visibility:hidden;z-index:410}
.navdrop[data-open="true"] .mega{opacity:1;visibility:visible}
.mega-in{display:grid;grid-template-columns:1fr 1fr 1fr 300px;gap:36px;padding:38px 0 42px}
.mega-col h4{font-family:'Inter Tight','Inter',sans-serif;font-size:1.05rem;font-weight:800;letter-spacing:-.02em;text-transform:none;color:var(--bright);margin-bottom:14px}
.mega-link{display:block;padding:9px 0;color:#FFFFFF}
.mega-link strong{display:block;font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:1rem;color:#FFFFFF}
.mega-link:hover strong{color:var(--bright)}
.mega-link span{display:block;font-size:.88rem;color:var(--on-deep-2);line-height:1.5;margin-top:2px}
.mega-promo{background:#FFFFFF;color:var(--ink);border-radius:var(--radius);padding:26px}
.mega-promo .chip{font-size:1.05rem;color:var(--brand);margin-bottom:8px}
.mega-promo h4{font-family:'Inter Tight','Inter',sans-serif;font-size:1.2rem;font-weight:800;color:var(--ink);letter-spacing:-.02em;text-transform:none;margin-bottom:8px}
.mega-promo p{font-size:.9rem;color:var(--ink-2);margin-bottom:18px}
.mega-promo .btn{background:var(--brand);border-color:var(--brand);color:#FFFFFF}
.mega-promo .btn:hover{background:var(--deep);border-color:var(--deep)}
@media(max-width:1180px){.mega-in{grid-template-columns:1fr 1fr 260px;gap:28px}}

/* Burger + drawer */
.burger{display:none;align-items:center;justify-content:center;width:46px;height:46px;border:2px solid var(--ink);border-radius:var(--pill);background:#FFFFFF;cursor:pointer;flex:none;margin-left:auto}
.burger span{display:block;position:relative;width:18px;height:2.5px;background:var(--ink)}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:2.5px;background:var(--ink);transition:transform .2s ease,top .2s ease}
.burger span::before{top:-6px}
.burger span::after{top:6px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
@media(max-width:1060px){.burger{display:inline-flex}}
.drawer{position:fixed;inset:0;z-index:500;visibility:hidden;pointer-events:none;overflow:hidden}
.drawer[data-open="true"]{visibility:visible;pointer-events:auto}
.drawer-scrim{position:absolute;inset:0;background:rgba(6,22,52,.65);opacity:0;transition:opacity .22s ease}
.drawer[data-open="true"] .drawer-scrim{opacity:1}
.drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(400px,92vw);background:var(--deep);color:#FFFFFF;transform:translateX(100%);transition:transform .26s cubic-bezier(.32,.72,0,1);display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}
.drawer[data-open="true"] .drawer-panel{transform:none}
.drawer-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;position:sticky;top:0;background:var(--deep);z-index:2}
.drawer-top .logo-img{height:40px;max-width:150px;filter:brightness(0) invert(1)}
.drawer-close{width:44px;height:44px;border:2px solid rgba(255,255,255,.55);border-radius:var(--pill);background:transparent;color:#FFFFFF;font-size:1.4rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.drawer-close:hover{border-color:var(--bright);color:var(--bright)}
.drawer-body{padding:8px 20px 24px;flex:1}
.dacc > summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 2px;font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:1.1rem;color:#FFFFFF}
.dacc > summary::-webkit-details-marker{display:none}
.dacc > summary::after{content:"";width:9px;height:9px;border-right:2.5px solid var(--bright);border-bottom:2.5px solid var(--bright);transform:rotate(45deg);transition:transform .2s ease;flex:none;margin-right:4px}
.dacc[open] > summary::after{transform:rotate(-135deg)}
.dacc-body{padding:2px 0 14px;display:flex;flex-direction:column}
.dacc-body a{padding:11px 0;font-size:1rem;color:var(--on-deep-2);font-weight:500}
.dacc-body a:hover{color:var(--bright)}
.drawer-flat{display:block;padding:16px 2px;font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:1.1rem;color:#FFFFFF}
.drawer-flat:hover{color:var(--bright)}
.drawer-cta{padding:22px 20px 28px;background:var(--deep-ink);display:flex;flex-direction:column;gap:12px;position:sticky;bottom:0}
.drawer-cta .btn{width:100%;background:var(--bright);border-color:var(--bright);color:var(--deep-ink)}
.drawer-cta .btn.ghost{background:transparent;color:#FFFFFF;border-color:#FFFFFF}
.drawer-meta{display:flex;flex-direction:column;gap:6px;font-size:.88rem;color:var(--on-deep-2);margin-top:4px}
.drawer-meta a:hover{color:var(--bright)}
body.nav-open{overflow:hidden}

/* ---------------- Breadcrumbs ---------------- */
.crumbs{background:var(--deep);color:var(--on-deep-2)}
.crumbs-row{display:flex;gap:6px;align-items:center;padding:12px 0;font-size:.85rem;flex-wrap:wrap}
.crumbs-row a{color:var(--on-deep-2);font-weight:600}
.crumbs-row a:hover{color:var(--bright)}
.crumbs-sep{color:rgba(175,195,228,.5);margin-right:6px}
.crumbs-current{color:var(--bright);font-weight:700}
.crumbs-item{display:inline-flex;align-items:center}

/* ---------------- Rule 1 — the hero flood ---------------- */
.hero{position:relative;background:var(--deep);color:#FFFFFF;padding:clamp(56px,6.4vw,104px) 0}
.hero h1,.hero h2,.hero h3{color:#FFFFFF}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(36px,4.4vw,72px);align-items:center}
@media(max-width:960px){.hero-grid{grid-template-columns:1fr;gap:40px}}
.hero-copy{max-width:640px}
.hero-copy h1{margin-top:10px}
.hero-ctas{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.hero-note{margin-top:22px;font-size:.92rem;color:var(--on-deep-2);display:flex;align-items:flex-start;gap:10px;max-width:54ch}
.hero-note svg{width:16px;height:16px;flex:none;margin-top:4px;color:var(--bright)}
.hero-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
.hero-tags span{font-size:.86rem;font-weight:600;color:#FFFFFF;background:rgba(255,255,255,.13);padding:7px 15px;border-radius:var(--pill)}
.band-cream .hero-tags span,.band-white .hero-tags span{color:var(--ink);background:rgba(11,23,48,.07)}
.hero-media{position:relative}
.hero-visual{background:#FFFFFF;border:0;border-radius:var(--radius);box-shadow:none;padding:clamp(24px,2.6vw,32px);color:var(--ink)}
.hero-visual h2,.hero-visual h3{color:var(--ink)}
.hero-visual-title{font-family:'Inter Tight','Inter',sans-serif;font-weight:800;font-size:1.3rem;letter-spacing:-.025em;margin-bottom:20px;color:var(--ink);line-height:1.15}
.hero-visual-title span{display:block;color:var(--brand)}

/* Interior page hero — same flood, shorter. */
.hero-page{position:relative;background:var(--deep);color:#FFFFFF;padding:clamp(48px,5.4vw,84px) 0}
.hero-page h1,.hero-page h2,.hero-page h3,.hero-page h4{color:#FFFFFF}
.hero-page h1{margin-top:8px;max-width:none}
.hero-page-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,3.8vw,60px);align-items:center}
@media(max-width:900px){.hero-page-grid{grid-template-columns:1fr;gap:34px}}
.hero-stats{display:flex;gap:clamp(24px,3vw,52px);flex-wrap:wrap;margin-top:38px}
.hero-stat strong{display:block;font-family:'Inter Tight','Inter',sans-serif;font-weight:800;font-size:2.1rem;color:var(--bright);letter-spacing:-.04em;line-height:1}
.hero-stat span{display:block;font-size:.9rem;color:var(--on-deep-2);margin-top:6px;max-width:22ch}

/* Rule 2 — a flat colour rectangle behind a photo subject. */
.photo-flat{position:relative;display:block;background:var(--bright);border-radius:8px;padding:0 6px 6px 0}
.photo-flat img{position:relative;display:block;width:100%;height:auto;border-radius:8px;transform:translate(-6px,-6px)}

/* ---------------- Option cards (three-column comparison) ---------------- */
.opt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;margin-top:clamp(32px,3.4vw,48px)}
@media(max-width:960px){.opt-grid{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}}
.opt{position:relative;display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;background:#FFFFFF;border:0;box-shadow:none;color:var(--ink)}
.band-white .opt{background:var(--cream)}
.opt h3{color:var(--ink)}
.opt-tab{background:var(--deep-ink);color:#FFFFFF;font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:.92rem;text-transform:none;letter-spacing:-.01em;text-align:center;padding:13px 16px}
.opt-tab b{color:var(--bright);font-weight:700}
.opt.featured .opt-tab{background:var(--bright);color:var(--deep-ink)}
.opt.featured .opt-tab b{color:var(--deep-ink)}
.opt-inner{display:flex;flex-direction:column;flex:1;padding:clamp(26px,2.8vw,34px)}
.opt-inner > h3{font-size:clamp(1.3rem,1.9vw,1.6rem);margin-bottom:14px}
.opt-price{font-family:'Inter Tight','Inter',sans-serif;font-weight:800;font-size:2.4rem;color:var(--brand);letter-spacing:-.04em;line-height:1;margin:4px 0 2px}
.opt-price small{display:block;font-size:.88rem;font-weight:600;color:var(--ink-2);letter-spacing:0;margin-top:10px}
.opt-inner > p{color:var(--ink-2);font-size:.98rem;margin-bottom:20px}
.opt ul{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:12px}
.opt li{display:flex;gap:11px;align-items:flex-start;font-size:.96rem;color:var(--ink-2);border:0;padding:0}
.opt li::before{content:"";flex:0 0 14px;width:14px;height:14px;margin-top:5px;background:var(--brand)}
.opt-cta{margin-top:auto;display:flex;flex-direction:column;gap:14px;align-items:stretch}
.opt-cta .btn{width:100%}
.opt-foot{font-size:.88rem;color:var(--ink-2);text-align:center}
.opt-icon,.opt-flag{display:none}

/* ---------------- Value props / proof points ---------------- */
.val-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,2.8vw,40px);margin-top:clamp(32px,3.4vw,48px)}
@media(max-width:980px){.val-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.val-grid{grid-template-columns:1fr;gap:28px}}
.val{display:flex;flex-direction:column;gap:14px}
.val h3{color:inherit}
.val p{color:var(--ink-2);font-size:.98rem;line-height:1.6}
.band-deep .val p{color:var(--on-deep-2)}
.val-ico{display:none}

/* ---------------- Split rows ---------------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4.4vw,72px);align-items:center}
.split + .split{margin-top:clamp(52px,6vw,96px)}
.split-media{order:2}
.split.reverse .split-media{order:-1}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:32px}.split-media,.split.reverse .split-media{order:-1}}
.split-panel{background:#FFFFFF;border:0;border-radius:var(--radius);padding:clamp(26px,2.8vw,38px);box-shadow:none;color:var(--ink)}
.split-panel h2,.split-panel h3,.split-panel h4{color:var(--ink)}
.split-panel p,.split-panel .lede{color:var(--ink-2)}
.split-panel .eyebrow,.split-panel .chip{color:var(--brand)}
.band-white .split-panel,.split-panel.tint{background:var(--cream)}
.band-cream .split-panel,.band-cream .split-panel.tint{background:#FFFFFF}

/* ---- Media panel: an image sitting flat on the band, no shadow/border ---- */
.split.media-right{grid-template-columns:1.08fr .92fr;align-items:center}
.split.media-right .split-media{order:2}
.split.split-tight{align-items:center}
.split.split-tight .split-copy .sec-head{margin-bottom:0}
@media(max-width:900px){
  /* On mobile the heading leads and the image follows it. */
  .split.media-right{grid-template-columns:1fr;gap:28px}
  .split.media-right .split-copy{order:1}
  .split.media-right .split-media{order:2}
  .split.media-right .sec-foot{margin-top:26px}
}
.split.media-right .media-panel{height:100%}
@media(max-width:900px){.split.media-right .media-panel{height:auto}}
.media-panel{--panel-bg:#FFFFFF;margin:0;background:var(--panel-bg);border:0;border-radius:var(--radius);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;box-shadow:none}
.band-cream .media-panel{--panel-bg:#FFFFFF}
.band-white .media-panel{--panel-bg:var(--cream)}
.band-deep .media-panel{--panel-bg:#FFFFFF}
.media-panel img{display:block;width:100%;height:auto;max-height:300px;object-fit:contain;border-radius:8px}
.media-panel figcaption{font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:.95rem;line-height:1.4;color:var(--ink-2);text-align:center;text-wrap:balance;max-width:36ch}
@media(max-width:900px){.media-panel img{max-height:220px}}
@media(max-width:560px){.media-panel{padding:24px 20px}.media-panel img{max-height:180px}}

/* Illustration column inside a page hero — text leads on mobile. */
.hero-illus{min-width:0}
@media(max-width:900px){
  .hero-page-grid{grid-template-columns:1fr}
  .hero-illus{order:2}
}

/* Flat section illustrations. Fixed aspect ratio so they never distort. */
/* Cap the size on the width axis, not the height: a max-height fights
   aspect-ratio and letterboxes the drawing inside its own box. These
   values are the old height caps x 1.5, so the size is unchanged. */
.illus{display:block;width:100%;max-width:435px;height:auto;aspect-ratio:480/320;margin-inline:auto;overflow:visible}
@media(max-width:900px){.illus{max-width:345px}}
@media(max-width:560px){.illus{max-width:285px}}
/* On a deep band the panel is white, so the scene keeps its own contrast. */
.band-deep .media-panel,.hero-page .media-panel{--panel-bg:#FFFFFF}

/* Value grid nested inside a split column drops to two columns. */
.val-grid-split{grid-template-columns:repeat(2,1fr);gap:clamp(20px,2.4vw,32px);margin-top:clamp(28px,3vw,40px)}
@media(max-width:1100px){.val-grid-split{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.val-grid-split{grid-template-columns:1fr;gap:26px}}

/* ---------------- Steps ---------------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,2.8vw,40px);margin-top:clamp(34px,3.6vw,52px)}
.steps.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.steps.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.steps,.steps.four{grid-template-columns:1fr;gap:26px}}
.step{display:flex;flex-direction:column;gap:12px}
.step-n{width:46px;height:46px;border-radius:var(--pill);background:var(--brand);color:#FFFFFF;font-family:'Inter Tight','Inter',sans-serif;font-weight:800;font-size:1.15rem;display:grid;place-items:center;flex:none;box-shadow:none}
.band-deep .step-n,.hero-page .step-n{background:var(--bright);color:var(--deep-ink)}
.step h3{color:inherit}
.step p{color:var(--ink-2);font-size:.98rem;line-height:1.6}
.band-deep .step p,.hero-page .step p{color:var(--on-deep-2)}

/* ---------------- Ratings & reviews ---------------- */
.rate-band{display:flex;align-items:flex-start;justify-content:center;gap:clamp(24px,4vw,64px);flex-wrap:wrap;text-align:center}
.rate-item{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:140px}
.rate-item .stars{color:var(--brand);letter-spacing:2px;font-size:1.15rem;line-height:1}
.band-deep .rate-item .stars{color:var(--bright)}
.rate-item strong{font-family:'Inter Tight','Inter',sans-serif;font-weight:800;font-size:1.05rem}
.rate-item span{font-size:.88rem;color:var(--ink-2)}
.band-deep .rate-item span{color:var(--on-deep-2)}
.testimonial-card{display:flex;flex-direction:column}
.testimonial-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.testimonial-meta .stars{color:var(--brand);letter-spacing:2px;font-size:1.1rem;line-height:1}
.testimonial-meta .review-source{font-size:.86rem;font-weight:600;color:var(--ink-2);text-transform:none;border:0;background:none;padding:0;letter-spacing:0}

/* ---------------- Resource cards ---------------- */
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:clamp(32px,3.4vw,48px)}
.res-grid.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:960px){.res-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.res-grid,.res-grid.two{grid-template-columns:1fr}}
.card-stack{display:grid;grid-template-columns:1fr;gap:18px}
.res{display:flex;flex-direction:column;background:#FFFFFF;border:0;border-radius:var(--radius);overflow:hidden;box-shadow:none;height:100%;color:var(--ink);transition:transform .16s}
.band-white .res{background:var(--cream)}
.res:hover{transform:translateY(-2px)}
.res h3{color:var(--ink)}
.res-top{padding:26px 26px 0}
.res-kicker{font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:.9rem;letter-spacing:0;text-transform:none;color:var(--brand);margin-bottom:10px}
.res-body{padding:10px 26px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
.res p{color:var(--ink-2);font-size:.96rem}
.res .arrow-link{margin-top:auto;padding-top:12px}

/* ---------------- CTA bands ---------------- */
.cta-band{background:var(--deep);color:#FFFFFF;padding:clamp(64px,7vw,108px) 0;text-align:center}
.cta-band h2{color:#FFFFFF;max-width:24ch;margin:0 auto}
.cta-band p{color:var(--on-deep-2);max-width:56ch;margin:22px auto 0;font-size:1.08rem}
.cta-band .eyebrow,.cta-band .chip{text-align:center}
.cta-band .sec-foot{justify-content:center}
.cta-band .fineprint{margin-top:26px;font-size:.86rem;color:var(--on-deep-2);max-width:70ch;margin-left:auto;margin-right:auto}
.cta-inline{margin-top:clamp(44px,4.6vw,72px);background:var(--deep);color:#FFFFFF;border:0;border-radius:var(--radius);padding:clamp(32px,3.6vw,52px);text-align:center;box-shadow:none}
.cta-inline h2{color:#FFFFFF;font-size:clamp(1.6rem,2.4vw,2.1rem);max-width:26ch;margin:0 auto}
.cta-inline p{color:var(--on-deep-2);margin:16px auto 0;max-width:54ch}
.cta-inline .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:26px}

/* ---------------- FAQ ---------------- */
.faq-foot{padding-top:0;margin-top:0;border:0}
.faq-foot h4{display:none}
.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px}
@media(max-width:820px){.faq-grid{grid-template-columns:1fr}}
.faq-item{border:0}
.faq-item summary{cursor:pointer;list-style:none;padding:18px 0;font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:-.015em;color:inherit;display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.faq-item summary:hover{color:var(--brand)}
.band-deep .faq-item summary:hover{color:var(--bright)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"";flex:none;width:16px;height:16px;margin-top:5px;background-color:var(--brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");background-size:11px;background-position:center;background-repeat:no-repeat;transition:transform .18s ease}
.band-deep .faq-item summary::after{background-color:var(--bright);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23061634' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E")}
.faq-item[open] summary::after{transform:rotate(135deg)}
.faq-item p{padding:0 0 20px;color:var(--ink-2);font-size:.98rem;line-height:1.65;max-width:66ch}
.band-deep .faq-item p{color:var(--on-deep-2)}
.faq-stack{border:0}

/* ---------------- Proof strips ---------------- */
.trust-strip{background:var(--cream);padding:26px 0;border:0}
.trust-strip-row{display:flex;align-items:center;justify-content:center;gap:clamp(20px,3vw,44px);flex-wrap:wrap}
.trust-strip .lbl{font-size:.95rem;font-weight:700;letter-spacing:0;text-transform:none;color:var(--ink-2)}
.trust-marks{display:inline-flex;align-items:center;gap:clamp(18px,2.4vw,34px);flex-wrap:wrap}
.trust-mark{display:inline-flex;align-items:center;gap:10px}
.trust-mark svg{height:26px;width:auto;display:block;color:currentColor}
.trust-mark .tm-txt{font-size:.86rem;font-weight:600;letter-spacing:0;text-transform:none;color:inherit}
.trust-marks.sm .trust-mark svg{height:20px}
.trust-marks.sm .trust-mark .tm-txt{font-size:.82rem}

/* Proof-point row — the badge seal is the only decoration here. */
.hero-trust-bar{background:#FFFFFF;padding:clamp(48px,5vw,80px) 0;border:0}
.trust-bar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(20px,2.6vw,36px);align-items:start}
.trust-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;min-width:0}
.trust-visual{display:flex;align-items:center;justify-content:center;width:100%;height:68px;line-height:0;font-size:0}
.trust-visual > *{display:block;flex:0 0 auto;margin:0}
.trust-badge-img{width:64px;height:64px;object-fit:contain;display:block;filter:none;opacity:1}
.pulse-heart,.trust-icon{display:inline-flex;align-items:center;justify-content:center}
.trust-item strong{display:block;font-family:'Inter Tight','Inter',sans-serif;font-weight:800;font-size:1.02rem;line-height:1.3;color:var(--ink);letter-spacing:-.02em;text-wrap:balance;max-width:20ch;margin:0 auto}
.trust-item > div:last-child > span{display:block;font-size:.9rem;color:var(--ink-2);line-height:1.5;margin:6px auto 0;max-width:26ch;text-wrap:pretty}
@media(max-width:1000px){.trust-bar-grid{grid-template-columns:repeat(3,1fr);gap:34px 24px}}
@media(max-width:680px){.trust-bar-grid{grid-template-columns:repeat(2,1fr);gap:32px 20px}}
@media(max-width:400px){.trust-bar-grid{grid-template-columns:1fr;gap:30px}}
.fbadges{display:flex;align-items:center;gap:18px;margin-top:18px;flex-wrap:wrap}
.fbadges img{height:56px;width:auto;object-fit:contain;filter:none;opacity:1}

/* ---------------- Press strip ---------------- */
.featured{background:var(--cream);padding:24px 0;border:0}
.featured-row{display:flex;align-items:center;gap:clamp(18px,2.4vw,36px);flex-wrap:nowrap}
.featured-row .lbl{font-size:.92rem;font-weight:700;letter-spacing:0;text-transform:none;color:var(--ink-2);flex:none;max-width:150px;line-height:1.4}
@media(max-width:640px){
  .featured-row{flex-direction:column;align-items:stretch;gap:12px}
  .featured-row .lbl{max-width:none}
  /* In a column flex the cross size is width — pin it or the track sets it. */
  .ticker-wrap{width:100%;align-self:stretch}
}

/* ---------------- Two-path cards ---------------- */
.pa-header{text-align:center;max-width:760px;margin:0 auto clamp(32px,3.4vw,48px)}
.pa-flow{position:relative;max-width:1100px;margin:0 auto}
.pa-node,.pa-pulse{display:none}
.pa-paths{display:grid;grid-template-columns:1fr;gap:20px;position:relative;z-index:1;padding-top:0}
@media(min-width:1024px){.pa-paths{grid-template-columns:1fr 1fr;gap:22px;padding-top:0}}
.pa-card{background:var(--cream);border:0;border-radius:var(--radius);padding:clamp(24px,2.6vw,32px);box-shadow:none;color:var(--ink)}
.band-cream .pa-card{background:#FFFFFF}
.pa-card h3{color:var(--ink);font-size:clamp(1.2rem,1.7vw,1.45rem);margin-bottom:12px}
.pa-badge{display:block;font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:.92rem;letter-spacing:0;text-transform:none;padding:0;border-radius:0;background:none;color:var(--brand);margin-bottom:10px}
.pa-badge.muted{background:none;color:var(--brand)}
.pa-card p{color:var(--ink-2);font-size:.98rem;line-height:1.6;margin-bottom:18px}
.pa-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.pa-card li{display:flex;align-items:flex-start;gap:11px;color:var(--ink-2);font-size:.95rem;padding:0;border:0}
.pa-card li svg{width:16px;height:16px;color:var(--brand);flex:0 0 16px;margin-top:4px}
.pa-note{text-align:center;margin-top:28px;font-size:.9rem;color:var(--ink-2);max-width:72ch;margin-left:auto;margin-right:auto;line-height:1.6}
.band-deep .pa-note,.hero .pa-note{color:var(--on-deep-2)}
.hero-pa{max-width:none;margin-top:4px}
.hero-pa .pa-paths{grid-template-columns:1fr;gap:16px;padding-top:0}
@media(min-width:1024px){.hero-pa .pa-paths{grid-template-columns:1fr;gap:16px;padding-top:0}}
.hero-pa .pa-card{padding:22px 24px}
.hero-pa .pa-card h3{font-size:1.18rem;margin-bottom:8px}
.hero-pa .pa-card p{font-size:.94rem;margin-bottom:14px}
.hero-pa .pa-card li{font-size:.92rem}

/* ---------------- Featured person ---------------- */
.feat-person{display:flex;gap:18px;align-items:flex-start;margin-top:24px;padding-top:0;border:0}
.feat-person img{width:88px;height:88px;flex:0 0 88px;border-radius:8px;object-fit:cover;object-position:center top;filter:none;background:var(--cream)}
.feat-person strong{display:block;font-family:'Inter Tight','Inter',sans-serif;font-weight:800;font-size:1.05rem;color:var(--ink)}
.feat-person .fp-role{display:block;font-size:.88rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--brand);margin-top:3px}
.feat-person p{margin-top:10px;font-size:.94rem;color:var(--ink-2)}

/* ---------------- Team grid ---------------- */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:clamp(32px,3.4vw,48px);text-align:left}
@media(max-width:1040px){.team-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.team-grid{grid-template-columns:1fr}}
.team-card{background:#FFFFFF;border:0;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:none;transition:transform .16s;color:var(--ink)}
.band-white .team-card{background:var(--cream)}
.team-card:hover{transform:translateY(-2px)}
.team-photo{aspect-ratio:1/1;width:100%;object-fit:cover;object-position:center top;display:block;background:var(--deep);filter:none}
.team-body{padding:20px 22px 24px}
.team-role{font-size:.86rem;font-weight:700;letter-spacing:0;text-transform:none;color:var(--brand);margin-bottom:7px}
.team-name{font-family:'Inter Tight','Inter',sans-serif;font-weight:800;font-size:1.15rem;line-height:1.15;color:var(--ink);margin-bottom:9px;letter-spacing:-.025em}
.team-bio{color:var(--ink-2);font-size:.93rem;line-height:1.55}
.team-human{margin-top:10px;font-size:.88rem;line-height:1.5;color:var(--brand);font-style:italic}

/* ---------------- Sticky call button ---------------- */
.call-now{position:fixed;right:20px;bottom:22px;z-index:380;display:inline-flex;align-items:center;gap:9px;background:var(--bright);color:var(--deep-ink);border:0;border-radius:var(--pill);padding:15px 24px;font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:1rem;text-decoration:none;box-shadow:none}
.call-now:hover{background:var(--deep-ink);color:var(--bright)}
.call-now svg{width:17px;height:17px;fill:currentColor}
@media(max-width:560px){.call-now{right:12px;bottom:12px;padding:13px 20px;font-size:.92rem}}

/* ---------------- Footer ---------------- */
footer.site{background:var(--deep-ink);color:var(--on-deep-2);font-size:.92rem;padding:clamp(52px,5.4vw,80px) 0 32px;border:0}
footer.site .fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.3fr;gap:clamp(26px,2.8vw,44px);padding-bottom:clamp(34px,3.4vw,48px);border:0}
@media(max-width:1100px){footer.site .fgrid{grid-template-columns:1fr 1fr 1fr;gap:34px}}
@media(max-width:720px){footer.site .fgrid{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:520px){footer.site .fgrid{grid-template-columns:1fr}}
footer.site .fcol h4{font-family:'Inter Tight','Inter',sans-serif;font-size:1.05rem;font-weight:800;letter-spacing:-.02em;text-transform:none;color:var(--bright);margin-bottom:16px}
footer.site .fcol ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}
footer.site .fcol a{color:#FFFFFF;font-size:.94rem}
footer.site .fcol a:hover{color:var(--bright)}
footer.site .flogo{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
@media(max-width:1100px){footer.site .flogo{grid-column:1/-1}}
footer.site .flion img.logo-mark-img{height:64px;width:auto;object-fit:contain}
footer.site .fblurb{color:var(--on-deep-2);font-size:.94rem;line-height:1.6;max-width:40ch}
footer.site .ftax{display:inline-block;font-size:.92rem;color:#FFFFFF;border:0;background:var(--deep);border-radius:var(--radius);padding:14px 18px;line-height:1.5;max-width:36ch}
footer.site .ftax b{color:var(--bright);font-weight:700}
footer.site .fcontact{display:flex;flex-direction:column;gap:8px;font-size:.94rem;color:#FFFFFF}
footer.site .fcontact a:hover{color:var(--bright)}
footer.site .ffield{display:flex;flex-direction:column;gap:10px;margin-top:4px}
footer.site .ffield input,footer.site .ffield textarea{background:#FFFFFF;border:0;color:var(--ink);padding:13px 15px;border-radius:10px;font-family:inherit;font-size:.94rem;outline:none;width:100%}
footer.site .ffield textarea{resize:vertical;min-height:82px}
footer.site .fbtn{background:var(--bright);color:var(--deep-ink);border:0;padding:14px 22px;font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:.98rem;border-radius:var(--pill);cursor:pointer}
footer.site .fbtn:hover{background:#FFFFFF}
footer.site .fbtn:disabled{opacity:.6;cursor:not-allowed}
footer.site .fok{color:var(--bright);font-size:.94rem;font-weight:700}
footer.site .ferr{color:#FF9B9B;font-size:.88rem}
footer.site .fsocial{display:flex;gap:10px;margin-top:4px;flex-wrap:wrap}
footer.site .fsocial a{display:inline-grid;place-items:center;width:42px;height:42px;border:0;border-radius:var(--pill);color:var(--deep-ink);background:var(--bright)}
footer.site .fsocial a:hover{background:#FFFFFF}
footer.site .fsocial svg{width:17px;height:17px;fill:currentColor}
footer.site .faddr{font-size:.9rem;line-height:1.7;color:var(--on-deep-2)}
footer.site .faddr .lbl{color:var(--bright);text-transform:none;letter-spacing:0;font-size:.88rem;font-weight:700;display:block;margin-top:14px;margin-bottom:2px}
footer.site .faddr .lbl:first-child{margin-top:0}
footer.site .fmini{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:.88rem;color:var(--on-deep-2);padding-top:28px}
footer.site .fmini nav{display:flex;gap:18px;flex-wrap:wrap}
footer.site .fmini a{color:#FFFFFF}
footer.site .fmini a:hover{color:var(--bright)}
footer.site .legal{margin-top:20px;font-size:.84rem;line-height:1.65;color:var(--on-deep-2);max-width:100ch}

/* ---------------- List pages ---------------- */
.list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.list-head h2{font-size:clamp(1.7rem,2.8vw,2.3rem)}
.list-head p{color:var(--ink-2);font-size:1rem;margin-top:8px;max-width:60ch}
.band-deep .list-head p{color:var(--on-deep-2)}

/* ---------------- Comparison table ---------------- */
.cmp-wrap{overflow-x:auto;border:0;border-radius:var(--radius);background:#FFFFFF;box-shadow:none;-webkit-overflow-scrolling:touch}
.band-white .cmp-wrap{background:var(--cream)}
.cmp{width:100%;min-width:720px;border-collapse:collapse;font-size:.96rem;color:var(--ink)}
.cmp th,.cmp td{text-align:left;padding:18px 20px;vertical-align:top;border:0}
.cmp thead th{background:var(--deep-ink);color:#FFFFFF;font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:1rem;white-space:nowrap}
.cmp thead th:not(:first-child){color:var(--bright)}
.cmp tbody th{font-family:'Inter Tight','Inter',sans-serif;font-weight:700;color:var(--ink);width:20%}
.cmp tbody td{color:var(--ink-2);width:26.66%}
.cmp tbody tr:nth-child(even) th,.cmp tbody tr:nth-child(even) td{background:rgba(11,37,89,.05)}

/* ---------------- Contact page: copy + compact form ---------------- */
/* The intake form is much taller than the contact details beside it, so the
   columns align to the top (centring left an ~800px void) and the copy takes
   a slightly larger share. Everything here is scoped to this one section. */
.split.contact-split{grid-template-columns:1.15fr .85fr;align-items:start;gap:clamp(28px,3.4vw,56px)}
@media(max-width:900px){
  .split.contact-split{grid-template-columns:1fr;gap:32px}
  .split.contact-split .split-copy{order:1}
  .split.contact-split .split-media{order:2}
}
/* Keep the details in view while the long form scrolls past. */
@media(min-width:901px){
  .split.contact-split .split-copy{position:sticky;top:calc(var(--hdr-h) + 24px)}
}

/* A tighter pass of the intake form for this narrower column. */
.form-compact{padding:clamp(20px,2.2vw,28px);max-width:520px;margin-left:auto;width:100%}
.form-compact .form-intro{color:var(--ink-2);font-size:.93rem;line-height:1.55;margin-bottom:18px}
.form-compact .af{gap:18px}
.form-compact .af-row{gap:14px}
.form-compact .af-field > span{font-size:.9rem}
.form-compact .af-field input,.form-compact .af-field select,.form-compact .af-field textarea,
.form-compact .lgn-input{padding:11px 13px;font-size:.94rem;border-radius:9px}
/* Inside a white card the groups were white-on-white; give each question
   block the cream surface so the sections read as distinct. */
.card.form-compact .af-group{padding:18px;border-radius:12px;background:var(--cream)}
.card.form-compact .af-group .af-opt{background:#FFFFFF}
.card.form-compact .af-group .af-opt:hover{background:var(--deep);color:#FFFFFF}
.card.form-compact .af-group .af-opt.on{background:var(--brand);color:#FFFFFF}
.form-compact .af-group > legend{font-size:.94rem}
.form-compact .af-hint{font-size:.86rem;margin-top:4px}
.form-compact .af-opts{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:8px;margin-top:12px}
.form-compact .af-opt{padding:10px 12px;font-size:.89rem;border-radius:9px}
.form-compact .af-phone-row{gap:8px}
.form-compact .btn{width:100%;padding:14px 22px;font-size:.98rem}
@media(max-width:900px){
  .form-compact{max-width:560px;margin-left:auto;margin-right:auto}
}
@media(max-width:520px){
  .form-compact{padding:18px}
  .form-compact .af-group{padding:15px}
  .form-compact .af-opts{grid-template-columns:1fr}
}

/* ---------------- Contact offices ---------------- */
.contact-offices{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:26px;margin-top:32px;padding-top:0;border:0}
.contact-offices h4{font-family:'Inter Tight','Inter',sans-serif;font-size:1rem;font-weight:800;letter-spacing:-.02em;text-transform:none;color:var(--brand);margin-bottom:8px}
.band-deep .contact-offices h4,.hero-page .contact-offices h4{color:var(--bright)}
.contact-offices p{font-size:.94rem;color:var(--ink-2);line-height:1.6}
.band-deep .contact-offices p,.hero-page .contact-offices p{color:var(--on-deep-2)}

/* ---------------- Notes ---------------- */
.note-box{display:flex;gap:14px;align-items:flex-start;background:var(--cream);border:0;border-radius:var(--radius);padding:20px 22px;font-size:.96rem;color:var(--ink-2);line-height:1.6;margin-top:26px}
.note-box svg{width:20px;height:20px;flex:none;margin-top:3px;color:var(--brand)}
.note-box strong{color:var(--ink)}
.band-cream .note-box{background:#FFFFFF}
.band-deep .note-box,.hero-page .note-box{background:var(--deep-ink);color:var(--on-deep-2)}
.band-deep .note-box strong,.hero-page .note-box strong{color:#FFFFFF}
.band-deep .note-box svg,.hero-page .note-box svg{color:var(--bright)}
.note-box.warn svg{color:var(--danger)}
.band-deep .note-box.warn svg,.hero-page .note-box.warn svg{color:var(--bright)}
.disclaimer{font-size:.88rem;color:var(--ink-2);line-height:1.6;margin-top:22px;max-width:80ch}
.band-deep .disclaimer,.hero-page .disclaimer{color:var(--on-deep-2)}
