/* =========================================================
   WILLER "VICTORIOUS" ALVES — 2050
   preto profundo · vermelho elétrico · ciano de holograma
   ========================================================= */
:root {
  --ink: #050506;
  --ink-2: #0c0c10;
  --ink-3: #15151b;
  --bone: #f1ede6;
  --mute: #9a97a3;
  --dim: #5d5b66;
  --red: #ff1f3d;
  --red-2: #b30c22;
  --cyan: #38f3ff;
  --gold: #e6c36a;
  --line: rgba(241, 237, 230, .12);
  --disp: "Big Shoulders Display", "Arial Narrow", sans-serif;
  --body: "Inter", system-ui, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, monospace;
  --gut: clamp(16px, 4vw, 56px);
  --ease: cubic-bezier(.16, 1, .3, 1);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
body { background: var(--ink); color: var(--bone); font-family: var(--body); font-size: 16px; line-height: 1.55; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
body.carregando { overflow: hidden; height: 100vh; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
::selection { background: var(--red); color: #fff; }
.rotulo { font-family: var(--mono); font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--cyan); }
.rotulo::before { content: ""; display: inline-block; width: 22px; height: 1px; background: var(--red); vertical-align: middle; margin-right: 10px; }


/* ================= PRELOADER ================= */
.pre { position: fixed; inset: 0; z-index: 200; background: var(--ink); display: grid; place-items: center; overflow: hidden; }
.pre-pilha { position: absolute; left: 50%; top: 46%; width: min(46vw, 340px); aspect-ratio: 4/5; transform: translate(-50%, -50%); }
.pre-pilha figure { position: absolute; inset: 0; border-radius: 6px; overflow: hidden; box-shadow: 0 30px 80px rgba(0,0,0,.6); outline: 1px solid rgba(56,243,255,.25); }
.pre-pilha img { width: 100%; height: 100%; object-fit: cover; }
.pre-pilha figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,.5)); }
.pre-hud { position: absolute; left: var(--gut); right: var(--gut); bottom: calc(var(--gut) + 8px); display: flex; align-items: center; gap: 18px; font-family: var(--mono); color: var(--bone); }
.pre-ano { font-family: var(--disp); font-weight: 900; font-size: clamp(42px, 9vw, 120px); line-height: .8; letter-spacing: -.01em; color: var(--red); min-width: 3.2ch; }
.pre-barra { flex: 1; height: 2px; background: var(--line); position: relative; overflow: hidden; }
.pre-barra i { position: absolute; inset: 0; background: linear-gradient(90deg, var(--red), var(--cyan)); transform-origin: 0 50%; transform: scaleX(0); }
.pre-pct { font-size: 13px; letter-spacing: .2em; color: var(--cyan); }
.pre-nome { position: absolute; top: calc(var(--gut) + 6px); left: 0; right: 0; text-align: center; font-family: var(--mono); font-size: 12px; letter-spacing: .4em; color: var(--mute); }
.pre-nome em { color: var(--red); font-style: normal; }

/* ================= TOPO / HUD ================= */
.topo { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 14px var(--gut); pointer-events: none; mix-blend-mode: difference; }
.topo > * { pointer-events: auto; }
.marca { display: flex; align-items: center; gap: 10px; text-decoration: none; font-family: var(--mono); font-size: 12px; letter-spacing: .25em; color: #fff; }
.marca svg { width: 34px; height: 34px; }
.relogio { display: flex; gap: 14px; align-items: baseline; font-family: var(--mono); font-size: 12px; letter-spacing: .15em; color: #fff; }
.relogio b { font-weight: 700; }
.rel-t { font-size: 18px; letter-spacing: .05em; min-width: 4ch; text-align: center; }
.rel-rec { color: #fff; opacity: .7; }
.topo-acoes { display: flex; align-items: center; gap: 12px; }
.som { display: flex; gap: 2px; align-items: flex-end; height: 18px; width: 26px; padding: 2px; }
.som i { width: 3px; height: 30%; background: #fff; transition: height .3s; }
.som[aria-pressed="true"] i { animation: eq 1s infinite ease-in-out alternate; }
.som[aria-pressed="true"] i:nth-child(2) { animation-delay: -.3s; } .som[aria-pressed="true"] i:nth-child(3) { animation-delay: -.6s; } .som[aria-pressed="true"] i:nth-child(4) { animation-delay: -.15s; }
@keyframes eq { to { height: 100%; } }
.idioma { display: flex; border: 1px solid rgba(255,255,255,.5); border-radius: 99px; overflow: hidden; }
.idioma button { font-family: var(--mono); font-size: 11px; letter-spacing: .15em; padding: 6px 10px; color: #fff; }
.idioma button[aria-pressed="true"] { background: #fff; color: #000; }
@media (max-width: 640px) { .marca span, .rel-rec { display: none; } .relogio { gap: 8px; } }

/* ================= CURSOR ================= */
.cursor { position: fixed; left: 0; top: 0; z-index: 150; width: 44px; height: 44px; margin: -22px 0 0 -22px; pointer-events: none; display: none; }
.tem-cursor .cursor { display: block; }
.tem-cursor, .tem-cursor a, .tem-cursor button, .tem-cursor label { cursor: none; }
.cursor svg { width: 100%; height: 100%; overflow: visible; transition: transform .4s var(--ease); }
.cursor polygon { fill: none; stroke: var(--cyan); stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.cursor::after { content: ""; position: absolute; left: 50%; top: 50%; width: 4px; height: 4px; margin: -2px; background: var(--red); border-radius: 50%; }
.cursor span { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-family: var(--mono); font-size: 9px; letter-spacing: .15em; color: #000; white-space: nowrap; }
.cursor.ativo svg { transform: scale(1.45) rotate(22.5deg); }
.cursor.ativo polygon { fill: none; stroke: var(--red); stroke-width: 1.5; }
.cursor.ativo::after { opacity: 0; }
.cursor::after { transition: opacity .3s; }
.impacto { position: fixed; z-index: 149; pointer-events: none; width: 10px; height: 10px; margin: -5px; border: 2px solid var(--red); clip-path: polygon(30% 0, 70% 0, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0 70%, 0 30%); }

/* ================= CAPA ================= */
.capa { position: relative; height: 100vh; height: 100svh; }
.capa-palco { position: relative; height: 100%; overflow: hidden; perspective: 1100px; background: radial-gradient(ellipse at 50% 60%, #1a0408 0%, var(--ink) 65%); }
.luva3d { position: absolute; inset: 0; transform-style: preserve-3d; --luva: 2600vmax; }
.capa-janela, .luva-camada, .luva-brilho {
  position: absolute; inset: 0;
  -webkit-mask: url(img/luva-mask.png) center / var(--luva) no-repeat;
  mask: url(img/luva-mask.png) center / var(--luva) no-repeat;
}
.capa-janela { overflow: hidden; background: var(--ink); transform: translateZ(0); }
.luva-camada { background: var(--red-2); opacity: 0; }
.luva-brilho { pointer-events: none; opacity: 0; background: linear-gradient(115deg, transparent 30%, rgba(56,243,255,.55) 45%, rgba(255,255,255,.8) 50%, rgba(56,243,255,.4) 55%, transparent 70%); background-size: 300% 100%; background-position: 100% 0; mix-blend-mode: screen; transform: translateZ(1px); }
.luva-legenda { position: absolute; left: 0; right: 0; bottom: 12vh; text-align: center; font-family: var(--mono); letter-spacing: .5em; font-size: 12px; color: var(--cyan); opacity: 0; }
.luva-couro { position: absolute; inset: 0; z-index: 4; opacity: 0; pointer-events: none; display: grid; place-items: center;
  background: #8e0616 radial-gradient(circle at 38% 36%, #ff8a96 0%, #ff1f3d 12%, #c10a22 30%, #7a0414 46%, #3a0008 60%) center / var(--luva) var(--luva) no-repeat; }
.luva-couro::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 9% 5% at 40% 37%, rgba(255,255,255,.6), transparent 70%) center / var(--luva) var(--luva) no-repeat; mix-blend-mode: screen; }
.luva-couro span { font-family: var(--disp); font-weight: 900; font-size: calc(var(--luva) * .075); letter-spacing: .08em; color: rgba(255,255,255,.9); transform: translate(18%, 4%) rotate(-6deg); text-shadow: 0 1px 0 rgba(0,0,0,.3); }
.capa-ko { position: absolute; inset: 0; z-index: 5; display: grid; place-items: center; background: var(--red); opacity: 0; pointer-events: none; }
.capa-ko b { font-family: var(--disp); font-weight: 900; font-size: 26vw; letter-spacing: -.01em; color: var(--ink); line-height: 1; }

.capa-gl { position: absolute; inset: 0; width: 100%; height: 100%; }
.capa-fallback { position: absolute; inset: 0; display: none; }
.capa-fallback img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.2) brightness(.5); }
.sem-gl .capa-fallback { display: block; }
.capa-vic { position: absolute; top: 9vh; left: 0; right: 0; overflow: hidden; pointer-events: none; }
.vic-trilho { display: flex; width: max-content; animation: trilho 40s linear infinite; }
.vic-trilho span { font-family: var(--disp); font-weight: 900; font-size: clamp(110px, 24vw, 420px); line-height: .9; letter-spacing: -.01em; padding-right: .3em; color: transparent; -webkit-text-stroke: 1.5px rgba(241,237,230,.22); }
@keyframes trilho { to { transform: translateX(-50%); } }

.capa-lutador { position: absolute; z-index: 2; left: 50%; bottom: 0; height: 88vh; aspect-ratio: 1023/1791; transform: translateX(-50%); }
.capa-corte { width: 100%; height: 100%; object-fit: contain; object-position: bottom; filter: drop-shadow(0 0 40px rgba(255,31,61,.35)) contrast(1.05); -webkit-mask: linear-gradient(#000 82%, transparent); mask: linear-gradient(#000 82%, transparent); }

.capa-nome { position: absolute; left: 0; right: 0; bottom: 7vh; padding: 0 var(--gut); display: flex; justify-content: space-between; align-items: flex-end; pointer-events: none; font-family: var(--disp); font-weight: 900; font-size: clamp(90px, 15vw, 300px); line-height: .8; letter-spacing: -.01em; z-index: 3; text-shadow: 0 12px 50px rgba(0,0,0,.55); }
.cn-l { display: block; overflow: hidden; padding-bottom: .04em; }
.cn-l .sp { display: inline-block; }
.cn-1 { color: var(--bone); }
.cn-2 { color: var(--red); text-shadow: 0 0 60px rgba(255,31,61,.4); }
.capa-meta { position: absolute; top: 78px; left: var(--gut); }
.cm-apelido { font-family: var(--disp); font-weight: 800; font-size: clamp(16px, 2vw, 26px); letter-spacing: .08em; color: var(--cyan); text-shadow: 0 0 20px rgba(56,243,255,.5); }
.cm-chips { list-style: none; display: flex; flex-direction: column; gap: 6px; margin-top: 14px; }
.cm-chips li { font-family: var(--mono); font-size: 12px; letter-spacing: .08em; color: var(--mute); }
.cm-chips b { color: var(--bone); margin-right: 8px; }
.capa-fe { position: absolute; top: 78px; right: var(--gut); text-align: right; font-family: var(--mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--bone); max-width: 260px; }
.capa-teaser-hud { position: absolute; right: var(--gut); top: 46%; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; font-family: var(--mono); font-size: 11px; letter-spacing: .2em; color: var(--mute); writing-mode: vertical-rl; transform: rotate(180deg) translateY(50%); }
.capa-teaser-hud span:first-child { color: var(--red); font-weight: 700; }
.capa-rola { position: absolute; left: 50%; bottom: 2vh; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; font-family: var(--mono); font-size: 10px; letter-spacing: .3em; text-transform: uppercase; color: var(--mute); z-index: 2; }
.capa-rola i { width: 1px; height: 26px; background: linear-gradient(var(--cyan), transparent); animation: desce 1.6s infinite; }
@keyframes desce { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
@media (max-width: 760px) {
  .capa-lutador { height: 60vh; bottom: 22vh; left: 36%; }
  .capa-nome { flex-direction: column; align-items: flex-start; bottom: 4vh; font-size: 27vw; line-height: .84; }
  .capa-vic { display: none; }
  .capa-meta { top: 70px; }
  .cn-2 { align-self: flex-end; }
  .capa-fe { display: none; }
  .capa-teaser-hud { display: none; }
        .capa-vic { top: 16vh; }
}

/* ================= BÍBLIA (round 0) ================= */
.biblia { position: relative; }
.biblia-palco { position: relative; height: 100vh; height: 100svh; overflow: hidden; background: var(--ink); }
.b-fundo { position: absolute; inset: 0; }
.b-fundo img { width: 100%; height: 100%; object-fit: cover; object-position: 38% 74%; filter: brightness(.62) saturate(1.05) contrast(1.08); transform-origin: 42% 74%; }
.b-fundo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,5,6,.92) 0%, rgba(5,5,6,.55) 38%, rgba(5,5,6,.15) 60%, rgba(5,5,6,.6) 100%), linear-gradient(0deg, rgba(5,5,6,.7), transparent 40%); }
.b-texto { position: absolute; left: var(--gut); top: 50%; transform: translateY(-50%); width: min(48vw, 620px); z-index: 3; }
.b-texto .rotulo { margin-bottom: 22px; }
.b-l { position: absolute; top: 40px; left: 0; font-family: var(--disp); font-weight: 800; font-size: clamp(22px, 2.6vw, 40px); line-height: 1.12; letter-spacing: 0; }
.b-l em { font-style: normal; color: var(--red); }
.b-l .w { display: inline-block; }
.b-recorte { position: absolute; right: 10vw; top: 50%; width: min(32vw, 420px); z-index: 2; }
.b-papel { position: relative; padding: 12px 12px 44px; background: #e9e2d2; box-shadow: 0 40px 100px rgba(0,0,0,.7); }
.b-papel img { width: 100%; aspect-ratio: 4/5; object-fit: cover; filter: grayscale(1) sepia(.35) contrast(1.1); }
.b-tesoura { position: absolute; left: 12px; top: 12px; width: calc(100% - 24px); aspect-ratio: 4/5; height: auto; overflow: visible; }
.b-tesoura ellipse { fill: none; stroke: var(--red); stroke-width: .9; }
.b-recorte figcaption, .b-belfort figcaption { position: absolute; bottom: 14px; left: 14px; font-family: var(--mono); font-size: 10px; letter-spacing: .12em; color: #3a352c; text-transform: uppercase; }
.b-belfort { position: absolute; right: 6vw; top: 50%; width: min(36vw, 480px); z-index: 4; border-radius: 4px; overflow: hidden; outline: 1px solid rgba(56,243,255,.4); box-shadow: 0 0 0 8px rgba(5,5,6,.6), 0 40px 120px rgba(0,0,0,.8); }
.b-belfort img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.b-belfort figcaption { color: var(--cyan); bottom: 12px; text-shadow: 0 2px 10px #000; }
@media (max-width: 760px) {
  .b-fundo::after { background: linear-gradient(180deg, rgba(5,5,6,.92) 0%, rgba(5,5,6,.5) 35%, rgba(5,5,6,.2) 55%, rgba(5,5,6,.75) 100%); }
  .b-texto { top: auto; bottom: 4vh; height: 31vh; transform: none; width: auto; right: var(--gut); }
  .b-texto .rotulo { margin-bottom: 12px; }
  .b-l { top: 30px; font-size: clamp(25px, 7.4vw, 34px); line-height: 1.08; }
  .b-recorte { left: 50%; right: auto; top: 76px; bottom: auto; width: min(64vw, 340px); }
  .b-recorte .b-papel { padding: 8px 8px 34px; }
  .b-belfort { left: 50%; right: auto; top: 76px; bottom: auto; width: min(66vw, 360px); }
}

/* ================= CORTE (transição de faca) ================= */
.corte { position: relative; }
.corte-palco { position: relative; height: 100vh; height: 100svh; overflow: hidden; background: var(--ink); }
.corte-fundo { position: absolute; inset: -40px; width: calc(100% + 80px); height: calc(100% + 80px); object-fit: cover; filter: blur(28px) brightness(.35) saturate(1.2); }
.corte-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: 50% 30%; filter: brightness(.62) contrast(1.08); }
.corte-palco::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 55%, rgba(5,5,6,.15), rgba(5,5,6,.65) 75%); pointer-events: none; }
.corte-tit { z-index: 2; }
@media (max-width: 760px) and (orientation: portrait) {
  .corte-img { object-fit: cover; object-position: var(--pos, 50% 18%); }
  .corte-palco .corte-tit { justify-content: flex-end; padding-bottom: 14vh; }
}
.corte-meia, .corte-lamina { z-index: 3; }
.corte-tit { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 10px; padding: 0 var(--gut); }
.corte-tit small { font-family: var(--mono); letter-spacing: .5em; font-size: 13px; color: var(--cyan); }
.corte-tit strong { font-family: var(--disp); font-weight: 900; font-size: clamp(48px, 12vw, 210px); line-height: .85; letter-spacing: -.01em; }
.corte-tit span { font-family: var(--mono); font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: var(--mute); }
.corte-meia { position: absolute; inset: 0; background: var(--red); display: grid; place-items: center; }
.corte-a { clip-path: polygon(0 0, 100% 0, 100% 38%, 0 62%); }
.corte-b { clip-path: polygon(0 62%, 100% 38%, 100% 100%, 0 100%); }
.corte-rd { text-align: center; color: var(--ink); }
.corte-rd small { display: block; font-family: var(--mono); letter-spacing: .6em; font-size: 14px; font-weight: 700; margin-bottom: 2.4vw; }
.corte-rd b { font-family: var(--disp); font-weight: 900; font-size: clamp(160px, 38vw, 560px); line-height: .8; letter-spacing: -.01em; }
.corte-lamina { position: absolute; left: -10%; right: -10%; top: 50%; height: 3px; background: #fff; box-shadow: 0 0 20px #fff, 0 0 60px var(--cyan); transform: rotate(-13deg) scaleX(0); transform-origin: 0 50%; }

/* ================= TÚNEL ================= */
.tunel { position: relative; }
.tunel-palco { position: relative; height: 100vh; height: 100svh; overflow: hidden; background: radial-gradient(ellipse at 50% 50%, #120309 0%, var(--ink) 60%); }
.tunel-cena { position: absolute; inset: 0; perspective: 900px; perspective-origin: 50% 50%; }
.tunel-cam { position: absolute; left: 50%; top: 50%; width: 0; height: 0; transform-style: preserve-3d; }
.t-obj { position: absolute; transform-style: preserve-3d; will-change: transform, opacity; }
.t-foto { width: var(--w); margin: calc(var(--h) / -2) 0 0 calc(var(--w) / -2); }
.t-foto img { width: 100%; height: var(--h); object-fit: cover; border-radius: 4px; outline: 1px solid rgba(56,243,255,.3); box-shadow: 0 30px 80px rgba(0,0,0,.6); }
.t-ano { font-family: var(--disp); font-weight: 900; font-size: 340px; line-height: 1; letter-spacing: -.01em; color: var(--bone); text-shadow: 0 0 80px rgba(255,31,61,.55), 0 10px 40px rgba(0,0,0,.8); transform-origin: 50% 50%; white-space: nowrap; margin: -170px 0 0; }
.t-oct { width: 1300px; height: 1300px; margin: -650px 0 0 -650px; }
.t-oct svg { width: 100%; height: 100%; }
.t-oct polygon { fill: none; stroke: rgba(56,243,255,.35); stroke-width: 2; }
.tunel-hud { position: absolute; left: var(--gut); bottom: calc(var(--gut) + 10px); width: min(560px, calc(100% - 2 * var(--gut))); z-index: 3; padding: 22px 24px 20px; background: rgba(5,5,6,.66); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid rgba(56,243,255,.28); clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px)); }
.th-ano { font-family: var(--mono); font-size: 12px; letter-spacing: .25em; color: var(--mute); display: flex; align-items: baseline; gap: 12px; }
.th-ano b { font-family: var(--disp); font-weight: 900; font-size: 54px; line-height: .9; letter-spacing: 0; color: var(--red); }
.th-tit { font-family: var(--disp); font-weight: 900; font-size: clamp(26px, 3.4vw, 48px); line-height: 1; letter-spacing: 0; margin: 6px 0 10px; }
.th-txt { color: #cfcbd4; font-size: 15px; line-height: 1.5; min-height: 4.5em; }
.th-fita { list-style: none; display: flex; gap: 4px; margin-top: 16px; }
.th-fita li { flex: 1; height: 3px; background: var(--line); position: relative; overflow: hidden; }
.th-fita li i { position: absolute; inset: 0; background: var(--red); transform-origin: 0 50%; transform: scaleX(0); }
.tunel-vel { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at center, transparent 30%, rgba(5,5,6,.9) 80%); }
@media (max-width: 760px) {
  .tunel-hud { bottom: 14px; padding: 16px 16px 14px; }
  .th-txt { font-size: 14px; min-height: 6em; }
  .t-ano { font-family: var(--disp); font-weight: 900; font-size: 340px; line-height: 1; letter-spacing: -.01em; color: var(--bone); text-shadow: 0 0 80px rgba(255,31,61,.55), 0 10px 40px rgba(0,0,0,.8); transform-origin: 50% 50%; white-space: nowrap; margin: -170px 0 0; }
}

.tunel-warp { position: absolute; inset: -30%; opacity: 0; pointer-events: none; will-change: transform, opacity; }
.tunel-warp i { position: absolute; inset: 0; -webkit-mask: radial-gradient(circle at 50% 50%, transparent 9%, #000 30%, #000 55%, transparent 72%); mask: radial-gradient(circle at 50% 50%, transparent 9%, #000 30%, #000 55%, transparent 72%); }
.tunel-warp i:first-child { background: repeating-conic-gradient(from 0deg at 50% 50%, transparent 0deg 5deg, rgba(241,237,230,.55) 5deg 5.18deg, transparent 5.18deg 11deg); }
.tunel-warp i:last-child { background: repeating-conic-gradient(from 3deg at 50% 50%, transparent 0deg 13deg, rgba(255,31,61,.8) 13deg 13.35deg, transparent 13.35deg 17deg); transform: scale(1.15); }
.tunel-cel { display: none; }
@media (max-width: 760px) {
  .tunel-cena { display: none; }
  .tunel-cel { display: block; position: absolute; left: 0; right: 0; top: 64px; bottom: 0; }
  .tc-slide { position: absolute; left: var(--gut); right: var(--gut); top: 0; transform-origin: 50% 40%; will-change: transform, opacity; visibility: hidden; }
  .tc-grade { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .tc-grade figure { border-radius: 12px; overflow: hidden; aspect-ratio: 4/5; background: var(--ink-3); outline: 1px solid rgba(56,243,255,.25); box-shadow: 0 20px 50px rgba(0,0,0,.6); }
  .tc-grade figure:first-child:nth-last-child(odd) { grid-column: span 2; aspect-ratio: 16/10; }
  .tc-grade img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; }
  .tc-ano { position: absolute; left: 50%; top: 42%; transform: translate(-50%, -50%); font-family: var(--disp); font-weight: 900; font-size: 46vw; line-height: 1; color: var(--bone); opacity: .1; pointer-events: none; }
  .tunel-hud { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(5,5,6,.92); }
  .mundo-txt, .scan-tag, .final-caixa { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
  .final-caixa { background: rgba(5,5,6,.9); }
}

/* ================= CARTEL ================= */
.cartel { position: relative; padding: clamp(80px, 12vw, 160px) var(--gut); background: var(--ink); overflow: hidden; }
.cartel-topo { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: center; }
.placar { display: flex; align-items: center; font-family: var(--disp); font-weight: 900; font-size: clamp(140px, 26vw, 420px); line-height: .8; letter-spacing: -.01em; }
.pl-n:first-child { color: var(--red); text-shadow: 0 0 80px rgba(255,31,61,.5); }
.pl-x { color: var(--dim); font-size: .4em; margin: 0 .1em; }
.pl-zero { color: transparent; -webkit-text-stroke: 2px var(--bone); }
.cartel-ficha h2 { font-family: var(--disp); font-weight: 800; font-size: clamp(26px, 3vw, 44px); line-height: 1.05; letter-spacing: 0; margin-bottom: 26px; }
.fita { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.fita div { background: var(--ink); padding: 14px 16px; }
.fita dt { font-family: var(--mono); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--cyan); }
.fita dd { font-size: 15px; margin-top: 4px; }
.fita dd b { font-family: var(--disp); font-size: 22px; }
.metodos { display: flex; gap: 28px; margin-top: 24px; }
.metodos div { display: flex; flex-direction: column; }
.metodos b { font-family: var(--disp); font-weight: 900; font-size: 46px; line-height: 1; color: var(--red); }
.metodos span { font-family: var(--mono); font-size: 11px; letter-spacing: .15em; text-transform: uppercase; color: var(--mute); }
.lutas { list-style: none; margin-top: clamp(60px, 9vw, 120px); display: flex; flex-direction: column; gap: 14px; perspective: 1200px; }
.luta { position: relative; display: grid; grid-template-columns: 160px 1fr auto; gap: 26px; align-items: center; padding: 16px; background: linear-gradient(90deg, var(--ink-3), var(--ink-2)); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; transition: border-color .3s, transform .5s var(--ease); }
.luta::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,31,61,.18), transparent 50%); opacity: 0; transition: opacity .4s; }
.luta:hover { border-color: rgba(56,243,255,.5); transform: translateX(10px); }
.luta:hover::before { opacity: 1; }
.luta img { width: 160px; height: 110px; object-fit: cover; border-radius: 10px; filter: grayscale(.6) contrast(1.1); transition: filter .4s; }
.luta:hover img { filter: none; }
.luta-c { position: relative; }
.luta-ev { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--cyan); }
.luta h3 { font-family: var(--disp); font-weight: 800; font-size: clamp(20px, 2.4vw, 32px); letter-spacing: 0; margin: 6px 0; }
.luta-m { color: #d8d4dd; font-size: 15px; }
.luta-m .v { display: inline-grid; place-items: center; width: 24px; height: 24px; margin-right: 6px; background: var(--red); color: #fff; font-family: var(--disp); font-size: 12px; font-weight: 900; border-radius: 4px; }
.luta-tv { font-family: var(--mono); font-size: 10px; letter-spacing: .1em; color: var(--dim); margin-top: 6px; }
.luta-n { font-family: var(--disp); font-weight: 900; font-size: 74px; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px rgba(241,237,230,.25); padding-right: 10px; }
.titulos { margin-top: clamp(70px, 9vw, 120px); }
.titulos .rotulo { margin-bottom: 18px; }
.esteira { overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.esteira-trilho { display: flex; width: max-content; }
.esteira-trilho span { padding: 22px 34px; white-space: nowrap; font-size: 15px; color: var(--mute); border-right: 1px solid var(--line); }
.esteira-trilho b { color: var(--bone); font-weight: 700; margin: 0 6px; }
@media (max-width: 860px) {
  .cartel-topo { grid-template-columns: 1fr; }
  .placar { justify-content: center; }
  .luta { grid-template-columns: 1fr; gap: 12px; }
  .luta img { width: 100%; height: 170px; }
  .luta-n { position: absolute; right: 18px; top: 16px; font-size: 54px; }
}

/* ================= MUNDO (espiral) ================= */
.mundo { position: relative; }
.mundo-palco { position: relative; height: 100vh; height: 100svh; overflow: hidden; background: radial-gradient(ellipse at 60% 50%, #07161a 0%, var(--ink) 60%); }
.mundo-esp { position: absolute; inset: 0; }
.mundo-esp canvas { display: block; width: 100%; height: 100%; }
.mundo-txt { position: absolute; left: var(--gut); bottom: 6vh; z-index: 2; width: min(440px, calc(100% - 2 * var(--gut))); pointer-events: none; padding: 20px 22px; background: rgba(5,5,6,.82); border: 1px solid rgba(56,243,255,.25); clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 20px 100%, 0 calc(100% - 20px)); }
.mundo-txt h2 { font-family: var(--disp); font-weight: 900; font-size: clamp(54px, 6vw, 96px); line-height: .9; letter-spacing: -.01em; margin: 10px 0 8px; }
.mundo-sep { color: var(--red); margin: 0 .05em; }
.mundo-txt h2 [data-esp-total] { color: transparent; -webkit-text-stroke: 1.5px rgba(241,237,230,.35); }
.mundo-lugar { font-family: var(--disp); font-weight: 800; font-size: clamp(22px, 2.6vw, 36px); letter-spacing: 0; }
.mundo-feito { color: #cfcbd4; margin-top: 8px; font-size: 16px; min-height: 3em; }
@media (max-width: 1100px) { .mundo-lista { display: none !important; } }
.mundo-lista { position: absolute; right: var(--gut); top: 50%; transform: translateY(-50%); list-style: none; display: flex; flex-direction: column; gap: 6px; z-index: 2; font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--dim); text-align: right; }
.mundo-lista li { transition: color .3s, transform .4s var(--ease); }
.mundo-lista li.on { color: var(--cyan); transform: translateX(-10px); }
.mundo-lista li.on::after { content: " ◂"; color: var(--red); }
@media (max-width: 760px) {
  .mundo-txt { right: var(--gut); width: auto; padding: 16px; }
  .mundo-txt h2 { font-size: 54px; margin: 6px 0; }
  .mundo-lista { display: none; }
}

/* ================= ESCOLA ================= */
.escola { position: relative; }
.escola-palco { position: relative; min-height: 100vh; padding: clamp(80px, 10vw, 140px) var(--gut); overflow: hidden; background: var(--bone); color: var(--ink); }
.escola .rotulo { color: var(--red-2); }
.escola-tit { font-family: var(--disp); font-weight: 900; font-size: clamp(40px, 8.5vw, 150px); line-height: .9; letter-spacing: -.01em; margin: 18px 0 40px; white-space: nowrap; }
.escola-palavras { display: flex; flex-direction: column; }
.ep { position: relative; border-top: 2px solid var(--ink); padding: 22px 0; display: grid; grid-template-columns: 1fr 1.15fr; align-items: center; gap: 4vw; }
.ep:nth-child(2) span { order: 2; }
.ep span { font-family: var(--disp); font-weight: 900; font-size: clamp(44px, 8.5vw, 150px); line-height: 1; letter-spacing: -.01em; }
.ep img { width: 100%; aspect-ratio: 16/10; object-fit: cover; object-position: 50% 30%; border-radius: 18px; clip-path: inset(0 0 0 100% round 18px); box-shadow: 0 30px 80px rgba(0,0,0,.25); }
.escola-txt { max-width: 640px; margin-top: 40px; font-size: 18px; line-height: 1.55; }
.escola-txt em { font-style: normal; color: var(--red-2); font-weight: 700; }
@media (max-width: 760px) { .escola-tit { white-space: normal; } .ep { grid-template-columns: 1fr; gap: 14px; } .ep:nth-child(2) span { order: 0; } }

/* ================= LENDAS ================= */
.lendas { padding: clamp(80px, 10vw, 140px) var(--gut); background: var(--ink); }
.lendas h2 { font-family: var(--disp); font-weight: 900; font-size: clamp(40px, 7vw, 110px); line-height: .9; letter-spacing: -.01em; margin: 16px 0 50px; }
.lendas-grade { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; perspective: 1200px; }
.lenda { position: relative; border-radius: 20px; overflow: hidden; transform-style: preserve-3d; background: var(--ink-3); border: 1px solid var(--line); }
.lenda img { width: 100%; aspect-ratio: 3/4; object-fit: cover; filter: grayscale(.5) contrast(1.05); transition: filter .5s, transform .8s var(--ease); }
.lenda:hover img { filter: none; transform: scale(1.04); }
.lenda::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(56,243,255,.28), transparent 45%); opacity: 0; transition: opacity .3s; mix-blend-mode: screen; }
.lenda:hover::after { opacity: 1; }
.lenda figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 60px 18px 18px; background: linear-gradient(transparent, rgba(5,5,6,.92)); transform: translateZ(40px); }
.lenda b { display: block; font-family: var(--disp); font-weight: 800; font-size: 20px; letter-spacing: 0; }
.lenda span { font-size: 13px; color: var(--mute); }
@media (max-width: 960px) { .lendas-grade { grid-template-columns: 1fr 1fr; } }

/* ================= FÉ ================= */
.fe { position: relative; }
.fe-palco { position: relative; min-height: 100vh; display: flex; align-items: center; overflow: hidden; padding: 120px var(--gut); }
.fe-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.35) saturate(.6); }
.fe-palco::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,5,6,.9) 0%, rgba(5,5,6,.4) 70%); z-index: 1; }
.fe-txt { position: relative; z-index: 2; max-width: 980px; }
.fe-frase { font-family: var(--disp); font-weight: 900; font-size: clamp(36px, 6.4vw, 104px); line-height: .98; letter-spacing: -.01em; margin: 22px 0 28px; }
.fe-frase2 { font-family: var(--disp); font-weight: 500; font-size: clamp(20px, 2.4vw, 36px); line-height: 1.2; letter-spacing: 0; color: var(--bone); }
.fe-orlando { margin-top: 30px; max-width: 560px; color: #cfcbd4; }
.fe-orlando em { font-style: normal; color: var(--cyan); }
[data-palavras] .w { display: inline-block; opacity: .12; }

/* ================= PAREDE ================= */
.parede { position: relative; background: var(--ink); padding-top: 90px; }
.parede-tit { padding: 0 var(--gut) 24px; }
.parede-palco { position: relative; height: 92vh; overflow: hidden; cursor: grab; touch-action: pan-y; }
.parede-palco:active { cursor: grabbing; }
.parede-grade { position: absolute; left: 0; top: 0; will-change: transform; }
.parede-grade figure { position: absolute; border-radius: 10px; overflow: hidden; background: var(--ink-3); }
.parede-grade img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; user-select: none; -webkit-user-drag: none; }
.parede-palco::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 160px 60px var(--ink); }

/* ================= PATROCINADORES ================= */
.patro { position: relative; padding: clamp(80px, 10vw, 140px) var(--gut); background: var(--ink); border-top: 1px solid var(--line); overflow: hidden; }
.patro::before { content: ""; position: absolute; left: 50%; top: 0; width: 70vw; height: 1px; transform: translateX(-50%); background: linear-gradient(90deg, transparent, var(--red), transparent); }
.patro-topo { display: flex; flex-direction: column; align-items: center; text-align: center; }
.patro h2 { font-family: var(--disp); font-weight: 900; font-size: clamp(40px, 6vw, 96px); line-height: .92; margin-top: 14px; }
.patro-grade { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: clamp(40px, 5vw, 64px); perspective: 1200px; }
.patro-card { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; height: clamp(170px, 15vw, 220px); padding: 26px 22px; text-decoration: none; color: var(--bone); background: linear-gradient(160deg, var(--ink-3), var(--ink-2)); border: 1px solid var(--line); border-radius: 22px; transform-style: preserve-3d; transition: border-color .4s, box-shadow .4s; overflow: hidden; }
.patro-card::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255,31,61,.22), transparent 55%); opacity: 0; transition: opacity .3s; }
.patro-card:hover { border-color: rgba(255,31,61,.55); box-shadow: 0 30px 80px rgba(255,31,61,.18); }
.patro-card:hover::after { opacity: 1; }
.patro-card img { max-width: 78%; max-height: 64px; object-fit: contain; transform: translateZ(30px); }
.patro-sonda { font-family: "DM Sans", var(--body); font-weight: 700; font-size: 46px; line-height: 1; letter-spacing: -.043em; color: #fff; transform: translateZ(30px); }
.patro-card .patro-sonda span { font: inherit; font-weight: 500; letter-spacing: inherit; text-transform: none; color: inherit; transform: none; }
.patro-onni { font-family: "Bricolage Grotesque", var(--body); font-weight: 800; font-size: 56px; line-height: 1; letter-spacing: -.03em; transform: translateZ(30px); }
.patro-card span { font-family: var(--mono); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--dim); text-align: center; transform: translateZ(20px); }
.patro-cta { display: table; margin: 34px auto 0; font-family: var(--mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--bone); text-decoration: none; border-bottom: 1px solid var(--red); padding-bottom: 4px; }
.patro-cta:hover { color: var(--red); }
@media (max-width: 900px) { .patro-grade { grid-template-columns: 1fr 1fr; gap: 12px; } .patro-card { height: 150px; } .patro-sonda { font-family: "DM Sans", var(--body); font-weight: 700; font-size: 46px; line-height: 1; letter-spacing: -.043em; color: #fff; transform: translateZ(30px); }
.patro-card .patro-sonda span { font: inherit; font-weight: 500; letter-spacing: inherit; text-transform: none; color: inherit; transform: none; }
.patro-onni { font-size: 44px; } .patro-card img { max-height: 48px; } .patro-sonda { font-size: 36px; } }

/* ================= FINAL ================= */
.final { position: relative; min-height: 100vh; overflow: hidden; padding: 120px var(--gut) 80px; display: grid; grid-template-columns: 1fr 1fr; align-items: end; background: var(--ink); }
.final-fundo { position: absolute; inset: 0; }
.final-fundo { overflow: hidden; }
.final-fundo img { position: absolute; inset: -60px; width: calc(100% + 120px); height: calc(100% + 120px); object-fit: cover; filter: blur(30px) brightness(.4) saturate(1.5); }
.final-fundo::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 30% 80%, rgba(255,31,61,.35), transparent 60%); }
.final-palavras { position: absolute; left: var(--gut); top: 90px; display: flex; flex-direction: column; font-family: var(--disp); font-weight: 900; font-size: clamp(54px, 9.5vw, 170px); line-height: .88; letter-spacing: -.01em; z-index: 1; }
.final-palavras span:nth-child(2) { color: transparent; -webkit-text-stroke: 2px var(--bone); }
.final-palavras span:nth-child(3) { color: var(--red); }
.final-corte { position: absolute; left: 22%; bottom: 0; height: 82vh; width: auto; z-index: 2; filter: drop-shadow(0 0 60px rgba(255,31,61,.4)); }
.final-caixa { grid-column: 2; position: relative; z-index: 3; padding: 30px; background: rgba(5,5,6,.72); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border: 1px solid rgba(56,243,255,.3); border-radius: 24px; box-shadow: 0 40px 120px rgba(0,0,0,.6); }
.final-caixa h2 { font-family: var(--disp); font-weight: 900; font-size: clamp(28px, 3.2vw, 48px); line-height: 1; letter-spacing: 0; margin: 12px 0 24px; }
.form { display: grid; gap: 14px; }
.form > label { display: grid; gap: 6px; font-family: var(--mono); font-size: 11px; letter-spacing: .15em; text-transform: uppercase; color: var(--mute); }
.form input:not([type="radio"]) { font: inherit; font-family: var(--body); font-size: 16px; letter-spacing: 0; text-transform: none; color: var(--bone); background: rgba(255,255,255,.04); border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; outline: none; transition: border-color .3s; }
.form input:focus { border-color: var(--cyan); }
.form-esc { border: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.form-esc legend { font-family: var(--mono); font-size: 11px; letter-spacing: .15em; text-transform: uppercase; color: var(--mute); margin-bottom: 8px; }
.form-esc label { position: relative; }
.form-esc input { position: absolute; opacity: 0; }
.form-esc span { display: inline-block; padding: 10px 16px; border: 1px solid var(--line); border-radius: 99px; font-size: 14px; transition: all .3s; }
.form-esc input:checked + span { background: var(--bone); color: var(--ink); border-color: var(--bone); }
.form-esc input:focus-visible + span { outline: 2px solid var(--cyan); outline-offset: 2px; }
.btn { margin-top: 6px; padding: 18px 26px; border-radius: 99px; background: var(--red); color: #fff; font-family: var(--disp); font-weight: 800; font-size: 15px; letter-spacing: .02em; box-shadow: 0 14px 40px rgba(255,31,61,.45); transition: transform .4s var(--ease), box-shadow .4s; }
.btn:hover { transform: translateY(-3px); box-shadow: 0 20px 60px rgba(255,31,61,.6); }
.btn:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.form-ok { font-size: 14px; color: var(--cyan); }
.final-links { display: flex; gap: 20px; margin-top: 22px; font-family: var(--mono); font-size: 12px; letter-spacing: .1em; }
.final-links a { color: var(--bone); text-decoration: none; border-bottom: 1px solid var(--red); padding-bottom: 2px; }
@media (max-width: 860px) {
  .final { grid-template-columns: 1fr; padding-top: 80px; min-height: auto; }
  .final-palavras { position: relative; left: 0; top: 0; margin-bottom: 20px; }
  .final-corte { position: relative; left: auto; height: auto; width: min(88vw, 420px); margin: 0 auto -40px; }
  .final-caixa { grid-column: 1; padding: 22px; }
}

/* ================= WHATSAPP FLUTUANTE ================= */
.zap { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 95; display: flex; align-items: center; gap: 10px; padding: 12px 18px 12px 14px; border-radius: 99px; background: #25d366; color: #05200f; text-decoration: none; font-family: var(--disp); font-weight: 800; font-size: 16px; box-shadow: 0 14px 40px rgba(37,211,102,.4); transition: transform .4s var(--ease), box-shadow .4s; }
.zap svg { width: 26px; height: 26px; }
.zap:hover { transform: translateY(-3px); box-shadow: 0 20px 56px rgba(37,211,102,.55); }
.zap:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
@media (max-width: 600px) { .zap span { display: none; } .zap { padding: 14px; } }
.estatico .zap { opacity: 1; }

/* ================= RODAPÉ ================= */
.rodape { position: relative; background: var(--ink); border-top: 1px solid var(--line); overflow: hidden; }
.rodape::before { content: ""; position: absolute; left: 50%; bottom: -30vw; width: 90vw; height: 60vw; transform: translateX(-50%); background: radial-gradient(ellipse, rgba(255,31,61,.22), transparent 65%); pointer-events: none; }
.rp-faixa { border-bottom: 1px solid var(--line); overflow: hidden; background: var(--red); color: var(--ink); }
.rp-trilho { display: flex; align-items: center; width: max-content; animation: trilho 30s linear infinite; }
.rp-trilho span { font-family: var(--disp); font-weight: 900; font-size: clamp(22px, 2.6vw, 36px); letter-spacing: .02em; padding: 14px 26px; white-space: nowrap; }
.rp-trilho i { font-style: normal; font-size: 16px; }
.rp-grade { position: relative; display: grid; grid-template-columns: 1.3fr 1fr 1.2fr 1.2fr; gap: 48px; padding: clamp(56px, 7vw, 96px) var(--gut) 40px; }
.rp-col { display: flex; flex-direction: column; gap: 10px; }
.rp-col h3 { font-family: var(--mono); font-size: 11px; letter-spacing: .25em; text-transform: uppercase; color: var(--cyan); font-weight: 400; margin-bottom: 8px; }
.rp-col h3.rp-h2 { margin-top: 18px; }
.rp-col > a { color: var(--bone); text-decoration: none; font-size: 15px; display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--line); transition: color .3s, padding .4s var(--ease); }
.rp-col > a small { font-family: var(--mono); font-size: 10px; letter-spacing: .1em; color: var(--dim); align-self: center; text-transform: uppercase; }
.rp-col > a:hover { color: var(--red); padding-left: 8px; }
.rp-marca svg { width: 52px; height: 52px; color: var(--bone); margin-bottom: 8px; }
.rp-marca p { color: #bdb9c4; font-size: 15px; max-width: 320px; }
.rp-cta { margin-top: 14px; display: inline-flex !important; align-self: flex-start; align-items: center; gap: 12px; padding: 14px 22px !important; border: 0 !important; border-radius: 99px; background: var(--bone); color: var(--ink) !important; font-family: var(--disp); font-weight: 800; font-size: 16px !important; box-shadow: 0 14px 40px rgba(255,31,61,.25); }
.rp-cta:hover { background: var(--red); color: #fff !important; padding-left: 22px !important; }
.rp-ficha { display: flex; flex-direction: column; }
.rp-ficha div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.rp-ficha dt { font-family: var(--mono); font-size: 10px; letter-spacing: .15em; text-transform: uppercase; color: var(--dim); align-self: center; }
.rp-ficha dd { font-size: 14px; text-align: right; }
.rp-nome { position: relative; display: flex; justify-content: space-between; overflow: hidden; padding: 10px var(--gut) 2vw; margin-top: 20px; text-decoration: none; font-family: var(--disp); font-weight: 900; font-size: 16vw; line-height: 1; letter-spacing: -.01em; color: var(--bone); user-select: none; }
.rp-nome span:last-child { color: var(--red); }
.rp-nome span { display: inline-block; transition: transform .8s var(--ease); }
.rp-nome:hover span:first-child { transform: translateX(-1.5vw); }
.rp-nome:hover span:last-child { transform: translateX(1.5vw); }
.rp-base { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 28px; padding: 22px var(--gut) 26px; border-top: 1px solid var(--line); margin-top: 18px; font-family: var(--mono); font-size: 11px; letter-spacing: .06em; color: var(--dim); }
.rp-base a { color: var(--bone); text-decoration: none; }
.rp-topo { padding: 8px 14px; border: 1px solid var(--line); border-radius: 99px; transition: border-color .3s, color .3s; }
.rp-topo:hover { border-color: var(--red); color: var(--red); }
.rp-onni b { color: var(--bone); }
@media (max-width: 1000px) { .rp-grade { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) {
  .rp-grade { grid-template-columns: 1fr; gap: 36px; }
  .rp-nome { flex-direction: column; font-size: 29vw; line-height: .95; padding-bottom: 4vw; }
  .rp-nome span:last-child { align-self: flex-end; }
  .rp-base { flex-direction: column; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .pre { display: none; }
  .luva3d { --luva: 2600vmax; }
}

/* sem movimento: tudo legível e parado */
.estatico .b-l { position: static; margin-bottom: 18px; }
.estatico .b-texto { position: relative; transform: none; top: auto; padding: 100px 0 20px; }
.estatico .biblia-palco, .estatico .corte-palco { height: auto; min-height: 100vh; }
.estatico .corte-meia, .estatico .corte-lamina { display: none; }
.estatico .b-recorte, .estatico .b-belfort { position: relative; right: auto; left: auto; top: auto; bottom: auto; transform: none; margin: 20px var(--gut); }
.estatico .ep img { clip-path: none; }
