body{font-family:var(--font-body);font-size:var(--fs-base);line-height:1.65;color:var(--charcoal);background:var(--ivory);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,.display{font-family:var(--font-display);font-weight:500;line-height:1.02;color:var(--burgundy);letter-spacing:.005em}
.display{font-size:var(--fs-display);text-transform:uppercase;line-height:.96}
h1,.h1{font-size:var(--fs-h1);text-transform:uppercase}
h2,.h2{font-size:var(--fs-h2);text-transform:uppercase}
h3,.h3{font-size:var(--fs-h3)}
h4,.h4{font-size:var(--fs-h4);line-height:1.15}
p{max-width:62ch}
.lede{font-size:var(--fs-lg);color:var(--muted);max-width:48ch}
.serif{font-family:var(--font-display)}
.italic{font-style:italic}
.small{font-size:var(--fs-sm)}
.muted{color:var(--muted)}
.eyebrow{font-size:var(--fs-xs);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep);font-weight:600}
.prose{max-width:72ch}
.prose h2{font-size:var(--fs-h3);text-transform:none;margin:2.4rem 0 .8rem}
.prose h3{font-size:var(--fs-h4);margin:1.8rem 0 .5rem}
.prose p,.prose ul,.prose ol{margin-bottom:1rem}
.prose ul,.prose ol{padding-left:1.2rem;max-width:62ch}
.prose a{color:var(--ruby);text-decoration:underline;text-underline-offset:3px}
.note{border-left:2px solid var(--gold);background:var(--cream);padding:.9rem 1.1rem;font-size:var(--fs-sm);color:var(--muted);max-width:68ch}
::selection{background:var(--ruby);color:var(--ivory)}
:focus-visible{outline:2px solid var(--ruby);outline-offset:3px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:1rem;top:-4rem;background:var(--ruby);color:var(--ivory);padding:.7rem 1rem;z-index:300}
.skip-link:focus{top:1rem}
