/* Athos Locação · prévia Bandit Studio
   Paleta do logo (vermelho #cd0100, preto, branco) + o amarelo das máquinas. */
:root {
  --asfalto: #0d0e10; --carvao: #16181b; --chapa: #1f2226; --linha: #2c3036;
  --concreto: #9aa0a8; --giz: #f3efe6; --vermelho: #cd0100; --vermelho-2: #ff2a1f; --amarelo: #f5b400;
  --zap: #1fae5b;
  --raio: 14px; --g: 16px;
  --largo: 'Archivo', system-ui, sans-serif;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--asfalto); color: var(--giz); font: 400 16px/1.5 var(--largo); overflow-x: hidden; }
img, video { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2 { font-family: var(--largo); font-stretch: 72%; font-weight: 850; text-transform: uppercase; line-height: .9; letter-spacing: -.01em; margin: 0; text-wrap: balance; }
h1 em, h2 em { font-style: normal; color: var(--amarelo); }
.selo { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; font: 700 12px/1 var(--largo); letter-spacing: .14em; text-transform: uppercase; color: var(--concreto); }
.selo::before { content: ''; width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 10px solid var(--vermelho); }
.sub { color: #c9c5bd; max-width: 34ch; margin: 14px 0 0; font-size: 17px; }
.pular { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--giz); color: #000; padding: 8px 12px; border-radius: 8px; }
.pular:focus { left: 8px; }
:focus-visible { outline: 3px solid var(--amarelo); outline-offset: 3px; }

/* botões */
.bt { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 20px; border-radius: 999px; font: 800 15px/1 var(--largo); font-stretch: 85%; letter-spacing: .02em; text-transform: uppercase; text-decoration: none; border: 0; cursor: pointer; transition: transform .15s, background .2s; }
.bt:active { transform: scale(.97); }
.bt-pri { background: var(--vermelho); color: #fff; }
.bt-pri:hover { background: var(--vermelho-2); }
.bt-zap { background: var(--zap); color: #fff; }
.bt-zap::before { content: ''; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 3a13 13 0 0 0-11.2 19.6L3 29l6.6-1.7A13 13 0 1 0 16 3zm5.8 15.7c-.3-.2-1.9-.9-2.2-1s-.5-.2-.7.2-.8 1-1 1.2-.4.2-.7 0a8.7 8.7 0 0 1-4.3-3.8c-.3-.6.3-.5.9-1.7.1-.2 0-.4 0-.6l-1-2.4c-.3-.6-.5-.5-.7-.5h-.6a1.2 1.2 0 0 0-.9.4 3.7 3.7 0 0 0-1.1 2.7 6.4 6.4 0 0 0 1.3 3.4 14.7 14.7 0 0 0 5.6 5c2.1.9 2.9 1 4 .8.6-.1 1.9-.8 2.2-1.5s.3-1.4.2-1.5-.3-.2-.6-.4z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 3a13 13 0 0 0-11.2 19.6L3 29l6.6-1.7A13 13 0 1 0 16 3zm5.8 15.7c-.3-.2-1.9-.9-2.2-1s-.5-.2-.7.2-.8 1-1 1.2-.4.2-.7 0a8.7 8.7 0 0 1-4.3-3.8c-.3-.6.3-.5.9-1.7.1-.2 0-.4 0-.6l-1-2.4c-.3-.6-.5-.5-.7-.5h-.6a1.2 1.2 0 0 0-.9.4 3.7 3.7 0 0 0-1.1 2.7 6.4 6.4 0 0 0 1.3 3.4 14.7 14.7 0 0 0 5.6 5c2.1.9 2.9 1 4 .8.6-.1 1.9-.8 2.2-1.5s.3-1.4.2-1.5-.3-.2-.6-.4z'/%3E%3C/svg%3E") center/contain no-repeat; }
.bt-sec { background: var(--chapa); color: var(--giz); border: 1px solid var(--linha); min-height: 48px; }
.bt-grande { width: 100%; min-height: 58px; font-size: 17px; }

/* topo */
.topo { position: fixed; inset: 0 0 auto 0; z-index: 50; display: flex; align-items: center; gap: 16px; padding: 10px var(--g); padding-top: max(10px, env(safe-area-inset-top)); background: linear-gradient(#0d0e10 0%, rgba(13,14,16,.86) 70%, rgba(13,14,16,0)); }
.marca { display: flex; align-items: center; gap: 10px; text-decoration: none; margin-right: auto; }
.marca img { width: 44px; height: auto; border-radius: 8px; background: #fff; padding: 3px; }
.marca span { font: 600 15px/1 var(--largo); font-stretch: 80%; text-transform: uppercase; letter-spacing: .06em; }
.marca b { font-weight: 900; color: #fff; }
.menu { display: none; gap: 22px; }
.menu a { text-decoration: none; font: 600 14px var(--largo); color: #cfcac1; }
.menu a:hover { color: #fff; }
.bt-orc { min-height: 40px; padding: 0 16px; font-size: 13px; background: var(--vermelho); color: #fff; }

/* ================= FILME ================= */
.filme { position: relative; height: 760vh; }
.palco { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; background: radial-gradient(120% 80% at 70% 30%, #23262b 0%, #121316 55%, #0b0c0e 100%); }
.ceu { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(205,1,0,.10), transparent 40%); opacity: var(--ceu, 1); }
.palavra { position: absolute; left: 0; right: 0; top: 14%; text-align: center; pointer-events: none; }
.palavra span { position: absolute; left: 50%; transform: translateX(-50%); font: 900 clamp(90px, 30vw, 420px)/.8 var(--largo); font-stretch: 62%; letter-spacing: -.02em; color: transparent; -webkit-text-stroke: 1.5px rgba(243,239,230,.10); white-space: nowrap; opacity: 0; }
.ato { position: absolute; inset: 0; opacity: 0; visibility: hidden; }
.ato.vis { visibility: visible; }

/* ato 1: rua */
.predios { position: absolute; left: 0; right: 0; bottom: 34%; height: 46%; opacity: .55;
  background:
    linear-gradient(#1b1d21, #1b1d21) 4% 100% / 9% 62% no-repeat, linear-gradient(#17191c, #17191c) 14% 100% / 7% 85% no-repeat,
    linear-gradient(#1d2024, #1d2024) 22% 100% / 11% 48% no-repeat, linear-gradient(#15171a, #15171a) 34% 100% / 6% 92% no-repeat,
    linear-gradient(#1b1d21, #1b1d21) 41% 100% / 12% 66% no-repeat, linear-gradient(#17191c, #17191c) 55% 100% / 8% 80% no-repeat,
    linear-gradient(#1d2024, #1d2024) 64% 100% / 10% 55% no-repeat, linear-gradient(#15171a, #15171a) 76% 100% / 7% 95% no-repeat,
    linear-gradient(#1b1d21, #1b1d21) 85% 100% / 13% 60% no-repeat, linear-gradient(#17191c, #17191c) 99% 100% / 6% 75% no-repeat;
  transform: translateX(calc(var(--andar, 0) * -6%)); }
.rua { position: absolute; left: 0; right: 0; bottom: 0; height: 34%; background: linear-gradient(#26292e 0, #1a1c1f 6%, #121315 100%); border-top: 3px solid #3a3e44; }
.rua i { position: absolute; left: -10%; right: -10%; top: 46%; height: 6px; background: repeating-linear-gradient(90deg, rgba(243,239,230,.55) 0 60px, transparent 60px 130px); transform: translateX(calc(var(--andar, 0) * -390px)); }
.carreta { position: absolute; left: 50%; bottom: 25%; width: min(92vw, 820px); transform: translate(calc(-50% + var(--cx, 120vw)), var(--cy, 0)); filter: drop-shadow(0 24px 22px rgba(0,0,0,.6)); }
.carreta img { width: 100%; height: auto; }

/* ato 2: fotos */
.ato-desce .foto { position: absolute; inset: 0; overflow: hidden; }
.ato-desce .foto img { width: 100%; height: 100%; object-fit: cover; transform-origin: 50% 80%; }
.ato-desce::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,14,16,.55) 0%, rgba(13,14,16,0) 30%, rgba(13,14,16,0) 50%, rgba(13,14,16,.92) 82%); }
.f-chao { opacity: 0; }

/* atos de vídeo */
.ato-video .tela { position: absolute; margin: 0; left: 50%; top: 9%; width: min(88vw, 56vh); aspect-ratio: 720 / 898; transform: translateX(-50%); border-radius: 18px; overflow: hidden; box-shadow: 0 30px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.06); clip-path: inset(100% 0 0 0 round 18px); }
.ato-video video { width: 100%; height: 100%; object-fit: cover; background: #111; }

.poeira { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.corte { position: absolute; inset: -10%; background: var(--vermelho); clip-path: polygon(50% 120%, 50% 120%, 50% 120%); pointer-events: none; }

/* falas */
.falas { position: absolute; left: var(--g); right: var(--g); bottom: max(34px, env(safe-area-inset-bottom)); }
.fala { position: absolute; left: 0; right: 0; bottom: 0; opacity: 0; visibility: hidden; }
.fala.vis { visibility: visible; }
.fala h1 { font-size: clamp(54px, 15.5vw, 132px); }
.fala h2 { font-size: clamp(50px, 14vw, 120px); }
.fala .n { margin: 0 0 6px; font: 800 14px var(--largo); color: var(--vermelho-2); letter-spacing: .2em; }
.fala .sub { font-size: 16px; }
.fala .bts { display: flex; gap: 10px; margin-top: 20px; flex-wrap: wrap; }
.fala .bt-pri { margin-top: 18px; }
.fala[data-f="0"] .sub { max-width: 28ch; }
.barra { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255,255,255,.06); }
.barra i { display: block; height: 100%; width: 100%; background: var(--vermelho); transform-origin: 0 50%; transform: scaleX(var(--p, 0)); }
.dica-rolar { position: absolute; right: var(--g); bottom: 38px; margin: 0; font: 700 11px var(--largo); letter-spacing: .3em; text-transform: uppercase; color: var(--concreto); writing-mode: vertical-rl; display: none; }

/* celular: imagem em cima, texto embaixo */
@media (max-width: 899px) {
  .carreta { bottom: 50%; width: 88vw; }
  .rua { bottom: auto; top: 47%; height: 53%; }
  .predios { bottom: 53%; height: 30%; }
  .ato-video .tela { top: 76px; width: min(86vw, 46vh); }
  .ato-video::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(13,14,16,.85) 72%); pointer-events: none; }
  .palavra { top: 18%; }
}
@media (min-width: 900px) {
  :root { --g: 48px; }
  .menu { display: flex; }
  .falas { left: var(--g); right: auto; width: 44vw; bottom: 12vh; }
  .ato-video .tela { left: auto; right: 7vw; top: 50%; transform: translateY(-50%); width: min(40vw, 62vh); }
  .carreta { left: 69%; bottom: 21%; width: min(46vw, 860px); }
  .rua { height: 27%; left: 36%; -webkit-mask: linear-gradient(90deg, transparent, #000 22%); mask: linear-gradient(90deg, transparent, #000 22%); }
  .rua i { top: 62%; }
  .palavra { top: 8%; }
  .ato-desce .foto { left: 40%; }
  .ato-desce::after { background: linear-gradient(90deg, #0d0e10 40%, rgba(13,14,16,.55) 52%, transparent 70%), linear-gradient(0deg, rgba(13,14,16,.6), transparent 30%); }
  .dica-rolar { display: block; }
  .fala h1 { font-size: clamp(80px, 8.6vw, 150px); }
  .fala h2 { font-size: clamp(76px, 8vw, 140px); }
}

/* ================= seções ================= */
section:not(.filme) { padding: 96px var(--g); }
.cab { max-width: 1200px; margin: 0 auto 36px; }
.cab h2, .orc-cab h2, .contato h2 { font-size: clamp(46px, 12vw, 104px); }

/* orçamento */
.orc { background: linear-gradient(180deg, #0d0e10, #111215 30%); position: relative; }
.orc::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 10px; background: repeating-linear-gradient(-45deg, var(--vermelho) 0 14px, #0d0e10 14px 28px); opacity: .9; }
.orc-cab { max-width: 1200px; margin: 0 auto 30px; }
.aviso-demo { display: inline-block; margin: 18px 0 0; padding: 10px 14px; border-radius: 10px; background: rgba(245,180,0,.1); border: 1px dashed rgba(245,180,0,.55); color: #f5d27a; font-size: 14px; max-width: 52ch; }
.aviso-demo[hidden] { display: none; }
.orc-grade { max-width: 1200px; margin: 0 auto; display: grid; gap: 20px; }
.passos { display: grid; gap: 14px; min-width: 0; }
.passo { margin: 0; border: 1px solid var(--linha); border-radius: var(--raio); background: var(--carvao); padding: 18px 16px 18px; min-width: 0; }
.passo[hidden] { display: none; }
.passo legend { display: flex; align-items: center; gap: 10px; padding: 0 6px; font: 800 18px var(--largo); font-stretch: 80%; text-transform: uppercase; letter-spacing: .02em; }
.passo legend i { font-style: normal; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--vermelho); color: #fff; font-size: 14px; }
.maqs { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 2px 10px; margin: 0 -4px; scrollbar-width: thin; }
.maq { flex: 0 0 150px; scroll-snap-align: start; display: grid; grid-template-rows: 104px auto; gap: 6px; padding: 10px; border-radius: 12px; background: var(--chapa); border: 2px solid transparent; color: var(--giz); text-align: left; cursor: pointer; font: inherit; }
.maq img { width: 100%; height: 104px; object-fit: contain; filter: drop-shadow(0 8px 8px rgba(0,0,0,.5)); transition: transform .25s; }
.maq b { font: 800 14px/1.1 var(--largo); font-stretch: 85%; text-transform: uppercase; }
.maq small { display: block; color: var(--concreto); font-size: 12px; line-height: 1.3; margin-top: 2px; }
.maq .de { color: var(--amarelo); font-weight: 700; font-size: 12.5px; margin-top: 4px; display: block; }
.maq[aria-checked="true"] { border-color: var(--amarelo); background: #2a2a22; }
.maq[aria-checked="true"] img { transform: scale(1.06) translateY(-2px); }
.seg { display: flex; flex-wrap: wrap; gap: 8px; }
.seg button { flex: 1 1 auto; min-height: 48px; padding: 0 14px; border-radius: 10px; border: 1px solid var(--linha); background: var(--chapa); color: var(--giz); font: 700 15px var(--largo); cursor: pointer; }
.seg button[aria-checked="true"] { background: var(--giz); color: #111; border-color: var(--giz); }
.seg-col button { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; text-align: left; padding: 10px 14px; flex-basis: 100%; }
.seg-col button small { font-weight: 500; font-size: 12.5px; color: inherit; opacity: .75; }
.qtd { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; background: var(--chapa); border-radius: 12px; padding: 6px; }
.qb { width: 52px; height: 52px; border-radius: 10px; border: 0; background: #2d3137; color: #fff; font: 700 26px/1 var(--largo); cursor: pointer; }
.qtd output { font: 800 22px var(--largo); font-stretch: 85%; text-transform: uppercase; text-align: center; }
.nota { color: var(--concreto); font-size: 13.5px; margin: 10px 2px 0; }
.onde { display: grid; gap: 12px; }
.campo { display: grid; gap: 6px; font-size: 13px; color: var(--concreto); }
.cep-linha { display: flex; gap: 8px; }
.campo input, .campo select { width: 100%; min-height: 50px; border-radius: 10px; border: 1px solid var(--linha); background: #0f1012; color: var(--giz); font: 600 17px var(--largo); padding: 0 14px; }
.campo select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--concreto) 50%), linear-gradient(135deg, var(--concreto) 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size: 6px 6px; background-repeat: no-repeat; }
.ok-km { color: var(--amarelo); font-weight: 700; }

.resumo { min-width: 0; }
.res-cartao { border-radius: 18px; background: #f3efe6; color: #121212; padding: 22px 18px 18px; box-shadow: 0 30px 60px rgba(0,0,0,.45); position: relative; overflow: hidden; }
.res-cartao::before { content: ''; position: absolute; right: -26px; top: -26px; width: 78px; height: 78px; background: var(--vermelho); clip-path: polygon(50% 0, 100% 100%, 0 100%); opacity: .95; transform: rotate(18deg); }
.res-tit { margin: 0; font: 800 13px var(--largo); letter-spacing: .14em; text-transform: uppercase; color: #5b5a57; }
.res-total { margin: 4px 0 14px; padding-right: 30px; font: 900 clamp(46px, 13vw, 72px)/1 var(--largo); font-stretch: 75%; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.res-total small { font-size: .38em; font-weight: 700; color: #6a6863; letter-spacing: 0; }
.res-linhas { list-style: none; margin: 0 0 12px; padding: 0; border-top: 1px solid #d8d2c6; }
.res-linhas li { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 10px 0; border-bottom: 1px solid #d8d2c6; font-size: 14.5px; }
.res-linhas li b { font-variant-numeric: tabular-nums; }
.res-linhas li small { grid-column: 1 / -1; color: #77736b; font-size: 12.5px; }
.res-obs { margin: 0 0 14px; font-size: 13.5px; color: #8a2b16; min-height: 1em; }
.res-obs:empty { display: none; }
.res-pe { margin: 12px 0 0; font-size: 12.5px; color: #6a6863; }
@media (min-width: 900px) {
  .orc-grade { grid-template-columns: minmax(0, 1fr) 380px; align-items: start; }
  .resumo { position: sticky; top: 90px; }
  .maq { flex-basis: 168px; }
}

/* frota */
.frota-lista { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 14px; }
.cartao-maq { position: relative; display: grid; grid-template-rows: 190px auto; border-radius: var(--raio); background: linear-gradient(160deg, #1d2024, #121316); border: 1px solid var(--linha); padding: 16px; overflow: hidden; text-align: left; color: var(--giz); font: inherit; cursor: pointer; }
.cartao-maq::after { content: attr(data-n); position: absolute; right: 12px; top: 6px; font: 900 64px/1 var(--largo); font-stretch: 62%; color: rgba(255,255,255,.05); }
.cartao-maq img { width: 100%; height: 190px; object-fit: contain; filter: drop-shadow(0 16px 14px rgba(0,0,0,.6)); transition: transform .4s; }
.cartao-maq:hover img { transform: translateY(-6px) scale(1.03); }
.cartao-maq strong { display: block; margin: 10px 0 2px; font: 800 20px/1.05 var(--largo); font-stretch: 80%; text-transform: uppercase; }
.cartao-maq em { display: block; font-style: normal; color: var(--concreto); font-size: 14px; }
.cartao-maq .tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.cartao-maq .tags span { font-size: 12px; padding: 4px 9px; border-radius: 999px; background: #2a2d32; color: #d9d4ca; }

/* serviços */
.serv-lista { max-width: 1200px; margin: 0 auto; padding: 0; list-style: none; counter-reset: s; display: grid; gap: 0; }
.serv-lista li { counter-increment: s; display: grid; grid-template-columns: 54px 1fr; align-items: baseline; padding: 18px 0; border-bottom: 1px solid var(--linha); }
.serv-lista li::before { content: counter(s, decimal-leading-zero); grid-row: span 2; font: 800 14px var(--largo); color: var(--vermelho-2); letter-spacing: .1em; }
.serv-lista b { font: 850 clamp(26px, 7vw, 54px)/1 var(--largo); font-stretch: 70%; text-transform: uppercase; }
.serv-lista span { color: var(--concreto); font-size: 15px; margin-top: 4px; }
@media (min-width: 900px) { .serv-lista { grid-template-columns: 1fr 1fr; column-gap: 48px; } }

/* obras */
.obras-trilho { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.obras-trilho figure { margin: 0; position: relative; border-radius: 12px; overflow: hidden; background: #111; aspect-ratio: 4 / 5; }
.obras-trilho figure:first-child { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
.obras-trilho img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.obras-trilho figure:hover img { transform: scale(1.05); }
.obras-trilho figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 10px 9px; font: 700 13px var(--largo); text-transform: uppercase; letter-spacing: .04em; background: linear-gradient(transparent, rgba(0,0,0,.8)); }
@media (min-width: 900px) { .obras-trilho { grid-template-columns: repeat(4, 1fr); } .obras-trilho figure:first-child { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; } }

/* região (mapa de pontos) */
.mapa { position: relative; max-width: 820px; margin: 0 auto; aspect-ratio: 6 / 5; border-radius: 20px; background: radial-gradient(circle at var(--bx) var(--by), rgba(205,1,0,.22), transparent 42%), #121316; border: 1px solid var(--linha); overflow: hidden; }
.mapa .anel { position: absolute; border: 1px dashed rgba(243,239,230,.16); border-radius: 50%; transform: translate(-50%, -50%); pointer-events: none; }
.mapa .anel span { position: absolute; bottom: -9px; left: 50%; transform: translateX(-50%); font: 700 11px var(--largo); color: var(--concreto); background: #121316; padding: 0 6px; }
.mapa .pt { position: absolute; transform: translate(-4.5px, -50%); display: flex; align-items: center; gap: 5px; padding: 0; border: 0; background: none; color: #d9d4ca; font: 600 11px var(--largo); cursor: pointer; white-space: nowrap; min-height: 24px; }
.mapa .pt::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: var(--amarelo); box-shadow: 0 0 0 3px rgba(245,180,0,.18); flex: none; }
.mapa .pt.abc::before { background: var(--vermelho-2); box-shadow: 0 0 0 3px rgba(255,42,31,.2); }
.mapa .pt.sem-rot span { display: none; }
.mapa .pt.esq { flex-direction: row-reverse; transform: translate(calc(-100% + 4.5px), -50%); }
.mapa .pt.baixo { flex-direction: column; gap: 2px; transform: translate(-50%, -4.5px); }
.mapa .base { position: absolute; transform: translate(-50%, -100%); width: 30px; height: 26px; background: var(--vermelho); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.mapa .base-rot { position: absolute; transform: translate(-50%, -46px); text-shadow: 0 1px 6px #000; font: 800 12px var(--largo); text-transform: uppercase; letter-spacing: .06em; color: #fff; }
@media (min-width: 900px) { .mapa .pt { font-size: 13px; } }

/* contato */
.contato { text-align: left; max-width: 1200px; margin: 0 auto; }
.contato .bt-grande { margin-top: 26px; max-width: 420px; }
.dados { display: grid; gap: 14px; margin: 34px 0 0; }
.dados div { border-top: 1px solid var(--linha); padding-top: 10px; }
.dados dt { font: 700 12px var(--largo); text-transform: uppercase; letter-spacing: .12em; color: var(--concreto); }
.dados dd { margin: 4px 0 0; font-size: 18px; }
@media (min-width: 900px) { .dados { grid-template-columns: repeat(4, 1fr); } }

.rodape { padding: 40px var(--g) 110px; border-top: 1px solid var(--linha); color: var(--concreto); font-size: 14px; }
.rodape p { margin: 0 0 8px; }
.rodape .pequeno { font-size: 12.5px; }

.zap-flutua { position: fixed; right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); z-index: 40; width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; background: var(--zap); color: #fff; box-shadow: 0 10px 24px rgba(0,0,0,.45); opacity: 0; pointer-events: none; transition: opacity .3s; }
.zap-flutua.vis { opacity: 1; pointer-events: auto; }
.zap-flutua.vis.esconde { opacity: 0; pointer-events: none; }

[data-revela] { opacity: 0; transform: translateY(28px); }
.sem-js [data-revela], .reduzido [data-revela] { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .filme { height: auto; }
  .palco { position: relative; height: auto; min-height: 100svh; }
}
