* { box-sizing: border-box; }
html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}
body {
  width: 100%;
  max-width: 100%;
  color: var(--neutral-900);
  background: var(--white);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  line-height: 1.65;
  margin: 0;
  overflow-x: hidden;
  padding-top: var(--header-height);
}
img { max-width: 100%; }
a { color: var(--cdl-blue); }
a:hover { color: var(--cdl-blue-dark); }
:focus-visible {
  outline: 3px solid var(--cdl-yellow);
  outline-offset: 3px;
}
.skip-link {
  position: fixed;
  top: .5rem;
  left: .5rem;
  z-index: 2000;
  transform: translateY(-150%);
  background: var(--white);
  color: var(--cdl-blue-dark);
  padding: .75rem 1rem;
  border-radius: var(--radius-sm);
}
.skip-link:focus { transform: translateY(0); }
.container { max-width: var(--container-max); }
main, header, footer, section { max-width: 100%; }
main:focus { outline: 0; }
section[id] { scroll-margin-top: calc(var(--header-height) + 1rem); }
.section { padding: 4.5rem 0; }
.section-alt { background: var(--neutral-100); }
.section-header { max-width: 46rem; margin-bottom: 2rem; }
.section-eyebrow {
  color: var(--cdl-green-dark);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.section-title {
  color: var(--cdl-blue-dark);
  font-size: clamp(2rem, 5vw, 3.3rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.08;
}
.section-description { color: var(--neutral-700); font-size: 1.08rem; }
.visually-hidden-focusable:not(:focus):not(:focus-within) { position: absolute !important; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
