
*,*::before,*::after {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:110px
}
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:16px/1.65 var(--body);
  -webkit-font-smoothing:antialiased
}
body:has(dialog[open]) {
  overflow:hidden
}
a {
  color:inherit;
  text-decoration:none
}
button,input,select,textarea {
  font:inherit
}
button,a,input,select,textarea,summary {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
button:disabled {
  opacity:.5;
  cursor:wait
}
img {
  display:block;
  max-inline-size:100%;
  block-size:auto
}
h1,h2,h3,h4,p {
  margin:0
}
h1,h2 {
  font-family:var(--display);
  font-weight:400;
  line-height:1.09;
  letter-spacing:-.035em
}
h1 {
  font-size:clamp(2.6rem,5vw,4.9rem)
}
h2 {
  font-size:clamp(2rem,3.25vw,3.2rem)
}
h3 {
  font-size:1.25rem;
  line-height:1.35;
  font-weight:500;
  letter-spacing:-.02em
}
p {
  color:var(--muted)
}
button {
  color:inherit
}
::selection {
  background:var(--accent-soft);
  color:var(--ink)
}
:focus-visible {
  outline:3px solid var(--focus);
  outline-offset:5px
}
input:focus-visible,textarea:focus-visible,select:focus-visible {
  outline-offset:2px
}
[hidden] {
  display:none!important
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.skip-link {
  position:fixed;
  inset-block-start:-80px;
  inset-inline-start:20px;
  background:var(--button);
  color:var(--on-button);
  padding:12px 20px;
  z-index:100
}
.skip-link:focus {
  inset-block-start:12px
}
.eyebrow {
  font:600 .72rem/1.5 var(--body);
  text-transform:uppercase;
  letter-spacing:.17em;
  color:var(--accent);
  display:block;
  margin-block-end:18px
}
.muted {
  color:var(--muted)
}
.lead {
  font-size:1.13rem;
  line-height:1.8;
  max-inline-size:640px
}
.arrow {
  display:inline-block;
  font:1.25rem/1 Arial;
  transition:transform .2s
}
[dir=rtl] .arrow {
  scale:-1 1
}
.logo {
  width:157px;
  height:46px;
  object-fit:contain
}
.logo-dark {
  display:none
}
.wordmark {
  direction:ltr;
  unicode-bidi:isolate
}
bdi {
  overflow-wrap:anywhere
}
.prose {
  max-inline-size:760px
}
.prose p,.prose ul {
  margin-block:0 1.4rem
}
.prose h2 {
  font-family:var(--body);
  font-size:1.65rem;
  font-weight:500;
  margin-block:2.3rem 1rem;
  letter-spacing:-.025em
}
.prose h3 {
  margin-block:1.5rem .75rem
}
.prose ul {
  padding-inline-start:1.4rem;
  color:var(--muted)
}
.prose li {
  margin-block:.5rem
}
.prose strong {
  color:var(--ink);
  font-weight:600
}
.prose a {
  text-decoration:underline;
  text-underline-offset:4px
}
.prose>*:first-child {
  margin-block-start:0
}

