/* The site's one header, menu sheet, breadcrumbs and footer (8 Oct 2026),
   rendered by /assets/nav.js on every page. The home page's look: white,
   blue #0b7fc4, Plus Jakarta Sans / Inter, bubbly and minimal, 44px+
   targets. Light only. Colours fall back so this file stands alone. */
.site-top{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line,#dbe8f0);min-height:69px}
.site-bar,.site-foot-bar{max-width:1120px;margin:0 auto;padding-inline:20px}
.site-bar{display:flex;align-items:center;gap:10px;padding-block:12px;min-height:68px}
.site-brand{display:flex;align-items:center;gap:10px;min-height:44px;min-width:0;text-decoration:none;color:var(--ink,#10273a);font:800 16px/1.2 "Plus Jakarta Sans",Inter,system-ui,sans-serif;border-radius:12px}
.site-brand svg{flex:none}
.site-brand span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site-brand small{display:block;font:500 12px/1 Inter,system-ui,sans-serif;color:var(--muted,#4f6577);margin-top:4px}
.site-nav{margin-left:auto}
.site-links{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.site-link{display:inline-flex;align-items:center;min-height:44px;padding:0 13px;border-radius:999px;text-decoration:none;font:600 15px/1 Inter,system-ui,sans-serif;color:var(--blue-deep,#075a8c);white-space:nowrap;transition:background .15s ease}
.site-link:hover,.site-link.is-here{background:var(--sky,#e9f6fd)}
.site-link[aria-current="page"]{background:var(--sky,#e9f6fd);color:var(--ink,#10273a);box-shadow:inset 0 0 0 1.5px var(--blue,#0b7fc4)}
.site-call{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;background:var(--blue,#0b7fc4);color:#fff;font:600 15px/1 Inter,system-ui,sans-serif;text-decoration:none;white-space:nowrap;box-shadow:0 8px 20px -10px rgba(11,127,196,.8);flex:none}
.site-menu-btn{display:none;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:0 14px;margin-left:auto;border:1.5px solid var(--line,#dbe8f0);border-radius:999px;background:#fff;color:var(--blue-deep,#075a8c);font:600 15px/1 Inter,system-ui,sans-serif;cursor:pointer;flex:none}
.site-top a:focus-visible,.site-top button:focus-visible,.site-sheet a:focus-visible,.site-sheet button:focus-visible,.site-foot a:focus-visible,.crumbs a:focus-visible{outline:3px solid var(--blue,#0b7fc4);outline-offset:3px}
.site-noscript{display:flex;flex-wrap:wrap;gap:4px 14px;padding:12px 20px;max-width:1120px;margin:0 auto}
.site-noscript a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--blue-deep,#075a8c)}

/* a section under the sticky header is not hidden by it when jumped to */
main [id],section[id]{scroll-margin-top:84px}

@media (max-width:1040px){
  .site-nav{display:none}
  .site-menu-btn{display:inline-flex}
  .site-call{margin-left:auto}
  .site-call + .site-menu-btn{margin-left:0}
}
@media (max-width:560px){
  .site-call{display:none}
  .site-call + .site-menu-btn{margin-left:auto}
  .site-bar{padding-inline:16px;gap:8px}
  .site-brand{font-size:15px;gap:8px;letter-spacing:-.01em}
  .site-brand svg{width:34px;height:34px}
  .site-menu-btn{padding:0 12px;gap:6px}
}
/* the full name always shows; on the narrowest phones the Menu button
   keeps its icon and its accessible name, and drops the visible word */
@media (max-width:359px){.site-menu-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}

/* the menu sheet: above everything, the chat bubble included */
.site-sheet{position:fixed;inset:0;z-index:2147483600}
.site-sheet[hidden]{display:none!important}
.site-sheet-scrim{position:absolute;inset:0;background:rgba(16,39,58,.38)}
.site-sheet-panel{position:absolute;top:10px;left:10px;right:10px;max-height:calc(100dvh - 20px);overflow:auto;overscroll-behavior:contain;background:#fff;border-radius:24px;padding:12px 16px 18px;box-shadow:0 30px 60px -20px rgba(7,90,140,.55);animation:site-sheet-in .18s ease-out}
@media (min-width:561px){.site-sheet-panel{left:auto;width:380px}}
@keyframes site-sheet-in{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
.site-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--line,#dbe8f0);margin-bottom:8px}
.site-sheet-close{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:none;border:1.5px solid var(--line,#dbe8f0);border-radius:999px;background:#fff;color:var(--blue-deep,#075a8c);cursor:pointer}
.site-sheet-links{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.site-sheet-link{display:flex;align-items:center;min-height:52px;padding:0 16px;border-radius:16px;text-decoration:none;font:700 18px/1.2 "Plus Jakarta Sans",Inter,system-ui,sans-serif;color:var(--ink,#10273a)}
.site-sheet-link:hover{background:var(--sky,#e9f6fd)}
.site-sheet-link[aria-current="page"]{background:var(--sky,#e9f6fd);color:var(--blue-deep,#075a8c);box-shadow:inset 4px 0 0 var(--blue,#0b7fc4)}
.site-sheet-call{display:flex;align-items:center;justify-content:center;min-height:52px;margin-top:12px;border-radius:999px;background:var(--blue,#0b7fc4);color:#fff;text-decoration:none;font:600 17px/1 Inter,system-ui,sans-serif}
.site-sheet-mail{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:4px;color:var(--blue-deep,#075a8c);font-weight:600;overflow-wrap:anywhere;text-align:center}
html.site-sheet-open,html.site-sheet-open body{overflow:hidden}

/* breadcrumbs */
.crumbs{border-bottom:1px solid var(--line,#dbe8f0);background:#fff}
.crumbs ol{list-style:none;margin:0 auto;padding:4px 20px;max-width:1120px;display:flex;flex-wrap:wrap;align-items:center;font-size:14px;color:var(--muted,#4f6577)}
.crumbs li{display:flex;align-items:center}
.crumbs li + li::before{content:"›";margin:0 8px;color:var(--muted,#4f6577)}
.crumbs a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue-deep,#075a8c);font-weight:600;text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs [aria-current]{font-weight:600;color:var(--ink,#10273a)}
@media (max-width:560px){.crumbs ol{padding-inline:16px}}

/* footer */
.site-foot{border-top:1px solid var(--line,#dbe8f0);background:var(--card,#f6fbfe);color:var(--muted,#4f6577);font-size:14px;margin-top:24px}
.site-foot-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 32px;padding-block:32px 28px}
.site-foot-who p{margin:8px 0 0}
.site-foot-who a{color:var(--blue-deep,#075a8c);font-weight:600;display:inline-flex;align-items:center;min-height:32px;overflow-wrap:anywhere}
.site-foot-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,auto));gap:0 24px;align-content:start}
.site-foot-link{display:inline-flex;align-items:center;min-height:44px;color:var(--ink,#10273a);font-weight:600;text-decoration:none}
.site-foot-link:hover{text-decoration:underline}
.site-foot-link[aria-current="page"]{color:var(--blue-deep,#075a8c);text-decoration:underline;text-underline-offset:4px}
.site-foot-fine{grid-column:1/-1;margin:12px 0 0;padding-top:14px;border-top:1px solid var(--line,#dbe8f0)}
@media (max-width:700px){.site-foot-bar{grid-template-columns:1fr}}
/* the home page's pinned Call bar on phones: the footer clears it */
@media (max-width:560px){.has-callbar .site-foot{padding-bottom:84px}}
@media (prefers-reduced-motion:reduce){.site-sheet-panel{animation:none}.site-link{transition:none}}
