/* HOME */

.secao { padding: 54px 0; }
.secao + .secao { padding-top: 0; }
.centro { text-align: center; margin-top: 32px; }

/* ---------- hero ---------- */
.hero { position: relative; overflow: hidden; background: var(--fundo-alt); }
.hero-pista { position: relative; }
.hero-slide { display: none; }
.hero-slide.ativo { display: block; animation: aparece 600ms ease; }
.hero-slide img { width: 100%; height: auto; object-fit: cover; }
@keyframes aparece { from { opacity: 0; transform: scale(1.01); } to { opacity: 1; transform: none; } }

.hero-seta {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 42px; height: 42px; border: 0; border-radius: 50%;
  background: rgba(252, 250, 245, .8); backdrop-filter: blur(4px);
  color: var(--texto); font-size: 26px; line-height: 1; display: grid; place-items: center;
  opacity: 0; transition: opacity var(--transicao), background var(--transicao);
}
.hero:hover .hero-seta { opacity: 1; }
.hero-seta:hover { background: #fff; }
.hero-seta.ant { left: 18px; }
.hero-seta.prox { right: 18px; }

.hero-pontos { position: absolute; bottom: 16px; left: 0; right: 0; display: flex; justify-content: center; gap: 8px; }
.hero-pontos button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: rgba(252, 250, 245, .55); transition: all var(--transicao); }
.hero-pontos button.ativo { background: var(--fundo); width: 26px; border-radius: 999px; }

/* ---------- stories ---------- */
.stories { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.story { position: relative; display: block; overflow: hidden; border-radius: var(--raio); aspect-ratio: 812 / 1120; background: var(--fundo-alt); }
.story img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms cubic-bezier(.22,.61,.36,1); }
.story:hover img { transform: scale(1.05); }
.story span {
  position: absolute; left: 14px; right: 14px; bottom: 14px; color: #fff;
  font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
  text-shadow: 0 1px 12px rgba(0, 0, 0, .5);
}

/* ---------- tiles de categoria ---------- */
.tiles { display: grid; grid-template-columns: repeat(8, 1fr); gap: 14px; }
.tile { text-align: center; }
.tile img { aspect-ratio: 1; object-fit: cover; border-radius: 50%; background: var(--fundo-alt); transition: transform var(--transicao), box-shadow var(--transicao); }
.tile:hover img { transform: translateY(-4px); box-shadow: var(--sombra); }
.tile span { display: block; margin-top: 12px; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.tile:hover span { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- bloco de texto seo ---------- */
.seo { background: var(--fundo-alt); padding: 56px 0; margin-top: 40px; }
.seo-texto { max-width: 760px; margin: 0 auto; text-align: center; color: var(--texto-suave); font-size: 13.5px; line-height: 1.8; }

@media (max-width: 1024px) {
  .stories { grid-template-columns: repeat(2, 1fr); }
  .tiles { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 760px) {
  .secao { padding: 34px 0; }
  .stories { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .tiles { grid-template-columns: repeat(3, 1fr); gap: 12px; }
  .tile span { font-size: 10.5px; }
  .hero-seta { display: none; }
}
