/* 0.21.8 authoritative portal accordion. Product colour variables remain unchanged. */
#navigation .nav-group > .nav-heading,
#r65SidebarNav .nav-group > .nav-group-title {
  border-inline-start: 3px solid transparent;
  transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
}
#navigation .nav-group.is-open > .nav-heading,
#navigation .nav-group > .nav-heading[aria-expanded="true"],
#r65SidebarNav .nav-group:not(.is-collapsed) > .nav-group-title,
#r65SidebarNav .nav-group > .nav-group-title[aria-expanded="true"] {
  border-inline-start-color: var(--rail, var(--accent, #23a9d5));
  background: color-mix(in srgb, var(--rail, var(--accent, #23a9d5)) 12%, transparent);
}
#navigation .nav-heading[aria-expanded="true"] .chevron,
#r65SidebarNav .nav-group-title[aria-expanded="true"] .chevron { transform: rotate(180deg); }
#navigation .nav-link.active {
  border-inline-start-color: var(--rail, var(--accent, #23a9d5));
  background: color-mix(in srgb, var(--rail, var(--accent, #23a9d5)) 16%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  #navigation .nav-group > .nav-heading,
  #r65SidebarNav .nav-group > .nav-group-title { transition: none; }
}

/* 0.21.8: operational portals use Pathway's measured category-heading scale.
   Pathway is explicitly excluded and retains its own pn-* navigation system. */
body[data-portal]:not([data-portal="pathway"]) #navigation .nav-group > .nav-heading {
  box-sizing: border-box;
  min-height: 39px;
  padding: 7px 10px;
  font-size: 17px;
  line-height: 24.65px;
}
#r65SidebarNav .nav-group > .nav-group-title {
  box-sizing: border-box;
  min-height: 42px !important;
  padding: 8px 11px !important;
  font-size: 17px !important;
  line-height: 25px !important;
  font-weight: 700 !important;
  border-radius: 7px;
}
#r65SidebarNav .nav-group > .nav-group-title:hover,
#r65SidebarNav .nav-group > .nav-group-title:focus-visible {
  background: color-mix(in srgb, var(--group-accent, var(--rail, var(--accent, #23a9d5))) 18%, transparent) !important;
  color: inherit;
}
#r65SidebarNav .nav-group > .nav-list > .nav-link {
  min-height: 39px !important;
  padding-block: 8px !important;
  font-size: 13.5px !important;
  line-height: 20px !important;
  border-radius: 7px;
  transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease;
}
#r65SidebarNav .nav-group > .nav-list > .nav-link:hover,
#r65SidebarNav .nav-group > .nav-list > .nav-link:focus-visible {
  background: color-mix(in srgb, var(--group-accent, var(--rail, var(--accent, #23a9d5))) 15%, transparent) !important;
}

/* Forge Overview banner: preserve the approved artwork, but use a dark surface
   and readable overlay when the shell is in dark mode. */
html[data-theme="dark"][data-swiso-route-product="forge"] .forge-overview01,
html[data-theme="dark"] body[data-product="forge"] .forge-overview01,
html[data-theme="dark"] body[data-portal="forge"] .forge-overview01,
html[data-theme="dark"] body[data-portal="forge"] .portal-overview-banner,
html[data-theme="dark"] body[data-portal="forge"] [data-overview-banner] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: #3d7388 !important;
  background-color: #102f3d !important;
  background-blend-mode: multiply !important;
  color: #eef8fb !important;
}
html[data-theme="dark"][data-swiso-route-product="forge"] .forge-overview01::before,
html[data-theme="dark"] body[data-product="forge"] .forge-overview01::before,
html[data-theme="dark"] body[data-portal="forge"] .forge-overview01::before,
html[data-theme="dark"] body[data-portal="forge"] .portal-overview-banner::before,
html[data-theme="dark"] body[data-portal="forge"] [data-overview-banner]::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background: linear-gradient(90deg, rgba(7, 31, 45, .93) 0%, rgba(9, 42, 56, .82) 48%, rgba(7, 28, 41, .58) 100%);
  pointer-events: none;
}
html[data-theme="dark"][data-swiso-route-product="forge"] .forge-overview01 > *,
html[data-theme="dark"] body[data-product="forge"] .forge-overview01 > *,
html[data-theme="dark"] body[data-portal="forge"] .forge-overview01 > *,
html[data-theme="dark"] body[data-portal="forge"] .portal-overview-banner > *,
html[data-theme="dark"] body[data-portal="forge"] [data-overview-banner] > * {
  position: relative;
  z-index: 1;
}
html[data-theme="dark"][data-swiso-route-product="forge"] .forge-overview01 :is(h1,h2,h3,p,span,small,strong),
html[data-theme="dark"] body[data-product="forge"] .forge-overview01 :is(h1,h2,h3,p,span,small,strong),
html[data-theme="dark"] body[data-portal="forge"] .forge-overview01 :is(h1,h2,h3,p,span,small,strong),
html[data-theme="dark"] body[data-portal="forge"] .portal-overview-banner :is(h1,h2,h3,p,span,small,strong),
html[data-theme="dark"] body[data-portal="forge"] [data-overview-banner] :is(h1,h2,h3,p,span,small,strong) {
  color: #eef8fb !important;
  opacity: 1 !important;
}

/* The approved photographic Forge hero is mounted as the first Overview
   section on some tenants. Cover that runtime shape as well. */
html[data-theme="dark"] body[data-portal="forge"] .forge209-overview > section:first-child {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: #3d7388 !important;
  background-color: #102f3d !important;
  background-blend-mode: multiply !important;
  color: #eef8fb !important;
}
html[data-theme="dark"] body[data-portal="forge"] .forge209-overview > section:first-child::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 25, 38, .92), rgba(7, 34, 47, .76) 52%, rgba(5, 24, 35, .48));
  pointer-events: none;
}
html[data-theme="dark"] body[data-portal="forge"] .forge209-overview > section:first-child > * {
  position: relative;
  z-index: 2;
}

html[data-theme="dark"] [data-forge-dark-banner="true"] {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  border-color: #3d7388 !important;
  background-color: #102f3d !important;
  background-blend-mode: multiply !important;
  color: #eef8fb !important;
}
html[data-theme="dark"] [data-forge-dark-banner="true"]::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(4, 23, 35, .94), rgba(7, 35, 49, .80) 55%, rgba(5, 26, 38, .58)) !important;
}
html[data-theme="dark"] [data-forge-dark-banner="true"] > * {
  position: relative !important;
  z-index: 2 !important;
}
html[data-theme="dark"] [data-forge-dark-banner="true"] img { filter:brightness(.38) saturate(.72); }

.forge-download-centre{padding:clamp(18px,2.5vw,34px);border:1px solid #b8d5df;border-radius:16px;background:#f7fbfc;color:#15384d}
.forge-download-centre>header>span{font-size:12px;font-weight:800;letter-spacing:.12em;color:#087f8c}
.forge-download-centre>header h2{margin:8px 0 4px;font-size:30px}.forge-download-centre>header p{max-width:850px}
.forge-download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.forge-download-grid article{display:flex;flex-direction:column;gap:10px;min-height:245px;padding:20px;border:1px solid #bad5df;border-radius:14px;background:#fff;box-shadow:0 10px 24px rgba(16,63,83,.08)}
.forge-download-grid article>strong{font-size:11px;letter-spacing:.1em;color:#087f8c}.forge-download-grid h3{margin:0;font-size:21px}.forge-download-grid p{flex:1;margin:0;line-height:1.55}
.forge-download-grid a,.forge-download-grid button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border:1px solid #7caebe;border-radius:8px;background:#edf7f9;color:#123a50;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.forge-download-grid .primary{border-color:#087f8c;background:#087f8c;color:#fff}.forge-download-grid button:disabled{opacity:.65;cursor:not-allowed}
html[data-theme="dark"] .forge-download-centre{border-color:#315c6b;background:#092634;color:#e9f6fa}
html[data-theme="dark"] .forge-download-grid article{border-color:#315c6b;background:#123846;color:#e9f6fa;box-shadow:none}
html[data-theme="dark"] .forge-download-grid a,html[data-theme="dark"] .forge-download-grid button{border-color:#5f91a2;background:#1c4a5b;color:#f3fbfd}
@media(max-width:980px){.forge-download-grid{grid-template-columns:1fr}}
