/*! Baltic Master — design system v1  (ZADEX, 2026) */

/* ---------- 1. Tokens ---------- */
:root{
  /* brand */
  --bm-navy-900:#0A1F35; --bm-navy-800:#0F2C49; --bm-navy-700:#173D63; --bm-navy-600:#21527F;
  --bm-blue-700:#0A5F9B; --bm-blue-600:#0B72B9; --bm-blue-500:#1793E6; --bm-blue-400:#20A2F3;
  --bm-blue-100:#E3F1FC; --bm-blue-50:#F3F8FE;
  --bm-green-600:#2E8F55; --bm-green-500:#47B973;
  --bm-sand:#F7F2ED;
  /* neutrals */
  --bm-ink:#12233A; --bm-body:#3A4A60; --bm-muted:#5E6E85;
  --bm-line:#E1E7EF; --bm-line-strong:#C9D4E2;
  --bm-bg:#FFFFFF; --bm-bg-2:#F5F8FB;
  /* type */
  --bm-font-display:'Barlow',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --bm-font-body:'Open Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --bm-s--1:clamp(.8125rem,.79rem + .12vw,.875rem);
  --bm-s-0:clamp(1rem,.965rem + .17vw,1.0625rem);
  --bm-s-1:clamp(1.125rem,1.07rem + .28vw,1.3125rem);
  --bm-s-2:clamp(1.375rem,1.27rem + .52vw,1.75rem);
  --bm-s-3:clamp(1.625rem,1.43rem + .98vw,2.375rem);
  --bm-s-4:clamp(2rem,1.65rem + 1.75vw,3.25rem);
  --bm-s-5:clamp(2.375rem,1.79rem + 2.93vw,4.5rem);
  /* space */
  --bm-1:.25rem; --bm-2:.5rem; --bm-3:.75rem; --bm-4:1rem; --bm-5:1.5rem;
  --bm-6:2rem; --bm-7:3rem; --bm-8:4rem; --bm-9:6rem; --bm-10:8rem;
  --bm-gutter:clamp(1rem,4vw,2rem);
  --bm-section:clamp(3.5rem,7vw,6.5rem);
  /* shape */
  --bm-r-1:4px; --bm-r-2:8px; --bm-r-3:16px; --bm-r-pill:999px;
  --bm-sh-1:0 1px 2px rgba(16,36,58,.06),0 1px 3px rgba(16,36,58,.05);
  --bm-sh-2:0 4px 12px rgba(16,36,58,.07),0 2px 4px rgba(16,36,58,.04);
  --bm-sh-3:0 18px 44px rgba(10,31,53,.14);
  --bm-ring:0 0 0 3px #fff,0 0 0 6px var(--bm-blue-600);
  --bm-maxw:1240px;
  --bm-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- 2. Base (scoped, beats Bootstrap reboot) ---------- */
#wrapwrap{font-family:var(--bm-font-body);font-size:var(--bm-s-0);line-height:1.65;color:var(--bm-body);background:var(--bm-bg);-webkit-font-smoothing:antialiased;overflow-x:clip}
:where(#wrapwrap) h1,:where(#wrapwrap) h2,:where(#wrapwrap) h3,:where(#wrapwrap) h4,:where(#wrapwrap) h5{font-family:var(--bm-font-display);color:var(--bm-ink);line-height:1.12;letter-spacing:-.015em;font-weight:700;margin:0 0 var(--bm-4)}
:where(#wrapwrap) h1{font-size:var(--bm-s-4)}
:where(#wrapwrap) h2{font-size:var(--bm-s-3)}
:where(#wrapwrap) h3{font-size:var(--bm-s-2)}
:where(#wrapwrap) h4{font-size:var(--bm-s-1);font-weight:600}
:where(#wrapwrap) p{margin:0 0 var(--bm-4)}
:where(#wrapwrap) p:last-child{margin-bottom:0}
:where(#wrapwrap) a{color:var(--bm-blue-600);text-decoration-thickness:1px;text-underline-offset:.18em}
:where(#wrapwrap) a:hover{color:var(--bm-blue-700)}
:where(#wrapwrap) img{max-width:100%;height:auto}
#wrapwrap :focus-visible{outline:none;box-shadow:var(--bm-ring);border-radius:var(--bm-r-1)}
:where(#wrapwrap) ul,:where(#wrapwrap) ol{margin:0 0 var(--bm-4);padding-left:1.15em}
:where(#wrapwrap) li{margin-bottom:.35em}
.bm-lead{font-size:var(--bm-s-1);color:var(--bm-muted);max-width:62ch}
.bm-measure{max-width:68ch}
.bm-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- 3. Layout ---------- */
.bm-container{width:100%;max-width:var(--bm-maxw);margin-inline:auto;padding-inline:var(--bm-gutter)}
.bm-section{padding-block:var(--bm-section)}
.bm-section--tight{padding-block:clamp(2.5rem,5vw,4rem)}
.bm-grid{display:grid;gap:var(--bm-5)}
.bm-grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.bm-grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}
.bm-grid--4{grid-template-columns:repeat(auto-fit,minmax(min(100%,13.5rem),1fr))}
.bm-split{display:grid;gap:clamp(var(--bm-6),5vw,var(--bm-8));align-items:center}
@media(min-width:62rem){.bm-split{grid-template-columns:1.05fr .95fr}.bm-split--narrow{grid-template-columns:1fr 1.15fr}}

/* ---------- 4. Type helpers ---------- */
.bm-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--bm-font-display);font-weight:600;font-size:var(--bm-s--1);letter-spacing:.09em;text-transform:uppercase;color:var(--bm-blue-600);margin-bottom:var(--bm-3)}
.bm-eyebrow::before{content:"";width:1.75rem;height:2px;background:linear-gradient(90deg,var(--bm-blue-500),var(--bm-green-500));border-radius:2px}
.bm-shead{max-width:56rem;margin-bottom:clamp(var(--bm-6),4vw,var(--bm-8))}
.bm-shead--center{margin-inline:auto;text-align:center}
.bm-shead--center .bm-lead{margin-inline:auto}

/* ---------- 5. Buttons ---------- */
.bm-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.875rem;padding:.7rem 1.35rem;border:1px solid transparent;border-radius:var(--bm-r-2);font-family:var(--bm-font-display);font-weight:600;font-size:var(--bm-s-0);line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .18s var(--bm-ease),color .18s,border-color .18s,transform .18s}
.bm-btn:active{transform:translateY(1px)}
.bm-btn svg{width:1.15em;height:1.15em;flex:none}
.bm-btn--primary{background:var(--bm-blue-600);border-color:var(--bm-blue-600);color:#fff}
.bm-btn--primary:hover{background:var(--bm-blue-700);border-color:var(--bm-blue-700);color:#fff}
.bm-btn--ghost{background:transparent;border-color:var(--bm-line-strong);color:var(--bm-ink)}
.bm-btn--ghost:hover{border-color:var(--bm-navy-800);background:var(--bm-bg-2);color:var(--bm-ink)}
.bm-btn--light{background:#fff;border-color:#fff;color:var(--bm-navy-800)}
.bm-btn--light:hover{background:var(--bm-blue-50);color:var(--bm-navy-900)}
.bm-btn--outline-light{background:transparent;border-color:rgba(255,255,255,.45);color:#fff}
.bm-btn--outline-light:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
.bm-btn--lg{min-height:3.25rem;padding:.9rem 1.75rem;font-size:var(--bm-s-1)}
.bm-btns{display:flex;flex-wrap:wrap;gap:var(--bm-3)}
.bm-link{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--bm-font-display);font-weight:600;text-decoration:none}
.bm-link svg{width:1.05em;height:1.05em;transition:transform .18s var(--bm-ease)}
.bm-link:hover svg{transform:translateX(3px)}

/* ---------- 6. Header ---------- */
.bm-skip{position:absolute;left:var(--bm-4);top:-4rem;z-index:1200;background:var(--bm-navy-800);color:#fff;padding:.7rem 1.1rem;border-radius:var(--bm-r-2);text-decoration:none;font-weight:600}
.bm-skip:focus{top:var(--bm-3);color:#fff}
header#top.bm-header{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--bm-line)}
.bm-header.is-stuck{box-shadow:var(--bm-sh-2)}
.bm-topbar{background:var(--bm-navy-800);color:#D7E3F0;font-size:var(--bm-s--1)}
.bm-topbar__in{display:flex;align-items:center;justify-content:space-between;gap:var(--bm-4);min-height:2.5rem;flex-wrap:wrap}
.bm-topbar__claim{margin:0;color:#A9BDD3}
.bm-topbar__links{list-style:none;display:flex;gap:var(--bm-5);margin:0;padding:0;flex-wrap:wrap}
.bm-topbar__links li{margin:0}
.bm-topbar__links a{display:inline-flex;align-items:center;gap:.45rem;color:#fff;text-decoration:none;font-weight:600;padding-block:.35rem}
.bm-topbar__links a:hover{color:var(--bm-blue-400)}
.bm-topbar__links svg{width:1rem;height:1rem;color:var(--bm-blue-400)}
@media(max-width:47.99rem){.bm-topbar__claim{display:none}.bm-topbar__in{justify-content:center}}
.bm-nav__in{display:flex;align-items:center;gap:var(--bm-5);min-height:4.5rem}
.bm-logo{display:inline-flex;align-items:center;flex:none;padding-block:.5rem}
.bm-logo img{display:block;width:auto;height:2.25rem;max-height:2.25rem;object-fit:contain}
.bm-nav__menu{margin-inline:auto}
.bm-menu{list-style:none;display:flex;align-items:center;gap:.15rem;margin:0;padding:0}
.bm-menu li{margin:0;position:relative}
.bm-menu__item{display:inline-flex;align-items:center;gap:.35rem;padding:.7rem .8rem;border-radius:var(--bm-r-2);font-family:var(--bm-font-display);font-weight:600;font-size:var(--bm-s-0);color:var(--bm-ink);background:none;border:0;text-decoration:none;cursor:pointer;white-space:nowrap}
.bm-menu__item:hover{background:var(--bm-bg-2);color:var(--bm-navy-800)}
.bm-menu__item[aria-current="page"]{color:var(--bm-blue-700)}
.bm-menu__item[aria-current="page"]::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.25rem;height:2px;background:var(--bm-blue-600);border-radius:2px}
.bm-menu__chev{width:.7rem;height:.7rem;transition:transform .18s var(--bm-ease)}
.bm-menu__item[aria-expanded="true"] .bm-menu__chev{transform:rotate(180deg)}
.bm-panel{position:absolute;top:calc(100% + .35rem);left:0;min-width:16rem;background:#fff;border:1px solid var(--bm-line);border-radius:var(--bm-r-3);box-shadow:var(--bm-sh-3);padding:var(--bm-4);display:none;z-index:50}
.bm-panel--wide{left:50%;transform:translateX(-50%);min-width:min(46rem,90vw)}
.bm-menu__item[aria-expanded="true"]+.bm-panel{display:block}
.bm-panel__grid{list-style:none;display:grid;gap:.15rem;margin:0;padding:0;grid-template-columns:1fr}
.bm-panel--wide .bm-panel__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.15rem var(--bm-4)}
.bm-panel__link{display:flex;align-items:flex-start;gap:.75rem;padding:.7rem .75rem;border-radius:var(--bm-r-2);text-decoration:none;color:var(--bm-ink)}
.bm-panel__link:hover{background:var(--bm-blue-50);color:var(--bm-navy-800)}
.bm-panel__link svg{width:1.25rem;height:1.25rem;flex:none;margin-top:.15rem;color:var(--bm-blue-600)}
.bm-panel__t{display:block;font-family:var(--bm-font-display);font-weight:600}
.bm-panel__d{display:block;font-size:var(--bm-s--1);color:var(--bm-muted);line-height:1.45}
.bm-burger{display:none;align-items:center;justify-content:center;width:2.875rem;height:2.875rem;border:1px solid var(--bm-line-strong);border-radius:var(--bm-r-2);background:#fff;color:var(--bm-ink);cursor:pointer}
.bm-burger svg{width:1.4rem;height:1.4rem}
.bm-burger .bm-ico-x{display:none}
.bm-burger[aria-expanded="true"] .bm-ico-x{display:block}
.bm-burger[aria-expanded="true"] .bm-ico-menu{display:none}
@media(max-width:74.99rem){
  .bm-nav__menu,.bm-nav__cta{display:none}
  .bm-burger{display:inline-flex}
  .bm-nav__in{justify-content:space-between}
}
.bm-mobile{display:none;border-top:1px solid var(--bm-line);background:#fff;max-height:calc(100dvh - 7rem);overflow-y:auto}
.bm-mobile.is-open{display:block}
.bm-mobile__list{list-style:none;margin:0;padding:var(--bm-3) 0}
.bm-mobile__list li{margin:0}
.bm-mobile__a{display:block;padding:.85rem var(--bm-gutter);font-family:var(--bm-font-display);font-weight:600;color:var(--bm-ink);text-decoration:none;border-bottom:1px solid var(--bm-line)}
.bm-mobile__a--sub{padding-left:calc(var(--bm-gutter) + 1.25rem);font-weight:400;color:var(--bm-muted);font-family:var(--bm-font-body)}
.bm-mobile__cta{padding:var(--bm-5) var(--bm-gutter)}
.bm-mobile__cta .bm-btn{width:100%}

/* ---------- 7. Hero ---------- */
.bm-hero{position:relative;background:var(--bm-navy-800);color:#fff;overflow:hidden}
.bm-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(120% 90% at 18% 10%,#000 20%,transparent 78%)}
.bm-hero::after{content:"";position:absolute;right:-12%;top:-30%;width:58rem;height:58rem;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(32,162,243,.34),transparent 62%)}
.bm-hero__in{position:relative;z-index:1;padding-block:clamp(3.5rem,7vw,6rem)}
.bm-hero h1{color:#fff;font-size:var(--bm-s-5);max-width:16ch}
.bm-hero__lead{font-size:var(--bm-s-1);color:#C7D8EA;max-width:46ch;margin-bottom:var(--bm-6)}
.bm-hero__badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .85rem;border:1px solid rgba(255,255,255,.22);border-radius:var(--bm-r-pill);font-size:var(--bm-s--1);font-weight:600;color:#D7E7F6;margin-bottom:var(--bm-5);background:rgba(255,255,255,.05)}
.bm-hero__badge svg{width:1rem;height:1rem;color:var(--bm-green-500)}
.bm-hero__trust{display:flex;flex-wrap:wrap;gap:var(--bm-5);margin-top:var(--bm-7);padding-top:var(--bm-5);border-top:1px solid rgba(255,255,255,.14)}
.bm-hero__trust div{min-width:7rem}
.bm-hero__trust b{display:block;font-family:var(--bm-font-display);font-size:var(--bm-s-2);color:#fff;line-height:1.1}
.bm-hero__trust span{font-size:var(--bm-s--1);color:#9FB6CE}
.bm-hero__media{position:relative}
.bm-hero__media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--bm-r-3);box-shadow:var(--bm-sh-3)}
.bm-float{position:absolute;left:-1rem;bottom:-1.25rem;background:#fff;color:var(--bm-ink);border-radius:var(--bm-r-3);box-shadow:var(--bm-sh-3);padding:var(--bm-4) var(--bm-5);display:flex;align-items:center;gap:var(--bm-4);max-width:19rem}
.bm-float svg{width:2.1rem;height:2.1rem;color:var(--bm-green-600);flex:none}
.bm-float b{display:block;font-family:var(--bm-font-display);font-size:var(--bm-s-1)}
.bm-float span{font-size:var(--bm-s--1);color:var(--bm-muted)}
@media(max-width:61.99rem){.bm-float{position:static;margin-top:var(--bm-4);max-width:none}}

/* ---------- 8. Page hero (inner) ---------- */
.bm-phero{background:var(--bm-navy-800);color:#fff;position:relative;overflow:hidden}
.bm-phero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,#000,transparent 65%)}
.bm-phero__in{position:relative;z-index:1;padding-block:clamp(2.5rem,5vw,4.25rem)}
.bm-phero h1{color:#fff;max-width:20ch}
.bm-phero p{color:#C7D8EA;font-size:var(--bm-s-1);max-width:60ch;margin:0}
.bm-crumbs{margin-bottom:var(--bm-5);font-size:var(--bm-s--1)}
.bm-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0}
.bm-crumbs li{margin:0;display:flex;gap:.45rem;align-items:center;color:#8FA9C4}
.bm-crumbs li+li::before{content:"/";color:#5A7391}
.bm-crumbs a{color:#B7CCE2;text-decoration:none}
.bm-crumbs a:hover{color:#fff;text-decoration:underline}

/* ---------- 9. Cards ---------- */
.bm-card{display:flex;flex-direction:column;gap:var(--bm-3);background:#fff;border:1px solid var(--bm-line);border-radius:var(--bm-r-3);padding:var(--bm-5);transition:border-color .2s,box-shadow .2s,transform .2s var(--bm-ease)}
.bm-card:hover{border-color:var(--bm-blue-500);box-shadow:var(--bm-sh-2);transform:translateY(-2px)}
.bm-card h3{font-size:var(--bm-s-1);margin:0}
.bm-card p{color:var(--bm-muted);font-size:var(--bm-s-0);margin:0;flex:1}
.bm-card__ico{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:var(--bm-r-2);background:var(--bm-blue-50);color:var(--bm-blue-600);border:1px solid var(--bm-blue-100)}
.bm-card__ico svg{width:1.6rem;height:1.6rem}
.bm-card a.bm-stretch::after{content:"";position:absolute;inset:0}
.bm-card{position:relative}
.bm-card--plain:hover{transform:none;border-color:var(--bm-line);box-shadow:none}

/* ---------- 10. Numbered features ---------- */
.bm-nlist{list-style:none;counter-reset:n;margin:0;padding:0;display:grid;gap:var(--bm-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
.bm-nlist li{counter-increment:n;margin:0;padding-top:var(--bm-4);border-top:2px solid var(--bm-line)}
.bm-nlist li::before{content:"0" counter(n);display:block;font-family:var(--bm-font-display);font-weight:700;font-size:var(--bm-s--1);letter-spacing:.08em;color:var(--bm-blue-600);margin-bottom:.5rem}
.bm-nlist h3{font-size:var(--bm-s-1);margin-bottom:.4rem}
.bm-nlist p{color:var(--bm-muted);margin:0}

/* ---------- 11. Checklist ---------- */
.bm-checks{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}
.bm-checks li{display:flex;gap:.75rem;align-items:flex-start;margin:0}
.bm-checks svg{width:1.35rem;height:1.35rem;flex:none;margin-top:.15rem;color:var(--bm-green-600)}
.bm-checks--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}

/* ---------- 12. Stats band ---------- */
.bm-stats{background:var(--bm-navy-900);color:#fff}
.bm-stats__grid{display:grid;gap:var(--bm-5);grid-template-columns:repeat(auto-fit,minmax(min(50%,10rem),1fr));text-align:center}
.bm-stats dt{font-family:var(--bm-font-display);font-weight:700;font-size:var(--bm-s-4);line-height:1;background:linear-gradient(120deg,#fff,#9FD4FA);-webkit-background-clip:text;background-clip:text;color:transparent}
.bm-stats dd{margin:.6rem 0 0;font-size:var(--bm-s--1);color:#9FB6CE;letter-spacing:.02em}

/* ---------- 13. Bands ---------- */
.bm-band{background:var(--bm-bg-2)}
.bm-band--sand{background:var(--bm-sand)}
.bm-band--navy{background:var(--bm-navy-800);color:#fff}
.bm-band--navy h2,.bm-band--navy h3{color:#fff}
.bm-band--navy p{color:#C7D8EA}
.bm-cta{background:linear-gradient(135deg,var(--bm-navy-800),var(--bm-navy-600));color:#fff;border-radius:var(--bm-r-3);padding:clamp(var(--bm-6),5vw,var(--bm-8));display:grid;gap:var(--bm-5);align-items:center;position:relative;overflow:hidden}
.bm-cta::after{content:"";position:absolute;right:-6rem;top:-6rem;width:22rem;height:22rem;border-radius:50%;background:radial-gradient(circle,rgba(32,162,243,.35),transparent 65%)}
.bm-cta>*{position:relative;z-index:1}
@media(min-width:56rem){.bm-cta{grid-template-columns:1.4fr auto}}
.bm-cta h2{color:#fff;margin-bottom:.5rem}
.bm-cta p{color:#C7D8EA;margin:0;max-width:52ch}

/* ---------- 14. Brand wall ---------- */
.bm-brands{display:flex;flex-wrap:wrap;gap:.6rem}
.bm-brands span{display:inline-flex;align-items:center;padding:.55rem 1rem;border:1px solid var(--bm-line);border-radius:var(--bm-r-pill);background:#fff;font-family:var(--bm-font-display);font-weight:600;font-size:var(--bm-s--1);color:var(--bm-navy-700);letter-spacing:.01em}

/* ---------- 15. Media ---------- */
.bm-figure{margin:0;border-radius:var(--bm-r-3);overflow:hidden;background:var(--bm-bg-2)}
.bm-figure img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.bm-figure--tall img{aspect-ratio:4/5}

/* ---------- 16. Contact ---------- */
.bm-office{border:1px solid var(--bm-line);border-radius:var(--bm-r-3);padding:var(--bm-5);background:#fff}
.bm-office h3{font-size:var(--bm-s-1);margin-bottom:.15rem}
.bm-office__city{font-size:var(--bm-s--1);color:var(--bm-blue-600);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--bm-3);display:block}
.bm-dl{display:grid;gap:.5rem;margin:0}
.bm-dl div{display:flex;gap:.6rem;align-items:flex-start}
.bm-dl svg{width:1.1rem;height:1.1rem;color:var(--bm-muted);flex:none;margin-top:.28rem}
.bm-dl a{text-decoration:none}
.bm-dl a:hover{text-decoration:underline}

/* ---------- 17. Forms ---------- */
.bm-form{display:grid;gap:var(--bm-4)}
.bm-field{display:grid;gap:.4rem}
.bm-field label{font-family:var(--bm-font-display);font-weight:600;font-size:var(--bm-s--1);color:var(--bm-ink)}
.bm-field .bm-hint{font-size:var(--bm-s--1);color:var(--bm-muted)}
.bm-field input,.bm-field select,.bm-field textarea{width:100%;min-height:2.875rem;padding:.65rem .85rem;border:1px solid var(--bm-line-strong);border-radius:var(--bm-r-2);font:inherit;color:var(--bm-ink);background:#fff}
.bm-field textarea{min-height:8rem;resize:vertical}
.bm-field input:focus,.bm-field select:focus,.bm-field textarea:focus{border-color:var(--bm-blue-600);outline:none;box-shadow:0 0 0 3px var(--bm-blue-100)}
.bm-form__row{display:grid;gap:var(--bm-4)}
@media(min-width:44rem){.bm-form__row{grid-template-columns:1fr 1fr}}
.bm-consent{display:flex;gap:.65rem;align-items:flex-start;font-size:var(--bm-s--1);color:var(--bm-muted)}
.bm-consent input{width:1.15rem;height:1.15rem;min-height:0;margin-top:.2rem;flex:none}

/* ---------- 18. Footer ---------- */
footer#bottom.bm-footer{background:var(--bm-navy-900);color:#B7C7D9;margin:0}
.bm-footer__top{padding-block:clamp(3rem,6vw,4.5rem);display:grid;gap:var(--bm-7)}
@media(min-width:56rem){.bm-footer__top{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}
.bm-footer h2,.bm-footer h3{color:#fff;font-size:var(--bm-s--1);letter-spacing:.09em;text-transform:uppercase;margin-bottom:var(--bm-4)}
.bm-footer__logo img{height:2.25rem;width:auto;filter:brightness(0) invert(1);margin-bottom:var(--bm-4)}
.bm-footer p{color:#8FA3B8;font-size:var(--bm-s--1);max-width:34ch}
.bm-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.bm-footer li{margin:0}
.bm-footer a{color:#C7D6E5;text-decoration:none;font-size:var(--bm-s--1)}
.bm-footer a:hover{color:#fff;text-decoration:underline}
.bm-footer__cta{display:block;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--bm-r-2);padding:var(--bm-4);margin-top:var(--bm-4)}
.bm-footer__cta b{display:block;color:#fff;font-family:var(--bm-font-display);font-size:var(--bm-s-2);letter-spacing:-.01em}
.bm-footer__cta span{font-size:var(--bm-s--1);color:#8FA3B8}
.bm-footer__bar{border-top:1px solid rgba(255,255,255,.1);padding-block:var(--bm-5);display:flex;flex-wrap:wrap;gap:var(--bm-4);justify-content:space-between;align-items:center;font-size:var(--bm-s--1);color:#7E93AA}
.bm-footer__bar ul{display:flex;gap:var(--bm-5);flex-wrap:wrap}

/* ---------- 19. Motion / print ---------- */
@media(prefers-reduced-motion:reduce){
  #wrapwrap *,#wrapwrap *::before,#wrapwrap *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
@media print{
  header#top,footer#bottom,.bm-cta,.bm-burger{display:none!important}
  #wrapwrap{color:#000}
}

/* ---------- 20. Hero quick links ---------- */
.bm-float--static{position:static;max-width:none}
.bm-quick{list-style:none;margin:var(--bm-4) 0 0;padding:0;display:grid;gap:.5rem}
.bm-quick li{margin:0}
.bm-quick a{display:flex;align-items:center;gap:.85rem;padding:.95rem 1.1rem;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);border-radius:var(--bm-r-2);color:#fff;text-decoration:none;font-family:var(--bm-font-display);font-weight:600;transition:background-color .18s,border-color .18s}
.bm-quick a:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.42);color:#fff}
.bm-quick svg{width:1.35rem;height:1.35rem;color:var(--bm-blue-400);flex:none}
.bm-quick .bm-quick__go{margin-left:auto;color:#9FB6CE;width:1.05rem;height:1.05rem}
.bm-note{border-left:3px solid var(--bm-blue-500);background:var(--bm-blue-50);padding:var(--bm-4) var(--bm-5);border-radius:0 var(--bm-r-2) var(--bm-r-2) 0;color:var(--bm-navy-700)}
.bm-note p:last-child{margin-bottom:0}

/* ---------- 21. Cascade guards ---------- */
:where(#wrapwrap) .bm-btn{text-decoration:none}
#wrapwrap .bm-btn--primary,#wrapwrap .bm-btn--primary:hover{color:#fff}
#wrapwrap .bm-btn--light,#wrapwrap .bm-btn--light:hover{color:var(--bm-navy-800)}
#wrapwrap .bm-btn--outline-light,#wrapwrap .bm-btn--outline-light:hover{color:#fff}
#wrapwrap .bm-btn--ghost{color:var(--bm-ink)}
#wrapwrap .bm-hero h1,#wrapwrap .bm-phero h1,#wrapwrap .bm-cta h2,
#wrapwrap .bm-band--navy h2,#wrapwrap .bm-band--navy h3,
#wrapwrap .bm-footer h2,#wrapwrap .bm-footer h3{color:#fff}
#wrapwrap .bm-hero__trust b,#wrapwrap .bm-float b{color:inherit}
#wrapwrap .bm-menu__item,#wrapwrap .bm-mobile__a,#wrapwrap .bm-panel__link,
#wrapwrap .bm-quick a,#wrapwrap .bm-topbar__links a,#wrapwrap .bm-logo{text-decoration:none}
#wrapwrap .bm-topbar__links a,#wrapwrap .bm-quick a{color:#fff}
#wrapwrap .bm-menu__item,#wrapwrap .bm-mobile__a,#wrapwrap .bm-panel__link{color:var(--bm-ink)}
#wrapwrap .bm-footer a{color:#C7D6E5}
#wrapwrap .bm-footer a:hover{color:#fff}
#wrapwrap .bm-crumbs a{color:#B7CCE2}
#wrapwrap .bm-stats dt{color:transparent}
#wrapwrap .bm-hero__trust b{color:#fff}
#wrapwrap .bm-float b{color:var(--bm-ink)}
