/* Hero editorial com imagem da plataforma abaixo da mensagem. */
.home-hero.rztalk-light-bg {
  width: 100%;
  min-height: 100vh;
  color: var(--ink);
  background-color: #fafaf8;
  position: relative;
  isolation: isolate;
}
.home-hero.rztalk-light-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: url('/images/optimized/hero-wallpaper-rztalk-640.webp') center top / 640px 640px repeat;
  opacity: .12;
  animation: hero-breathe 10s ease-in-out infinite;
}
@keyframes hero-breathe {
  0%, 100% { opacity: .10; }
  50% { opacity: .15; }
}
@media (prefers-reduced-motion: reduce) {
  .home-hero.rztalk-light-bg::before { animation: none; opacity: .12; }

}
.home-hero .home-hero-inner { display: flex; flex-direction: column; align-items: center; gap: 48px; width: min(100% - 48px, 1120px); min-height: 0; padding: 64px 0 48px; }
.home-hero .home-hero-copy { max-width: 850px; text-align: center; }
.home-hero h1.hero-category { font-size: 16px; font-weight: 600; letter-spacing: 0; line-height: 1.4; margin: 0 0 22px; color: var(--red); }
.home-hero .hero-headline { font-size: clamp(32px, 4.2vw, 54px); font-weight: 650; letter-spacing: -.045em; line-height: 1.12; margin: 0; text-wrap: balance; }
.home-hero .hero-lead { max-width: 730px; margin: 24px auto 0; font-size: 16px; line-height: 1.7; text-wrap: pretty; }
.home-hero .hero-actions { justify-content: center; margin-top: 28px; }
.home-hero .hero-note { justify-content: center; margin-top: 20px; }
.hero-platform-image { width: 100%; margin: 0; }
.hero-platform-image img { display: block; width: 100%; height: auto; border-radius: 8px; }
.home-carousel-viewport { overflow: hidden; border-radius: 12px; background: #fff; border: 1px solid var(--line); box-shadow: 0 8px 24px rgb(28 38 32 / 4%); }
.home-carousel-track { display: flex; transition: transform 760ms cubic-bezier(.22,.68,0,1); will-change: transform; }
.home-carousel-slide { flex: 0 0 100%; min-width: 0; aspect-ratio: 2558 / 1322; }
.home-carousel-slide img { width: 100%; height: 100%; object-fit: contain; }
.home-carousel-controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 18px; }
.home-carousel-arrow,.home-carousel-toggle,.home-carousel-dots button { color: var(--ink); cursor: pointer; border: 1px solid rgb(39 41 37 / 16%); background: rgb(255 255 255 / 82%); transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease; }
.home-carousel-arrow { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; font-size: 18px; }
.home-carousel-toggle { min-height: 36px; padding: 0 12px; border-radius: 999px; font: inherit; font-size: 11px; }
.home-carousel-dots { display: flex; align-items: center; gap: 7px; }
.home-carousel-dots button { width: 8px; height: 8px; padding: 0; border-radius: 999px; }
.home-carousel-dots button[aria-current="true"] { width: 24px; background: var(--red); border-color: var(--red); }
.home-carousel-arrow:hover,.home-carousel-toggle:hover,.home-carousel-dots button:hover { transform: translateY(-1px); background: #fff; border-color: rgb(39 41 37 / 36%); }
.home-carousel button:focus-visible { outline: 3px solid var(--red); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .home-carousel-track,.home-carousel-arrow,.home-carousel-toggle,.home-carousel-dots button { transition: none; } }
.home-hero .home-visual { width: min(100%, 720px); min-height: 440px; }
.home-hero .hero-proof { width: min(100% - 48px, 1120px); margin: 0 auto; }
@media (max-width: 760px) {
 .home-hero .home-hero-inner { width: calc(100% - 40px); padding-top: 44px; gap: 32px; }
 .home-hero .hero-lead { font-size: 14px; margin-top: 20px; }
 .home-hero h1.hero-category { font-size: 14px; margin-bottom: 18px; }
 .home-hero .home-visual { min-height: 360px; }
 .home-hero .hero-proof { width: calc(100% - 40px); }
}

/* Contraste sobre o fundo abstrato claro. */
.home-hero .hero-headline { color: var(--ink); }
.home-hero .hero-lead, .home-hero .hero-note { color: var(--muted); }
.home-hero .hero-proof { color: var(--muted); border-color: var(--line); }
.home-hero .hero-actions .button.secondary { background: transparent; color: var(--ink); border-color: var(--line); }
.home-hero .hero-actions .button.secondary:hover { background: #fff; border-color: #bfc4c0; }
