/* Layout-only overrides for the preserved uploaded website. */
html {
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: 88px;
}
body { margin: 0; }
#root { width: 100%; }
#root :is(.grid, .flex) > :not(.shrink-0) { min-width: 0; }
#root :is(h1, h2, h3, h4, p, a, button, label) {
  overflow-wrap: anywhere;
}
#root :is(img, video, canvas) { max-width: 100%; }
#root :is(button, a) > :is(svg, .shrink-0) { flex-shrink: 0; }
#root input, #root textarea, #root select { max-width: 100%; }
#root :is(button, a)[class*="h-"] {
  white-space: normal;
}
#root .modal-card {
  max-height: calc(100dvh - 32px);
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
#root .modal-card > .relative > .flex:first-child {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}
#root .modal-card button[aria-label="Close contact"] {
  width: 44px;
  height: 44px;
}
#root header > div:first-child > :last-child { flex-shrink: 0; }
#root header button.lg\:hidden { width: 44px; height: 44px; }
#root header > div[class*="overflow-auto"] {
  max-height: calc(100dvh - 72px - env(safe-area-inset-top, 0px));
  overscroll-behavior: contain;
  padding-bottom: max(24px, env(safe-area-inset-bottom, 0px));
}
@media (min-width: 1024px) {
  #root .lg\:grid-cols-\[1\.15fr_0\.85fr\] { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
  #root .lg\:grid-cols-\[1\.1fr_0\.9fr\] { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
  #root .lg\:grid-cols-\[1\.2fr_0\.8fr\] { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
  #root .lg\:grid-cols-\[0\.9fr_1\.1fr\] { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  #root header nav { gap: 20px; }
}
@media (max-width: 767px) {
  #root header > div:first-child {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
  }
  #root :is(input, textarea, select) { font-size: 16px; }
  #root :is(button, a)[class*="h-"]:not([class*="w-"]) {
    height: auto;
    min-height: 44px;
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: center;
  }
  #root header > div[class*="overflow-auto"] button { min-height: 44px; }
  #root section > div[class*="py-4"][class*="overflow-hidden"] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  #root section > div[class*="py-4"] > .relative { width: 100%; }
  #root .modal-card > .relative { padding: 20px; }
  #root .modal-card .group > .flex { gap: 10px; }
  #root .modal-card .group > .flex > .shrink-0 {
    width: 32px;
    height: 32px;
    font-size: 16px;
  }
  #root .modal-card .group .flex.items-center { flex-wrap: wrap; }
  #root .modal-card a[href^="tel:"]:not([class*="h-"]) { font-size: 18px; }
  #root .modal-card > .relative > .flex:last-child { flex-wrap: wrap; gap: 8px; }
  #root footer .flex.items-center { flex-wrap: wrap; }
  #root [class*="w-[320px]"] { max-width: 100%; }
}
@media (max-width: 374px) {
  #root .px-6 { padding-left: 16px; padding-right: 16px; }
  #root :is(.p-7, .p-8) { padding: 20px; }
  #root .modal-card > .relative { padding: 16px; }
  #root h1 { font-size: 36px; }
  #root .modal-card .group { padding: 12px; }
  #root .modal-card > .relative > .grid { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  #root *, #root *::before, #root *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}