/* ==========================================================================
   Inox e Bronze — folha de estilo principal (v2 — revisão de design)
   Paleta e tipografia conforme Direcao_Design_InoxeBronze.md
   --------------------------------------------------------------------------
   Sistema: escala de espaçamento 8px · raios 8/12/16px · sombras em camadas
   Dourado = acento pontual (CTA, tags ativas, detalhes) — nunca em massa
   ========================================================================== */

:root{
  /* Paleta oficial (extraída da logo) */
  --preto:      #0A0A0A;
  --prata:      #B8BEC4;
  --dourado:    #D4A73D;
  --offwhite:   #F2F2F0;
  --painel:     #3A3D42;

  /* Derivados (transparências da própria paleta — nenhuma cor nova) */
  --fundo-2:        #101113;                 /* respiro entre seções          */
  --painel-sutil:   rgba(58,61,66,.34);
  --painel-solido:  #17181B;                 /* superfície de card            */
  --painel-borda:   rgba(184,190,196,.14);
  --painel-borda-2: rgba(184,190,196,.26);
  --prata-suave:    rgba(184,190,196,.70);
  --prata-fraca:    rgba(184,190,196,.45);
  --dourado-hover:  #E2B84E;
  --dourado-10:     rgba(212,167,61,.10);
  --dourado-18:     rgba(212,167,61,.18);
  --dourado-35:     rgba(212,167,61,.35);

  /* Sombras em camadas (fundo escuro pede sombras largas e suaves) */
  --sombra-1: 0 1px 2px rgba(0,0,0,.4), 0 4px 14px rgba(0,0,0,.28);
  --sombra-2: 0 2px 4px rgba(0,0,0,.45), 0 12px 32px rgba(0,0,0,.38);
  --sombra-ouro: 0 4px 14px rgba(212,167,61,.28), 0 2px 6px rgba(0,0,0,.4);

  /* Raios */
  --r-s: 8px;
  --r-m: 12px;
  --r-g: 16px;
  --r-pill: 999px;

  --max: 1200px;
  --gutter: 24px;
  --header-h: 92px;

  --f-titulo: 'Oswald', 'Barlow Condensed', Impact, sans-serif;
  --f-corpo:  'IBM Plex Sans', system-ui, -apple-system, sans-serif;
  --f-mono:   'IBM Plex Mono', 'Courier New', monospace;

  --transicao: .22s cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; scroll-padding-top: calc(var(--header-h) + 76px); }

body{
  margin:0;
  background:var(--preto);
  color:var(--offwhite);
  font-family:var(--f-corpo);
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

img{ max-width:100%; height:auto; display:block; }
a{ color:var(--dourado); text-decoration:none; }
a:hover{ color:var(--dourado-hover); }

h1,h2,h3,h4{
  font-family:var(--f-titulo);
  font-weight:600;
  text-transform:uppercase;
  line-height:1.08;
  letter-spacing:.008em;
  margin:0 0 .5em;
  text-wrap:balance;
}
h1{ font-size:clamp(2.15rem,4.8vw,3.75rem); }
h2{ font-size:clamp(1.65rem,3.2vw,2.5rem); }
h3{ font-size:clamp(1.18rem,2vw,1.5rem); }
p{ margin:0 0 1.1em; }
p:last-child{ margin-bottom:0; }

::selection{ background:var(--dourado); color:var(--preto); }
:focus-visible{ outline:2px solid var(--dourado); outline-offset:3px; border-radius:4px; }

.container{ width:100%; max-width:var(--max); margin-inline:auto; padding-inline:var(--gutter); }

.secao{ padding:clamp(64px,8vw,112px) 0; }
.secao--painel{
  background:linear-gradient(180deg, var(--fundo-2) 0%, var(--preto) 100%);
  border-block:1px solid var(--painel-borda);
}

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* -------------------------------------------------- Eyebrow (assinatura) */
.eyebrow{
  display:flex; align-items:center; gap:14px;
  font-family:var(--f-mono); font-size:.74rem; font-weight:500;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--dourado);
  margin:0 0 20px;
}
.eyebrow::before{
  content:""; width:34px; height:2px; border-radius:2px;
  background:linear-gradient(90deg, var(--dourado), var(--dourado-35));
  flex:none;
}
.eyebrow--centro{ justify-content:center; }
.eyebrow--centro::after{
  content:""; width:34px; height:2px; border-radius:2px;
  background:linear-gradient(270deg, var(--dourado), var(--dourado-35));
  flex:none;
}

.chapeu-secao{ max-width:780px; margin-bottom:clamp(38px,4.5vw,58px); }
.chapeu-secao--centro{ margin-inline:auto; text-align:center; }
.chapeu-secao p{ color:var(--prata-suave); font-size:1.07rem; max-width:64ch; }
.chapeu-secao--centro p{ margin-inline:auto; }

/* -------------------------------------------------- Botões */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--f-titulo); font-weight:600; font-size:.98rem;
  text-transform:uppercase; letter-spacing:.07em;
  padding:16px 30px; border:1px solid transparent; border-radius:var(--r-s);
  cursor:pointer; line-height:1;
  transition:background var(--transicao), color var(--transicao),
             border-color var(--transicao), transform var(--transicao),
             box-shadow var(--transicao);
}
.btn svg{ width:19px; height:19px; flex:none; }
.btn--principal{
  background:var(--dourado); color:var(--preto);
  box-shadow:var(--sombra-ouro);
}
.btn--principal:hover{
  background:var(--dourado-hover); color:var(--preto);
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(212,167,61,.4), 0 3px 8px rgba(0,0,0,.45);
}
.btn--principal:active{ transform:translateY(0); }
.btn--fantasma{
  border-color:var(--painel-borda-2); color:var(--offwhite);
  background:rgba(242,242,240,.02);
}
.btn--fantasma:hover{
  border-color:var(--dourado); color:var(--dourado);
  background:var(--dourado-10);
  transform:translateY(-2px);
}
.btn--bloco{ width:100%; }

.grupo-btn{ display:flex; flex-wrap:wrap; gap:14px; }

/* -------------------------------------------------- Cabeçalho */
.cabecalho{
  position:fixed; inset:0 0 auto 0; z-index:120;
  background:rgba(10,10,10,.88);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--painel-borda);
}
.cabecalho__interno{
  display:flex; align-items:center; justify-content:space-between; gap:22px;
  height:var(--header-h);
}
.cabecalho__logo{ display:flex; align-items:center; }
.cabecalho__logo img{
  height:68px; width:auto;
  transition:transform var(--transicao);
}
.cabecalho__logo:hover img{ transform:scale(1.04); }

.nav{ display:flex; align-items:center; gap:8px; }
.nav a{
  font-family:var(--f-titulo); font-size:.95rem; font-weight:500;
  text-transform:uppercase; letter-spacing:.09em; color:var(--prata);
  padding:10px 16px; border-radius:var(--r-s); position:relative;
  transition:color var(--transicao), background var(--transicao);
}
.nav a:hover{ color:var(--offwhite); background:rgba(184,190,196,.07); }
.nav a[aria-current="page"]{ color:var(--dourado); background:var(--dourado-10); }

.cabecalho__contato{ display:flex; align-items:center; gap:14px; }
.tel-topo{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--f-mono); font-size:.92rem; color:var(--offwhite);
  white-space:nowrap; padding:10px 16px;
  border:1px solid var(--painel-borda-2); border-radius:var(--r-pill);
  transition:border-color var(--transicao), color var(--transicao),
             background var(--transicao);
}
.tel-topo svg{ width:16px; height:16px; color:var(--dourado); flex:none; }
.tel-topo:hover{ color:var(--dourado); border-color:var(--dourado); background:var(--dourado-10); }

.menu-btn{
  display:none; width:46px; height:46px; padding:0;
  background:transparent; border:1px solid var(--painel-borda-2);
  border-radius:var(--r-s);
  color:var(--offwhite); cursor:pointer;
  transition:border-color var(--transicao);
}
.menu-btn:hover{ border-color:var(--dourado); }
.menu-btn span{
  display:block; width:20px; height:2px; margin:4px auto; border-radius:2px;
  background:currentColor;
  transition:transform var(--transicao), opacity var(--transicao);
}
.menu-btn[aria-expanded="true"] span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.menu-btn[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.menu-btn[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

/* -------------------------------------------------- Hero */
.hero{
  position:relative; margin-top:var(--header-h);
  min-height:clamp(540px,82vh,740px);
  display:flex; align-items:center;
  overflow:hidden;
}
.hero__fundo{ position:absolute; inset:0; z-index:0; }
.hero__fundo img{ width:100%; height:100%; object-fit:cover; }
.hero__fundo::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(10,10,10,.97) 0%, rgba(10,10,10,.9) 40%, rgba(10,10,10,.5) 100%),
    linear-gradient(0deg, rgba(10,10,10,.95) 0%, rgba(10,10,10,.15) 50%);
}
.hero__conteudo{ position:relative; z-index:1; max-width:740px; padding-block:76px; }
.hero h1{ margin-bottom:22px; }
.hero h1 .prata{ color:var(--prata); }
.hero h1 .ouro{ color:var(--dourado); }
.hero__texto{
  font-size:clamp(1.04rem,1.5vw,1.2rem); color:var(--prata-suave);
  max-width:56ch; margin-bottom:32px;
}
.hero .grupo-btn{ margin-bottom:34px; }
.hero__selo{
  display:inline-flex; flex-wrap:wrap; align-items:center; gap:10px 12px;
  font-family:var(--f-mono); font-size:.78rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--prata); line-height:1.5;
  padding:14px 24px;
  border:1px solid var(--painel-borda);
  border-radius:var(--r-pill);
  background:rgba(10,10,10,.5);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.hero__selo b{ color:var(--dourado); font-weight:600; }

/* Hero interno (páginas secundárias) */
.hero-interno{
  margin-top:var(--header-h);
  padding:clamp(52px,6.5vw,88px) 0 clamp(42px,5vw,64px);
  border-bottom:1px solid var(--painel-borda);
  background:
    radial-gradient(ellipse 90% 130% at 12% -20%, var(--dourado-10), transparent 55%),
    linear-gradient(180deg, var(--fundo-2) 0%, var(--preto) 100%);
}
.hero-interno h1{ margin-bottom:16px; }
.hero-interno p{ color:var(--prata-suave); max-width:66ch; font-size:1.07rem; }

/* Trilha (breadcrumb) */
.trilha{
  font-family:var(--f-mono); font-size:.76rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--prata-fraca); margin-bottom:18px;
}
.trilha ol{ list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; }
.trilha li+li::before{ content:"/"; margin-right:10px; color:var(--painel-borda-2); }
.trilha a{ color:var(--prata-suave); transition:color var(--transicao); }
.trilha a:hover{ color:var(--dourado); }

/* -------------------------------------------------- Faixa de confiança */
.confianca{
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
  max-width:var(--max); margin:clamp(-46px,-4vw,-36px) auto 0;
  padding:0 var(--gutter); position:relative; z-index:2;
}
.confianca__item{
  padding:26px 20px 22px; text-align:center;
  background:var(--painel-solido);
  border:1px solid var(--painel-borda);
  border-radius:var(--r-m);
  box-shadow:var(--sombra-1);
  transition:transform var(--transicao), border-color var(--transicao);
}
.confianca__item:hover{ transform:translateY(-3px); border-color:var(--dourado-35); }
.confianca__num{
  font-family:var(--f-titulo); font-size:clamp(1.7rem,2.6vw,2.3rem); font-weight:600;
  color:var(--dourado); line-height:1; display:block; margin-bottom:9px;
}
.confianca__rot{
  font-family:var(--f-mono); font-size:.72rem; letter-spacing:.13em;
  text-transform:uppercase; color:var(--prata-suave);
}

/* -------------------------------------------------- Tags de formato (assinatura) */
.tags{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 18px; padding:0; list-style:none; }
.tag{
  font-family:var(--f-mono); font-size:.72rem; font-weight:500;
  letter-spacing:.08em; text-transform:uppercase; line-height:1.2;
  padding:9px 18px; border:1px solid var(--painel-borda-2);
  border-radius:var(--r-pill);
  color:var(--prata); background:rgba(10,10,10,.35);
  transition:color var(--transicao), border-color var(--transicao), background var(--transicao);
}
.tag--ativa{
  color:var(--dourado); border-color:var(--dourado);
  background:var(--dourado-10);
  box-shadow:0 0 0 3px var(--dourado-10);
}

/* Barra de filtro (sticky) */
.filtro{
  position:sticky; top:var(--header-h); z-index:90;
  background:rgba(10,10,10,.92);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--painel-borda);
  padding:16px 0;
}
.filtro__interno{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 10px; }
.filtro__rot{
  font-family:var(--f-mono); font-size:.72rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--prata-fraca); margin-right:6px;
}
.filtro__btn{
  font-family:var(--f-mono); font-size:.78rem; font-weight:500;
  letter-spacing:.08em; text-transform:uppercase; line-height:1.2;
  padding:11px 22px; border-radius:var(--r-pill); cursor:pointer;
  background:transparent; border:1px solid var(--painel-borda-2); color:var(--prata);
  transition:color var(--transicao), border-color var(--transicao),
             background var(--transicao), box-shadow var(--transicao);
}
.filtro__btn:hover{ color:var(--offwhite); border-color:var(--prata-suave); }
.filtro__btn[aria-pressed="true"]{
  background:var(--dourado); border-color:var(--dourado); color:var(--preto);
  font-weight:600; box-shadow:0 2px 10px rgba(212,167,61,.35);
}
.filtro__contagem{
  margin-left:auto; font-family:var(--f-mono); font-size:.74rem;
  letter-spacing:.1em; text-transform:uppercase; color:var(--prata-fraca);
}

/* -------------------------------------------------- Grade de materiais (home) */
.grade-materiais{
  display:grid; gap:16px;
  grid-template-columns:repeat(auto-fill,minmax(268px,1fr));
}
.card-material{
  background:var(--painel-solido);
  border:1px solid var(--painel-borda);
  border-radius:var(--r-g);
  padding:30px 26px 24px;
  display:flex; flex-direction:column; gap:12px;
  color:var(--offwhite); position:relative; overflow:hidden;
  transition:transform var(--transicao), border-color var(--transicao),
             box-shadow var(--transicao);
}
.card-material::before{
  content:""; position:absolute; inset:0 auto auto 0; width:100%; height:3px;
  background:linear-gradient(90deg, var(--dourado), transparent 70%);
  opacity:0; transition:opacity var(--transicao);
}
.card-material:hover{
  transform:translateY(-4px);
  border-color:var(--dourado-35);
  box-shadow:var(--sombra-2);
  color:var(--offwhite);
}
.card-material:hover::before{ opacity:1; }
.card-material h3{ margin:0; transition:color var(--transicao); }
.card-material:hover h3{ color:var(--dourado); }
.card-material p{ font-size:.94rem; color:var(--prata-suave); flex:1; }
.card-material .tags{ margin:0; }
.card-material__link{
  font-family:var(--f-mono); font-size:.74rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--dourado);
  display:inline-flex; align-items:center; gap:8px; margin-top:6px;
}
.card-material__link span{ transition:transform var(--transicao); }
.card-material:hover .card-material__link span{ transform:translateX(5px); }

/* -------------------------------------------------- Blocos de material (produtos) */
.material{
  padding:clamp(52px,6.5vw,84px) 0;
  border-bottom:1px solid var(--painel-borda);
}
.material:last-of-type{ border-bottom:0; }
.material[hidden]{ display:none; }
.material__grade{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(30px,4.5vw,64px); align-items:center;
}
.material--invertido .material__grade{ direction:rtl; }
.material--invertido .material__grade > *{ direction:ltr; }
.material__figura{ position:relative; margin:0; }
.material__figura img{
  width:100%; aspect-ratio:4/3; object-fit:cover;
  border:1px solid var(--painel-borda);
  border-radius:var(--r-g);
  box-shadow:var(--sombra-1);
}
.material__figura figcaption{
  font-family:var(--f-mono); font-size:.68rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--prata-fraca);
  margin-top:10px;
}
.material h2{ margin-bottom:14px; }
.material p{ color:var(--prata-suave); max-width:62ch; }
.material__linhas{ list-style:none; margin:0 0 22px; padding:0; }
.material__linhas > li{
  padding:16px 6px; border-bottom:1px solid var(--painel-borda);
  display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px;
  font-size:.97rem;
}
.material__linhas > li:first-child{ border-top:1px solid var(--painel-borda); }
.material__linhas strong{
  font-family:var(--f-titulo); font-weight:500; font-size:1.05rem;
  text-transform:uppercase; letter-spacing:.03em; min-width:150px;
  color:var(--offwhite);
}
.material__linhas .tags{ margin:0; }
.material__cta{
  display:flex; flex-wrap:wrap; align-items:center; gap:16px 20px;
  margin-top:28px; padding:24px 28px;
  background:var(--painel-sutil);
  border:1px solid var(--painel-borda);
  border-radius:var(--r-m);
}
.material__cta p{
  margin:0; font-family:var(--f-titulo); font-size:1.1rem;
  text-transform:uppercase; letter-spacing:.02em; color:var(--offwhite);
}

.aviso-filtro{
  display:none; text-align:center; padding:64px 0;
  font-family:var(--f-mono); font-size:.88rem; letter-spacing:.08em;
  text-transform:uppercase; color:var(--prata-suave);
}
.aviso-filtro.visivel{ display:block; }

/* -------------------------------------------------- Blocos 2 colunas */
.duas-colunas{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:clamp(32px,5vw,68px); align-items:center;
}
.duas-colunas > div > img,
.duas-colunas > div:has(> img:only-child) img{
  border:1px solid var(--painel-borda);
  border-radius:var(--r-g);
  box-shadow:var(--sombra-1);
  width:100%;
}
.duas-colunas p{ color:var(--prata-suave); max-width:62ch; }

/* Lista de diferenciais */
.lista-marcada{
  list-style:none; margin:0; padding:0;
  display:grid; gap:14px;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
}
.lista-marcada li{
  padding:22px 24px;
  background:var(--painel-solido);
  border:1px solid var(--painel-borda);
  border-left:3px solid var(--dourado);
  border-radius:var(--r-m);
  font-size:.96rem; color:var(--prata-suave);
  transition:transform var(--transicao), border-color var(--transicao);
}
.lista-marcada li:hover{ transform:translateY(-3px); border-color:var(--dourado-35); border-left-color:var(--dourado); }
.lista-marcada strong{
  display:block; font-family:var(--f-titulo); font-weight:600;
  text-transform:uppercase; letter-spacing:.03em; color:var(--offwhite);
  font-size:1.08rem; margin-bottom:4px;
}

/* Grade simples de cards */
.grade-cards{
  display:grid; gap:14px;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
}
.card{
  background:var(--painel-solido);
  border:1px solid var(--painel-borda);
  border-radius:var(--r-m);
  padding:28px 24px;
  transition:transform var(--transicao), border-color var(--transicao);
}
.card:hover{ transform:translateY(-3px); border-color:var(--dourado-35); }
.card h3{ font-size:1.12rem; margin-bottom:8px; }
.card p{ font-size:.93rem; color:var(--prata-suave); margin:0; }
.card__idx{
  font-family:var(--f-mono); font-size:.7rem; letter-spacing:.16em;
  color:var(--dourado); display:inline-block; margin-bottom:16px;
  padding:6px 14px; line-height:1.2; border:1px solid var(--dourado-35);
  border-radius:var(--r-pill); background:var(--dourado-10);
}

/* -------------------------------------------------- Avaliações */
.avaliacoes{ text-align:center; }
.avaliacoes__estrelas{
  display:flex; justify-content:center; gap:7px; margin-bottom:22px; color:var(--dourado);
}
.avaliacoes__estrelas svg{
  width:26px; height:26px;
  filter:drop-shadow(0 2px 6px rgba(212,167,61,.35));
}

/* -------------------------------------------------- Contato */
.contato-grade{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(32px,4.5vw,60px); align-items:start;
}
.canais{ list-style:none; margin:0 0 28px; padding:0; display:grid; gap:12px; }
.canais li{
  display:flex; gap:16px; align-items:flex-start;
  padding:20px 22px;
  background:var(--painel-solido);
  border:1px solid var(--painel-borda);
  border-radius:var(--r-m);
  transition:border-color var(--transicao);
}
.canais li:hover{ border-color:var(--dourado-35); }
.canais svg{ width:22px; height:22px; color:var(--dourado); flex:none; margin-top:3px; }
.canais__rot{
  font-family:var(--f-mono); font-size:.7rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--prata-fraca); margin-bottom:5px;
}
.canais__valor{ font-size:1.05rem; color:var(--offwhite); }
.canais a.canais__valor:hover{ color:var(--dourado); }
.canais__obs{ font-size:.87rem; color:var(--prata-suave); margin-top:2px; }

/* Formulário */
.form-box{
  background:var(--painel-solido);
  border:1px solid var(--painel-borda);
  border-radius:var(--r-g);
  padding:clamp(26px,3.2vw,38px);
  box-shadow:var(--sombra-1);
}
.campo{ margin-bottom:18px; }
.campo label{
  display:block; font-family:var(--f-mono); font-size:.72rem;
  letter-spacing:.13em; text-transform:uppercase; color:var(--prata);
  margin-bottom:8px;
}
.campo input, .campo select, .campo textarea{
  width:100%; padding:14px 16px; font-family:var(--f-corpo); font-size:1rem;
  color:var(--offwhite); background:rgba(10,10,10,.6);
  border:1px solid var(--painel-borda-2); border-radius:var(--r-s);
  transition:border-color var(--transicao), box-shadow var(--transicao);
}
.campo input::placeholder, .campo textarea::placeholder{ color:var(--prata-fraca); }
.campo textarea{ resize:vertical; min-height:120px; }
.campo input:focus, .campo select:focus, .campo textarea:focus{
  border-color:var(--dourado); outline:none;
  box-shadow:0 0 0 3px var(--dourado-18);
}
.campo select{ appearance:none; cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--prata) 50%),linear-gradient(135deg,var(--prata) 50%,transparent 50%);
  background-position:calc(100% - 21px) 50%, calc(100% - 15px) 50%;
  background-size:6px 6px, 6px 6px; background-repeat:no-repeat;
}
.campo select option{ background:var(--preto); color:var(--offwhite); }
.form-obs{
  font-size:.84rem; color:var(--prata-suave); margin:16px 0 0; line-height:1.6;
}

/* Mapa */
.mapa{
  position:relative; line-height:0;
  border:1px solid var(--painel-borda);
  border-radius:var(--r-g);
  overflow:hidden;
  box-shadow:var(--sombra-1);
}
.mapa iframe{ width:100%; height:clamp(320px,45vh,460px); border:0; filter:grayscale(.35) contrast(1.05); }

/* -------------------------------------------------- CTA final */
.cta-final{
  position:relative;
  background:
    radial-gradient(ellipse 70% 120% at 50% 130%, var(--dourado-10), transparent 60%),
    linear-gradient(180deg, var(--fundo-2) 0%, var(--preto) 100%);
  border-block:1px solid var(--painel-borda);
  text-align:center; padding:clamp(58px,7vw,96px) 0;
}
.cta-final h2{ margin-bottom:14px; }
.cta-final p{ color:var(--prata-suave); max-width:56ch; margin-inline:auto; margin-bottom:30px; }
.cta-final .grupo-btn{ justify-content:center; }

/* -------------------------------------------------- Rodapé */
.rodape{
  background:var(--fundo-2);
  border-top:1px solid var(--painel-borda);
  padding:clamp(52px,5.5vw,76px) 0 0;
}
.rodape__grade{
  display:grid; gap:40px;
  grid-template-columns:1.5fr 1fr 1fr 1.1fr;
  padding-bottom:48px;
}
.rodape__logo img{ height:80px; width:auto; margin-bottom:20px; }
.rodape h3{
  font-size:.8rem; letter-spacing:.18em; color:var(--dourado);
  font-family:var(--f-mono); font-weight:500; margin-bottom:18px; text-transform:uppercase;
}
.rodape address{ font-style:normal; color:var(--prata-suave); font-size:.94rem; line-height:1.8; }
.rodape ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.rodape ul a, .rodape address a{
  color:var(--prata-suave); font-size:.94rem;
  transition:color var(--transicao);
}
.rodape ul a:hover, .rodape address a:hover{ color:var(--dourado); }
.rodape__horario{ font-family:var(--f-mono); font-size:.85rem; color:var(--prata-suave); line-height:2; }
.rodape__horario b{ color:var(--offwhite); font-weight:500; }
.rodape__base{
  border-top:1px solid var(--painel-borda); padding:24px 0;
  display:flex; flex-wrap:wrap; gap:12px 24px; justify-content:space-between;
  font-size:.84rem; color:var(--prata-fraca);
}
.rodape__base p{ margin:0; }

/* -------------------------------------------------- WhatsApp flutuante */
.wpp-fixo{
  position:fixed; right:22px; bottom:22px; z-index:130;
  display:inline-flex; align-items:center; gap:11px;
  background:var(--dourado); color:var(--preto);
  font-family:var(--f-titulo); font-weight:600; font-size:.98rem;
  text-transform:uppercase; letter-spacing:.06em;
  padding:16px 26px; border-radius:var(--r-pill);
  box-shadow:0 10px 30px rgba(0,0,0,.55), 0 4px 14px rgba(212,167,61,.3);
  transition:transform var(--transicao), background var(--transicao), box-shadow var(--transicao);
}
.wpp-fixo:hover{
  background:var(--dourado-hover); color:var(--preto);
  transform:translateY(-3px);
  box-shadow:0 14px 36px rgba(0,0,0,.6), 0 6px 18px rgba(212,167,61,.4);
}
.wpp-fixo svg{ width:23px; height:23px; flex:none; }

/* -------------------------------------------------- Responsivo */
@media (max-width:1080px){
  .rodape__grade{ grid-template-columns:1fr 1fr; }
  .confianca{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:900px){
  :root{ --header-h:74px; }
  .nav{
    position:fixed; inset:var(--header-h) 0 auto 0;
    flex-direction:column; align-items:stretch; gap:6px;
    background:rgba(10,10,10,.98);
    -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
    border-bottom:1px solid var(--painel-borda);
    padding:14px var(--gutter) 20px;
    transform:translateY(-130%); transition:transform .3s cubic-bezier(.4,0,.2,1);
    max-height:calc(100vh - var(--header-h)); overflow-y:auto;
    box-shadow:var(--sombra-2);
  }
  .nav.aberto{ transform:translateY(0); }
  .nav a{
    padding:15px 18px; border-radius:var(--r-s);
    border:1px solid transparent; font-size:1.02rem;
  }
  .nav a[aria-current="page"]{ border-color:var(--dourado-35); }
  .menu-btn{ display:block; }
  .tel-topo span{ display:none; }
  .tel-topo{ width:46px; height:46px; justify-content:center; padding:0; }
  .tel-topo svg{ width:18px; height:18px; }
  .cabecalho__logo img{ height:56px; }
  .hero{ min-height:auto; }
  .confianca{ margin-top:20px; }
  .material__grade{ grid-template-columns:1fr; }
  .material--invertido .material__grade{ direction:ltr; }
  .material__figura{ order:-1; }
  .contato-grade{ grid-template-columns:1fr; }
  .filtro__contagem{ margin-left:0; width:100%; }
}

@media (max-width:620px){
  :root{ --gutter:18px; }
  body{ font-size:16px; }
  .hero__conteudo{ padding-block:56px; }
  .grupo-btn .btn{ width:100%; }
  .hero__selo{ border-radius:var(--r-m); }
  .confianca{ grid-template-columns:repeat(2,1fr); gap:10px; }
  .confianca__item{ padding:20px 14px 17px; }
  .material__linhas strong{ min-width:100%; }
  .material__cta{ padding:18px; }
  .material__cta .btn{ width:100%; }
  .rodape__grade{ grid-template-columns:1fr; gap:34px; }
  .wpp-fixo{
    right:14px; bottom:14px; left:14px;
    justify-content:center; padding:16px 18px; font-size:.94rem;
  }
  body{ padding-bottom:82px; }
}

@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* ==========================================================================
   Páginas de material (/materiais/*) — ficha de estoque, nota técnica e FAQ
   Componentes novos, mesma paleta e tipografia do restante do site.
   ========================================================================== */

/* Ficha de estoque (tabela de formatos) */
.ficha-wrap{
  overflow-x:auto;
  border:1px solid var(--painel-borda);
  border-radius:var(--r-m);
  background:var(--painel-solido);
  box-shadow:var(--sombra-1);
}
.ficha{ width:100%; border-collapse:collapse; min-width:520px; }
.ficha th, .ficha td{
  text-align:left; padding:16px 20px; vertical-align:top;
  border-bottom:1px solid var(--painel-borda);
}
.ficha tr:last-child th, .ficha tr:last-child td{ border-bottom:0; }
.ficha thead th{
  font-family:var(--f-mono); font-size:.7rem; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--dourado); background:var(--dourado-10);
  border-bottom:1px solid var(--dourado-35);
}
.ficha tbody th{
  font-family:var(--f-titulo); font-weight:500; font-size:1.02rem;
  text-transform:uppercase; letter-spacing:.03em; color:var(--offwhite);
  white-space:nowrap;
}
.ficha tbody td{ font-size:.95rem; color:var(--prata-suave); }
.ficha tbody td:nth-child(2){ font-family:var(--f-mono); font-size:.82rem; letter-spacing:.04em; color:var(--prata); }
.ficha tbody tr{ transition:background var(--transicao); }
.ficha tbody tr:hover{ background:rgba(212,167,61,.05); }
.ficha-obs{
  margin:14px 0 0; font-size:.9rem; color:var(--prata-fraca);
  padding-left:14px; border-left:2px solid var(--painel-borda-2);
}

/* Nota técnica (bloco de texto corrido com medida de leitura controlada) */
.texto-tecnico{ max-width:74ch; }
.texto-tecnico p{ color:var(--prata-suave); }

/* Perguntas frequentes */
.faq{ display:grid; gap:12px; max-width:860px; }
.faq details{
  background:var(--painel-solido);
  border:1px solid var(--painel-borda);
  border-radius:var(--r-m);
  padding:20px 24px;
  transition:border-color var(--transicao);
}
.faq details:hover{ border-color:var(--painel-borda-2); }
.faq details[open]{ border-color:var(--dourado-35); }
.faq summary{
  cursor:pointer; list-style:none;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  font-family:var(--f-titulo); font-weight:500; font-size:1.06rem;
  text-transform:uppercase; letter-spacing:.02em; color:var(--offwhite);
  line-height:1.25;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:"+"; flex:0 0 auto;
  font-family:var(--f-mono); font-size:1.4rem; line-height:1; color:var(--dourado);
  transition:transform var(--transicao);
}
.faq details[open] summary::after{ content:"–"; }
.faq summary:hover{ color:var(--dourado); }
.faq details p{
  margin:16px 0 0; font-size:.96rem; color:var(--prata-suave);
  max-width:70ch;
}

/* Cards de materiais relacionados */
.relacionados a.card{ display:block; color:inherit; }
.relacionados a.card h3{ color:var(--offwhite); transition:color var(--transicao); }
.relacionados a.card:hover h3{ color:var(--dourado); }
.relacionados a.card p{ color:var(--prata-suave); }

@media (max-width:760px){
  .ficha th, .ficha td{ padding:13px 16px; }
  .faq details{ padding:16px 18px; }
  .faq summary{ font-size:.98rem; }
}
