@font-face {
  font-family:Urbanist;
  src:url('../fonts/Urbanist-Regular.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap
}
@font-face {
  font-family:Urbanist;
  src:url('../fonts/Urbanist-SemiBold.woff2') format('woff2');
  font-weight:600;
  font-style:normal;
  font-display:swap
}
*,*::before,*::after {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:7.5rem;
  -webkit-text-size-adjust:100%
}
body {
  margin:0;
  background:var(--white);
  color:var(--ink);
  font:400 var(--text-base)/1.65 var(--font);
  -webkit-font-smoothing:antialiased
}
body:has(dialog[open]) {
  overflow:hidden
}
button,input,select,textarea {
  font:inherit
}
button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent
}
a {
  color:inherit;
  text-decoration:none
}
button {
  cursor:pointer
}
button:disabled {
  cursor:not-allowed;
  opacity:.55
}
img,svg {
  display:block;
  max-width:100%
}
img {
  height:auto
}
button,fieldset {
  margin:0
}
button {
  border:0
}
figure,blockquote {
  margin:0
}
h1,h2,h3,h4,p {
  margin:0
}
h1,h2,h3,h4 {
  color:var(--navy);
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.045em;
  text-wrap:balance
}
h1 {
  font-size:var(--display-1)
}
h2 {
  font-size:var(--display-3)
}
h3 {
  font-size:var(--display-4)
}
h4 {
  font-size:1.3rem
}
p+p {
  margin-top:1rem
}
p {
  max-width:68ch
}
ul,ol {
  margin:0;
  padding:0
}
li {
  list-style:none
}
strong,b {
  font-weight:600
}
:focus-visible {
  outline:3px solid var(--navy);
  outline-offset:5px
}
[hidden] {
  display:none!important
}
::selection {
  background:var(--mint);
  color:var(--navy)
}
.container {
  width:min(100% - var(--gutter)*2,var(--content-width));
  margin-inline:auto
}
.section {
  padding-block:var(--section-space)
}
.section--compact {
  padding-block:clamp(3rem,5vw,5rem)
}
.surface {
  border-radius:var(--radius-lg);
  overflow:clip
}
.surface--paper {
  background:var(--paper)
}
.surface--mint {
  background:var(--mint-soft)
}
.surface--navy {
  background:var(--navy);
  color:var(--white)
}
.surface--navy h1,.surface--navy h2,.surface--navy h3,.surface--navy h4 {
  color:var(--white)
}
.surface--navy p {
  color:#e1e8ee
}
.surface--navy :focus-visible {
  outline-color:var(--mint)
}
.eyebrow {
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:1.3rem
}
.surface--navy .eyebrow {
  color:var(--mint)
}
.lead {
  font-size:var(--text-lg);
  line-height:1.55;
  color:#555
}
.small {
  font-size:var(--text-sm);
  line-height:1.6;
  color:var(--muted)
}
.display-1 {
  font-size:var(--display-1)
}
.display-2 {
  font-size:var(--display-2)
}
.display-3 {
  font-size:var(--display-3)
}
.display-4 {
  font-size:var(--display-4)
}
.text-mint {
  color:var(--mint)
}
.text-navy {
  color:var(--navy)
}
.text-muted {
  color:var(--muted)
}
.stack>*+* {
  margin-top:var(--stack-space,1.5rem)
}
.cluster {
  display:flex;
  gap:var(--cluster-gap,1rem);
  align-items:center;
  flex-wrap:wrap
}
.split {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(2rem,6vw,6rem);
  align-items:center
}
.split--start {
  align-items:start
}
.split--reverse>:first-child {
  order:2
}
.auto-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));
  gap:var(--space-3)
}
.reading-width {
  max-width:47rem
}
.section-heading {
  margin-bottom:clamp(2rem,4vw,4rem)
}
.section-heading .lead {
  margin-top:1.5rem;
  max-width:41rem
}
.rule {
  border:0;
  border-top:1px solid var(--line);
  margin:0
}
.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;
  z-index:300;
  top:.75rem;
  left:1rem;
  background:var(--navy);
  color:white;
  padding:.8rem 1rem;
  border-radius:var(--radius-pill);
  transform:translateY(-200%)
}
.skip-link:focus {
  transform:translateY(0)
}
.icon {
  width:1.25em;
  height:1.25em;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0
}
@media(max-width:760px) {
  .split {
    grid-template-columns:1fr;
    gap:2.5rem
  }
  .split--reverse>:first-child {
    order:0
  }
  .eyebrow {
    font-size:.68rem;
    letter-spacing:.1em
  }
  .lead {
    font-size:1.125rem
  }
  .desktop-break {
    display:none
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important
  }
}
