/* pitanga. · site 2026 · tokens confirmados no kickoff de 05/08 */

@font-face{
  font-family:'Instrument Sans';
  src:url('/fonts/InstrumentSans-var.woff2') format('woff2-variations');
  font-weight:400 700;
  font-style:normal;
  font-display:swap;
}
/* fallback com métricas casadas (Arial ajustada): swap de fonte sem layout shift */
@font-face{
  font-family:'Instrument Sans Fallback';
  src:local('Arial');
  size-adjust:97.9%;
  ascent-override:97%;
  descent-override:25%;
  line-gap-override:0%;
}

:root{
  --red:#C63C32;
  --ink:#171A18;
  --off:#F7F2E8;
  --font:'Instrument Sans','Instrument Sans Fallback',system-ui,-apple-system,sans-serif;

  /* escala dupla: display fluido, apoio fixo */
  --disp-1:clamp(2.6rem,7.6vw,7.5rem);
  --disp-2:clamp(2rem,5.2vw,4.8rem);
  --disp-3:clamp(1.3rem,2.4vw,2rem);
  --label:.75rem;      /* 12px */
  --micro:.6875rem;    /* 11px */
  --body:1.0625rem;    /* 17px */

  --gut:clamp(16px,3vw,40px);
  --wrap:1680px;

  /* raios (rodada 2): pílula em toda ação, 16px em mídia dentro de wrap */
  --r-pill:999px;
  --r-media:16px;

  --ease-out:cubic-bezier(.16,1,.3,1);      /* expo.out */
  --ease-inout:cubic-bezier(.87,0,.13,1);   /* expo.inOut */

  --wh:100vh;  /* fallback antigo */
  --wh:100svh; /* small viewport height: altura estável no mobile, sem JS, sem shift */
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  font-family:var(--font);
  font-size:var(--body);
  line-height:1.5;
  font-weight:430;
  background:var(--off);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;background:none;border:0;cursor:pointer;color:inherit}
ul{list-style:none}

::selection{background:var(--red);color:var(--off)}

:focus-visible{outline:2px solid var(--red);outline-offset:3px}

.skip{position:absolute;left:-9999px;top:0;background:var(--red);color:#fff;padding:.6em 1em;z-index:99}
.skip:focus{left:var(--gut)}

/* ---------- temas por seção (mecânica por CSS var) ---------- */
.t-ink{background:var(--ink);color:var(--off)}
.t-off{background:var(--off);color:var(--ink)}

/* ---------- tipografia ---------- */
.label{
  font-size:var(--label);
  font-weight:560;
  letter-spacing:.16em;
  text-transform:uppercase;
  line-height:1.2;
}
.micro{
  font-size:var(--micro);
  letter-spacing:.08em;
  font-variant-numeric:tabular-nums;
}
.disp{
  font-weight:620;
  line-height:.95;
  letter-spacing:-.02em;
  text-transform:uppercase;
  text-wrap:balance;
}
/* ponto-assinatura: círculo (como no logo), assentado na baseline ótica */
.dot{display:inline-block;width:.16em;height:.16em;border-radius:50%;background:var(--red);margin-left:.09em;transform:translateY(.05em)}

/* ---------- estrutura ---------- */
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(12px,1.6vw,24px)}

/* ---------- nav ---------- */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;
  padding:24px var(--gut);
  transition:background .3s,color .3s;
}
.nav.on-ink{color:var(--off)}
.nav.on-off{color:var(--ink)}
.nav.scrolled.on-ink{background:color-mix(in srgb,var(--ink) 86%,transparent);backdrop-filter:blur(10px)}
.nav.scrolled.on-off{background:color-mix(in srgb,var(--off) 88%,transparent);backdrop-filter:blur(10px)}
.logo{display:block;height:60px;aspect-ratio:1000/572} /* 104px de largura */
@media (max-width:760px){.logo{height:48px}} /* ~84px */
.logo i{
  display:block;width:100%;height:100%;
  background:currentColor;
  -webkit-mask:url('/img/logo-mask.png') no-repeat center/contain;
  mask:url('/img/logo-mask.png') no-repeat center/contain;
}
.nav ul{display:flex;gap:clamp(18px,2.6vw,40px);align-items:center}
.nav a.nl{position:relative;padding:4px 0}
.nav a.nl::after{
  content:'';position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:var(--red);transform:scaleX(0);transform-origin:right;
  transition:transform .35s var(--ease-inout);
}
.nav a.nl:hover::after,.nav a.nl[aria-current]::after{transform:scaleX(1);transform-origin:left}
.lang{border:1px solid currentColor;padding:5px 12px;border-radius:var(--r-pill);transition:background .2s,color .2s,border-color .2s}
.lang:hover{background:var(--red);border-color:var(--red);color:#fff}

/* ---------- hero ---------- */
.hero{position:relative;min-height:var(--wh);display:flex;align-items:flex-end;overflow:hidden}
.hero .bg{position:absolute;inset:0}
.hero .bg img,.hero .bg video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.hero .bg video{opacity:0}
.hero .bg.playing video{opacity:1}
.hero .bg::before{ /* banda de proteção da nav: frames claros no topo */
  content:'';position:absolute;inset:0 0 auto 0;height:120px;z-index:1;
  background:linear-gradient(to bottom,rgba(23,26,24,.5),transparent);
}
.hero .bg::after{
  content:'';position:absolute;inset:0;
  /* scrim em curva (stops seguindo easing): sem a faixa visível do gradiente linear */
  background:linear-gradient(to top,
    rgba(23,26,24,.76) 0%,
    rgba(23,26,24,.72) 7%,
    rgba(23,26,24,.62) 14%,
    rgba(23,26,24,.48) 22%,
    rgba(23,26,24,.34) 30%,
    rgba(23,26,24,.22) 38%,
    rgba(23,26,24,.14) 46%,
    rgba(23,26,24,.11) 56%,
    rgba(23,26,24,.10) 100%);
}
.hero .fg{position:relative;z-index:2;width:100%;padding:0 var(--gut) clamp(28px,5vh,64px);color:var(--off)}
.hero h1{font-size:var(--disp-1);max-width:12ch}

/* hero Canal Pitanga: a estática é a constante, os filmes são sintonia */
.canal-hero{align-items:center}
.canal-hero .fg{padding-bottom:0}
.canal-hero h1{max-width:8.2em} /* em, não ch: largura estável entre fonte e fallback = swap sem shift */
.canal-hero .cidade-hero{margin-top:16px;opacity:.78}
.canal-hero .bg video{opacity:0}
.canal-hero .bg video.on{opacity:1} /* corte seco: sem transição */
.chip{
  position:absolute;left:var(--gut);bottom:clamp(24px,5vh,52px);z-index:3;
  display:inline-flex;align-items:center;padding:11px 20px;
  border:1px solid var(--off);border-radius:var(--r-pill);color:var(--off);
  background:color-mix(in srgb,var(--ink) 55%,transparent);
  backdrop-filter:blur(8px);
  opacity:0;translate:0 10px;
  transition:opacity .45s var(--ease-out),translate .45s var(--ease-out),background .2s,border-color .2s;
}
.chip.on{opacity:1;translate:0 0}
.chip[hidden]{display:none} /* o display do .chip venceria o atributo hidden */
.chip:hover{background:var(--red);border-color:var(--red);color:#fff}

/* botão play com cortina no hover */
.play{
  position:relative;display:inline-flex;align-items:center;gap:10px;
  padding:12px 24px;border:1px solid var(--off);border-radius:var(--r-pill);
  overflow:hidden;isolation:isolate;color:var(--off);
}
.play svg{width:11px;height:12px;fill:currentColor;position:relative;z-index:2}
.play span{position:relative;z-index:2}
.play::before{
  content:'';position:absolute;inset:0;background:var(--red);z-index:1;
  transform:translateX(-101%);transition:transform .45s var(--ease-inout);
}
.play:hover::before,.play:focus-visible::before{transform:translateX(0)}
.play:hover{border-color:var(--red);color:#fff}

/* ---------- seções ---------- */
.sec{padding-block:clamp(64px,11vh,140px)}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:clamp(28px,5vh,56px)}
.sec-head .label{color:var(--red)}
.t-ink .sec-head .label{color:var(--off)}

/* cards de projeto */
.card{display:block;position:relative}
.card .media{position:relative;display:block;overflow:hidden;background:var(--ink);aspect-ratio:16/9;border-radius:var(--r-media)}
.card .media img,.card .media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card .media video{opacity:0}
.card .media.playing video{opacity:1}  /* corte seco, sem fade */
.card .meta{display:block;padding-top:14px}
.card :is(h2,h3){font-size:var(--disp-3);font-weight:620;letter-spacing:-.01em;text-transform:uppercase;line-height:1.02;display:block}
.card .sub{display:block;margin-top:6px;opacity:.62}
.card .media::after{ /* cortina fina no hover */
  content:'';position:absolute;inset:0;background:var(--red);
  transform:translateX(-101%);transition:transform .45s var(--ease-inout);
  mix-blend-mode:normal;opacity:.0;
}
.card:hover .media::after{transform:translateX(101%);opacity:.18;transition:transform .6s var(--ease-inout),opacity .1s}

/* selecionados: 2 cards em ritmo editorial (ruptura: 1º sangra à esquerda) */
.sel{row-gap:clamp(48px,9vh,110px)}
.sel .c1{grid-column:1/span 8}
.sel .c1 .media{margin-left:calc(var(--gut) * -1);border-radius:0 var(--r-media) var(--r-media) 0} /* sangria deliberada: raio só do lado interno */
.sel .c2{grid-column:6/span 7;margin-top:clamp(-40px,-4vh,-16px)}
.sel .c3{grid-column:3/span 8}
@media (max-width:900px){
  .sel .c1,.sel .c2,.sel .c3{grid-column:1/-1;margin-top:0}
  .sel .c2{grid-column:2/-1}
}

/* parallax extremamente leve nos selecionados (pedido do Diego, 11/08):
   scroll-driven CSS puro; browser sem suporte vê estático */
@supports (animation-timeline: view()) {
  .sel .media img,.sel .media video{
    height:112%;top:-6%;
    animation:sel-parallax linear both;
    animation-timeline:view();
    animation-range:entry 0% exit 100%;
  }
  @keyframes sel-parallax{
    from{transform:translateY(-3.5%)}
    to{transform:translateY(3.5%)}
  }
}
@media (prefers-reduced-motion:reduce){
  .sel .media img,.sel .media video{animation:none;height:100%;top:0}
}

/* manifesto em campo verde */
.manifesto{padding-block:clamp(90px,16vh,190px)}
.manifesto p{font-size:var(--disp-2);font-weight:620;line-height:1.0;letter-spacing:-.015em;text-transform:uppercase;max-width:16ch}

/* index de outros trabalhos */
.idx{border-top:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.idx li{border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.idx a{
  display:grid;grid-template-columns:1fr auto;gap:clamp(12px,2vw,28px);
  align-items:baseline;padding:clamp(14px,2.2vh,22px) 0;position:relative;
}
.idx .t{font-size:clamp(1.6rem,3.4vw,3rem);font-weight:620;text-transform:uppercase;letter-spacing:-.015em;line-height:1.02;transition:transform .45s var(--ease-out),color .25s}
.idx a:hover .t{transform:translateX(10px);color:var(--red)}
.idx .who{opacity:.6;text-align:right}
.idx .thumb{display:none}
@media (hover:none){
  .idx .thumb{display:block;width:96px;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-media);justify-self:end}
}
@media (max-width:760px){
  .idx a{grid-template-columns:1fr 96px;align-items:center}
  .idx .who{display:none}
  .idx .thumb{display:block;width:96px;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-media);justify-self:end}
}

/* cartão flutuante do Arquivo: segue o cursor com leve atraso (só transform/opacity) */
.peek-card{
  position:fixed;left:0;top:0;z-index:60;width:min(360px,34vw);aspect-ratio:16/9;
  border-radius:var(--r-media);overflow:hidden;pointer-events:none;
  opacity:0;transition:opacity .25s var(--ease-out);
  box-shadow:0 24px 70px rgba(23,26,24,.4);
  background:var(--ink) center/cover no-repeat; /* o poster entra via JS: nunca preto */
}
.peek-card.on{opacity:1}
.peek-card video{width:100%;height:100%;object-fit:cover}
.morelink{display:inline-block;margin-top:28px}

/* provas: fatos reais empilhados em display */
.provas .wrap{display:grid;gap:clamp(14px,3vh,28px);justify-items:start}
.prova{font-size:var(--disp-2)} /* fonte no pai do .rl: a folga do clip escala junto */
.prova .disp{transition:color .25s}
.prova:hover .disp{color:var(--red)}

/* EXT. Vila Madalena: full-bleed, a imagem e o bairro falam */
.ext-vm{position:relative;display:block;overflow:hidden;background:var(--ink);aspect-ratio:16/7;min-height:340px}
.ext-vm img,.ext-vm video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ext-vm video{opacity:0}
.ext-vm.playing video{opacity:1}
.ext-vm::after{content:'';position:absolute;inset:auto 0 0 0;height:36%;background:linear-gradient(to top,rgba(23,26,24,.55),transparent)}
.ext-vm .legenda{position:absolute;left:var(--gut);bottom:22px;z-index:2;color:var(--off);opacity:.92}

/* fechamento global */
.fechamento{padding:clamp(46px,8vh,88px) 0 24px}
.fechamento p.disp{font-size:clamp(1.8rem,3.6vw,3.2rem);max-width:14ch}
.fech-grid{display:grid;gap:clamp(24px,4vh,40px)}
@media (min-width:900px){.fech-grid{grid-template-columns:7fr 5fr;align-items:end}}
.fech-dir{display:grid;gap:16px;justify-items:start}
@media (min-width:900px){.fech-dir{justify-items:end;text-align:right}}
.fech-dir a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--red)}
.pills{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(18px,3vh,28px)}
.pill{
  display:inline-flex;align-items:center;padding:11px 20px;
  border:1px solid var(--off);border-radius:var(--r-pill);color:var(--off);
  font-size:clamp(.95rem,1.2vw,1.05rem);font-weight:560;
  position:relative;overflow:hidden;isolation:isolate;
}
.pill::before{content:'';position:absolute;inset:0;background:var(--red);z-index:-1;transform:translateX(-101%);transition:transform .45s var(--ease-inout)}
.pill:hover::before,.pill:focus-visible::before{transform:translateX(0)}
.pill:hover{border-color:var(--red);color:#fff}
.endline{margin-top:clamp(26px,4vh,40px);opacity:.72}
.endline a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--red)}
/* cartela final (rodada 4): linha fina, lockup discreto, copyright. Elegância. */
.cartela{
  border-top:1px solid color-mix(in srgb,var(--off) 12%,transparent);
  margin-top:clamp(34px,5vh,60px);
  padding:clamp(40px,6vh,72px) var(--gut) clamp(16px,2.5vh,24px);
  display:grid;justify-items:center;gap:clamp(16px,3vh,26px);
}
.logo-final{display:block;width:180px;aspect-ratio:1000/572}
.logo-final i{display:block;width:100%;height:100%;background:var(--off);-webkit-mask:url('/img/logo-mask.png') no-repeat center/contain;mask:url('/img/logo-mask.png') no-repeat center/contain}
@media (max-width:760px){.logo-final{width:136px}}
.cartela .micro{opacity:.55}

.biglink{
  display:block;width:fit-content;font-size:clamp(1.3rem,3.2vw,2.6rem);
  font-weight:600;letter-spacing:-.01em;line-height:1.15;
  position:relative;padding:6px 0;margin-top:6px;
}
.biglink::after{
  content:'';position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:var(--red);transform:scaleX(0);transform-origin:right;
  transition:transform .45s var(--ease-inout);
}
.biglink:hover::after{transform:scaleX(1);transform-origin:left}

/* ---------- páginas internas ---------- */
.page-head{padding:calc(72px + 8vh) var(--gut) clamp(30px,6vh,60px)}
.page-head h1{font-size:var(--disp-1)}

/* /work/ · ritmo editorial A/B (rodada 4): full 21:9 + dois em meia largura */
.works{row-gap:clamp(44px,7vh,86px)}
.works .card-a{grid-column:1/-1}
.works .card-a .media{aspect-ratio:21/9}
.card-a .grad{position:absolute;inset:auto 0 0 0;height:46%;background:linear-gradient(to top,rgba(23,26,24,.66),transparent);pointer-events:none}
.card-a .sobre{position:absolute;left:clamp(16px,2.4vw,34px);bottom:clamp(14px,2.6vh,30px);z-index:2;display:grid;gap:7px;color:var(--off)}
.card-a .sobre .t{font-size:var(--disp-2);line-height:.98;font-weight:620;letter-spacing:-.015em;text-transform:uppercase}
.card-a .sobre .dir{font-size:clamp(1rem,1.5vw,1.3rem);font-weight:560;letter-spacing:.01em}
.card-a .sobre .sub{opacity:.8}
.works .cb-esq{grid-column:1/span 6}
.works .cb-dir{grid-column:7/span 6}
.works .cb.desloca{margin-top:clamp(30px,6vh,72px)} /* a ruptura do ciclo */
@media (max-width:900px){
  .works .card{grid-column:1/-1 !important;margin-top:0 !important}
  .works .card-a .media{aspect-ratio:16/9}  /* cheio */
  .works .cb .media{aspect-ratio:21/9}      /* compacto: alterna altura */
}

/* case */
.case-media{position:relative;background:var(--ink);aspect-ratio:16/9;overflow:hidden}
.case-media::before{ /* banda de proteção da nav sobre frames claros */
  content:'';position:absolute;inset:0 0 auto 0;height:110px;z-index:1;
  background:linear-gradient(to bottom,rgba(23,26,24,.45),transparent);
}
.case-media img,.case-media video,.case-media iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.case-media video{opacity:0}
.case-media.playing video{opacity:1}
.case-media .bigplay{
  position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;color:var(--off);
}
.case-media .bigplay em{
  font-style:normal;display:inline-flex;align-items:center;gap:12px;
  padding:16px 32px;border:1px solid var(--off);border-radius:var(--r-pill);
  position:relative;overflow:hidden;isolation:isolate;
  text-transform:uppercase;letter-spacing:.14em;font-size:var(--label);font-weight:560;
}
.case-media .bigplay em::before{
  content:'';position:absolute;inset:0;background:var(--red);z-index:-1;
  transform:translateX(-101%);transition:transform .45s var(--ease-inout);
}
.case-media .bigplay:hover em::before,.case-media .bigplay:focus-visible em::before{transform:translateX(0)}
.case-media .bigplay svg{width:12px;height:14px;fill:currentColor}
.case-body{padding-block:clamp(40px,7vh,80px)}
.case-body h1{font-size:var(--disp-1);margin-bottom:18px}
.case-body .linha{font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.4;max-width:36ch;font-weight:470}
.case-cols{display:grid;grid-template-columns:1fr;gap:clamp(30px,5vh,54px);margin-top:clamp(34px,6vh,64px)}
@media (min-width:900px){.case-cols{grid-template-columns:1fr 1fr}}
.creditos li{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid color-mix(in srgb,currentColor 16%,transparent);font-variant-numeric:tabular-nums}
.creditos .f{opacity:.72;min-width:12em}
.vimeolink{margin-top:20px}
.nextfilm{display:block;padding:clamp(40px,8vh,80px) var(--gut)}
.nextfilm .label{color:var(--off);opacity:.72;display:block;margin-bottom:12px}
.nextfilm .t{font-size:var(--disp-2);font-weight:620;text-transform:uppercase;line-height:.98;transition:transform .5s var(--ease-out);display:inline-block}
.nextfilm:hover .t{transform:translateX(14px)}

/* info unificada (rodada 3): composição contínua, texto à esquerda, folha à direita */
.info-pos{font-size:clamp(1.35rem,2.3vw,1.9rem);line-height:1.42;max-width:38ch;font-weight:470}
/* o-que-a-gente-faz: lista tipográfica numerada, expansível (corte seco) */
.faz{border-top:1px solid color-mix(in srgb,currentColor 16%,transparent)}
.faz-item{border-bottom:1px solid color-mix(in srgb,currentColor 16%,transparent)}
.faz-h{margin:0}
.faz-btn{display:flex;gap:clamp(14px,2vw,26px);align-items:center;width:100%;text-align:left;padding:clamp(16px,2.8vh,28px) 0}
.faz-btn .mais{margin-left:auto;color:var(--red);font-weight:560;font-size:clamp(1.3rem,2.2vw,1.9rem);line-height:1}
.faz-btn .mais::before{content:'+'}
.faz-item.aberto .faz-btn .mais::before{content:'\00d7'}
.faz-btn .t{font-size:clamp(1.6rem,3.4vw,3rem);font-weight:620;letter-spacing:-.015em;text-transform:uppercase;line-height:1.02;transition:color .25s}
.faz-btn:hover .t,.faz-btn:focus-visible .t{color:var(--red)}
.faz-corpo{display:grid;grid-template-columns:1fr;gap:12px clamp(30px,4vw,80px);padding:0 0 clamp(18px,3vh,26px) 0}
.faz-corpo>p{max-width:52ch}
@media (min-width:920px){
  .faz-corpo{grid-template-columns:minmax(0,52ch) 1fr;align-items:start}
  .faz-corpo .faz-ex,.faz-corpo .faz-nomes{grid-column:2;grid-row:1;justify-self:end;text-align:right}
}
.faz-nomes{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.faz-nomes li{display:block}
.faz-nomes li,.faz-nomes a{line-height:1}
.faz-nomes li>a,.faz-nomes li{font-weight:560;font-size:clamp(.95rem,1.3vw,1.1rem)}
.faz-nomes li{border:1px solid var(--ink);border-radius:var(--r-pill);padding:0}
.faz-nomes li>a,.faz-nomes li:not(:has(a)){display:inline-block;padding:10px 18px}
.faz-nomes li:has(a):hover{border-color:var(--red)}
.faz-nomes li>a:hover{color:var(--red)}
@media (max-width:919px){.faz-nomes{justify-content:flex-start}}
.faz-corpo .faz-ex{margin-top:10px}
.faz.js .faz-corpo{display:none}
.faz.js .faz-item.aberto .faz-corpo{display:grid} /* corte seco, sem slide */

.info-diego{margin-top:clamp(52px,9vh,96px)}
.info-diego h2{font-size:var(--disp-2);margin-bottom:6px}
.info-diego .cargo{color:var(--red)}
.info-diego .modelo{margin-top:24px;max-width:52ch;font-size:1.1rem}

/* fachada UNE limpa, em card largo (a máscara de folha morreu na rodada 4) */
.une-card{position:relative;margin-top:clamp(44px,8vh,84px);border-radius:var(--r-media);overflow:hidden;aspect-ratio:21/10;background:var(--ink)}
.une-card img,.une-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.une-card video{opacity:0}
.une-card.playing video{opacity:1}
.une-card::after{content:'';position:absolute;inset:auto 0 0 0;height:34%;background:linear-gradient(to top,rgba(23,26,24,.55),transparent)}
.une-card figcaption{position:absolute;left:clamp(14px,2vw,26px);bottom:16px;z-index:2;color:var(--off);opacity:.92}
.info-contato{margin-top:clamp(48px,9vh,96px);display:grid;gap:clamp(22px,4vh,34px)}
.info-contato .pills{margin-top:0}
.info-contato .endline{margin-top:0}
.t-off .pill{color:var(--ink);border-color:var(--ink)}
.t-off .pill:hover{color:#fff;border-color:var(--red)}

/* 404 */
.p404{min-height:var(--wh);display:flex;flex-direction:column;justify-content:center;padding:0 var(--gut)}
.p404 h1{font-size:var(--disp-2);max-width:18ch;margin-bottom:26px}

/* ---------- motion: reveal por linha ---------- */
.rl{display:block;overflow:hidden;padding:.18em 0 .12em;margin:-.18em 0 -.12em} /* folga pro clip: til/agudo em cima, cedilha embaixo */
.rl>span{display:block;transform:translateY(105%);transition:transform .9s var(--ease-out);transition-delay:calc(var(--i,0)*.09s)}
.in .rl>span{transform:translateY(0)}
@media (prefers-reduced-motion:reduce){
  .rl>span{transition:none;transform:none}
  .idx a:hover .t,.nextfilm:hover .t{transform:none}
  /* rodada 2: estática parada (poster), sem zapping, sem cartão flutuante */
  .canal-hero .bg video{display:none}
  .chip{display:none}
  .ext-vm video{display:none}
  .une-card video{display:none}
  .peek-card{display:none}
}

/* ---------- cortina vermelha ---------- */
.curtain{
  position:fixed;inset:0;z-index:90;background:var(--red);
  transform:translateX(-101%);pointer-events:none;
}
.curtain.sweep-in{transition:transform .26s var(--ease-inout);transform:translateX(0)}
.curtain.sweep-out{transition:transform .3s var(--ease-inout);transform:translateX(101%)}
@media (prefers-reduced-motion:reduce){
  .curtain{display:none}
}

/* widget fixo de WhatsApp: conversa a um toque, em qualquer ponto do site */
.zap{
  position:fixed;right:clamp(14px,2vw,26px);bottom:clamp(14px,2.4vh,26px);z-index:70;
  display:inline-flex;align-items:center;gap:9px;padding:11px 17px;
  border-radius:var(--r-pill);background:var(--red);color:#fff;
  box-shadow:0 12px 34px rgba(23,26,24,.35);
  transition:transform .2s var(--ease-out);
}
.zap:hover,.zap:focus-visible{transform:translateY(-2px)}
.zap svg{width:17px;height:17px;fill:currentColor}
.zap .label{font-size:11px;letter-spacing:.14em}
@media (max-width:760px){
  .zap{padding:13px}
  .zap .label{display:none}
}

/* lightbox dos filmes em cartaz */
.lb{position:fixed;inset:0;z-index:80;background:color-mix(in srgb,var(--ink) 93%,transparent);display:grid;place-items:center;padding:clamp(14px,3vw,48px)}
.lb-caixa{width:min(1200px,100%);aspect-ratio:16/9;background:#000;border-radius:var(--r-media);overflow:hidden}
.lb iframe{width:100%;height:100%;border:0;display:block}
.lb-fechar{
  position:absolute;top:16px;right:18px;width:44px;height:44px;
  border:1px solid var(--off);border-radius:var(--r-pill);color:var(--off);
  font-size:22px;line-height:1;display:grid;place-items:center;
}
.lb-fechar:hover,.lb-fechar:focus-visible{background:var(--red);border-color:var(--red);color:#fff}
@media (prefers-reduced-motion:reduce){.zap{transition:none}}

/* páginas de diretor */
.dir-grid .card:nth-child(odd){grid-column:1/span 6}
.dir-grid .card:nth-child(even){grid-column:7/span 6}
@media (max-width:900px){.dir-grid .card{grid-column:1/-1 !important}}
