:root {
  --aiera-ink: #172108;
  --aiera-ink-soft: #536058;
  --aiera-clinical: #073f35;
  --aiera-clinical-deep: #052d27;
  --aiera-mint: #6ee7bd;
  --aiera-lime: #d5ed55;
  --aiera-coral: #ff8f78;
  --aiera-sky: #a8dcf4;
  --aiera-cream: #f7f8f1;
  --aiera-focus: #ff765c;
  --aiera-radius-sm: 14px;
  --aiera-radius-md: 22px;
  --aiera-radius-lg: 34px;
  --aiera-shadow-soft: 0 18px 52px rgba(22, 63, 54, .09);
  --aiera-shadow-lift: 0 24px 65px rgba(22, 63, 54, .15);
}

html {
  font-size: 17px;
  scroll-behavior: smooth;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: "Plus Jakarta Sans", sans-serif;
  color: var(--aiera-ink);
  background-color: var(--aiera-cream);
}

h1,
h2,
h3,
h4 {
  font-family: Manrope, sans-serif;
  text-wrap: balance;
  font-kerning: normal;
}

#top h1 {
  line-height: .98 !important;
  letter-spacing: -.055em !important;
}

main h2 {
  line-height: 1.04 !important;
  letter-spacing: -.045em !important;
}

main h3 {
  line-height: 1.24 !important;
  letter-spacing: -.025em !important;
}

main p,
footer p {
  text-wrap: pretty;
}

main section {
  scroll-margin-top: 92px;
}

main a,
main button,
footer a {
  text-underline-offset: .22em;
}

main a:focus-visible,
main button:focus-visible,
footer a:focus-visible,
#aiera-company-contact a:focus-visible {
  outline: 3px solid var(--aiera-focus) !important;
  outline-offset: 4px !important;
}

::selection {
  color: #092e28;
  background: #b9f2dd;
}

.aiera-type-xxs {
  font-size: .72rem !important;
  line-height: 1.4 !important;
}

.aiera-type-xs {
  font-size: .78rem !important;
  line-height: 1.45 !important;
}

.aiera-type-sm {
  font-size: .84rem !important;
  line-height: 1.5 !important;
}

.aiera-type-md {
  font-size: .9rem !important;
  line-height: 1.55 !important;
}

.aiera-type-body {
  font-size: clamp(.94rem, .9rem + .16vw, 1.03rem) !important;
  line-height: 1.7 !important;
}

.aiera-type-number {
  min-width: 1.15em;
  font-size: .68rem !important;
  line-height: 1.2 !important;
  letter-spacing: .06em !important;
}

.aiera-type-label {
  font-size: .74rem !important;
  line-height: 1.35 !important;
  letter-spacing: .095em !important;
}

.aiera-contrast-on-dark {
  color: rgba(255, 255, 255, .76) !important;
}

.aiera-contrast-on-light {
  color: #59665f !important;
}

nav a,
header nav a {
  font-size: .78rem !important;
  line-height: 1.2 !important;
  letter-spacing: -.01em;
}

main article {
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

main article:hover {
  box-shadow: var(--aiera-shadow-soft);
}

#aiera-company-contact {
  border-top: 1px solid rgba(7, 63, 53, .08);
}

#aiera-company-contact .aiera-contact-card {
  min-height: 190px;
}

#aiera-company-contact .aiera-contact-card small {
  font-size: .74rem !important;
  line-height: 1.35 !important;
}

#aiera-company-contact .aiera-contact-card strong {
  font-size: clamp(1rem, .92rem + .28vw, 1.2rem) !important;
  line-height: 1.35 !important;
}

#aiera-company-contact .aiera-contact-card em {
  font-size: .82rem !important;
  line-height: 1.55 !important;
}

.aiera-company-legal {
  font-size: .75rem !important;
  line-height: 1.5 !important;
  color: rgba(255, 255, 255, .66) !important;
}

footer a {
  font-size: .78rem !important;
  line-height: 1.45 !important;
}

footer p:not(.aiera-company-legal) {
  font-size: .8rem !important;
  line-height: 1.6 !important;
}

@media (max-width: 900px) {
  html { font-size: 16px; }

  #top h1 {
    font-size: clamp(3rem, 10.5vw, 5.8rem) !important;
    letter-spacing: -.05em !important;
  }

  main h2 {
    font-size: clamp(2.25rem, 7vw, 4.4rem) !important;
    letter-spacing: -.04em !important;
  }

  main h3 {
    font-size: clamp(1.25rem, 3.4vw, 1.65rem) !important;
  }

  .aiera-type-body {
    font-size: .98rem !important;
    line-height: 1.68 !important;
  }
}

@media (max-width: 620px) {
  html { font-size: 16px; }

  #top h1 {
    font-size: clamp(2.75rem, 13vw, 4.25rem) !important;
    line-height: 1 !important;
  }

  main h2 {
    font-size: clamp(2rem, 9.2vw, 3rem) !important;
    line-height: 1.06 !important;
  }

  .aiera-type-xxs { font-size: .72rem !important; }
  .aiera-type-xs { font-size: .77rem !important; }
  .aiera-type-sm { font-size: .82rem !important; }
  .aiera-type-md { font-size: .88rem !important; }

  #aiera-company-contact .aiera-contact-card {
    min-height: 170px;
  }
}

@media (hover: none) {
  main article:hover {
    transform: none;
    box-shadow: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  main article { transition: none; }
}