/* ==========================================================================
   Festival Cinetoca 2026 — Grande Prêmio do Cinema Tocantinense
   Identidade: "Sala escura & Ouro Branco Ritxoko" — preto profundo, degradês
   pontuais em azul-abismo, paleta em tom ouro branco / champanhe suave (não
   marcada), formas vetoriais do Troféu Ritxoko e estética das máscaras dos Reels.
   ========================================================================== */

:root {
  /* Pretos profundos */
  --k0: #020304;
  --k1: #060708;
  --k2: #0c0e10;
  --k3: #14171a;
  /* Azul-abismo (usado em degradês pontuais mesclados ao preto) */
  --ab0: #061520;
  --ab1: #0a2433;
  --ab2: #12384a;

  /* Paleta Ouro Champanhe / Ouro Branco Quente (levemente mais dourada e acetinada) */
  --g0: #fcf5e3;
  --g1: #f0deba;
  --g2: #d8b97c;
  --g3: #a88950;
  --ink: #f6ebd4;   /* Texto de destaque: marfim dourado suave */
  --body: #cfc6b4;  /* Texto corrido: champanhe neutro e quente */
  --mut: #a3957a;   /* Metadados e apoio: ouro fosco */
  --dim: #685e4b;   /* Elementos discretos */

  /* Gradientes Ouro Acetinado Ritxoko */
  --gold: linear-gradient(125deg, #fdf6e4 0%, #f1dcad 38%, #d7b471 74%, #b38d4a 100%);
  --gold-soft: linear-gradient(180deg, #fcf4e1 0%, #f1dfba 58%, #dcc290 100%);
  --hair: rgba(218, 186, 124, .24);
  --soft: rgba(218, 186, 124, .11);

  --serif: "Marcellus", Georgia, serif;
  --sc: "Marcellus SC", "Marcellus", Georgia, serif;
  --sans: "Jost", "Futura", "Avenir Next", system-ui, sans-serif;
  --ease: cubic-bezier(.2, .7, .1, 1);
  --hd: 76px;

  /* Grafismos indígenas da pasta oficial em traço ouro sutil */
  --kar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='22' viewBox='0 0 64 22'%3E%3Cg fill='none' stroke='%23d8b97c' stroke-width='1.05' stroke-opacity='.65'%3E%3Cpath d='M0 16 8 4l8 12 8-12 8 12 8-12 8 12 8-12 8 12'/%3E%3Cpath d='M0 20 8 8l8 12 8-12 8 12 8-12 8 12 8-12 8 12' stroke-opacity='.35'/%3E%3C/g%3E%3Ccircle cx='32' cy='11' r='1.5' fill='%23f0deba'/%3E%3C/svg%3E");
  --kar-diamonds: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='24' viewBox='0 0 44 24'%3E%3Cg fill='none' stroke='%23d8b97c' stroke-width='1.05'%3E%3Cpath d='M2 12 22 2l20 10-20 10Z' stroke-opacity='.45'/%3E%3Cpath d='M12 12 22 7l10 5-10 5Z' stroke-opacity='.75'/%3E%3C/g%3E%3Ccircle cx='22' cy='12' r='1.5' fill='%23f0deba'/%3E%3C/svg%3E");
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 .9 0 0 0 0 .72 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--hd) + 12px); -webkit-text-size-adjust: 100%; }
body {
  background: var(--k1);
  color: var(--body);
  font: 300 16px/1.75 var(--sans);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
/* Granulação de película sutil sobre todo o site */
body::after {
  content: ""; position: fixed; inset: 0; z-index: 100; pointer-events: none;
  background: var(--grain); opacity: .038; mix-blend-mode: overlay;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
::selection { background: var(--g2); color: var(--k0); }

/* Todos os títulos em tom ouro-champanhe suave */
h1, h2, h3, h4 {
  font-family: var(--serif);
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: .015em;
  color: var(--g1);
}
em { font-style: normal; font-family: var(--sc); letter-spacing: .05em; }

.gold {
  background: var(--gold);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
  filter: drop-shadow(0 2px 14px rgba(216, 185, 124, .18));
}

.wrap { width: min(1200px, 100% - 48px); margin-inline: auto; position: relative; z-index: 2; }
section { position: relative; padding: clamp(80px, 11vw, 140px) 0; overflow: hidden; }

/* ==========================================================================
   Ornamento inspirado nas Máscaras dos Reels:
   Haste vertical ouro em degradê + losango duplo com ponto central (◈)
   ========================================================================== */
.eyebrow {
  display: inline-flex; align-items: center; gap: 14px;
  font: 400 12px/1 var(--sc); letter-spacing: .28em; text-transform: lowercase;
  color: var(--g2); margin-bottom: 20px; position: relative; padding-top: 44px;
}
/* Linha vertical que desce em degradê (estilo máscara dos Reels) */
.eyebrow::before {
  content: ""; position: absolute; left: 6px; top: 0; width: 1px; height: 30px;
  background: linear-gradient(180deg, transparent, var(--g1));
}
/* Losango duplo com ponto central (◈) na base da linha vertical */
.eyebrow::after {
  content: ""; width: 13px; height: 13px; flex: none; order: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1 15 8 8 15 1 8Z' fill='none' stroke='%23f0deba' stroke-width='1.15'/%3E%3Cpath d='M8 5.2 10.8 8 8 10.8 5.2 8Z' fill='%23f0deba'/%3E%3C/svg%3E") center / contain no-repeat;
}
.eyebrow b { font: 400 14px/1 var(--serif); letter-spacing: .08em; text-transform: uppercase; color: var(--g0); order: 1; }
.eyebrow span { order: 2; color: var(--g2); }

.title {
  font-size: clamp(36px, 4.8vw, 64px);
  font-weight: 400;
  letter-spacing: .015em;
  background: var(--gold-soft);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}
.title em {
  font-family: var(--sc);
  letter-spacing: .06em;
  background: var(--gold);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 18px rgba(216, 185, 124, .22));
}
.lede { color: var(--body); max-width: 560px; font-size: 16.5px; }

.sec-head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: clamp(40px, 6vw, 70px); flex-wrap: wrap; }

/* Silhueta vetorial do Troféu (trofeu_vetor_illustrator.ai) como fundo escultural */
.trophy-bg {
  position: absolute; pointer-events: none; z-index: 1; user-select: none;
  width: auto; max-width: none; opacity: .1;
  -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.45) 65%, transparent 98%);
  mask-image: linear-gradient(180deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.45) 65%, transparent 98%);
  filter: drop-shadow(0 0 22px rgba(226, 215, 190, .15));
}
.trophy-bg--hero { right: -3%; bottom: -8%; height: 92%; opacity: .2; }
.trophy-bg--left { left: -4%; bottom: -6%; height: 86%; opacity: .22; }
.trophy-bg--right { right: -3%; bottom: -6%; height: 88%; opacity: .22; }

/* ==========================================================================
   Emblema Central Estilo Reels (Imagem 4 dos Reels):
   Troféu vetorial pousado sobre linha horizontal ouro-branco que esvanece
   ========================================================================== */
.reel-crest {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  margin-bottom: 22px; position: relative;
}
/* Raios de luz de fundo (God Rays) projetados atrás do troféu vetorial */
.reel-crest__flare {
  position: absolute;
  left: 50%;
  top: 58px;
  transform: translate(-50%, -50%);
  width: 170px;
  height: 170px;
  border-radius: 50%;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 252, 238, 0.90) 0%, rgba(248, 222, 155, 0.58) 22%, rgba(220, 175, 95, 0.22) 42%, rgba(180, 130, 45, 0.04) 58%, transparent 70%);
  mix-blend-mode: screen;
  filter: blur(5px);
  animation: reelCrestGlowPulse 7s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
}
/* Raios de luz volumétricos primários que giram sutilmente */
.reel-crest__flare::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(
    from 10deg at 50% 50%,
    transparent 0deg,
    rgba(255, 252, 240, 0.70) 6deg,
    rgba(245, 218, 145, 0.35) 12deg,
    transparent 20deg,
    transparent 30deg,
    rgba(255, 250, 230, 0.75) 38deg,
    rgba(240, 210, 135, 0.40) 45deg,
    transparent 54deg,
    transparent 68deg,
    rgba(255, 252, 238, 0.60) 76deg,
    transparent 86deg,
    transparent 102deg,
    rgba(255, 248, 225, 0.70) 112deg,
    rgba(245, 218, 145, 0.35) 118deg,
    transparent 128deg,
    transparent 142deg,
    rgba(255, 250, 230, 0.75) 150deg,
    transparent 162deg,
    transparent 180deg,
    rgba(255, 252, 240, 0.65) 190deg,
    transparent 202deg,
    transparent 220deg,
    rgba(255, 250, 232, 0.75) 230deg,
    rgba(240, 210, 135, 0.40) 238deg,
    transparent 248deg,
    transparent 264deg,
    rgba(255, 248, 225, 0.60) 274deg,
    transparent 286deg,
    transparent 306deg,
    rgba(255, 252, 240, 0.75) 316deg,
    rgba(245, 218, 145, 0.38) 324deg,
    transparent 334deg,
    transparent 348deg,
    rgba(255, 250, 230, 0.55) 355deg,
    transparent 360deg
  );
  -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 0%, rgba(0, 0, 0, 0.90) 22%, rgba(0, 0, 0, 0.35) 52%, transparent 70%);
  mask-image: radial-gradient(circle at 50% 50%, #000 0%, rgba(0, 0, 0, 0.90) 22%, rgba(0, 0, 0, 0.35) 52%, transparent 70%);
  filter: blur(2.5px);
  mix-blend-mode: screen;
  animation: reelRaysSpin 65s linear infinite;
}
/* Raios de luz secundários com pulsação suave de intensidade */
.reel-crest__flare::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(
    from 35deg at 50% 50%,
    transparent 0deg,
    rgba(255, 248, 225, 0.50) 14deg,
    transparent 26deg,
    transparent 50deg,
    rgba(240, 210, 135, 0.40) 62deg,
    transparent 76deg,
    transparent 105deg,
    rgba(255, 250, 232, 0.55) 118deg,
    transparent 132deg,
    transparent 166deg,
    rgba(245, 218, 145, 0.45) 178deg,
    transparent 192deg,
    transparent 226deg,
    rgba(255, 252, 240, 0.60) 240deg,
    transparent 254deg,
    transparent 286deg,
    rgba(240, 210, 135, 0.40) 298deg,
    transparent 312deg,
    transparent 340deg,
    rgba(255, 248, 225, 0.50) 352deg,
    transparent 360deg
  );
  -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 0%, rgba(0, 0, 0, 0.88) 18%, rgba(0, 0, 0, 0.25) 50%, transparent 68%);
  mask-image: radial-gradient(circle at 50% 50%, #000 0%, rgba(0, 0, 0, 0.88) 18%, rgba(0, 0, 0, 0.25) 50%, transparent 68%);
  filter: blur(2px);
  mix-blend-mode: screen;
  animation: reelRaysPulse 7s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
}
@keyframes reelRaysSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes reelRaysPulse {
  0% { opacity: 0.35; }
  50% { opacity: 0.85; }
  100% { opacity: 0.60; }
}
@keyframes reelCrestGlowPulse {
  0% {
    transform: translate(-50%, -50%) scale(0.68);
    opacity: 0.45;
    filter: blur(3.5px);
  }
  50% {
    transform: translate(-50%, -50%) scale(0.94);
    opacity: 0.78;
    filter: blur(5px);
  }
  100% {
    transform: translate(-50%, -50%) scale(1.22);
    opacity: 1;
    filter: blur(6.5px);
  }
}
/* Troféu com interior preto e contorno dourado refinado e marcado */
.reel-crest__fig {
  width: 58px; height: auto; display: block;
  position: relative;
  z-index: 1;
  background: transparent !important;
  filter:
    drop-shadow(0 0 1px rgba(255, 255, 250, 0.95))
    drop-shadow(0 0 3px rgba(245, 218, 145, 0.80))
    drop-shadow(0 0 10px rgba(222, 175, 85, 0.45))
    drop-shadow(0 0 18px rgba(180, 130, 40, 0.20));
  animation: reelFigGlowSync 7s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
  transition: filter .4s ease;
}
@keyframes reelFigGlowSync {
  0% {
    filter:
      drop-shadow(0 0 1px rgba(255, 255, 250, 0.82))
      drop-shadow(0 0 2.5px rgba(245, 218, 145, 0.62))
      drop-shadow(0 0 6px rgba(222, 175, 85, 0.25));
  }
  100% {
    filter:
      drop-shadow(0 0 1.2px rgba(255, 255, 250, 0.98))
      drop-shadow(0 0 4px rgba(245, 218, 145, 0.92))
      drop-shadow(0 0 12px rgba(222, 175, 85, 0.55))
      drop-shadow(0 0 20px rgba(180, 130, 40, 0.28));
  }
}
.reel-crest__line {
  width: min(540px, 86%); height: 1px; margin-top: -2px;
  background: linear-gradient(90deg, transparent 0%, rgba(210, 196, 164, .18) 25%, var(--g1) 50%, rgba(210, 196, 164, .18) 75%, transparent 100%);
  position: relative;
  z-index: 1;
}
.reel-crest__line::after {
  content: ""; position: absolute; left: 50%; top: 50%; translate: -50% -50%;
  width: 58px; height: 1px; background: #fff5dc;
  box-shadow: 0 0 6px rgba(255, 248, 225, .80), 0 0 14px rgba(226, 195, 130, .40);
}
.reel-crest__sub {
  margin-top: 10px; font: 400 11px/1 var(--sc); letter-spacing: .52em;
  color: var(--mut); text-transform: uppercase; padding-left: .52em;
  position: relative;
  z-index: 1;
}

/* Botões em pílula com tipografia Marcellus SC */
.btn {
  --p: 15px 30px;
  display: inline-flex; align-items: center; gap: 12px;
  padding: var(--p); border-radius: 999px;
  font: 400 12.5px/1 var(--sc); letter-spacing: .2em;
  border: 1px solid var(--hair); color: var(--g1);
  background: rgba(226, 215, 190, .04);
  transition: .45s var(--ease);
}
.btn svg { width: 16px; height: 16px; transition: transform .45s var(--ease); }
.btn:hover,
.btn:focus-visible { border-color: var(--g1); color: var(--g0); background: rgba(226, 215, 190, .12); }
.btn:hover svg,
.btn:focus-visible svg { transform: translateX(4px); }
.btn--gold {
  background: var(--gold);
  color: #14110b;
  border-color: transparent;
  box-shadow: 0 10px 36px -12px rgba(226, 215, 190, .4);
}
.btn--gold:hover,
.btn--gold:focus-visible,
.btn--gold:active {
  background: linear-gradient(125deg, #fffaf0 0%, #f7e5b9 38%, #e2c07a 75%, #c0994f 100%);
  color: #0c0a06;
  border-color: rgba(252, 245, 227, .7);
  box-shadow: 0 14px 44px -8px rgba(216, 185, 124, .65), 0 0 22px rgba(216, 185, 124, .28);
  transform: translateY(-1px);
}

.link {
  display: inline-flex; align-items: center; gap: 10px;
  font: 400 12.5px/1 var(--sc); letter-spacing: .2em; color: var(--g1);
  padding-bottom: 6px; background: linear-gradient(var(--g2), var(--g2)) left bottom / 0 1px no-repeat;
  transition: background-size .5s var(--ease), color .3s;
}
.link:hover { background-size: 100% 1px; color: var(--g0); }

/* Friso horizontal de hastes entalhadas com grafismos indígenas (vetorizado) */
.kar {
  height: 36px;
  background: url("../img/trofeu/grafismo-barra.svg?v=2") repeat-x center / auto 100%;
  opacity: .88;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, .55));
}
.kar--diamonds {
  height: clamp(36px, 4vw, 48px);
  background: url("../img/trofeu/grafismo-barra.svg?v=2") repeat-x center / auto 100%;
  opacity: .92;
  filter: drop-shadow(0 6px 16px rgba(0, 0, 0, .65));
}

/* ==========================================================================
   Cabeçalho flutuante
   ========================================================================== */
.hd {
  position: fixed; inset: 0 0 auto; z-index: 50;
  padding: 14px 24px; transition: padding .5s var(--ease);
}
.hd__bar {
  width: min(1200px, 100%); margin: auto;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 10px 12px 10px 22px; border-radius: 999px;
  border: 1px solid transparent; transition: .5s var(--ease);
}
.hd.on .hd__bar {
  background: rgba(6, 7, 8, .78);
  backdrop-filter: blur(18px) saturate(140%); -webkit-backdrop-filter: blur(18px) saturate(140%);
  border-color: var(--soft);
  box-shadow: 0 20px 50px -20px rgba(0, 0, 0, .85);
}
.brand { display: flex; align-items: center; gap: 12px; }
.brand img { height: 38px; width: auto; filter: saturate(.72) brightness(1.08) drop-shadow(0 0 8px rgba(226, 215, 190, .2)); }
.brand span {
  font: 400 21px/1 var(--sc); letter-spacing: .12em; text-transform: uppercase;
  background: var(--gold); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.brand small { display: block; font: 400 9px/1 var(--sans); letter-spacing: .34em; color: var(--mut); text-transform: uppercase; margin-top: 5px; }

.nav { display: flex; align-items: center; gap: 4px; }
.nav a {
  padding: 9px 14px; border-radius: 999px;
  font: 400 12.5px/1 var(--sc); letter-spacing: .14em;
  color: var(--ink); transition: .3s;
}
.nav a:hover, .nav a.on { color: var(--g0); background: rgba(226, 215, 190, .1); }
.nav .btn { --p: 11px 20px; margin-left: 10px; font-size: 11.5px; color: #14110b; }
.nav .btn:hover { background: var(--gold); color: #14110b; }

/* ==========================================================================
   Submenu Dropdown — Edições (Oculto por padrão, aparece apenas com hover ou clique)
   ========================================================================== */
.nav-dd {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

.nav-dd__trigger {
  padding: 9px 16px !important;
  border-radius: 999px !important;
  font: 400 12.5px/1 var(--sc) !important;
  letter-spacing: .14em !important;
  color: var(--ink) !important;
  background: transparent !important;
  border: 0 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  transition: .3s !important;
  white-space: nowrap !important;
}

.nav-dd__arrow {
  font-size: 10px;
  line-height: 1;
  color: var(--g1);
  transition: transform .25s var(--ease);
}

.nav-dd:hover .nav-dd__trigger,
.nav-dd.is-open .nav-dd__trigger,
.nav-dd__trigger.on,
.nav-dd__trigger:focus-visible {
  color: var(--g0) !important;
  background: rgba(226, 215, 190, .12) !important;
}

.nav-dd:hover .nav-dd__arrow,
.nav-dd.is-open .nav-dd__arrow {
  transform: rotate(180deg);
}

/* O MENU: display: none por padrão — NUNCA aparece sem hover ou clique */
.nav-dd__menu {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  min-width: 230px !important;
  padding: 8px !important;
  border-radius: 16px !important;
  background: #06080b !important;
  background: linear-gradient(180deg, #090e14 0%, #040608 100%) !important;
  border: 1px solid rgba(226, 215, 190, .2) !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .95), 0 0 0 1px rgba(0, 0, 0, .8) !important;
  z-index: 9999 !important;
}

/* Ponte transparente para o mouse não perder hover */
.nav-dd__menu::before {
  content: "";
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
}

/* APARECE SOMENTE NO HOVER OU COM CLIQUE (.is-open) */
.nav-dd:hover .nav-dd__menu,
.nav-dd.is-open .nav-dd__menu {
  display: block !important;
}

.nav-dd__item {
  display: block !important;
  padding: 10px 14px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  text-align: left !important;
  transition: background .2s !important;
  white-space: nowrap !important;
}

.nav-dd__item:hover {
  background: rgba(226, 215, 190, .1) !important;
}

.nav-dd__item b {
  display: block !important;
  font-family: var(--serif) !important;
  font-weight: 400 !important;
  font-size: 14.5px !important;
  line-height: 1.25 !important;
  color: var(--g0) !important;
  margin-bottom: 2px !important;
  letter-spacing: .02em !important;
}

.nav-dd__item small {
  display: block !important;
  font-family: var(--sc) !important;
  font-size: 10px !important;
  letter-spacing: .16em !important;
  color: var(--mut) !important;
  text-transform: uppercase !important;
}

.nav-dd__sep {
  border: 0 !important;
  height: 1px !important;
  background: rgba(226, 215, 190, .12) !important;
  margin: 6px 8px !important;
}

.nav-dd__item--all {
  font-family: var(--sc) !important;
  font-size: 11px !important;
  letter-spacing: .18em !important;
  color: var(--g1) !important;
  padding: 8px 14px !important;
}

.nav-dd__item--all:hover {
  color: var(--g0) !important;
}

.burger { display: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--hair); position: relative; }
.burger i, .burger::before, .burger::after { content: ""; position: absolute; left: 13px; right: 13px; height: 1px; background: var(--g1); transition: .4s var(--ease); }
.burger::before { top: 16px; } .burger i { top: 21.5px; } .burger::after { top: 27px; }
.menu-open .burger::before { top: 21.5px; transform: rotate(45deg); }
.menu-open .burger::after { top: 21.5px; transform: rotate(-45deg); }
.menu-open .burger i { opacity: 0; }

/* ==========================================================================
   Hero
   ========================================================================== */
.hero {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: calc(var(--hd) + 24px) 0 54px;
  overflow: hidden;
  box-sizing: border-box;
  background:
    radial-gradient(45% 58% at 75% 54%, rgba(168, 114, 48, 0.22) 0%, rgba(92, 58, 22, 0.10) 42%, transparent 72%),
    radial-gradient(55% 60% at 22% 42%, rgba(12, 34, 46, 0.48) 0%, transparent 68%),
    #040608;
}
.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 160px;
  z-index: 2;
  background: linear-gradient(transparent, var(--k1));
  pointer-events: none;
}

/* Barra de losangos fixada no limite inferior da primeira dobra */
.kar--hero {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5;
  width: 100%;
}

.hero__grid {
  display: grid;
  grid-template-columns: 1.04fr .96fr;
  gap: clamp(24px, 3.5vw, 48px);
  align-items: center;
  position: relative;
  z-index: 3;
  width: min(1260px, 100% - 88px);
  max-width: 1260px;
  margin: auto;
  padding: 0 16px;
  box-sizing: border-box;
}
.hero__content {
  max-width: 640px;
}

/* Palco 3D em múltiplas camadas com o PNG transparente do Troféu Ritxoko */
.hero__stage {
  position: relative;
  width: min(600px, 100%);
  height: clamp(500px, 75vh, 660px);
  margin-inline: auto;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  pointer-events: none;
}
.hero__stage-glow {
  position: absolute;
  inset: -6% -12% 0;
  z-index: 0;
  background:
    radial-gradient(44% 50% at 56% 52%, rgba(214, 152, 72, 0.28) 0%, rgba(145, 92, 34, 0.12) 48%, transparent 76%),
    radial-gradient(50% 12% at 54% 96%, rgba(0, 0, 0, 0.94) 0%, rgba(0, 0, 0, 0.58) 52%, transparent 82%),
    radial-gradient(60% 14% at 56% 97%, rgba(212, 162, 86, 0.24) 0%, transparent 74%);
}
.hero__trophy {
  position: absolute;
  width: auto;
  object-fit: contain;
  user-select: none;
}
.hero__trophy--back-left {
  height: 70%;
  left: 3%;
  bottom: 12%;
  z-index: 1;
  filter: blur(5.5px) brightness(0.50) sepia(0.22) saturate(1.18);
  opacity: 0.78;
  transform: translateY(0);
  animation: heroBackFloat 9s ease-in-out infinite alternate;
}
.hero__trophy--back-right {
  height: 76%;
  right: 0%;
  bottom: 10%;
  z-index: 1;
  filter: blur(6.5px) brightness(0.56) sepia(0.26) saturate(1.22);
  opacity: 0.74;
  animation: heroBackFloat 11s ease-in-out -3s infinite alternate;
}
@keyframes heroBackFloat {
  from { transform: translateY(0); }
  to { transform: translateY(-6px); }
}
.hero__dust {
  position: absolute;
  inset: -10% -14%;
  width: 128%;
  height: 120%;
  z-index: 2;
  pointer-events: none;
}
.hero__trophy-main {
  position: relative;
  z-index: 3;
  height: 96%;
  max-height: 635px;
  margin: 0;
  transform: translateX(4%);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  filter:
    drop-shadow(0 32px 38px rgba(0, 0, 0, 0.90))
    drop-shadow(0 0 42px rgba(216, 168, 92, 0.20));
  animation: heroMainFloat 7.5s ease-in-out infinite alternate;
}
/* Flare/brilho circular frontal que se movimenta por cima do troféu animado */
.hero__sheen {
  position: absolute;
  left: 50%;
  top: 45%;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(circle at 45% 45%, rgba(255, 255, 250, 0.85) 0%, rgba(252, 238, 195, 0.50) 22%, rgba(226, 185, 110, 0.22) 48%, transparent 70%),
    radial-gradient(ellipse 65% 25% at 50% 50%, rgba(255, 250, 230, 0.70) 0%, rgba(240, 215, 150, 0.25) 45%, transparent 75%);
  mix-blend-mode: color-dodge;
  filter: blur(12px);
  animation: heroSheenSweep 8s ease-in-out infinite alternate;
}
@keyframes heroSheenSweep {
  0% {
    transform: translate(-65%, -55%) scale(0.85);
    opacity: 0.65;
  }
  50% {
    transform: translate(-35%, -35%) scale(1.15);
    opacity: 0.95;
  }
  100% {
    transform: translate(-50%, -70%) scale(0.95);
    opacity: 0.75;
  }
}
.hero__trophy-main img,
.hero__trophy-video {
  height: 100%;
  width: auto;
  object-fit: contain;
  display: block;
  position: relative;
  z-index: 1;
}
.hero__trophy-video {
  pointer-events: none;
}
@keyframes heroMainFloat {
  from { transform: translateX(4%) translateY(0); }
  to { transform: translateX(4%) translateY(-8px); }
}
.hero__title {
  font-family: var(--sc);
  font-size: clamp(46px, 6.4vw, 94px);
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: .035em;
  margin: 4px 0 18px;
}
.hero__title .ln > span {
  display: inline-block;
  background: linear-gradient(180deg, #fef7e6 0%, #efd6a2 44%, #cca15c 80%, #9f7536 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 8px 28px rgba(0, 0, 0, .65));
  transform: translateY(105%);
  animation: up 1.2s var(--ease) forwards;
}
.hero__title .ln:nth-child(2) > span {
  animation-delay: .12s;
}
@keyframes up { to { transform: none; } }

.hero__sub {
  font: 300 clamp(18px, 1.95vw, 27px)/1.3 var(--sans);
  letter-spacing: .025em;
  color: var(--g0);
  margin: 0 0 6px;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .85);
}
.hero__loc {
  font: 400 clamp(14px, 1.3vw, 18px)/1.3 var(--sans);
  letter-spacing: .06em;
  color: var(--g1);
  opacity: .92;
  margin: 0 0 28px;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .85);
}

.hero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin: 0 0 32px; font: 400 13px/1 var(--sc); letter-spacing: .2em; color: var(--g1); opacity: .9; }
.hero__meta i { width: 6px; height: 6px; transform: rotate(45deg); border: 1px solid var(--g1); background: rgba(240, 222, 186, .22); }
.hero__meta strong { color: var(--g0); font-weight: 400; }
.hero__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; }

/* Contagem regressiva sem caixas */
.cd { display: flex; align-items: flex-end; gap: 0; margin-top: 44px; }
.cd div { padding: 0 26px; border-left: 1px solid var(--hair); }
.cd div:first-child { padding-left: 0; border-left: 0; }
.cd b { display: block; font: 400 clamp(34px, 3.8vw, 48px)/1 var(--serif); font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.cd span { font: 400 10.5px/1 var(--sc); letter-spacing: .24em; color: var(--mut); }
.cd-note { margin-top: 14px; font: 400 13px var(--sc); letter-spacing: .18em; color: var(--g2); }

/* Troféu com anel de texto giratório + silhueta vetorial concêntrica */
.halo { position: relative; aspect-ratio: 1; width: min(460px, 100%); margin-inline: auto; display: grid; place-items: center; }
.halo::before {
  content: ""; position: absolute; inset: 9%; border-radius: 50%;
  background: radial-gradient(circle at 50% 40%, rgba(18, 56, 74, .85), rgba(6, 21, 32, .55) 50%, transparent 72%);
  box-shadow: inset 0 0 0 1px var(--hair), 0 0 60px rgba(226, 215, 190, .06);
}
.halo::after {
  content: ""; position: absolute; inset: 16%; border-radius: 50%;
  border: 1px dashed rgba(226, 215, 190, .18); pointer-events: none;
}
.halo svg.ring { position: absolute; inset: 0; width: 100%; height: 100%; animation: spin 60s linear infinite; }
.halo svg.ring text { font: 400 12px var(--sc); letter-spacing: .38em; fill: var(--g1); text-transform: uppercase; }
@keyframes spin { to { transform: rotate(360deg); } }
.halo img { position: relative; z-index: 2; width: 74%; filter: drop-shadow(0 40px 40px rgba(0, 0, 0, .85)) drop-shadow(0 0 48px rgba(226, 215, 190, .16)); animation: float 7s ease-in-out infinite alternate; }
@keyframes float { to { transform: translateY(-12px); } }

/* Badge de Entrada Gratuita na Programação */
.prog-free-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(235, 218, 160, 0.08);
  border: 1px solid rgba(226, 215, 190, 0.25);
  color: var(--g0);
  font: 500 12.5px/1 var(--sans);
  letter-spacing: .03em;
}

/* ==========================================================================
   Sobre
   ========================================================================== */
.about { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(40px, 8vw, 110px); align-items: center; }
.arch { position: relative; max-width: 400px; }
.arch img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 999px 999px 14px 14px; filter: saturate(.88) contrast(1.04) sepia(.06); }
/* Máscara estilo Reels sobre a foto do Sobre */
.arch::before {
  content: ""; position: absolute; inset: 0; border-radius: 999px 999px 14px 14px; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, transparent 45%, rgba(4, 5, 6, .88) 100%);
}
.arch::after { content: ""; position: absolute; inset: -12px; border: 1px solid var(--hair); border-radius: 999px 999px 22px 22px; pointer-events: none; }
.arch figcaption {
  position: absolute; left: 24px; right: 24px; bottom: 22px; z-index: 2;
  padding-top: 34px; font: 400 15px/1.2 var(--serif); letter-spacing: .06em; color: var(--g1);
}
.arch figcaption::before {
  content: ""; position: absolute; left: 5px; top: 0; width: 1px; height: 22px;
  background: linear-gradient(180deg, transparent, var(--g1));
}
.arch figcaption::after {
  content: "◆"; position: absolute; left: 1px; top: 20px; font-size: 9px; color: var(--g0);
}
.arch figcaption small { display: block; margin-top: 4px; font: 400 9.5px/1 var(--sc); letter-spacing: .34em; color: var(--mut); }

.about p + p { margin-top: 18px; }
.about p { color: var(--body); }

.stats { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 52px; border-top: 1px solid var(--soft); }
.stats div { padding: 26px 0 0 22px; border-left: 1px solid var(--soft); }
.stats div:first-child { border-left: 0; padding-left: 0; }
.stats b { display: block; font: 400 clamp(40px, 4.6vw, 58px)/1 var(--serif); }
.stats span { font: 400 11.5px/1.4 var(--sc); letter-spacing: .2em; color: var(--mut); }

/* ==========================================================================
   Programação (degradê preto → azul → preto)
   ========================================================================== */
.prog { background: linear-gradient(180deg, var(--k1) 0%, var(--ab0) 38%, #071a26 55%, var(--k1) 100%); overflow: hidden; }
.prog::before { content: ""; position: absolute; inset: 0; background: radial-gradient(50% 40% at 85% 30%, rgba(18, 56, 74, .45), transparent 70%); pointer-events: none; }

.days { display: grid; grid-template-columns: repeat(6, 1fr); border-bottom: 1px solid var(--soft); margin-bottom: 56px; position: relative; }
.days button { text-align: left; padding: 0 12px 22px 0; position: relative; transition: .4s var(--ease); }
.days button::after { content: ""; position: absolute; left: 0; bottom: -1px; height: 1px; width: 0; background: var(--gold); transition: width .6s var(--ease); }
.days button.on::after { width: calc(100% - 12px); }
.days b { display: block; font: 400 clamp(34px, 4vw, 54px)/1 var(--serif); color: var(--dim); transition: .4s; }
.days small { display: block; margin-top: 8px; font: 400 11px/1.4 var(--sc); letter-spacing: .18em; color: var(--dim); transition: .4s; }
.days button:hover b, .days button:hover small { color: var(--mut); }
.days button.on b { background: var(--gold); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 0 14px rgba(237, 229, 210, .18)); }
.days button.on small { color: var(--g1); }

.day { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(30px, 6vw, 90px); position: relative; }
.day__intro h3 { font-size: clamp(28px, 3vw, 40px); font-weight: 400; margin-bottom: 14px; color: var(--g1); }
.day__intro p { color: var(--mut); font-family: var(--sc); letter-spacing: .12em; font-size: 14px; }
.day__intro .place { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; padding: 10px 18px; border-radius: 999px; border: 1px solid var(--hair); font: 400 11.5px/1.3 var(--sc); letter-spacing: .16em; color: var(--g1); background: rgba(226, 215, 190, .04); }
.day__intro .place svg { width: 14px; height: 14px; flex: none; color: var(--g1); }

.timeline { position: relative; padding-left: 34px; }
.timeline::before { content: ""; position: absolute; left: 4px; top: 8px; bottom: 8px; width: 1px; background: linear-gradient(var(--g1), rgba(226, 215, 190, .06)); }
.ses { position: relative; padding-bottom: 42px; }
.ses:last-child { padding-bottom: 0; }
.ses::before { content: ""; position: absolute; left: -34px; top: 6px; width: 9px; height: 9px; transform: rotate(45deg); background: var(--k1); border: 1px solid var(--g1); box-shadow: 0 0 0 5px rgba(226, 215, 190, .08); }
.ses__time { font: 400 11.5px/1 var(--sc); letter-spacing: .22em; color: var(--g2); }
.ses h4 { font-size: clamp(22px, 2.2vw, 28px); font-weight: 400; margin: 10px 0 18px; color: var(--g0); }
.ses__films { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px 36px; }
.ses__films > div { padding-top: 14px; border-top: 1px solid var(--soft); }
.ses__films em { display: block; font: 400 11px/1.4 var(--sc); letter-spacing: .18em; color: var(--g1); margin-bottom: 10px; }
.ses__films p { font-size: 14.5px; line-height: 1.6; color: var(--body); }

/* Lista de filmes por dia com marcadores individuais */
.film-list { list-style: none; display: grid; gap: 7px; margin: 0; padding: 0; }
.film-list li {
  position: relative; padding-left: 18px;
  font-size: 14.5px; line-height: 1.5; color: var(--body);
}
.film-list li::before {
  content: "◆"; position: absolute; left: 0; top: .32em;
  font-size: 8.5px; line-height: 1; color: var(--g1); opacity: .85;
}

.fade-in { animation: fin .7s var(--ease); }
@keyframes fin { from { opacity: 0; transform: translateY(14px); } }

/* ==========================================================================
   Mostras — 8 mostras em 4 colunas (2 fileiras) com máscara dos Reels + Troféu
   ========================================================================== */
.shows { display: grid; grid-template-columns: repeat(4, 1fr); gap: 38px 26px; }
.show { position: relative; }
.show--interactive { cursor: pointer; outline: none; }
.show--interactive:focus-visible figure::after { opacity: 1; box-shadow: inset 0 0 0 2px var(--g0); }
.show figure {
  position: relative; overflow: hidden; border-radius: 999px 999px 10px 10px;
  aspect-ratio: 3 / 3.9; margin-bottom: 16px; background: var(--k2);
}
.show figure > img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.3) sepia(.1) brightness(.82); transition: 1s var(--ease); }
.show:hover figure > img { filter: sepia(.05) brightness(.96); transform: scale(1.06); }
/* Degradê estilo máscara dos Reels */
.show figure::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, transparent 22%, rgba(6, 7, 8, .55) 62%, rgba(4, 5, 6, .95) 100%);
}
/* Moldura em arco + haste vertical com losango ◈ no canto inferior esquerdo + silhueta do troféu à direita */
.show figure::after {
  content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; pointer-events: none;
  box-shadow: inset 0 0 0 1px var(--hair);
  background:
    url("../img/trofeu/trofeu-pedestal.svg") right 8px bottom -6px / 44px auto no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='54' viewBox='0 0 12 54'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23ede5d2' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23ede5d2'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cline x1='6' y1='0' x2='6' y2='42' stroke='url(%23g)' stroke-width='1'/%3E%3Cpath d='M6 42 11 47 6 52 1 47Z' fill='none' stroke='%23ede5d2' stroke-width='1.1'/%3E%3Ccircle cx='6' cy='47' r='1.3' fill='%23ede5d2'/%3E%3C/svg%3E") left 14px bottom 12px / 12px 54px no-repeat;
  opacity: .75; transition: opacity .4s;
}
.show:hover figure::after { opacity: 1; box-shadow: inset 0 0 0 1px var(--g1); }

/* Pílula de quantidade de filmes no topo do arco */
.show__pill {
  position: absolute;
  top: 16px;
  left: 50%;
  translate: -50% 0;
  z-index: 4;
  padding: 5px 13px;
  border-radius: 999px;
  background: rgba(6, 8, 12, .78);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(237, 229, 210, .28);
  font: 400 10px/1 var(--sc);
  letter-spacing: .16em;
  color: var(--g0);
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .5);
  transition: border-color .35s, background .35s;
}
.show:hover .show__pill {
  background: rgba(14, 24, 34, .92);
  border-color: var(--g1);
}

/* Cortina de prévia dos filmes dentro do arco no hover */
.show__peek {
  position: absolute;
  inset: auto 0 0;
  z-index: 3;
  padding: 36px 16px 15px;
  background: linear-gradient(180deg, transparent 0%, rgba(4, 6, 10, .92) 24%, rgba(3, 4, 6, .98) 100%);
  text-align: left;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .4s var(--ease), transform .4s var(--ease);
  pointer-events: none;
}
.show--interactive:hover .show__peek,
.show--interactive:focus-visible .show__peek {
  opacity: 1;
  transform: translateY(0);
}
.show__peek-eyebrow {
  display: block;
  font: 400 9.5px/1 var(--sc);
  letter-spacing: .2em;
  color: var(--g2);
  text-transform: uppercase;
  margin-bottom: 8px;
}
.show__peek-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 5px;
}
.show__peek-list li {
  position: relative;
  padding-left: 14px;
  font-size: 12.5px;
  line-height: 1.35;
  color: var(--g0);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.show__peek-list li::before {
  content: "◆";
  position: absolute;
  left: 0;
  top: .22em;
  font-size: 7.5px;
  color: var(--g1);
}
.show__peek-more {
  display: block;
  margin-top: 6px;
  padding-left: 14px;
  font: 400 10.5px/1 var(--sc);
  letter-spacing: .14em;
  color: var(--mut);
}
.show__peek-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid rgba(226, 215, 190, .14);
  width: 100%;
  font: 400 10.5px/1 var(--sc);
  letter-spacing: .18em;
  color: var(--g1);
  text-transform: uppercase;
}

.show__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.show__n { font: 400 13px/1 var(--sc); letter-spacing: .18em; color: var(--g2); }
.show__count {
  font: 400 10.5px/1 var(--sc);
  letter-spacing: .16em;
  color: var(--mut);
}
.show h3 { font: 400 16.5px/1.3 var(--serif); letter-spacing: .01em; margin-top: 8px; color: var(--g1); transition: color .3s; }
.show:hover h3 { color: var(--g0); }
.show small { display: block; margin-top: 5px; font: 400 10.5px/1.4 var(--sc); letter-spacing: .2em; color: var(--mut); }
.show__trigger {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  font: 400 11px/1 var(--sc);
  letter-spacing: .16em;
  color: var(--g2);
  transition: color .3s;
}
.show__trigger svg {
  width: 13px;
  height: 13px;
  transition: transform .35s var(--ease);
}
.show:hover .show__trigger {
  color: var(--g0);
}
.show:hover .show__trigger svg {
  transform: translateX(4px);
}

/* ==========================================================================
   Modal / Catálogo Cinematográfico das Mostras (.show-modal)
   ========================================================================== */
.show-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: clamp(14px, 3vw, 32px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s var(--ease);
}
.show-modal.on {
  opacity: 1;
  pointer-events: auto;
}
.show-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 4, 6, .88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.show-modal__dialog {
  position: relative;
  z-index: 2;
  width: min(980px, 100%);
  max-height: min(88vh, 860px);
  display: flex;
  flex-direction: column;
  border-radius: 22px;
  border: 1px solid rgba(226, 215, 190, .24);
  background:
    radial-gradient(65% 55% at 85% 15%, rgba(18, 56, 74, .45), transparent 70%),
    linear-gradient(180deg, #090d12 0%, #050608 100%);
  box-shadow: 0 36px 90px rgba(0, 0, 0, .92), inset 0 1px 0 rgba(237, 229, 210, .16);
  overflow: hidden;
  transform: translateY(16px) scale(.98);
  transition: transform .4s var(--ease);
}
.show-modal.on .show-modal__dialog {
  transform: none;
}
.show-modal__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--soft);
  background: rgba(4, 6, 8, .75);
}
.show-modal__tabs {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 2px;
}
.show-modal__tabs::-webkit-scrollbar { display: none; }
.show-modal__tab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 13px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: rgba(226, 215, 190, .04);
  font: 400 11px/1 var(--sc);
  letter-spacing: .12em;
  color: var(--mut);
  white-space: nowrap;
  transition: .25s var(--ease);
}
.show-modal__tab b {
  font-family: var(--serif);
  color: var(--g2);
}
.show-modal__tab:hover {
  color: var(--g1);
  border-color: var(--hair);
}
.show-modal__tab.on {
  background: var(--gold);
  color: #14110b;
  border-color: transparent;
}
.show-modal__tab.on b {
  color: #14110b;
  font-weight: 600;
}
.show-modal__close {
  flex: none;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid var(--hair);
  background: rgba(226, 215, 190, .05);
  color: var(--g1);
  font-size: 16px;
  display: grid;
  place-items: center;
  transition: .25s;
}
.show-modal__close:hover {
  background: var(--g1);
  color: var(--k0);
}
.show-modal__body {
  padding: clamp(22px, 3.2vw, 36px);
  overflow-y: auto;
  flex: 1;
}
.show-modal__hero {
  display: grid;
  grid-template-columns: 128px 1fr;
  gap: clamp(20px, 3vw, 32px);
  align-items: center;
}
.show-modal__poster {
  margin: 0;
  border-radius: 999px 999px 12px 12px;
  overflow: hidden;
  aspect-ratio: 3 / 3.9;
  border: 1px solid var(--hair);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .6);
}
.show-modal__poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.show-modal__badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.show-modal__tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px solid var(--hair);
  background: rgba(226, 215, 190, .04);
  font: 400 10.5px/1.2 var(--sc);
  letter-spacing: .15em;
  color: var(--g1);
}
.show-modal__tag svg {
  width: 12px;
  height: 12px;
}
.show-modal__tag--gold {
  background: rgba(235, 218, 160, .12);
  border-color: rgba(237, 229, 210, .35);
  color: var(--g0);
}
.show-modal__title {
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.15;
  color: var(--g0);
  margin-bottom: 10px;
}
.show-modal__desc {
  color: var(--body);
  font-size: 15px;
  line-height: 1.65;
  max-width: 680px;
}
.show-modal__divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 26px 0 18px;
  font: 400 11px/1 var(--sc);
  letter-spacing: .24em;
  color: var(--g2);
  text-transform: uppercase;
}
.show-modal__divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, var(--hair), transparent);
}
.show-modal__films {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 16px;
}
.show-film {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px 12px;
  align-items: start;
  padding: 15px 16px;
  border-radius: 14px;
  border: 1px solid rgba(226, 215, 190, .12);
  background: rgba(12, 16, 22, .65);
  transition: border-color .25s, background .25s, transform .25s;
}
.show-film:hover {
  border-color: rgba(237, 229, 210, .32);
  background: rgba(18, 26, 36, .8);
  transform: translateY(-2px);
}
.show-film__num {
  font: 400 18px/1.1 var(--serif);
  color: var(--g2);
  padding-top: 2px;
}
.show-film__main h4 {
  font: 400 16px/1.3 var(--serif);
  color: var(--g0);
  margin-bottom: 4px;
}
.show-film__main p {
  font-size: 13px;
  line-height: 1.45;
  color: var(--body);
}
.show-film__ses {
  grid-column: 2;
  justify-self: start;
  display: inline-block;
  margin-top: 2px;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(226, 215, 190, .06);
  border: 1px solid rgba(226, 215, 190, .14);
  font: 400 10px/1.3 var(--sc);
  letter-spacing: .14em;
  color: var(--g1);
}
.show-modal__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 22px;
  border-top: 1px solid var(--soft);
  background: rgba(4, 6, 8, .82);
}
.show-modal__nav {
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid var(--hair);
  font: 400 11px/1 var(--sc);
  letter-spacing: .16em;
  color: var(--g1);
  transition: .25s;
}
.show-modal__nav:hover {
  border-color: var(--g0);
  color: var(--g0);
  background: rgba(226, 215, 190, .08);
}
.show-modal__indicator {
  font: 400 11px/1 var(--sc);
  letter-spacing: .2em;
  color: var(--mut);
}
@media (max-width: 760px) {
  .show-modal__hero {
    grid-template-columns: 92px 1fr;
  }
  .show-modal__films {
    grid-template-columns: 1fr;
  }
  .show-modal__indicator {
    display: none;
  }
}

/* ==========================================================================
   Troféu Ritxoko — exploração das formas vetoriais + peças em metal maciço
   ========================================================================== */
.trophy { background: radial-gradient(55% 70% at 75% 50%, var(--ab0) 0%, transparent 70%), var(--k0); overflow: hidden; }
.trophy__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(40px, 7vw, 100px); align-items: center; }
.trophy p { color: var(--body); }
.trophy p + p { margin-top: 18px; }
.facts { display: flex; flex-wrap: wrap; gap: 10px; margin: 32px 0 38px; }
.facts span { padding: 9px 16px; border-radius: 999px; border: 1px solid var(--hair); background: rgba(226, 215, 190, .03); font: 400 11.5px/1 var(--sc); letter-spacing: .16em; color: var(--g1); }

.trophy__foot { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding-top: 26px; border-top: 1px solid var(--soft); }
.artisan { display: flex; align-items: center; gap: 18px; }
.artisan img { width: 76px; height: 76px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px var(--hair), 0 0 0 6px var(--k0), 0 0 0 7px var(--soft); }
.artisan b { display: block; font: 400 22px/1.1 var(--serif); color: var(--g1); }
.artisan small { font: 400 11.5px/1 var(--sc); letter-spacing: .18em; color: var(--mut); margin-top: 4px; display: block; }

.vec-badge {
  display: flex; align-items: center; gap: 14px;
  padding: 10px 18px 10px 12px; border-radius: 999px;
  border: 1px solid var(--hair); background: rgba(226, 215, 190, .03);
}
.vec-badge img { height: 48px; width: auto; filter: drop-shadow(0 0 8px rgba(237, 229, 210, .22)); }
.vec-badge span { font: 400 11px/1.35 var(--sc); letter-spacing: .16em; color: var(--g1); }
.vec-badge small { display: block; color: var(--mut); font-size: 9.5px; letter-spacing: .24em; margin-top: 3px; }

/* ==========================================================================
   Homenageados (com emblema estilo Imagem 4 dos Reels)
   ========================================================================== */
.honor { text-align: center; background: linear-gradient(180deg, var(--k0), var(--k1)); }
.honor .eyebrow { justify-content: center; padding-top: 0; }
.honor .eyebrow::before, .honor .eyebrow::after { display: none; }
.honor__name {
  font-size: clamp(48px, 8vw, 120px); font-weight: 400; line-height: 1; letter-spacing: .02em;
  background: var(--gold-soft); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.honor__role { margin-top: 18px; font: 400 13px/1.4 var(--sc); letter-spacing: .24em; color: var(--g2); }
.honor__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(18px, 2.6vw, 32px);
  max-width: 1120px;
  margin: 34px auto 8px;
}
.honor__card {
  position: relative;
  padding: clamp(28px, 3vw, 40px) clamp(20px, 2.2vw, 28px);
  border-radius: 18px;
  border: 1px solid var(--hair);
  background: linear-gradient(180deg, rgba(14, 22, 30, .55) 0%, rgba(6, 8, 10, .82) 100%);
  box-shadow: 0 20px 50px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(237, 229, 210, .12);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: transform .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
}
.honor__card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 18%;
  right: 18%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--g1), transparent);
  opacity: .65;
}
.honor__card:hover {
  transform: translateY(-4px);
  border-color: rgba(237, 229, 210, .38);
  box-shadow: 0 26px 60px rgba(0, 0, 0, .65), 0 0 24px rgba(226, 215, 190, .08);
}
.honor__avatar {
  width: 118px;
  height: 118px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 18px;
  border: 2px solid rgba(235, 212, 165, 0.45);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.55), 0 0 22px rgba(225, 195, 130, 0.16), inset 0 0 14px rgba(0, 0, 0, 0.45);
  background: var(--k1);
  position: relative;
  flex-shrink: 0;
  transition: border-color .4s var(--ease), box-shadow .4s var(--ease);
}
.honor__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .55s var(--ease), filter .55s var(--ease);
}
.honor__card:hover .honor__avatar {
  border-color: rgba(242, 224, 184, 0.78);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.65), 0 0 28px rgba(235, 212, 165, 0.28);
}
.honor__card:hover .honor__avatar img {
  transform: scale(1.06);
}
.honor__badge {
  font: 400 10.5px/1 var(--sc);
  letter-spacing: .28em;
  color: var(--mut);
  text-transform: uppercase;
  margin-bottom: 14px;
}
.honor__title {
  font-family: var(--serif);
  font-size: clamp(26px, 2.7vw, 38px);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: .015em;
  background: var(--gold-soft);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.honor__card .honor__role {
  margin-top: 14px;
  font-size: 11.5px;
  letter-spacing: .2em;
  line-height: 1.5;
  color: var(--g2);
}
@media (max-width: 900px) {
  .honor__grid {
    grid-template-columns: 1fr;
    max-width: 500px;
  }
}
.honor p { max-width: 660px; margin: 30px auto 0; color: var(--body); }
.honor .kar {
  width: min(480px, 92%);
  margin: 40px auto 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}

/* ==========================================================================
   Edições
   ========================================================================== */
.pills { display: inline-flex; padding: 5px; border-radius: 999px; border: 1px solid var(--hair); background: rgba(226, 215, 190, .03); }
.pills button, .pills .pill-link { display: inline-block; padding: 11px 22px; border-radius: 999px; font: 400 13px/1 var(--serif); letter-spacing: .18em; color: var(--mut); transition: .4s var(--ease); }
.pills button.on, .pills .pill-link.on { background: var(--gold); color: #14110b; }
.pills button:not(.on):hover, .pills .pill-link:not(.on):hover { color: var(--g1); }

.ed { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(36px, 6vw, 80px); align-items: start; }
.ed__intro h3 { color: var(--g1); }
.ed__intro p { color: var(--body); margin-top: 14px; }
.wins { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 36px; }
.wins div { padding: 16px 0; border-bottom: 1px solid var(--soft); }
.wins small { display: block; font: 400 10.5px/1.4 var(--sc); letter-spacing: .18em; color: var(--mut); margin-bottom: 4px; }
.wins b { font: 400 18.5px/1.3 var(--serif); color: var(--g1); }

.reel { margin-top: 70px; position: relative; padding: 22px 0; }
/* perfurações ouro-branco de película */
.reel::before, .reel::after { content: ""; position: absolute; left: 0; right: 0; height: 8px; background: radial-gradient(circle, rgba(226, 215, 190, .18) 2px, transparent 2.5px) 0 0 / 18px 8px repeat-x; }
.reel::before { top: 0; } .reel::after { bottom: 0; }
.gallery { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.gallery button { display: block; width: 100%; overflow: hidden; border-radius: 10px; position: relative; aspect-ratio: 4 / 5; box-shadow: inset 0 0 0 1px var(--soft); }
.gallery img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.25) sepia(.08) brightness(.84); transition: .8s var(--ease); }
.gallery button:hover img { filter: none; transform: scale(1.04); }

/* Lightbox */
.lb { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 40px; background: rgba(2, 3, 4, .94); backdrop-filter: blur(8px); opacity: 0; pointer-events: none; transition: .4s; }
.lb.on { opacity: 1; pointer-events: auto; }
.lb img { max-height: 86vh; max-width: min(1100px, 100%); border-radius: 12px; box-shadow: 0 40px 80px rgba(0, 0, 0, .7); border: 1px solid var(--hair); }
.lb button { position: absolute; width: 50px; height: 50px; border-radius: 50%; border: 1px solid var(--hair); color: var(--g1); font-size: 20px; display: grid; place-items: center; transition: .3s; background: rgba(6, 7, 8, .6); }
.lb button:hover { background: var(--g2); color: var(--k0); }
.lb .x { top: 24px; right: 24px; } .lb .pv { left: 24px; top: 50%; translate: 0 -50%; } .lb .nx { right: 24px; top: 50%; translate: 0 -50%; }

/* ==========================================================================
   Notícias — lista compacta em 4 colunas em tons ouro-branco
   ========================================================================== */
.news { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 32px; }
.post { display: grid; grid-template-columns: 68px 1fr; gap: 16px; align-items: start; padding: 22px 0; border-top: 1px solid var(--soft); transition: .4s var(--ease); }
.post img { width: 68px; height: 68px; object-fit: cover; border-radius: 50%; filter: grayscale(.35) sepia(.12); transition: .5s var(--ease); box-shadow: 0 0 0 1px var(--hair); }
.post time { font: 400 11px/1 var(--sc); letter-spacing: .18em; color: var(--mut); }
.post h3 { font: 400 15.5px/1.38 var(--serif); margin-top: 7px; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; transition: color .3s; }
.post:hover img { filter: none; transform: rotate(-4deg) scale(1.05); box-shadow: 0 0 0 1px var(--g1); }
.post:hover h3 { color: var(--g0); }

/* ==========================================================================
   Produção
   ========================================================================== */
.team { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(30px, 6vw, 80px); }
.member { display: grid; grid-template-columns: 110px 1fr; gap: 26px; align-items: flex-start; }
.member__avatar {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(226, 215, 190, 0.4);
  box-shadow: 0 0 24px rgba(226, 215, 190, 0.15), inset 0 0 14px rgba(0, 0, 0, 0.5);
  background: var(--k1);
  flex-shrink: 0;
}
.member__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform .4s var(--ease);
}
.member:hover .member__avatar img {
  transform: scale(1.06);
}
.mono { width: 96px; height: 96px; border-radius: 50%; display: grid; place-items: center; font: 400 32px/1 var(--sc); letter-spacing: .06em; color: var(--g1); background: radial-gradient(circle at 30% 25%, var(--ab2), var(--ab0) 60%, var(--k0)); box-shadow: inset 0 0 0 1px var(--hair); }
.member small { font: 400 11.5px/1 var(--sc); letter-spacing: .18em; color: var(--gold-soft); text-transform: uppercase; display: block; margin-bottom: 2px; }
.member h3 { font-size: 30px; font-weight: 400; margin: 8px 0 14px; color: var(--g0); font-family: var(--serif); }
.member p { color: var(--body); font-size: 15px; line-height: 1.65; margin-bottom: 18px; }

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(36px, 7vw, 100px); }
.faq__head { position: sticky; top: calc(var(--hd) + 30px); align-self: start; }
.q { border-bottom: 1px solid var(--soft); }
.q:first-child { border-top: 1px solid var(--soft); }
.q button { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 24px 0; text-align: left; font: 400 clamp(18px, 1.7vw, 22px)/1.35 var(--serif); color: var(--g1); transition: color .3s; }
.q button:hover { color: var(--g0); }
.q button i { flex: none; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--hair); position: relative; transition: .5s var(--ease); }
.q button i::before, .q button i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 11px; height: 1px; background: var(--g1); translate: -50% -50%; }
.q button i::after { rotate: 90deg; transition: .5s var(--ease); }
.q.on button i { transform: rotate(180deg); background: rgba(226, 215, 190, .1); }
.q.on button i::after { rotate: 0deg; }
.q__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .55s var(--ease); }
.q.on .q__a { grid-template-rows: 1fr; }
.q__a > div { overflow: hidden; }
.q__a p { color: var(--body); padding-bottom: 26px; max-width: 620px; }
.q__a a { color: var(--g1); border-bottom: 1px solid var(--hair); }

/* ==========================================================================
   Rodapé (preto → azul + assinatura central estilo Reels)
   ========================================================================== */
.ft { position: relative; padding: 90px 0 calc(34px + env(safe-area-inset-bottom, 0px)); background: linear-gradient(180deg, var(--k1) 0%, var(--k0) 30%, var(--ab0) 100%); overflow: hidden; }
.ft::before { content: "CINETOCA"; position: absolute; left: 50%; bottom: -0.22em; translate: -50% 0; font: 400 clamp(100px, 18vw, 280px)/1 var(--sc); letter-spacing: .08em; color: transparent; -webkit-text-stroke: 1px rgba(226, 215, 190, .09); white-space: nowrap; pointer-events: none; }
.ft__sig { margin-bottom: 64px; text-align: center; }
.ft__sig h3 {
  font: 400 clamp(28px, 3.6vw, 44px)/1.1 var(--serif); letter-spacing: .04em;
  background: var(--gold); -webkit-background-clip: text; background-clip: text; color: transparent;
  margin-top: 14px;
}
.ft__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; position: relative; }
.ft h4 { font: 400 11.5px/1 var(--sc); letter-spacing: .24em; color: var(--g2); margin-bottom: 20px; }
.ft p, .ft li { font-size: 14.5px; color: var(--body); }
.ft ul { list-style: none; display: grid; gap: 8px; }
.ft ul a { font-family: var(--serif); font-size: 15.5px; color: var(--ink); transition: color .3s; }
.ft ul a:hover { color: var(--g0); }
.ft .brand { margin-bottom: 18px; }
.ft__gbm { height: 40px; width: auto; opacity: .9; transition: opacity .3s, transform .3s var(--ease); }
.ft a:hover .ft__gbm, .ft__gbm:hover { opacity: 1; transform: scale(1.05); }
.ft__bot { position: relative; display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-top: 72px; padding-top: 24px; border-top: 1px solid var(--soft); font: 400 12px/1.4 var(--sc); color: var(--mut); letter-spacing: .14em; }
.ft__bot a { color: var(--g1); border-bottom: 1px solid var(--hair); padding-bottom: 1px; transition: color .3s, border-color .3s; }
.ft__bot a:hover { color: var(--g0); border-color: var(--g0); }

/* ==========================================================================
   Subpáginas: Notícias (noticias.php / noticia.php) e Edições (edicao-202X.php)
   ========================================================================== */
.subpage { padding-top: calc(var(--hd) + clamp(36px, 5vw, 72px)); }
.crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font: 400 11px/1.3 var(--sc); letter-spacing: .18em; color: var(--mut); margin-bottom: 24px; }
.crumbs a { color: var(--g1); transition: color .3s; }
.crumbs a:hover { color: var(--g0); }

/* Artigo individual (noticia.php) */
.article-wrap { width: min(860px, calc(100% - clamp(36px, 8vw, 120px))); }
.article-head { margin-bottom: 42px; padding-bottom: 32px; border-bottom: 1px solid var(--soft); }
.article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-bottom: 18px; }
.article-cat { padding: 6px 14px; border-radius: 999px; border: 1px solid var(--hair); background: rgba(226, 215, 190, .04); font: 400 11px/1 var(--sc); letter-spacing: .2em; color: var(--g1); }
.article-meta time { font: 400 12px/1 var(--sc); letter-spacing: .2em; color: var(--mut); }
.article-title { font-size: clamp(30px, 4.2vw, 52px); line-height: 1.12; color: var(--g0); margin-bottom: 20px; }
.article-lead { font-size: clamp(17px, 1.5vw, 20px); line-height: 1.65; color: var(--g1); opacity: .92; }

.article-cover {
  position: relative; overflow: hidden; border-radius: 20px;
  margin-bottom: 44px; max-height: 440px; border: 1px solid var(--hair);
  background: var(--k2);
}
.article-cover img { width: 100%; max-height: 440px; object-fit: cover; filter: contrast(1.03) brightness(.92); }

.article-body { font-size: 17px; line-height: 1.85; color: var(--body); }
.article-body p { margin-bottom: 22px; }
.article-body h2, .article-body h3, .article-body h4 {
  font-family: var(--serif); font-weight: 400; color: var(--g1);
  margin: 38px 0 16px; line-height: 1.25;
}
.article-body h2 { font-size: clamp(24px, 2.6vw, 32px); }
.article-body h3 { font-size: clamp(20px, 2.1vw, 26px); }
.article-body h4 { font-size: 19px; color: var(--g0); }
.article-body strong { color: var(--g0); font-weight: 500; }
.article-body a { color: var(--g1); border-bottom: 1px solid var(--hair); }
.article-body ul, .article-body ol { margin: 14px 0 26px; padding-left: 0; list-style: none; display: grid; gap: 9px; }
.article-body ul li, .article-body ol li { position: relative; padding-left: 20px; line-height: 1.55; }
.article-body ul li::before, .article-body ol li::before {
  content: "◆"; position: absolute; left: 0; top: .35em;
  font-size: 8.5px; line-height: 1; color: var(--g1);
}
.article-body hr { border: 0; height: 1px; background: var(--soft); margin: 36px 0; }
.article-foot { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 52px; padding-top: 28px; border-top: 1px solid var(--soft); }

/* Catálogo de notícias (noticias.php) */
.news-catalog { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px 44px; }
.news-item {
  display: grid; grid-template-columns: 112px 1fr; gap: 22px; align-items: start;
  padding: 26px 0; border-top: 1px solid var(--soft); transition: .4s var(--ease);
}
.news-item__thumb {
  width: 112px; height: 112px; border-radius: 18px; overflow: hidden;
  box-shadow: 0 0 0 1px var(--hair); background: var(--k2);
}
.news-item__thumb img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.25) sepia(.1); transition: .5s var(--ease); }
.news-item:hover .news-item__thumb img { filter: none; transform: scale(1.06); }
.news-item__meta { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.news-item__meta span { font: 400 10.5px/1 var(--sc); letter-spacing: .2em; color: var(--g2); }
.news-item__meta time { font: 400 10.5px/1 var(--sc); letter-spacing: .18em; color: var(--mut); }
.news-item h3 { font: 400 20px/1.3 var(--serif); color: var(--g0); margin-bottom: 8px; transition: color .3s; }
.news-item:hover h3 { color: var(--g1); }
.news-item p { font-size: 14.5px; line-height: 1.6; color: var(--body); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 10px; }

/* ==========================================================================
   Página individual de Edição (edicao.php / edicao-202X.php) — Layout Centralizado
   ========================================================================== */
.ed-center {
  text-align: center;
  max-width: 960px;
  margin-inline: auto;
  position: relative;
  z-index: 2;
}
.ed-pills-bar {
  display: flex;
  justify-content: center;
  margin-bottom: 38px;
}
.ed-lead {
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.45;
  color: var(--g0);
  max-width: 840px;
  margin: 0 auto 20px;
  text-align: center;
}
.ed-desc {
  font-size: 16.5px;
  line-height: 1.8;
  color: var(--body);
  max-width: 780px;
  margin: 0 auto 32px;
  text-align: center;
}
.ed-meta-bar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 0 auto 46px;
  padding: 11px 28px;
  border-radius: 999px;
  border: 1px solid var(--hair);
  background: rgba(226, 215, 190, .04);
  font: 400 12px/1.4 var(--sc);
  letter-spacing: .18em;
  color: var(--g1);
  box-shadow: 0 4px 20px rgba(0, 0, 0, .35);
}
.ed-meta-bar i {
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
  border: 1px solid var(--g1);
  background: rgba(237, 229, 210, .25);
}
.ed-meta-bar strong {
  color: var(--g0);
  font-weight: 400;
}
.ed-meta-bar span {
  color: var(--g2);
}

/* Painel de Estatísticas Centralizado */
.ed-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: 920px;
  margin-inline: auto;
  padding: 30px 24px;
  border-radius: 20px;
  border: 1px solid var(--hair);
  background: linear-gradient(180deg, rgba(10, 24, 34, .62), rgba(4, 6, 8, .86));
  backdrop-filter: blur(16px);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(226, 215, 190, .12);
  text-align: center;
}
.ed-stats > div {
  padding: 8px 18px;
  border-left: 1px solid var(--soft);
}
.ed-stats > div:first-child {
  border-left: 0;
}
.ed-stats b {
  display: block;
  font: 400 clamp(36px, 4.2vw, 54px)/1 var(--serif);
  letter-spacing: .02em;
  margin-bottom: 8px;
}
.ed-stats span {
  font: 400 11px/1.4 var(--sc);
  letter-spacing: .22em;
  color: var(--mut);
  text-transform: uppercase;
}

/* Cabeçalhos de Seção Centralizados */
.sec-head--center {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 14px;
  margin-bottom: clamp(38px, 5.5vw, 64px);
}
.sec-head--center .eyebrow {
  justify-content: center;
  margin-inline: auto;
  padding-top: 38px;
}
.sec-head--center .eyebrow::before {
  left: 50%;
  translate: -50% 0;
}
.sec-head--center .title {
  text-align: center;
}

/* Containers com largura balanceada para centralização */
.wins-center {
  max-width: 980px;
  margin-inline: auto;
}
.shows-center {
  max-width: 1140px;
  margin-inline: auto;
}
.prog-center {
  max-width: 1040px;
  margin-inline: auto;
}

/* ==========================================================================
   Painel Administrativo de Notícias (admin.php)
   ========================================================================== */
.adm-body { background: radial-gradient(70% 60% at 80% 15%, var(--ab0), var(--k0) 70%); min-height: 100vh; }
.adm-login-wrap { min-height: 100vh; display: grid; place-items: center; padding: 32px; }
.adm-login-card {
  width: min(460px, 100%); padding: 44px 38px; border-radius: 24px;
  border: 1px solid var(--hair); background: rgba(6, 7, 8, .86);
  backdrop-filter: blur(18px); box-shadow: 0 30px 70px rgba(0, 0, 0, .65);
}
.adm-sub { color: var(--body); font-size: 14.5px; margin: 10px 0 24px; }
.adm-alert {
  padding: 13px 18px; border-radius: 12px; margin-bottom: 22px;
  font: 400 13.5px/1.4 var(--sans); border: 1px solid var(--hair);
}
.adm-alert--ok { background: rgba(18, 56, 74, .55); color: var(--g0); border-color: var(--g1); }
.adm-alert--err { background: rgba(120, 28, 28, .35); color: #f6d4d4; border-color: rgba(235, 110, 110, .45); }

.adm-main { padding-top: calc(var(--hd) + 42px); padding-bottom: 90px; }
.adm-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 38px; padding-bottom: 24px; border-bottom: 1px solid var(--soft); }
.adm-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 38px; align-items: start; }
.adm-panel {
  padding: 32px; border-radius: 22px; border: 1px solid var(--hair);
  background: rgba(6, 7, 8, .75); backdrop-filter: blur(14px);
}
.adm-panel__title { font: 400 22px/1.2 var(--serif); color: var(--g1); margin-bottom: 24px; padding-bottom: 14px; border-bottom: 1px solid var(--soft); }

.adm-form { display: grid; gap: 18px; }
.adm-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.adm-field label { display: block; font: 400 11px/1.3 var(--sc); letter-spacing: .18em; color: var(--g2); margin-bottom: 8px; }
.adm-field input[type="text"],
.adm-field input[type="password"],
.adm-field input[type="file"],
.adm-field select,
.adm-field textarea {
  width: 100%; padding: 12px 15px; border-radius: 12px;
  border: 1px solid var(--soft); background: rgba(2, 3, 4, .75);
  color: var(--ink); font: 400 14.5px/1.5 var(--sans);
  transition: border-color .3s;
}
.adm-field input:focus, .adm-field select:focus, .adm-field textarea:focus {
  outline: none; border-color: var(--g1);
}
.adm-toolbar { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.adm-toolbar button {
  padding: 6px 12px; border-radius: 8px; border: 1px solid var(--soft);
  background: rgba(226, 215, 190, .05); font: 400 11px/1 var(--sc);
  letter-spacing: .12em; color: var(--g1); transition: .25s;
}
.adm-toolbar button:hover { background: rgba(226, 215, 190, .15); border-color: var(--g1); }
.adm-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 8px; }

.adm-list { display: grid; gap: 14px; }
.adm-item {
  display: grid; grid-template-columns: 60px 1fr auto; gap: 16px; align-items: center;
  padding: 14px; border-radius: 14px; border: 1px solid var(--soft);
  background: rgba(2, 3, 4, .55); transition: border-color .3s;
}
.adm-item:hover { border-color: var(--hair); }
.adm-item img { width: 60px; height: 60px; border-radius: 12px; object-fit: cover; }
.adm-item__info div { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.adm-badge { padding: 3px 9px; border-radius: 999px; border: 1px solid var(--hair); font: 400 9.5px/1 var(--sc); letter-spacing: .16em; color: var(--g1); }
.adm-item__info time { font: 400 10px/1 var(--sc); letter-spacing: .16em; color: var(--mut); }
.adm-item__info h4 { font: 400 15px/1.3 var(--serif); color: var(--ink); }
.adm-item__btns { display: flex; align-items: center; gap: 8px; }
.adm-btn-sm {
  padding: 7px 12px; border-radius: 999px; border: 1px solid var(--hair);
  font: 400 10.5px/1 var(--sc); letter-spacing: .15em; color: var(--g1);
  background: rgba(226, 215, 190, .04); transition: .25s;
}
.adm-btn-sm:hover { background: var(--g1); color: var(--k0); }
.adm-btn-sm--del { border-color: rgba(220, 95, 95, .35); color: #e9a2a2; }
.adm-btn-sm--del:hover { background: #b83b3b; color: #fff; border-color: #b83b3b; }

/* ==========================================================================
   Revelação no scroll
   ========================================================================== */
.rv { opacity: 0; transform: translateY(28px); transition: opacity 1.1s var(--ease), transform 1.1s var(--ease); }
.rv.in { opacity: 1; transform: none; }
.rv.d1 { transition-delay: .1s; } .rv.d2 { transition-delay: .2s; } .rv.d3 { transition-delay: .3s; }

/* ==========================================================================
   Responsivo
   ========================================================================== */
.hero__grid > *, .about > *, .day > *, .trophy__grid > *, .ed > *, .faq > *, .team > *, .member > *, .post > *, .ed-hero__grid > *, .adm-grid > * { min-width: 0; }
@media (max-width: 1080px) {
  .shows { grid-template-columns: repeat(2, 1fr); }
  .news { grid-template-columns: repeat(2, 1fr); }
  .news-catalog { grid-template-columns: 1fr; }
  .adm-grid { grid-template-columns: 1fr; }
  .ft__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 920px) {
  .nav {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 100 !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
    padding: 85px 20px 40px !important;
    gap: 4px !important;
    background: #040608 !important;
    background: linear-gradient(180deg, #090e14 0%, #030507 100%) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .35s var(--ease) !important;
  }
  .nav a {
    font: 400 clamp(20px, 5.5vw, 26px)/1.3 var(--sc) !important;
    letter-spacing: .1em !important;
    padding: 8px 18px !important;
    text-align: center !important;
    width: auto !important;
    color: var(--ink) !important;
  }
  .nav .btn {
    margin: 16px 0 20px !important;
    font: 400 12px/1 var(--sc) !important;
    letter-spacing: .2em !important;
    --p: 14px 28px !important;
    flex-shrink: 0 !important;
  }
  
  /* Dropdown de Edições no menu Mobile */
  .nav-dd {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 340px !important;
    align-items: center !important;
    margin: 4px auto !important;
  }
  .nav-dd__trigger {
    font: 400 clamp(20px, 5.5vw, 26px)/1.3 var(--sc) !important;
    letter-spacing: .1em !important;
    padding: 8px 18px !important;
    gap: 8px !important;
    color: var(--ink) !important;
    background: transparent !important;
  }
  .nav-dd__arrow {
    font-size: 14px !important;
    display: inline-block !important;
    transition: transform .25s var(--ease) !important;
  }
  .nav-dd.is-open .nav-dd__arrow {
    transform: rotate(180deg) !important;
  }
  .nav-dd__menu {
    display: none !important;
    position: static !important;
    transform: none !important;
    min-width: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 6px 0 10px !important;
    padding: 10px !important;
    border-radius: 14px !important;
    background: #080c12 !important;
    border: 1px solid rgba(226, 215, 190, .25) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .8) !important;
  }
  .nav-dd:hover .nav-dd__menu {
    display: none !important;
  }
  .nav-dd.is-open .nav-dd__menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
  }
  .nav-dd__item {
    display: block !important;
    text-align: center !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    background: rgba(226, 215, 190, .04) !important;
    white-space: normal !important;
  }
  .nav-dd__item:active,
  .nav-dd__item:hover {
    background: rgba(226, 215, 190, .14) !important;
  }
  .nav-dd__item b {
    font-size: 15px !important;
    line-height: 1.2 !important;
    color: var(--g0) !important;
    display: block !important;
  }
  .nav-dd__item small {
    font-size: 10.5px !important;
    color: var(--mut) !important;
    display: block !important;
    margin-top: 3px !important;
  }
  .nav-dd__item--all {
    background: transparent !important;
    font-size: 12px !important;
    padding: 8px !important;
  }

  .menu-open .nav {
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .burger {
    display: block !important;
    z-index: 110 !important;
    position: relative !important;
  }
  .hero {
    min-height: auto;
    padding: calc(var(--hd) + 40px) 0 64px;
  }
  .hero__grid {
    width: calc(100% - 40px);
    margin: 0 auto;
    padding: 0;
  }
  .hero__grid, .about, .day, .trophy__grid, .ed, .faq, .ed-hero__grid { grid-template-columns: 1fr; }
  .hero__stage {
    order: -1;
    height: clamp(360px, 52vh, 450px);
    width: min(440px, 95%);
    margin-bottom: 12px;
  }
  .ed-hero__grid .halo { order: -1; width: min(320px, 80%); }
  .arch { margin-inline: auto; }
  .days { grid-template-columns: repeat(6, minmax(86px, 1fr)); overflow-x: auto; scrollbar-width: none; }
  .days::-webkit-scrollbar { display: none; }
  .team { grid-template-columns: 1fr; }
  .faq__head { position: static; }
  .trophy-bg { opacity: .08; }
}

/* ==========================================================================
   Centralização e Alinhamento em Telas de Celulares (Mobile / max-width: 768px)
   ========================================================================== */
@media (max-width: 768px) {
  /* Eyebrows em todas as seções */
  .eyebrow {
    justify-content: center;
    margin-inline: auto;
    padding-top: 0;
  }
  .eyebrow::before {
    display: none;
  }

  /* Cabeçalhos de Seção (.sec-head) */
  .sec-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    justify-content: center;
    width: 100%;
    gap: 16px;
    margin-bottom: clamp(30px, 5vw, 50px);
  }
  .sec-head > * {
    text-align: center;
  }
  .sec-head > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
  }
  .sec-head .title {
    text-align: center;
  }
  .sec-head .lede {
    text-align: center;
    margin-inline: auto;
  }
  .sec-head [style*="display:flex"] {
    justify-content: center;
    margin-inline: auto;
  }
  .prog-free-badge {
    margin: 12px auto 0;
    display: inline-flex;
    justify-content: center;
  }
  .pills {
    margin-inline: auto;
    display: inline-flex;
    justify-content: center;
  }

  /* 1. Hero Centralizado */
  .hero__content {
    max-width: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-inline: auto;
  }
  .hero__title {
    text-align: center;
    margin-inline: auto;
  }
  .hero__title .ln {
    display: block;
    text-align: center;
  }
  .hero__title .ln > span {
    display: inline-block;
  }
  .hero__sub {
    text-align: center;
    margin-inline: auto;
  }
  .hero__loc {
    text-align: center;
    margin-inline: auto;
    margin-bottom: 22px;
  }
  .hero__meta {
    justify-content: center;
    text-align: center;
    gap: 8px 16px;
    margin-inline: auto;
    margin-bottom: 26px;
  }
  .hero__cta {
    justify-content: center;
    align-items: center;
    gap: 16px 22px;
    margin-inline: auto;
  }
  .cd {
    justify-content: center;
    margin: 32px auto 0;
    width: 100%;
    max-width: 440px;
  }
  .cd div {
    text-align: center;
    padding: 0 12px;
  }
  .cd div:first-child {
    padding-left: 12px;
    border-left: 0;
  }
  .cd b, .cd span {
    text-align: center;
  }
  .cd-note {
    text-align: center;
  }
  .hero__stage {
    margin-inline: auto;
  }
  .hero__trophy-main {
    transform: none;
    animation: heroMainFloatMobile 7.5s ease-in-out infinite alternate;
  }

  /* 2. Seção Sobre */
  .about {
    text-align: center;
  }
  .about > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .about .title {
    text-align: center;
  }
  .about p {
    text-align: center;
    max-width: 580px;
    margin-inline: auto;
  }
  .stats, .ed-stats {
    width: 100%;
    max-width: 500px;
    margin: 36px auto 0;
    grid-template-columns: repeat(2, 1fr);
  }
  .stats div, .ed-stats > div {
    text-align: center;
    padding: 16px 10px;
  }
  .stats div:nth-child(odd), .ed-stats > div:nth-child(odd) {
    border-left: 0;
    padding-left: 10px;
  }
  .stats div:nth-child(even), .ed-stats > div:nth-child(even) {
    border-left: 1px solid var(--soft);
  }
  .stats div:nth-child(1), .stats div:nth-child(2),
  .ed-stats > div:nth-child(1), .ed-stats > div:nth-child(2) {
    border-bottom: 1px solid var(--soft);
  }
  .stats b, .stats span, .ed-stats b, .ed-stats span {
    text-align: center;
  }
  .ed-meta-bar {
    flex-direction: column;
    gap: 8px;
    border-radius: 16px;
    padding: 14px 18px;
    text-align: center;
  }
  .ed-meta-bar i {
    display: none;
  }

  /* 3. Programação */
  .day__intro {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 28px;
  }
  .day__intro h3,
  .day__intro p {
    text-align: center;
  }
  .day__intro .place {
    margin: 14px auto 0;
    display: inline-flex;
  }

  /* 4. Mostras */
  .show {
    text-align: center;
  }
  .show figure {
    margin-inline: auto;
  }
  .show__meta {
    justify-content: center;
    gap: 12px;
  }
  .show h3,
  .show small {
    text-align: center;
  }
  .show__trigger {
    justify-content: center;
    width: 100%;
  }

  /* 5. Troféu Ritxoko */
  .trophy__grid {
    text-align: center;
  }
  .trophy__grid > div:first-child {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .trophy__grid .title {
    text-align: center;
  }
  .trophy__grid p {
    text-align: center;
    max-width: 580px;
    margin-inline: auto;
  }
  .facts {
    justify-content: center;
    margin: 24px auto 30px;
  }
  .trophy__foot {
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 18px;
    width: 100%;
    text-align: center;
  }
  .artisan {
    flex-direction: column;
    text-align: center;
    align-items: center;
    gap: 12px;
  }
  .artisan img {
    margin: 0 auto;
  }
  .artisan b,
  .artisan small {
    text-align: center;
  }
  .vec-badge {
    margin: 0 auto;
    justify-content: center;
  }

  /* 6. Edições Anteriores */
  .ed__intro {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 26px;
  }
  .ed__intro h3,
  .ed__intro p {
    text-align: center;
  }
  .ed__intro .btn {
    margin-inline: auto;
  }
  .wins {
    text-align: center;
  }
  .wins div {
    text-align: center;
  }
  .wins small,
  .wins b {
    text-align: center;
  }

  /* 7. FAQ */
  .faq__head {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 28px;
  }
  .faq__head .title {
    text-align: center;
  }
  .faq__head .lede {
    text-align: center;
    margin-inline: auto;
  }

  /* 8. Equipe */
  .member {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .member__avatar,
  .member .mono {
    margin: 0 auto 16px;
  }
  .member small,
  .member h3,
  .member p {
    text-align: center;
  }
  .member__social {
    justify-content: center;
  }

  /* 9. Rodapé */
  .ft__grid {
    text-align: center;
    gap: 32px;
  }
  .ft__grid > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .ft .brand {
    margin: 0 auto 14px;
    justify-content: center;
  }
  .ft p {
    text-align: center;
    max-width: 440px;
    margin-inline: auto;
  }
  .ft h4 {
    text-align: center;
  }
  .ft ul {
    text-align: center;
    justify-content: center;
    padding: 0;
  }
  .ft__gbm {
    margin: 0 auto;
  }
  .ft__bot {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
  }

  /* 10. Subpáginas e Artigos */
  .crumbs {
    justify-content: center;
  }
  .article-head {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .article-meta {
    justify-content: center;
  }
  .article-title {
    text-align: center;
  }
  .article-lead,
  .article-head__lede {
    text-align: center;
    margin-inline: auto;
  }
  .article-foot {
    justify-content: center;
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
  .subpage__nav {
    text-align: center;
  }
  .subpage__nav .link {
    margin-inline: auto;
  }
  .prod-card {
    text-align: center;
  }
  .prod-card__top {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .prod-card__avatar {
    margin: 0 auto 14px;
  }
  .prod-card__meta {
    text-align: center;
  }
  .prod-card__bio p {
    text-align: center;
  }
  .prod-card__actions {
    justify-content: center;
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
  .prod-card__actions .btn {
    margin-left: 0 !important;
  }
  .prod-company__info {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .prod-company__info p {
    text-align: center;
  }
  .comments-head {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
  }
}

@keyframes heroMainFloatMobile {
  from { transform: translateY(0); }
  to { transform: translateY(-8px); }
}

@media (max-width: 600px) {
  body { font-size: 15.5px; }
  .wrap { width: calc(100% - 36px); }
  .hd { padding: 10px 12px; }
  .nav {
    padding: 75px 16px 36px !important;
  }
  .nav a {
    font-size: 21px !important;
    padding: 6px 14px !important;
  }
  .nav-dd__trigger {
    font-size: 21px !important;
    padding: 6px 14px !important;
  }
  .nav-dd__menu {
    width: 100% !important;
    max-width: 300px !important;
    padding: 8px !important;
  }
  .nav-dd__item {
    padding: 8px 10px !important;
  }
  .brand small { display: none; }
  .shows { grid-template-columns: repeat(2, 1fr); gap: 28px 16px; }
  .ses__films, .wins, .news, .adm-row { grid-template-columns: 1fr; }
  .news-item { grid-template-columns: 84px 1fr; gap: 16px; }
  .news-item__thumb { width: 84px; height: 84px; }
  .adm-item { grid-template-columns: 1fr; }
  .gallery { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .member { grid-template-columns: 1fr; }
  .ft__grid { grid-template-columns: 1fr; }
  .lb .pv, .lb .nx { top: auto; bottom: 24px; translate: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .rv { opacity: 1; transform: none; }
  .hero h1 .ln > span { transform: none; }
}

/* ==========================================================================
   Seção de Comentários e Filtro Anti-Robô
   ========================================================================== */
.comments-sec {
  margin-top: 56px;
  padding-top: 42px;
  border-top: 1px solid var(--soft);
}
.comments-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 28px;
}
.comment-alert {
  padding: 14px 18px;
  border-radius: 10px;
  margin-bottom: 24px;
  font-size: 14.5px;
  line-height: 1.4;
}
.comment-alert--ok {
  background: rgba(72, 187, 120, 0.12);
  border: 1px solid rgba(72, 187, 120, 0.35);
  color: #68d391;
}
.comment-alert--pending {
  background: rgba(235, 218, 160, 0.12);
  border: 1px solid rgba(235, 218, 160, 0.35);
  color: var(--g0);
}
.comment-alert--err {
  background: rgba(245, 101, 101, 0.12);
  border: 1px solid rgba(245, 101, 101, 0.35);
  color: #feb2b2;
}
.comment-form {
  background: rgba(16, 20, 26, 0.65);
  border: 1px solid var(--hair);
  border-radius: 16px;
  padding: 28px;
  margin-bottom: 40px;
  backdrop-filter: blur(8px);
}
.comment-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
@media (max-width: 680px) {
  .comment-form__row { grid-template-columns: 1fr; }
}
.comment-form__field label {
  display: block;
  font: 400 11px/1.3 var(--sc);
  letter-spacing: .15em;
  color: var(--g2);
  margin-bottom: 8px;
}
.comment-form__field input,
.comment-form__field textarea {
  width: 100%;
  background: #090c10;
  border: 1px solid rgba(226, 215, 190, 0.14);
  border-radius: 8px;
  padding: 12px 16px;
  color: var(--ink);
  font: 300 15px/1.5 var(--sans);
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.comment-form__field input:focus,
.comment-form__field textarea:focus {
  border-color: rgba(235, 218, 160, 0.45);
  box-shadow: 0 0 16px rgba(235, 218, 160, 0.08);
}

/* Badge Filtro "Eu não sou um robô" */
.captcha-badge {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  background: #07090c;
  border: 1px solid rgba(226, 215, 190, 0.22);
  border-radius: 10px;
  padding: 12px 20px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}
.captcha-box {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  user-select: none;
}
.captcha-box input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.captcha-box__check {
  width: 24px;
  height: 24px;
  border: 2px solid rgba(226, 215, 190, 0.35);
  border-radius: 6px;
  background: #0f141a;
  position: relative;
  transition: all .2s;
  flex-shrink: 0;
}
.captcha-box__check.is-loading {
  border-color: var(--g0);
  border-top-color: transparent;
  border-radius: 50%;
  animation: captchaSpin .7s linear infinite;
}
@keyframes captchaSpin {
  to { transform: rotate(360deg); }
}
.captcha-box__check.is-checked {
  background: var(--g1) !important;
  border-color: var(--g0) !important;
}
.captcha-box__check.is-checked::after,
.captcha-box input:checked + .captcha-box__check::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 3px;
  width: 6px;
  height: 11px;
  border: solid #040507;
  border-width: 0 2.5px 2.5px 0;
  transform: rotate(45deg);
}
.captcha-box input:checked + .captcha-box__check {
  background: var(--g1);
  border-color: var(--g0);
}
.captcha-box__label {
  font: 400 14px/1 var(--sans);
  color: var(--ink);
  letter-spacing: .02em;
}
.captcha-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border-left: 1px solid rgba(226, 215, 190, 0.12);
  padding-left: 20px;
}
.captcha-brand small {
  font-size: 9.5px;
  color: var(--mut);
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-top: 2px;
}

/* Modal do Desafio Captcha */
.captcha-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(4, 5, 7, 0.82);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  z-index: 10000;
}
.captcha-modal-box {
  width: 100%;
  max-width: 420px;
  background: #0a0d12;
  border: 1px solid rgba(226, 215, 190, 0.28);
  border-radius: 14px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.7);
  overflow: hidden;
  animation: captchaPop .25s ease-out;
}
@keyframes captchaPop {
  from { opacity: 0; transform: scale(.94); }
  to { opacity: 1; transform: scale(1); }
}
.captcha-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: rgba(16, 20, 26, 0.8);
  border-bottom: 1px solid rgba(226, 215, 190, 0.12);
}
.captcha-modal-title {
  display: flex;
  align-items: center;
  gap: 12px;
}
.captcha-modal-title strong {
  display: block;
  font: 500 15px/1.2 var(--sans);
  color: var(--ink);
}
.captcha-modal-title small {
  display: block;
  font: 400 10.5px/1 var(--sc);
  color: var(--mut);
  letter-spacing: .1em;
}
.captcha-modal-close {
  background: none;
  border: none;
  color: var(--mut);
  font-size: 16px;
  cursor: pointer;
  padding: 6px;
  border-radius: 6px;
  transition: color .2s;
}
.captcha-modal-close:hover {
  color: var(--ink);
}
.captcha-modal-body {
  padding: 20px;
}
.captcha-instruction {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--body);
}
.captcha-instruction strong {
  color: var(--g0);
}
.captcha-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.captcha-tile {
  background: #11161d;
  border: 2px solid rgba(226, 215, 190, 0.12);
  border-radius: 10px;
  padding: 14px 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: all .18s;
  user-select: none;
}
.captcha-tile:hover {
  border-color: rgba(226, 215, 190, 0.35);
  background: #161c24;
}
.captcha-tile.is-selected {
  border-color: var(--g0);
  background: rgba(235, 218, 160, 0.12);
  box-shadow: 0 0 12px rgba(235, 218, 160, 0.2);
}
.captcha-tile__icon {
  font-size: 26px;
  line-height: 1;
}
.captcha-tile__label {
  font-size: 11px;
  color: var(--mut);
  text-align: center;
  letter-spacing: .02em;
}
.captcha-tile.is-selected .captcha-tile__label {
  color: var(--ink);
  font-weight: 500;
}
.captcha-feedback {
  margin-top: 14px;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 12.5px;
}
.captcha-feedback--err {
  background: rgba(245, 101, 101, 0.15);
  border: 1px solid rgba(245, 101, 101, 0.35);
  color: #fc8181;
}
.captcha-modal-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  background: rgba(16, 20, 26, 0.8);
  border-top: 1px solid rgba(226, 215, 190, 0.12);
}

/* Lista de comentários */
.comments-list {
  display: grid;
  gap: 18px;
}
.comments-empty {
  padding: 32px;
  text-align: center;
  border: 1px dashed rgba(226, 215, 190, 0.15);
  border-radius: 12px;
  color: var(--mut);
  font-size: 14.5px;
}
.comment-card {
  background: rgba(16, 20, 26, 0.5);
  border: 1px solid rgba(226, 215, 190, 0.1);
  border-radius: 12px;
  padding: 20px 24px;
  transition: border-color .2s;
}
.comment-card:hover {
  border-color: rgba(226, 215, 190, 0.22);
}
.comment-card__header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
}
.comment-card__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(235, 218, 160, 0.25), rgba(18, 56, 74, 0.5));
  border: 1px solid rgba(226, 215, 190, 0.25);
  display: grid;
  place-items: center;
  font: 500 16px/1 var(--serif);
  color: var(--g0);
}
.comment-card__author {
  font: 400 16px/1.2 var(--serif);
  color: var(--ink);
  display: block;
}
.comment-card__date {
  font: 400 11.5px/1 var(--sc);
  color: var(--mut);
  letter-spacing: .08em;
}
.comment-card__body p {
  color: var(--body);
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
}

/* ==========================================================================
   Página de Produção
   ========================================================================== */
.prod-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(24px, 4vw, 48px);
  margin-top: 36px;
}
.prod-card {
  background: rgba(16, 20, 26, 0.7);
  border: 1px solid rgba(226, 215, 190, 0.15);
  border-radius: 16px;
  padding: clamp(24px, 3.5vw, 40px);
  position: relative;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4);
  transition: transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
  display: flex;
  flex-direction: column;
  scroll-margin-top: calc(var(--hd) + 24px);
}
.prod-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(235, 218, 160, 0.6), transparent);
  opacity: 0.7;
}
.prod-card:hover {
  transform: translateY(-4px);
  border-color: rgba(235, 218, 160, 0.35);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.55), 0 0 20px rgba(235, 218, 160, 0.08);
}
.prod-card__top {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-bottom: 24px;
}
.prod-card__avatar {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(235, 218, 160, 0.5);
  box-shadow: 0 0 24px rgba(235, 218, 160, 0.2), inset 0 0 12px rgba(0,0,0,0.6);
  flex-shrink: 0;
  background: var(--k1);
}
.prod-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform .5s var(--ease);
}
.prod-card:hover .prod-card__avatar img {
  transform: scale(1.08);
}
.prod-card__meta small {
  font: 400 12px/1.3 var(--sc);
  letter-spacing: .16em;
  color: var(--gold-soft);
  text-transform: uppercase;
  display: block;
  margin-bottom: 6px;
}
.prod-card__meta h2 {
  font-size: clamp(24px, 2.2vw, 32px);
  font-weight: 400;
  color: var(--g0);
  font-family: var(--serif);
  line-height: 1.2;
  margin: 0;
}
.prod-card__bio {
  color: var(--body);
  font-size: 15.5px;
  line-height: 1.8;
  margin-bottom: 28px;
  flex-grow: 1;
}
.prod-card__actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  padding-top: 20px;
  border-top: 1px solid rgba(226, 215, 190, 0.1);
}
.prod-company {
  margin-top: clamp(48px, 6vw, 80px);
  background: linear-gradient(135deg, rgba(16, 20, 26, 0.8), rgba(18, 56, 74, 0.25));
  border: 1px solid rgba(226, 215, 190, 0.18);
  border-radius: 16px;
  padding: clamp(28px, 4vw, 48px);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(24px, 4vw, 44px);
  align-items: center;
}
.prod-company__logo {
  max-width: 170px;
  height: auto;
  filter: drop-shadow(0 4px 16px rgba(0,0,0,0.6));
  transition: transform .35s var(--ease), filter .35s var(--ease);
}
.prod-company a:hover .prod-company__logo {
  transform: scale(1.04);
  filter: drop-shadow(0 6px 20px rgba(226, 215, 190, 0.25));
}
.prod-company__info h3 {
  font: 400 clamp(22px, 2.2vw, 28px)/1.2 var(--serif);
  color: var(--g0);
  margin: 0 0 10px;
}
.prod-company__info p {
  color: var(--body);
  font-size: 15px;
  line-height: 1.7;
  margin: 0;
}
@media (max-width: 900px) {
  .prod-grid {
    grid-template-columns: 1fr;
  }
  .prod-company {
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center;
  }
}
@media (max-width: 540px) {
  .prod-card__top {
    flex-direction: column;
    text-align: center;
  }
}

/* ==========================================================================
   Efeito "Lâmina de Luz" (Light Blade Sweep) ao passar o mouse nas fotos
   ========================================================================== */
.sheen-blade {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;
  z-index: 2;
}
.arch .sheen-blade {
  border-radius: 999px 999px 14px 14px;
}
.arch figcaption {
  z-index: 3;
}
.arch img,
.article-cover img,
.artisan img {
  transition: transform .85s var(--ease), filter .85s var(--ease), box-shadow .5s var(--ease);
}
.arch:hover img {
  filter: saturate(1.02) contrast(1.06) brightness(1.04);
}
.article-cover:hover img {
  transform: scale(1.03);
  filter: contrast(1.06) brightness(1.02);
}

.news-item__thumb,
.member__avatar,
.honor__avatar,
.prod-card__avatar,
.show-modal__poster {
  position: relative;
  overflow: hidden;
}

.sheen-blade::after,
.gallery button::after,
.article-cover::after,
.news-item__thumb::after,
.member__avatar::after,
.honor__avatar::after,
.prod-card__avatar::after,
.show-modal__poster::after {
  content: "";
  position: absolute;
  top: -45%;
  bottom: -45%;
  left: -135%;
  width: 115%;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(216, 185, 124, 0) 0%,
    rgba(216, 185, 124, 0.09) 14%,
    rgba(240, 222, 186, 0.28) 30%,
    rgba(252, 245, 227, 0.58) 44%,
    rgba(255, 253, 246, 0.82) 50%,
    rgba(252, 245, 227, 0.58) 56%,
    rgba(240, 222, 186, 0.28) 70%,
    rgba(216, 185, 124, 0.09) 86%,
    rgba(216, 185, 124, 0) 100%
  );
  transform: translateX(0) skewX(-22deg);
  mix-blend-mode: screen;
  opacity: 0;
  transition: none;
}

.arch:hover .sheen-blade::after,
.show:hover figure .sheen-blade::after,
.gallery button:hover::after,
.article-cover:hover::after,
.news-item:hover .news-item__thumb::after,
.news-item__thumb:hover::after,
.member:hover .member__avatar::after,
.member__avatar:hover::after,
.honor__card:hover .honor__avatar::after,
.honor__avatar:hover::after,
.prod-card:hover .prod-card__avatar::after,
.prod-card__avatar:hover::after,
.show-modal__poster:hover::after {
  transform: translateX(305%) skewX(-22deg);
  opacity: 1;
  transition: transform 1.65s cubic-bezier(.32, .08, .24, 1), opacity .3s ease;
}

/* Lâmina de luz nas miniaturas circulares (.post e .artisan) */
.post,
.artisan {
  position: relative;
}
.post::after,
.artisan::before {
  content: "";
  position: absolute;
  left: 0;
  border-radius: 50%;
  pointer-events: none;
  z-index: 2;
  background: linear-gradient(
    115deg,
    rgba(216, 185, 124, 0) 8%,
    rgba(240, 222, 186, 0.30) 32%,
    rgba(252, 245, 227, 0.62) 45%,
    rgba(255, 253, 246, 0.85) 50%,
    rgba(252, 245, 227, 0.62) 55%,
    rgba(240, 222, 186, 0.30) 68%,
    rgba(216, 185, 124, 0) 92%
  ) no-repeat;
  background-size: 280% 100%;
  background-position: 200% 0;
  mix-blend-mode: screen;
  opacity: 0;
  transition: none;
}
.post::after {
  top: 22px;
  width: 68px;
  height: 68px;
}
.artisan::before {
  top: 0;
  width: 76px;
  height: 76px;
}
.post:hover::after,
.artisan:hover::before {
  background-position: -100% 0;
  opacity: 1;
  transition: background-position 1.55s cubic-bezier(.32, .08, .24, 1), opacity .3s ease;
}
.artisan:hover img {
  transform: scale(1.05);
  box-shadow: 0 0 0 1px var(--g1), 0 0 0 6px var(--k0), 0 0 0 7px var(--hair);
}

/* ==========================================================================
   Componentes Editoriais & Templates de Páginas Independentes Cinetoca
   ========================================================================== */
.cinetoca-quote {
  margin: 36px 0;
  padding: 24px 28px;
  border-left: 3px solid var(--g1);
  background: linear-gradient(90deg, rgba(226, 215, 190, 0.08) 0%, rgba(226, 215, 190, 0.01) 100%);
  border-radius: 0 12px 12px 0;
}
.cinetoca-quote p {
  font: 400 clamp(18px, 1.8vw, 24px)/1.5 var(--serif) !important;
  color: var(--g0) !important;
  font-style: italic;
  margin: 0 0 10px !important;
}
.cinetoca-quote cite {
  font: 400 12px/1 var(--sc);
  letter-spacing: .2em;
  color: var(--mut);
  text-transform: uppercase;
  display: block;
}

.cinetoca-highlight-box {
  background: rgba(16, 20, 26, 0.7);
  border: 1px solid rgba(226, 215, 190, 0.22);
  border-radius: 16px;
  padding: 28px 32px;
  margin: 32px 0;
  backdrop-filter: blur(8px);
  position: relative;
}
.cinetoca-highlight-box h4 {
  font: 400 18px/1.3 var(--serif);
  color: var(--g0);
  margin: 0 0 12px;
}
.cinetoca-highlight-box p:last-child {
  margin-bottom: 0 !important;
}

.cinetoca-alert-callout {
  background: rgba(226, 215, 190, 0.08);
  border: 1px solid var(--g1);
  border-radius: 12px;
  padding: 16px 22px;
  margin: 28px 0;
  color: var(--g0);
  font-size: 15px;
  line-height: 1.55;
}

.cinetoca-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
  margin: 32px 0;
}
.cinetoca-card-mini {
  background: #090c10;
  border: 1px solid rgba(226, 215, 190, 0.14);
  border-radius: 14px;
  padding: 24px;
  transition: transform .3s var(--ease), border-color .3s;
}
.cinetoca-card-mini:hover {
  transform: translateY(-3px);
  border-color: rgba(226, 215, 190, 0.35);
}
.cinetoca-card-mini__icon {
  font-size: 28px;
  line-height: 1;
  margin-bottom: 14px;
}
.cinetoca-card-mini h4 {
  font: 400 18px/1.3 var(--serif);
  color: var(--g0);
  margin: 0 0 10px;
}
.cinetoca-card-mini p {
  font-size: 14px !important;
  color: var(--body);
  line-height: 1.6 !important;
  margin: 0 !important;
}

.cinetoca-list-styled, .cinetoca-film-list {
  margin: 20px 0 28px;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}
.cinetoca-list-styled li, .cinetoca-film-list li {
  position: relative;
  padding-left: 24px;
  font-size: 15.5px;
  line-height: 1.6;
}
.cinetoca-list-styled li::before, .cinetoca-film-list li::before {
  content: "✦";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--g1);
  font-size: 12px;
}

.cinetoca-divider {
  border: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(226, 215, 190, 0.25), transparent);
  margin: 40px 0;
}

.cinetoca-meta-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  background: rgba(16, 20, 26, 0.6);
  border: 1px solid var(--hair);
  border-radius: 12px;
  padding: 14px 20px;
  margin-bottom: 32px;
  font-size: 14px;
  color: var(--mut);
}
.cinetoca-meta-strip strong {
  color: var(--g1);
}

.cinetoca-movies-list {
  display: grid;
  gap: 20px;
  margin: 28px 0;
}
.cinetoca-movie-item {
  background: #090c10;
  border: 1px solid rgba(226, 215, 190, 0.12);
  border-radius: 14px;
  padding: 22px 26px;
  transition: border-color .25s;
}
.cinetoca-movie-item:hover {
  border-color: rgba(226, 215, 190, 0.3);
}
.cinetoca-movie-item__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 8px;
}
.cinetoca-movie-item__head h4 {
  font: 400 20px/1.2 var(--serif);
  color: var(--g0);
  margin: 0;
}
.cinetoca-movie-tag {
  font: 400 11px/1 var(--sc);
  letter-spacing: .15em;
  color: var(--g1);
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(226, 215, 190, 0.06);
  border: 1px solid var(--hair);
}
.cinetoca-movie-credits {
  font-size: 13.5px !important;
  color: var(--mut) !important;
  margin-bottom: 10px !important;
}


/* ==========================================================================
   Módulos Construtores Avançados Cinetoca (Páginas & Notícias)
   ========================================================================== */

/* Lead / Parágrafo de Abertura Editorial */
.cinetoca-lead {
  font: 400 clamp(18px, 1.55vw, 22px)/1.65 var(--serif) !important;
  color: var(--g0) !important;
  margin: 0 0 28px !important;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(226, 215, 190, 0.14);
}

/* Cabeçalho de Seção Numerado / Eyebrow */
.cinetoca-section-head {
  margin: 42px 0 22px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(226, 215, 190, 0.16);
}
.cinetoca-section-head__eyebrow {
  display: inline-block;
  font: 400 11px/1 var(--sc);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--g1);
  margin-bottom: 8px;
}
.cinetoca-section-head h2 {
  font: 400 clamp(24px, 2.5vw, 34px)/1.18 var(--serif) !important;
  color: var(--g0) !important;
  margin: 0 !important;
}

/* Menu de Navegação Interna / Âncoras (Pills Menu) */
.cinetoca-nav-pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  margin: 28px 0;
  background: rgba(11, 15, 20, 0.85);
  border: 1px solid rgba(226, 215, 190, 0.2);
  border-radius: 14px;
  backdrop-filter: blur(10px);
}
.cinetoca-nav-pills__label {
  font: 400 11px/1 var(--sc);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--mut);
  margin-right: 6px;
}
.cinetoca-nav-pills a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  color: var(--g0) !important;
  background: rgba(226, 215, 190, 0.06);
  border: 1px solid rgba(226, 215, 190, 0.16);
  text-decoration: none !important;
  transition: all .22s ease;
}
.cinetoca-nav-pills a:hover {
  background: rgba(226, 215, 190, 0.16);
  border-color: var(--g1);
  transform: translateY(-1px);
}

/* Colunas Responsivas (2 e 3 Colunas) */
.cinetoca-cols-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  margin: 30px 0;
}
.cinetoca-cols-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin: 30px 0;
}
.cinetoca-col-box {
  background: rgba(9, 12, 16, 0.65);
  border: 1px solid rgba(226, 215, 190, 0.13);
  border-radius: 14px;
  padding: 22px 24px;
}
.cinetoca-col-box h3, .cinetoca-col-box h4 {
  font: 400 19px/1.28 var(--serif);
  color: var(--g0);
  margin: 0 0 10px !important;
}
@media (max-width: 820px) {
  .cinetoca-cols-2, .cinetoca-cols-3 {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

/* Imagem Editorial com Legenda */
.cinetoca-figure {
  margin: 34px 0;
  background: #080b0f;
  border: 1px solid rgba(226, 215, 190, 0.18);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.45);
}
.cinetoca-figure img {
  width: 100%;
  max-height: 560px;
  object-fit: cover;
  display: block;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.cinetoca-figure figcaption {
  padding: 13px 20px;
  font-size: 13px;
  color: var(--mut);
  background: rgba(14, 18, 24, 0.9);
  border-top: 1px solid rgba(226, 215, 190, 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

/* Galeria / Mosaico de Fotos */
.cinetoca-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin: 34px 0;
}
.cinetoca-gallery-grid--2 {
  grid-template-columns: repeat(2, 1fr);
}
.cinetoca-gallery-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}
.cinetoca-gallery-item {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(226, 215, 190, 0.16);
  background: #080b0f;
  aspect-ratio: 16 / 11;
  margin: 0 !important;
}
.cinetoca-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  transition: transform .45s var(--ease);
}
.cinetoca-gallery-item:hover img {
  transform: scale(1.05);
}
.cinetoca-gallery-item__cap {
  position: absolute;
  inset: auto 0 0 0;
  padding: 24px 14px 10px;
  background: linear-gradient(to top, rgba(5, 7, 10, 0.92), transparent);
  color: var(--g0);
  font-size: 12.5px;
  line-height: 1.35;
}
@media (max-width: 720px) {
  .cinetoca-gallery-grid--2, .cinetoca-gallery-grid--3 {
    grid-template-columns: 1fr;
  }
}

/* Carrossel Interativo Cinetoca */
.cinetoca-carousel {
  position: relative;
  margin: 36px 0;
  border-radius: 18px;
  overflow: hidden;
  background: #07090d;
  border: 1px solid rgba(226, 215, 190, 0.22);
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.55);
}
.cinetoca-carousel__viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.cinetoca-carousel__track {
  display: flex;
  transition: transform .55s cubic-bezier(.22, .61, .36, 1);
  will-change: transform;
}
.cinetoca-carousel__slide {
  min-width: 100%;
  position: relative;
  aspect-ratio: 16 / 9;
  max-height: 520px;
  background: #07090d;
  overflow: hidden;
}
.cinetoca-carousel__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.cinetoca-carousel__caption {
  position: absolute;
  inset: auto 0 0 0;
  padding: 46px 28px 22px;
  background: linear-gradient(to top, rgba(5, 7, 10, 0.95) 0%, rgba(5, 7, 10, 0.65) 55%, transparent 100%);
  color: var(--g0);
}
.cinetoca-carousel__caption h4 {
  font: 400 clamp(18px, 2vw, 24px)/1.25 var(--serif);
  color: var(--g0);
  margin: 0 0 6px !important;
}
.cinetoca-carousel__caption p {
  font-size: 14px !important;
  color: rgba(235, 225, 197, 0.85) !important;
  margin: 0 !important;
}
.cinetoca-carousel__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(9, 12, 16, 0.78);
  border: 1px solid rgba(226, 215, 190, 0.35);
  color: var(--g0);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 18px;
  transition: all .2s ease;
  backdrop-filter: blur(6px);
}
.cinetoca-carousel__btn:hover {
  background: var(--g1);
  color: #090c10;
  border-color: var(--g0);
}
.cinetoca-carousel__btn--prev { left: 16px; }
.cinetoca-carousel__btn--next { right: 16px; }
.cinetoca-carousel__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 12px 16px;
  background: #090c10;
  border-top: 1px solid rgba(226, 215, 190, 0.12);
}
.cinetoca-carousel__dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(226, 215, 190, 0.25);
  border: 0;
  padding: 0;
  cursor: pointer;
  transition: all .25s ease;
}
.cinetoca-carousel__dot.is-active {
  width: 26px;
  background: var(--g1);
}

/* Vídeo Embed Responsivo 16:9 & Player Nativo */
.cinetoca-video-wrap {
  margin: 34px 0;
  border-radius: 16px;
  overflow: hidden;
  background: #06080c;
  border: 1px solid rgba(226, 215, 190, 0.22);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.5);
}
.cinetoca-video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
}
.cinetoca-video-frame iframe,
.cinetoca-video-frame video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.cinetoca-video-cap {
  padding: 12px 20px;
  font-size: 13px;
  color: var(--mut);
  background: rgba(12, 16, 22, 0.92);
  border-top: 1px solid rgba(226, 215, 190, 0.1);
}

/* Banner Hero Interno & Bloco CTA */
.cinetoca-hero-banner {
  position: relative;
  margin: 34px 0;
  border-radius: 18px;
  overflow: hidden;
  min-height: 280px;
  display: flex;
  align-items: flex-end;
  padding: 36px 32px;
  background-color: #0b0f15;
  background-size: cover;
  background-position: center;
  border: 1px solid rgba(226, 215, 190, 0.25);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.45);
}
.cinetoca-hero-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 10, 14, 0.25) 0%, rgba(7, 10, 14, 0.92) 100%);
  z-index: 1;
}
.cinetoca-hero-banner__inner {
  position: relative;
  z-index: 2;
  max-width: 680px;
}
.cinetoca-hero-banner__tag {
  display: inline-block;
  font: 400 11px/1 var(--sc);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--g1);
  background: rgba(9, 12, 16, 0.75);
  border: 1px solid rgba(226, 215, 190, 0.25);
  padding: 5px 12px;
  border-radius: 999px;
  margin-bottom: 12px;
}
.cinetoca-hero-banner h3 {
  font: 400 clamp(22px, 2.6vw, 32px)/1.18 var(--serif) !important;
  color: var(--g0) !important;
  margin: 0 0 10px !important;
}
.cinetoca-hero-banner p {
  font-size: 15px !important;
  color: rgba(235, 225, 197, 0.88) !important;
  margin: 0 !important;
}

/* Bloco CTA / Botões de Ação */
.cinetoca-cta-block {
  margin: 34px 0;
  padding: 28px 32px;
  border-radius: 16px;
  background: radial-gradient(circle at top right, rgba(216, 185, 124, 0.14), rgba(11, 15, 21, 0.92) 70%);
  border: 1px solid rgba(226, 215, 190, 0.26);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.cinetoca-cta-block__text {
  flex: 1 1 320px;
}
.cinetoca-cta-block__text h4 {
  font: 400 22px/1.25 var(--serif);
  color: var(--g0);
  margin: 0 0 6px !important;
}
.cinetoca-cta-block__text p {
  font-size: 14.5px !important;
  color: var(--body) !important;
  margin: 0 !important;
}
.cinetoca-cta-block__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.cinetoca-btn-gold {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  border-radius: 999px;
  background: linear-gradient(135deg, #ebe1c5 0%, #c8a464 100%);
  color: #090c10 !important;
  font-weight: 600;
  font-size: 13.5px;
  letter-spacing: .04em;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease;
}
.cinetoca-btn-gold:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(216, 185, 124, 0.3);
}
.cinetoca-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  border-radius: 999px;
  background: rgba(226, 215, 190, 0.06);
  border: 1px solid rgba(226, 215, 190, 0.3);
  color: var(--g0) !important;
  font-weight: 500;
  font-size: 13.5px;
  text-decoration: none !important;
  transition: all .2s ease;
}
.cinetoca-btn-outline:hover {
  background: rgba(226, 215, 190, 0.14);
  border-color: var(--g0);
}

/* Acordeão / Perguntas Frequentes (FAQ) */
.cinetoca-faq {
  display: grid;
  gap: 12px;
  margin: 30px 0;
}
.cinetoca-faq-item {
  background: #090c10;
  border: 1px solid rgba(226, 215, 190, 0.15);
  border-radius: 12px;
  overflow: hidden;
  transition: border-color .25s ease;
}
.cinetoca-faq-item[open] {
  border-color: rgba(226, 215, 190, 0.38);
}
.cinetoca-faq-item summary {
  padding: 16px 22px;
  cursor: pointer;
  font: 500 16px/1.35 var(--serif);
  color: var(--g0);
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  background: rgba(226, 215, 190, 0.03);
}
.cinetoca-faq-item summary::-webkit-details-marker {
  display: none;
}
.cinetoca-faq-item summary::after {
  content: "+";
  font-family: var(--sans);
  font-size: 20px;
  color: var(--g1);
  transition: transform .25s ease;
}
.cinetoca-faq-item[open] summary::after {
  content: "−";
}
.cinetoca-faq-item__body {
  padding: 16px 22px 20px;
  border-top: 1px solid rgba(226, 215, 190, 0.1);
  font-size: 14.5px;
  color: var(--body);
  line-height: 1.65;
}
.cinetoca-faq-item__body p:last-child {
  margin-bottom: 0 !important;
}

/* Card de Convidado / Júri / Homenageado / Realizador */
.cinetoca-people-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  margin: 32px 0;
}
.cinetoca-person-card {
  display: flex;
  flex-direction: column;
  background: #090c10;
  border: 1px solid rgba(226, 215, 190, 0.16);
  border-radius: 16px;
  overflow: hidden;
  transition: transform .25s ease, border-color .25s ease;
}
.cinetoca-person-card:hover {
  transform: translateY(-3px);
  border-color: rgba(226, 215, 190, 0.36);
}
.cinetoca-person-card__photo {
  aspect-ratio: 4 / 3;
  background: #11161f;
  overflow: hidden;
}
.cinetoca-person-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.cinetoca-person-card__body {
  padding: 20px 22px;
}
.cinetoca-person-card__role {
  font: 400 11px/1 var(--sc);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--g1);
  margin-bottom: 6px;
  display: block;
}
.cinetoca-person-card__body h4 {
  font: 400 20px/1.25 var(--serif);
  color: var(--g0);
  margin: 0 0 8px !important;
}
.cinetoca-person-card__body p {
  font-size: 13.8px !important;
  color: var(--body) !important;
  line-height: 1.58 !important;
  margin: 0 !important;
}

/* Cronograma / Grade de Programação */
.cinetoca-schedule {
  display: grid;
  gap: 14px;
  margin: 30px 0;
}
.cinetoca-schedule-item {
  display: grid;
  grid-template-columns: 135px 1fr;
  gap: 20px;
  align-items: center;
  padding: 18px 22px;
  background: #090c10;
  border: 1px solid rgba(226, 215, 190, 0.14);
  border-radius: 14px;
}
.cinetoca-schedule-time {
  font: 400 14px/1.25 var(--sc);
  letter-spacing: .12em;
  color: var(--g1);
  text-transform: uppercase;
  padding-right: 16px;
  border-right: 1px solid rgba(226, 215, 190, 0.14);
}
.cinetoca-schedule-time strong {
  display: block;
  font: 400 20px/1.15 var(--serif);
  color: var(--g0);
  margin-bottom: 4px;
}
.cinetoca-schedule-info h4 {
  font: 400 18px/1.3 var(--serif);
  color: var(--g0);
  margin: 0 0 4px !important;
}
.cinetoca-schedule-info p {
  font-size: 13.8px !important;
  color: var(--mut) !important;
  margin: 0 !important;
}
@media (max-width: 640px) {
  .cinetoca-schedule-item {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .cinetoca-schedule-time {
    border-right: 0;
    border-bottom: 1px solid rgba(226, 215, 190, 0.12);
    padding-right: 0;
    padding-bottom: 8px;
  }
}

/* Tabela de Ficha Técnica / Especificações */
.cinetoca-specs-table {
  width: 100%;
  border-collapse: collapse;
  margin: 28px 0;
  background: #090c10;
  border: 1px solid rgba(226, 215, 190, 0.16);
  border-radius: 14px;
  overflow: hidden;
}
.cinetoca-specs-table th,
.cinetoca-specs-table td {
  padding: 13px 18px;
  text-align: left;
  border-bottom: 1px solid rgba(226, 215, 190, 0.1);
  font-size: 14px;
}
.cinetoca-specs-table th {
  width: 34%;
  font: 400 12px/1.3 var(--sc);
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--g1);
  background: rgba(226, 215, 190, 0.03);
}
.cinetoca-specs-table td {
  color: var(--g0);
}
.cinetoca-specs-table tr:last-child th,
.cinetoca-specs-table tr:last-child td {
  border-bottom: 0;
}

/* Wrapper para HTML Personalizado / Embed */
.cinetoca-embed-box {
  margin: 30px 0;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(226, 215, 190, 0.16);
  background: rgba(9, 12, 16, 0.7);
  padding: 16px;
}
.cinetoca-embed-box iframe {
  max-width: 100%;
  border-radius: 10px;
}
