/* Base reset and typography */
:root {
  color-scheme: light;
  --vh-unit: 1vh;
}

@supports (height: 1svh) {
  :root {
    --vh-unit: 1svh;
  }
}

@supports (-webkit-touch-callout: none) {
  @media (max-width: 1024px) {
    .hero-stage,
    .hero-media {
      position: relative;
      overflow: hidden;
    }

    .hero-media > img.hero-bg,
    .hero-media > video.hero-bg,
    .hero-media picture > img {
      position: relative !important;
      top: auto !important;
      left: auto !important;
      transform: none !important;
      width: 100% !important;
      height: 100% !important;
      min-width: 100%;
      min-height: 100%;
      max-width: none !important;
      max-height: none !important;
      object-fit: cover !important;
      object-position: center center !important;
      display: block;
    }
  }
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background-color: #ffffff;
  color: #0f172a;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover,
a:focus-visible {
  text-decoration: underline;
}

img,
video,
svg {
  max-width: 100%;
  height: auto;
  display: block;
}

button {
  font-family: inherit;
}

main {
  display: block;
}
