/* Peças que o Tailwind (via CDN) não expressa bem em utilitários puros. */

html {
  overflow-x: hidden;
}

@font-face {
  font-family: sans-serif;
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

.hero-bg {
  background-image:  url('/images/banner.webp');
  background-size: cover;
  background-position: initial;
  background-color: #000d23;
}

.hero-bg-light {
  background-image: linear-gradient(rgba(0, 0, 18, 0.4), rgba(0, 3, 29, 0.4)), url('/images/banner.webp');
  background-size: cover;
  background-position: initial;
  background-color: #001130;
}

.hero-bg-quemsomos {
  background-image: linear-gradient(rgba(0, 0, 18, 0.4), rgba(0, 3, 29, 0.4)), url('/images/clip.webp');
  background-size: cover;
  background-position: initial;
  background-color: #001130;
}

.hero-stripes {
  background-image: repeating-linear-gradient(
    -45deg,
    #d8ae76 0px,
    #d8ae76 3px,
    transparent 3px,
    transparent 18px
  );
  -webkit-mask-image: linear-gradient(-45deg, black 40%, transparent 75%);
  mask-image: linear-gradient(-45deg, black 40%, transparent 75%);
}

.framed-shadow::before {
  content: '';
  position: absolute;
  top: 22px;
  left: 22px;
  width: 100%;
  height: 100%;
  background: #d8ae76;
  z-index: 0;
}

.nav-link {
  position: relative;
}

.nav-link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 2px;
  background: #d8ae76;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s ease;
}

.nav-link:hover::after,
.nav-link.is-active::after {
  transform: scaleX(1);
}

@media (max-width: 767px) {
  #site-nav {
    transform: translateX(100%);
    transition: transform 0.3s ease;
  }

  #site-nav.is-open {
    transform: translateX(0);
  }
}
