/* Hero: gestão visível, fotografia real e fluxo operacional. */
.home-hero{
  --hero-exit:var(--hero-parallax,0);
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
  min-height:calc(100vh - 92px);
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 14%,rgba(255,255,255,.12),transparent 26%),
    linear-gradient(110deg,rgba(2,53,206,.96) 0%,rgba(2,53,206,.91) 58%,rgba(6,41,155,.94) 100%),
    url("assets/galpao-amplo.png") center/cover no-repeat;
  background-position:center,center,center calc(50% + (var(--hero-exit) * 86px));
  background-size:auto,auto,cover;
  background-repeat:no-repeat;
  color:#fff;
}

.home-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:calc(var(--hero-exit) * .58);
  background:linear-gradient(180deg,rgba(4,20,73,0) 34%,rgba(4,20,73,.78) 100%);
}

.home-hero::before{
  content:"";
  position:absolute;
  inset:0 43% 0 0;
  z-index:-1;
  opacity:.22;
  background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(90deg,#000,transparent 88%);
}

.home-hero .hero-copy{
  position:relative;
  z-index:2;
  justify-content:center;
  padding:clamp(72px,8vh,108px) clamp(34px,6vw,92px);
}

.hero-kicker{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:34px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
}

.hero-kicker i{width:38px;height:2px;background:#ffd000;flex:0 0 auto}

.home-hero h1{
  max-width:780px;
  margin:0;
  font-size:clamp(46px,5.2vw,72px);
  line-height:1.01;
  letter-spacing:-.055em;
}

.home-hero h1 span{display:block;color:#ffd000}

.home-hero .lead{
  max-width:680px;
  margin:32px 0 38px;
  color:#eef2ff;
  font-size:clamp(16px,1.35vw,20px);
  line-height:1.62;
}

.hero-stage{
  position:relative;
  min-height:620px;
  padding:clamp(42px,5vw,76px) clamp(34px,5vw,72px) clamp(60px,6vw,88px) 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  perspective:1200px;
}

.hero-film{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,500px) minmax(118px,150px);
  gap:clamp(20px,2.4vw,36px);
  align-items:center;
  width:min(100%,690px);
}

.hero-frame{
  position:relative;
  width:100%;
  aspect-ratio:4/5;
  box-shadow:0 34px 85px rgba(3,13,48,.36);
  overflow:hidden;
}

.hero-slides{position:relative;width:100%;height:100%;overflow:hidden;background:#111c36}
.hero-slides figure{position:absolute;inset:-2% 0;margin:0;opacity:0;transform:translateY(12%);animation:hero-slide 30s cubic-bezier(.45,0,.2,1) infinite;animation-delay:calc(var(--slide) * 5s)}
.hero-slides img{width:100%;height:104%;object-fit:cover;transform:translateY(1.5%) scale(1.045);animation:hero-image 30s ease-in-out infinite;animation-delay:calc(var(--slide) * 5s)}

.hero-film-rail{position:relative;height:72%;display:flex;align-items:center;padding-left:24px}
.hero-film-line{position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,transparent,#ffd000 14%,#ffd000 86%,transparent)}
.hero-film-line::before,.hero-film-line::after{content:"";position:absolute;left:-5px;width:13px;height:2px;background:#ffd000}
.hero-film-line::before{top:14%}.hero-film-line::after{bottom:14%}
.hero-film-labels{position:relative;width:100%;min-height:120px}
.hero-film-labels p{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;margin:0;opacity:0;transform:translateY(18px);animation:hero-meta 30s ease-in-out infinite;animation-delay:calc(var(--slide) * 5s)}
.hero-film-labels b{color:#ffd000;font-size:18px;line-height:1}
.hero-film-labels span{margin-top:14px;color:#fff;font-size:12px;font-weight:700;line-height:1.45;letter-spacing:.08em;text-transform:uppercase}

.hero-mark{position:absolute;right:18px;bottom:34px;display:flex;gap:8px;transform:rotate(90deg)}
.hero-mark i{display:block;width:8px;height:46px;background:#ffd000}
.hero-mark i:nth-child(2){height:30px;opacity:.66}.hero-mark i:nth-child(3){height:16px;opacity:.34}

.parallax-ready .home-hero .hero-copy{
  transform:translate3d(0,calc(var(--hero-exit) * 54px),0);
  opacity:calc(1 - (var(--hero-exit) * .58));
  filter:blur(calc(var(--hero-exit) * 1.1px));
  will-change:transform,opacity,filter;
}
.parallax-ready .hero-film{
  transform:translate3d(0,calc(var(--hero-exit) * -104px),calc(var(--hero-exit) * 48px)) rotateX(calc(var(--hero-exit) * 2deg)) scale(calc(1 - (var(--hero-exit) * .035)));
  transform-origin:50% 38%;
  will-change:transform;
}
.parallax-ready .hero-mark{
  transform:translate3d(0,calc(var(--hero-exit) * -42px),0) rotate(90deg);
  opacity:calc(1 - (var(--hero-exit) * .7));
  will-change:transform,opacity;
}

@keyframes hero-slide{
  0%{opacity:0;transform:translateY(12%)}
  2%,15.5%{opacity:1;transform:translateY(0)}
  18%,100%{opacity:0;transform:translateY(-12%)}
}
@keyframes hero-image{
  0%{transform:translateY(1.5%) scale(1.045)}
  18%,100%{transform:translateY(-1.5%) scale(1.02)}
}
@keyframes hero-meta{0%{opacity:0;transform:translateY(18px)}2%,15.5%{opacity:1;transform:translateY(0)}18%,100%{opacity:0;transform:translateY(-18px)}}

@media(max-width:850px){
  .home-hero{grid-template-columns:1fr;min-height:auto}
  .home-hero::before{inset:0;mask-image:linear-gradient(#000,transparent 56%)}
  .home-hero .hero-copy{padding:64px 26px 46px}
  .home-hero h1{font-size:clamp(40px,11vw,58px)}
  .hero-kicker{align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:26px}
  .hero-kicker i{margin-top:6px}
  .hero-stage{min-height:0;padding:16px 44px 62px 26px}
  .hero-film{grid-template-columns:minmax(0,430px) 120px;width:min(100%,580px)}
  .hero-mark{display:none}
  .parallax-ready .home-hero .hero-copy{transform:translate3d(0,calc(var(--hero-exit) * 22px),0);opacity:calc(1 - (var(--hero-exit) * .25));filter:none}
  .parallax-ready .hero-film{transform:translate3d(0,calc(var(--hero-exit) * -34px),0) scale(calc(1 - (var(--hero-exit) * .015)))}
}

@media(max-width:520px){
  .home-hero h1{font-size:42px}
  .home-hero .lead{margin:24px 0 30px}
  .hero-stage{padding-right:26px}
  .hero-film{display:block;width:min(100%,390px)}
  .hero-film-rail{position:absolute;right:0;bottom:0;width:128px;height:112px;padding:15px 14px 15px 22px;background:rgba(9,18,41,.84);backdrop-filter:blur(6px)}
  .hero-film-line{top:12px;bottom:12px}
  .hero-film-labels{min-height:82px}
  .hero-film-labels b{font-size:14px}
  .hero-film-labels span{margin-top:8px;font-size:9px}
}

@media(prefers-reduced-motion:reduce){
  .hero-slides figure,.hero-slides img,.hero-film-labels p{animation:none!important}
  .hero-slides figure{display:none;opacity:1}
  .hero-slides figure:first-child{display:block}
  .hero-film-labels p{display:none;opacity:1;transform:none}
  .hero-film-labels p:first-child{display:flex}
  .home-hero .hero-copy,.hero-film,.hero-mark{transform:none!important;opacity:1!important;filter:none!important}
  .home-hero::after{opacity:0!important}
}
