/* Shared navigation: concise labels and generous, clearly separated targets. */
:root{--header-height:96px}
@media(max-width:760px){:root{--header-height:88px}}
#header{gap:24px;padding-inline:clamp(24px,4vw,64px)}
#header nav{gap:clamp(16px,1.6vw,26px);margin-left:auto;align-items:center}
#header nav>a{font:500 14px/1.45 var(--sans);max-width:none;min-height:52px;display:flex;align-items:center;letter-spacing:0;text-transform:none;white-space:nowrap}
#header nav>a:after{display:none}
#header nav>.nav-resources{max-width:none}
.nav-fit{flex-shrink:0;display:flex;align-items:center}
#header .nav-cta,#mobile-nav .nav-cta{display:flex;align-items:center;justify-content:center;min-height:52px;padding:14px 18px;background:var(--blue);color:var(--ivory);border:1px solid var(--blue);border-radius:5px;font:500 14px/1.4 var(--sans);letter-spacing:0;text-transform:none;text-decoration:none;transition:box-shadow .18s,transform .18s}
#header .nav-cta:hover,#mobile-nav .nav-cta:hover{background:var(--blue);box-shadow:0 5px 16px #345c7825;transform:translateY(-1px)}
#header a[aria-current]:not(.nav-cta),#mobile-nav a[aria-current]:not(.nav-cta){text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.mobile-services-shortcut,.menu-toggle small{display:none}
#mobile-nav[hidden]{display:none!important}
#mobile-nav{position:fixed;inset:0;z-index:59;overflow-y:auto;overscroll-behavior:contain;padding:116px 28px 30px;background:var(--ivory);gap:0;justify-content:flex-start}
#mobile-nav>a{font:500 20px/1.4 var(--sans);padding:18px 0;border-bottom:1px solid var(--line);min-height:64px;letter-spacing:-.02em;text-decoration:none}
#mobile-nav .nav-fit{margin-top:25px;display:block}
#mobile-nav .nav-cta{font-size:16px;min-height:56px}
.nav-utility{display:flex;align-items:center;flex-wrap:wrap;gap:10px 25px;margin-top:20px}
.nav-utility>a,.nav-utility>.menu-motion{font:400 14px/1.4 var(--sans);min-height:44px;padding:10px 0;background:none;border:0;border-bottom:1px solid transparent;text-decoration:underline;text-underline-offset:5px;color:var(--blue)}
.service-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font:400 14px/1.5 var(--sans);margin-bottom:16px}
.service-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px}
.text-link,.quiet-link{text-decoration:underline;text-underline-offset:5px;border-bottom:0}
:where(a,button,summary):focus-visible{outline:3px solid var(--blue);outline-offset:5px}
@media(max-width:1199px){#header{gap:16px}#header nav{display:none}.mobile-services-shortcut{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;min-height:46px;padding:10px 15px;font:500 14px/1.4 var(--sans);border:1px solid var(--blue);border-radius:5px;background:var(--ivory);text-decoration:none}#header .menu-toggle{display:flex;margin-left:0;gap:5px;min-height:48px;width:48px}.menu-toggle small{display:block;font:500 12px/1 var(--sans);margin-top:4px}.menu-open .menu-toggle span:first-child{transform:translateY(3px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){transform:translateY(-3px) rotate(-45deg)}}
@media(max-width:360px){#header{padding-inline:18px;gap:8px}#header .brand>span{font-size:29px}#header .brand small{font-size:8px}.mobile-services-shortcut{padding-inline:10px}#mobile-nav{padding-inline:22px}#mobile-nav>a{font-size:19px}}
@media(prefers-reduced-motion:reduce){#header .nav-cta,#mobile-nav .nav-cta{transition:none;transform:none}}

/* Approved wordmark, with intrinsic dimensions to reserve its space. */
.brand--image{width:200px;min-height:48px;justify-content:center}
.brand--image .brand-logo{display:block;width:100%;height:auto;flex:none}
footer .brand--image{width:220px;max-width:100%}
@media(max-width:1199px){#header .brand--image{width:180px}}
@media(max-width:760px){#header{gap:10px}#header .brand--image{width:clamp(130px,41vw,170px)}}
@media(max-width:360px){#header{gap:8px}}
