html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  overflow-x: hidden;
  max-width: 100%;
}
img, video {
  max-width: 100%;
  height: auto;
}

@media (max-width: 1023px) {
  header nav.hidden,
  header nav {
    display: none !important;
  }
  header button[aria-label="Abrir menu"] {
    display: inline-flex !important;
  }
  header .md\:block {
    display: none !important;
  }
}

@media (min-width: 1024px) {
  header button[aria-label="Abrir menu"] {
    display: none !important;
  }
  header nav {
    display: flex !important;
  }
}

@media (max-width: 767px) {
  .md\:flex-row {
    flex-direction: column !important;
  }
  .md\:grid-cols-2,
  .md\:grid-cols-3,
  .md\:grid-cols-4,
  .lg\:grid-cols-2,
  .lg\:grid-cols-3,
  .lg\:grid-cols-4 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  h1 {
    font-size: clamp(2.25rem, 10vw, 3.25rem) !important;
    line-height: 0.95 !important;
  }
}

header [class*="absolute"] a,
header .absolute a {
  color: #0a1e3d !important;
}
header [class*="absolute"] a:hover {
  color: #fff !important;
}

@keyframes agal-marquee {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-50%,0,0); }
}
.agal-marquee-track {
  display: flex;
  width: max-content;
  animation: agal-marquee 32s linear infinite;
}
.agal-marquee-track:hover { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
  .agal-marquee-track { animation: none; }
}


/* === animações CSS (sem JavaScript) === */
@keyframes agal-rise {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes agal-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
@keyframes agal-line {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

.agal-hero-copy > * {
  animation: agal-rise .8s cubic-bezier(.22,1,.36,1) both;
}
.agal-hero-copy > *:nth-child(1) { animation-delay: .05s; }
.agal-hero-copy > *:nth-child(2) { animation-delay: .16s; }
.agal-hero-copy > *:nth-child(3) { animation-delay: .28s; }
.agal-hero-copy > *:nth-child(4) { animation-delay: .4s; }

header img[src*="iso-9001"] {
  animation: agal-float 4.5s ease-in-out infinite;
}

a.inline-flex, a.group, button[type="submit"] {
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}
a.inline-flex:hover, a.group:hover {
  transform: translateY(-2px);
}

.group.relative img {
  transition: transform .6s cubic-bezier(.22,1,.36,1);
}
.group.relative:hover img {
  transform: scale(1.05);
}

@supports (animation-timeline: view()) {
  main section + section {
    animation: agal-rise .7s cubic-bezier(.22,1,.36,1) both;
    animation-timeline: view();
    animation-range: entry 0% entry 28%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .agal-hero-copy > *,
  header img[src*="iso-9001"],
  main section + section,
  .agal-marquee-track {
    animation: none !important;
  }
  a.inline-flex:hover, a.group:hover, .group.relative:hover img {
    transform: none !important;
  }
}

footer nav a[href*="politica-de-privacidade"],
footer nav a[href*="termos-de-uso"] {
  padding: 0 14px;
  letter-spacing: 0.14em;
  white-space: nowrap;
}

header,
header.sticky,
header.bg-ocean-dark {
  background: #fff !important;
  background-color: #fff !important;
  border-bottom: 1px solid rgba(0,0,0,.08) !important;
}
header > div:first-child {
  color: #0a1e3d !important;
  border-color: rgba(0,0,0,.08) !important;
}
header nav a,
header nav a.text-white,
header a.text-white,
header .text-white {
  color: #0a1e3d !important;
}
header nav a.bg-ocean-light,
header nav a[class*="bg-ocean-light"],
header a.bg-ocean-light {
  color: #fff !important;
}
header button[aria-label="Abrir menu"],
header button[aria-label="Abrir menu"] svg {
  color: #0a1e3d !important;
  stroke: #0a1e3d !important;
}
header a[href="/"] img,
header img[src*="agalvanica-logo"] {
  filter: none !important;
}

header nav.agal-desktop-nav {
  display: flex !important;
  color: #0a1e3d !important;
}
header nav.agal-desktop-nav > a {
  color: #0a1e3d !important;
}
header nav.agal-desktop-nav > a[class*="bg-ocean-light"] {
  color: #fff !important;
}
@media (max-width: 1023px) {
  header nav.agal-desktop-nav {
    display: none !important;
  }
}
