/* Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V5
 * genre: editorial · macrostructure: Ecosystem Index / Long Document
 * theme: Almanac · design-system: design.md · enrichment: local archive photography
 * nav: N13 right-of-brand, grouped results, hints shown · footer: Ft1 mast-headed
 * contrast: pass (40–41) · honest: pass (46) · chrome: pass (47)
 * tokens: pass (48) · mobile: pending rendered verification (34, 49–57)
 */
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/ibm-plex-sans-400.ttf") format("truetype")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/ibm-plex-sans-600.ttf") format("truetype")}
@font-face{font-family:"Newsreader";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/newsreader-400.ttf") format("truetype")}
@font-face{font-family:"Newsreader";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/newsreader-700.ttf") format("truetype")}
:root{
  --color-paper:oklch(96% .018 78);--color-paper-2:oklch(91% .025 76);--color-paper-3:oklch(86% .032 72);
  --color-ink:oklch(19% .018 58);--color-ink-2:oklch(37% .022 62);--color-muted:oklch(45% .025 66);
  --color-rule:oklch(73% .028 72);--color-rule-2:oklch(59% .035 68);--color-accent:oklch(51% .135 52);
  --color-accent-ink:oklch(97% .014 78);--color-focus:oklch(49% .16 238);--color-shadow:oklch(20% .02 58 / .13);
  --font-display:"Newsreader",ui-serif,serif;--font-body:"IBM Plex Sans",ui-sans-serif,sans-serif;
  --space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;
  --space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;
  --text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.953rem;
  --text-2xl:2.441rem;--text-3xl:3.052rem;--text-display:clamp(2.9rem,7vw,5.25rem);
  --radius-sm:.25rem;--radius-md:.5rem;--radius-round:999rem;--rule-hair:1px;
  --ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.7,0,.84,0);--ease-in-out:cubic-bezier(.65,0,.35,1);
  --dur-micro:120ms;--dur-short:180ms;--dur-long:300ms;
  --page:min(76rem,calc(100% - 2rem));--prose:min(68ch,100%);
  --z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--z-tooltip:600;
}
*{box-sizing:border-box}
html,body{margin:0;overflow-x:clip}
html{scroll-behavior:smooth;background:var(--color-paper)}
body{min-width:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.62;text-align:start;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-color:var(--color-accent);text-decoration-thickness:var(--rule-hair);text-underline-offset:.22em}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}
button,input{font:inherit}
button{color:inherit}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-style:normal;font-weight:700;line-height:1.05;letter-spacing:-.025em;overflow-wrap:anywhere;min-width:0}
h1{font-size:var(--text-display)}h2{font-size:clamp(2rem,4vw,var(--text-3xl))}h3{font-size:var(--text-xl)}
p,ul,ol,figure,blockquote{margin:0}
.skip-link{position:absolute;inset-inline-start:var(--space-md);top:-5rem;z-index:var(--z-tooltip);padding:var(--space-sm) var(--space-md);background:var(--color-ink);color:var(--color-paper)}
.skip-link:focus{top:var(--space-md)}
.site-head{border-block-end:var(--rule-hair) solid var(--color-rule);background:var(--color-paper)}
.mast{width:var(--page);margin-inline:auto;padding-block:var(--space-md);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-md);align-items:center}
.brand{display:inline-flex;align-items:baseline;gap:var(--space-sm);width:max-content;text-decoration:none;white-space:nowrap}
.brand__name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;line-height:1}
.brand__place{font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted)}
.mast__tools{display:flex;align-items:center;gap:var(--space-sm)}
.search-pill{min-height:2.75rem;display:flex;align-items:center;gap:var(--space-sm);padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-round);background:var(--color-paper-2);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}
.search-pill:hover{background:var(--color-paper-3);border-color:var(--color-ink-2)}
.search-pill:active{transform:translateY(1px)}
.search-pill__icon{display:none;width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.search-pill__key{padding:.1rem .4rem;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-sm);font-size:var(--text-xs);line-height:1.4}
.menu-toggle{display:grid;place-items:center;min-width:2.75rem;min-height:2.75rem;border:var(--rule-hair) solid var(--color-rule-2);background:transparent;border-radius:var(--radius-round);cursor:pointer}
.primary-nav{display:none;width:var(--page);margin-inline:auto;padding-block:0 var(--space-md)}
.primary-nav.is-open{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg)}
.primary-nav a{min-height:2.75rem;display:inline-flex;align-items:center;font-weight:600;text-decoration:none;white-space:nowrap}
.primary-nav a:hover{text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:.3em}
.update-note{border-block-end:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-2)}
.update-note p{width:var(--page);margin-inline:auto;padding-block:var(--space-sm);font-size:var(--text-sm);color:var(--color-ink-2)}
main{min-width:0}
.home-hero{width:var(--page);margin-inline:auto;padding-block:var(--space-2xl) var(--space-3xl);display:grid;gap:var(--space-xl)}
.home-hero__copy{display:grid;align-content:start;gap:var(--space-lg)}
.home-hero__label{font-size:var(--text-sm);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}
.home-hero h1{max-width:12ch}
.home-hero__lede{max-width:58ch;font-family:var(--font-display);font-size:var(--text-lg);line-height:1.35;color:var(--color-ink-2)}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);align-items:center}
.text-link{display:inline-flex;align-items:center;min-height:2.75rem;font-weight:600;white-space:nowrap}
.text-link::after{content:"→";padding-inline-start:var(--space-xs);color:var(--color-accent)}
.home-hero figure{display:grid;align-content:start;gap:var(--space-xs);min-width:0}
.home-hero figure img{width:100%;aspect-ratio:4/3;object-fit:cover;border-block:var(--rule-hair) solid var(--color-rule)}
figcaption{max-width:58ch;font-size:var(--text-xs);line-height:1.45;color:var(--color-muted)}
.index-band{border-block-start:var(--rule-hair) solid var(--color-rule);padding-block:var(--space-2xl)}
.index-band:nth-of-type(even){background:var(--color-paper-2)}
.band-inner{width:var(--page);margin-inline:auto;display:grid;gap:var(--space-xl)}
.band-head{display:flex;flex-direction:column;gap:var(--space-sm);max-width:62ch}
.band-head p{color:var(--color-ink-2)}
.card-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}
.guide-card{display:grid;gap:var(--space-sm);min-width:0}
.guide-card__media{display:block;overflow:clip;background:var(--color-paper-3);border-block-end:var(--rule-hair) solid var(--color-rule)}
.guide-card__media img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform var(--dur-long) var(--ease-out)}
.guide-card__media:focus-visible img{transform:scale(1.015)}
.guide-card__meta{display:grid;gap:var(--space-xs)}
.guide-card__meta h3{font-size:var(--text-lg)}
.guide-card__meta p{color:var(--color-ink-2);font-size:var(--text-sm);line-height:1.5}
.guide-card__meta a{width:max-content;max-width:100%;font-weight:600;white-space:nowrap}
.route-index{display:grid;grid-template-columns:minmax(0,1fr);border-block-start:var(--rule-hair) solid var(--color-rule)}
.route-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-md);align-items:center;min-height:4rem;padding-block:var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule);text-decoration:none}
.route-link__num{font-variant-numeric:tabular-nums;color:var(--color-accent);font-weight:600}
.route-link__name{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;overflow-wrap:anywhere;min-width:0}
.route-link__arrow{color:var(--color-muted)}
.route-link:hover .route-link__arrow{color:var(--color-accent)}
.quick-plan{display:grid;gap:var(--space-lg)}
.quick-plan__item{padding-block:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule);display:grid;gap:var(--space-xs)}
.quick-plan__item h3{font-size:var(--text-lg)}
.quick-plan__item p{max-width:58ch;color:var(--color-ink-2)}
.article-shell{width:var(--page);margin-inline:auto;padding-block:var(--space-xl) var(--space-4xl);display:grid;gap:var(--space-2xl)}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-muted)}
.breadcrumbs a{white-space:nowrap}
.article-head{display:grid;gap:var(--space-lg);padding-block-end:var(--space-xl);border-block-end:var(--rule-hair) solid var(--color-rule)}
.article-head h1{max-width:15ch;font-size:clamp(2.7rem,6vw,4.8rem)}
.article-head__dek{max-width:60ch;font-family:var(--font-display);font-size:var(--text-lg);line-height:1.4;color:var(--color-ink-2)}
.status-box{max-width:72ch;padding:var(--space-md);border:var(--rule-hair) solid var(--color-rule-2);background:var(--color-paper-2);font-size:var(--text-sm)}
.status-box strong{display:block;margin-block-end:var(--space-xs)}
.article-layout{display:grid;gap:var(--space-2xl);align-items:start}
.article-prose{max-width:var(--prose);display:grid;gap:var(--space-lg);min-width:0}
.article-prose h2{padding-block-start:var(--space-xl);font-size:var(--text-2xl)}
.article-prose h3{padding-block-start:var(--space-lg);font-size:var(--text-xl)}
.article-prose p,.article-prose li{font-size:clamp(1rem,1vw + .75rem,1.125rem)}
.article-prose ul,.article-prose ol{padding-inline-start:var(--space-lg);display:grid;gap:var(--space-xs)}
.article-prose figure{display:grid;gap:var(--space-xs);padding-block:var(--space-sm)}
.article-prose figure img{max-height:34rem;object-fit:contain;background:var(--color-paper-2)}
.article-prose blockquote{padding-inline-start:var(--space-lg);border-inline-start:var(--rule-hair) solid var(--color-accent);font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink-2)}
.faq-list{display:grid;gap:var(--space-sm)}
.faq-item{border-block-end:var(--rule-hair) solid var(--color-rule);padding-block:var(--space-sm)}
.faq-item summary{display:flex;justify-content:space-between;gap:var(--space-md);align-items:start;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);line-height:1.3;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';flex:0 0 auto;color:var(--color-accent);font-family:var(--font-body);font-size:1.4em;line-height:.9}
.faq-item[open] summary::after{content:'−'}
.faq-item p{margin-block-start:var(--space-sm);color:var(--color-ink-2)}
.official-sources{list-style:none;padding:0!important}
.official-sources a{text-decoration-thickness:.08em;text-underline-offset:.2em}
.article-kicker{font-size:var(--text-sm);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}
.status-box--current{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 7%,var(--color-paper-2))}
.curated-section{display:grid;gap:var(--space-md);padding-block-end:var(--space-xl)}
.curated-section+.curated-section{border-block-start:var(--rule-hair) solid var(--color-rule);padding-block-start:var(--space-xl)}
.content-card-grid{display:grid;gap:var(--space-sm)}
.content-card{position:relative;display:grid;grid-template-columns:1fr auto;gap:var(--space-xs) var(--space-md);padding:var(--space-md);border:var(--rule-hair) solid var(--color-rule-2);background:var(--color-paper-2);text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.content-card strong{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.15}
.content-card span{grid-column:1;color:var(--color-ink-2);line-height:1.45}
.content-card b{grid-column:2;grid-row:1/3;align-self:center;color:var(--color-accent);font-size:var(--text-xl)}
.content-card:hover{transform:translateY(-2px);border-color:var(--color-accent);background:var(--color-paper)}
.article-side{display:grid;gap:var(--space-md);padding-block-start:var(--space-md);border-block-start:var(--rule-hair) solid var(--color-rule)}
.article-side h2{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase}
.article-side a{display:block;padding-block:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule);text-decoration:none}
.empty-archive{max-width:62ch;padding-block:var(--space-2xl);display:grid;gap:var(--space-lg)}
.site-foot{border-block-start:double .25rem var(--color-ink);background:var(--color-paper-2)}
.foot-mast{width:var(--page);margin-inline:auto;padding-block:var(--space-2xl);display:grid;gap:var(--space-lg)}
.foot-mast__brand{font-family:var(--font-display);font-size:clamp(2.5rem,7vw,5rem);font-weight:700;line-height:1}
.foot-mast__tag{max-width:48ch;font-family:var(--font-display);font-size:var(--text-md)}
.foot-mast__links{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg)}
.foot-mast__links a{white-space:nowrap}
.foot-mast__meta{font-size:var(--text-xs);color:var(--color-muted)}
.search-dialog{width:min(44rem,calc(100% - 2rem));max-height:min(46rem,calc(100dvh - 2rem));padding:0;border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);box-shadow:0 1.5rem 4rem var(--color-shadow)}
.search-dialog::backdrop{background:oklch(19% .018 58 / .62)}
.search-dialog__inner{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;max-height:inherit}
.search-dialog__field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-sm);align-items:center;padding:var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule)}
.search-dialog input{width:100%;min-height:2.75rem;padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-sm);background:var(--color-paper-2);color:var(--color-ink)}
.search-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule)}
.search-filters label{display:grid;gap:var(--space-2xs);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}
.search-filters select{width:100%;min-height:2.5rem;padding-inline:var(--space-sm);border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-sm);background:var(--color-paper-2);color:var(--color-ink);font:inherit;text-transform:none;letter-spacing:normal}
.search-close{min-width:2.75rem;min-height:2.75rem;border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-round);background:transparent;cursor:pointer}
.search-results{overflow:auto;padding:var(--space-sm)}
.search-empty{padding:var(--space-xl);color:var(--color-muted)}
.search-result{display:grid;gap:var(--space-2xs);padding:var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule);text-decoration:none}
.search-result[aria-selected="true"],.search-result:hover{background:var(--color-paper-2)}
.search-result strong{font-family:var(--font-display);font-size:var(--text-md)}
.search-result span{font-size:var(--text-sm);color:var(--color-ink-2)}
.search-result mark{background:var(--color-paper-3);color:var(--color-ink)}
.search-dialog__foot{display:flex;gap:var(--space-lg);padding:var(--space-sm) var(--space-md);border-block-start:var(--rule-hair) solid var(--color-rule);font-size:var(--text-xs);color:var(--color-muted)}
@media (hover:hover) and (pointer:fine){.guide-card__media:hover img{transform:scale(1.015)}}
@media (min-width:40rem){
  :root{--page:min(76rem,calc(100% - 3rem))}
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quick-plan{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:40rem) and (max-width:59.999rem){
  .search-pill__text,.search-pill__key{display:none}
  .search-pill__icon{display:block}
}
@media (min-width:60rem){
  .mast{grid-template-columns:auto minmax(18rem,32rem) auto}.mast__tools{display:contents}.search-pill{grid-column:2;justify-self:stretch;justify-content:space-between}.menu-toggle{display:none}
  .primary-nav{display:flex;grid-column:3;justify-content:flex-end;gap:var(--space-lg);padding:0;width:auto;margin:0}.site-head .mast{padding-block:var(--space-lg)}
  .home-hero{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;padding-block:var(--space-3xl) var(--space-4xl)}
  .card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.card-grid--three{grid-template-columns:1.2fr 1fr .8fr}
  .route-index{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-2xl)}
  .content-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quick-plan{grid-template-columns:repeat(2,minmax(0,1fr))}
  .article-layout{grid-template-columns:minmax(0,1fr) 17rem;gap:var(--space-3xl)}
  .article-side{position:sticky;top:var(--space-xl)}
  .foot-mast{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:end}.foot-mast__brand,.foot-mast__tag{grid-column:1}.foot-mast__links,.foot-mast__meta{grid-column:2}
}
@media (min-width:90rem){:root{--page:min(82rem,calc(100% - 6rem))}}
@media (max-width:39.999rem){
  .search-pill__text{display:none}.search-pill__key{display:none}.search-pill__icon{display:block}.brand__place{display:none}.brand__name{font-size:1.68rem}.home-hero{padding-block:var(--space-xl) var(--space-2xl)}
  .home-hero h1{font-size:clamp(2.8rem,15vw,4.3rem)}.index-band{padding-block:var(--space-xl)}
  .article-shell{padding-block-end:var(--space-3xl)}.article-head h1{font-size:clamp(2.6rem,14vw,4rem)}
  .search-dialog{width:100%;height:100dvh;max-height:none;border:0;border-radius:0}.search-dialog__foot{display:none}
}
@media (max-width:22rem){.brand__name{font-size:1.42rem}.mast{gap:var(--space-xs)}.mast__tools{gap:var(--space-xs)}}
@media (pointer:coarse){.search-pill,.menu-toggle,.text-link,.primary-nav a,.foot-mast__links a{min-height:3rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:150ms!important;animation-iteration-count:1!important;transition-duration:0ms!important}.guide-card__media img{transform:none!important}}
