/* =========================================================================
   Insuregroup — corporate broker system
   Structure follows the approved reference: alternating white / deep-navy
   bands, centred section heads with a short orange rule, image cards with a
   circular icon badge, icon columns divided by hairlines, and a contact band.
   Colours are the client's own logo: #0A4878 blue, #FF4E00 orange, on a
   deep navy field.
   ========================================================================= */

:root {
  --navy: #012a55;          /* deep field: hero, bands, footer */
  --navy-deep: #011e40;     /* footer bar */
  --blue: #0a4878;          /* logo blue: headings, links, badges */
  --blue-600: #0d5a94;
  --orange: #ff4e00;        /* logo orange: icons, rules, large elements */
  --orange-btn: #d84000;    /* filled buttons — 4.51:1 with white text (AA) */
  --orange-text: #c93b00;   /* small orange text on white or paper — 4.84:1 (AA) */
  --panel: #123860;         /* opaque equivalent of 7% white over navy */
  --orange-btn-600: #b83700;
  --orange-light: #ff7a3d;  /* small text on navy — 5.54:1 (AA) */
  --paper: #f7f9fb;
  --white: #fff;
  --rule: #e2e8ee;
  --text: #17293c;
  --muted: #5f7387;
  --on-navy: #c3d3e2;
  --rule-dark: rgba(255,255,255,.16);

  --display: Archivo, "Helvetica Neue", Arial, sans-serif;
  --body: "Source Sans 3", system-ui, -apple-system, Segoe UI, sans-serif;

  --wrap: 1180px;
  --gut: clamp(1.1rem, 4vw, 2.25rem);
  --r: 6px;
  --r-lg: 10px;
  --shadow: 0 2px 4px rgba(1,42,85,.05), 0 10px 26px rgba(1,42,85,.07);
  --ease: cubic-bezier(.2,.7,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
/* scroll-padding-top keeps anchor jumps and the quote form's step-advance scroll
   clear of the sticky .site-header (min-height 70px, 88px from 1120px up). */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:78px}
@media (min-width:1120px){html{scroll-padding-top:96px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--body);font-size:1rem;line-height:1.68;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-underline-offset:3px}
a:hover{color:var(--orange)}
h1,h2,h3,h4{margin:0 0 .5em;font-family:var(--display);font-weight:700;line-height:1.18;letter-spacing:-.02em;color:var(--blue)}
p{margin:0 0 1.05em}p:last-child{margin-bottom:0}
ul{margin:0 0 1.05em;padding-left:1.1rem}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:3px}

.wrap{width:min(var(--wrap),100% - (var(--gut)*2));margin-inline:auto}
.band{padding-block:2.75rem}
.band--tight{padding-block:2.25rem}
.band--paper{background:var(--paper)}
.band--ink{background:var(--navy);color:var(--on-navy)}
.band--ink h2,.band--ink h3{color:var(--white)}
.band--ink a:not(.btn):not(.scard){color:var(--orange-light)}
@media (min-width:760px){.band{padding-block:4.25rem}.band--tight{padding-block:3rem}}
@media (min-width:1100px){.band{padding-block:5rem}}

.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--orange-btn);color:#fff;padding:.7rem 1.1rem;font-weight:700;text-decoration:none}
.skip:focus{left:0;top:0}

/* ---------- centred section head with the short orange rule ---------- */
.section-head{display:grid;gap:.35rem;margin:0 auto 1.75rem;max-width:62ch;text-align:center;justify-items:center}
.section-head p{color:var(--muted);margin:.35rem 0 0}
.section-head::after{content:"";width:58px;height:3px;background:var(--orange);border-radius:2px;margin-top:.85rem}
.band--ink .section-head p{color:var(--on-navy)}
.band--ink .eyebrow,.hero .eyebrow,.pagehead .eyebrow,.card--ink .card__label{color:var(--orange-light)}
.section-head--left{text-align:left;justify-items:start;margin-inline:0}
@media (min-width:760px){.section-head{margin-bottom:2.5rem}}

.eyebrow{display:block;margin:0 0 .4rem;font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;color:var(--orange-text)}
.orbit-tick{display:none}

/* ---------- type ---------- */
.h-xl{font-family:var(--display);font-weight:800;font-size:2rem;line-height:1.14;letter-spacing:-.022em;text-transform:uppercase}
.h-lg{font-family:var(--display);font-weight:700;font-size:1.6rem;letter-spacing:-.022em}
.h-md{font-family:var(--display);font-weight:700;font-size:1.28rem}
.lede{font-size:1.02rem;line-height:1.65;color:var(--muted)}
.band--ink .lede,.hero .lede,.pagehead .lede{color:var(--on-navy)}
@media (min-width:480px){.h-xl{font-size:2.35rem}.h-lg{font-size:1.8rem}}
@media (min-width:760px){.h-xl{font-size:2.9rem}.h-lg{font-size:2.1rem}.h-md{font-size:1.45rem}body{font-size:1.03rem}}
@media (min-width:1100px){.h-xl{font-size:3.35rem}.h-lg{font-size:2.35rem}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--display);font-weight:700;font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;padding:.85rem 1.5rem;min-height:50px;border-radius:var(--r);border:2px solid transparent;text-decoration:none;cursor:pointer;transition:background .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease)}
.btn svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2}
.btn--primary{background:var(--orange-btn);color:#fff}
.btn--primary:hover{background:var(--orange-btn-600);color:#fff}
.btn--blue{background:var(--blue);color:#fff}
.btn--blue:hover{background:var(--navy);color:#fff}
.btn--ghost{border-color:var(--blue);color:var(--blue)}
.btn--ghost:hover{background:var(--blue);color:#fff}
.band--ink .btn--ghost,.hero .btn--ghost,.pagehead .btn--ghost{border-color:rgba(255,255,255,.65);color:#fff}
.band--ink .btn--ghost:hover,.hero .btn--ghost:hover,.pagehead .btn--ghost:hover{background:#fff;color:var(--navy);border-color:#fff}
.cta-band .btn--primary{background:#fff;color:var(--orange-btn)}
.cta-band .btn--primary:hover{background:var(--navy);color:#fff}
.btn-row{display:grid;gap:.65rem}
@media (min-width:560px){.btn-row{display:flex;flex-wrap:wrap;gap:.75rem}}

/* ---------- header ---------- */
.topbar{background:var(--navy-deep);color:var(--on-navy);font-size:.82rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:38px}
.topbar a{color:#d6e4f0;text-decoration:none}
.topbar a:hover{color:var(--orange)}
.topbar__note{display:flex;align-items:center;gap:.5rem}
.topbar__dot{width:6px;height:6px;border-radius:50%;background:#48cf7d;flex:none}

.site-header{position:sticky;top:0;z-index:60;background:#fff;box-shadow:0 1px 0 var(--rule)}
.site-header.is-stuck{box-shadow:0 2px 14px rgba(1,42,85,.10)}
.site-header .bar{display:flex;align-items:center;gap:.6rem;min-height:70px}
.brand{display:flex;align-items:center;min-height:44px;flex:none}
.brand img{height:36px;width:auto}

.nav{margin-left:auto;display:none}
.nav>ul{display:flex;align-items:center;gap:.1rem;list-style:none;margin:0;padding:0}
.nav__item{position:relative}
.nav__link{display:inline-flex;align-items:center;gap:.3rem;padding:.55rem .7rem;font-family:var(--display);font-weight:700;font-size:.79rem;letter-spacing:.07em;text-transform:uppercase;color:var(--navy);text-decoration:none;background:none;border:0;cursor:pointer;position:relative}
.nav__link::after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:.1rem;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .18s var(--ease)}
.nav__link:hover::after,.nav__item:hover>.nav__link::after,.nav__link[aria-expanded="true"]::after{transform:scaleX(1)}
.nav__link svg{width:9px;height:9px;opacity:.6;transition:transform .16s var(--ease)}
.nav__item:hover .nav__link svg{transform:rotate(180deg)}
.nav__panel{position:absolute;top:100%;left:0;min-width:266px;background:#fff;border:1px solid var(--rule);border-top:3px solid var(--orange);border-radius:0 0 var(--r) var(--r);padding:.35rem;list-style:none;margin:0;box-shadow:0 16px 36px rgba(1,42,85,.14);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .14s var(--ease),transform .14s var(--ease),visibility .14s}
.nav__item:hover .nav__panel,.nav__item:focus-within .nav__panel{opacity:1;visibility:visible;transform:none}
.nav__panel a{display:block;padding:.55rem .75rem;border-radius:4px;color:var(--text);text-decoration:none;font-size:.92rem}
.nav__panel a:hover{background:var(--paper);color:var(--blue)}
.header-cta{display:none;margin-left:1rem}
.header-cta .phone{display:inline-flex;align-items:center;gap:.55rem;background:var(--navy);color:#fff;border-radius:var(--r);padding:.7rem 1.1rem;min-height:46px;font-family:var(--display);font-weight:700;font-size:.9rem;text-decoration:none;white-space:nowrap}
.header-cta .phone:hover{background:var(--orange);color:#fff}
.header-cta .phone svg{width:16px;height:16px;fill:currentColor}
.header-phone{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;margin-left:auto;background:var(--navy);color:#fff;border-radius:var(--r);flex:none}
.header-phone svg{width:19px;height:19px;fill:currentColor}
.burger{display:inline-flex;align-items:center;gap:.45rem;background:var(--paper);color:var(--navy);border:1px solid var(--rule);border-radius:var(--r);padding:.6rem .85rem;min-height:46px;cursor:pointer;font-family:var(--display);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}
.burger svg{width:15px;height:15px}
@media (min-width:1120px){.nav{display:block}.header-cta{display:block}.burger,.header-phone{display:none}.site-header .bar{min-height:88px}.brand img{height:47px}}

.drawer{position:fixed;inset:0;z-index:70;background:#fff;overflow-y:auto;padding:1rem var(--gut) 6rem;transform:translateX(100%);transition:transform .26s var(--ease);visibility:hidden}
.drawer[data-open="true"]{transform:none;visibility:visible}
.drawer__head{display:flex;justify-content:space-between;align-items:center;min-height:64px}
.drawer__head img{height:32px;width:auto}
.drawer__brand{min-height:48px}
.drawer__close{background:var(--navy);border:0;color:#fff;border-radius:var(--r);padding:.6rem 1rem;min-height:48px;min-width:88px;font-family:var(--display);font-weight:700;cursor:pointer}
.drawer details{border-bottom:1px solid var(--rule)}
.drawer summary{list-style:none;cursor:pointer;padding:.9rem 0;min-height:52px;color:var(--navy);font-family:var(--display);font-weight:700;font-size:1.02rem;letter-spacing:.02em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}
.drawer summary::-webkit-details-marker{display:none}
.drawer summary::after{content:"+";font:400 1.4rem/1 var(--body);color:var(--orange)}
.drawer details[open] summary::after{content:"–"}
.drawer ul{list-style:none;margin:0;padding:0 0 .8rem}
.drawer ul a{display:flex;align-items:center;min-height:44px;color:var(--muted);text-decoration:none}
.drawer ul a:hover{color:var(--orange)}
.drawer__cta{display:grid;gap:.6rem;margin-top:1.4rem}

/* ---------- hero: navy field, photograph fading in from the right ---------- */
.hero{position:relative;background:var(--navy);color:var(--on-navy);overflow:hidden}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:65% 40%}
.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,42,85,.55) 0%,rgba(1,42,85,.94) 62%,var(--navy) 100%)}
.hero__plate{position:relative;z-index:2;padding-block:2.5rem 2.75rem}
.hero__inner{max-width:none}
.hero h1{color:#fff;margin-bottom:.85rem}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero .lede{max-width:44ch}
.hero__cta{margin-top:1.5rem}
.hero__chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.25rem 0 0;padding:0;list-style:none}
.hero__chips li{font-size:.8rem;color:#d3e2ef;border:1px solid var(--rule-dark);border-radius:var(--r);padding:.35rem .75rem;display:flex;align-items:center;gap:.45rem}
.hero__chips li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange);flex:none}
.hero__badge{display:none}
.hero__ring,.hero__arc{display:none}
@media (min-width:900px){
  .hero__media::after{background:linear-gradient(90deg,var(--navy) 0%,var(--navy) 32%,rgba(1,42,85,.86) 52%,rgba(1,42,85,.18) 82%,rgba(1,42,85,.05) 100%)}
  .hero__media img{object-position:72% 38%}
  .hero__plate{padding-block:4.5rem 5rem}
  .hero__inner{max-width:56%}
  .hero__badge{display:flex;position:absolute;right:0;bottom:1.75rem;z-index:3;align-items:center;gap:.6rem;background:#011e40;border:1px solid var(--rule-dark);border-radius:var(--r);padding:.6rem .95rem;color:#fff;font-size:.88rem}
  .hero__badge .stars{color:var(--orange)}
  .hero__badge strong{font-family:var(--display);font-weight:800}
}
@media (min-width:1200px){.hero__inner{max-width:52%}}

/* ---------- stats ---------- */
.statsband{background:var(--navy-deep);border-top:1px solid var(--rule-dark)}
.stats{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:0;text-align:center}
.stats div{padding:1.1rem .5rem;border-bottom:1px solid var(--rule-dark)}
.stats div:nth-child(odd){border-right:1px solid var(--rule-dark)}
.stats dt{font-family:var(--display);font-weight:800;font-size:1.85rem;color:var(--orange);letter-spacing:-.03em}
.stats dd{margin:.1rem 0 0;font-size:.83rem;color:var(--on-navy)}
@media (min-width:760px){.stats{grid-template-columns:repeat(4,1fr)}.stats div{border-bottom:0;padding:1.6rem 1rem}.stats div:last-child{border-right:0}.stats div:nth-child(even){border-right:1px solid var(--rule-dark)}.stats div:last-child{border-right:0}.stats dt{font-size:2.4rem}}

/* ---------- interior page head ---------- */
.pagehead{position:relative;background:var(--navy);color:var(--on-navy);overflow:hidden}
.pagehead::after{content:"";position:absolute;right:-70px;top:-90px;width:340px;height:340px;background:url("../img/cog.svg") center/contain no-repeat;opacity:.08}
.pagehead__orbit{display:none}
.pagehead__grid{position:relative;z-index:1;padding-block:2.25rem;display:grid;gap:1.6rem;align-items:end}
@media (min-width:940px){.pagehead__grid{grid-template-columns:1.4fr .6fr;padding-block:3.5rem}}
.pagehead h1{color:#fff;text-transform:none}
.pagehead .lede{max-width:58ch}
.pagehead__side{display:grid;gap:.6rem}
.crumbs{background:var(--navy-deep);padding-block:.6rem;font-size:.84rem}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}
.crumbs a{color:var(--on-navy);text-decoration:none;display:inline-flex;align-items:center;min-height:32px}
.crumbs a:hover{color:var(--orange)}
.crumbs li::after{content:"/";margin-left:.45rem;color:rgba(255,255,255,.3)}
.crumbs li:last-child::after{content:""}
.crumbs li[aria-current]{color:#fff}
.creds{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.creds li{background:var(--panel);border:1px solid var(--rule-dark);border-radius:var(--r);padding:.85rem .95rem;display:grid;gap:.05rem}
.creds strong{font-family:var(--display);font-weight:800;font-size:1.4rem;color:var(--orange);letter-spacing:-.03em}
.creds span{font-size:.79rem;color:var(--on-navy)}

/* ---------- solution cards: photo + circular icon badge ---------- */
.grid{display:grid;gap:1.25rem}
.grid--2{grid-template-columns:1fr}
.grid--3{grid-template-columns:1fr}
@media (min-width:600px){.grid--2,.grid--3{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.grid--3{grid-template-columns:repeat(3,1fr)}}
.grid--4{grid-template-columns:1fr}
@media (min-width:600px){.grid--4{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.grid--4{grid-template-columns:repeat(4,1fr)}}

.scard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--rule);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.scard:hover{transform:translateY(-3px);box-shadow:0 6px 12px rgba(1,42,85,.08),0 18px 40px rgba(1,42,85,.12)}
.scard__media{position:relative;aspect-ratio:16/10;overflow:hidden}
.scard__media img{width:100%;height:100%;object-fit:cover}
.scard__icon{position:absolute;left:1.1rem;bottom:-24px;width:52px;height:52px;border-radius:50%;background:var(--blue);display:grid;place-items:center;box-shadow:0 4px 12px rgba(1,42,85,.28)}
.scard__icon svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.scard__body{padding:2.25rem 1.35rem 1.35rem;display:flex;flex-direction:column;flex:1}
.scard h3{font-size:1.12rem;margin-bottom:.4rem;color:var(--navy)}
.scard p{font-size:.94rem;color:var(--muted);margin:0 0 1.1rem}
.scard__more{margin-top:auto;display:inline-flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:700;font-size:.9rem;color:var(--blue)}
.scard__more svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;transition:transform .18s var(--ease)}
.scard:hover .scard__more{color:var(--orange)}
.scard:hover .scard__more svg{transform:translateX(4px)}

/* ---------- icon columns, divided by hairlines ---------- */
.icols{display:grid;gap:1.75rem;list-style:none;margin:0;padding:0;text-align:center}
@media (min-width:600px){.icols{grid-template-columns:1fr 1fr;gap:2rem 0}}
@media (min-width:1000px){.icols{grid-template-columns:repeat(4,1fr)}}
.icols>li{padding:0 1.35rem}
@media (min-width:600px){.icols>li{border-right:1px solid var(--rule-dark)}.icols>li:nth-child(2n){border-right:0}}
@media (min-width:1000px){.icols>li{border-right:1px solid var(--rule-dark)}.icols>li:nth-child(2n){border-right:1px solid var(--rule-dark)}.icols>li:last-child{border-right:0}}
.icols__icon{width:54px;height:54px;margin:0 auto .9rem}
.icols__icon svg{width:100%;height:100%;fill:none;stroke:var(--orange);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.icols h3{font-size:1.08rem;margin-bottom:.35rem;color:#fff}
.icols p{font-size:.93rem;color:var(--on-navy);margin:0}

/* ---------- tiles (interior/secondary grids) ---------- */
.tile{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--rule);border-radius:var(--r-lg);padding:1.35rem 1.3rem;transition:border-color .16s var(--ease),box-shadow .16s var(--ease),transform .16s var(--ease)}
.tile:hover{border-color:#c3d2df;box-shadow:var(--shadow);transform:translateY(-2px)}
.tile h3{font-size:1.12rem;margin-bottom:.3rem;color:var(--navy)}
.tile p{font-size:.94rem;color:var(--muted);margin:0}
.band--ink .tile{background:var(--panel);border-color:var(--rule-dark)}
.band--ink .tile h3{color:#fff}
.band--ink .tile p{color:var(--on-navy)}

/* ---------- steps ---------- */
.steps{counter-reset:step;display:grid;gap:1.25rem;padding:0;margin:0}
@media (min-width:860px){.steps{grid-template-columns:repeat(4,1fr)}}
.steps>li{counter-increment:step;list-style:none;background:#fff;border:1px solid var(--rule);border-radius:var(--r-lg);padding:1.4rem 1.3rem}
.steps>li::before{content:counter(step);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--blue);color:#fff;font-family:var(--display);font-weight:800;font-size:1.05rem;margin-bottom:.9rem}
.steps>li:first-child::before{background:var(--orange)}
.steps h3{font-size:1.08rem;margin-bottom:.25rem;color:var(--navy)}
.steps p{font-size:.93rem;color:var(--muted);margin:0}

/* ---------- prose + sidebar ---------- */
.prose{max-width:70ch}
.prose h2{font-size:1.5rem;margin-top:2.3rem}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.18rem;margin-top:1.7rem}
.prose ul{padding-left:0;list-style:none}
.prose ul li{position:relative;padding-left:1.6rem;margin-bottom:.5rem}
.prose ul li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--orange)}
.prose a{font-weight:600}
.prose .grid{max-width:none;width:100%}
@media (min-width:760px){.prose h2{font-size:1.85rem}}
.layout{display:grid;gap:2rem;align-items:start}
@media (min-width:1040px){.layout{grid-template-columns:minmax(0,1fr) 336px;gap:3rem}}
.aside{display:grid;gap:1rem;position:sticky;top:96px}
.card{background:#fff;border:1px solid var(--rule);border-radius:var(--r-lg);padding:1.35rem;box-shadow:var(--shadow)}
.card h3{font-size:1.18rem;margin-bottom:.35rem;color:var(--navy)}
.card--ink{background:var(--navy);color:var(--on-navy);border-color:transparent}
.card--ink h3{color:#fff}
.card__label{display:block;font-family:var(--display);font-weight:700;font-size:.79rem;letter-spacing:.15em;text-transform:uppercase;color:var(--orange-text);margin-bottom:.55rem}
.card__list{list-style:none;margin:.3rem 0 0;padding:0;display:grid}
.card__list a,.card__list li{display:flex;align-items:center;min-height:44px;color:var(--text);text-decoration:none;font-size:.94rem;border-bottom:1px solid var(--rule)}
.card__list li:last-child,.card__list a:last-child{border-bottom:0}
.card__list a:hover{color:var(--orange)}
.card--ink .card__list a,.card--ink .card__list li{color:var(--on-navy);border-color:var(--rule-dark)}

/* ---------- insurer strip ---------- */
.logos{background:#fff;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.logos__inner{display:grid;justify-items:center;gap:1rem;padding-block:1.75rem;text-align:center}
.logos__label{font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);margin:0;max-width:none}
.logos__list{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2.25rem;list-style:none;margin:0;padding:0;align-items:center}
.logos__list li{font-family:var(--display);font-weight:700;font-size:1rem;color:var(--muted)}
.logos__list--img img{height:26px;width:auto}
@media (min-width:760px){.logos__list--img img{height:34px}.logos__list{gap:1.25rem 3rem}}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--rule);max-width:860px;margin-inline:auto}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;padding:1.05rem 3rem 1.05rem 0;min-height:56px;display:flex;align-items:center;position:relative;font-family:var(--display);font-weight:700;font-size:1.04rem;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:0;top:50%;margin-top:-15px;width:30px;height:30px;border-radius:50%;background:var(--paper);border:1px solid var(--rule);background-image:linear-gradient(var(--blue),var(--blue)),linear-gradient(var(--blue),var(--blue));background-size:12px 2px,2px 12px;background-position:center,center;background-repeat:no-repeat;transition:transform .18s var(--ease)}
.faq details[open] summary::after{background-size:12px 2px,0 0;background-color:var(--orange);border-color:var(--orange);background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff)}
.faq__a{padding:0 3rem 1.2rem 0;color:var(--muted)}
@media (min-width:760px){.faq summary{font-size:1.15rem}}

/* ---------- forms ---------- */
.form{display:grid;gap:.9rem}
.field{display:grid;gap:.32rem}
.field label{font-family:var(--display);font-weight:600;font-size:.86rem;color:var(--text)}
.field input,.field select,.field textarea{font:400 1rem/1.45 var(--body);color:var(--text);background:#fff;border:1px solid #cfdae4;border-radius:var(--r);padding:.8rem .9rem;width:100%;min-height:48px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(10,72,120,.13)}
.field textarea{min-height:118px;resize:vertical}
.field--half{display:grid;gap:.9rem;grid-template-columns:1fr}
@media (min-width:620px){.field--half{grid-template-columns:1fr 1fr}}
.field__err{font-size:.84rem;color:#c0392b;display:none}
.field[data-invalid="true"] input,.field[data-invalid="true"] select{border-color:#c0392b}
.field[data-invalid="true"] .field__err{display:block}
.form__note{font-size:.88rem;color:var(--muted)}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.hp label{color:var(--text)}
.form__ok{display:none;border-left:4px solid #2e9e5b;background:#edf9f1;padding:1rem 1.1rem;border-radius:var(--r);color:#1c5d38}
.form__ok[data-show="true"]{display:block}
.form__ok a{color:#14603a;font-weight:600}

/* ---------- contact band: icon circles in a 2x2 ---------- */
.contactgrid{display:grid;gap:0;margin:0}
@media (min-width:560px){.contactgrid{grid-template-columns:1fr 1fr}}
.contactgrid>div{display:flex;gap:.95rem;align-items:flex-start;padding:1.15rem 1.25rem 1.15rem 0;border-bottom:1px solid var(--rule-dark)}
@media (min-width:560px){.contactgrid>div:nth-child(odd){border-right:1px solid var(--rule-dark)}.contactgrid>div:nth-child(even){padding-left:1.5rem}.contactgrid>div:nth-last-child(-n+2){border-bottom:0}}
.contactgrid__icon{width:48px;height:48px;border-radius:50%;border:2px solid var(--orange);display:grid;place-items:center;flex:none}
.contactgrid__icon svg{width:21px;height:21px;fill:none;stroke:var(--orange);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.contactgrid dt{font-size:.88rem;color:var(--on-navy);margin:0 0 .1rem}
.contactgrid dd{margin:0;font-family:var(--display);font-weight:700;color:#fff;font-size:1rem;line-height:1.45}
.contactgrid dd a{color:#fff;text-decoration:none}
.contactgrid dd a:hover{color:var(--orange)}

/* ---------- licensed / facts / checklist ---------- */
.licensed{display:grid;gap:1.6rem;align-items:start}
@media (min-width:940px){.licensed{grid-template-columns:1.55fr .75fr;gap:3rem}}
.licensed__badge{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);padding:1.35rem;display:grid;gap:.9rem;justify-items:start}
.licensed__badge img{height:48px;width:auto}
.licensed__badge p{margin:0;font-size:.93rem;color:var(--muted)}
.licensed__badge strong{color:var(--text);font-family:var(--display)}
.factgrid{display:grid;gap:0;margin:1.5rem 0 0;grid-template-columns:1fr}
@media (min-width:560px){.factgrid{grid-template-columns:1fr 1fr;column-gap:2rem}}
.factgrid>div{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:.65rem 0;border-bottom:1px solid var(--rule)}
.factgrid dt{font-size:.9rem;color:var(--muted);margin:0}
.factgrid dd{margin:0;font-family:var(--display);font-weight:700;color:var(--blue);text-align:right}
.factgrid--ink>div{border-color:var(--rule-dark)}
.factgrid--ink dt{color:var(--on-navy)}
.factgrid--ink dd,.factgrid--ink dd a{color:#fff;text-decoration:none}
.checklist{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.checklist li{position:relative;padding-left:1.85rem}
.checklist li::before{content:"";position:absolute;left:0;top:.34em;width:18px;height:18px;border-radius:50%;background:var(--orange);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'><path d='M4 9.2l3.2 3.2L14 5.6' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/120% no-repeat,linear-gradient(#000,#000);-webkit-mask-composite:xor;mask-composite:exclude}

/* ---------- testimonial ---------- */
.quote{display:grid;gap:1.5rem;align-items:center}
@media (min-width:940px){.quote{grid-template-columns:1fr 380px;gap:3rem}}
.quote blockquote{margin:0;font-family:var(--display);font-weight:600;font-size:1.3rem;line-height:1.4;color:#fff}
.quote blockquote::before{content:"";display:block;width:44px;height:3px;background:var(--orange);margin-bottom:1.1rem;border-radius:2px}
.quote figcaption{margin-top:1rem;color:var(--on-navy);font-size:.96rem}
.quote figcaption b{color:#fff;font-family:var(--display)}
.quote__photo{border-radius:var(--r-lg);overflow:hidden}
.quote__photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
@media (min-width:760px){.quote blockquote{font-size:1.7rem}}
.split__media{border-radius:var(--r-lg);overflow:hidden}
.split__media img{width:100%;aspect-ratio:3/2;object-fit:cover}

/* ---------- articles ---------- */
.post{display:grid;gap:.4rem;padding:1.2rem 0;border-bottom:1px solid var(--rule)}
.post a{text-decoration:none;color:var(--navy)}
.post a:hover{color:var(--orange)}
.post h3{font-size:1.15rem;margin:0}
.post p{font-size:.94rem;color:var(--muted);margin:0}
.post__meta{font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-text)}

/* ---------- CTA band ---------- */
.cta-band{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.cta-band::after{content:"";position:absolute;right:-60px;top:50%;margin-top:-170px;width:340px;height:340px;background:url("../img/cog.svg") center/contain no-repeat;opacity:.1}
.cta-band__inner{position:relative;z-index:1;display:grid;gap:1.4rem;align-items:center;padding-block:2.5rem}
@media (min-width:900px){.cta-band__inner{grid-template-columns:1fr auto;padding-block:3.4rem}}
.cta-band h2{color:#fff;margin-bottom:.4rem}
.cta-band p{color:rgba(255,255,255,.88);margin:0;max-width:54ch}
.cta-band .eyebrow{color:var(--orange-light)}

/* ---------- footer ---------- */
.site-footer{background:var(--navy);color:var(--on-navy)}
.site-footer__grid{display:grid;gap:1.25rem;padding-block:2.25rem}
@media (min-width:860px){.site-footer__grid{grid-template-columns:1.4fr repeat(3,1fr);gap:2.5rem;padding-block:3.25rem}}
.site-footer .footer-logo{height:38px;width:auto;margin-bottom:1rem}
.site-footer h2{font-size:.79rem;letter-spacing:.17em;text-transform:uppercase;color:#fff;font-family:var(--display);font-weight:700;margin:0}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid}
.site-footer a{color:var(--on-navy);text-decoration:none;font-size:.94rem}
.site-footer a:hover{color:var(--orange)}
.site-footer address{font-style:normal;font-size:.94rem;line-height:1.75}
.site-footer__legal{background:var(--navy-deep);padding-block:1.25rem;font-size:.83rem;color:#93aec6}
.site-footer__legal p{margin:0 0 .6rem}
.site-footer__docs{display:flex;flex-wrap:wrap;gap:.3rem 1.15rem;list-style:none;margin:0;padding:0}
.site-footer__docs a{font-size:.83rem}
.fcol{border-bottom:1px solid var(--rule-dark)}
.fcol summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:52px}
.fcol summary::-webkit-details-marker{display:none}
.fcol summary::after{content:"+";font:400 1.35rem/1 var(--body);color:var(--orange)}
.fcol[open] summary::after{content:"–"}
.fcol ul{padding-bottom:.7rem}
@media (max-width:859px){.site-footer a{min-height:44px;display:inline-flex;align-items:center}}
@media (min-width:860px){.fcol{border-bottom:0}.fcol summary{cursor:default;min-height:0;margin-bottom:1rem;pointer-events:none}.fcol summary::after{content:none}.fcol ul{gap:.5rem;padding-bottom:0}}

/* ---------- mobile action bar ---------- */
.actionbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;background:#fff;border-top:1px solid var(--rule);padding:.5rem .6rem calc(.5rem + env(safe-area-inset-bottom));box-shadow:0 -4px 16px rgba(1,42,85,.09)}
.actionbar .btn{min-height:48px;font-size:.8rem;padding-inline:.5rem}
@media (min-width:1120px){.actionbar{display:none}}
@media (max-width:1119px){body{padding-bottom:74px}}

/* ---------- motion ---------- */
.js [data-reveal]{opacity:0;transform:translateY(12px)}
.js [data-reveal].is-in{opacity:1;transform:none;transition:opacity .5s var(--ease),transform .5s var(--ease)}
@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1!important;transform:none!important}*{animation-duration:.001ms!important;transition-duration:.001ms!important}}

.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:700px){.topbar .wrap>span:last-child{display:none}.topbar .wrap{justify-content:center}}

/* contact tiles on a white ground */
.contactgrid--light>div{border-bottom:1px solid var(--rule)}
@media (min-width:560px){.contactgrid--light>div:nth-child(odd){border-right:1px solid var(--rule)}}
.contactgrid--light dt{color:var(--muted)}
.contactgrid--light dd,.contactgrid--light dd a{color:var(--navy)}
.contactgrid--light dd a:hover{color:var(--orange-btn)}

/* lead photograph behind the interior page head */
.pagehead.has-photo{background:var(--navy-deep)}
.pagehead__photo{position:absolute;inset:0;z-index:0}
.pagehead__photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%}
.pagehead__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,30,64,.72) 0%,rgba(1,42,85,.93) 60%,var(--navy) 100%)}
@media (min-width:900px){.pagehead__photo::after{background:linear-gradient(90deg,rgba(1,30,64,.95) 0%,rgba(1,42,85,.88) 46%,rgba(1,42,85,.35) 78%,rgba(1,42,85,.15) 100%)}}
.pagehead.has-photo .pagehead__grid{position:relative;z-index:2}
.pagehead.has-photo::after{opacity:.05}

/* =========================================================================
   Fixes from the shipped-package audit
   ========================================================================= */

/* breadcrumbs sit on navy, so the list itself needs a light base colour —
   previously only the links were coloured and the <li> inherited body text */
.crumbs { color: var(--on-navy); }
.crumbs li { color: var(--on-navy); }
.crumbs li[aria-current] { color: #fff; }

/* credentials card: markup was still emitted after the redesign but its
   styles had been dropped, leaving default link colours on a navy ground */
.credcard { background: var(--panel); border: 1px solid var(--rule-dark); border-radius: var(--r-lg); padding: 1.35rem 1.45rem 1.25rem; }
.credcard__head { display: flex; align-items: center; gap: .5rem; margin: 0 0 1rem; font-family: var(--display); font-weight: 700; font-size: .76rem; letter-spacing: .15em; text-transform: uppercase; color: var(--orange-light); }
.credcard dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: .7rem 1rem; align-items: baseline; }
.credcard dt { font-size: .9rem; color: var(--on-navy); }
.credcard dd { margin: 0; text-align: right; font-family: var(--display); font-weight: 700; font-size: 1rem; color: #fff; }
.credcard__rule { height: 1px; background: var(--rule-dark); margin: 1rem 0; }
.credcard__foot { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }
.credcard__stars { color: var(--orange-light); letter-spacing: .1em; }
.credcard__foot span { font-size: .86rem; color: var(--on-navy); }
.credcard__foot a { color: #fff; }
.credcard__foot a:hover { color: var(--orange-light); }

/* Links and ghost buttons on any dark ground. The page head and the CTA band
   are not .band--ink, so they were falling back to the blue link colour on
   navy — 1.51:1. */
.hero a:not(.btn):not(.scard),
.pagehead a:not(.btn):not(.scard),
.cta-band a:not(.btn):not(.scard),
.statsband a:not(.btn),
.crumbs a { color: #fff; }
.hero a:not(.btn):hover,
.pagehead a:not(.btn):hover,
.cta-band a:not(.btn):hover,
.crumbs a:hover { color: var(--orange-light); }

.hero .btn--ghost,
.pagehead .btn--ghost,
.cta-band .btn--ghost,
.band--ink .btn--ghost { border-color: rgba(255, 255, 255, .65); color: #fff; }
.hero .btn--ghost:hover,
.pagehead .btn--ghost:hover,
.cta-band .btn--ghost:hover,
.band--ink .btn--ghost:hover { background: #fff; color: var(--navy); border-color: #fff; }

/* prose links inside a dark band */
.band--ink .prose a:not(.btn) { color: var(--orange-light); }

/* =========================================================================
   Full forms — the site's real field sets, rebuilt natively
   ========================================================================= */
.form--full { gap: 1.1rem; }
.form--full .field { gap: .4rem; }
.field label abbr { color: var(--orange-text); text-decoration: none; font-weight: 700; }
.field__hint { font-size: .85rem; color: var(--muted); }
.field--conditional { display: none; }
.field--conditional.is-shown { display: grid; }
.field--half input { width: 100%; }

.choices { display: grid; gap: .5rem; }
@media (min-width: 560px) { .choices { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); } }
.choice { display: flex; align-items: flex-start; gap: .6rem; padding: .7rem .85rem; border: 1px solid #cfdae4; border-radius: var(--r); cursor: pointer; font-size: .95rem; background: #fff; transition: border-color .15s var(--ease), background .15s var(--ease); }
.choice:hover { border-color: var(--blue); }
.choice input { width: 18px; height: 18px; min-height: 0; margin: .15rem 0 0; flex: none; accent-color: var(--orange-btn); }
.choice:has(input:checked) { border-color: var(--orange-btn); background: #fff6f2; }

.form fieldset { border: 0; margin: 0 0 .5rem; padding: 0; }
.form legend { font-family: var(--display); font-weight: 700; font-size: 1.05rem; color: var(--navy); padding: 0 0 .5rem; }
.form__step { border-top: 1px solid var(--rule); margin-top: .6rem; padding-top: 1.1rem; }

/* CTA links recovered from the source pages */
.prose-cta { margin: 1.4rem 0; }
.prose h2 a, .prose h3 a { color: inherit; text-decoration: none; }
.prose h2 a:hover, .prose h3 a:hover { color: var(--orange-btn); }
a.tile h3 { color: var(--navy); }

/* the off-screen drawer must not widen the document */
.drawer { overflow-x: hidden; max-width: 100vw; }
.drawer summary, .drawer ul a { overflow-wrap: anywhere; }
html { overflow-x: hidden; }

/* grid children default to min-width:auto, so a long word or a wide inline
   element can push the track past the viewport */
.layout > *, .grid > *, .steps > *, .icols > *, .quote > * { min-width: 0; }
.prose { min-width: 0; }
.prose a, .prose p, .prose li, .prose h2, .prose h3 { overflow-wrap: anywhere; }

/* article listing headings are h2 for hierarchy; keep the card sizing */
.post h2 { font-size: 1.15rem; margin: 0; letter-spacing: -.02em; font-family: var(--display); font-weight: 700; }
.post h2 a { text-decoration: none; color: var(--navy); }
.post h2 a:hover { color: var(--orange-btn); }

/* aside card titles are h2 for document outline; sized like the old h3 */
.card h2.card-h { font-size: 1.18rem; margin-bottom: .35rem; color: var(--navy); font-family: var(--display); font-weight: 700; letter-spacing: -.02em; }
.card--ink h2.card-h { color: #fff; }

/* =========================================================================
   WordPress integration
   ========================================================================= */
.prose img,.prose figure{max-width:100%;height:auto;border-radius:var(--r-lg)}
.prose figure{margin:1.75rem 0}
.prose figcaption,.wp-caption-text{font-size:.88rem;color:var(--muted);margin-top:.5rem;text-align:left}
.prose blockquote{margin:1.75rem 0;padding:1.15rem 1.35rem;border-left:4px solid var(--orange);background:var(--paper);border-radius:0 var(--r) var(--r) 0}
.prose blockquote p:last-child{margin-bottom:0}
.prose table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}
.prose th,.prose td{padding:.7rem .85rem;border:1px solid var(--rule);text-align:left}
.prose th{background:var(--paper);font-family:var(--display);font-weight:700;color:var(--navy)}
.prose ol{padding-left:1.3rem}
.prose ol li{margin-bottom:.5rem}
.prose hr{border:0;border-top:1px solid var(--rule);margin:2.5rem 0}
.prose code{background:var(--paper);padding:.15em .4em;border-radius:3px;font-size:.92em}
.prose .alignleft{float:left;margin:.4rem 1.5rem 1rem 0}
.prose .alignright{float:right;margin:.4rem 0 1rem 1.5rem}
.prose .aligncenter{margin-inline:auto}
.prose .alignwide,.prose .alignfull{max-width:none}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.pagination,.page-links{display:flex;flex-wrap:wrap;gap:.4rem;margin:2rem 0 0;align-items:center}
.pagination .page-numbers,.page-links a,.page-links>span{display:inline-flex;align-items:center;justify-content:center;min-width:46px;min-height:46px;padding:0 .75rem;border:1px solid var(--rule);border-radius:var(--r);color:var(--navy);text-decoration:none;font-family:var(--display);font-weight:700}
.pagination .page-numbers.current,.page-links>span{background:var(--navy);border-color:var(--navy);color:#fff}
.pagination .page-numbers:hover{border-color:var(--orange-btn);color:var(--orange-btn)}
.nav-links{display:flex;flex-wrap:wrap;gap:.4rem}

.form__err{display:none;border-left:4px solid #c0392b;background:#fdeceb;padding:.9rem 1.05rem;border-radius:var(--r);color:#8e2b21;font-size:.94rem}
.form__err[data-show="true"]{display:block}
.btn[aria-busy="true"]{opacity:.7;pointer-events:none}

.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}

/* click-to-load video */
.videobox { position: relative; border-radius: var(--r-lg); overflow: hidden; background: var(--navy); }
.videobox__play { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; position: relative; line-height: 0; }
.videobox__play img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.videobox__icon { position: absolute; inset: 0; display: grid; place-items: center; }
.videobox__icon svg { width: 68px; height: 48px; filter: drop-shadow(0 2px 8px rgba(0,0,0,.35)); transition: transform .18s var(--ease); }
.videobox__play:hover .videobox__icon svg { transform: scale(1.1); }
.videobox iframe { width: 100%; aspect-ratio: 16/9; border: 0; display: block; }
.videobox__note { display: block; padding: .6rem .9rem; font-size: .84rem; color: var(--on-navy); background: var(--navy); }

/* ---- Three-level navigation, matching the previous site -------------------
   Top-level items that have a page of their own render as a link with a
   separate chevron control beside them, and the second level can carry a
   flyout panel of its own. */

.nav__item{display:flex;align-items:center}
.nav__toggle{display:inline-flex;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;padding:.55rem .45rem .55rem .1rem;margin-left:-.5rem;color:var(--navy);line-height:0}
.nav__toggle svg{width:9px;height:9px;opacity:.6;transition:transform .16s var(--ease)}
.nav__item:hover .nav__toggle svg,.nav__toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.nav__toggle:focus-visible{outline:2px solid var(--orange);outline-offset:2px}

/* The panel hangs off the item, not off the link, now that the two sit side
   by side. */
.nav__item>.nav__panel{left:0}

/* Clicking the chevron holds the panel open. */
.nav__item.is-open>.nav__panel{opacity:1;visibility:visible;transform:none}

/* Second-level items that open a third level. */
.nav__panel>li{position:relative}
.nav__sub>a{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.nav__sub>a::after{content:"›";font-size:1.1em;line-height:1;opacity:.5}
.nav__sub:hover>a,.nav__sub:focus-within>a{background:var(--paper);color:var(--blue)}

/* `.nav__item:hover .nav__panel` above is a descendant rule, so it would
   reveal the third level at the same time as the second. Keep the deep panel
   shut until its own row is hovered or focused. */
.nav__item:hover .nav__panel--deep,
.nav__item:focus-within .nav__panel--deep,
.nav__item.is-open .nav__panel--deep{opacity:0;visibility:hidden;transform:translateY(4px)}
.nav__panel>li:hover>.nav__panel--deep,
.nav__panel>li:focus-within>.nav__panel--deep{opacity:1;visibility:visible;transform:none}

.nav__panel--deep{top:-.35rem;left:100%;margin-left:.15rem;border-top:1px solid var(--rule);border-left:3px solid var(--orange);border-radius:0 var(--r) var(--r) 0}

/* Flip the flyout inwards for items near the right edge of the bar. */
.nav__item:nth-last-child(-n+2) .nav__panel--deep{left:auto;right:100%;margin-left:0;margin-right:.15rem;border-left:1px solid var(--rule);border-right:3px solid var(--orange);border-radius:var(--r) 0 0 var(--r)}

/* ---- Drawer: the same three levels, stacked ---- */
.drawer summary a{color:inherit;text-decoration:none;flex:1 1 auto;min-height:0}
.drawer .drawer__sub{border-bottom:0}
.drawer .drawer__sub>summary{padding:.45rem 0;min-height:44px;font-family:var(--body);font-weight:600;font-size:.97rem;letter-spacing:0;text-transform:none;color:var(--muted)}
.drawer .drawer__sub[open]>summary{color:var(--navy)}
.drawer .drawer__sub>summary::after{font-size:1.15rem}
.drawer .drawer__sub>ul{padding:0 0 .5rem .9rem;border-left:1px solid var(--rule);margin-left:.15rem}

/* Footer affiliations column. */
.site-footer .footer-affiliation{max-width:190px;width:100%;height:auto;margin:.9rem 0}


/* Homepage quote card: the stepped quote form needs more room than the 336px
   aside column the rest of .layout uses, and its own heading steps down to
   card size so it does not compete with the section heading beside it. */
@media (min-width:1040px){.layout--quote{grid-template-columns:minmax(0,1fr) 460px}}
.card--quote .ig-quote{max-width:none}
.card--quote .ig-quote__title{font-size:1.18rem}
.card--quote .ig-quote__intro{font-size:.95rem;margin-bottom:1.15rem}
