:root{
  --ground:#F5F4F0; --raise:#FFFFFF; --sunk:#EDEBE5;
  --ink:#14161A; --ink-2:#4B535A; --ink-3:#8A9299;
  --line:#E2DFD8; --line-2:#CFCBC2;
  --irid-a:#1D6B54; --irid-b:#4A2B63; --link:#1A6350;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#0C0E11; --raise:#14171B; --sunk:#101316;
    --ink:#EEECE7; --ink-2:#A3ABB3; --ink-3:#6C767E;
    --line:#212730; --line-2:#2D353F;
    --irid-a:#54B99A; --irid-b:#A184CB; --link:#5EC0A2;
  }
}
:root[data-theme="dark"]{
  --ground:#0C0E11; --raise:#14171B; --sunk:#101316;
  --ink:#EEECE7; --ink-2:#A3ABB3; --ink-3:#6C767E;
  --line:#212730; --line-2:#2D353F;
  --irid-a:#54B99A; --irid-b:#A184CB; --link:#5EC0A2;
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--ground); color:var(--ink);
  font-family:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased;
}
a{color:var(--link); text-decoration:none; border-bottom:1px solid rgba(29,107,84,.28); padding-bottom:1px}
a:hover{border-bottom-color:currentColor}
a:focus-visible{outline:2px solid var(--link); outline-offset:3px; border-radius:2px}

/* header */
.site-header{border-bottom:1px solid var(--line); background:var(--raise)}
.bar{max-width:940px; margin:0 auto; padding:16px 24px; display:flex; flex-wrap:wrap;
  align-items:center; justify-content:space-between; gap:12px 24px}
.brand{display:flex; align-items:center; gap:11px; border:0; color:var(--ink)}
.brand:hover{border:0}
.brand svg{width:34px; height:auto; flex:none}
.brand span{font-family:"Newsreader",Georgia,serif; font-size:20px; font-weight:400; letter-spacing:-.005em}
nav{display:flex; flex-wrap:wrap; gap:4px 20px; font-size:14.5px}
nav a{border:0; color:var(--ink-2)}
nav a:hover,nav a[aria-current="page"]{color:var(--ink); border:0}
nav a[aria-current="page"]{font-weight:600}

/* layout */
main{max-width:720px; margin:0 auto; padding:clamp(34px,6vw,64px) 24px 72px}
.wide{max-width:940px}
h1{font-family:"Newsreader",Georgia,serif; font-weight:400; font-size:clamp(28px,5.2vw,40px);
  line-height:1.15; margin:0 0 14px; text-wrap:balance; letter-spacing:-.008em}
h2{font-family:"Newsreader",Georgia,serif; font-weight:400; font-size:clamp(21px,3vw,26px);
  line-height:1.25; margin:38px 0 12px; text-wrap:balance}
h3{font-size:16.5px; font-weight:600; margin:26px 0 8px}
p{margin:0 0 15px; max-width:66ch}
ul,ol{margin:0 0 15px; padding-left:1.35em; max-width:66ch}
li{margin-bottom:7px}
.lede{font-size:18px; color:var(--ink-2); max-width:56ch}
.eyebrow{font-size:11px; letter-spacing:.17em; text-transform:uppercase; color:var(--ink-3);
  font-weight:600; margin:0 0 10px}
hr.irid{width:52px; height:2px; border:0; margin:26px 0;
  background:linear-gradient(90deg,var(--irid-a),var(--irid-b))}
.updated{font-size:13.5px; color:var(--ink-3); margin-top:34px; padding-top:16px; border-top:1px solid var(--line)}

/* cards & data */
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); gap:14px; margin:24px 0 8px}
.card{background:var(--raise); border:1px solid var(--line); border-radius:4px; padding:17px 19px}
.card h3{margin:0 0 6px}
.card p{font-size:14.5px; color:var(--ink-2); margin:0}
dl.facts{display:grid; grid-template-columns:auto 1fr; gap:9px 22px; margin:22px 0; font-size:15px;
  background:var(--raise); border:1px solid var(--line); border-radius:4px; padding:20px 22px}
dl.facts dt{color:var(--ink-3); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  font-weight:600; padding-top:5px}
dl.facts dd{margin:0; color:var(--ink)}
address{font-style:normal; line-height:1.65}
.mono{font-variant-numeric:tabular-nums}

/* footer */
.site-footer{border-top:1px solid var(--line); background:var(--sunk); margin-top:40px}
.foot{max-width:940px; margin:0 auto; padding:34px 24px 40px;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:26px 34px}
.foot h4{font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--ink-3);
  margin:0 0 9px; font-weight:600}
.foot ul{list-style:none; margin:0; padding:0; font-size:14.5px}
.foot li{margin-bottom:5px}
.foot a{border:0; color:var(--ink-2)}
.foot a:hover{color:var(--ink)}
.foot address{font-size:14.5px; color:var(--ink-2)}
.legal{max-width:940px; margin:0 auto; padding:0 24px 34px; font-size:13px; color:var(--ink-3)}
