/* Dynamic CMS rendering safeguards. Brand imagery is never filtered or animated. */
.brand--header img {
  filter: none !important;
  transform: none !important;
  animation: none !important;
}

.hero-media img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

main img:not(.brand__logo) {
  max-width: 100%;
  height: auto;
}

.custom-content {
  padding: clamp(48px, 7vw, 84px) 0;
}

.custom-content > *:first-child {
  margin-top: 0;
}

.custom-content table {
  width: 100%;
  border-collapse: collapse;
}

.custom-content th,
.custom-content td {
  padding: 12px 14px;
  border: 1px solid var(--line);
  text-align: left;
}

:focus-visible {
  outline: 3px solid rgba(255, 122, 26, 0.48);
  outline-offset: 3px;
}

@media (max-width: 640px) {
  .hero-media img {
    width: 100%;
    height: auto !important;
    aspect-ratio: 3 / 2;
  }
}
