/* Nation BJJ · Ribeirão Pires. Preto, vermelho e branco da grade deles; azul (Kids) e laranja (Juvenil) como na grade.
   Título em Anton (parecida com a da grade de horários), texto em Figtree. A abertura é a faixa que muda de cor. */
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url("assets/fontes/anton.woff2") format("woff2")}
@font-face{font-family:'Figtree';font-style:normal;font-weight:300 900;font-display:swap;src:url("assets/fontes/figtree.woff2") format("woff2")}

:root{
  --preto:#0b0b0c; --carvao:#141416; --grafite:#222226; --osso:#f3f1ec; --branco:#fff;
  --vermelho:#e0161f; --vermelho-2:#f2303a; --azul:#1f56b8; --laranja:#f26a1b;
  --texto:#e9e6e0; --suave:#a9a6a0; --tinta:#17171a; --tinta-2:#55555c;
  --linha:rgba(255,255,255,.14); --linha-clara:rgba(23,23,26,.14);
  --titulo:'Anton',Impact,'Arial Narrow',sans-serif; --corpo:'Figtree',system-ui,sans-serif;
  --lado:clamp(20px,5vw,72px); --larg:1180px; --saida:cubic-bezier(.16,1,.3,1);
  --topo:68px; --pad:max(var(--lado),calc((100% - var(--larg)) / 2));
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--topo) + 12px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--preto);color:var(--texto);font-family:var(--corpo);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p,dl,dd,figure,blockquote,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit}
[hidden]{display:none!important}
::selection{background:var(--vermelho);color:#fff}
:focus-visible{outline:3px solid var(--vermelho-2);outline-offset:3px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:12px;top:-60px;z-index:200;padding:10px 16px;background:var(--vermelho);color:#fff;border-radius:8px;text-decoration:none;font-weight:700}
.pular:focus{top:12px}

h2{font-family:var(--titulo);font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:1.02;font-size:clamp(2.2rem,5vw,4rem)}
h3{font-family:var(--titulo);font-weight:400;text-transform:uppercase;letter-spacing:.02em}
.olho{font-weight:800;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--vermelho-2);margin-bottom:14px}

/* ── Botões ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;font-weight:800;font-size:16px;letter-spacing:.02em;text-decoration:none;white-space:nowrap;border:2px solid transparent;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .16s var(--saida)}
.btn:active{transform:scale(.97)}
.btn-vermelho{background:var(--vermelho);color:#fff}
.btn-vermelho:hover{background:var(--vermelho-2)}
.btn-linha{border-color:rgba(255,255,255,.45);color:#fff;background:transparent}
.btn-linha:hover{background:#fff;color:var(--preto)}
.btn-zap{background:#25d366;color:#06361b}
.btn-zap:hover{background:#3be37b}
.btn-grande{min-height:60px;padding:0 36px;font-size:17px}
.btn-cheio{width:100%}
.btn-google{background:#fff;color:var(--tinta);border-color:var(--linha-clara)}
.btn-google svg{width:22px;height:22px}
.btn-google:hover{background:var(--osso)}

/* ── Topo: sempre à vista ── */
.topo{position:fixed;inset:0 0 auto 0;z-index:90;height:var(--topo);display:flex;align-items:center;gap:28px;padding:0 var(--lado);background:rgba(11,11,12,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--linha)}
.topo-marca{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--titulo);font-size:23px;letter-spacing:.04em;text-transform:uppercase;color:#fff;white-space:nowrap}
.topo-marca img{border-radius:50%;background:#000}
.topo-marca b{color:var(--vermelho-2);font-weight:400}
.topo-nav{display:flex;gap:26px;margin-left:auto}
.topo-nav a{font-weight:700;font-size:14.5px;color:var(--suave);text-decoration:none;transition:color .2s ease}
.topo-nav a:hover{color:#fff}
.btn-topo{min-height:42px;padding:0 20px;font-size:14.5px}
.btn-topo .curto{display:none}
@media (max-width:1000px){.topo-nav{display:none}.btn-topo{margin-left:auto}}
@media (max-width:520px){.btn-topo .longo{display:none}.btn-topo .curto{display:inline}.topo-marca{font-size:20px}.topo-marca img{width:38px;height:38px}}

/* ═════ 1 · A faixa ═════ */
.faixa-cena{position:relative;height:560vh;background:var(--preto);--fx:#f3f1ec;--ponta:#0a0a0a}
.faixa-palco{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto auto;padding:calc(var(--topo) + 28px) var(--lado) 26px;background:radial-gradient(80% 60% at 18% 100%,rgba(224,22,31,.22),transparent 70%),var(--preto)}
.faixa-palco::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 82% 8%,var(--fx),transparent 70%);opacity:.22;pointer-events:none}
.faixa-num{position:absolute;right:var(--lado);top:calc(var(--topo) + 4px);font-family:var(--titulo);font-size:clamp(11rem,34vw,31rem);line-height:.8;pointer-events:none;z-index:0}
.faixa-num span{position:absolute;right:0;top:0;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.16);opacity:0;transform:translateY(14px);transition:opacity .45s ease,transform .7s var(--saida)}
.s1 .num-1,.s2 .num-2,.s3 .num-3,.s4 .num-4,.s5 .num-5{opacity:1;transform:none}
.faixa-rotulo,.faixa-textos,.faixa-desenho,.faixa-rodape{position:relative;z-index:1}
.faixa-rotulo{position:relative;height:1.4em;font-weight:800;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--suave)}
.faixa-rotulo span{position:absolute;left:0;top:0;opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .5s var(--saida)}
.s1 .rotulo-1,.s2 .rotulo-2,.s3 .rotulo-3,.s4 .rotulo-4,.s5 .rotulo-5{opacity:1;transform:none}
.faixa-textos{position:relative;align-self:end;min-height:min(52vh,420px);margin-bottom:clamp(18px,4vh,40px)}
.passo{position:absolute;left:0;right:0;bottom:0;opacity:0;visibility:hidden;transform:translateY(22px);transition:opacity .45s ease,transform .7s var(--saida),visibility 0s linear .45s}
.s1 .passo-1,.s2 .passo-2,.s3 .passo-3,.s4 .passo-4,.s5 .passo-5{opacity:1;visibility:visible;transform:none;transition:opacity .5s ease .08s,transform .8s var(--saida) .08s,visibility 0s}
.passo-titulo{font-family:var(--titulo);font-weight:400;text-transform:uppercase;line-height:.94;letter-spacing:.005em;font-size:clamp(3.2rem,10.5vw,10.5rem);color:#fff;max-width:14ch}
.passo-1 .passo-titulo{font-size:clamp(3rem,8.6vw,8.6rem);max-width:12ch}
.passo-txt{margin-top:clamp(22px,3.4vh,34px);max-width:34rem;font-size:clamp(1.02rem,1.5vw,1.3rem);line-height:1.5;color:var(--texto)}
.s2 .passo-titulo{color:#8fb4ff}.s3 .passo-titulo{color:#c9a0f2}.s4 .passo-titulo{color:#e1b27d}.s5 .passo-titulo{color:#ff5a62}
.faixa-desenho{position:relative;height:clamp(64px,13vh,118px);margin:0 calc(var(--lado) * -1);overflow:visible}
.faixa{position:absolute;left:-4vw;right:-4vw;top:0;bottom:0;background:var(--fx);transform:translateX(calc(var(--p,0) * -2.5vw)) rotate(-.6deg);box-shadow:inset 0 3px 0 rgba(255,255,255,.2),inset 0 -5px 0 rgba(0,0,0,.3),0 24px 50px -22px rgba(0,0,0,.9)}
.faixa::before,.faixa::after{content:"";position:absolute;left:0;right:0;height:2px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.34) 0 11px,transparent 11px 18px)}
.faixa::before{top:20%}.faixa::after{bottom:20%}
.faixa-ponta{position:absolute;right:12vw;top:0;bottom:0;width:clamp(120px,19vw,300px);background:var(--ponta);box-shadow:inset 0 3px 0 rgba(255,255,255,.12),inset 0 -5px 0 rgba(0,0,0,.35)}
.faixa-rodape{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;padding-top:clamp(18px,3.4vh,34px)}
.faixa-local{font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--suave)}
.faixa-dica{z-index:2;position:absolute;right:var(--lado);bottom:30px;display:flex;align-items:center;gap:10px;font-weight:800;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--suave);transition:opacity .4s ease}
.faixa-dica .seta{width:18px;height:18px;border-right:3px solid var(--vermelho-2);border-bottom:3px solid var(--vermelho-2);transform:rotate(45deg);animation:nb-seta 1.6s ease-in-out infinite}
@keyframes nb-seta{0%,100%{transform:translateY(-3px) rotate(45deg)}50%{transform:translateY(4px) rotate(45deg)}}
.faixa-cena.rolou .faixa-dica{opacity:0}
@media (max-width:760px){
  .faixa-cena{height:480vh}
  .faixa-palco{padding-bottom:34px}
  .faixa-textos{min-height:min(46vh,340px)}
  .passo-titulo{font-size:clamp(2.8rem,15vw,4.6rem)}
  .passo-1 .passo-titulo{font-size:clamp(2.6rem,13vw,4.2rem)}
  .faixa-ponta{right:8vw;width:30vw}
  .faixa-dica{display:none}
  .faixa-rodape{display:none}
}
@media (max-height:640px) and (max-width:760px){.passo-txt{font-size:.98rem}.faixa-textos{min-height:min(44vh,260px)}}
@media (prefers-reduced-motion:reduce){
  .faixa-cena{height:auto}.faixa-palco{position:relative;height:auto;min-height:0;padding-bottom:56px}
  .passo{position:static;opacity:1;visibility:visible;transform:none;margin-top:18px}.passo-1{display:none}
  .faixa-rotulo,.faixa-dica{display:none}.faixa-textos{min-height:0}
  .faixa{--fx:#111114;transform:none}.faixa-ponta{--ponta:#d4141c}
  .passo-titulo{font-size:clamp(2.4rem,7vw,4.4rem)}
}

/* ═════ Seções ═════ */
.sec-cab{max-width:var(--larg);margin:0 auto}
.sec-cab h2{max-width:16ch}
.sec-cab p:not(.olho){margin-top:14px;max-width:36rem;color:var(--tinta-2);font-size:1.1rem}

/* 2 · Turmas */
.turmas{background:var(--osso);color:var(--tinta);padding:clamp(72px,9vw,128px) var(--lado)}
.turmas .olho{color:var(--vermelho)}
.filtros{max-width:var(--larg);margin:34px auto 0;display:flex;flex-wrap:wrap;gap:10px}
.filtro{min-height:44px;padding:0 20px;border-radius:999px;border:2px solid var(--tinta);background:transparent;font-weight:800;font-size:14.5px;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .16s var(--saida)}
.filtro:active{transform:scale(.97)}
.filtro.on{background:var(--tinta);color:#fff}
.f-kids{border-color:var(--azul);color:var(--azul)}.f-kids.on{background:var(--azul);color:#fff}
.f-juvenil{border-color:var(--laranja);color:#c84e08}.f-juvenil.on{background:var(--laranja);color:#fff;border-color:var(--laranja)}
.grade{max-width:var(--larg);margin:22px auto 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:stretch;grid-auto-rows:auto}
.dia{background:#fff;border-radius:14px;padding:12px 12px 14px;display:grid;align-content:start;gap:10px;box-shadow:0 18px 40px -30px rgba(0,0,0,.45)}
.dia h3{font-size:1.5rem;line-height:1;padding:10px 6px 8px;border-bottom:3px solid var(--tinta);color:var(--tinta)}
.dia h3 small{font-family:var(--corpo);font-weight:800;font-size:.55em;letter-spacing:.14em;color:#fff;background:var(--vermelho);padding:3px 8px;border-radius:999px;vertical-align:middle;margin-left:6px}
.dia-nogi h3{border-bottom-color:var(--vermelho)}
.slot{appearance:none;border:0;text-align:left;border-radius:10px;padding:12px 14px 12px;display:grid;gap:2px;cursor:pointer;color:#fff;transition:transform .2s var(--saida),opacity .25s ease,box-shadow .2s ease}
.slot b{font-weight:800;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;opacity:.92}
.slot .hora{font-family:var(--titulo);font-size:2.3rem;line-height:1;letter-spacing:.01em}
.slot em{font-style:normal;font-weight:600;font-size:12.5px;opacity:.9}
.s-kids{background:var(--azul)}.s-juvenil{background:var(--laranja)}.s-adulto{background:#17171a}
.slot:hover{transform:translateY(-3px);box-shadow:0 14px 26px -16px rgba(0,0,0,.6)}
.slot.apagado{opacity:.2;pointer-events:none}
.slot.marcado{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--vermelho)}
.grade-nota{max-width:var(--larg);margin:16px auto 0;font-size:14px;color:var(--tinta-2)}
.turma-cards{max-width:var(--larg);margin:clamp(40px,6vw,72px) auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.turma-card{background:#fff;border-radius:14px;padding:28px 26px 30px;border-top:6px solid var(--tinta);box-shadow:0 18px 40px -32px rgba(0,0,0,.45)}
.turma-card h3{font-size:1.7rem;line-height:1.05;margin-bottom:12px}
.turma-card p:not(.olho){color:var(--tinta-2)}
.t-kids{border-top-color:var(--azul)}.t-kids .olho{color:var(--azul)}
.t-juvenil{border-top-color:var(--laranja)}.t-juvenil .olho{color:#c84e08}
.t-adulto .olho{color:var(--tinta)}
@media (max-width:1000px){
  .grade{grid-template-columns:repeat(2,minmax(0,1fr))}
  .turma-cards{grid-template-columns:1fr}
}
@media (max-width:560px){.grade{grid-template-columns:1fr}.dia{grid-template-columns:1fr 1fr}.dia h3{grid-column:1/-1}}

/* 3 · Treino experimental */
.exp{background:var(--preto);padding:clamp(72px,9vw,128px) var(--lado);border-top:6px solid var(--vermelho)}
.exp-grade{max-width:var(--larg);margin:0 auto;display:grid;grid-template-columns:5fr 6fr;gap:clamp(36px,6vw,88px);align-items:start}
.exp-texto h2{margin-bottom:20px}
.exp-texto>p:not(.olho){color:var(--texto);font-size:1.1rem;max-width:30rem}
.exp-lista{margin-top:26px;display:grid;gap:12px}
.exp-lista li{position:relative;padding-left:30px;color:var(--suave)}
.exp-lista li::before{content:"";position:absolute;left:0;top:.5em;width:16px;height:8px;background:var(--vermelho);border-radius:2px}
.exp-form{background:var(--carvao);border:1px solid var(--linha);border-radius:18px;padding:clamp(22px,3.4vw,38px);display:grid;gap:26px}
.exp-form fieldset{border:0;margin:0;padding:0;min-width:0}
.exp-form legend{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-weight:800;font-size:1.02rem;color:#fff}
.passo-n{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--vermelho);color:#fff;font-family:var(--titulo);font-size:15px;line-height:1}
.opcoes{display:flex;flex-wrap:wrap;gap:10px}
.opcao{position:relative;cursor:pointer}
.opcao input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.opcao span{display:block;min-height:46px;padding:11px 18px;border-radius:12px;border:2px solid var(--linha);font-weight:700;font-size:15px;line-height:1.25;transition:border-color .2s ease,background-color .2s ease,color .2s ease}
.opcao small{display:block;font-weight:600;font-size:12px;color:var(--suave)}
.opcao:hover span{border-color:rgba(255,255,255,.4)}
.opcao input:checked+span{border-color:var(--vermelho-2);background:rgba(224,22,31,.16);color:#fff}
.opcao input:focus-visible+span{outline:3px solid var(--vermelho-2);outline-offset:2px}
.opcoes-horas .opcao span{min-width:132px;text-align:left}
.opcoes-horas .opcao b{display:block;font-family:var(--titulo);font-weight:400;font-size:1.45rem;line-height:1;letter-spacing:.02em}
.opcoes-horas .opcao small{margin-top:3px}
.campo{display:grid;gap:8px;margin-top:0}
.campo+.campo{margin-top:14px}
.campo-rot{font-weight:700;font-size:14px;color:var(--suave)}
.campo input{width:100%;min-height:52px;padding:0 16px;border-radius:12px;border:2px solid var(--linha);background:var(--preto);color:#fff;font:inherit;font-size:16px}
.campo input:focus{outline:none;border-color:var(--vermelho-2)}
.campo input::placeholder{color:#6f6c68}
.exp-resumo{min-height:1.6em;font-size:15px;color:var(--suave)}
.exp-resumo b{color:#fff}
@media (max-width:900px){.exp-grade{grid-template-columns:1fr}.opcoes-horas .opcao span{min-width:0}}

/* 4 · A escola */
.escola{background:#fff;color:var(--tinta);padding:clamp(72px,9vw,128px) var(--pad);display:grid;grid-template-columns:minmax(260px,5fr) 6fr;gap:clamp(36px,6vw,96px);align-items:center}
.escola-foto img{width:100%;height:auto;border-radius:16px;box-shadow:0 30px 60px -36px rgba(0,0,0,.7)}
.escola .olho{color:var(--vermelho)}
.escola h2{margin-bottom:20px}
.escola-texto>p:not(.olho){color:var(--tinta-2);font-size:1.1rem;max-width:34rem}
.escola-texto>p:not(.olho)+p{margin-top:14px}
.saiba-mais{color:var(--vermelho);font-weight:800;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.saiba-mais::after{content:' →';text-decoration:none;display:inline-block}
.saiba-mais:hover{color:var(--tinta)}
.saiba-mais:focus-visible{outline:2px solid var(--vermelho);outline-offset:4px;border-radius:2px}
@media (max-width:860px){.escola{grid-template-columns:1fr}}
.fatos{margin-top:34px;display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}
.fatos div{border-top:3px solid var(--tinta);padding-top:12px}
.fatos dt{font-family:var(--titulo);text-transform:uppercase;font-size:1.3rem;letter-spacing:.02em}
.fatos dd{margin-top:4px;font-size:.98rem;color:var(--tinta-2);line-height:1.45}

@media (max-width:480px){.fatos{grid-template-columns:1fr}}

/* 5 · Gente */
.gente{background:var(--carvao);padding:clamp(72px,9vw,128px) var(--lado);display:grid;gap:clamp(64px,9vw,120px)}
.gente-bloco{max-width:var(--larg);margin:0 auto;display:grid;grid-template-columns:5fr 6fr;gap:clamp(32px,6vw,88px);align-items:center;width:100%}
.gente-nogi{grid-template-columns:5fr 7fr}
.gente-foto img{width:100%;border-radius:16px;object-fit:cover}
.gente-prof .gente-foto img{aspect-ratio:3/2;object-position:50% 30%}
.gente-foto-larga img{aspect-ratio:16/9;object-position:50% 50%}
.gente h2{margin-bottom:18px}
.gente-texto>p:not(.olho){color:var(--texto);font-size:1.08rem;max-width:32rem}
.gente-texto .btn{margin-top:26px}
@media (max-width:860px){.gente-bloco,.gente-nogi{grid-template-columns:1fr}.gente-nogi .gente-foto{order:2}}

/* 6 · Avaliações */
.aval{background:var(--osso);color:var(--tinta);padding:clamp(44px,5.5vw,76px) var(--lado) clamp(56px,7vw,96px)}
.aval-cab{max-width:var(--larg);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:20px clamp(28px,5vw,64px)}
.aval-nota{display:grid;gap:4px;justify-items:start}
.aval-nota b{font-family:var(--titulo);font-weight:400;font-size:clamp(4.6rem,9vw,7.4rem);line-height:.9;padding-bottom:.1em;color:var(--tinta)}
.estrelas{display:flex;gap:4px}
.estrelas i{width:22px;height:22px;background:#f5b301;clip-path:polygon(50% 0,62% 36%,100% 38%,70% 60%,80% 100%,50% 76%,20% 100%,30% 60%,0 38%,38% 36%)}
.aval-conta{font-weight:700;font-size:14px;color:var(--tinta-2)}
.aval-dir{flex:1 1 320px;display:grid;justify-items:start;gap:16px}
.aval h2{max-width:16ch;font-size:clamp(2rem,4vw,3.2rem)}
.aval-lista{max-width:var(--larg);margin:28px auto 0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;align-items:stretch}
.aval-card{grid-column:span 2;display:flex;flex-direction:column;margin:0;background:#fff;border-radius:14px;padding:24px 24px 22px;box-shadow:0 16px 36px -30px rgba(0,0,0,.5)}
.aval-card p{font-size:1.02rem;line-height:1.55}
.aval-card footer{margin-top:auto;padding-top:14px;font-weight:800;font-size:13.5px;color:var(--tinta-2)}
.aval-grande{background:var(--tinta);color:#fff}
.aval-grande p{font-family:var(--titulo);font-size:1.55rem;line-height:1.2;letter-spacing:.01em;text-transform:uppercase}
.aval-grande footer{color:#ff6b73}
.aval-dir .btn-google{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.aval-dir .btn-google:hover{background:#000}
.aval-dir .btn-google svg{background:#fff;border-radius:50%;padding:2px;width:26px;height:26px}

/* 7 · Onde fica */
.onde{background:var(--preto);padding:clamp(72px,9vw,128px) var(--pad);display:grid;grid-template-columns:7fr 5fr;gap:18px}
.onde-cartao,.onde-contato{border-radius:18px;padding:clamp(26px,3.6vw,46px)}
.onde-cartao{background:var(--carvao);border:1px solid var(--linha)}
.onde-contato{background:var(--vermelho);color:#fff}
.onde-contato .olho{color:#fff;opacity:.85}
.onde h2{font-size:clamp(2rem,4vw,3.1rem);margin-bottom:18px}
.onde-end{font-size:1.18rem;line-height:1.55;color:#fff}
.onde-hora{margin-top:14px;color:var(--suave)}
.onde-botoes{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px}
.onde-contato>p:not(.olho):not(.onde-outro){max-width:24rem;margin-bottom:24px;font-size:1.05rem}
.onde-contato .btn-zap{background:#fff;color:var(--tinta)}
.onde-contato .btn-zap:hover{background:var(--osso)}
.onde-outro{margin-top:18px;font-size:15px}
.onde-outro a{font-weight:800}
@media (max-width:900px){.onde{grid-template-columns:1fr}}

/* Rodapé em três colunas */
.rodape{background:#050506;border-top:1px solid var(--linha);padding:64px var(--lado) 26px}
.rodape-grade{max-width:var(--larg);margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}
.rodape-nome{display:flex;align-items:center;gap:14px;font-family:var(--titulo);font-size:1.9rem;letter-spacing:.04em;text-transform:uppercase;color:#fff;margin-bottom:14px}
.rodape-nome img{border-radius:50%}
.rodape-nome b{color:var(--vermelho-2);font-weight:400}
.rodape h3{font-size:.95rem;letter-spacing:.2em;color:var(--vermelho-2);margin-bottom:14px}
.rodape p{font-size:15px;line-height:1.75;color:var(--suave)}
.rodape p+p{margin-top:10px}
.rodape a{text-decoration:none;transition:color .2s ease}
.rodape a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--vermelho-2)}
.rodape-marca p:not(.rodape-nome){max-width:22rem}
.rodape-pt{margin-top:18px;border-radius:50%;opacity:.9}
.rodape-base{max-width:var(--larg);margin:44px auto 0;padding-top:22px;border-top:1px solid var(--linha);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px}
.rodape-aviso{font-size:13.5px!important}
@media (max-width:860px){.rodape-grade{grid-template-columns:1fr 1fr}.rodape-marca{grid-column:1/-1}}
@media (max-width:520px){.rodape-grade{grid-template-columns:1fr}}

/* Crédito do Henrique */
.hf-credito{display:flex;align-items:center;gap:8px;font-size:13.5px;opacity:1;color:#fff}
.hf-credito a{display:inline-flex;align-items:center;gap:5px;font-weight:400;text-decoration:none;color:inherit}
.hf-credito a:hover{opacity:1;text-decoration:underline}
.hf-mark{flex:none;width:14px;height:14px;border-radius:4px;filter:grayscale(1) brightness(1.25)}
.rodape-base:hover .hf-credito{opacity:.8}

/* Entradas ao rolar: o JS só marca o que ainda está abaixo da dobra */
.js .revela{opacity:0;transform:translateY(24px);transition:opacity .7s var(--saida),transform .9s var(--saida)}
.js .revela.visto{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .revela{opacity:1;transform:none}}

/* ═════ Bio (link do Instagram) ═════ */
.bio-pagina{min-height:100svh;background:radial-gradient(90% 50% at 50% 0,rgba(224,22,31,.28),transparent 70%),var(--preto)}
.bio{width:min(460px,100% - 32px);margin:0 auto;padding:34px 0 38px;display:grid;gap:14px;justify-items:stretch}
.bio-topo{text-align:center;display:grid;gap:8px;justify-items:center}
.bio-topo img{border-radius:50%;background:#000;box-shadow:0 0 0 3px rgba(255,255,255,.14)}
.bio-topo h1{font-family:var(--titulo);font-weight:400;font-size:2.3rem;letter-spacing:.04em;text-transform:uppercase;line-height:1;color:#fff}
.bio-topo h1 b{color:var(--vermelho-2);font-weight:400}
.bio-lema{font-weight:800;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--suave)}
.bio-local{font-size:14.5px;color:var(--suave)}
.bio .btn-vermelho{width:100%;margin-top:6px}
.bio-links{display:grid;gap:10px;margin-top:4px}
.bio-link{display:grid;grid-template-columns:1fr 18px;align-items:center;gap:12px;min-height:66px;padding:12px 18px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid var(--linha);text-decoration:none;color:#fff;transition:background-color .2s ease,border-color .2s ease,transform .16s var(--saida)}
.bio-link:hover{background:rgba(224,22,31,.14);border-color:rgba(224,22,31,.55)}
.bio-link:active{transform:scale(.985)}
.bio-link b{display:block;font-weight:800;font-size:16px;line-height:1.25}
.bio-link small{display:block;font-weight:500;font-size:13px;color:var(--suave)}
.bio-link svg{width:18px;height:18px;fill:none;stroke:var(--vermelho-2);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.bio-pe{margin-top:12px;display:grid;justify-items:center;gap:12px}
.bio-pe img{border-radius:50%;opacity:.85}
.bio .hf-credito{justify-content:center}

/* horários do formulário em grade, pra não ficar torto */
.opcoes-horas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.opcoes-horas .opcao span{min-width:0;height:100%}
@media (max-width:520px){.opcoes-horas{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bio-lema{font-size:12px;letter-spacing:.13em}

/* crédito do Henrique: sem o apagado */
.rodape .hf-credito,.bio .hf-credito{font-size:13.5px;opacity:1;color:#fff;gap:8px}
.rodape .hf-credito a,.bio .hf-credito a{gap:8px;font-weight:600}
.rodape .hf-credito a:hover,.bio .hf-credito a:hover{text-decoration:underline;text-underline-offset:4px}
.rodape .hf-mark,.bio .hf-mark{width:20px;height:20px;border-radius:6px;filter:none}
.rodape-base:hover .hf-credito{opacity:1}

/* avaliações: fileiras alinhadas (3 + 3, depois 2 + 2 + 2, depois 3 + 3) */
.aval-grande,.aval-card:nth-child(2),.aval-card:nth-child(6),.aval-card:nth-child(7){grid-column:span 3}
@media (max-width:900px){.aval-lista{grid-template-columns:repeat(2,minmax(0,1fr))}.aval-card,.aval-card:nth-child(2),.aval-card:nth-child(6),.aval-card:nth-child(7){grid-column:span 1}.aval-grande{grid-column:span 2}}
@media (max-width:620px){.aval-lista{grid-template-columns:1fr}.aval-card,.aval-grande,.aval-card:nth-child(n){grid-column:auto}}

/* 4b · A turma: foto grande de destaque e duas menores, com a legenda embaixo (não cobre ninguém) */
.galeria{background:var(--preto);padding:clamp(64px,8vw,112px) var(--pad)}
.galeria .sec-cab{max-width:none;margin:0}
.galeria .sec-cab h2{max-width:20ch;color:#fff}
.galeria-grade{margin-top:34px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}
.galeria figure{margin:0}
.galeria .moldura{display:block;overflow:hidden;border-radius:16px;background:var(--carvao)}
.galeria img{width:100%;height:auto;object-fit:cover;aspect-ratio:1200/660;transition:transform .8s var(--saida)}
.galeria figure:hover img{transform:scale(1.03)}
.g-destaque{grid-column:1/-1}
.g-destaque img{aspect-ratio:1200/560}
.galeria figcaption{padding:14px 4px 0;font-weight:800;font-size:15px;letter-spacing:.04em;color:var(--suave)}
.g-destaque figcaption{font-family:var(--titulo);font-weight:400;font-size:clamp(1.4rem,2.6vw,2rem);letter-spacing:.03em;text-transform:uppercase;color:#fff;padding-top:18px}
@media (max-width:700px){.galeria-grade{grid-template-columns:1fr}.g-destaque img{aspect-ratio:1200/660}}
