/* Shared editorial rhythm. Content and page-specific reading/workspace modes
   keep their own structure; these rules finish the existing A + B palette. */
:root { --control-line:#7c8c7c; --space-tight:.5rem; --space-group:1.5rem; --space-section:3rem; }
html { scrollbar-color:#849780 var(--bg); }
h1,h2,h3 { text-wrap:balance; }
h1,.hero-copy h1 { letter-spacing:-.04em; }
.hero-copy h1 { font-size:clamp(3.4rem,6.4vw,6rem); }
.page-intro > p:last-child { line-height:1.75; }
.breadcrumbs { font-size:.875rem; align-items:center; }
.breadcrumbs a { display:inline-flex; align-items:center; min-height:44px; }
.menu { font-size:.875rem; }
.menu a { display:inline-flex; align-items:center; min-height:44px; }
.btn,.btn-mini,.text-link { min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
.btn,.btn-mini { font-size:.9375rem; line-height:1.4; text-align:center; }
.text-link { font-size:.875rem; }
input,select,textarea { border-color:var(--control-line); }
input::placeholder,textarea::placeholder { color:var(--muted); opacity:1; }
.site-search { border-color:var(--control-line); }
.site-search:focus-within { outline:2px solid var(--accent); outline-offset:3px; }
.site-search button { min-width:72px; }
.hero-note { font-size:.8125rem; line-height:1.7; }
.editorial-features p:not(.eyebrow),.feature-stack p:not(.eyebrow) { font-size:1rem; line-height:1.65; }
.editorial-features h3 { max-width:30ch; }
.feature-stack > a { padding-block:1.5rem; }
.feature-stack .text-link { font-size:.875rem; }
.atlas-invitation p:not(.eyebrow) { font-size:1rem; }
.atlas-invitation .small-note,.atlas-teaser-label { font-size:.8125rem; }
.home-method p:not(.eyebrow) { max-width:65ch; font-size:1.0625rem; }
.footer-top > p,.footer-bottom { font-size:.8125rem; }
.footer-top nav { min-width:0; }
.footer-top a { overflow-wrap:anywhere; }
.page-jumps { gap:.25rem 1.5rem; }
.page-jumps a:hover,.page-jumps a:focus-visible { text-decoration:underline; }
.library-paths span { font-size:.875rem; line-height:1.6; }
.coverage-disclosure { margin-top:1rem; }
.coverage-disclosure > summary { cursor:pointer; color:var(--accent); padding:.75rem 0; min-height:44px; font-weight:600; }
.coverage-disclosure[open] > summary { margin-bottom:1rem; }
@media(max-width:1100px) and (min-width:881px) {
  .menu { font-size:.8125rem; gap:.75rem; }
  .brand { font-size:1.45rem; }
}
@media(max-width:880px) { .menu { font-size:1rem; } }
@media(max-width:620px) {
  .hero-copy h1 { font-size:clamp(2.8rem,11.5vw,3.7rem); }
  .page-intro h1 { font-size:clamp(2.25rem,10vw,2.9rem); }
  .feature-stack > a { gap:1rem; }
  .feature-stack h3 { font-size:1.4rem; }
  .feature-stack p:not(.eyebrow) { font-size:.9375rem; }
  .footer-top > p { font-size:.8125rem; }
  .page-jumps { column-gap:1rem; }
}
@media(max-width:380px) {
  .feature-stack > a { display:grid; grid-template-columns:1fr; }
  .feature-thumbnail { width:100%; height:160px; }
  .footer-top { grid-template-columns:1fr; }
}
/* Collection choices use the existing paper/forest typography and real routes. */
.collection-entrances { display:flex; flex-wrap:wrap; gap:0 2rem; border-block:1px solid var(--line); margin:0 0 2rem; padding-block:.5rem; }
.collection-entrances a { display:flex; flex-direction:column; justify-content:center; flex:1 1 220px; min-height:88px; padding-block:.75rem; color:var(--ink); text-decoration:none; }
.collection-entrances strong { color:var(--accent); font-size:1rem; }
.collection-entrances span { max-width:36ch; font-size:.875rem; line-height:1.5; margin-top:.25rem; }
.collection-entrances a:hover strong,.collection-entrances a:focus-visible strong { text-decoration:underline; }
.research-entrances { display:grid; grid-template-columns:1fr 1fr; gap:2rem 5rem; margin-block:3rem; padding-block:2rem; border-block:1px solid var(--line); }
.research-entrances h2 { font-size:clamp(2rem,4vw,3.2rem); margin-top:0; }
.research-entrances h3 { margin-top:0; font-size:1.35rem; }
.research-entrances p { max-width:65ch; line-height:1.65; }
.research-entrances .text-link { display:flex; justify-content:flex-start; }
.research-entrances ul { padding:0; margin:0; list-style:none; }
.research-entrances li + li { margin-top:1.25rem; }
.research-entrances li > a { display:inline-flex; align-items:center; min-height:44px; font-weight:600; color:var(--accent); }
.research-entrances li > p { margin:0; font-size:.875rem; color:var(--muted); }
.subject-collection-disclosure > summary { cursor:pointer; min-height:44px; padding-block:1rem; font-weight:600; color:var(--accent); }
.search-result h3,.search-result p { overflow-wrap:anywhere; }
@media(max-width:620px) {
  .research-entrances { grid-template-columns:1fr; gap:1.5rem; margin-block:2rem; padding-block:1.5rem; }
  .collection-entrances a { flex-basis:100%; min-height:76px; }
}
.research-entrances .focused-research-heading { margin-top:1.75rem; }
