:root{
  --paper:#FDF8EF; --sand:#F7EDDD; --card:#FFFFFF;
  --dusk:#2B2119; --dusk-2:#3A2C20; --ink:#241C14; --ink-2:#7A6A57; --ink-3:#A2917B;
  --sun:#F07A1A; --ember:#D9481F; --rule:#E8DBC6; --rule-dark:rgba(253,248,239,.16);
  --gutter:clamp(1.25rem,5vw,4rem);
  --step--1:clamp(.82rem,.79rem + .14vw,.9rem);
  --step-0:clamp(1rem,.96rem + .2vw,1.06rem);
  --step-1:clamp(1.15rem,1.1rem + .3vw,1.3rem);
  --step-2:clamp(1.5rem,1.3rem + .9vw,2rem);
  --step-3:clamp(2rem,1.6rem + 1.9vw,3rem);
}
*,*::before,*::after{ box-sizing:border-box; }
html{ background:var(--dusk); -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"Inter Tight",ui-sans-serif,system-ui,-apple-system,sans-serif;
  font-size:var(--step-0); line-height:1.65; -webkit-font-smoothing:antialiased;
}
h1,h2,.display{
  font-family:Fraunces,ui-serif,Georgia,serif;
  font-variation-settings:"SOFT" 60,"WONK" 1,"opsz" 144;
  font-weight:560; letter-spacing:-.028em; line-height:1.05; text-wrap:balance; margin:0;
}
h1{ font-size:var(--step-3); }
h2{ font-size:var(--step-2); margin-top:2.8rem; letter-spacing:-.022em; }
h3{ font-size:var(--step-1); font-weight:600; margin:1.8rem 0 0; letter-spacing:-.01em; }
p,li{ margin:.9rem 0 0; max-width:68ch; text-wrap:pretty; }
ul{ padding-left:1.2rem; }
li{ margin-top:.5rem; }
a{ color:var(--ink); text-underline-offset:.22em; text-decoration-color:var(--ink-3); }
a:hover{ text-decoration-color:var(--sun); }
:where(a,button):focus-visible{ outline:3px solid var(--sun); outline-offset:3px; border-radius:.35rem; }
strong{ font-weight:600; }
.skip{ position:absolute; left:-9999px; top:0; background:var(--ink); color:var(--paper); padding:.7rem 1.1rem; border-radius:.5rem; }
.skip:focus{ left:1rem; top:1rem; z-index:10; }
.wrap{ width:min(52rem,100%); margin-inline:auto; padding-inline:var(--gutter); }
.nav{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1rem var(--gutter); border-bottom:1px solid var(--rule);
  background:var(--paper); position:sticky; top:0; z-index:5;
}
.lockup{ display:inline-flex; align-items:center; gap:.5rem; text-decoration:none; color:inherit; }
.lockup svg{ width:2rem; height:2rem; }
.lockup .name{
  font-family:Fraunces,serif; font-variation-settings:"SOFT" 70,"WONK" 1,"opsz" 60;
  font-weight:600; font-size:1.3rem; letter-spacing:-.028em;
}
.nav a.back{ font-size:var(--step--1); color:var(--ink-2); text-decoration:none; }
.nav a.back:hover{ color:var(--ink); text-decoration:underline; text-underline-offset:.25em; }
main{ padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(4rem,8vw,6rem); }
.meta{ margin-top:1rem; font-size:var(--step--1); color:var(--ink-2); }
.lede{ margin-top:1.6rem; font-size:var(--step-1); color:var(--ink-2); }
.note{
  margin-top:1.6rem; padding:1rem 1.15rem; background:var(--sand);
  border-radius:.9rem; border:1px solid var(--rule); font-size:var(--step--1);
}
.note p{ margin-top:.5rem; }
.note p:first-child{ margin-top:0; }
table{ width:100%; border-collapse:collapse; margin-top:1.2rem; font-size:var(--step--1); }
th,td{ text-align:left; padding:.65rem .6rem; border-bottom:1px solid var(--rule); vertical-align:top; }
th{ font-weight:600; color:var(--ink-2); }
.foot{
  background:var(--dusk); color:rgba(253,248,239,.6);
  padding:2.2rem 0; font-size:var(--step--1);
}
.foot .in{ display:flex; gap:1.2rem 2rem; flex-wrap:wrap; align-items:center; justify-content:space-between; }
.foot a{ color:rgba(253,248,239,.82); text-decoration:none; }
.foot a:hover{ color:#FFC98A; text-decoration:underline; text-underline-offset:.25em; }
.foot nav{ display:flex; gap:1.4rem; flex-wrap:wrap; }
