/* Unmodified Forum v19 from Google Fonts, in one complete face.
   Source and OFL notice: assets/fonts/Forum-SOURCE.md, Forum-OFL.txt. */
@font-face {
  font-family: 'Forum';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/forum-v19-complete.woff2') format('woff2');
}
/* Stage 1: library shell. Content data, routes and interaction code stay intact. */
:root {
    color-scheme: dark;
    --bg: #122447;
    --bg-deep: #10203f;
    --bg-soft: #1b3156;
    --panel: #192e52;
    --panel-strong: #21385d;
    --panel-soft: #243b60;
    --text: #f1ebdd;
    --muted: #c7cdd6;
    --soft: #9eacc0;
    --gold: #e4ba6a;
    --link: #f2d398;
    --cyan: #8fc7d9;
    --cyan-strong: #b7dbe6;
    --indigo: var(--link);
    --violet: var(--gold);
    --home-violet: var(--text);
    --home-mint: var(--text);
    --home-warm: var(--gold);
    --line: #ffffff1c;
    --line-strong: #b7c6db42;
    --home-line: var(--line-strong);
    --screen-radius: 20px;
    --control-radius: 10px;
    --screen-shadow: -12px 0 42px #bc81341a, 0 24px 64px #08132c66;
    /* Opaque fallback; only the screen's fill is translucent, never its text. */
    --screen-background: var(--panel);
    --screen-filter: none;
    --screen-line: #b7cee35c;
    --screen-warm-edge: #e4ba6a99;
    --screen-inset: inset 0 1px 0 #e6efff1c, inset 1px 0 0 #e4ba6a24;
    --frame-left: clamp(180px, 18vw, 340px);
    --frame-width: min(calc(100% - var(--frame-left) - 5vw), 1440px);
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    :root {
        --screen-background:
            radial-gradient(ellipse at 0% 55%, #e4ba6a16, transparent 48%),
            radial-gradient(ellipse at 100% 0%, #8fc7d90c, transparent 55%),
            linear-gradient(115deg, #173366bf, #142a52ad 52%, #182e5ab8);
        --screen-filter: blur(16px) saturate(.9);
    }
}
body {
    background: var(--bg) url('../assets/library/library-night-desktop-v2.webp') center / cover fixed no-repeat;
    color: var(--text);
}
/* Shared header: static HTML on every route, independent of legacy CSS. */
* { box-sizing: border-box; }
[hidden] { display: none !important; }
.shell { margin-inline: auto; }
.site-header { position: relative; background: #112448f5; border-bottom: 1px solid var(--line-strong); }
.site-header .shell { width: calc(100% - 64px); }
.site-header__inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; min-height: 96px; }
.site-header__identity { display: flex; align-items: center; gap: 18px; }
.brand { display: inline-flex; align-items: baseline; gap: 9px; text-decoration: none; font-weight: 750; letter-spacing: -.035em; }
.site-header .brand__ai, .site-header .brand__text { font-size: clamp(25px, 2.2vw, 36px); }
.brand__ai { color: var(--gold); }
.brand__text { color: var(--text); }
.site-header__definition { padding-left: 18px; border-left: 1px solid var(--line-strong); color: var(--muted); font-size: 16px; line-height: 1.5; }
.site-header__service { padding-left: 20px; border-left: 1px solid var(--line-strong); }
.site-header__motto { margin: 0 0 4px; color: var(--gold); font-size: 16px; line-height: 1.4; white-space: nowrap; }
.site-header__actions { display: flex; gap: 18px; justify-content: space-between; }
.site-header .header-action { display: inline-flex; align-items: center; min-height: 44px; gap: 8px; padding: 0; border: 0; background: none; color: var(--muted); font-size: 16px; text-decoration: none; }
.ui-icon { display: inline-block; width: 20px; height: 20px; flex-shrink: 0; background: currentColor; mask: var(--icon) center / contain no-repeat; }
.ui-icon--book-open { --icon: url('../assets/icons/book-open.svg'); }
.ui-icon--map { --icon: url('../assets/icons/map.svg'); }
.ui-icon--graduation-cap { --icon: url('../assets/icons/graduation-cap.svg'); }
.ui-icon--sliders-horizontal { --icon: url('../assets/icons/sliders-horizontal.svg'); }
.ui-icon--chevron-down { --icon: url('../assets/icons/chevron-down.svg'); }
.site-header .header-action .ui-icon { color: var(--cyan); }
.primary-nav { display: flex; justify-content: center; align-items: center; gap: clamp(16px, 1.6vw, 28px); }
.primary-nav__group { position: relative; color: var(--text); }
/* Deferred directions stay visible in the IA but are not navigation controls. */
.primary-nav .primary-nav__group--inactive {
  display: flex;
  align-items: center;
  min-height: 44px;
  color: var(--soft);
  cursor: default;
}
.primary-nav__inactive-label {
  font-size: 16px;
  font-weight: 650;
  white-space: nowrap;
  opacity: .78;
}
.primary-nav summary { display: flex; align-items: center; gap: 6px; list-style: none; padding: 10px 0; min-height: 44px; cursor: pointer; font-size: 16px; font-weight: 650; white-space: nowrap; }
.primary-nav summary::-webkit-details-marker { display: none; }
.primary-nav summary .ui-icon { width: 16px; height: 16px; color: var(--soft); }
.primary-nav__group[open] summary { color: var(--link); }
.primary-nav__group[open] summary .ui-icon { transform: rotate(180deg); }
.primary-nav__panel { position: absolute; top: calc(100% + 4px); left: 0; width: 350px; max-width: calc(100vw - 32px); padding: 10px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--bg-soft); box-shadow: 0 16px 44px #08132c80; z-index: 60; }
.primary-nav__group--materials .primary-nav__panel, .primary-nav__group--business .primary-nav__panel { left: auto; right: 0; }
.primary-nav__panel a, .primary-nav__information { display: block; width: 100%; padding: 13px; border-radius: 7px; font-size: 16px; line-height: 1.5; color: var(--text); text-decoration: none; }
.primary-nav__panel a:hover, .primary-nav__panel a[aria-current] { background: var(--panel-soft); color: var(--link); }
.primary-nav__information p { margin: 5px 0 0; color: var(--muted); font-size: 16px; }
.unavailable-note { display: block; color: var(--soft); font-size: 16px; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media(max-width: 1400px) { .site-header__definition { display: none; } }
@media(max-width: 1240px) { :root { --frame-left: clamp(120px, 14vw, 180px); --frame-width: calc(100% - var(--frame-left) - 32px); } }
@media(max-width: 1100px) {
 .site-header__inner { grid-template-columns: 1fr auto; gap: 4px 16px; padding: 14px 0 6px; }
 .primary-nav { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; }
}
@media(max-width: 980px) {
 :root { --frame-left: 28px; --frame-width: calc(100% - 56px); }
 body { background-image: url('../assets/library/library-night-tablet-v2.webp'); }
}
@media(max-width: 560px) {
 :root {
  --frame-left: 10px; --frame-width: calc(100% - 20px); --screen-radius: 14px;
  /* Mobile has no scene to filter; keep the screen lighting without a blur layer. */
  --screen-background: linear-gradient(115deg, #253b55, #172e53 35%, #1b345e);
  --screen-filter: none;
 }
 body { background: var(--bg); }
 .site-header .shell { width: calc(100% - 32px); }
 .site-header__inner { grid-template-columns: 1fr; padding: 16px 0 8px; gap: 8px; }
 .site-header__definition { display: block; font-size: 14px; padding-left: 12px; }
 .site-header__identity { gap: 12px; }
 .site-header .brand__ai, .site-header .brand__text { font-size: 25px; }
 .site-header__service { padding: 0; border: 0; }
 .site-header__motto { font-size: 16px; margin: 0; }
 .site-header__actions { gap: 12px; }
 .site-header .header-action { font-size: 16px; gap: 6px; }
 .primary-nav { justify-content: space-between; gap: 4px; flex-wrap: wrap; }
 .primary-nav summary { font-size: 16px; gap: 3px; }
 .primary-nav summary .ui-icon { width: 12px; height: 12px; }
 .primary-nav__panel { width: min(350px, calc(100vw - 32px)); }
}
@media(max-width: 360px) {
 .primary-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
 .primary-nav summary { font-size: 16px; }
 .site-header__actions { gap: 6px; }
 .site-header .header-action { font-size: 15px; }
}
@media(max-width: 560px) {
 .primary-nav { position: relative; }
 .primary-nav__group { position: static; }
 .primary-nav__panel, .primary-nav__group--business .primary-nav__panel, .primary-nav__group--materials .primary-nav__panel { left: 0; right: 0; top: calc(100% + 4px); width: 100%; max-width: 100%; }
}
@media(prefers-reduced-transparency: reduce) {
 :root { --screen-background: var(--panel); --screen-filter: none; }
 .site-header, .site-header.is-scrolled { background: var(--bg-deep); }
}
.site-header .brand__ai { color: var(--gold); }
.site-header .brand__text { color: var(--text); }
.site-header .header-action:hover { color: var(--link); }


/* Visual prototype: place the existing motto under the brand in the shared
   header. Display-only reflow: shared header markup, links and data untouched. */
.site-header .site-header__inner {
    display: grid;
    grid-template-columns: minmax(235px, auto) minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 20px;
    row-gap: 1px;
    min-height: 88px;
    padding-block: 10px;
}
.site-header .site-header__identity {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
}
.site-header .site-header__service { display: contents; }
.site-header .site-header__motto {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    margin: 0;
    padding: 0;
    border: 0;
    font: 400 18px/1.45 'Manrope', Arial, sans-serif;
    color: var(--gold);
    white-space: nowrap;
}
.site-header .primary-nav {
    grid-column: 2;
    grid-row: 1 / 3;
    justify-content: center;
    align-self: center;
}
.site-header .site-header__actions {
    grid-column: 3;
    grid-row: 1 / 3;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    align-self: center;
    padding: 0;
    border: 0;
}
@media (max-width: 1100px) {
    .site-header .site-header__inner {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: auto auto auto;
        row-gap: 1px;
        padding: 12px 0 7px;
    }
    .site-header .site-header__identity { grid-column: 1; grid-row: 1; }
    .site-header .site-header__motto { grid-column: 1; grid-row: 2; }
    .site-header .site-header__actions { grid-column: 2; grid-row: 1 / 3; }
    .site-header .primary-nav {
        grid-column: 1 / -1;
        grid-row: 3;
        justify-content: flex-start;
    }
}
@media (max-width: 560px) {
    .site-header .site-header__inner {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto auto auto;
        row-gap: 3px;
        padding: 14px 0 8px;
    }
    .site-header .site-header__identity { grid-column: 1; grid-row: 1; }
    .site-header .site-header__motto {
        grid-column: 1;
        grid-row: 2;
        font-size: 16.5px;
        white-space: normal;
    }
    .site-header .primary-nav {
        grid-column: 1;
        grid-row: 3;
        justify-content: space-between;
    }
    .site-header .site-header__actions {
        grid-column: 1;
        grid-row: 4;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 12px;
    }
}

/* Stable navigation weight on homepage and HTML-first pages. */
.site-header .primary-nav summary { font-weight: 500; }


/* PROTOTYPE: persistent left navigation on wide screens, compact launcher on
   smaller screens. Reuses the canonical header, links, tools and library palette.
   The reading column, article content and map/equalizer dialogs are unchanged. */
@media (min-width: 981px) {
  html[data-sidebar-ready="true"] {
    --sidebar-open: 248px;
    --sidebar-rail: 66px;
    --sidebar-reserved: var(--sidebar-open);
  }
  html[data-sidebar-ready="true"][data-sidebar-pinned="false"] {
    --sidebar-reserved: var(--sidebar-rail);
  }
  html[data-sidebar-ready="true"] body {
    padding-inline-start: var(--sidebar-reserved);
    transition: none;
  }
  html[data-sidebar-ready="true"] .site-header,
  html[data-sidebar-ready="true"] .site-header.is-scrolled {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--sidebar-open);
    height: 100dvh;
    z-index: 65;
    background: linear-gradient(175deg, #102343f5, #172c50f4 72%, #182d52f8);
    border: 0;
    border-inline-end: 1px solid var(--line-strong);
    box-shadow: 6px 0 24px #09162946;
    transition: none;
  }
  html[data-sidebar-ready="true"][data-sidebar-pinned="false"] .site-header {
    width: var(--sidebar-rail);
  }
  html[data-sidebar-ready="true"][data-sidebar-pinned="false"] .site-header.sidebar-peeking {
    width: var(--sidebar-open);
    box-shadow: 8px 0 30px #050f2773;
  }
  html[data-sidebar-ready="true"] .site-header .shell {
    width: 100%;
    max-width: none;
    margin: 0;
  }
  html[data-sidebar-ready="true"] .site-header .site-header__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    width: 100%;
    height: 100dvh;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 23px 13px 20px;
    scrollbar-width: thin;
    scrollbar-color: #6378984f transparent;
  }
  html[data-sidebar-ready="true"] .site-header__identity {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: flex-start;
    align-self: auto;
    padding: 0 6px 5px;
    gap: 0;
    white-space: nowrap;
  }
  html[data-sidebar-ready="true"] .site-header .brand {
    display: flex;
    width: max-content;
    align-items: baseline;
    gap: 7px;
    font-weight: 750;
  }
  html[data-sidebar-ready="true"] .site-header .brand__ai,
  html[data-sidebar-ready="true"] .site-header .brand__text {
    font-size: 25px;
    line-height: 1.3;
  }
  html[data-sidebar-ready="true"] .site-header__definition { display: none; }
  html[data-sidebar-ready="true"] .site-header .sidebar-toggle {
    order: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 44px;
    margin: 5px 0 11px;
    padding: 0 11px;
    border: 1px solid #b7c6db34;
    border-radius: 8px;
    background: #29436455;
    color: var(--link);
    cursor: pointer;
    font: 400 16px/1.4 Manrope, Arial, sans-serif;
    white-space: nowrap;
  }
  html[data-sidebar-ready="true"] .sidebar-toggle__symbol {
    display: grid;
    place-items: center;
    flex: 0 0 19px;
    font: 400 25px/1 Georgia, serif;
  }
  html[data-sidebar-ready="true"] .site-header .primary-nav {
    order: 2;
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: stretch;
    justify-content: flex-start;
    align-self: auto;
    gap: 2px;
    flex-wrap: nowrap;
    margin: 0;
    padding: 0;
  }
  html[data-sidebar-ready="true"] .site-header .primary-nav__group {
    position: relative;
    width: 100%;
    min-width: 0;
  }
  html[data-sidebar-ready="true"] .site-header .primary-nav summary {
    min-height: 44px;
    padding: 8px 12px;
    justify-content: flex-start;
    gap: 13px;
    font-size: 16px;
    font-weight: 500;
    border-radius: 7px;
    white-space: nowrap;
  }
  html[data-sidebar-ready="true"] .site-header .primary-nav summary:hover,
  html[data-sidebar-ready="true"] .site-header .primary-nav__group[open] summary {
    background: #e4ba6a12;
    color: var(--link);
  }
  html[data-sidebar-ready="true"] .sidebar-nav-emblem {
    display: inline-block;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    color: var(--gold);
    background: currentColor;
    mask: var(--sidebar-icon) center / contain no-repeat;
  }
  html[data-sidebar-ready="true"] .primary-nav__group--benefits { --sidebar-icon: url('../assets/icons/compass.svg'); }
  html[data-sidebar-ready="true"] .primary-nav__group--learning { --sidebar-icon: url('../assets/icons/graduation-cap.svg'); }
  html[data-sidebar-ready="true"] .primary-nav__group--business { --sidebar-icon: url('../assets/icons/briefcase-business.svg'); }
  html[data-sidebar-ready="true"] .primary-nav__group--materials { --sidebar-icon: url('../assets/icons/file-text.svg'); }
  html[data-sidebar-ready="true"] .site-header .primary-nav summary .ui-icon--chevron-down {
    margin-inline-start: auto;
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
  }
  html[data-sidebar-ready="true"] .site-header .primary-nav__panel,
  html[data-sidebar-ready="true"] .site-header .primary-nav__group--business .primary-nav__panel,
  html[data-sidebar-ready="true"] .site-header .primary-nav__group--materials .primary-nav__panel {
    position: static;
    inset: auto;
    width: 100%;
    max-width: none;
    margin: 3px 0 7px;
    padding: 5px;
    border: 1px solid #b7c6db30;
    box-shadow: none;
    background: #0b1e3ad9;
    border-radius: 8px;
  }
  html[data-sidebar-ready="true"] .site-header .primary-nav__panel a,
  html[data-sidebar-ready="true"] .site-header .primary-nav__information {
    white-space: normal;
    overflow-wrap: break-word;
    font-size: 16px;
    line-height: 1.5;
    padding: 8px;
    min-height: 44px;
  }
  html[data-sidebar-ready="true"] .site-header .site-header__service {
    order: 3;
    display: flex;
    flex-direction: column-reverse;
    flex: 0 0 auto;
    align-items: stretch;
    gap: 12px;
    width: 100%;
    margin-block-start: auto;
    padding: 14px 0 0;
    border: 0;
    border-top: 1px solid #e4ba6a42;
  }
  html[data-sidebar-ready="true"] .site-header .site-header__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    align-self: auto;
    gap: 4px;
    width: 100%;
    padding: 0;
    border: 0;
  }
  html[data-sidebar-ready="true"] .site-header .header-action {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-height: 44px;
    width: 100%;
    gap: 13px;
    padding: 7px 12px;
    border-radius: 7px;
    text-align: left;
    font-size: 16px;
    white-space: nowrap;
  }
  html[data-sidebar-ready="true"] .site-header .header-action:hover { background: #e4ba6a12; }
  html[data-sidebar-ready="true"] .site-header .header-action .ui-icon { flex: 0 0 20px; }
  html[data-sidebar-ready="true"] .site-header .site-header__motto {
    display: block;
    align-self: auto;
    margin: 0;
    padding: 0 8px;
    font: italic 400 23px/1.18 'Forum', Georgia, serif;
    color: var(--gold);
    inline-size: min-content;
    white-space: normal;
  }
  html[data-sidebar-ready="true"][data-sidebar-pinned="false"] .site-header:not(.sidebar-peeking) .brand__text,
  html[data-sidebar-ready="true"][data-sidebar-pinned="false"] .site-header:not(.sidebar-peeking) .sidebar-toggle__label,
  html[data-sidebar-ready="true"][data-sidebar-pinned="false"] .site-header:not(.sidebar-peeking) .sidebar-nav-label,
  html[data-sidebar-ready="true"][data-sidebar-pinned="false"] .site-header:not(.sidebar-peeking) .primary-nav summary .ui-icon--chevron-down,
  html[data-sidebar-ready="true"][data-sidebar-pinned="false"] .site-header:not(.sidebar-peeking) .primary-nav__panel,
  html[data-sidebar-ready="true"][data-sidebar-pinned="false"] .site-header:not(.sidebar-peeking) .header-action > span:last-child,
  html[data-sidebar-ready="true"][data-sidebar-pinned="false"] .site-header:not(.sidebar-peeking) .site-header__motto {
    display: none !important;
  }
  html[data-sidebar-ready="true"][data-sidebar-pinned="false"] .site-header:not(.sidebar-peeking) .site-header__identity { padding-inline: 3px; }
  html[data-sidebar-ready="true"][data-sidebar-pinned="false"] .site-header:not(.sidebar-peeking) .site-header__inner { padding-inline: 8px; }
  html[data-sidebar-ready="true"][data-sidebar-pinned="false"] .site-header:not(.sidebar-peeking) .sidebar-toggle { justify-content: center; padding-inline: 0; }
  html[data-sidebar-ready="true"][data-sidebar-pinned="false"] .site-header:not(.sidebar-peeking) .primary-nav summary,
  html[data-sidebar-ready="true"][data-sidebar-pinned="false"] .site-header:not(.sidebar-peeking) .header-action {
    justify-content: center;
    padding-inline: 0;
  }
  html[data-sidebar-ready="true"][data-sidebar-pinned="false"] .site-header:not(.sidebar-peeking) .site-header__service { border-top: 1px solid #e4ba6a42; }
  html[data-sidebar-ready="true"] .internal-layout[data-toc-mode="expanded"] .internal-sidebar,
  html[data-sidebar-ready="true"] .internal-layout[data-toc-mode="rail"] .internal-sidebar { top: 1rem; }
}
@media (max-width: 980px) {
  html[data-sidebar-ready="true"] .site-header,
  html[data-sidebar-ready="true"] .site-header.is-scrolled {
    position: sticky;
    inset: 0 auto auto 0;
    z-index: 65;
    max-height: 100dvh;
    overflow-y: auto;
  }
  html[data-sidebar-ready="true"] .site-header .site-header__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 53px;
    grid-template-rows: auto;
    gap: 6px 10px;
    align-items: center;
    padding: 10px 0;
    min-height: 0;
  }
  html[data-sidebar-ready="true"] .site-header .site-header__identity {
    grid-column: 1; grid-row: 1; min-width: 0;
    align-self: center;
  }
  html[data-sidebar-ready="true"] .site-header .site-header__definition { display: none; }
  html[data-sidebar-ready="true"] .site-header .sidebar-toggle {
    grid-column: 2; grid-row: 1;
    display: grid; place-items: center;
    min-height: 44px; min-width: 44px;
    margin: 0; padding: 0;
    border-radius: 8px;
    border: 1px solid var(--line-strong);
    background: #243e64;
    color: var(--gold);
  }
  html[data-sidebar-ready="true"] .sidebar-toggle__symbol { font-size: 22px; line-height: 1; }
  html[data-sidebar-ready="true"] .sidebar-toggle__label { display: none; }
  html[data-sidebar-ready="true"] .site-header .primary-nav,
  html[data-sidebar-ready="true"] .site-header .site-header__service { display: none; }
  html[data-sidebar-ready="true"][data-sidebar-mobile-open="true"] .site-header .primary-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 3px;
    padding-block: 9px;
    border-top: 1px solid var(--line-strong);
  }
  html[data-sidebar-ready="true"] .site-header .primary-nav__group { width: 100%; }
  html[data-sidebar-ready="true"] .site-header .primary-nav summary {
    min-height: 44px;
    padding: 8px 6px;
    gap: 12px;
    justify-content: flex-start;
    font-size: 16px;
  }
  html[data-sidebar-ready="true"] .site-header .sidebar-nav-emblem {
    display: inline-block;
    background: currentColor;
    mask: var(--sidebar-icon) center / contain no-repeat;
    color: var(--gold);
    width: 20px; height: 20px;
  }
  html[data-sidebar-ready="true"] .primary-nav__group--benefits { --sidebar-icon: url('../assets/icons/compass.svg'); }
  html[data-sidebar-ready="true"] .primary-nav__group--learning { --sidebar-icon: url('../assets/icons/graduation-cap.svg'); }
  html[data-sidebar-ready="true"] .primary-nav__group--business { --sidebar-icon: url('../assets/icons/briefcase-business.svg'); }
  html[data-sidebar-ready="true"] .primary-nav__group--materials { --sidebar-icon: url('../assets/icons/file-text.svg'); }
  html[data-sidebar-ready="true"] .site-header .primary-nav__panel,
  html[data-sidebar-ready="true"] .site-header .primary-nav__group--business .primary-nav__panel,
  html[data-sidebar-ready="true"] .site-header .primary-nav__group--materials .primary-nav__panel {
    position: static; width: 100%; max-width: none;
    margin: 0 0 8px; padding: 6px;
    background: #102646;
  }
  html[data-sidebar-ready="true"][data-sidebar-mobile-open="true"] .site-header .site-header__service {
    grid-column: 1/-1;
    grid-row: 3;
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 4px;
    padding: 10px 0;
    border: 0;
    border-top: 1px solid var(--line-strong);
  }
  html[data-sidebar-ready="true"] .site-header .site-header__motto { font: 400 16px/1.5 Manrope, Arial, sans-serif; margin: 8px 0; white-space: normal; }
  html[data-sidebar-ready="true"] .site-header .site-header__actions { display: flex; flex-wrap: wrap; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-sidebar-ready="true"] body,
  html[data-sidebar-ready="true"] .site-header { transition: none !important; }
}

/* Initial state is established before paint; user actions retain transitions. */
/* Match the existing fallback to Forum's natural x-height, 420/1000.
   Loaded Forum stays unchanged; no additional fallback face is loaded. */
.hero .home-head h1 { font-size-adjust: .42; }
/* Manrope's natural ex-height is 1080/2000; its loaded size is unchanged. */
.hero .home-intro .home-intro__welcome,
.hero .home-equalizer p { font-size-adjust: .54; }
.sidebar-toggle { display: none; }
html[data-sidebar-ready="true"] .sidebar-toggle { display: flex; }
html[data-sidebar-ready="true"] .sidebar-toggle__symbol::before { content: '‹'; }
html[data-sidebar-pinned="false"] .sidebar-toggle__symbol::before { content: '›'; }
@media (min-width: 981px) {
  html[data-sidebar-interactive="true"] body { transition: padding-inline-start 180ms ease; }
  html[data-sidebar-interactive="true"] .site-header { transition: width 180ms ease; }
}
@media (max-width: 980px) {
  html[data-sidebar-ready="true"] .site-header .sidebar-toggle { display: grid; }
  html[data-sidebar-ready="true"] .sidebar-toggle__symbol::before { content: '☰'; }
  html[data-sidebar-mobile-open="true"] .sidebar-toggle__symbol::before { content: '×'; }
}

/* QA19: same 25px/35px Manrope logo metrics across home and inner pages. */
@media (max-width: 980px) {
  html[data-sidebar-ready="true"] .site-header .brand__ai,
  html[data-sidebar-ready="true"] .site-header .brand__text {
    font-size: 25px;
    line-height: 1.4;
  }
}

/* W14: Blog is an ordinary fifth link, not a disclosure. */
.primary-nav__direct { display:flex;align-items:center;gap:6px;min-height:44px;padding:10px 0;color:inherit;text-decoration:none;font-size:16px;font-weight:650;white-space:nowrap }
.primary-nav__direct:hover,.primary-nav__direct[aria-current="page"]{color:var(--link)}
html[data-sidebar-ready="true"] .primary-nav__group--blog { --sidebar-icon:url('../assets/icons/book-open.svg'); }
@media(min-width:981px){
html[data-sidebar-ready="true"] .site-header .primary-nav__direct{display:flex;align-items:center;gap:13px;padding:10px 12px;min-height:44px;border-radius:7px;width:100%}
html[data-sidebar-ready="true"][data-sidebar-pinned="false"] .site-header:not(.sidebar-peeking) .primary-nav__direct{justify-content:center;padding-inline:0}
html[data-sidebar-ready="true"][data-sidebar-pinned="false"] .site-header:not(.sidebar-peeking) .primary-nav__direct .sidebar-nav-label{display:none!important}
html[data-sidebar-ready="true"] .site-header .primary-nav__direct:hover{background:#e4ba6a12}}
@media(max-width:980px){html[data-sidebar-ready="true"] .site-header .primary-nav__direct{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 6px;font-size:16px;border-radius:7px}}
