/* ============================================================================
   ESTILO DA LANDING PAGE — NÃO PRECISA SER EDITADO
   Leiaute igual ao de mesquitaadvogado.com.br (pedido de 16/10/2026).
   As cores vêm do tema escolhido em config/site.php (variáveis --*).
   ========================================================================== */

/* -------------------------------------------------------------- Base ----- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%;}
body{
  margin:0;min-height:100vh;
  font-family:var(--sans);font-size:16px;line-height:1.55;
  color:var(--tinta-65);background:var(--fundo);
  -webkit-font-smoothing:antialiased;
  --gutter:clamp(16px,4vw,40px);
  --transicao:.25s ease;
}
img{max-width:100%;display:block;}
h1,h2,h3,h4{font-family:var(--serifa);color:var(--tinta);margin:0 0 .5em;line-height:1.12;font-weight:600;}
p{margin:0 0 1em;}
a{color:inherit;}
button{font:inherit;}

.container{width:100%;max-width:var(--largura);margin:0 auto;padding:0 var(--gutter);}
.secao{padding:clamp(56px,8vw,96px) 0;}
.secao-branca{background:var(--fundo-alt);}
.sub{font-size:1.05rem;max-width:68ch;margin-bottom:clamp(24px,3vw,36px);}

.pular{
  position:absolute;left:-9999px;top:0;z-index:120;
  background:var(--contraste);color:var(--sobre-contraste);
  padding:14px 22px;text-decoration:none;font-weight:600;
}
.pular:focus{left:0;}

/* Cabeçalho de seção: fio dourado + título + linha cinza */
.cabeca{margin-bottom:clamp(24px,3vw,36px);padding-bottom:20px;border-bottom:1px solid var(--fio);}
.fio-ouro{display:block;width:150px;height:3px;background:var(--acento);margin-bottom:28px;}
.cabeca h2{font-size:clamp(1.75rem,3.6vw,2.6rem);font-weight:600;letter-spacing:-.01em;margin:0;max-width:26ch;}
.cabeca-clara{border-bottom-color:var(--fio-contraste);}
.cabeca-clara h2{color:var(--sobre-contraste);}

/* -------------------------------------------------------------- Botões ---- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--sans);font-size:1.05rem;font-weight:500;line-height:1.2;
  padding:14px 26px;min-height:50px;border-radius:16px;
  text-decoration:none;cursor:pointer;border:1px solid transparent;
  transition:background var(--transicao),transform var(--transicao),box-shadow var(--transicao);
}
.btn svg{width:20px;height:20px;fill:currentColor;flex:none;}
.btn:hover{transform:translateY(-1px);}
.btn-wpp{background:var(--wpp,#009e28);color:#fff;border-color:rgba(255,255,255,.85);}
.btn-wpp:hover{background:var(--wpp-hover,#00b52e);box-shadow:0 8px 22px -10px rgba(0,158,40,.6);}
.btn-contorno{background:#00294c;color:#fff;border-color:rgba(255,255,255,.85);}
.btn-contorno:hover{background:#003a6b;}
.btn-escuro{background:var(--btn-fundo);color:var(--btn-texto);border-radius:6px;border-color:#5b6672;}
.btn-escuro:hover{background:var(--btn-hover);color:var(--btn-hover-texto);}
.btn-claro{background:#f5f5f5;color:#02192d;border-color:#8a8a8a;border-radius:6px;font-weight:600;}
.btn-claro:hover{background:#fff;}
.btn-largo{width:100%;}
.acao-secao{margin:clamp(28px,4vw,40px) 0 0;}

/* -------------------------------------------------------------- Topo ------ */
.topo{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:var(--header-fundo);color:#fff;
  border-bottom:1px solid rgba(255,255,255,.85);
  -webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);
}
.pagina-interna .topo{position:sticky;background:var(--contraste);}
.barra{height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;}
.marca{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#fff;line-height:1;}
.marca-nome{font-family:"Montserrat",var(--sans);font-weight:600;font-size:1.32rem;text-transform:uppercase;letter-spacing:.01em;}
.marca small{font-family:"Montserrat",var(--sans);font-weight:500;font-size:.7rem;letter-spacing:.42em;text-transform:uppercase;margin-top:6px;opacity:.9;}
.topo nav ul{display:flex;align-items:center;gap:clamp(20px,3vw,40px);list-style:none;margin:0;padding:0;}
.topo nav a{color:#fff;text-decoration:none;font-size:.94rem;opacity:.82;transition:opacity var(--transicao);}
.topo nav a:hover{opacity:1;}
.topo nav li.li-contato{margin-left:clamp(0px,2vw,32px);}
.btn-contato{
  display:inline-block;background:#fff;color:#1c2329!important;opacity:1!important;
  padding:11px 20px;border-radius:6px;font-weight:600;font-size:.9rem!important;
}
.btn-contato:hover{background:#e9edf1;}
.menu-btn{display:none;background:none;border:0;padding:10px;cursor:pointer;}
.menu-btn span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:transform var(--transicao),opacity var(--transicao);}
.menu-btn[aria-expanded="true"] .l1{transform:translateY(7px) rotate(45deg);}
.menu-btn[aria-expanded="true"] .l2{opacity:0;}
.menu-btn[aria-expanded="true"] .l3{transform:translateY(-7px) rotate(-45deg);}

/* -------------------------------------------------------------- Hero ------ */
.hero{
  position:relative;min-height:min(100vh,900px);
  display:flex;align-items:center;
  padding:130px 0 90px;
  border-radius:0 0 60px 60px;overflow:hidden;
  background:
    linear-gradient(rgba(3,18,40,.55),rgba(3,18,40,.55)),
    var(--fundo-hero,none) center/cover no-repeat,
    var(--contraste);
  color:#fff;text-align:center;
}
.hero-conteudo{display:flex;flex-direction:column;align-items:center;}
.hero h1{
  color:#fff;font-weight:300;font-size:clamp(2.1rem,5.2vw,4rem);line-height:1.1;
  letter-spacing:-.01em;max-width:20ch;margin:0 0 .45em;
}
.hero h1 strong{font-weight:700;}
.hero-texto{font-size:clamp(1.05rem,1.7vw,1.4rem);font-weight:300;line-height:1.35;color:#fff;max-width:56ch;margin:0;}
.mouse{
  display:block;width:20px;height:30px;margin:44px 0 40px;
  border:2px solid #fff;border-radius:12px;position:relative;
}
.mouse span{position:absolute;left:50%;top:8px;width:2px;height:6px;margin-left:-1px;background:#fff;border-radius:2px;animation:rolar 1.6s ease-in-out infinite;}
@keyframes rolar{0%{opacity:0;transform:translateY(0);}40%{opacity:1;}100%{opacity:0;transform:translateY(8px);}}
.hero-botoes{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;}
.hero-botoes .btn{min-width:240px;}

/* ----------------------------------------------------- Sobre o produto ---- */
.produto-grade{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(28px,5vw,64px);align-items:start;}
.texto-corrido p{font-size:1.05rem;}
.lead{font-size:1.28rem!important;font-weight:600;color:var(--tinta);line-height:1.4;}
.quadro-lista{
  background:var(--contraste);color:var(--sobre-contraste);
  border-radius:var(--raio);padding:clamp(26px,3.4vw,40px);
  box-shadow:0 24px 50px -30px var(--sombra);
}
.quadro-lista h3{color:#fff;font-size:1.25rem;font-weight:600;margin-bottom:20px;}
.checks{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:13px;}
.checks li{display:flex;gap:12px;align-items:flex-start;font-size:1rem;line-height:1.4;}
.checks svg{width:22px;height:22px;flex:none;color:var(--acento);margin-top:-1px;}

/* ---------------------------------------------------------- Base legal ---- */
.verbetes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.verbete{
  background:var(--fundo);border-radius:var(--raio);padding:26px 24px;
  border-top:3px solid var(--acento);
}
.verbete h3{font-size:1.12rem;font-weight:600;}
.verbete p{font-size:.95rem;margin:0;}

/* -------------------------------------------------------- Atendimento ----- */
.etapas{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.etapa{
  display:flex;gap:18px;align-items:flex-start;
  background:var(--superficie);border-radius:var(--raio);padding:28px 24px;
  box-shadow:0 10px 30px -22px rgba(0,0,0,.35);
}
.etapa-num{font-size:2.6rem;font-weight:300;line-height:1;color:var(--acento-claro);flex:none;}
.etapa h3{font-size:1.18rem;margin-bottom:.4em;}
.etapa p{font-size:.95rem;margin:0;}

/* ----------------------------------------------- Outras áreas (cards) ----- */
.carrossel{position:relative;}
.carrossel-trilho{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;}
.card-area{display:flex;flex-direction:column;}
.card-foto{
  width:100%;height:auto;aspect-ratio:381/300;object-fit:cover;border-radius:var(--raio);
  margin-bottom:18px;background:var(--contraste);
}
.card-icone{
  display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at 30% 20%,rgba(226,189,95,.18),transparent 55%),
    linear-gradient(160deg,#0b2a47,var(--contraste));
  color:var(--acento);
}
.card-icone svg{width:34%;height:auto;}
.card-area h3{font-size:1.45rem;font-weight:600;color:#000;margin-bottom:.35em;}
.card-area p{font-size:.98rem;line-height:1.3;flex:1;margin-bottom:22px;}
.card-area .btn{align-self:flex-start;min-width:min(100%,240px);font-size:1.1rem;}
.carrossel-pontos{display:none;}

/* ------------------------------------------------------------ Sobre nós --- */
.sobre{
  position:relative;color:#fff;
  padding:clamp(56px,7vw,72px) 0 clamp(56px,7vw,80px);
  background:
    linear-gradient(90deg,rgba(2,25,45,.92),rgba(2,25,45,.72)),
    var(--fundo-sobre,none) center/cover no-repeat,
    var(--contraste);
}
.sobre-grade{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center;}
.sobre-texto p{color:#fff;font-size:1rem;line-height:1.35;}
.sobre-destaque{font-size:1.2rem!important;font-weight:600;line-height:1.3!important;margin:8px 0 22px;}
.sobre-destaque strong{color:var(--acento);font-weight:600;}
.selos{
  list-style:none;margin:28px 0 36px;padding:0;
  display:grid;grid-template-columns:repeat(2,max-content);gap:26px 56px;
}
.selos li{display:flex;align-items:center;gap:12px;color:#fff;font-size:1.02rem;}
.selos svg{width:38px;height:38px;flex:none;color:#fff;}
.sobre .btn-wpp{border-radius:6px;border-color:transparent;font-weight:600;min-width:min(100%,366px);justify-content:flex-start;padding-left:38px;}
.sobre .btn-wpp .seta{margin-left:auto;stroke:currentColor;fill:none;}

.sobre-fotos{display:grid;gap:18px;}
.sobre-fotos.fotos-2{grid-template-columns:1fr 1fr;align-items:start;}
.sobre-fotos.fotos-2 figure:nth-child(2){margin-top:56px;}
.sobre-fotos figure{margin:0;position:relative;border-radius:var(--raio);overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.7);}
.sobre-fotos img,.sobre-fotos .sem-foto{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;}
.sobre-fotos .sem-foto{display:flex;align-items:center;justify-content:center;background:#0b2a47;color:var(--acento);font-size:3rem;font-weight:300;}
.sobre-fotos figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:44px 16px 14px;
  background:linear-gradient(transparent,rgba(2,25,45,.92));
  display:flex;flex-direction:column;gap:2px;
}
.sobre-fotos figcaption strong{color:#fff;font-size:1rem;}
.sobre-fotos figcaption span{color:var(--acento);font-size:.82rem;}

.equipe{margin-top:clamp(48px,6vw,72px);}
.equipe-titulo{color:#fff;font-size:1.5rem;font-weight:600;padding-bottom:16px;border-bottom:1px solid var(--fio-contraste);margin-bottom:28px;}
.equipe-grade{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.socio{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--raio);padding:26px 26px 20px;
}
.socio h4{color:#fff;font-size:1.2rem;margin-bottom:2px;}
.socio .oab{display:block;color:var(--acento);font-size:.85rem;margin-bottom:14px;}
.socio p{color:rgba(255,255,255,.82);font-size:.95rem;line-height:1.45;margin-bottom:.6em;}
.socio .redes a{color:var(--acento);font-size:.88rem;margin-right:16px;}

/* --------------------------------------------------- Números e avaliações - */
.numeros{
  display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:24px 64px;
  background:var(--contraste);border-radius:var(--raio);
  padding:36px clamp(24px,4vw,48px);margin-bottom:clamp(56px,7vw,92px);
}
.numero{display:flex;align-items:center;gap:22px;position:relative;}
.numero + .numero::before{
  content:"";position:absolute;left:-32px;top:-6px;bottom:-6px;
  width:1px;background:rgba(255,255,255,.2);
}
.numero-valor{font-size:clamp(2.6rem,4.6vw,3.6rem);font-weight:400;line-height:1;color:var(--acento-claro);}
.numero strong{display:block;color:#fff;font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:700;line-height:1;}
.numero div span{display:block;color:#fff;font-size:1rem;line-height:1.2;max-width:16ch;}

.avaliacoes-nota{display:flex;align-items:baseline;gap:10px;margin:0 0 18px 8px;}
.nota-valor{font-size:1.8rem;font-weight:700;color:var(--tinta-65);}
.nota-estrelas{color:#fbbc04;font-size:1.05rem;}
.nota-google{font-size:.85rem;color:var(--tinta-45);}
.avaliacoes-trilho-area{position:relative;padding:0 8px;}
.avaliacoes-janela{overflow:hidden;}
.avaliacoes-trilho{display:flex;transition:transform .5s ease;}
.avaliacao{flex:0 0 calc(100% / var(--visiveis,3));padding:12px;}
.avaliacao-cartao{
  background:#fff;border-radius:var(--raio);padding:20px 18px;height:100%;
  box-shadow:0 6px 22px -10px rgba(0,0,0,.18);
}
.avaliacao-topo{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.avaliacao-topo img{width:40px;height:40px;border-radius:50%;object-fit:cover;}
.avaliacao-nome{font-weight:600;color:#555;font-size:.92rem;}
.avaliacao-estrelas{color:#fbbc04;font-size:.9rem;margin-bottom:8px;letter-spacing:1px;}
.avaliacao-texto{font-size:.92rem;line-height:1.55;color:#333;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden;}
.seta-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:42px;height:42px;border-radius:50%;border:0;background:#fff;cursor:pointer;
  box-shadow:0 4px 14px rgba(0,0,0,.15);font-size:1.5rem;line-height:1;color:#333;
}
.seta-nav.anterior{left:-14px;}
.seta-nav.proxima{right:-14px;}
.avaliacoes-link{text-align:center;margin-top:18px;}
.avaliacoes-link a{color:var(--tinta);font-weight:600;}
.aviso-config{
  border:2px dashed var(--acento);border-radius:var(--raio);padding:28px;
  background:#fffaf0;color:#5b4a1d;font-size:.95rem;
}
.aviso-config strong{display:block;font-size:1.05rem;margin-bottom:6px;color:#3d3112;}

/* ---------------------------------------------------------------- FAQ ----- */
.faq{display:grid;gap:12px;max-width:900px;}
.faq details{background:var(--fundo);border-radius:12px;border:1px solid transparent;transition:border-color var(--transicao);}
.faq details[open]{border-color:var(--fio);}
.faq summary{
  list-style:none;cursor:pointer;padding:20px 56px 20px 24px;position:relative;
  font-weight:600;color:var(--tinta);font-size:1.04rem;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);
  font-size:1.6rem;font-weight:300;color:var(--acento-claro);transition:transform var(--transicao);
}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg);}
.faq .resposta{padding:0 24px 22px;font-size:.98rem;}

/* ------------------------------------------------------- Chamada final ---- */
.cta-final{
  padding:clamp(110px,15vw,230px) 0;text-align:center;color:#fff;
  background:
    linear-gradient(rgba(3,18,40,.55),rgba(3,18,40,.55)),
    var(--fundo-final,none) center/cover no-repeat,
    var(--contraste);
}
.cta-conteudo{display:flex;flex-direction:column;align-items:center;}
.cta-final h2{color:#fff;font-weight:400;font-size:clamp(1.9rem,4vw,3rem);line-height:1.15;max-width:28ch;margin-bottom:.4em;}
.cta-final p{color:#fff;font-size:1.15rem;font-weight:300;margin-bottom:28px;}
.cta-final .btn-claro{font-size:1.15rem;}
.cta-final .btn-claro svg{fill:var(--wpp,#009e28);}

/* Formulário (opcional, seção 11 do config) */
.cartao{
  width:100%;max-width:520px;margin-top:40px;text-align:left;
  background:#fff;color:var(--tinta-65);border-radius:var(--raio);padding:28px;
}
.cartao-titulo{font-size:1.25rem;font-weight:600;color:var(--tinta);margin-bottom:4px;}
.cartao-sub{font-size:.92rem;margin-bottom:18px;color:var(--tinta-65)!important;font-weight:400!important;}
.campo{margin-bottom:14px;}
.campo label{display:block;font-size:.85rem;font-weight:600;color:var(--tinta);margin-bottom:5px;}
.campo .opc{font-weight:400;color:var(--tinta-45);}
.campo input,.campo select,.campo textarea{
  width:100%;font:inherit;font-size:.95rem;color:var(--tinta);
  border:1px solid var(--fio);border-radius:8px;padding:11px 12px;background:#fff;
}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:2px solid var(--acento);outline-offset:1px;}
.campo [aria-invalid="true"]{border-color:#c62828;}
.form-erro{color:#c62828;font-size:.88rem;}
.form-nota{font-size:.78rem!important;color:var(--tinta-45)!important;margin:12px 0 0!important;font-weight:400!important;}

/* ------------------------------------------------------------- Rodapé ----- */
.rodape{background:var(--contraste);color:#fff;padding:64px 0 0;}
.rodape-grade{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:32px;}
.rodape h3{color:#fff;font-size:1.4rem;font-weight:600;margin-bottom:22px;}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:18px;}
.rodape-col a{color:rgba(255,255,255,.85);text-decoration:none;}
.rodape-col a:hover{color:#fff;text-decoration:underline;}
.contato-item{display:flex;gap:12px;margin-bottom:22px;}
.contato-item svg{width:20px;height:20px;fill:#fff;flex:none;margin-top:2px;}
.contato-item h4{color:#fff;font-size:1.05rem;font-weight:600;margin:0 0 4px;}
.contato-item p{margin:0;color:#fff;font-size:.98rem;line-height:1.5;}
.rodape-marca{display:flex;flex-direction:column;align-items:center;text-align:center;}
.rodape-marca .marca-nome{font-size:1.5rem;color:#fff;}
.rodape-marca small{font-family:"Montserrat",var(--sans);letter-spacing:.42em;text-transform:uppercase;font-size:.75rem;margin-top:6px;}
.redes-sociais{display:flex;gap:16px;margin-top:22px;}
.redes-sociais a{color:#fff;opacity:.95;}
.redes-sociais svg{width:34px;height:34px;}
.rodape-legal{margin-top:36px;padding-top:24px;border-top:1px solid rgba(255,255,255,.85);font-size:.82rem;color:rgba(255,255,255,.7);}
.rodape-legal p{margin-bottom:.6em;}
.rodape-legal .aviso{max-width:110ch;}
.rodape-base{padding:22px 0 30px;text-align:center;font-size:.84rem;text-transform:uppercase;color:#fff;}

/* ------------------------------------------------- WhatsApp flutuante ----- */
.wpp-flutuante{
  position:fixed;right:20px;bottom:20px;z-index:70;
  display:inline-flex;align-items:center;gap:10px;
  padding:13px 20px;border-radius:999px;
  background:var(--wpp,#009e28);color:#fff;text-decoration:none;
  font-size:.9rem;font-weight:600;
  box-shadow:0 8px 22px -8px rgba(0,80,20,.55);
  transition:transform var(--transicao),box-shadow var(--transicao);
}
.wpp-flutuante:hover{transform:translateY(-2px);}
.wpp-flutuante svg{width:22px;height:22px;fill:currentColor;flex:none;}
.com-banner .wpp-flutuante{transform:translateY(-92px);}
.com-banner .wpp-flutuante:hover{transform:translateY(-94px);}

/* --------------------------------------------------- Banner de cookies ---- */
.banner-cookies{
  position:fixed;left:0;right:0;bottom:0;z-index:80;
  background:#fff;border-top:1px solid var(--fio);
  box-shadow:0 -6px 24px -14px rgba(0,0,0,.35);
  padding:16px var(--gutter);
  display:flex;align-items:center;gap:clamp(18px,3vw,40px);
  opacity:0;transform:translateY(12px);
  transition:opacity .25s ease,transform .25s ease;
  pointer-events:none;   /* fechada, deixa o clique passar para o botão flutuante */
}
/* 'display:flex' acima anularia o atributo hidden; esta regra o restaura, para
   a barra fechada não ocupar o rodapé nem bloquear cliques. */
.banner-cookies[hidden]{display:none;}
.banner-cookies.visivel{opacity:1;transform:translateY(0);pointer-events:auto;}
.banner-cookies > div:first-child{flex:1;min-width:0;}
.banner-cookies strong{display:block;font-size:.96rem;font-weight:600;margin-bottom:2px;color:var(--tinta);}
.banner-cookies p{font-size:.84rem;color:var(--tinta-65);margin:0;max-width:80ch;}
.banner-acoes{display:flex;gap:10px;flex-wrap:wrap;flex:none;}
.banner-acoes button{
  flex:0 0 auto;min-width:124px;
  font-family:var(--sans);font-size:.86rem;font-weight:600;
  padding:11px 18px;border-radius:6px;cursor:pointer;
  border:1px solid var(--fio);background:transparent;color:var(--tinta);
  transition:background var(--transicao),color var(--transicao),border-color var(--transicao);
}
.banner-acoes button[data-consent="aceitar"]{background:var(--btn-fundo);border-color:var(--btn-fundo);color:var(--btn-texto);}
.banner-acoes button[data-consent="aceitar"]:hover{background:var(--btn-hover);border-color:var(--btn-hover);color:var(--btn-hover-texto);}
.banner-acoes button[data-consent="recusar"]:hover{background:var(--fundo);}

/* --------------------------------------------------------- Vídeo (modal) -- */
.modal-video{
  border:0;padding:0;background:transparent;width:min(960px,92vw);max-width:none;overflow:visible;
}
.modal-video::backdrop{background:rgba(0,0,0,.8);}
.moldura-video{position:relative;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;}
.moldura-video iframe,.moldura-video video{position:absolute;inset:0;width:100%;height:100%;border:0;}
.modal-fechar{
  position:absolute;top:-46px;right:0;background:none;border:0;color:#fff;
  font-size:2.4rem;line-height:1;cursor:pointer;
}

/* --------------------------------------------------- Textos do cliente ---- */
.marcar-cliente .txt-cliente{color:#d0021b!important;opacity:1!important;}
.marcar-cliente .txt-cliente-bloco h4,
.marcar-cliente .txt-cliente-bloco .oab,
.marcar-cliente .txt-cliente-bloco p{color:#ff6b6b!important;}
.marcar-cliente .btn.txt-cliente{outline:3px solid #d0021b;}

/* --------------------------------------------------- Tarja de rascunho ---- */
body:has(.tarja-rascunho) .topo{top:30px;}
.tarja-rascunho{
  position:fixed;left:0;right:0;top:0;z-index:200;
  background:var(--acento);color:var(--sobre-acento);
  font-size:.72rem;font-weight:600;padding:7px 16px;text-align:center;
}

/* ------------------------------------------------------ Página de texto --- */
.conteudo-legal{max-width:72ch;margin:0 auto;padding:clamp(40px,6vw,72px) var(--gutter) clamp(56px,7vw,88px);}
.conteudo-legal h1{margin-bottom:.3em;font-size:clamp(1.8rem,4vw,2.6rem);}
.conteudo-legal .data{
  font-size:.82rem;color:var(--tinta-45);margin-bottom:2.2em;
  padding-bottom:18px;border-bottom:1px solid var(--fio);
}
.conteudo-legal h2{font-size:1.22rem;margin-top:2em;padding-top:1em;border-top:1px solid var(--fio);}
.conteudo-legal ul{padding-left:20px;}
.conteudo-legal li{margin-bottom:8px;}
.voltar{display:inline-block;margin-bottom:28px;font-size:.9rem;color:var(--tinta-65);text-decoration:none;}
.voltar:hover{color:var(--tinta);}

/* ------------------------------------------------------------- Motion ----- */
.revelar{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease;}
.revelar.visivel{opacity:1;transform:none;}

/* --------------------------------------------------------- Responsivo ----- */
@media (max-width:1000px){
  .verbetes{grid-template-columns:1fr 1fr;}
  .etapas{grid-template-columns:1fr;}
  .rodape-grade{grid-template-columns:1fr 1fr;}
  .numero + .numero::before{display:none;}
}

@media (max-width:900px){
  .topo nav{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:rgba(2,25,45,.97);padding:8px var(--gutter) 20px;
  }
  .topo nav.aberto{display:block;}
  .topo nav ul{flex-direction:column;gap:0;align-items:stretch;}
  .topo nav a{display:block;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);opacity:1;}
  .topo nav li.li-contato{margin:14px 0 0;}
  .btn-contato{text-align:center;border-bottom:0!important;}
  .menu-btn{display:block;}
  .marca-nome{font-size:1.1rem;}

  .hero{border-radius:0 0 32px 32px;min-height:auto;padding:120px 0 70px;
    background:
      linear-gradient(rgba(3,18,40,.6),rgba(3,18,40,.6)),
      var(--fundo-hero-cel,var(--fundo-hero,none)) center/cover no-repeat,
      var(--contraste);}
  .mouse{display:none;}
  .hero-texto{margin-bottom:34px;}
  .hero-botoes{flex-direction:column;width:100%;max-width:360px;gap:14px;}
  .hero-botoes .btn{width:100%;min-width:0;}

  .produto-grade,.sobre-grade,.equipe-grade{grid-template-columns:1fr;}
  .verbetes{grid-template-columns:1fr;}

  /* Cards viram carrossel com rolagem lateral */
  .carrossel-trilho{
    display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;
    margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter) 6px;scrollbar-width:none;
  }
  .carrossel-trilho::-webkit-scrollbar{display:none;}
  .card-area{flex:0 0 82%;scroll-snap-align:center;}
  .card-area .btn{width:100%;}
  .carrossel-pontos{display:flex;justify-content:center;gap:8px;margin-top:20px;}
  .carrossel-pontos button{width:9px;height:9px;padding:0;border-radius:50%;border:0;background:#bbb;cursor:pointer;}
  .carrossel-pontos button.ativo{background:var(--contraste);width:22px;border-radius:5px;}

  .selos{grid-template-columns:1fr 1fr;gap:20px 18px;}
  .selos li{font-size:.95rem;}
  .selos svg{width:30px;height:30px;}
  .sobre .btn-wpp{width:100%;}
  .sobre-fotos.fotos-2 figure:nth-child(2){margin-top:32px;}

  .numeros{flex-direction:column;align-items:flex-start;padding:30px 26px;}
  .seta-nav{display:none;}

  .rodape-grade{grid-template-columns:1fr;}
  .rodape-marca{align-items:flex-start;text-align:left;order:-1;}

  .banner-cookies{flex-direction:column;align-items:stretch;gap:14px;padding:18px 20px;}
  .banner-acoes button{flex:1 1 130px;min-width:0;}
  .com-banner .wpp-flutuante{transform:translateY(-196px);}
  .com-banner .wpp-flutuante:hover{transform:translateY(-198px);}
  .wpp-flutuante{right:16px;bottom:16px;padding:0;width:56px;height:56px;justify-content:center;}
  .wpp-flutuante span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
}

@media print{
  .topo,.wpp-flutuante,.banner-cookies,.form-wpp,.tarja-rascunho,.modal-video{display:none!important;}
  body{background:#fff;color:#000;font-size:11pt;}
  .revelar{opacity:1!important;transform:none!important;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}
  .revelar{opacity:1!important;transform:none!important;}
}
