/* v40 accessibility layer (WCAG 2.2 AA). Loaded last on every page. */
:root:root{--sky-deep:#08718F;--sky-dark:#086A87}
/* Header: real side gutters at every width (.nav padding was zeroing .wrap's) */
header.site .wrap.nav{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
@media(min-width:1024px){header.site .wrap.nav{padding-left:24px;padding-right:24px}}
@media(max-width:1023px){
 header.site .menu-btn{width:48px!important;height:48px!important;min-height:48px!important;flex:0 0 48px}
 header.site .nav .call{min-height:44px!important}
 .nav nav.open a{padding-left:max(20px,env(safe-area-inset-left))!important;padding-right:20px!important}
 .nav nav.open{max-height:calc(100vh - 80px);overflow-y:auto;overscroll-behavior:contain}
}
/* Focus: always visible, never hidden under the sticky header or mobile action bar (2.4.7, 2.4.11) */
:focus-visible{outline:3px solid #08718F!important;outline-offset:2px!important}
.mcall a:focus-visible,.btn-flag:focus-visible{outline-color:#0B2621!important}
html{scroll-padding-top:96px}
@media(max-width:640px){html{scroll-padding-bottom:84px}}
.zip-row input:focus{outline:3px solid #08718F;outline-offset:1px}
/* Target size 24px min (2.5.8) */
.breadcrumb a,footer a,.pillnav a,.card h3 a,.card>a:not(:has(img)),.tocbox a{padding-block:3px}
.fsocial a{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px}
/* Contrast fixes */
.fd-row .k{color:#55636e!important}
.fd-head small{opacity:1!important;color:#fff!important}
.role{color:var(--sky-deep)!important}
/* Narrow phones: ZIP router fits 320px */
@media(max-width:380px){.zip-router{padding:14px!important}.zip-row .btn{padding-left:12px;padding-right:12px;white-space:normal}.jb-loading{padding:16px 6px}}
/* Team role lines (were invalid <h4><h3>) */
.tm-role{font-weight:700;font-size:1.05rem;color:var(--green,#0B2621);margin:-4px 0 12px;line-height:1.35}
/* BBB trust card (crisp at any density, replaces raster seals) */
a.bbb-card{display:inline-flex;align-items:center;gap:14px;padding:14px 20px 14px 14px;background:#fff;border:1px solid #d9e2e8;border-radius:14px;box-shadow:0 1px 2px rgba(11,38,33,.06),0 8px 24px rgba(11,38,33,.08);text-decoration:none;color:#212934;line-height:1.25;text-align:left;transition:box-shadow .2s,transform .2s;max-width:100%}
a.bbb-card:hover{box-shadow:0 2px 4px rgba(11,38,33,.08),0 14px 32px rgba(11,38,33,.12);transform:translateY(-1px)}
.bbb-grade{flex:0 0 auto;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#0B2621;color:#fff;font-family:Lato,system-ui,sans-serif;font-weight:900;font-size:1.45rem;letter-spacing:-.02em;box-shadow:inset 0 0 0 3px #0B2621,inset 0 0 0 5px #1BBDE8}
.bbb-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.bbb-txt b{font-family:Lato,system-ui,sans-serif;font-weight:900;font-size:1rem;letter-spacing:.01em;color:#0B2621}
.bbb-txt .bbb-sub{font-size:.88rem;color:#3c4c58}
.bbb-txt .bbb-go{font-size:.82rem;font-weight:700;color:#08718F}
.founder a.bbb-card{margin-left:auto;flex-shrink:0}
@media(max-width:640px){.founder a.bbb-card{margin-left:0;margin-top:14px}}
@media(prefers-reduced-motion:reduce){a.bbb-card{transition:none}a.bbb-card:hover{transform:none}}
.grid.c4 a.bbb-card{flex-direction:column;text-align:center;gap:10px;padding:0;background:none;border:0;box-shadow:none;margin:0 auto}
.grid.c4 a.bbb-card:hover{box-shadow:none;transform:none}
.grid.c4 .bbb-grade{width:84px;height:84px;font-size:2rem;box-shadow:inset 0 0 0 4px #0B2621,inset 0 0 0 7px #1BBDE8}
.grid.c4 .bbb-txt{align-items:center}.grid.c4 .bbb-sub{display:none}
/* v40b */
.breadcrumb a,footer a,.fmeta a,.floc a{padding-block:5px}
a.btn.btn-flag{color:var(--green,#0B2621)}
.fd-badge{background:#23744A!important}
.eval-ok .spec{color:#23744A!important}
.fd-patent{color:#55636e!important}
.box a,.meta a{padding-block:5px}
article[data-k="low"] .spec{color:#55636e!important}

/* v44: responsive fixes from the all-viewport sweep */
.loc-card .tel .tw{white-space:normal}
@media(max-width:340px){header.site .nav .call{display:none!important}header.site .nav{justify-content:space-between!important}}
@media(max-width:360px){h3 .nw,.loc-card h3 .nw{white-space:normal}}
