/* ===== BLOCK BETON — camada cinematográfica (refinada) ===== */

/* Loader / abertura */
.loader{position:fixed;inset:0;z-index:10000;background:#100f0b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;transition:transform 1.05s cubic-bezier(.76,0,.24,1)}
.loader.done{transform:translateY(-101%)}
.loader .lname{font-family:var(--disp);font-weight:430;font-size:clamp(2rem,7vw,4.6rem);letter-spacing:-.02em;color:var(--paper);line-height:1}
.loader .lname b{font-weight:430;font-style:italic;color:var(--gold)}
.loader .lbar{width:min(280px,58vw);height:1px;background:rgba(243,239,230,.14);overflow:hidden}
.loader .lbar i{display:block;height:100%;width:0;background:var(--gold);animation:ldfill 1.25s cubic-bezier(.6,0,.2,1) forwards}
@keyframes ldfill{to{width:100%}}
.loader .lmeta{font-family:var(--mono);font-size:.62rem;letter-spacing:.26em;color:var(--muted);text-transform:uppercase}

/* Barra de progresso de scroll — fina */
.progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--gold);z-index:1100;will-change:width;opacity:.85}

/* Cursor cinematográfico (desktop) */
.cursor{position:fixed;top:0;left:0;width:28px;height:28px;border:1px solid var(--gold);border-radius:50%;
  pointer-events:none;z-index:9998;opacity:0;will-change:transform,width,height;
  transition:width .3s,height .3s,background-color .3s,opacity .35s}
.cursor.on{opacity:.7}
.cursor.grow{width:60px;height:60px;background-color:rgba(198,162,90,.1)}

/* Hero — Ken Burns lento + vinheta */
.hero-bg img{animation:kenburns 32s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1.04)}to{transform:scale(1.14)}}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;box-shadow:inset 0 0 280px 80px rgba(0,0,0,.66)}

/* Hero — revelação de linhas em máscara */
.hero-h1 .ln{display:block;overflow:hidden;padding-bottom:.08em}
.hero-h1 .ln>span{display:block;transform:translateY(110%);transition:transform 1.1s cubic-bezier(.76,0,.24,1)}
.hero-ready .hero-h1 .ln>span{transform:translateY(0)}
.hero-ready .hero-h1 .ln:nth-child(2)>span{transition-delay:.09s}
.hero-ready .hero-h1 .ln:nth-child(3)>span{transition-delay:.18s}
.hero-meta,.hero-foot{opacity:0;transform:translateY(18px);transition:opacity 1s ease,transform 1s ease}
.hero-ready .hero-meta{opacity:1;transform:none;transition-delay:.34s}
.hero-ready .hero-foot{opacity:1;transform:none;transition-delay:.5s}

/* Clip-reveal de imagens (wipe cinematográfico) */
.clip{clip-path:inset(0 0 100% 0)}
.clip.in{clip-path:inset(0 0 0% 0);transition:clip-path 1.2s cubic-bezier(.76,0,.24,1)}

@media (prefers-reduced-motion:reduce){
  .loader{display:none!important}
  .hero-bg img{animation:none!important}
  .hero-h1 .ln>span,.hero-meta,.hero-foot{transform:none!important;opacity:1!important}
  .clip{clip-path:none!important}
  .cursor{display:none!important}
}
@media (pointer:coarse){.cursor{display:none!important}}
