
@font-face { font-family: "Cormorant Garamond"; src: url("../assets/fonts/cormorant-garamond-500.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Cormorant Garamond"; src: url("../assets/fonts/cormorant-garamond-600.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../assets/fonts/inter-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../assets/fonts/inter-500.woff2") format("woff2"); font-weight: 500; font-display: swap; }

:root {
  --ink: #14231d;
  --green: #173e35;
  --green-dark: #0b2b24;
  --sage: #617066;
  --paper: #fbfaf6;
  --cream: #f3efe5;
  --gold: #aa8039;
  --gold-soft: #d9c79d;
  --line: #d9d3c5;
  --white: #fff;
  --background: var(--paper);
  --foreground: var(--ink);
  --primary: var(--green);
  --primary-foreground: #fff;
  --border: var(--line);
  --input: #cfc8b8;
  --ring: var(--gold);
  --radius: 0.15rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, Arial, sans-serif; font-size: 16px; line-height: 1.72; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .22em; }
a:hover { color: var(--gold); }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; top: 1rem; left: 1rem; transform: translateY(-200%); background: var(--white); padding: .7rem 1rem; border: 2px solid var(--gold); }
.skip-link:focus { transform: none; }

.site-header { background: rgba(251,250,246,.97); border-bottom: 1px solid var(--line); position: relative; z-index: 30; }
.header-inner { width: min(1280px, calc(100% - 2rem)); margin: auto; display: flex; align-items: center; justify-content: space-between; min-height: 88px; }
.brand { display: inline-flex; align-items: center; gap: .85rem; text-decoration: none; color: var(--green); }
.brand img { width: 54px; height: 54px; border: 1px solid var(--gold-soft); object-fit: cover; }
.brand span { display: grid; line-height: 1.05; text-transform: uppercase; letter-spacing: .13em; }
.brand strong { font: 600 1.25rem/1 "Cormorant Garamond", serif; letter-spacing: .08em; }
.brand small { margin-top: .35rem; font-size: .64rem; font-weight: 500; }
.utility-nav, .site-footer nav { display: flex; gap: 1.2rem; align-items: center; font-size: .8rem; text-transform: uppercase; letter-spacing: .09em; }
.utility-nav a { text-decoration: none; }
.search-link { border: 1px solid var(--green); padding: .52rem .8rem; }
.principal-nav { background: var(--green-dark); color: #f9f6ed; display: flex; justify-content: center; gap: clamp(.7rem, 2vw, 2rem); padding: .75rem 1rem; font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; overflow-x: auto; }
.principal-nav a { text-decoration: none; white-space: nowrap; }
.mobile-menu { display: none; }
.floating-menu-trigger { position: fixed; z-index: 90; top: 48%; right: 1rem; border: 1px solid var(--gold); background: var(--green-dark); color: #fff; padding: .75rem 1rem; font: 500 .68rem/1 Inter, sans-serif; letter-spacing: .16em; text-transform: uppercase; writing-mode: horizontal-tb; transform: translateY(-50%); cursor: pointer; box-shadow: 0 8px 24px rgba(11,43,36,.18); }
.floating-menu-trigger:hover { background: var(--gold); }
.floating-menu-panel { background: var(--paper); color: var(--ink); padding: 1.2rem; }
.floating-menu-panel [data-slot="sheet-title"] { color: var(--green); font: 600 2rem/1.05 "Cormorant Garamond", serif; }
.floating-menu-panel [data-slot="sheet-description"] { color: var(--sage); }
.floating-menu-panel nav { display: grid; margin-top: .8rem; border-top: 1px solid var(--line); }
.floating-menu-panel nav a { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem .2rem; border-bottom: 1px solid var(--line); color: var(--green); font-size: .76rem; font-weight: 500; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.floating-menu-panel nav a:hover { color: var(--gold); }

.page-hero { color: #f8f5eb; background: radial-gradient(circle at 82% 16%, rgba(170,128,57,.23), transparent 28%), linear-gradient(135deg, var(--green-dark), var(--green)); padding: clamp(4rem, 9vw, 8rem) max(1.25rem, calc((100% - 1100px)/2)); min-height: 430px; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; }
.page-hero::after { content: ""; position: absolute; right: 7vw; top: 50%; width: 280px; height: 280px; border: 1px solid rgba(217,199,157,.22); transform: translateY(-50%) rotate(45deg); }
.hero-rule { width: 78px; height: 3px; background: var(--gold); margin-bottom: 1.5rem; }
.page-hero p { margin: 0 0 1rem; color: #ded8c9; max-width: 720px; font-size: .82rem; text-transform: uppercase; letter-spacing: .16em; }
.page-hero h1 { position: relative; z-index: 1; margin: 0; max-width: 900px; font: 600 clamp(3rem, 7vw, 6.5rem)/.92 "Cormorant Garamond", serif; letter-spacing: -.025em; text-wrap: balance; }
.publication-hero h1 { font-size: clamp(2.6rem, 5vw, 5rem); }
.page-kicker { margin-top: 2rem; font-size: .7rem; text-transform: uppercase; letter-spacing: .17em; color: var(--gold-soft); }

.page-content { width: min(1050px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(3.5rem, 8vw, 7rem) 0; }
.home-story { width: min(760px, 100%); margin: 0 auto clamp(4rem, 8vw, 7rem); }
.home-story p { margin: 0 0 1.35rem; color: #33433b; font-size: clamp(1.02rem, 1.4vw, 1.14rem); line-height: 1.78; }
.home-story p:first-child { color: var(--green); font: 500 clamp(1.7rem, 3vw, 2.35rem)/1.3 "Cormorant Garamond", serif; }
.home-story p:last-child { margin-top: 2rem; color: var(--green); font: 600 clamp(1.75rem, 3vw, 2.45rem)/1.2 "Cormorant Garamond", serif; }
.home-routes { margin: 0 0 clamp(5rem, 10vw, 8rem); }
.home-routes-intro { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(1.5rem, 5vw, 5rem); padding-top: 1.25rem; border-top: 3px solid var(--gold); }
.home-routes-intro h2 { grid-row: 1 / span 2; margin: 0; color: var(--green); font: 600 clamp(2.2rem, 4vw, 3.6rem)/1 "Cormorant Garamond", serif; text-wrap: balance; }
.home-routes-intro p { margin: 0 0 1rem; }
.home-route-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 2.5rem; border: 1px solid var(--line); background: var(--line); }
.home-route-card { display: flex; min-height: 330px; flex-direction: column; padding: clamp(1.4rem, 3vw, 2rem); background: var(--white); color: var(--ink); text-decoration: none; transition: background-color .18s ease, color .18s ease; }
.home-route-card:hover { background: var(--green); color: var(--white); }
.home-route-number { color: var(--gold); font-size: .72rem; letter-spacing: .16em; }
.home-route-card h3 { margin: 2rem 0 1rem; color: var(--green); font: 600 clamp(1.65rem, 2.8vw, 2.2rem)/1.05 "Cormorant Garamond", serif; text-wrap: balance; }
.home-route-card:hover h3 { color: var(--white); }
.home-route-card p { margin: 0; font-size: .92rem; line-height: 1.65; }
.home-route-action { margin-top: auto; padding-top: 2rem; color: var(--gold); font-size: .73rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.home-framework-heading { margin: 0 0 2.5rem; padding-top: 1.1rem; border-top: 3px solid var(--gold); }
.home-framework-heading span { color: var(--sage); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.home-framework-heading h2 { margin: .35rem 0 0; color: var(--green); font: 600 clamp(2.3rem, 4vw, 3.6rem)/1 "Cormorant Garamond", serif; }
.prose-sections { display: grid; gap: clamp(3rem, 7vw, 6rem); }
.prose-intro { width: min(650px, 100%); margin-left: auto; }
.prose-section { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); column-gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.prose-section h2 { margin: 0; padding: .65rem 1rem .65rem 0; border-top: 1px solid var(--gold); color: var(--green); font: 600 clamp(1.8rem, 3vw, 2.75rem)/1.05 "Cormorant Garamond", serif; text-wrap: balance; }
.prose-section-body p, .prose-intro p { margin: 0 0 1.15rem; }
.prose-section-body ul, .prose-intro ul { margin: .2rem 0 1.7rem; padding-left: 1.2rem; }
.prose-section-body li, .prose-intro li { margin-bottom: .55rem; }
.prose-section-body li::marker, .prose-intro li::marker { color: var(--gold); }
.prose-section-body a:not(.button-link), .prose-intro a:not(.button-link), .home-story a, .home-routes-intro a { color: var(--green); text-decoration-color: var(--gold-soft); }
.prose-section-body a:hover, .prose-intro a:hover, .home-story a:hover, .home-routes-intro a:hover { color: var(--gold); }
blockquote { margin: 2rem 0; border-left: 4px solid var(--gold); padding: 1.4rem 1.6rem; background: var(--cream); color: var(--green); font: 500 1.5rem/1.35 "Cormorant Garamond", serif; }
.related-link { margin: .35rem 0 !important; font-size: .83rem; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; }
.related-link a { color: var(--green); }
.related-link.muted { color: var(--sage); }

.leadership-profiles { margin: clamp(4rem, 8vw, 7rem) 0; border-bottom: 1px solid var(--line); }
.leader-profile { display: grid; grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 6vw, 5.5rem); padding: clamp(2.5rem, 6vw, 5rem) 0; border-top: 1px solid var(--gold-soft); align-items: start; scroll-margin-top: 1.5rem; }
.leader-portrait { margin: 0; background: var(--cream); border: 1px solid var(--gold-soft); box-shadow: 0 18px 45px rgba(11,43,36,.12); }
.leader-portrait img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; }
.leader-context { margin: 0 0 .75rem; color: var(--gold); font-size: .7rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.leader-profile h2 { margin: 0; color: var(--green); font: 600 clamp(2.2rem, 4.4vw, 4rem)/.98 "Cormorant Garamond", serif; letter-spacing: -.015em; text-wrap: balance; }
.post-nominals { display: inline-block; font-size: .52em; font-weight: 500; letter-spacing: .03em; white-space: nowrap; vertical-align: .12em; }
.leader-roles { margin: 1rem 0 2rem; padding-bottom: 1.1rem; border-bottom: 1px solid var(--line); }
.leader-roles p { margin: .15rem 0; color: var(--sage); font-size: .85rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.leader-profile-copy .prose-sections { gap: 1.2rem; }
.leader-profile-copy .prose-intro { width: 100%; margin: 0; }
.leader-actions { display: flex; flex-wrap: wrap; gap: .7rem 1.25rem; margin-top: 1.8rem; padding-top: 1.1rem; border-top: 1px solid var(--line); }
.leader-actions a { color: var(--green); font-size: .72rem; font-weight: 500; letter-spacing: .09em; text-decoration-color: var(--gold-soft); text-transform: uppercase; }

.section-heading { border-top: 3px solid var(--gold); padding-top: 1rem; margin-bottom: 2rem; }
.section-heading span { color: var(--sage); font-size: .72rem; text-transform: uppercase; letter-spacing: .14em; }
.section-heading h2, .archive-page h2, .publication-record h2, .search-panel h2 { color: var(--green); font: 600 clamp(2rem, 4vw, 3.3rem)/1.05 "Cormorant Garamond", serif; margin: .4rem 0 0; }
.research-browser, .index-browser, .search-panel { margin-bottom: 5rem; padding-bottom: 4rem; border-bottom: 1px solid var(--line); }
.publication-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.publication-grid article { background: var(--white); padding: 1.5rem; }
.publication-id { display: inline-block; color: var(--gold); font-size: .7rem; font-weight: 500; letter-spacing: .12em; }
.publication-grid h3 { margin: .6rem 0; font: 600 1.55rem/1.08 "Cormorant Garamond", serif; }
.publication-grid h3 a { text-decoration: none; }
.publication-grid p { color: #3f4d46; font-size: .92rem; }
.archive-link { margin-top: 1.8rem; text-align: right; }

.alphabet, .filter-row { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.5rem 0 2.5rem; }
.alphabet a, .filter-row button { min-width: 2.25rem; border: 1px solid var(--line); background: var(--white); padding: .45rem .65rem; text-align: center; text-decoration: none; color: var(--green); }
.filter-row button.active { background: var(--green); color: #fff; border-color: var(--green); }
.index-columns { display: grid; grid-template-columns: 1.2fr .8fr; gap: 4rem; }
.index-columns h3 { color: var(--green); font: 600 1.8rem "Cormorant Garamond", serif; border-bottom: 1px solid var(--gold-soft); padding-bottom: .4rem; margin-top: 2.3rem; }
.letter-group { display: grid; grid-template-columns: 2.5rem 1fr; border-top: 1px solid var(--line); padding: 1rem 0; }
.letter-group h4 { margin: 0; color: var(--gold); font: 600 2rem "Cormorant Garamond", serif; }
.letter-group ul, .index-columns ul { margin: 0; padding-left: 1.2rem; }

.archive-page > section { margin-top: 3.5rem; }
.lede { color: var(--green); font: 500 1.45rem/1.45 "Cormorant Garamond", serif; max-width: 800px; }
.archive-list { list-style: none; padding: 0; margin: 1rem 0; border-top: 1px solid var(--line); }
.archive-list li { display: grid; grid-template-columns: 5.5rem 1fr 5rem; gap: 1rem; align-items: baseline; border-bottom: 1px solid var(--line); padding: .85rem 0; }
.archive-list span, .archive-list small { color: var(--sage); font-size: .72rem; }
.publication-record dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid var(--line); background: var(--line); gap: 1px; }
.publication-record dl div { background: var(--white); padding: 1rem 1.2rem; }
.publication-record dt { color: var(--sage); font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; }
.publication-record dd { margin: .25rem 0 0; color: var(--green); }
.record-note { background: var(--cream); padding: 1.5rem; border-left: 3px solid var(--gold); margin: 2rem 0; }
.record-actions { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; margin-top: 2rem; }
.button-link { background: var(--green); color: #fff; text-decoration: none; padding: .75rem 1rem; }

.search-panel form { background: var(--cream); padding: clamp(1.2rem, 3vw, 2rem); margin-top: 1.5rem; }
.search-panel label, .search-panel legend { display: block; margin-bottom: .5rem; color: var(--green); font-weight: 500; }
.search-row { display: grid; grid-template-columns: 1fr auto; gap: .75rem; }
.search-row input { min-height: 3rem; background: #fff; border-radius: 0; }
.search-row button { min-width: 7rem; min-height: 3rem; border-radius: 0; background: var(--green); color: #fff !important; font-weight: 500; }
.search-row button:hover { background: var(--green-dark); color: #fff !important; }
.search-panel fieldset { border: 0; padding: 1.2rem 0 0; }
.search-status { color: var(--sage); }
.search-results article { border-top: 1px solid var(--line); padding: 1.25rem 0; }
.search-results h3 { font: 600 1.45rem "Cormorant Garamond", serif; margin: 0; }

.site-footer { border-top: 1px solid var(--gold-soft); background: var(--green-dark); color: #ddd8ca; padding: 2.5rem max(1.25rem, calc((100% - 1180px)/2)); display: flex; justify-content: space-between; gap: 2rem; align-items: end; font-size: .76rem; }
.site-footer p { margin: .25rem 0; }
.site-footer a { color: inherit; }
.motto { color: var(--gold-soft); font: 500 1.5rem "Cormorant Garamond", serif; }

@media (max-width: 900px) {
  .principal-nav { display: none; }
  .mobile-menu { display: block; background: var(--green-dark); color: #fff; }
  .mobile-menu summary { cursor: pointer; padding: .75rem 1rem; text-align: right; text-transform: uppercase; font-size: .72rem; letter-spacing: .1em; }
  .mobile-menu nav { display: grid; padding: 0 1rem 1rem; }
  .mobile-menu a { padding: .55rem 0; border-top: 1px solid rgba(255,255,255,.15); text-decoration: none; }
  .prose-section { grid-template-columns: 1fr; gap: 1.2rem; }
  .prose-section h2 { margin: 0; }
  .prose-intro { width: 100%; }
  .index-columns { grid-template-columns: 1fr; gap: 1rem; }
  .publication-grid { grid-template-columns: 1fr; }
  .home-routes-intro { grid-template-columns: 1fr; gap: 1rem; }
  .home-routes-intro h2 { grid-row: auto; }
  .home-route-grid { grid-template-columns: 1fr; }
  .home-route-card { min-height: 250px; }
  .leader-profile { grid-template-columns: minmax(190px, .65fr) minmax(0, 1.35fr); gap: 2rem; }
}

@media (max-width: 620px) {
  .header-inner { min-height: 76px; }
  .brand img { width: 46px; height: 46px; }
  .brand strong { font-size: 1.05rem; }
  .utility-nav a:first-child { display: none; }
  .page-hero { min-height: 360px; }
  .page-hero::after { width: 170px; height: 170px; right: -3rem; }
  .archive-list li { grid-template-columns: 4.5rem 1fr; }
  .archive-list small { grid-column: 2; }
  .publication-record dl { grid-template-columns: 1fr; }
  .site-footer { display: block; }
  .site-footer nav { margin-top: 1.5rem; align-items: flex-start; flex-direction: column; gap: .5rem; }
  .floating-menu-trigger { top: auto; right: 1rem; bottom: 1rem; border-right: 1px solid var(--gold); padding: .7rem .9rem; writing-mode: horizontal-tb; transform: none; }
  .leader-profile { grid-template-columns: 1fr; }
  .leader-portrait { width: min(420px, 100%); }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print { .site-header, .site-footer { display: none; } .page-hero { color: #000; background: #fff; min-height: 0; padding: 2rem 0; } .page-content { width: 100%; } }

/* v5.1 remediation — 28 August 2026 */
.site-header,
.prose-section h2,
.home-framework-heading,
.section-heading { position: static !important; top: auto !important; }
.floating-menu-trigger { z-index: 90; visibility: visible; opacity: 1; }
.floating-menu-panel { z-index: 100; }
.page-kicker:empty { display: none; }
.prose-sections { gap: clamp(2.25rem, 5vw, 4.25rem); }
.prose-section { scroll-margin-top: 1.25rem; }
.prose-section h2 { align-self: start; }
.brand img, .leader-portrait img { visibility: visible; opacity: 1; }

/* v5.2 visual correction — 28 August 2026 */
.floating-menu-trigger {
  writing-mode: horizontal-tb !important;
  transform: translateY(-50%) !important;
  white-space: nowrap;
  right: 1rem;
  border-right: 1px solid var(--gold);
}
.leadership-link { font-weight: 600; }
@media (max-width: 760px) {
  .floating-menu-trigger { transform: none !important; }
  .leadership-link { display: none; }
}

/* Static-preview compatibility */
.floating-menu-panel-static{position:fixed;z-index:100;top:0;right:0;width:min(410px,92vw);height:100vh;background:var(--paper);color:var(--ink);padding:2rem;box-shadow:-18px 0 50px rgba(11,43,36,.25);transform:translateX(105%);transition:transform .2s ease;overflow-y:auto}
.floating-menu-panel-static.open{transform:translateX(0)}
.floating-menu-panel-static h2{color:var(--green);font:600 2rem/1.05 "Cormorant Garamond",serif;margin:.3rem 0}
.floating-menu-panel-static p{color:var(--sage);font-size:.9rem}
.floating-menu-panel-static nav{display:grid;margin-top:1rem;border-top:1px solid var(--line)}
.floating-menu-panel-static nav a{display:flex;justify-content:space-between;gap:1rem;padding:.8rem .2rem;border-bottom:1px solid var(--line);color:var(--green);font-size:.76rem;font-weight:500;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}
.menu-close{float:right;border:1px solid var(--line);background:transparent;color:var(--green);padding:.4rem .6rem;cursor:pointer}
.menu-scrim{position:fixed;z-index:95;inset:0;background:rgba(11,43,36,.33);display:none}.menu-scrim.open{display:block}
.static-notice{background:#efe8d7;border-bottom:1px solid var(--gold-soft);padding:.45rem 1rem;text-align:center;color:var(--green);font-size:.72rem;letter-spacing:.06em}
.search-results-static article{border-top:1px solid var(--line);padding:1.2rem 0}.search-results-static h3{font:600 1.45rem "Cormorant Garamond",serif;margin:0 0 .25rem}.search-results-static p{margin:.25rem 0;color:#3f4d46}
@media(max-width:760px){.floating-menu-trigger{top:auto!important;right:1rem!important;bottom:1rem!important;transform:none!important}}


/* v5.4 review corrections — 29 August 2026 */
.home-hero { padding-right: max(25rem, calc((100% - 1100px)/2 + 21rem)); }
.home-hero::after { display:none; }
.home-hero h1 { max-width: 760px; }
.home-hero-emblem { position:absolute; z-index:2; right:max(2.5rem, calc((100% - 1180px)/2)); top:50%; transform:translateY(-50%); width:clamp(270px,20vw,360px); margin:0; }
.home-hero-emblem img { display:block; width:100%; border:1px solid rgba(217,199,157,.65); box-shadow:0 22px 55px rgba(0,0,0,.22); }
.contact-email-action { margin:1.7rem 0 1rem!important; }
.contact-email-action .button-link { display:inline-block; font-size:.86rem; letter-spacing:.05em; }
.contact-email-note { color:var(--sage); font-size:.85rem; }
.textbook-index { margin-top:3.25rem; }
.index-lede { max-width:760px; color:#3f4d46; }
.alphabet-disabled { min-width:2.25rem; border:1px solid var(--line); background:var(--cream); color:#b4ad9f; padding:.45rem .65rem; text-align:center; }
.textbook-index-columns { column-count:2; column-gap:clamp(3rem,7vw,6rem); column-rule:1px solid var(--line); }
.textbook-letter { break-inside:avoid; margin:0 0 2.4rem; }
.textbook-letter h3 { margin:0 0 .7rem; padding-bottom:.35rem; border-bottom:2px solid var(--gold); color:var(--green); font:600 2.15rem/1 "Cormorant Garamond",serif; }
.textbook-letter dl { margin:0; }
.textbook-letter dt { margin:.55rem 0 0; font-weight:500; line-height:1.35; }
.textbook-letter dt a { color:var(--green); text-decoration-color:var(--gold-soft); }
.textbook-letter dd { margin:.1rem 0 .55rem 1.2rem; color:var(--sage); font-size:.82rem; line-height:1.48; }
@media(max-width:1000px){.home-hero{padding-right:max(1.25rem,calc((100% - 1100px)/2));}.home-hero-emblem{position:relative;right:auto;top:auto;transform:none;width:min(330px,70vw);margin:2.5rem 0 0}.home-hero{min-height:auto}.textbook-index-columns{column-count:1;column-rule:0}}

/* v5.4 previous-stewardship additions — 29 August 2026 */
.previous-stewardship { margin-top:clamp(3rem,7vw,6rem); padding-top:clamp(2rem,4vw,3.5rem); border-top:1px solid var(--gold-soft); }
.previous-stewardship > h2 { margin:0 0 .8rem; color:var(--green); font:600 clamp(2rem,4vw,3.2rem)/1 "Cormorant Garamond",serif; letter-spacing:-.01em; }
.previous-stewardship > .prose-section-body { max-width:820px; margin-bottom:1.25rem; }
.previous-stewardship .historical-leader { grid-template-columns:1fr; max-width:980px; gap:0; }
.previous-stewardship .historical-leader > div { max-width:880px; }
.anchor-alias { display:block; position:relative; top:-1rem; visibility:hidden; }
.site-footer .site-version{margin-top:.35rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;opacity:.68}


/* v5.5.2 production hotfix — 29 August 2026 */
.heritage-portrait { width:min(250px, 100%); margin:1.5rem 0 2rem; }
.heritage-portrait a { display:block; }
.heritage-portrait img { display:block; width:100%; height:auto; border:1px solid var(--line); }
.heritage-portrait figcaption { margin-top:.55rem; color:var(--sage); font-size:.76rem; letter-spacing:.04em; }


/* v5.5.3 controlled glossary restoration — 29 August 2026 */
.glossary-status{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin:0 0 1.4rem;padding:1rem 1.2rem;border:1px solid var(--line);background:var(--cream);color:var(--sage);font-size:.78rem}.glossary-status p{margin:0}.glossary-status strong{color:var(--green)}
.glossary-alphabet{position:sticky;top:0;z-index:3;background:rgba(250,248,241,.97);padding:.85rem 0 1rem;margin-bottom:2rem;border-bottom:1px solid var(--line)}
.glossary-content{max-width:1000px}.glossary-preface,.glossary-end{margin:2.5rem 0 3.5rem}.glossary-preface>h2,.glossary-end>h2{color:var(--green);font:600 2rem/1.05 "Cormorant Garamond",serif;border-bottom:1px solid var(--gold-soft);padding-bottom:.55rem}
.glossary-letter{margin:4.5rem 0 2rem;scroll-margin-top:5rem}.glossary-letter>h2{color:var(--green);font:600 3rem/1 "Cormorant Garamond",serif;border-bottom:2px solid var(--gold);padding-bottom:.35rem}
.glossary-entry{margin:2.4rem 0 3.2rem;scroll-margin-top:5rem}.glossary-entry h3{color:var(--green);font:600 clamp(1.5rem,2.4vw,2rem)/1.12 "Cormorant Garamond",serif;margin:0 0 1rem}.glossary-entry h4{margin:1.7rem 0 .65rem;color:var(--green);font-size:.82rem;letter-spacing:.09em;text-transform:uppercase}.glossary-entry p,.glossary-preface p,.glossary-end p{max-width:850px;line-height:1.72}.glossary-entry .see-also{font-size:.84rem;color:var(--sage);border-top:1px solid var(--line);padding-top:.7rem}.glossary-page ul{max-width:820px}.utility-nav{flex-wrap:wrap}
@media(max-width:620px){.glossary-alphabet{position:static}.glossary-status{display:block}.glossary-status p{margin:.25rem 0}.utility-nav a{font-size:.66rem}}


/* v5.6.0 canonical glossary, Principal Foreword, structure map and research navigation */
.principal-nav .office-nav-group{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:max-content}
.principal-nav{justify-content:flex-start}
@media(min-width:1500px){.principal-nav{justify-content:center}}
.principal-nav .office-nav-group>a{color:inherit;text-decoration:none}
.principal-nav .office-nav-group .nav-subitem{font-size:.66rem;letter-spacing:.04em;line-height:1.15;opacity:.82;text-transform:none}
.mobile-menu .mobile-nav-child{padding-left:1.25rem;font-size:.88rem;opacity:.85}
.glossary-orientation{margin-bottom:1.4rem;padding:.9rem 1rem;border-left:3px solid var(--gold,#b08a2e);background:rgba(176,138,46,.07)}
.glossary-entry h4{margin:1.6rem 0 .5rem;color:var(--green-deep,#063c33);font-size:.84rem;letter-spacing:.08em;text-transform:uppercase}
.glossary-end{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(4,62,52,.28)}
.foreword-page{max-width:1120px}
.foreword-status{margin-bottom:1.25rem;color:#53625d;font-size:.82rem;letter-spacing:.07em;text-transform:uppercase}
.foreword-reading{max-width:760px;margin:0 auto;font-family:Georgia,'Times New Roman',serif;font-size:1.05rem;line-height:1.78}
.foreword-descriptor{margin:0 0 2rem;color:#596660}
.foreword-reading h2{margin-top:2.7rem;font-family:Arial,Helvetica,sans-serif;font-size:1rem;letter-spacing:.12em}
.foreword-principle{margin:1.5rem 0;padding:.9rem 1.25rem;border-left:3px solid #b08a2e;color:#063c33;font-weight:600}
.foreword-maxim{margin:1.8rem 0;color:#063c33;font-weight:700;letter-spacing:.02em}
.foreword-signature{margin-top:3rem}
.institutional-boundary{max-width:850px;margin:3rem auto 1.5rem;padding:1.4rem 1.6rem;border:1px solid rgba(176,138,46,.55);background:#f8f3e7}
.institutional-boundary h2{margin-top:0;font-size:.94rem;letter-spacing:.1em}
.related-page-nav{display:flex;flex-wrap:wrap;gap:.7rem 1.25rem;max-width:850px;margin:1.25rem auto 0;padding-top:1rem;border-top:1px solid rgba(4,62,52,.22)}
.foreword-route{margin:1.5rem 0 2rem}
.foreword-route a{display:block;padding:1rem 1.2rem;border:1px solid rgba(4,62,52,.22);text-decoration:none}
.foreword-route span{display:block;margin-top:.25rem;color:#596660;font-size:.9rem}
.heritage-quote{margin:1.6rem 0;padding:1rem 1.2rem;border-left:3px solid #b08a2e;background:rgba(176,138,46,.07)}
.heritage-quote p{margin:0 0 .45rem;font-family:Georgia,'Times New Roman',serif;font-size:1.12rem}
.heritage-quote cite{font-size:.82rem;color:#596660}
.structure-map{margin:2rem 0 1.25rem}
.structure-map img{display:block;width:100%;height:auto;border:1px solid rgba(4,62,52,.2);box-shadow:0 10px 30px rgba(5,34,29,.12)}
.structure-map figcaption{margin-top:.6rem;color:#596660;font-size:.84rem}
.structure-key{margin:1rem 0 2.4rem;padding:1.2rem 1.4rem;border:1px solid rgba(4,62,52,.2);background:#f7f9f7}
.structure-key h2{margin-top:0;font-size:.92rem;letter-spacing:.1em}
.structure-key dl{margin:0}.structure-key dt{margin-top:.8rem;font-weight:700}.structure-key dd{margin:.2rem 0 .8rem 4.7rem;color:#4f5d58}
.key-line{display:inline-block;width:3.8rem;margin-right:.8rem;border-top:3px solid #0b4036;vertical-align:middle}.key-analysis{border-color:#009b96}.key-principal{border-color:#b47d00}
.research-route{position:sticky;top:.5rem;z-index:3;display:flex;flex-wrap:wrap;gap:.45rem;margin:1.4rem 0 2.2rem;padding:.7rem;background:rgba(249,250,248,.96);border:1px solid rgba(4,62,52,.18);box-shadow:0 4px 14px rgba(5,34,29,.07)}
.research-route a{padding:.45rem .7rem;border:1px solid rgba(4,62,52,.18);background:#fff;text-decoration:none;font-size:.82rem}
@media(max-width:900px){.principal-nav .office-nav-group{display:none}.foreword-reading{font-size:1rem}.structure-key dd{margin-left:0}.research-route{top:0}}


/* Research catalogue and abbreviation-list hotfix — 30 August 2026 */
.principal-abbreviations{max-width:850px;margin:1rem 0 1.4rem;padding-left:1.35rem}
.principal-abbreviations li{margin:.42rem 0;line-height:1.62}
.principal-abbreviations li::marker{color:var(--gold)}
.research-publications-section,.research-archive-section{scroll-margin-top:5.5rem;margin:1rem 0 3rem;padding:clamp(1.4rem,3.5vw,3rem);background:var(--cream);border-top:1px solid var(--gold-soft);border-bottom:1px solid var(--line)}
.research-section-heading{max-width:850px;margin-bottom:2rem}
.research-section-heading h2{margin:.2rem 0 .8rem;color:var(--green);font:600 clamp(2rem,3.6vw,3.1rem)/1.05 "Cormorant Garamond",serif}
.research-section-label{margin:0;color:var(--gold);font-size:.74rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase}
.publication-group{border-top:1px solid var(--line);padding:2.25rem 0 .65rem}
.publication-group>h3{margin:0 0 1.35rem;color:var(--green);font:600 clamp(1.45rem,2.4vw,1.8rem)/1.25 "Cormorant Garamond",serif}
.publication-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem}
.publication-card{display:flex;min-height:250px;flex-direction:column;padding:1.6rem;background:var(--white);border:1px solid var(--line)}
.publication-card h3{margin:.65rem 0 .85rem;color:var(--ink);font:600 1.5rem/1.2 "Cormorant Garamond",serif}
.publication-card p{margin:0 0 1.1rem;color:var(--sage)}
.publication-card a{margin-top:auto;color:var(--green);text-decoration-color:var(--gold-soft)}
.publication-id{color:var(--gold);font-size:.7rem;font-weight:500;letter-spacing:.12em}
.archive-intro{max-width:850px;margin-bottom:1.75rem;color:var(--sage)}
.archive-group{border-top:1px solid var(--line)}
.archive-group:last-of-type{border-bottom:1px solid var(--line)}
.archive-group summary{padding:1.2rem 0;cursor:pointer;color:var(--green);font:600 1.4rem/1.3 "Cormorant Garamond",serif}
.archive-group summary span{float:right;color:var(--sage);font:400 .7rem/1.8 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.archive-list{margin:0;padding:0 0 1.5rem;list-style:none}
.archive-list li{display:grid;grid-template-columns:72px 1fr;gap:.85rem;padding:.62rem 0;border-top:1px dotted var(--line);color:var(--sage);font-size:.875rem}
.archive-list li span{color:var(--gold);font-size:.7rem;letter-spacing:.08em}
.center-link{text-align:center;margin:2.25rem 0 0}
@media(max-width:900px){.publication-grid{grid-template-columns:1fr}}
@media(max-width:760px){.research-publications-section,.research-archive-section{padding:1.2rem}.archive-group summary span{float:none;display:block;margin-top:.25rem}.archive-list li{grid-template-columns:62px 1fr}}
