:root {
  --milian-ink: #1a1a1a;
  --milian-green: #139c3c;
  --milian-green-bright: #23d95a;
  --milian-muted: #656565;
  --milian-surface: #f8f8f8;
}

html { overflow-x: hidden; }
body { min-width: 320px; }
img, video { max-width: 100%; }
button, input, select, textarea { font: inherit; }
a, button { -webkit-tap-highlight-color: transparent; }

.site-header { backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.site-header__logo img { object-fit: contain; }
.site-header__cta, .site-header__menu-button { flex-shrink: 0; }

.site-footer a { text-underline-offset: 4px; }
.site-footer a:hover { text-decoration: underline !important; }

section img {
  box-shadow: 0 18px 48px rgba(0, 0, 0, .08);
}

details {
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
details[open] {
  border-color: rgba(19, 156, 60, .45) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .07);
}
details summary { cursor: pointer; }

input, select, textarea {
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--milian-green) !important;
  box-shadow: 0 0 0 4px rgba(19, 156, 60, .12);
  outline: none;
}

@media (max-width: 979px) {
  .site-header__cta { display: none !important; }
  .site-header__inner { padding-inline: 18px !important; }
  .site-header__logo img { height: 42px !important; width: auto !important; }
}

@media (max-width: 680px) {
  section { padding-left: 18px !important; padding-right: 18px !important; }
  section [style*="minmax(320px"] { grid-template-columns: minmax(0, 1fr) !important; }
  section [style*="minmax(288px"] { grid-template-columns: minmax(0, 1fr) !important; }
  form { padding: 24px 18px !important; }
  input:not([type="checkbox"]):not([type="radio"]), select, textarea { width: 100%; }
  .whatsapp-float {
    right: 14px !important;
    bottom: 14px !important;
    min-height: 48px !important;
    padding-inline: 16px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 420px) {
  .site-header__logo img { height: 36px !important; }
  h1 { overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

