.fg-menu{display:inline-block;position:relative;vertical-align:middle;font-size:inherit}.fg-menu>summary{cursor:pointer;list-style:none;padding:.35rem .15rem;color:inherit;white-space:nowrap}.fg-menu>summary::-webkit-details-marker{display:none}.fg-menu>summary::after{content:' ▾';font-size:.7em}.fg-menu[open]>summary{color:#087e83}.fg-menu nav{position:absolute;top:100%;left:0;min-width:255px;padding:.55rem!important;background:white;box-shadow:0 10px 28px #17323b26;border:1px solid #d9e5e6;border-radius:8px;display:flex!important;flex-direction:column;align-items:stretch!important;gap:0!important;z-index:100}.fg-menu nav a{display:block!important;padding:.45rem .6rem!important;margin:0!important;color:#19323b!important;font:400 .85rem/1.45 system-ui,sans-serif!important;white-space:normal!important;text-decoration:none!important}.fg-menu nav a:hover,.fg-menu nav a[aria-current=page]{background:#e4f3f1;color:#087e83!important}.fg-topic-nav{display:flex;gap:.45rem;flex-wrap:wrap;padding:.6rem 0;margin:.5rem 0 1rem}.fg-topic-nav a{font:400 .78rem/1.4 system-ui,sans-serif;color:#087e83;border:1px solid #bfd4d4;border-radius:5px;padding:.3rem .55rem;background:white}.fg-topic-nav a[aria-current=page]{background:#d5eeea;font-weight:650}@media(max-width:600px){.fg-menu nav{position:fixed;left:1rem;right:1rem;top:var(--fg-menu-top,5rem);min-width:0;max-width:none;max-height:calc(100vh - var(--fg-menu-top,5rem) - 1rem);overflow-y:auto}.fg-menu{max-width:100%}}

/* One flex row owns top-level spacing; individual legacy links add no margins. */
header.site-header .navwide{gap:1.5rem}
header nav.site-nav,.fg-header>nav,header>nav[aria-label="Site"]{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.25rem 1rem}
header nav.site-nav>a,header nav.site-nav>.nav-dropdown>.nav-dropdown__trigger,.fg-header>nav>a{margin:0!important;display:inline-flex;align-items:center;min-height:40px;padding:0!important;line-height:1.4}
.fg-menu{border:0!important;padding:0!important;margin:0!important;box-shadow:none!important;background:transparent!important;align-self:center}
.fg-menu>summary{display:inline-flex;align-items:center;gap:.25rem;min-height:40px;padding:0!important;line-height:1.4;border:0;background:transparent;font:inherit}
.fg-menu>summary:focus-visible{outline:2px solid #087e83;outline-offset:4px;border-radius:3px}
@media(max-width:760px){header.site-header .navwide{flex-wrap:wrap;justify-content:center;gap:.4rem;padding:.65rem .75rem}header nav.site-nav,.fg-header>nav,header>nav[aria-label="Site"]{justify-content:center;gap:.15rem .7rem}}

/* Public page chrome follows Home's existing spacing, wordmark and brand rule. */
header.fg-site-header {
  display: block; position: relative; inset: auto; width: auto; max-width: none;
  margin: 0 0 3px; padding: 1rem clamp(1rem, 3vw, 2.75rem);
  border: 0; border-bottom: 1px solid var(--color-border, #e5e5e5);
  background: var(--color-surface, #fff); color: var(--color-fg, #111);
  box-shadow: none; z-index: 10;
  font: 400 1rem/1.55 var(--font-sans, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
}
header.fg-site-header::after { content: ''; position: absolute; left: 0; right: 0; bottom: -3px; height: 3px; background: var(--gradient-brandline, linear-gradient(90deg, #0ea5e9 0%, #06b6d4 32%, #2dd4bf 58%, #fbbf24 100%)); }
.fg-site-header .fg-site-bar { box-sizing: border-box; display: flex; align-items: center; flex-wrap: wrap; gap: 1.25rem; width: 100%; max-width: none; margin: 0; padding: 0; }
.fg-site-header .fg-site-brand { display: inline-flex; align-items: center; gap: .5rem; flex-shrink: 0; margin: 0; padding: 0; color: inherit; text-decoration: none; font: 600 1.125rem/1.55 var(--font-sans, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif); letter-spacing: -.01em; white-space: nowrap; }
.fg-site-brand img { display: block; width: 30px; height: 30px; object-fit: contain; }
.fg-site-brand .fg-site-product { color: var(--color-accent, #0f766e); }
.fg-site-brand sup { font-size: .55em; font-weight: 600; letter-spacing: .02em; }
.fg-site-header > .fg-site-bar > .fg-site-nav { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .25rem 1rem; margin: 0 0 0 auto; padding: 0; font: inherit; }
.fg-site-nav > a, .fg-site-nav > .nav-dropdown > .nav-dropdown__trigger { display: inline-flex; align-items: center; min-height: 40px; margin: 0; padding: 0; color: inherit; text-decoration: none; line-height: 1.4; }
.fg-site-nav a:hover, .fg-site-nav a[aria-current] { color: var(--color-accent, #0f766e); }
.fg-site-header a:focus-visible { outline: 2px solid var(--color-accent, #0f766e); outline-offset: 4px; border-radius: 4px; }
.fg-site-nav > .nav-dropdown { position: relative; display: inline-block; }
.fg-site-nav .nav-dropdown__trigger { gap: .35em; white-space: nowrap; }
.fg-site-nav .caret { display: inline-block; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translate(-1px, -2px); transition: transform 160ms ease; flex: none; }
.fg-site-nav .nav-dropdown:hover .caret, .fg-site-nav .nav-dropdown:focus-within .caret { transform: rotate(225deg) translate(-2px, -1px); }
.fg-site-nav .nav-dropdown__menu { position: absolute; right: 0; top: 100%; display: block; min-width: 232px; padding: .5rem; background: var(--color-surface, #fff); border: 1px solid var(--color-border, #e5e5e5); border-radius: var(--radius-md, 10px); box-shadow: var(--shadow, 0 4px 12px rgba(0,0,0,.08)); z-index: 100; opacity: 0; visibility: hidden; transform: translateY(6px); pointer-events: none; transition: opacity 140ms ease, transform 140ms ease, visibility 0s linear 180ms; }
.fg-site-nav .nav-dropdown:hover > .nav-dropdown__menu, .fg-site-nav .nav-dropdown:focus-within > .nav-dropdown__menu { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; transition: opacity 140ms ease, transform 140ms ease, visibility 0s; }
.fg-site-nav .nav-dropdown__menu a { display: block; margin: 0; padding: .5rem .75rem; border-radius: var(--radius-sm, 4px); color: inherit; text-decoration: none; font: 400 .875rem/1.3 var(--font-sans, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif); }
.fg-site-nav .nav-dropdown__menu a:hover, .fg-site-nav .nav-dropdown__menu a:focus-visible { background: var(--color-accent-bg, #d8f3ee); color: var(--color-accent, #0f766e); }
footer.fg-site-footer { display: block; position: static; inset: auto; box-sizing: border-box; width: auto; max-width: 1080px; margin: 2rem auto 0; padding: 1.5rem; border: 0; border-top: 1px solid var(--color-border, #e5e5e5); background: transparent; color: var(--color-muted, #6b7280); font: 400 .875rem/1.55 var(--font-sans, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif); text-align: left; }
.fg-site-footer p { max-width: none; margin: .35rem 0; }
.fg-site-footer a { color: var(--color-accent, #0f766e); }
.fg-site-footer nav { display: flex; flex-wrap: wrap; gap: .4rem 1rem; }
.fg-site-footer .fg-site-family { margin-top: .75rem; }
.fg-site-family a { white-space: nowrap; }
.fg-site-family span { margin-left: .15rem; }
/* Explorer uses its own retained layout, with the same menu spacing. */
.sg-header > .sg-nav { gap: .25rem 1rem; }
.sg-header > .sg-nav > a, .sg-header > .sg-nav > .nav-dropdown > .nav-dropdown__trigger { margin-left: 0; display: inline-flex; align-items: center; min-height: 40px; line-height: 1.4; }
@media (max-width: 760px) {
  .fg-site-header .fg-site-bar { justify-content: center; gap: .4rem; padding: .65rem .75rem; }
  .fg-site-header > .fg-site-bar > .fg-site-nav { justify-content: center; gap: .15rem .7rem; margin-left: 0; }
}

/* 2026-10-01: the shared header already draws the brand gradient (::after); pages whose
   legacy template still emits a .brandline right after it showed two bars. */
header.fg-site-header + .brandline { display: none; }
