:root{--accent:#315c4c;--ink:#303632;--paper:#f5f0e6;--muted:#62685e;--display-font:Georgia, 'Times New Roman', serif;--body-font:system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;}
*{box-sizing:border-box}
html{--gutter:1rem;color-scheme:light;background:var(--paper);color:var(--ink);font-family:var(--body-font);line-height:1.65}
body{margin:0}
a{color:var(--accent);text-decoration-thickness:.07em;text-underline-offset:.2em}
a:hover{text-decoration-thickness:.14em}
a:focus-visible,.main-navigation:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
h1,h2,h3,.brand{font-family:var(--display-font);line-height:1.12;letter-spacing:-.025em;text-wrap:pretty}
h1{font-size:clamp(2rem,5.2vw,4.5rem);max-width:22ch;margin:0}
h2{font-size:clamp(1.55rem,3vw,2.2rem);margin:0 0 1rem}
h3{font-size:1.35rem;margin:0 0 .75rem}
p{margin:0 0 1rem}
img{display:block;width:100%;height:auto;object-fit:cover}
figure{margin:1.5rem 0}
figcaption{font-size:.75rem;line-height:1.5;color:var(--muted);padding:.5rem 0;overflow-wrap:anywhere}
main,.site-header,.site-footer{width:min(100% - var(--gutter)*2,72rem);margin-inline:auto}
.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.3rem 1rem;padding-block:.65rem 0;border-bottom:1px solid var(--muted)}
.brand{font-size:clamp(1.05rem,2.5vw,1.6rem);line-height:1.25}
.brand a{text-decoration:none}
.site-header ul,.site-footer ul,.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;list-style:none;padding:0;margin:0}
.main-navigation{grid-column:1/-1;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-padding-inline:.25rem;scrollbar-width:thin}
.main-navigation ul{width:max-content;flex-wrap:nowrap;gap:1.25rem;padding:.2rem .25rem .5rem}
.main-navigation a{display:block;padding:.4rem 0;font-size:.875rem;white-space:nowrap;text-decoration:none}
.main-navigation [aria-current]{font-weight:700;text-decoration:underline;text-underline-offset:.45em}
.language-switcher{font-size:.75rem;line-height:1.4;max-width:100%}
.language-switcher ul{gap:0 .8rem}
.language-switcher a{display:block;padding:.5rem 0}
.language-switcher [aria-current]{font-weight:750;text-decoration-thickness:.16em}
.site-header:has(.language-switcher li:nth-child(2)) .language-switcher{grid-column:1/-1}
.page-heading{margin:1.75rem 0 1.5rem}
.lead{font-size:clamp(1rem,1.65vw,1.3rem);line-height:1.55;max-width:58ch;margin:.85rem 0 1rem;text-wrap:pretty}
.meta,.breadcrumbs{font-size:.8rem;color:var(--muted)}
.page-heading .meta{margin:1rem 0 0}
.breadcrumbs{margin-top:1.25rem;overflow-wrap:anywhere}
.breadcrumbs li+li:before{content:'/';padding-right:1.2rem}
.home-hero{margin-top:1rem}
.home-hero .hero-image{margin:0 calc(-1*var(--gutter))}
.home-hero .hero-image img{aspect-ratio:16/7;object-fit:cover}
.home-hero figcaption{padding-inline:var(--gutter)}
.home-hero .page-heading{margin:1rem 0 1.75rem}
.home-hero h1{font-size:clamp(1.8rem,5.5vw,4.5rem);max-width:26ch}
.home-hero .lead{font-size:clamp(.95rem,1.65vw,1.25rem);line-height:1.5}
.hero-action{margin:1rem 0 0}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.55rem 1rem;background:var(--accent);color:var(--paper);border:1px solid var(--accent);border-radius:.15rem;font-size:.95rem;font-weight:650;line-height:1.4;text-decoration:none;overflow-wrap:anywhere}
.button:hover{text-decoration:underline}
.button:active{transform:scale(.98)}
.prose{max-width:68ch;font-size:1.025rem;margin-block:2rem;overflow-wrap:anywhere}
.prose h2{margin-top:1.75em}
.prose h3{margin-top:1.5em}
.prose li+li{margin-top:.4rem}
.prose ul,.prose ol{padding-left:1.35rem;margin-block:1rem 1.5rem}
.callout{border-left:3px solid var(--accent);padding:.25rem 1rem;margin:1.5rem 0}
.section,.hub-cards{margin-block:2.5rem}
.cards{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr)}
.card{min-width:0;border:1px solid var(--muted);border-radius:.2rem;overflow:hidden}
.card-body,.hub-cards .card{padding:1.1rem}
.card h2{font-size:1.5rem}
.card h2,.card h3,.card p{overflow-wrap:anywhere}
.card p{font-size:.95rem;line-height:1.65}
.card p:last-child{margin-bottom:0}
.card figure{margin:0}
.card figcaption{padding:.65rem 1rem;font-size:.75rem}
.card img{aspect-ratio:8/5;object-fit:cover}
.disclosure{max-width:70ch;font-size:.875rem;color:var(--muted)}
.details{display:grid;grid-template-columns:1fr;gap:.5rem;padding-block:1.25rem;border-block:1px solid var(--muted);overflow-wrap:anywhere}
dt{font-weight:700}
dd{margin:0 0 .6rem}
.sources{font-size:.875rem;margin-block:2.5rem;border-top:1px solid var(--muted);padding-top:1.5rem;overflow-wrap:anywhere}
.sources ul{padding-left:1.2rem;max-width:80ch}
.sources li+li{margin-top:.6rem}
.credits{list-style:none;padding:0;max-width:48rem}
.credits li{margin-bottom:2.5rem;overflow-wrap:anywhere}
.table-scroll{max-width:100%;overflow-x:auto;margin-block:2.5rem}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:.9rem}
caption{text-align:left;max-width:65ch;padding-bottom:1rem;color:var(--muted)}
th,td{text-align:left;padding:.8rem .65rem;border-bottom:1px solid var(--muted);white-space:nowrap}
thead{color:var(--accent)}
.site-footer{border-top:1px solid var(--muted);margin-top:3rem;padding-block:2rem;font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}
.site-footer ul{margin-block:1.5rem}
.skip{position:absolute;left:1rem;top:-5rem;background:var(--paper);padding:.5rem;z-index:2}
.skip:focus{top:1rem}
@media(min-width:44rem){
  html{--gutter:1.5rem}
  .site-header{padding-top:1rem;gap:.5rem 1.5rem}
  .site-header:has(.language-switcher li:nth-child(2)) .language-switcher{grid-column:auto}
  .main-navigation ul{width:auto;flex-wrap:wrap;gap:0 1.5rem}
  .main-navigation{overflow:visible}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .details{grid-template-columns:10rem 1fr}
  dd{margin:0}
  .home-hero{margin-top:1.5rem}
  .home-hero .hero-image{margin-inline:0}
  .home-hero .hero-image img{aspect-ratio:16/7}
  .home-hero figcaption{padding-inline:0}
  .home-hero .page-heading{margin-block:1.5rem 2.5rem}
  .prose{font-size:1.075rem;margin-block:2.5rem}
  .section,.hub-cards{margin-block:3rem}
  .card-body,.hub-cards .card{padding:1.35rem}
}
@media(min-width:64rem){
  .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .page-heading{margin-block:2.5rem}
}
@media print{
  .site-header,.language-switcher,.skip{display:none}
  .cards{display:block}
  .card{break-inside:avoid;margin-block:1rem}
  a{color:inherit}
  main,.site-footer{width:100%}
  .home-hero .hero-image{margin-inline:0}
}
