.hero-home[data-hero-scroll] { min-height: 0; padding: 0; overflow: visible; isolation: auto; }
.has-hero-parallax .hero-home[data-hero-scroll]::after { content: none; }
.has-hero-parallax .hero-home[data-hero-scroll] .hero-home__title { translate: none; }

.hero-home {
  --hero-w: min(100% - 2 * var(--gutter), var(--container));
  position: relative;
  background: var(--bleu-celeste);
}
/* O palco tem a altura exata da tela: o que aparece ao abrir a página é o mesmo
   quadro que fica preso durante a animação, com o conteúdo centralizado entre
   o menu e a base da tela. */
.hero-home__stage {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100vh;
  min-height: 100svh;
  padding-top: calc(var(--header-h) + 0.75rem + var(--space-5));
  padding-bottom: var(--space-5);
  color: var(--peacock-blue);
  overflow: hidden;
  isolation: isolate;
}
.hero-home__runway { display: none; }
.js .hero-home__runway { display: block; height: 100svh; }

.hero-motion {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  container-type: size;
  pointer-events: none;
}
.hero-motion__scene {
  --bag-x: 66.734%;
  --bag-y: 48.77%;
  position: absolute;
  left: 50%;
  top: 50%;
  width: max(100cqw, 100cqh * 1920 / 1081);
  aspect-ratio: 1920 / 1081;
  translate: -50% -50%;
  container-type: inline-size;
}
.hm-bg { position: absolute; inset: 0; background: var(--bg); }
.hm-bg[data-theme="churrasco"] { visibility: hidden; }
.hm-flood { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.hm-ribbon { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-motion__scene--front { z-index: 2; scale: 0.75; transform-origin: var(--bag-x) var(--bag-y); }

.hm-haze, .hm-item, .hm-bag {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--w);
  translate: -50% -50%;
}
.hm-haze img, .hm-item img, .hm-bag img { display: block; width: 100%; height: auto; rotate: var(--r); }
.hm-haze { opacity: 0.8; }
.hm-haze[data-theme="churrasco"] { opacity: 0; }
.hm-item--blur img { filter: blur(2px); }
.hm-items { position: absolute; inset: 0; }
.hm-items[data-theme="churrasco"] .hm-item {
  opacity: 0;
  transform: translate(var(--fx), var(--fy)) scale(0.12) rotate(-50deg);
}
.hm-item img { animation: hm-float var(--float, 8s) var(--ease-in-out) infinite alternate; }
@keyframes hm-float {
  from { transform: translateY(0) rotate(0deg); }
  to { transform: translateY(-1.4cqw) rotate(7deg); }
}
.hm-bag { z-index: 1; animation: bag-float 7s var(--ease-in-out) infinite alternate; }
@keyframes bag-float {
  from { transform: translateY(0); }
  to { transform: translateY(-0.9cqw); }
}

.hero-home__grid {
  position: relative;
  width: var(--hero-w);
  display: grid;
  grid-template-rows: auto auto;
  min-height: 0;
}
.hero-home__foot {
  position: relative;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--space-5);
  max-width: 34rem;
  margin-top: var(--space-6);
}
.hero-home__tagline { font-size: var(--fs-lead); line-height: 1.35; }
.hero-home__tagline span { display: block; font-weight: 700; }
.hero-home__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.hero-home .wave { z-index: 6; }

.has-hero-parallax .hm-ribbon,
.has-hero-parallax .hm-flood { translate: 0 calc(var(--hp, 0) * 35%); }
.has-hero-parallax .hm-items { translate: 0 calc(var(--hp, 0) * 25%); }
.has-hero-parallax .hero-home__grid { translate: 0 calc(var(--hp, 0) * 40%); }
.has-hero-parallax .hm-bag img { translate: 0 calc(var(--hp, 0) * 6%); }
.has-hero-parallax .hero-home__stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  background: var(--peacock-900);
  opacity: calc(var(--hp, 0) * 0.55);
  pointer-events: none;
}
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: clip; }

@media (min-width: 861px) {
  .hero-home[data-hero-scroll] .hero-home__title { font-size: min(clamp(3.3rem, 0.6rem + 6.3vw, 6.3rem), 11.5svh); }
  .hero-home[data-hero-scroll] .hero-home__foot { max-width: 42.5rem; gap: calc(var(--space-5) * 1.25); margin-top: clamp(2rem, 8svh, 6rem); margin-bottom: 0; }
  .hero-home[data-hero-scroll] .hero-home__tagline { font-size: calc(var(--fs-lead) * 1.25); }
  .hero-home[data-hero-scroll] .hero-home__actions { gap: calc(var(--space-3) * 1.25); }
  .hero-home[data-hero-scroll] .hero-home__actions .btn { min-height: 4.375rem; padding: 0 2.2rem; font-size: 1.4rem; }
}

@media (max-width: 860px) {
  .hero-home__stage { padding-top: calc(var(--header-h) + 0.75rem + var(--space-5)); }
  .hero-home__grid { grid-template-rows: auto auto auto; min-height: 0; }
  .hero-motion__scene { width: 205cqw; top: 52%; translate: calc(-1 * var(--bag-x)) calc(-1 * var(--bag-y)); }
  .hero-home__foot { margin-top: clamp(17.5rem, 62vw, 31rem); }
}


@media (prefers-reduced-motion: reduce) {
  .js .hero-home__runway { display: none; }
}


@media (prefers-reduced-motion: reduce) {
  .hm-bag, .hm-item img { animation: none; }
}
