:root {
    --ink: #17202a;
    --muted: #64727f;
    --paper: #f8f6f1;
    --surface: #ffffff;
    --accent: #8a5b38;
    --accent-dark: #603c25;
    --line: #e2ddd4;
    --content: 76rem;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ink);
    background: var(--paper);
}

:root[data-theme="dark"] {
    --ink: #e8e4dc;
    --muted: #aab4be;
    --paper: #0f141a;
    --surface: #182029;
    --accent: #d2a16f;
    --accent-dark: #efc18d;
    --line: #35414c;
    color-scheme: dark;
}

* { box-sizing: border-box; }
body { margin: 0; line-height: 1.6; }
a { color: inherit; }
img { display: block; max-width: 100%; }

.site-header { background: #05080d; color: #f6f3ed; }
.banner { background: #000; border-bottom: 1px solid rgba(255, 255, 255, .12); display: block; overflow: hidden; }
.banner img { height: auto; margin: 0 auto; width: min(100%, 80rem); }
.navigation-shell { align-items: center; display: grid; gap: 2rem; grid-template-columns: auto 1fr auto; margin: 0 auto; max-width: var(--content); padding: 1.05rem 2rem; }
.brand { align-items: center; color: #fff; display: flex; font-family: Georgia, serif; font-size: 1.35rem; font-weight: 700; gap: .55rem; text-decoration: none; }
.brand-mark { color: #c99863; font-size: 1rem; }
.desktop-navigation { align-items: center; display: flex; gap: clamp(.75rem, 2.2vw, 1.8rem); justify-content: center; }
.desktop-navigation .nav-direct, .nav-menu > summary { color: #cbd0d5; cursor: pointer; font-size: .82rem; font-weight: 700; letter-spacing: .065em; list-style: none; text-decoration: none; text-transform: uppercase; }
.desktop-navigation .nav-direct:hover, .nav-menu > summary:hover, .nav-menu[open] > summary { color: #fff; }
.nav-menu { position: relative; }
.nav-menu > summary::-webkit-details-marker { display: none; }
.nav-menu > summary span { color: #c99863; display: inline-block; font-size: 1rem; margin-left: .4rem; transition: transform .18s ease; }
.nav-menu[open] > summary span { transform: rotate(180deg); }
.submenu { background: #111821; border: 1px solid #303944; border-radius: .55rem; box-shadow: 0 18px 45px rgba(0, 0, 0, .4); display: grid; left: -.8rem; min-width: 14rem; padding: .55rem; position: absolute; top: calc(100% + .9rem); z-index: 10; }
.submenu::before { content: ""; height: 1rem; left: 0; position: absolute; right: 0; top: -1rem; }
.submenu-wide { min-width: 20rem; }
.submenu a { border-radius: .3rem; color: #cbd0d5; font-size: .84rem; padding: .55rem .7rem; text-decoration: none; }
.submenu a:hover, .submenu a:focus-visible { background: #202b37; color: #fff; outline: none; }
.language-switcher { align-items: center; color: #68737e; display: flex; font-size: .82rem; gap: .5rem; }
.language-switcher a { color: #aeb7bf; text-decoration: none; }
.language-switcher a[aria-current="page"] { color: #e2b786; font-weight: 800; }
.header-utilities { align-items: center; display: flex; gap: .9rem; justify-content: flex-end; }
.theme-toggle { align-items: center; background: #111821; border: 1px solid #3a4652; border-radius: 999px; color: #e2b786; cursor: pointer; display: inline-flex; font: inherit; font-size: .74rem; font-weight: 800; gap: .38rem; min-height: 2.1rem; padding: .35rem .7rem; }
.theme-toggle:hover, .theme-toggle:focus-visible { background: #202b37; border-color: #68737e; color: #fff; outline: none; }
.theme-toggle-icon { font-size: 1rem; line-height: 1; }
.mobile-navigation { display: none; position: relative; }
.mobile-navigation summary { cursor: pointer; display: grid; gap: 4px; list-style: none; padding: .5rem; }
.mobile-navigation summary::-webkit-details-marker { display: none; }
.mobile-navigation summary span { background: white; display: block; height: 2px; width: 22px; }
.mobile-navigation > nav { background: #111821; border: 1px solid #303944; border-radius: .5rem; display: grid; max-height: min(72vh, 36rem); min-width: min(19rem, calc(100vw - 2rem)); overflow-y: auto; padding: .7rem; position: absolute; right: 0; top: 2.5rem; z-index: 15; }
.mobile-navigation nav details { border-bottom: 1px solid #303944; padding: .25rem 0; }
.mobile-navigation nav details > summary { color: #fff; cursor: pointer; font-size: .85rem; font-weight: 800; letter-spacing: .05em; list-style: none; padding: .6rem .5rem; text-transform: uppercase; }
.mobile-navigation nav details > summary::after { color: #c99863; content: "+"; float: right; }
.mobile-navigation nav details[open] > summary::after { content: "−"; }
.mobile-navigation nav details > summary::-webkit-details-marker { display: none; }
.mobile-navigation nav a { color: #cbd0d5; display: block; font-size: .9rem; padding: .45rem .8rem; text-decoration: none; }
.mobile-navigation nav a:hover { color: #fff; }
.mobile-navigation .mobile-direct { border-bottom: 1px solid #303944; color: #fff; font-size: .85rem; font-weight: 800; letter-spacing: .05em; padding: .85rem .5rem; text-transform: uppercase; }
.mobile-navigation .mobile-languages { padding: .7rem .5rem .35rem; }
.mobile-navigation .mobile-languages a { display: inline; padding: 0; }
.search-strip { align-items: center; border-top: 1px solid rgba(255, 255, 255, .08); display: grid; gap: .5rem 1rem; grid-template-columns: minmax(0, 46rem) auto; justify-content: center; padding: .85rem 2rem 1rem; }
.site-search { align-items: center; background: #fff; border: 1px solid transparent; border-radius: 999px; color: #5c6874; display: flex; overflow: hidden; padding-left: 1rem; transition: box-shadow .2s, border-color .2s; }
.site-search:focus-within { border-color: #d8aa75; box-shadow: 0 0 0 4px rgba(216, 170, 117, .2); }
.site-search input { background: transparent; border: 0; color: var(--ink); flex: 1; font: inherit; min-width: 0; outline: none; padding: .75rem .7rem; }
.site-search button { align-self: stretch; background: #9a663c; border: 0; color: #fff; cursor: pointer; font: inherit; font-size: .86rem; font-weight: 800; padding: 0 1.4rem; }
.site-search button:hover { background: #774b2c; }
.search-strip > p { color: #8e9aa5; font-size: .76rem; margin: 0; }
.search-history { grid-column: 1 / -1; justify-self: center; position: relative; }
.search-history > summary { color: #c99863; cursor: pointer; font-size: .75rem; font-weight: 750; list-style: none; text-align: center; }
.search-history > summary::-webkit-details-marker { display: none; }
.search-history > summary::before { content: "▸ "; }
.search-history[open] > summary::before { content: "▾ "; }
.search-history-panel { background: #111821; border: 1px solid #303944; border-radius: .55rem; box-shadow: 0 12px 30px rgba(0, 0, 0, .35); left: 50%; min-width: min(32rem, calc(100vw - 2rem)); padding: .6rem; position: absolute; top: calc(100% + .45rem); transform: translateX(-50%); z-index: 30; }
.search-history-panel ul { list-style: none; margin: 0; padding: 0; }
.search-history-panel li { align-items: center; border-bottom: 1px solid #293542; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; }
.search-history-panel li:last-child { border-bottom: 0; }
.search-history-panel button, .search-history-panel a { background: transparent; border: 0; color: #cbd0d5; cursor: pointer; font: inherit; padding: .48rem .6rem; text-decoration: none; }
.search-history-panel .history-query { overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.search-history-panel .history-query:hover, .search-history-panel .history-query:focus-visible { color: #fff; }
.search-history-panel .history-run { color: #e2b786; }
.search-history-panel .history-remove { color: #9eabb6; font-size: 1.1rem; }
#search-history-clear { border-top: 1px solid #3a4652; color: #c99863; display: block; font-size: .72rem; margin-top: .35rem; text-align: center; width: 100%; }
.visually-hidden { height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; clip: rect(0 0 0 0); white-space: nowrap; }

.hero { margin: 4rem auto 2.5rem; max-width: 54rem; padding: 0 2rem; text-align: center; }
.hero h1, .transcript-heading h1 { font-family: Georgia, serif; font-size: clamp(2.2rem, 5.5vw, 4.25rem); letter-spacing: -.035em; line-height: 1.08; margin: .3rem 0 1rem; }
.hero > p:last-child { color: var(--muted); font-size: 1.15rem; }
.eyebrow { color: var(--accent); font-size: .75rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }

.catalogue { margin: 0 auto; max-width: var(--content); padding: 0 2rem 5rem; }
.transcript-introduction { margin: 0 auto 2.5rem; max-width: 54rem; }
.transcript-information { background: var(--surface); border: 1px solid var(--line); border-radius: .75rem; overflow: hidden; }
.transcript-information > summary { align-items: center; cursor: pointer; display: flex; font-family: Georgia, serif; font-size: 1.12rem; font-weight: 700; gap: .7rem; list-style: none; padding: 1rem 1.25rem; }
.transcript-information > summary::-webkit-details-marker { display: none; }
.transcript-information > summary::before { color: var(--accent); content: "▸"; }
.transcript-information[open] > summary::before { content: "▾"; }
.transcript-information > summary > span:first-child { flex: 1; }
.information-hint { color: var(--muted); font-family: Inter, sans-serif; font-size: .72rem; font-weight: 650; }
.transcript-information-body { border-top: 1px solid var(--line); padding: 1.15rem 1.35rem 1.35rem; }
.information-actions { display: flex; justify-content: flex-end; margin-bottom: .7rem; }
.information-actions button { align-items: center; background: transparent; border: 0; color: var(--muted); cursor: pointer; display: inline-flex; font: inherit; font-size: .78rem; font-weight: 700; gap: .4rem; padding: .25rem .1rem; }
.information-actions button:hover, .information-actions button:focus-visible { color: var(--accent-dark); }
.information-actions button span { font-size: 1.2rem; font-weight: 400; line-height: .7; }
.transcript-intro-copy { color: #44515c; font-size: 1.02rem; }
.transcript-intro-copy p:first-child { margin-top: 0; }
.transcript-disclaimer { background: #fff5dd; border: 1px solid #e8cf91; border-left: 5px solid #c2822d; border-radius: .55rem; color: #503817; font-family: Georgia, serif; font-size: 1.12rem; line-height: 1.7; margin: 1.75rem 0; padding: 1.15rem 1.35rem; }
.transcript-disclaimer p { margin: 0; }
.transcript-legal-notice { background: #fff1ed; border: 2px solid #c85b47; border-radius: .75rem; box-shadow: 0 4px 14px rgba(112, 42, 29, .08); color: #53271e; padding: 1.4rem 1.6rem; }
.transcript-legal-notice h2 { border-bottom: 1px solid #e3ada2; color: #9c2f1e; font-size: 1.08rem; letter-spacing: .1em; margin: 0 0 .85rem; padding-bottom: .65rem; text-transform: uppercase; }
.transcript-legal-notice p { margin: .7rem 0 0; }
.transcript-legal-notice .legal-credit { font-size: 1.02rem; }
.author-disclaimer { background: #f4f7fa; border: 1px solid #c9d4df; border-left: 5px solid #617b94; border-radius: .55rem; color: #273b4d; margin: 1.2rem 0; padding: 1.15rem 1.35rem; }
.author-disclaimer h2 { font-size: 1rem; letter-spacing: .06em; margin: 0 0 .55rem; text-transform: uppercase; }
.author-disclaimer p { margin: 0; }
.author-disclaimer-warning { background: #fff5dd; border-color: #e8cf91; border-left-color: #c2822d; color: #503817; }
.author-disclaimer-legal { background: #fff1ed; border-color: #e3ada2; border-left-color: #c85b47; color: #53271e; }
.transcript-toc { background: var(--surface); border: 1px solid var(--line); border-radius: .75rem; margin: 0 auto 2rem; max-width: 54rem; overflow: hidden; }
.transcript-toc > summary { align-items: center; cursor: pointer; display: flex; font-family: Georgia, serif; font-size: 1.25rem; font-weight: 700; justify-content: space-between; list-style: none; padding: 1rem 1.25rem; }
.transcript-toc > summary::-webkit-details-marker { display: none; }
.transcript-toc > summary::before { color: var(--accent); content: "▸"; margin-right: .7rem; }
.transcript-toc[open] > summary::before { content: "▾"; }
.transcript-toc > summary > span:first-child { flex: 1; }
.toc-count { background: var(--paper); border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-family: Inter, sans-serif; font-size: .75rem; padding: .15rem .55rem; }
.toc-body { border-top: 1px solid var(--line); padding: 1.25rem; }
.toc-tools { align-items: end; display: flex; gap: 1rem; justify-content: space-between; }
.toc-search { flex: 1; }
.toc-search input { background: var(--paper); border: 1px solid var(--line); border-radius: .45rem; font: inherit; padding: .65rem .8rem; width: 100%; }
.toc-page-size { color: var(--muted); display: grid; font-size: .75rem; font-weight: 700; gap: .25rem; }
.toc-list { margin: 1.25rem 0; max-height: 30rem; overflow-y: auto; padding-left: 2.25rem; }
.toc-list li { border-bottom: 1px solid var(--line); padding: .55rem .4rem; }
.toc-list a { text-decoration: none; }
.toc-list a:hover { color: var(--accent); }
.toc-empty { color: var(--muted); margin: 1.5rem 0; text-align: center; }
.toc-pagination { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.toc-pagination button { background: var(--accent-dark); border: 0; border-radius: .4rem; color: #fff; cursor: pointer; font: inherit; font-weight: 700; padding: .5rem .8rem; }
.toc-pagination button:disabled { cursor: default; opacity: .4; }
.toc-pagination span { color: var(--muted); font-size: .82rem; text-align: center; }
.transcript-return-anchor { display: block; scroll-margin-top: 1.25rem; }
.filters { align-items: end; border-bottom: 1px solid var(--line); display: flex; gap: 1rem; justify-content: flex-end; margin-bottom: 2rem; padding-bottom: 1rem; }
.filters label { color: var(--muted); display: grid; font-size: .8rem; font-weight: 700; gap: .3rem; }
select { background: var(--surface); border: 1px solid var(--line); border-radius: .45rem; color: var(--ink); font: inherit; padding: .55rem 2rem .55rem .7rem; }

.card-grid { display: grid; gap: 1.4rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.transcript-card { background: var(--surface); border: 1px solid var(--line); border-radius: .8rem; display: flex; flex-direction: column; overflow: hidden; }
.transcript-card > img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.card-body { display: flex; flex: 1; flex-direction: column; padding: 1.3rem; }
.card-body h2 { font-family: Georgia, serif; font-size: 1.4rem; line-height: 1.25; margin: .35rem 0 .7rem; }
.card-body > p:not(.meta) { color: var(--muted); font-size: .92rem; }
.meta { color: var(--accent); font-size: .72rem; font-weight: 700; letter-spacing: .05em; margin: 0; text-transform: uppercase; }
.card-link { color: var(--accent-dark); font-weight: 750; margin-top: auto; padding-top: .6rem; text-decoration: none; }

.pagination { display: flex; flex-wrap: wrap; gap: .35rem; justify-content: center; margin-top: 3rem; }
.pagination a, .pagination .current, .pagination .disabled { border: 1px solid var(--line); border-radius: .35rem; padding: .35rem .7rem; text-decoration: none; }
.pagination .current { background: var(--accent-dark); color: white; }
.pagination .disabled { color: #aaa; }

.transcript { margin: 0 auto; max-width: 54rem; padding: 3rem 2rem 6rem; scroll-margin-top: 1.25rem; }
.back-link { color: var(--accent-dark); font-weight: 700; text-decoration: none; }
.transcript-heading { border-bottom: 1px solid var(--line); margin: 3rem 0; padding-bottom: 2.5rem; }
.transcript-heading h1 { font-size: clamp(2.2rem, 5vw, 3.8rem); }
.transcript-heading time { color: var(--muted); }
.lead { color: #44515c; font-family: Georgia, serif; font-size: 1.25rem; line-height: 1.65; }
.primary-button { background: var(--accent-dark); border-radius: .4rem; color: white; display: inline-block; font-weight: 700; padding: .65rem 1rem; text-decoration: none; }
.prose { font-family: Georgia, serif; font-size: 1.08rem; line-height: 1.85; }
.prose img { height: auto; margin: 2rem auto; }
.search-highlight { background: #ffe66d; border-radius: .15em; box-shadow: 0 0 0 .12em #ffe66d; color: #1d2228; padding: 0 .06em; }
.site-footer { background: #05080d; border-top: 4px solid #8a5b38; color: #aeb7bf; padding: 0; }
.footer-shell { display: grid; gap: clamp(2rem, 5vw, 5rem); grid-template-columns: minmax(15rem, 1.6fr) repeat(3, minmax(8rem, 1fr)); margin: 0 auto; max-width: var(--content); padding: 4.5rem 2rem 3.5rem; }
.footer-intro { max-width: 25rem; }
.footer-brand { color: #fff; display: inline-block; font-family: Georgia, serif; font-size: 1.8rem; font-weight: 700; margin-bottom: 1rem; text-decoration: none; }
.footer-brand span { color: #c99863; font-size: 1rem; margin-right: .35rem; }
.footer-intro p { margin: .6rem 0; }
.footer-intro .footer-welcome { color: #e2b786; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.footer-column { align-content: start; display: grid; gap: .55rem; }
.footer-column h2 { color: #fff; font-size: .76rem; letter-spacing: .12em; margin: .2rem 0 .65rem; text-transform: uppercase; }
.footer-column a { color: #aeb7bf; font-size: .88rem; text-decoration: none; }
.footer-column a:hover, .footer-column a:focus-visible { color: #e2b786; }
.footer-bottom { align-items: center; border-top: 1px solid #29313a; display: flex; flex-wrap: wrap; gap: .75rem 2rem; justify-content: space-between; margin: 0 auto; max-width: var(--content); padding: 1.4rem 2rem 1.7rem; }
.footer-bottom p { font-size: .76rem; margin: 0; }
.footer-bottom strong { color: #fff; }
.footer-languages { display: flex; font-size: .78rem; gap: .55rem; }
.footer-languages a { color: #c99863; text-decoration: none; }
.cookie-notice { align-items: center; background: linear-gradient(135deg, #111821, #202b37); border-top: 3px solid #c99863; bottom: 0; box-shadow: 0 -10px 35px rgba(0, 0, 0, .38); color: #f5f1eb; display: flex; flex-direction: column; gap: .8rem; justify-content: center; left: 0; padding: 1rem 1.25rem 1.1rem; position: fixed; right: 0; text-align: center; width: 100%; z-index: 1000; }
.cookie-notice[hidden] { display: none; }
.cookie-notice p { font-size: .86rem; line-height: 1.45; margin: 0; max-width: 44rem; }
.cookie-actions { display: flex; gap: .7rem; justify-content: center; }
.cookie-actions button { background: transparent; border: 2px solid #c99863; border-radius: 999px; color: #f1c999; cursor: pointer; font: inherit; font-size: .8rem; font-weight: 800; min-width: 7rem; padding: .5rem 1.1rem; transition: background .15s, color .15s, transform .15s; }
.cookie-actions button:hover, .cookie-actions button:focus-visible { background: rgba(201, 152, 99, .14); color: #fff; outline: none; transform: translateY(-1px); }
.cookie-actions .cookie-accept { background: #c0824d; border-color: #c0824d; color: #fff; }
.cookie-actions .cookie-accept:hover, .cookie-actions .cookie-accept:focus-visible { background: #d2955f; border-color: #d2955f; }
.search-page { margin: 0 auto; max-width: 54rem; min-height: 28rem; padding: 4rem 2rem 6rem; }
.search-page > h1 { font-family: Georgia, serif; font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1.1; margin: .4rem 0 1rem; }
.search-page > p:not(.eyebrow) { color: var(--muted); font-size: 1.08rem; }
.search-results { border-top: 1px solid var(--line); margin-top: 2.5rem; }
.search-results article { border-bottom: 1px solid var(--line); padding: 1.5rem 0; }
.search-results h2 { font-family: Georgia, serif; font-size: 1.5rem; line-height: 1.25; margin: .35rem 0; }
.search-results h2 a { text-decoration: none; }
.search-results h2 a:hover { color: var(--accent); }
.search-results article > p:last-child { color: var(--muted); margin-bottom: 0; }
.empty-state { background: var(--surface); border: 1px solid var(--line); border-radius: .75rem; margin-top: 2.5rem; padding: 2rem; }
.ai-answer { background: #111821; border: 1px solid #303944; border-radius: .9rem; color: #e9edf0; margin: 2.5rem 0; padding: clamp(1.4rem, 4vw, 2.3rem); }
.ai-answer h2 { color: #fff; font-family: Georgia, serif; font-size: 2rem; margin: .25rem 0 1rem; }
.ai-answer h3 { color: #fff; font-size: .82rem; letter-spacing: .08em; margin-top: 1.8rem; text-transform: uppercase; }
.ai-label { color: #e2b786; font-size: .74rem; font-weight: 800; letter-spacing: .1em; margin: 0; text-transform: uppercase; }
.ai-answer-copy { line-height: 1.75; }
.ai-answer ol { padding-left: 1.4rem; }
.ai-answer a { color: #e2b786; }
.ai-disclaimer { border-top: 1px solid #303944; color: #9eabb6; font-size: .78rem; margin: 1.5rem 0 0; padding-top: 1rem; }
.ai-status { background: #fff5dd; border-left: 4px solid #c2822d; color: #503817; padding: .8rem 1rem; }
.compact-hero { margin-bottom: 2rem; }
.article-list { background: var(--surface); border: 1px solid var(--line); border-radius: .8rem; overflow: hidden; }
.article-preview { border-bottom: 1px solid var(--line); padding: 1.7rem 2rem; }
.article-preview:last-child { border-bottom: 0; }
.article-preview h2 { font-family: Georgia, serif; font-size: 1.65rem; line-height: 1.25; margin: .35rem 0 .55rem; }
.article-preview h2 a { text-decoration: none; }
.article-preview h2 a:hover { color: var(--accent); }
.article-preview > p:not(.meta) { color: var(--muted); }
.profile-page { margin: 0 auto; max-width: 64rem; padding: 4rem 2rem 6rem; }
.profile-card { align-items: start; background: var(--surface); border: 1px solid var(--line); border-radius: 1rem; display: grid; grid-template-columns: minmax(16rem, 42%) 1fr; overflow: hidden; }
.profile-portrait { background: #0a0e13; min-height: 100%; }
.profile-portrait img { height: 100%; object-fit: cover; width: 100%; }
.profile-copy { padding: clamp(1.6rem, 4vw, 3rem); }
.profile-copy h1 { font-family: Georgia, serif; font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1.05; margin: .35rem 0 1.5rem; }
.profile-copy p { color: #44515c; }
.profile-notice { background: #fff5dd; border-left: 4px solid #c2822d; color: #503817; margin: 0 0 1.5rem; padding: 1rem; }
.team-context { border-top: 1px solid var(--line); margin-top: 2rem; padding-top: 2rem; }
.team-context .contact-statement { color: var(--accent-dark); font-size: .86rem; font-weight: 850; letter-spacing: .08em; margin: 1.5rem 0; text-align: center; }
.team-channels { border-top: 1px solid var(--line); margin-top: 2rem; padding-top: 2rem; }
.team-channels h2 { font-family: Georgia, serif; font-size: 1.45rem; line-height: 1.25; margin: 0 0 1.1rem; }
.team-channels ul { display: grid; gap: .55rem; list-style: none; margin: 0; padding: 0; }
.team-channels a { background: var(--paper); border: 1px solid var(--line); border-radius: .55rem; display: grid; padding: .75rem .9rem; text-decoration: none; transition: border-color .15s, transform .15s; }
.team-channels a:hover { border-color: #c99863; transform: translateY(-1px); }
.team-channels a strong { color: var(--accent-dark); }
.team-channels a span { color: var(--muted); font-size: .82rem; }
.extras-library { margin: 0 auto; max-width: 64rem; padding: 0 2rem 6rem; }
.extra-group { margin-bottom: 2.5rem; }
.extra-group > h2 { font-family: Georgia, serif; font-size: 1.8rem; }
.download-list { background: var(--surface); border: 1px solid var(--line); border-radius: .8rem; overflow: hidden; }
.download-list article { align-items: center; border-bottom: 1px solid var(--line); display: flex; gap: 1rem; justify-content: space-between; padding: 1.1rem 1.4rem; }
.download-list article:last-child { border-bottom: 0; }
.download-list h3, .download-list p { margin: 0; }
.download-list h3 { font-family: Georgia, serif; }
.download-list article div > p:last-child { color: var(--muted); font-size: .8rem; }

@media (max-width: 850px) { .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 850px) { .footer-shell { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
    .navigation-shell { gap: .7rem; grid-template-columns: 1fr auto auto; padding: .8rem 1rem; }
    .desktop-navigation, .language-switcher { display: none; }
    .header-utilities { gap: 0; }
    .theme-toggle-label { display: none; }
    .theme-toggle { justify-content: center; padding: .4rem; width: 2.1rem; }
    .mobile-navigation { display: block; }
    .search-strip { display: block; padding: .75rem 1rem 1rem; }
    .search-strip > p { margin: .5rem 0 0; text-align: center; }
    .search-history { margin-top: .45rem; }
    .site-search button { padding: 0 1rem; }
    .hero, .catalogue, .transcript { padding-left: 1rem; padding-right: 1rem; }
    .hero { margin-top: 2rem; }
    .filters { align-items: stretch; flex-direction: column; }
    .toc-tools { align-items: stretch; flex-direction: column; }
    .toc-pagination { gap: .5rem; }
    .toc-pagination button { padding: .45rem .6rem; }
    .card-grid { grid-template-columns: 1fr; }
    .profile-page, .extras-library { padding-left: 1rem; padding-right: 1rem; }
    .profile-card { grid-template-columns: 1fr; }
    .profile-portrait { max-height: 34rem; }
    .download-list article { align-items: flex-start; flex-direction: column; }
    .article-preview { padding: 1.3rem; }
    .footer-shell { grid-template-columns: 1fr 1fr; padding: 3rem 1rem 2.5rem; }
    .footer-intro { grid-column: 1 / -1; }
    .footer-column:last-child { grid-column: 1 / -1; }
    .footer-bottom { align-items: flex-start; flex-direction: column; padding: 1.3rem 1rem 1.6rem; }
    .cookie-notice { gap: .7rem; padding: .85rem .75rem calc(.9rem + env(safe-area-inset-bottom)); }
    .cookie-actions { justify-content: center; width: 100%; }
    .cookie-actions button { flex: 1; max-width: 9rem; }
}

@media (min-width: 561px) and (max-width: 900px) {
    .navigation-shell { gap: 1rem; grid-template-columns: auto 1fr; }
    .desktop-navigation { justify-content: end; }
    .header-utilities { grid-column: 1 / -1; justify-content: center; }
}
/* Database-managed editorial pages share the public reading rhythm. */
.managed-page { margin: 0 auto; max-width: 70rem; padding: clamp(2rem, 6vw, 5rem) clamp(1rem, 4vw, 2rem); }
.managed-page > header { border-bottom: 1px solid #d9d5ca; margin-bottom: 2rem; padding-bottom: 1.4rem; }
.managed-page > header p { color: #8a6543; font-size: .72rem; font-weight: 700; letter-spacing: .13em; margin: 0 0 .6rem; text-transform: uppercase; }
.managed-page > header h1 { font-family: Georgia, serif; font-size: clamp(2.2rem, 6vw, 4rem); font-weight: 400; margin: 0; }
.managed-page-body { color: #2f3b45; font-family: Georgia, serif; font-size: 1.08rem; line-height: 1.8; }
.managed-page-body h2 { font-size: 1.8rem; font-weight: 400; margin-top: 2.2rem; }
.managed-page-body h3 { font-size: 1.4rem; font-weight: 400; margin-top: 1.8rem; }
.managed-page-body a { color: #84572e; }
.managed-page-body blockquote { border-left: 3px solid #bd8752; color: #58636c; margin-left: 0; padding-left: 1rem; }
.managed-page-preview-flag { background: #fff1c9; border: 1px solid #e6ce86; border-radius: .4rem; color: #684f16; font-size: .76rem; font-weight: 700; margin-bottom: 1.2rem; padding: .65rem .8rem; }

:root[data-theme="dark"] .transcript-intro-copy,
:root[data-theme="dark"] .lead,
:root[data-theme="dark"] .profile-copy p,
:root[data-theme="dark"] .managed-page-body { color: #c0c8cf; }
:root[data-theme="dark"] .transcript-disclaimer,
:root[data-theme="dark"] .author-disclaimer-warning,
:root[data-theme="dark"] .profile-notice,
:root[data-theme="dark"] .ai-status { background: #302719; border-color: #806137; color: #f1d7a5; }
:root[data-theme="dark"] .transcript-legal-notice,
:root[data-theme="dark"] .author-disclaimer-legal { background: #301f20; border-color: #9b554a; color: #f2c9c1; }
:root[data-theme="dark"] .transcript-legal-notice h2 { border-color: #75443d; color: #f0a092; }
:root[data-theme="dark"] .author-disclaimer { background: #192630; border-color: #40586b; color: #cfdae3; }
:root[data-theme="dark"] .pagination .disabled { color: #77838e; }
:root[data-theme="dark"] .managed-page > header { border-color: var(--line); }
:root[data-theme="dark"] .managed-page > header p,
:root[data-theme="dark"] .managed-page-body a { color: var(--accent); }
:root[data-theme="dark"] .managed-page-body blockquote { border-color: var(--accent); color: var(--muted); }
:root[data-theme="dark"] .managed-page-preview-flag { background: #302719; border-color: #806137; color: #f1d7a5; }
:root[data-theme="dark"] .prose * { color: inherit !important; }
:root[data-theme="dark"] .prose a { color: var(--accent-dark) !important; }
:root[data-theme="dark"] .site-search { background: #f4f5f6; color: #5c6874; }
:root[data-theme="dark"] .site-search input { color: #17202a; }
