*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:4.5rem;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--c-bg);color:var(--c-ink);font:300 var(--fs-body)/1.75 var(--f-body)}
img,video{max-width:100%;display:block}
a{color:inherit}
p{margin:0 0 1.2em;max-width:62ch}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--c-ink);color:#fff;padding:.7rem 1rem;z-index:100}.skip:focus{left:0}
:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px}
.heading{font:300 var(--fs-h2)/1.1 var(--f-display);letter-spacing:-.01em;margin:0 0 .6em;font-optical-sizing:auto}
.section{padding:var(--sp-section) var(--sp-gutter);max-width:calc(var(--maxw) + 2*var(--sp-gutter));margin:auto;position:relative}
.reveal{opacity:0;transform:translateY(18px);transition:opacity var(--t-slow) var(--ease),transform var(--t-slow) var(--ease)}
.reveal.is-in{opacity:1;transform:none}
.btn{display:inline-block;padding:.95rem 2rem;font:400 .95rem var(--f-body);letter-spacing:.04em;text-decoration:none;border:1px solid var(--c-ink);border-radius:var(--radius);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}
.btn--solid{background:var(--c-ink);color:var(--c-on-dark)}.btn--solid:hover{background:var(--c-accent);border-color:var(--c-accent)}
.btn--line{background:transparent}.btn--line:hover{background:var(--c-ink);color:var(--c-on-dark)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
