html,
body {
  height: auto;
  min-height: 100%;
  overflow-x: visible;
  overflow-y: visible;
}

img, video, svg {
  max-width: 100%;
  height: auto;
}

@media (max-width: 1023px) {
  main table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.mobile-nav {
  display: none;
  max-height: calc(100vh - 72px);
  overflow: auto;
  background: #fff;
  border-top: 1px solid #e7eee9;
  padding: 8px 16px 16px;
}

.mobile-nav.open {
  display: block;
}

.mobile-nav a {
  display: block;
  padding: 12px 8px;
  border-radius: 12px;
  color: #12251b;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}

.mobile-nav a:hover {
  background: #e7eee9;
}

@media (max-width: 640px) {
  .text-display {
    font-size: 34px !important;
    line-height: 40px !important;
  }

  .text-headline-lg {
    font-size: 28px !important;
    line-height: 34px !important;
  }
}

@media (min-width: 1024px) {
  .mobile-nav,
  #menu-toggle {
    display: none !important;
  }
}

body {
  font-family: Inter, system-ui, sans-serif;
}

.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0, "opsz" 24;
  vertical-align: middle;
}

header.nav-scrolled {
  box-shadow: 0 8px 24px rgba(18, 37, 27, 0.08);
}

.hero-underline path {
  stroke-dasharray: 260;
}

.logo-tile {
  transition: box-shadow 0.25s ease;
}

.logo-tile:hover {
  box-shadow: 0 10px 24px rgba(18, 37, 27, 0.08);
}

.price-card {
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.price-card:hover {
  border-color: rgba(26, 57, 41, 0.35);
  box-shadow: 0 18px 40px rgba(26, 57, 41, 0.1);
}
