/* Páginas internas: topo com trilha, selos, faixa de contato e bloco principal das páginas de serviço. */
main .pagina > section{padding-block:clamp(2.75rem,8vw,6.5rem)}

/* Topo da página */
main .pagina > .topo-pagina{padding-top:calc(4.5rem + clamp(2.5rem,6vw,5rem));padding-bottom:clamp(2.5rem,6vw,4.5rem)}
.topo-grade{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.topo-texto{display:grid;gap:1.1rem;justify-items:start}
.topo-texto > .mono{color:var(--accent)}
.titulo-pagina{font-family:var(--display);font-stretch:72%;font-weight:700;font-size:clamp(2.5rem,5.6vw,4.9rem);line-height:.98;letter-spacing:-.012em;text-transform:uppercase;max-width:16ch;text-wrap:balance}
.topo-texto .lead{max-width:42ch;font-size:clamp(1.0625rem,1.3vw,1.25rem);color:#dcdfe6}
.topo-texto .acoes{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.6rem}
/* Foto de banco só como ambientação: escurecida, dessaturada e sem legenda */
.topo-imagem{position:relative;border-radius:1.25rem;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;background:var(--panel)}
.topo-imagem img{width:100%;height:100%;object-fit:cover;filter:saturate(.55) brightness(.62) contrast(1.05)}
.topo-imagem::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 90% 80% at 70% 30%,rgba(217,180,106,.16),transparent 60%),linear-gradient(to top,rgba(10,13,20,.7),transparent 55%)}
@media (max-width:860px){.topo-grade{grid-template-columns:minmax(0,1fr)}.topo-imagem{aspect-ratio:16/8;order:-1;display:none}}

/* Trilha (breadcrumb) */
.trilha ol{display:flex;flex-wrap:wrap;gap:.35rem .6rem;font-family:var(--mono);font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}
.trilha li:not(:last-child)::after{content:"/";margin-left:.6rem;opacity:.5}
.trilha a{text-decoration:none}
.trilha a:hover{color:var(--accent)}
.trilha [aria-current]{color:var(--text-primary)}

/* O que fazemos */


/* Equipe e normas */
.normas{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.normas .cabeca{margin-bottom:0}
/* Normas e provas curtas: uma linha em letra técnica, separada por barras finas douradas (sem pílula).
   Toda barra fica à esquerda do item; a lista recua e esconde o que sai dela, então o item que abre cada linha não mostra barra. */
.selos{display:flex;flex-wrap:wrap;align-items:center;row-gap:.5rem;margin-left:-.85rem;overflow:hidden}
/* Selos curtos de prova no topo da página de serviço (campo selos de servicos.json) */
.selos-topo li{font-size:.8125rem}
.para-quem{color:var(--text-secondary)}
.para-quem .mono{margin-right:.4rem;color:var(--accent);font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase}
/* Contrato de manutenção da frente (campo contrato de servicos.json) */
.contrato-caixa{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem 3rem;padding:clamp(1.75rem,4vw,3rem);border:1px solid rgba(217,180,106,.35);border-radius:1.25rem;background:linear-gradient(180deg,var(--panel-2),var(--panel))}
.contrato-caixa h2{font-family:var(--display);font-stretch:80%;font-weight:700;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.05;text-transform:uppercase}
.contrato-caixa p{max-width:46ch;margin-top:.6rem;color:var(--text-secondary)}
.selos li{font-family:var(--mono);font-size:.9375rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);line-height:1.1}
.selos li{margin-left:-1px;padding-inline:.85rem;border-left:1px solid rgba(217,180,106,.6)}
@media (max-width:860px){.normas{grid-template-columns:minmax(0,1fr)}}

/* Faixa de contato */
.chamada-caixa{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(1.25rem,3vw,2.5rem);align-items:center;padding:clamp(1.75rem,4vw,3rem);border:1px solid rgba(217,180,106,.3);border-radius:1.25rem;background:radial-gradient(ellipse 60% 120% at 0% 50%,rgba(217,180,106,.12),transparent 70%),var(--panel)}
.chamada-caixa .estrela{width:3.25rem;filter:drop-shadow(0 0 20px rgba(217,180,106,.45))}
.chamada-caixa h2{font-family:var(--display);font-stretch:75%;font-weight:700;font-size:clamp(1.9rem,3.6vw,3rem);line-height:1;text-transform:uppercase}
.chamada-caixa p{margin-top:.6rem;color:var(--text-secondary)}
.chamada-caixa .acoes{display:flex;flex-wrap:wrap;gap:.75rem}
@media (max-width:960px){.chamada-caixa{grid-template-columns:minmax(0,1fr)}.chamada-caixa .estrela{width:2.75rem}}

/* Outras frentes */

/* Visão geral dos serviços */
.frentes-lista > li{display:grid;grid-template-columns:4rem minmax(0,5fr) minmax(0,6fr) minmax(0,3fr);gap:1.25rem clamp(1.5rem,3vw,2.5rem);align-items:start;padding:2rem 0;border-top:1px solid var(--line)}
.frentes-lista > li:last-child{border-bottom:1px solid var(--line)}
.frentes-lista .mono{padding-top:.5rem;color:var(--accent)}
.frentes-lista :is(h2,h3){font-family:var(--display);font-stretch:80%;font-weight:700;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.02;text-transform:uppercase}
.frentes-lista :is(h2,h3) a{text-decoration:none;transition:color .3s var(--ease)}
.frentes-lista :is(h2,h3) a:hover{color:var(--accent)}
.frentes-lista p{color:var(--text-secondary)}
.frentes-lista .sub-itens{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}
.frentes-lista .sub-itens li{padding:.3rem .7rem;border:1px solid var(--line);border-radius:999px;font-size:.875rem;color:var(--text-secondary)}
.frentes-lista .ver{display:grid;gap:1rem;justify-items:start}
.frentes-lista .miniatura{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:.8rem;border:1px solid var(--line);filter:saturate(.55) brightness(.62)}
@media (max-width:960px){.frentes-lista > li{grid-template-columns:3rem minmax(0,1fr)}.frentes-lista .corpo-titulo,.frentes-lista .corpo,.frentes-lista .ver{grid-column:2}.frentes-lista .miniatura{display:none}}

/* Diferenciais */
.diferenciais{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,2rem)}
.diferenciais li{display:grid;align-content:start;gap:.55rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.diferenciais .mono{color:var(--accent)}
.diferenciais h3{font-family:var(--display);font-stretch:85%;font-weight:600;font-size:1.3rem;line-height:1.15}
.diferenciais p{color:var(--text-secondary);font-size:1rem}
@media (max-width:960px){.diferenciais{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.diferenciais{grid-template-columns:minmax(0,1fr)}}

/* Serviços realizados: filtros e galeria */
.filtros{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:clamp(1.75rem,3vw,2.5rem)}
.filtros button{display:inline-flex;align-items:center;gap:.55rem;min-height:2.75rem;padding:.5rem 1.05rem;border:1px solid rgba(241,238,230,.22);border-radius:999px;background:transparent;color:var(--text-secondary);font-size:1rem;cursor:pointer;transition:border-color .3s var(--ease),color .3s var(--ease),background-color .3s var(--ease)}
.filtros button span{font-family:var(--mono);font-size:.8125rem;opacity:.75}
.filtros button:hover{border-color:var(--accent);color:var(--text-primary)}
.filtros button[aria-pressed="true"]{border-color:var(--accent);background:var(--accent);color:#0a0d14}
.galeria > li{display:grid}
[data-grupos][hidden]{display:none!important}
main .pagina > .galeria-secao{padding-top:0}

/* Estudo de caso */
.topo-imagem.real img{filter:none}
.topo-imagem.real::after{content:none}
.ficha{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;width:100%;margin-top:.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.ficha dt{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
.ficha dd{margin:.2rem 0 0}
.ficha a{text-decoration-color:var(--accent)}
.relato .wrap{display:grid;gap:0}
.relato-bloco{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:1rem clamp(2rem,5vw,4rem);padding:clamp(1.75rem,3.5vw,2.75rem) 0;border-top:1px solid var(--line)}
.relato-bloco:last-child{border-bottom:1px solid var(--line)}
.relato-bloco h2{font-family:var(--display);font-stretch:80%;font-weight:700;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.05;text-transform:uppercase}
.relato-bloco p{max-width:62ch;color:var(--text-secondary);font-size:1.0625rem}
.feito{display:grid;gap:.75rem}
.feito li{position:relative;padding-left:1.4rem}
.feito li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.fotos-obra{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.fotos-obra figure{overflow:hidden;border-radius:1rem;border:1px solid var(--line);background:var(--panel)}
.fotos-obra img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.fotos-obra figcaption{padding:1rem 1.25rem;color:var(--text-secondary);font-size:1rem}
.momento{display:inline-block;margin-right:.6rem;padding:.15rem .55rem;border-radius:999px;background:var(--accent-muted);color:var(--accent);font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}
@media (max-width:760px){.relato-bloco{grid-template-columns:minmax(0,1fr)}.fotos-obra{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){.topo-imagem.real{display:block;order:0}}

/* Clientes por setor */
main .pagina > .setor{padding-block:clamp(1.5rem,3vw,2.5rem)}
.setor-titulo{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.25rem;padding-top:1.25rem;border-top:1px solid var(--line);font-family:var(--display);font-stretch:80%;font-weight:700;font-size:clamp(1.5rem,2.6vw,2.1rem);text-transform:uppercase}
.setor-titulo .mono{color:var(--accent)}
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:1rem}
.logos figure{display:grid;grid-template-rows:5.5rem auto;align-items:center;justify-items:center;gap:.75rem;height:100%;padding:1.25rem 1rem 1rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}
/* O <picture> ocupa a área do logo: com display:contents, os <source> virariam linhas da grade e empurrariam o logo para baixo */
.logos picture{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
/* Na página Clientes os logos ficam sempre coloridos. Os de texto escuro ganham a placa clara (senão somem no fundo);
   os pensados para fundo escuro (.escuro) ficam no cartão escuro. */
.logos img{max-height:3.4rem;width:auto;max-width:80%;object-fit:contain}
.logos figure{transition:border-color .35s var(--ease)}
.logos li:not(.escuro) figure{background:#f1eee6}
.logos li:not(.escuro) figcaption{color:#3a3f4b}
.logos li:hover figure{border-color:var(--accent)}
/* Logo de texto branco ganha a cor da própria marca como fundo (campo fundo em clientes.json) */
.logos li.escuro figure{background:var(--fundo,var(--panel))}
.logos li.escuro figcaption{color:rgba(241,238,230,.85)}
.logos figcaption{text-align:center;font-size:.875rem;color:var(--text-secondary)}
main .pagina > .ponte{padding-block:clamp(2.5rem,5vw,4rem) 0}
.ponte .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;padding-top:2rem;border-top:1px solid var(--line)}
.ponte p:first-child{font-size:1.125rem;color:var(--text-secondary)}

/* Loja: vitrine */
.endereco-loja{font-size:1rem;color:var(--text-secondary)}
main .pagina > .vitrine-secao{padding-top:0}
.vitrine{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.produto{display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}
.produto-foto{position:relative;aspect-ratio:4/3;overflow:hidden}
.produto-foto img{position:absolute;inset:9% 18%;width:64%;height:82%;object-fit:contain}
.fundo-escuro{background:radial-gradient(circle at 50% 55%,#26241f,#0f131b 70%)}
.fundo-claro{background:radial-gradient(circle at 50% 50%,#f1eee6,#cfcbc0 85%)}
.fundo-foto img{inset:0;width:100%;height:100%;object-fit:cover}
.produto-info{display:grid;align-content:start;gap:.45rem;padding:1.25rem 1.4rem 1.5rem}
.produto-info .mono{color:var(--accent)}
.produto-info h2{font-family:var(--display);font-stretch:85%;font-weight:600;font-size:1.4rem;line-height:1.15}
.produto-info .marca{color:var(--text-secondary);font-size:1rem}
.specs{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}
.specs li{padding:.2rem .6rem;border:1px solid var(--line);border-radius:999px;font-size:.875rem;color:var(--text-secondary)}
.preco{margin-top:.5rem;font-weight:600}
.produto-info .btn{justify-self:start;margin-top:.5rem}
.vitrine-nota{max-width:60ch;margin-top:clamp(2rem,4vw,3rem);color:var(--text-secondary)}
@media (max-width:960px){.vitrine{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.vitrine{grid-template-columns:minmax(0,1fr)}}

/* Sobre */
.numeros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.numeros div{display:flex;flex-direction:column-reverse;gap:.4rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.numeros dd{margin:0;font-family:var(--display);font-stretch:70%;font-weight:700;font-size:clamp(2.8rem,6vw,4.6rem);line-height:.9;color:var(--accent)}
.numeros dt{font-family:var(--mono);font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
@media (max-width:760px){.numeros{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2rem}}
.numeros-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,4vw,3rem)}
.numeros-3 dd{font-size:clamp(3rem,7vw,5.4rem)}
@media (max-width:760px){.numeros-3{grid-template-columns:minmax(0,1fr)}}
.numeros dd span{font-variant-numeric:tabular-nums}
.confianca-sobre{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.declaracao-sobre{font-family:var(--display);font-stretch:70%;font-weight:700;font-size:clamp(2.2rem,4.8vw,4rem);line-height:.98;text-transform:uppercase}
.declaracao-sobre em{font-style:normal;color:var(--accent)}
.confianca-sobre p{color:var(--text-secondary);font-size:1.0625rem}
.confianca-sobre p + p{margin-top:1rem}
@media (max-width:860px){.confianca-sobre{grid-template-columns:minmax(0,1fr)}}
.video-capa{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;border:1px solid var(--line);border-radius:1.25rem;background:var(--panel)}
.video-capa img{width:100%;height:100%;object-fit:cover}
.video-capa .play{position:absolute;left:50%;top:50%;width:5rem;height:5rem;margin:-2.5rem 0 0 -2.5rem;border-radius:50%;background:var(--accent);box-shadow:0 0 40px rgba(217,180,106,.5);transition:transform .3s var(--ease)}
.video-capa .play::after{content:"";position:absolute;left:54%;top:50%;transform:translate(-50%,-50%);border-style:solid;border-width:.8rem 0 .8rem 1.3rem;border-color:transparent transparent transparent #0a0d14}
.video-capa:hover .play{transform:scale(1.08)}

/* Contato */
main .pagina > .contato-secao{padding-top:0}
.contato{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.contato-form h2{margin-bottom:1rem}
.contato-form form.pedido{width:100%;margin-top:0}
.contato-form .form-ok{margin-top:1rem}
.contato-canais{display:grid;gap:.75rem}
.canal{display:grid;gap:.2rem;padding:1.1rem 1.25rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel);text-decoration:none;transition:border-color .3s var(--ease)}
a.canal:hover{border-color:var(--accent)}
.canal .mono{color:var(--accent)}
.canal strong{font-weight:600;font-size:1.0625rem}
.canal span:not(.mono){color:var(--text-secondary);font-size:.9375rem}
.canal-zap{border-color:rgba(217,180,106,.45);background:radial-gradient(ellipse 80% 120% at 0% 0%,rgba(217,180,106,.14),transparent 70%),var(--panel)}
.canal-zap strong{font-family:var(--display);font-stretch:80%;font-size:2rem;line-height:1}
@media (max-width:860px){.contato{grid-template-columns:minmax(0,1fr)}}

/* 404 */
main .pagina > .pagina-404{min-height:calc(100vh - 4.5rem);min-height:calc(100svh - 4.5rem);display:grid;align-content:center}
.pagina-404 .titulo-pagina em{font-style:normal;color:var(--accent)}
.caminhos-404{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.caminhos-404 a{color:var(--text-secondary);text-decoration:none}
.caminhos-404 a:hover{color:var(--accent)}



/* Item com página própria (microsserviço) */
/* Item com página própria: dourado; o sublinhado só aparece com o mouse em cima */
.item-link{color:var(--accent);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em;transition:text-decoration-color .3s var(--ease)}
.item-link:hover,.item-link:focus-visible{text-decoration-color:currentColor}

/* Páginas de serviço: título e situações à esquerda, checklist das entregas à direita (partes/bloco-servico.njk) */
.bloco-servico{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.bloco-lado{position:sticky;top:6.5rem}
.bloco-servico .declaracao{font-size:clamp(2.2rem,4.4vw,3.8rem)}
.situacoes{margin-top:clamp(1.75rem,3vw,2.5rem)}
.situacoes .mono{margin-bottom:.75rem;color:var(--accent);font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase}
.situacoes li{position:relative;padding:.7rem 0 .7rem 1.1rem;border-top:1px solid var(--line)}
.situacoes li:last-child{border-bottom:1px solid var(--line)}
.situacoes li::before{content:"";position:absolute;left:0;top:1.35rem;width:.45rem;height:1px;background:var(--accent)}
.situacoes b{display:block;font-weight:600}
.situacoes span{display:block;color:var(--text-secondary);font-size:.9375rem}
@media (max-width:860px){
  .bloco-servico{grid-template-columns:minmax(0,1fr)}
  .bloco-lado{position:static}
}
.garantias-cases{max-width:52rem}
.bloco-texto{margin-top:1.5rem;max-width:40ch;font-size:1.0625rem;color:var(--text-secondary)}

/* Sobre: missão e visão lado a lado, valores numa faixa embaixo */
.mvv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,3.5rem)}
.mvv > div{padding-top:1.25rem;border-top:1px solid var(--line)}
.mvv h3{margin-bottom:.9rem;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.mvv p{font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.4;max-width:34ch}
.valores{margin-top:clamp(2.5rem,5vw,4rem)}
.valores h3{margin-bottom:1.1rem;font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.valores ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.25rem}
.valores li{display:grid;align-content:start;gap:.45rem;padding-top:1rem;border-top:1px solid var(--line)}
.valores b{font-family:var(--display);font-stretch:85%;font-weight:600;font-size:1.2rem;line-height:1.15}
.valores span{color:var(--text-secondary);font-size:1rem}
@media (max-width:1100px){.valores ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.mvv{grid-template-columns:minmax(0,1fr)}.valores ul{grid-template-columns:minmax(0,1fr)}}

/* Sobre: a loja na sede, só informativa (sem botão de venda) */
.sobre-loja{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.sobre-loja figure{margin:0;border-radius:1.25rem;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/5;background:var(--panel)}
.sobre-loja img{width:100%;height:100%;object-fit:cover}
.sobre-loja p{color:var(--text-secondary);font-size:1.0625rem;max-width:46ch}
.sobre-loja p + p{margin-top:1rem}
.sobre-loja .declaracao-sobre{margin-bottom:1.5rem}
@media (max-width:860px){.sobre-loja{grid-template-columns:minmax(0,1fr)}.sobre-loja figure{max-width:26rem}}
