/* =====================================================================
   R Split (RSPLIC) - folha de estilo unica
   Tokens definidos no documento de implementacao.
   ===================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
  --azul:#303A9B;
  --azul-escuro:#232B75;
  --azul-claro:#5A64CE;
  --ambar:#F4A63A;
  --ambar-escuro:#D98B1E;
  --tinta:#0A0A0F;
  --gelo:#F1F2FA;
  --branco:#FFFFFF;
  --google-dourado:#FBBC04;

  --texto:#0A0A0F;
  --texto-suave:rgba(10,10,15,.66);
  --texto-claro:rgba(255,255,255,.78);
  --linha:rgba(48,58,155,.14);
  --linha-clara:rgba(255,255,255,.18);

  --fonte-titulo:"Anton","Arial Narrow",Impact,sans-serif;
  --fonte-corpo:"IBM Plex Sans","Segoe UI",Helvetica,Arial,sans-serif;

  --container:1180px;
  --gutter:clamp(20px,5vw,40px);
  --secao-y:clamp(64px,9vw,116px);
  --nav-h:74px;

  --r-sm:8px;
  --r-md:14px;
  --r-lg:22px;
  --sombra-card:0 1px 2px rgba(10,10,15,.04),0 10px 30px rgba(48,58,155,.08);
  --sombra-alta:0 2px 4px rgba(10,10,15,.05),0 18px 44px rgba(48,58,155,.16);
}

/* ---------- 2. Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--branco);
  color:var(--texto);
  font-family:var(--fonte-corpo);
  font-size:clamp(1rem,.97rem + .18vw,1.0625rem);
  font-weight:400;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--azul);text-decoration-thickness:1px;text-underline-offset:3px}
h1,h2,h3,h4{margin:0;font-family:var(--fonte-titulo);font-weight:400;text-transform:uppercase;line-height:.98;letter-spacing:.005em}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
ul,ol{margin:0 0 1em;padding-left:1.25em}
:focus-visible{outline:3px solid var(--ambar);outline-offset:3px;border-radius:4px}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.visualmente-oculto{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pulo-conteudo{position:absolute;left:-9999px;top:0;z-index:200;background:var(--azul);color:#fff;padding:12px 18px;border-radius:0 0 var(--r-sm) 0}
.pulo-conteudo:focus{left:0}

/* ---------- 3. Botoes ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--fonte-corpo);font-size:.9375rem;font-weight:500;line-height:1;
  padding:.95em 1.5em;margin:0;border:2px solid transparent;border-radius:999px;
  text-decoration:none;cursor:pointer;white-space:nowrap;-webkit-appearance:none;appearance:none;
  transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.btn::-moz-focus-inner{border:0;padding:0}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn svg{width:1.15em;height:1.15em;flex:none}
.btn-primario{background:var(--ambar);color:var(--tinta);box-shadow:0 8px 20px rgba(244,166,58,.32)}
.btn-primario:hover{background:var(--ambar-escuro);box-shadow:0 12px 26px rgba(244,166,58,.4)}
.btn-vazado{background:transparent;color:var(--azul);border-color:rgba(48,58,155,.35)}
.btn-vazado:hover{border-color:var(--azul);background:rgba(48,58,155,.06)}
.btn-vazado-claro{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.btn-vazado-claro:hover{border-color:#fff;background:rgba(255,255,255,.1)}

/* ---------- 4. Navbar (padrao em todas as paginas) ---------- */
.nav{
  position:sticky;top:0;z-index:100;
  background:var(--azul);
  border-bottom:1px solid rgba(255,255,255,.14);
}
.nav-interno{
  position:relative;
  display:flex;align-items:center;gap:clamp(16px,3vw,40px);
  min-height:var(--nav-h);
}
.nav-marca{display:flex;align-items:center;margin-right:auto;padding:6px 0}
@media (min-width:861px){
  /* Centraliza os links de navegacao na barra, independente da largura da logo e do CTA */
  .nav-interno > nav[aria-label="Principal"]{
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  }
}
.nav-marca img{height:42px;width:auto}
.nav-links{display:flex;align-items:center;gap:clamp(18px,2.6vw,34px);list-style:none;margin:0;padding:0}
.nav-link{
  color:#fff;text-decoration:none;font-size:.9375rem;font-weight:500;
  padding:6px 0;position:relative;display:inline-block;
}
.nav-link::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;
  background:#fff;transition:right .22s ease;
}
.nav-link:hover::after,.nav-link:focus-visible::after{right:0}
.nav-botao{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  background:var(--ambar);color:var(--tinta);
  font-family:inherit;font-size:.875rem;font-weight:500;line-height:1;
  padding:.85em 1.25em;margin:0;border:none;border-radius:999px;text-decoration:none;
  cursor:pointer;-webkit-appearance:none;appearance:none;
  transition:background-color .18s ease,transform .18s ease;
}
.nav-botao::-moz-focus-inner{border:0;padding:0}
.nav-botao:hover{background:var(--ambar-escuro);transform:translateY(-1px)}
.nav-botao svg{width:1.1em;height:1.1em}
.nav-toggle{
  display:none;align-items:center;justify-content:center;
  width:44px;height:44px;margin-left:4px;
  background:transparent;border:1px solid rgba(255,255,255,.35);border-radius:var(--r-sm);cursor:pointer;
}
.nav-toggle-barra{position:relative;display:block;width:20px;height:2px;background:#fff;transition:background .15s ease}
.nav-toggle-barra::before,.nav-toggle-barra::after{
  content:"";position:absolute;left:0;width:20px;height:2px;background:#fff;
  transition:transform .22s ease,top .22s ease;
}
.nav-toggle-barra::before{top:-6px}
.nav-toggle-barra::after{top:6px}
.nav-toggle[aria-expanded="true"] .nav-toggle-barra{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle-barra::before{top:0;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-barra::after{top:0;transform:rotate(-45deg)}

@media (max-width:860px){
  .nav-toggle{display:inline-flex}
  .nav-links{
    position:absolute;left:0;right:0;top:100%;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--branco);border-bottom:1px solid var(--linha);
    box-shadow:var(--sombra-card);
    padding:8px var(--gutter) 20px;
    display:none;
  }
  .nav-links.aberto{display:flex}
  .nav-links li{border-top:1px solid var(--linha)}
  .nav-link{color:var(--texto);display:block;padding:16px 0;font-size:1.0625rem}
  .nav-link::after{display:none}
  .nav-botao{font-size:.8125rem;padding:.8em 1em}
  .nav-botao .nav-botao-texto{display:none}
  .nav-marca img{height:34px}
}

/* ---------- 5. Secoes ---------- */
.secao{padding-block:var(--secao-y);scroll-margin-top:calc(var(--nav-h) + 12px)}
.secao-gelo{background:var(--gelo)}
.secao-azul{background:var(--azul);color:#fff}
.secao-cabecalho{max-width:min(100%,640px);margin-bottom:clamp(32px,5vw,56px)}
.secao-cabecalho-centro{max-width:min(100%,660px);margin-inline:auto;text-align:center}
.secao-cabecalho-centro .secao-lead{margin-inline:auto}
.secao-titulo{font-size:clamp(1.9rem,1.2rem + 2.6vw,3.15rem);color:var(--azul)}
.secao-azul .secao-titulo{color:#fff}
.secao-lead{margin-top:18px;max-width:56ch;color:var(--texto-suave);font-size:1.0625rem}
.secao-azul .secao-lead{color:var(--texto-claro)}

/* ---------- 6. Hero ---------- */
.hero{
  position:relative;overflow:hidden;isolation:isolate;
  display:flex;align-items:center;justify-content:center;
  min-height:calc(100vh - var(--nav-h));
  min-height:calc(100dvh - var(--nav-h));
  padding-block:clamp(48px,9vw,96px);
}
.hero-video{
  position:absolute;inset:0;z-index:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  filter:blur(3px) brightness(.6) saturate(1.05);
  transform:scale(1.035);
}
.hero-veu{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(160deg,rgba(35,43,117,.86) 0%,rgba(10,10,15,.82) 100%);
}
.hero-conteudo{
  position:relative;z-index:2;display:grid;justify-items:center;text-align:center;
  max-width:900px;margin-inline:auto;
}
.hero-titulo{font-size:min(7.4vw,4.5rem);white-space:nowrap;color:#fff}
.hero-titulo em{font-style:normal;color:var(--azul-claro)}
.hero-sub{margin-top:22px;max-width:44ch;font-size:clamp(1.0625rem,1rem + .4vw,1.25rem);color:var(--texto-claro)}
.hero-acoes{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:32px}
.hero-nota{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 22px;
  margin-top:30px;padding-top:22px;border-top:1px solid var(--linha-clara);
  font-size:.8125rem;font-weight:500;color:var(--texto-claro);
  text-transform:uppercase;letter-spacing:.1em;
}
.hero-nota span{display:inline-flex;align-items:center;gap:9px}
.hero-nota span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--azul-claro);flex:none}

@media (max-width:520px){
  .hero-acoes .btn{width:100%}
}

/* ---------- 7. Sobre ---------- */
.sobre{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:center}
.sobre-texto p{font-size:1.0625rem;color:var(--texto-suave);max-width:56ch}
.sobre-texto p + p{margin-top:1em}
.sobre-foto{
  position:relative;aspect-ratio:4/3;border-radius:var(--r-lg);
  overflow:hidden;background:var(--gelo);box-shadow:var(--sombra-alta);
}
.sobre-foto img{width:100%;height:100%;object-fit:cover;object-position:60% 30%}
@media (max-width:820px){.sobre{grid-template-columns:1fr}}

/* ---------- 8. Cards (servicos e diferenciais) ---------- */
.grade-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
@media (max-width:980px){.grade-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.grade-cards{grid-template-columns:1fr}}
.card{
  background:#fff;border:1px solid var(--linha);border-radius:var(--r-md);
  padding:clamp(22px,2.4vw,30px);
  box-shadow:var(--sombra-card);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--sombra-alta);border-color:rgba(48,58,155,.28)}
.card-icone{
  width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  background:var(--gelo);color:var(--azul);margin-bottom:18px;
}
.card-icone svg{width:28px;height:28px}
/* Glifo solido do WhatsApp tem mais massa de tinta que os icones de traco
   ao lado; reduzido para ler no mesmo peso visual dos demais. */
.icone-whatsapp-equilibrado{width:22px;height:22px}

/* Icones em PNG (glifo escuro sobre transparencia) recoloridos via mascara
   para herdar a cor da marca com currentColor, igual aos icones em SVG.
   Arquivos-fonte em assets/img/icones/, todos 1000x1000, mesmo estilo visual. */
.icone-mascara{
  display:block;width:29px;height:29px;background-color:currentColor;
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-mode:alpha;mask-mode:alpha;
}
.icone-instalacao{-webkit-mask-image:url(../img/icones/instalacao.png);mask-image:url(../img/icones/instalacao.png)}
.icone-manutencao{-webkit-mask-image:url(../img/icones/manutencao.png);mask-image:url(../img/icones/manutencao.png)}
.icone-limpeza{-webkit-mask-image:url(../img/icones/limpeza.png);mask-image:url(../img/icones/limpeza.png)}
.icone-gas{-webkit-mask-image:url(../img/icones/gas.png);mask-image:url(../img/icones/gas.png)}
.icone-whatsapp{-webkit-mask-image:url(../img/icones/whatsapp.png);mask-image:url(../img/icones/whatsapp.png)}
.icone-orcamento{-webkit-mask-image:url(../img/icones/orcamento.png);mask-image:url(../img/icones/orcamento.png)}
.icone-calendario{-webkit-mask-image:url(../img/icones/calendario.png);mask-image:url(../img/icones/calendario.png)}
.icone-garantia{-webkit-mask-image:url(../img/icones/garantia.png);mask-image:url(../img/icones/garantia.png)}
.card-icone .icone-mascara{width:28px;height:28px}
.passo-icone .icone-mascara{width:26px;height:26px}
.passo-icone-whatsapp .icone-mascara{width:22px;height:22px}
.nav-botao .icone-mascara{width:1.1em;height:1.1em}
.btn .icone-mascara{width:1.15em;height:1.15em;flex:none}
.card-titulo{font-size:1.1875rem;letter-spacing:.02em;color:var(--azul);margin-bottom:10px}
.card-texto{font-size:.9688rem;color:var(--texto-suave);margin:0}

.secao-azul .card{background:rgba(255,255,255,.07);border-color:var(--linha-clara);box-shadow:none}
.secao-azul .card:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.42)}
.secao-azul .card-icone{background:rgba(255,255,255,.14);color:#fff}
.secao-azul .card-titulo{color:#fff}
.secao-azul .card-texto{color:var(--texto-claro)}

/* Variante horizontal: icone ao lado do texto, cartao mais baixo e largo,
   usada na secao de servicos sobre fundo azul bem claro. */
.secao-azul-claro{background:#E4EAFB}
.grade-cards-horizontal{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:640px){.grade-cards-horizontal{grid-template-columns:1fr}}
.grade-cards-horizontal .card{display:flex;align-items:flex-start;gap:18px;padding:26px 28px}
.grade-cards-horizontal .card-icone{margin-bottom:0;flex:none;background:#D6E0F9}
.grade-cards-horizontal .card-corpo{min-width:0}
.grade-cards-horizontal .card-titulo{font-size:1.0625rem;color:var(--tinta);margin-bottom:6px}
.grade-cards-horizontal .card-texto{font-size:.9375rem}

/* ---------- 9. Como funciona ---------- */
.como-funciona-grade{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(32px,6vw,80px);align-items:start;
}
.como-funciona-intro .secao-titulo{margin-bottom:0}
.como-funciona-intro .secao-lead{margin-top:18px}

.passos{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:clamp(28px,4vw,40px);
}
.passo{display:flex;align-items:flex-start;gap:20px}
.passo-icone{
  flex:none;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  background:var(--gelo);color:var(--azul);
}
.passo-icone svg{width:26px;height:26px}
.passo-icone-whatsapp svg{width:22px;height:22px}
.passo-conteudo{padding-top:5px}
.passo-titulo{font-size:1.1875rem;letter-spacing:.02em;color:var(--azul);margin-bottom:8px}
.passo-texto{color:var(--texto-suave);font-size:.9688rem;margin:0}

@media (max-width:820px){
  .como-funciona-grade{grid-template-columns:1fr;gap:32px}
}

/* ---------- 10. Depoimentos ---------- */
.selo-google{
  display:inline-flex;align-items:center;gap:12px;
  background:#fff;border:1px solid var(--linha);border-radius:999px;
  padding:10px 20px 10px 14px;box-shadow:var(--sombra-card);
  margin-top:24px;
}
.selo-google svg{width:22px;height:22px;flex:none}
.selo-nota{display:block;font-family:var(--fonte-titulo);font-size:1.125rem;color:var(--tinta);line-height:1.1}
.selo-texto{display:block;font-size:.8125rem;color:var(--texto-suave);line-height:1.3}

/* Marquee horizontal continuo, sem pausa ao passar o mouse */
.marquee{
  --duracao:64s;
  position:relative;width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;
  margin-top:clamp(40px,6vw,60px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.marquee-trilha{
  display:flex;width:max-content;gap:22px;padding-block:6px;
  animation:marquee-rola var(--duracao) linear infinite;
}
@keyframes marquee-rola{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.depo-card{
  flex:none;width:min(84vw,360px);
  background:#fff;border:1px solid var(--linha);border-radius:var(--r-md);
  padding:28px;box-shadow:var(--sombra-card);
  display:flex;flex-direction:column;gap:22px;
}
.depo-texto{margin:0;font-size:1rem;color:var(--texto);line-height:1.6;flex:1}
.depo-autor{display:flex;align-items:center;gap:12px}
.depo-avatar{
  width:44px;height:44px;border-radius:50%;flex:none;
  object-fit:cover;background:var(--gelo);display:block;
}
.depo-nome{display:block;font-weight:500;font-size:.9375rem;line-height:1.3}
.depo-quando{display:block;font-size:.8125rem;color:var(--texto-suave)}

.depo-acoes{
  display:flex;flex-wrap:wrap;justify-content:center;gap:14px;
  margin-top:clamp(32px,5vw,48px);
}

@media (max-width:640px){
  .marquee{--duracao:46s}
  .depo-card{width:min(78vw,300px);padding:24px}
  .depo-acoes .btn{width:100%;max-width:320px}
}

/* ---------- 11. Faixas de CTA ---------- */
.faixa{position:relative;overflow:hidden;padding-block:clamp(52px,7vw,84px);color:#fff;text-align:center}
.faixa-tinta{background:var(--tinta)}
.faixa-azul{background:linear-gradient(120deg,var(--azul) 0%,var(--azul-escuro) 100%)}
.faixa-interno{position:relative;z-index:1;display:grid;justify-items:center;gap:18px}
.faixa-titulo{font-size:clamp(1.75rem,1.2rem + 2.2vw,2.85rem);color:#fff;max-width:min(100%,660px)}
.faixa-sub{color:var(--texto-claro);max-width:44ch;margin:0}
.faixa .btn{margin-top:6px}

/* Variante com foto: layout em duas colunas para ilustrar o CTA */
.faixa-com-foto .faixa-interno{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  justify-items:stretch;align-items:center;gap:clamp(28px,5vw,64px);text-align:left;
}
.faixa-com-foto .faixa-titulo{max-width:22ch;white-space:normal}
.faixa-texto{display:grid;gap:26px;justify-items:start}
.faixa-foto{
  order:-1;position:relative;border-radius:var(--r-lg);overflow:hidden;
  aspect-ratio:16/9;box-shadow:0 22px 54px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.1);
}
.faixa-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;display:block}
@media (max-width:820px){
  .faixa-com-foto .faixa-interno{grid-template-columns:1fr;text-align:center}
  .faixa-texto{justify-items:center}
  .faixa-foto{order:0;max-width:480px;margin-inline:auto}
}

/* ---------- 12. FAQ ---------- */
.faq{max-width:820px;margin-inline:auto}
.faq-item{border-bottom:1px solid var(--linha)}
.faq-item:first-child{border-top:1px solid var(--linha)}
.faq-pergunta{
  width:100%;display:flex;align-items:flex-start;gap:18px;justify-content:space-between;
  background:none;border:0;cursor:pointer;text-align:left;
  padding:22px 0;font-family:var(--fonte-corpo);font-size:1.0625rem;font-weight:500;color:var(--texto);
  transition:color .16s ease;
}
.faq-pergunta:hover{color:var(--azul)}
.faq-icone{flex:none;width:26px;height:26px;position:relative;margin-top:2px}
.faq-icone::before,.faq-icone::after{
  content:"";position:absolute;top:50%;left:50%;width:14px;height:2px;
  background:var(--azul);transform:translate(-50%,-50%);transition:transform .22s ease;
}
.faq-icone::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-pergunta[aria-expanded="true"] .faq-icone::after{transform:translate(-50%,-50%) rotate(0deg)}
.faq-resposta{overflow:hidden;height:0;transition:height .28s ease}
.faq-resposta p{padding:0 44px 24px 0;color:var(--texto-suave);font-size:1rem;margin:0}

/* ---------- 13. Rodape (padrao em todas as paginas) ---------- */
.rodape{background:var(--tinta);color:var(--texto-claro);padding-top:clamp(48px,6vw,72px)}
.rodape-grade{
  display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));
  gap:clamp(28px,4vw,56px);padding-bottom:44px;
}
/* A arte da logo ja tem preenchimento claro: sobre o fundo tinta ela le sem filtro. */
.rodape-logo{height:48px;width:auto;margin-bottom:20px}
.rodape-sobre{max-width:34ch;font-size:.9375rem;margin:0}
.rodape-titulo{
  font-family:var(--fonte-corpo);font-weight:500;font-size:.75rem;text-transform:uppercase;
  letter-spacing:.14em;color:#fff;margin-bottom:18px;
}
.rodape-lista{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:.9375rem}
.rodape-lista li{display:flex;gap:10px;align-items:flex-start}
.rodape-lista svg{width:17px;height:17px;flex:none;margin-top:3px;color:var(--azul-claro)}
.rodape-lista a{color:var(--texto-claro);text-decoration:none;transition:color .16s ease}
.rodape-lista a:hover{color:#fff;text-decoration:underline}
.rodape-base{
  border-top:1px solid var(--linha-clara);padding-block:24px;
  display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;justify-content:space-between;
  font-size:.8125rem;color:rgba(255,255,255,.6);
}
.rodape-base nav{display:flex;flex-wrap:wrap;gap:10px 22px}
.rodape-base a{color:rgba(255,255,255,.72);text-decoration:none}
.rodape-base a:hover{color:#fff;text-decoration:underline}
@media (max-width:760px){.rodape-grade{grid-template-columns:1fr;gap:34px}}

/* ---------- 14. Paginas institucionais ---------- */
.doc-topo{background:var(--gelo);padding-block:clamp(44px,6vw,76px);border-bottom:1px solid var(--linha)}
.doc-titulo{font-size:clamp(2rem,1.3rem + 3vw,3.4rem);color:var(--azul);max-width:min(100%,620px)}
.doc-data{margin-top:18px;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--texto-suave)}
.doc-grade{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:clamp(28px,5vw,64px);padding-block:var(--secao-y);align-items:start}
.doc-indice{position:sticky;top:calc(var(--nav-h) + 24px)}
.doc-indice p{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--texto-suave);margin-bottom:14px}
.doc-indice ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:item}
.doc-indice a{
  display:block;padding:8px 0 8px 30px;position:relative;
  color:var(--texto-suave);text-decoration:none;font-size:.9063rem;line-height:1.35;
  border-left:2px solid var(--linha);transition:color .16s ease,border-color .16s ease;
}
.doc-indice a::before{
  counter-increment:item;content:counter(item);
  position:absolute;left:12px;top:8px;font-size:.75rem;font-weight:500;color:var(--azul);opacity:.6;
}
.doc-indice a:hover{color:var(--azul);border-left-color:var(--azul)}
.doc-corpo{max-width:70ch}
.doc-corpo h2{
  font-size:clamp(1.25rem,1.1rem + .7vw,1.6rem);color:var(--azul);
  margin-top:2.4em;margin-bottom:.7em;scroll-margin-top:calc(var(--nav-h) + 24px);
}
.doc-corpo h2:first-of-type{margin-top:0}
.doc-corpo p,.doc-corpo li{color:var(--texto-suave)}
.doc-corpo strong{color:var(--texto);font-weight:500}
.doc-corpo ul{padding-left:1.1em;display:grid;gap:8px}
.doc-corpo li::marker{color:var(--azul)}
.doc-contato{
  margin-top:1.2em;background:var(--gelo);border-radius:var(--r-md);padding:26px 28px;
  display:grid;gap:8px;font-size:.9688rem;
}
.doc-contato span{display:block;color:var(--texto-suave)}
.doc-contato strong{font-family:var(--fonte-titulo);font-weight:400;text-transform:uppercase;letter-spacing:.04em;color:var(--azul);font-size:1.0625rem}
.doc-aviso{margin-top:44px;padding-top:22px;border-top:1px solid var(--linha);font-size:.8125rem;color:var(--texto-suave)}
@media (max-width:900px){
  .doc-grade{grid-template-columns:1fr}
  .doc-indice{position:static}
}

/* Marcacao visual de dado ainda pendente de confirmacao pelo cliente */
.pendente{
  background:rgba(244,166,58,.18);
  box-shadow:inset 0 -1px 0 rgba(244,166,58,.75);
  color:var(--texto);border-radius:3px;padding:0 3px;
}
/* Sobre fundo escuro (rodape) o par amarelo+preto perde contraste: texto claro */
.rodape .pendente{
  background:rgba(244,166,58,.22);
  color:#fff;
}

/* ---------- 15. Pagina 404 ---------- */
.erro{
  min-height:clamp(460px,70vh,760px);display:grid;place-content:center;justify-items:center;
  text-align:center;padding-block:clamp(56px,8vw,110px);position:relative;overflow:hidden;
}
.erro::before{
  content:"";position:absolute;inset:auto 0 0 0;height:58%;color:var(--azul);
  background-image:repeating-linear-gradient(180deg,currentColor 0 2px,transparent 2px 22px);
  opacity:.1;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 45%,#000 72%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 45%,#000 72%,transparent);
}
.erro-interno{position:relative;z-index:1;display:grid;justify-items:center;gap:16px;max-width:52ch}
.erro-numero{margin:0 0 8px;font-family:var(--fonte-titulo);font-size:clamp(5.5rem,3rem + 15vw,12.5rem);line-height:.82;color:var(--azul);letter-spacing:.02em}
.erro-titulo{font-size:clamp(1.6rem,1.2rem + 2vw,2.6rem);color:var(--tinta);max-width:min(100%,520px)}
.erro-texto{color:var(--texto-suave);max-width:42ch;margin:0}
.erro-acoes{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:10px}

/* ---------- 16. Acessibilidade e impressao ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .btn:hover,.card:hover{transform:none}
}
@media print{
  .nav,.rodape,.doc-indice,.pulo-conteudo{display:none}
  body{font-size:11pt;color:#000}
  .doc-grade{display:block;padding-block:0}
  .doc-corpo{max-width:none}
  .doc-corpo p,.doc-corpo li{color:#000}
}
