/* PVF Solutions · abertura em profundidade (filme de rolagem) · v1 06/10/2026
   Só entra em ação quando o script adiciona .film-on; sem JS ou sem WebGL o topo continua igual ao original. */
.hero.film .film-chap[data-k]:not([data-k="0"]),
.hero.film .film-rail,
.hero.film .film-foot,
.hero.film .film-gl,
.hero.film .film-shade{display:none}
.hero.film.film-on{display:block;min-height:0;height:calc(var(--film-n,5) * 115vh);overflow:visible;background:#0E1420;padding:0}
.hero.film.film-on .film-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.hero.film.film-on .bg{position:absolute;inset:0;transition:opacity .9s ease}
.hero.film.film-on .bg::after{display:none}
.hero.film.film-on .film-gl{display:block;position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1s ease}
.hero.film.film-gl-ready .film-gl{opacity:1}
.hero.film.film-gl-ready .bg{opacity:0}
.hero.film.film-on .film-shade{display:block;position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(90deg,rgba(14,20,32,.8) 0%,rgba(14,20,32,.5) 36%,rgba(14,20,32,0) 64%),
  linear-gradient(0deg,rgba(14,20,32,.6) 0%,rgba(14,20,32,0) 30%),
  linear-gradient(180deg,rgba(14,20,32,.55) 0%,rgba(14,20,32,0) 20%)}
.hero.film.film-on .film-chap{display:flex!important;flex-direction:column;justify-content:center;position:absolute;left:0;right:0;top:0;bottom:0;margin:0 auto;padding-top:104px;padding-bottom:96px;opacity:0;transform:translateY(24px);will-change:opacity,transform;pointer-events:none;z-index:3}
.hero.film.film-on .film-chap.on{pointer-events:auto}
.hero.film.film-on .film-chap h1{font-size:clamp(34px,4.3vw,62px);max-width:22ch;margin-bottom:18px}
.hero.film.film-on .film-chap .sub{margin-bottom:28px}
.hero.film.film-on .film-chap .quote-strip{margin-top:32px;padding-top:18px;font-size:14.5px}
.hero.film.film-on .film-chap h2{color:#fff;font-size:clamp(30px,4.2vw,54px);line-height:1.08;margin:16px 0 14px;max-width:18ch;text-wrap:balance}
.hero.film.film-on .film-chap p.film-p{font-size:clamp(16px,1.35vw,19px);line-height:1.6;color:rgba(255,255,255,.88);max-width:52ch;margin:0}
.hero.film.film-on .film-chap .actions{margin-top:28px}
.hero.film.film-on .film-chap p{text-align:left;hyphens:manual;-webkit-hyphens:manual}
.hero.film.film-on .film-rail{display:flex;position:absolute;z-index:4;right:clamp(16px,3vw,44px);top:50%;transform:translateY(-50%);flex-direction:column;gap:16px}
.film-rail button{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:flex-end;gap:12px;font:500 12px var(--font-body);color:rgba(255,255,255,.55);letter-spacing:.06em}
.film-rail button i{display:block;width:22px;height:2px;background:rgba(255,255,255,.35);transition:all .3s}
.film-rail button .lb{opacity:0;transform:translateX(6px);transition:all .3s;white-space:nowrap}
.film-rail button:hover .lb,.film-rail button.act .lb,.film-rail button:focus-visible .lb{opacity:1;transform:none}
.film-rail button.act{color:#fff}
.film-rail button.act i{width:40px;background:var(--yellow)}
.film-rail button:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}
.hero.film.film-on .film-foot{display:flex;position:absolute;z-index:4;left:0;right:0;bottom:24px;max-width:var(--max);margin:0 auto;padding:0 var(--gutter);align-items:center;gap:18px;font:500 12.5px var(--font-body);color:rgba(255,255,255,.75)}
.film-bar{flex:1;max-width:420px;height:2px;background:rgba(255,255,255,.2);position:relative}
.film-bar b{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--yellow)}
.film-pause{all:unset;cursor:pointer;margin-left:auto;border:1px solid rgba(255,255,255,.4);border-radius:20px;padding:6px 13px;font:500 12.5px var(--font-body);color:#fff}
.film-pause:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.film-hint{display:inline-flex;align-items:center;gap:8px}
.film-hint svg{animation:filmbob 1.8s ease-in-out infinite}
@keyframes filmbob{50%{transform:translateY(4px)}}
@media (max-height:780px){.hero.film.film-on .film-chap .quote-strip{display:none}}
@media (max-width:860px){
  .hero.film.film-on .film-rail{display:none}
  .hero.film.film-on .film-chap{justify-content:flex-end;padding-bottom:84px}
  .hero.film.film-on .film-shade{background:linear-gradient(0deg,rgba(14,20,32,.92) 0%,rgba(14,20,32,.6) 45%,rgba(14,20,32,.12) 78%),linear-gradient(180deg,rgba(14,20,32,.6) 0%,rgba(14,20,32,0) 22%)}
  .hero.film.film-on .film-chap .quote-strip{display:none}
}
@media (max-width:520px){.film-hint{display:none!important}}
@media (prefers-reduced-motion:reduce){.film-hint svg{animation:none}}
