@import url("https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css");
@import url("https://fonts.googleapis.com/css?family=Roboto+Slab:500,400|Inter:400");
* {
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
}
html {
  margin: 0px;
  height: 100%;
  overflow-x: hidden;
  max-width: 100vw;
}
body {
  margin: 0px;
  min-height: 100%;
  overflow-x: hidden;
  max-width: 100vw;
  display: flex;
  flex-direction: column;
}
footer {
  margin-top: auto;
}
button:focus-visible {
  outline: 2px solid #4a90e2 !important;
  outline: -webkit-focus-ring-color auto 5px !important;
}

/* Download button hover effect */
button.bg-\[\#007a76\] {
  transition: all 0.3s ease;
  border: 2px solid #007a76 !important;
}

button.bg-\[\#007a76\]:hover {
  background-color: white !important;
  border: 2px solid #007a76 !important;
  transform: scale(1.15) !important;
}

button.bg-\[\#007a76\]:hover span,
button.bg-\[\#007a76\]:hover a,
button.bg-\[\#007a76\]:hover * {
  color: #007a76 !important;
}

button.bg-\[\#007a76\] img {
  transition: filter 0.3s ease;
}

button.bg-\[\#007a76\]:hover img {
  filter: brightness(0) saturate(100%) invert(32%) sepia(95%) saturate(521%) hue-rotate(140deg) brightness(95%) contrast(101%);
}

a {
  text-decoration: none;
}
a:focus-visible {
  outline: 2px solid #4a90e2 !important;
  outline: -webkit-focus-ring-color auto 5px !important;
}

/* --- Hero should fit any viewport height (no scroll needed for header+hero) --- */

#hero {
  /* Prefer modern viewport units to avoid mobile browser UI issues */
  min-height: calc(100dvh - 100px);
  min-height: calc(100svh - 100px);
}

/* Use clamp so typography/spacing scales down on short screens */
#hero-title {
  font-size: clamp(32px, 5.5vw, 88px);
  line-height: 1.05;
  letter-spacing: clamp(-1.5px, -0.06em, -0.5px);
}

#hero-subtitle {
  font-size: clamp(14px, 1.6vw, 20px);
  line-height: 1.35;
}

#hero-legal {
  font-size: clamp(11px, 1.1vw, 14px);
  line-height: 1.35;
}

/* Short viewports: reduce vertical padding and hide the illustration if needed */
@media (max-height: 720px) {
  #hero {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    gap: 16px !important;
  }

  #hero-image {
    display: none !important;
  }
}

@media (max-height: 620px) {
  #hero {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  #hero-legal-wrap {
    margin-top: 10px !important;
  }
}
