:root{
  --pitch:#0F3D2E; --pitch-deep:#092A20; --turf:#1C5A43;
  --chalk:#F2F4EE; --chalk-dim:#B9C8BF; --gold:#E2B13C;
  --measure:36rem;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--pitch-deep);color:var(--chalk)}
body{font-family:"Newsreader",Georgia,serif;font-size:1.125rem;line-height:1.6;
  background:
   repeating-linear-gradient(90deg,var(--pitch) 0 7.5rem,#10432f 7.5rem 15rem);
  min-height:100vh}
a{color:var(--gold);text-underline-offset:.2em}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}
.wrap{max-width:68rem;margin:0 auto;padding:0 1.5rem}
header.top{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--chalk);
  font-family:"Archivo",system-ui,sans-serif;font-stretch:112%;font-weight:800;font-size:1.25rem;letter-spacing:-.01em}
.brand svg{width:2rem;height:2rem}
nav a{font-family:"Archivo",system-ui,sans-serif;color:var(--chalk-dim);text-decoration:none;margin-left:1.25rem;font-size:.95rem}
nav a:hover{color:var(--chalk)}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center;padding-top:3rem;padding-bottom:5rem}
h1,h2{font-family:"Archivo",system-ui,sans-serif;font-stretch:118%;font-weight:900;line-height:1.02;letter-spacing:-.02em}
h1{font-size:clamp(2.6rem,6.5vw,4.75rem)}
h2{font-size:clamp(1.6rem,3vw,2.25rem);margin-bottom:1rem}
.lede{max-width:var(--measure);margin-top:1.5rem;color:var(--chalk-dim);font-size:1.25rem}
.status{margin-top:2rem;display:inline-block;border:2px solid var(--chalk);padding:.6rem 1rem;
  font-family:"Archivo",system-ui,sans-serif;font-weight:600;font-size:.95rem}
.board{width:100%;height:auto}
.board .line{fill:none;stroke:var(--chalk);stroke-opacity:.55;stroke-width:2}
.board .dot{fill:var(--chalk)}
.board .dot.gold{fill:var(--gold)}
@media (prefers-reduced-motion:no-preference){
  .board .dot{animation:drop .5s cubic-bezier(.2,.8,.2,1) both}
  .board .dot:nth-of-type(2){animation-delay:.05s}.board .dot:nth-of-type(3){animation-delay:.1s}
  .board .dot:nth-of-type(4){animation-delay:.15s}.board .dot:nth-of-type(5){animation-delay:.2s}
  .board .dot:nth-of-type(6){animation-delay:.25s}.board .dot:nth-of-type(7){animation-delay:.3s}
  .board .dot:nth-of-type(8){animation-delay:.35s}.board .dot:nth-of-type(9){animation-delay:.4s}
  .board .dot:nth-of-type(10){animation-delay:.45s}.board .dot:nth-of-type(11){animation-delay:.5s}
  @keyframes drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
}
section.modes{background:var(--pitch-deep);padding:4.5rem 0}
.modes .grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem}
.modes p{max-width:var(--measure);color:var(--chalk-dim)}
.modes p+p{margin-top:.9rem}
.tiers{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:.4rem}
.tiers span{font-family:"Archivo",system-ui,sans-serif;font-size:.85rem;padding:.2rem .6rem;border:1px solid var(--turf);color:var(--chalk-dim)}
.tiers span:last-child{border-color:var(--gold);color:var(--gold);font-weight:700}
section.about{padding:4.5rem 0}
section.about p{max-width:var(--measure);color:var(--chalk-dim)}
section.about p+p{margin-top:.9rem}
footer{background:var(--pitch-deep);padding:2.5rem 0;font-family:"Archivo",system-ui,sans-serif;font-size:.9rem;color:var(--chalk-dim)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}
footer a{color:var(--chalk-dim)}
/* document pages */
article.doc{background:var(--pitch-deep);max-width:46rem;margin:1rem auto 4rem;padding:3rem 2.5rem}
article.doc h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:.5rem}
article.doc h2{font-size:1.35rem;margin:2.25rem 0 .6rem}
article.doc p,article.doc li{color:var(--chalk-dim);max-width:40rem}
article.doc p+p{margin-top:.8rem}
article.doc ul{margin:.5rem 0 0 1.25rem}
article.doc li+li{margin-top:.35rem}
.updated{font-family:"Archivo",system-ui,sans-serif;font-size:.9rem}
@media (max-width:760px){
  .hero,.modes .grid{grid-template-columns:1fr}
  .hero{padding-top:1.5rem;gap:2rem}
  article.doc{padding:2rem 1.25rem}
  nav a{margin-left:.9rem}
}
