/* Standalone historical pages share the live site's palette and typefaces. */
.archive-page { background:var(--color-canvas); }
.archive-page [hidden] { display:none !important; }
.archive-shell { width:min(1180px,calc(100% - 2 * var(--gutter))); margin-inline:auto; }
.archive-header { background:white; border-bottom:1px solid var(--color-border); }
.archive-nav { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-block:14px; }
.archive-nav img { display:block; object-fit:contain; }
.archive-nav nav,.archive-footer nav { display:flex; gap:24px; flex-wrap:wrap; }
.archive-nav a { font-size:.85rem; text-decoration:none; padding-block:10px; }
.archive-nav a:hover { color:var(--color-teal); text-decoration:underline; }
.archive-hero { display:grid; grid-template-columns:1fr auto; align-items:center; gap:48px; padding-block:72px 48px; }
.archive-hero h1 { font-size:clamp(2.6rem,5.6vw,4.8rem); line-height:1.08; margin:20px 0; max-width:800px; }
.archive-hero p:last-child { max-width:650px; color:var(--color-muted); font-size:1.1rem; }
.archive-hero img { width:176px; height:176px; opacity:.86; }
.archive-notice { padding:20px 24px; background:var(--color-peach); border-left:3px solid var(--color-orange); line-height:1.7; font-size:.9rem; }
.archive-notice strong { font-weight:600; margin-right:.4em; }
.archive-notice a { display:inline; font-weight:500; }
.archive-jump { display:flex; flex-wrap:wrap; gap:12px 28px; padding-block:28px; border-bottom:1px solid var(--color-border); }
.archive-jump a { display:flex; align-items:center; gap:12px; min-height:44px; font-size:.85rem; }
.archive-jump span { background:var(--color-mint); padding:2px 9px; border-radius:20px; font-size:.75rem; text-decoration:none; }
.archive-search { margin-top:36px; max-width:590px; }
.archive-search label { display:block; margin-bottom:8px; }
.archive-search input { width:100%; padding:14px; min-height:48px; }
.archive-search p { color:var(--color-muted); min-height:1.5em; margin-top:8px; font-size:.8rem; }
.archive-group { margin-block:56px 72px; scroll-margin-top:24px; }
.archive-group-heading { display:flex; justify-content:space-between; align-items:baseline; gap:20px; margin-bottom:16px; }
.archive-group-heading h2 { margin:0; font-size:clamp(1.55rem,3vw,2.05rem); }
.archive-group-heading>span { white-space:nowrap; font-size:.8rem; color:var(--color-muted); }
.archive-list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; column-gap:48px; }
.archive-entry { min-width:0; border-bottom:1px solid var(--color-border); }
.archive-entry>a { display:flex; flex-direction:column; height:100%; padding:25px 8px 25px 0; text-decoration:none; }
.archive-entry-kind { font-size:.68rem; color:var(--color-teal); letter-spacing:.065em; text-transform:uppercase; }
.archive-entry h3 { font-size:1.04rem; line-height:1.5; margin:10px 0 18px; overflow-wrap:anywhere; text-wrap:pretty; }
.archive-entry-open { font-size:.8rem; color:var(--color-teal); margin-top:auto; }
.archive-entry a:hover h3 { text-decoration:underline; text-underline-offset:.25em; }
.archive-breadcrumb { display:flex; gap:12px; flex-wrap:wrap; padding-block:28px; font-size:.8rem; color:var(--color-muted); }
.archive-article { max-width:800px; margin:26px auto 80px; }
.archive-article h1 { max-width:none; font-size:clamp(2rem,4.3vw,3.2rem); line-height:1.2; letter-spacing:-.035em; overflow-wrap:anywhere; margin-block:18px 24px; }
.archive-date { font-size:.78rem; color:var(--color-muted); margin-bottom:24px; }
.archive-body { margin-top:40px; font-size:1rem; line-height:1.8; overflow-wrap:anywhere; }
.archive-body p { margin:0 0 1.35em; }
.archive-body h2,.archive-body h3,.archive-body h4,.archive-body h5,.archive-body h6 { line-height:1.4; margin:1.6em 0 .7em; letter-spacing:normal; }
.archive-body h2 { font-size:1.65rem; }.archive-body h3 { font-size:1.35rem; }.archive-body h4 { font-size:1.1rem; }
.archive-body img { display:block; width:auto; max-width:100%; height:auto; max-height:700px; object-fit:contain; margin:24px auto; }
.archive-body blockquote { margin:28px 0; padding:18px 26px; background:var(--color-mint); border-left:3px solid var(--color-sage); font-size:inherit; }
.archive-body blockquote p:last-child { margin-bottom:0; }
.archive-body ul,.archive-body ol { padding-left:1.5em; }
.archive-body table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; margin-block:24px; }
.archive-body td,.archive-body th { border:1px solid var(--color-border); padding:10px; }
.archive-timeline-entry { margin-block:24px; border-left:2px solid var(--color-sage); padding-left:22px; }
.archive-documents { background:var(--color-mint); padding:26px; border-radius:12px; margin-top:32px; overflow-wrap:anywhere; }
.archive-documents h2 { font-size:1.4rem; }.archive-documents li+li { margin-top:14px; }.archive-documents ul { padding-left:18px; margin-bottom:0; }
.archive-back { border-top:1px solid var(--color-border); margin-top:48px; padding-top:24px; font-size:.9rem; }
.archive-footer { padding-block:40px; background:var(--color-ink); color:white; }
.archive-footer p { font-size:.95rem; margin-bottom:20px; }.archive-footer nav { font-size:.8rem; }
@media(max-width:680px) {
  .archive-nav { gap:12px; align-items:flex-start; }.archive-nav img { width:112px; height:54px; }
  .archive-nav nav { flex-direction:column; gap:0; align-items:flex-end; }.archive-nav nav a { font-size:.72rem; padding-block:6px; }
  .archive-hero { grid-template-columns:1fr; gap:0; padding-block:42px 26px; }.archive-hero img { display:none; }
  .archive-hero p:last-child { font-size:.98rem; }.archive-list { grid-template-columns:1fr; }
  .archive-group-heading { display:block; }.archive-group-heading h2 { margin-bottom:6px; }
  .archive-notice { padding:16px; }.archive-body { font-size:.95rem; }.archive-body blockquote { padding:16px; }
  .archive-jump { gap:6px 18px; }.archive-group { margin-block:40px 48px; }
}
