/* =====================================================================
   Concretize Esquadrias — sistema visual "Esquadria Áurea"
   Mobile-first. Paleta travada: preto, ouro, branco, cinza claro,
   cinza médio, grafite. Ouro = acento, nunca fundo longo, nunca texto pequeno.
   ===================================================================== */

:root{
  --preto:#0B0B0B;
  --ouro:#F9B20A;
  --branco:#FFFFFF;
  --cinza-claro:#F4F4F5;
  --cinza-medio:#9A9A9A;
  --grafite:#2A2A2A;

  --fonte-titulo:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --fonte-corpo:"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;

  --margem:20px;           /* sangria lateral no celular */
  --largura-max:1280px;
  --modulo:12px;           /* o quadrado ouro do caixilho */
  --linha:1px solid var(--grafite);
  --linha-clara:1px solid #DADADD;
  --altura-topo:64px;

  --t-rapido:160ms;
  --t-medio:320ms;
  --curva:cubic-bezier(.2,.7,.2,1);
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--fonte-corpo);
  font-size:17px;
  line-height:1.6;
  color:var(--preto);
  background:var(--branco);
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
p{margin:0}
h1,h2,h3,h4{font-family:var(--fonte-titulo);font-weight:700;line-height:1.1;margin:0;letter-spacing:-.01em}
h1{font-size:clamp(2rem,6vw + .5rem,4.4rem);font-weight:800}
h2{font-size:clamp(1.65rem,3.4vw + .5rem,2.8rem)}
h3{font-size:clamp(1.15rem,1.2vw + .8rem,1.5rem)}
strong{font-weight:600}

:focus-visible{outline:2px solid var(--ouro);outline-offset:3px}
.pular{position:absolute;left:-999px;top:0;background:var(--preto);color:var(--branco);padding:8px 14px;z-index:1000}
.pular:focus{left:12px;top:12px}

.container{width:100%;max-width:var(--largura-max);margin:0 auto;padding:0 var(--margem)}

/* ---------- o módulo ouro ---------- */
.modulo{display:inline-block;width:var(--modulo);height:var(--modulo);background:var(--ouro);flex:none}

/* rótulo numerado, como gravação em placa */
.rotulo{
  display:flex;align-items:center;gap:12px;
  font-family:var(--fonte-titulo);font-weight:600;font-size:.72rem;
  letter-spacing:.28em;text-transform:uppercase;color:var(--grafite);
}
.rotulo::before{content:"";width:var(--modulo);height:var(--modulo);background:var(--ouro)}
.rotulo--claro{color:var(--cinza-medio)}
.rotulo--hero{color:#E6E6E8;letter-spacing:.18em;font-size:.68rem}
@media (min-width:900px){.rotulo--hero{letter-spacing:.28em;font-size:.72rem}}

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 24px;
  font-family:var(--fonte-titulo);font-weight:600;font-size:.95rem;letter-spacing:.02em;
  border:1px solid transparent;cursor:pointer;
  transition:background var(--t-rapido) var(--curva),color var(--t-rapido) var(--curva),border-color var(--t-rapido) var(--curva),transform var(--t-rapido) var(--curva);
}
.btn:active{transform:translateY(1px)}
.btn--ouro{background:var(--ouro);color:var(--preto);border-color:var(--ouro)}
.btn--ouro:hover{background:var(--branco);border-color:var(--branco)}
.btn--preto{background:var(--preto);color:var(--branco);border-color:var(--preto);box-shadow:inset 0 -3px 0 var(--ouro)}
.btn--preto:hover{background:var(--grafite)}
.btn--contorno-branco{background:transparent;color:var(--branco);border-color:rgba(255,255,255,.7)}
.btn--contorno-branco:hover{border-color:var(--branco);background:rgba(255,255,255,.08)}
.btn--contorno-preto{background:transparent;color:var(--preto);border-color:var(--preto)}
.btn--contorno-preto:hover{background:var(--preto);color:var(--branco)}
.btn svg{width:18px;height:18px;flex:none}

/* link com traço, para "ver mais" */
.seta{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--fonte-titulo);font-weight:600;font-size:.9rem;letter-spacing:.04em;
}
.seta::after{
  content:"";width:28px;height:1px;background:currentColor;
  transition:width var(--t-medio) var(--curva);
}
.seta:hover::after{width:44px}

/* ---------- cabeçalho ---------- */
.topo{
  position:sticky;top:0;z-index:50;
  background:var(--branco);
  border-bottom:var(--linha-clara);
}
.topo__linha{
  height:var(--altura-topo);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.topo__marca img{height:30px;width:auto}
.topo__nav{display:none}
.topo__acoes{display:flex;align-items:center;gap:10px}
.topo__whats{min-height:42px;padding:0 16px;font-size:.85rem}
.topo__whats .topo__pre{display:none}
.topo__menu-btn{
  width:42px;height:42px;display:grid;place-items:center;
  background:none;border:1px solid var(--preto);cursor:pointer;padding:0;
}
.topo__menu-btn span{
  display:block;width:18px;height:2px;background:var(--preto);
  box-shadow:0 -6px 0 var(--preto),0 6px 0 var(--preto);
}
.topo__movel{
  display:none;
  border-top:var(--linha-clara);background:var(--branco);
}
.topo__movel.aberto{display:block}
.topo__movel a{
  display:flex;align-items:center;gap:14px;
  padding:16px var(--margem);border-bottom:var(--linha-clara);
  font-family:var(--fonte-titulo);font-weight:600;
}
.topo__movel a::before{content:"";width:var(--modulo);height:var(--modulo);background:var(--cinza-claro);transition:background var(--t-rapido)}
.topo__movel a:hover::before,.topo__movel a[aria-current="page"]::before{background:var(--ouro)}

@media (min-width:900px){
  :root{--altura-topo:76px;--margem:32px}
  .topo__marca img{height:38px}
  .topo__nav{display:flex;gap:34px}
  .topo__nav a{
    position:relative;font-family:var(--fonte-titulo);font-weight:600;font-size:.88rem;letter-spacing:.03em;
    padding:6px 0;
  }
  .topo__nav a::after{
    content:"";position:absolute;left:0;bottom:-2px;width:var(--modulo);height:3px;background:var(--ouro);
    transform:scaleX(0);transform-origin:left;transition:transform var(--t-medio) var(--curva);
  }
  .topo__nav a:hover::after,.topo__nav a[aria-current="page"]::after{transform:scaleX(1)}
  .topo__menu-btn,.topo__movel{display:none!important}
  .topo__whats{min-height:46px;padding:0 20px}
  .topo__whats .topo__pre{display:inline}
}
@media (min-width:1200px){:root{--margem:48px}}

/* ---------- botão flutuante ---------- */
.flutuante{
  position:fixed;right:18px;bottom:18px;z-index:60;
  display:flex;align-items:center;gap:10px;
  height:56px;padding:0 20px 0 16px;
  background:var(--preto);color:var(--branco);
  font-family:var(--fonte-titulo);font-weight:600;font-size:.88rem;
  border:1px solid var(--grafite);
  box-shadow:inset 0 -3px 0 var(--ouro);
  transition:transform var(--t-rapido) var(--curva);
}
.flutuante:hover{transform:translateY(-2px)}
.flutuante svg{width:22px;height:22px}
.flutuante .modulo{margin-left:4px}

/* ---------- secções ---------- */
.secao{padding:72px 0}
.secao--escura{background:var(--preto);color:var(--branco)}
.secao--clara{background:var(--cinza-claro)}
.secao__cabeca{display:grid;gap:18px;margin-bottom:40px}
.secao__cabeca p{max-width:56ch;color:var(--grafite)}
.secao--escura .secao__cabeca p{color:var(--cinza-medio)}
@media (min-width:900px){
  .secao{padding:112px 0}
  .secao__cabeca{grid-template-columns:1fr 1fr;align-items:end;gap:40px;margin-bottom:56px}
}

/* ---------- 1 · hero ---------- */
.hero{
  position:relative;min-height:calc(100svh - var(--altura-topo));
  display:flex;align-items:flex-end;
  background:var(--preto);color:var(--branco);overflow:hidden;
}
.hero__foto{position:absolute;inset:0}
.hero__foto img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.hero__foto::after{
  content:"";position:absolute;inset:0;
  /* Celular: o texto ocupa a largura toda, entao o veu vertical precisa segurar sozinho */
  background:linear-gradient(180deg,rgba(11,11,11,.34) 0%,rgba(11,11,11,.64) 45%,rgba(11,11,11,.90) 100%);
}
@media (min-width:900px){
  .hero__foto::after{
    /* Desktop: veu horizontal pela esquerda escurece so onde ha texto
       e devolve a foto limpa no lado direito */
    background:
      linear-gradient(90deg,rgba(11,11,11,.86) 0%,rgba(11,11,11,.72) 34%,rgba(11,11,11,.20) 64%,rgba(11,11,11,0) 82%),
      linear-gradient(180deg,rgba(11,11,11,.20) 0%,rgba(11,11,11,.34) 45%,rgba(11,11,11,.88) 100%);
  }
}
.hero__conteudo{position:relative;padding-block:56px 104px;width:100%}
.hero__caixilho{
  /* o caixilho: uma moldura fina, aberta no canto, como o "C" */
  display:grid;gap:22px;max-width:760px;
  padding:26px 0 0 26px;
  border-top:1px solid rgba(255,255,255,.45);
  border-left:1px solid rgba(255,255,255,.45);
  position:relative;
}
.hero__caixilho::before{content:"";position:absolute;left:-1px;top:-1px;width:var(--modulo);height:var(--modulo);background:var(--ouro)}
.hero h1{max-width:14ch;text-wrap:balance}
.hero__sub{font-size:1.05rem;max-width:44ch;color:#E6E6E8}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.hero__cota{
  display:none;
}
@media (min-width:900px){
  .hero__conteudo{padding-block:96px 80px}
  .hero__caixilho{padding:36px 0 0 36px;gap:28px}
  .hero__sub{font-size:1.2rem}
  .hero__cota{
    display:flex;position:absolute;right:var(--margem);bottom:150px;
    flex-direction:column;align-items:flex-end;gap:8px;
    font-family:var(--fonte-titulo);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--cinza-medio);
  }
  .hero__cota i{display:block;width:1px;height:72px;background:var(--cinza-medio);position:relative}
  .hero__cota i::after{content:"";position:absolute;left:-5px;bottom:0;width:11px;height:11px;background:var(--ouro)}
}

/* ---------- 2 · barra de provas ---------- */
.provas{background:var(--preto);color:var(--branco);border-top:1px solid var(--grafite)}
.provas ul{
  display:grid;grid-template-columns:1fr 1fr;
}
.provas li{
  padding:26px 0;display:grid;gap:4px;
  border-bottom:1px solid var(--grafite);
}
.provas li:nth-child(odd){padding-right:20px;border-right:1px solid var(--grafite)}
.provas li:nth-child(even){padding-left:20px}
.provas li:nth-last-child(-n+2){border-bottom:0}
.provas b{font-family:var(--fonte-titulo);font-weight:800;font-size:clamp(2rem,6vw,3rem);line-height:1;letter-spacing:-.02em}
.provas b::after{content:"";display:block;width:24px;height:3px;background:var(--ouro);margin-top:12px}
.provas span{font-size:.85rem;color:var(--cinza-medio);letter-spacing:.02em;margin-top:6px}
@media (min-width:900px){
  .provas ul{grid-template-columns:repeat(4,1fr)}
  .provas li{padding:40px 0;border-bottom:0!important;border-right:1px solid var(--grafite)}
  .provas li+li{padding-left:32px}
  .provas li:last-child{border-right:0}
}

/* ---------- 3 · duas portas ---------- */
.portas{display:grid;gap:0;border:var(--linha)}
.porta{
  position:relative;display:grid;grid-template-rows:auto 1fr;
  min-height:520px;overflow:hidden;
}
.porta+.porta{border-top:var(--linha)}
.porta__foto{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--cinza-claro)}
.porta__foto img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--curva)}
.porta:hover .porta__foto img{transform:scale(1.035)}
.porta__corpo{padding:28px var(--margem) 32px;display:grid;gap:18px;align-content:start}
.porta__corpo h3{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;letter-spacing:-.02em;max-width:12ch}
.porta__lista{display:grid;gap:8px;color:var(--grafite);font-size:.98rem}
.porta__lista li{display:flex;gap:12px;align-items:baseline}
.porta__lista li::before{content:"";width:6px;height:6px;background:var(--ouro);flex:none;transform:translateY(-2px)}
.porta__link{margin-top:8px}
.porta--escura{background:var(--preto);color:var(--branco)}
.porta--escura .porta__lista{color:#D6D6D8}
.porta--escura .rotulo{color:var(--cinza-medio)}
.porta__quem{font-size:.9rem;color:var(--cinza-medio);letter-spacing:.02em}
@media (min-width:900px){
  .portas{grid-template-columns:1fr 1fr}
  .porta+.porta{border-top:0;border-left:var(--linha)}
  .porta{min-height:640px}
  .porta__corpo{padding:36px 36px 40px}
  .porta__foto{aspect-ratio:16/10}
}

/* ---------- 4 · linhas de serviço ---------- */
.linhas{display:grid;gap:28px}
.linha{display:grid;gap:16px;position:relative}
.linha__foto{aspect-ratio:4/5;overflow:hidden;background:var(--cinza-claro);position:relative}
.linha__foto img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--curva)}
.linha:hover .linha__foto img{transform:scale(1.035)}
.linha__foto::after{
  content:"";position:absolute;left:0;bottom:0;width:var(--modulo);height:var(--modulo);background:var(--ouro);
  transform:translateY(100%);transition:transform var(--t-medio) var(--curva);
}
.linha:hover .linha__foto::after{transform:translateY(0)}
.linha__num{font-family:var(--fonte-titulo);font-weight:600;font-size:.72rem;letter-spacing:.3em;color:var(--cinza-medio)}
.linha h3{font-size:1.4rem}
.linha p{color:var(--grafite);max-width:34ch}
.linha .seta{margin-top:4px}
.linha a.linha__cobre{position:absolute;inset:0}
@media (min-width:640px){.linhas{grid-template-columns:repeat(3,1fr);gap:32px}}
@media (min-width:900px){.linha__foto{aspect-ratio:3/4}}

/* ---------- 5 · diferenciais ---------- */
.difs{display:grid;border-top:var(--linha)}
.dif{display:grid;gap:12px;padding:28px 0;border-bottom:var(--linha)}
.dif__num{font-family:var(--fonte-titulo);font-weight:600;font-size:.72rem;letter-spacing:.3em;color:var(--cinza-medio);display:flex;align-items:center;gap:12px}
.dif__num::after{content:"";width:var(--modulo);height:var(--modulo);background:var(--ouro);opacity:0;transition:opacity var(--t-medio)}
.dif:hover .dif__num::after{opacity:1}
.dif p{color:var(--grafite);max-width:40ch}
@media (min-width:900px){
  .difs{grid-template-columns:1fr 1fr;column-gap:64px}
  .dif{padding:40px 0}
}

/* ---------- 6 · obras de grande porte ---------- */
.obras{display:grid;gap:56px}
.obra{display:grid;gap:22px}
.obra__foto{aspect-ratio:16/10;overflow:hidden;background:var(--grafite)}
.obra__foto img{width:100%;height:100%;object-fit:cover}
.obra__corpo{display:grid;gap:16px}
.obra__local{color:var(--cinza-medio);font-size:.9rem}
.obra h3{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;letter-spacing:-.02em}
.obra p{color:#D6D6D8;max-width:48ch}
.obra__nums{display:grid;grid-template-columns:repeat(3,auto);gap:22px;justify-content:start;margin-top:6px}
.obra__nums div{display:grid;gap:4px}
.obra__nums b{font-family:var(--fonte-titulo);font-weight:800;font-size:1.6rem;line-height:1;letter-spacing:-.02em}
.obra__nums b::after{content:"";display:block;width:16px;height:2px;background:var(--ouro);margin-top:8px}
.obra__nums span{font-size:.78rem;color:var(--cinza-medio);letter-spacing:.02em}
@media (min-width:900px){
  .obras{gap:96px}
  .obra{grid-template-columns:7fr 5fr;gap:56px;align-items:center}
  .obra:nth-child(even) .obra__foto{order:2}
  .obra__nums{gap:32px}
  .obra__nums b{font-size:2rem}
}
.obras__rodape{margin-top:56px;display:flex;justify-content:flex-start}

/* ---------- 7 · prova social ---------- */
.avaliacoes{display:grid;gap:0;border:var(--linha-clara);background:var(--branco)}
.avaliacao{padding:28px var(--margem);display:grid;gap:18px;border-bottom:var(--linha-clara)}
.avaliacao:last-child{border-bottom:0}
.avaliacao__estrelas{display:flex;gap:4px}
.avaliacao__estrelas i{width:10px;height:10px;background:var(--ouro);display:block}
.avaliacao blockquote{margin:0;font-size:1.05rem;line-height:1.55;color:var(--preto)}
.avaliacao cite{font-style:normal;font-family:var(--fonte-titulo);font-weight:600;font-size:.85rem;letter-spacing:.04em;color:var(--grafite)}
@media (min-width:900px){
  .avaliacoes{grid-template-columns:repeat(3,1fr)}
  .avaliacao{padding:36px;border-bottom:0;border-right:var(--linha-clara)}
  .avaliacao:last-child{border-right:0}
}
.avaliacoes__rodape{margin-top:28px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;color:var(--grafite);font-size:.95rem}

/* ---------- 8 · CTA final ---------- */
.cta-final{position:relative;overflow:hidden}
.cta-final__grade{
  display:grid;gap:36px;
}
.cta-final h2{max-width:16ch;text-wrap:balance;font-size:clamp(1.9rem,4.5vw,3.4rem);font-weight:800;letter-spacing:-.02em}
.cta-final__info{display:grid;gap:14px;color:var(--cinza-medio);font-size:.95rem}
.cta-final__info b{color:var(--branco);font-family:var(--fonte-titulo);font-weight:700;font-size:1.25rem;letter-spacing:.01em}
.cta-final__acoes{display:flex;flex-wrap:wrap;gap:12px}
.cta-final__caixilho{
  display:none;
}
@media (min-width:900px){
  .cta-final__grade{grid-template-columns:7fr 5fr;align-items:end;gap:64px}
  .cta-final__caixilho{
    display:block;position:absolute;right:var(--margem);top:64px;
    width:180px;height:180px;
    border-top:1px solid var(--grafite);border-right:1px solid var(--grafite);border-bottom:1px solid var(--grafite);
  }
  .cta-final__caixilho::after{content:"";position:absolute;right:-1px;top:-1px;width:var(--modulo);height:var(--modulo);background:var(--ouro)}
}

/* ---------- rodapé ---------- */
.rodape{background:var(--preto);color:var(--cinza-medio);border-top:1px solid var(--grafite);font-size:.92rem}
.rodape__grade{display:grid;gap:40px;padding:64px 0 48px}
.rodape__col{display:grid;gap:14px;align-content:start}
.rodape__col h4{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--branco);font-weight:600;display:flex;align-items:center;gap:10px}
.rodape__col h4::before{content:"";width:8px;height:8px;background:var(--ouro)}
.rodape__marca img{height:30px;width:auto;margin-bottom:6px}
.rodape__bio{max-width:38ch;line-height:1.65}
.rodape__col a{color:#D6D6D8;transition:color var(--t-rapido)}
.rodape__col a:hover{color:var(--branco)}
.rodape__nav{display:grid;gap:10px;font-family:var(--fonte-titulo);font-weight:600;font-size:.9rem}
.rodape__contato{display:grid;gap:10px}
.rodape__contato address{font-style:normal;line-height:1.6}
.rodape__selo{width:120px;height:120px}
.rodape__linha{
  border-top:1px solid var(--grafite);padding:22px 0;
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.82rem;
}
@media (min-width:900px){
  .rodape__grade{grid-template-columns:1.4fr .8fr 1.1fr 1fr;gap:48px;padding:88px 0 64px}
}

/* ---------- movimento ao rolar ---------- */
.revela{opacity:0;transform:translateY(18px);transition:opacity 600ms var(--curva),transform 600ms var(--curva)}
.revela.em-cena{opacity:1;transform:none}
.revela[data-atraso="1"]{transition-delay:80ms}
.revela[data-atraso="2"]{transition-delay:160ms}
.revela[data-atraso="3"]{transition-delay:240ms}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .revela{opacity:1;transform:none;transition:none}
  *{transition-duration:0ms!important}
}

/* =====================================================================
   PÁGINAS INTERNAS — acréscimos ao sistema da Início (Prompts B–E)
   ===================================================================== */

/* ---------- abertura (topo das páginas internas) ---------- */
.abertura{background:var(--preto);color:var(--branco);position:relative;overflow:hidden}
.abertura__grade{display:grid;gap:32px;padding:56px 0 48px}
.abertura h1{font-size:clamp(2.2rem,6vw + .5rem,4.6rem);max-width:14ch;text-wrap:balance}
.abertura__sub{color:#D6D6D8;max-width:48ch;font-size:1.05rem}
.abertura__caixilho{
  display:grid;gap:20px;position:relative;
  padding:24px 0 0 24px;
  border-top:1px solid rgba(255,255,255,.45);border-left:1px solid rgba(255,255,255,.45);
}
.abertura__caixilho::before{content:"";position:absolute;left:-1px;top:-1px;width:var(--modulo);height:var(--modulo);background:var(--ouro)}
@media (min-width:900px){
  .abertura__grade{grid-template-columns:7fr 5fr;align-items:end;gap:64px;padding:96px 0 80px}
  .abertura__caixilho{padding:32px 0 0 32px;gap:24px}
  .abertura__sub{font-size:1.2rem}
}

/* índice de âncoras, como sumário de prancha */
.indice{display:grid;gap:0;border-top:1px solid var(--grafite)}
.indice a{
  display:flex;align-items:center;gap:16px;
  padding:14px 0;border-bottom:1px solid var(--grafite);
  font-family:var(--fonte-titulo);font-weight:600;font-size:.95rem;color:var(--branco);
  transition:color var(--t-rapido);
}
.indice a small{font-weight:600;font-size:.72rem;letter-spacing:.3em;color:var(--cinza-medio);width:2.4em}
.indice a::after{content:"";margin-left:auto;width:var(--modulo);height:var(--modulo);background:var(--grafite);transition:background var(--t-rapido)}
.indice a:hover::after,.indice a:focus-visible::after{background:var(--ouro)}

/* ---------- serviços · linha ---------- */
.servico{scroll-margin-top:var(--altura-topo)}
.servico+.servico{border-top:var(--linha-clara)}
.servico__cabeca{display:grid;gap:14px;margin-bottom:36px}
.servico__cabeca h2{font-size:clamp(1.9rem,4.5vw,3.2rem);font-weight:800;letter-spacing:-.02em}
.servico__sub{font-family:var(--fonte-titulo);font-weight:600;font-size:1.05rem;color:var(--grafite)}
.servico__grade{display:grid;gap:36px}
.servico__fotos{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:auto auto;gap:12px;align-items:start}
.servico__fotos figure{margin:0}
.servico__fotos .foto-a{grid-column:1;grid-row:1 / span 2;aspect-ratio:3/4;overflow:hidden;background:var(--cinza-claro)}
.servico__fotos .foto-b{grid-column:2;grid-row:1;aspect-ratio:1;overflow:hidden;background:var(--cinza-claro);position:relative;top:40px}
.servico__fotos img{width:100%;height:100%;object-fit:cover}
.servico__fotos .foto-b::after{content:"";position:absolute;right:0;bottom:0;width:var(--modulo);height:var(--modulo);background:var(--ouro)}
.legenda{
  grid-column:1 / -1;
  font-size:.82rem;color:var(--cinza-medio);letter-spacing:.02em;line-height:1.5;
  display:flex;gap:12px;align-items:baseline;padding-top:6px;
}
.legenda::before{content:"";width:16px;height:1px;background:var(--cinza-medio);flex:none;transform:translateY(-4px)}
.servico__corpo{display:grid;gap:28px;align-content:start}
.especs{display:grid;border-top:var(--linha)}
.especs li{
  display:grid;grid-template-columns:2.4em 1fr;gap:12px;
  padding:14px 0;border-bottom:var(--linha-clara);color:var(--grafite);line-height:1.5;
}
.especs li b{font-family:var(--fonte-titulo);font-weight:600;font-size:.72rem;letter-spacing:.25em;color:var(--cinza-medio);padding-top:.45em}
.especs li:last-child{border-bottom:var(--linha)}
.norma{
  display:inline-grid;grid-template-columns:auto 1fr;gap:0 16px;align-items:center;
  padding:14px 18px;border:var(--linha);position:relative;max-width:420px;
}
.norma::before{content:"";position:absolute;left:-1px;top:-1px;width:var(--modulo);height:var(--modulo);background:var(--ouro)}
.norma b{font-family:var(--fonte-titulo);font-weight:800;font-size:1.15rem;letter-spacing:.02em;grid-row:1 / span 2}
.norma small{font-size:.66rem;letter-spacing:.2em;white-space:nowrap;text-transform:uppercase;color:var(--cinza-medio);font-family:var(--fonte-titulo);font-weight:600}
.norma span{font-size:.9rem;color:var(--grafite)}
.servico__cta{display:flex;flex-wrap:wrap;gap:12px}
@media (min-width:900px){
  .servico__cabeca{grid-template-columns:1fr 1fr;align-items:end;gap:40px;margin-bottom:56px}
  .servico__grade{grid-template-columns:6fr 6fr;gap:64px;align-items:start}
  .servico--inverte .servico__fotos{order:2}
  .servico__fotos .foto-b{top:64px}
}

/* ---------- serviços · como trabalhamos ---------- */
.etapas{display:grid;gap:0;counter-reset:etapa;position:relative}
.etapa{
  display:grid;grid-template-columns:auto 1fr;gap:18px;
  padding:22px 0;border-bottom:1px solid var(--grafite);position:relative;
}
.etapa__num{
  font-family:var(--fonte-titulo);font-weight:800;font-size:1.6rem;line-height:1;letter-spacing:-.02em;color:var(--branco);
  display:grid;gap:10px;justify-items:start;
}
.etapa__num::after{content:"";width:var(--modulo);height:var(--modulo);background:var(--ouro)}
.etapa h3{color:var(--branco);margin-bottom:6px}
.etapa p{color:var(--cinza-medio);max-width:36ch;font-size:.95rem}
@media (min-width:900px){
  .etapas{grid-template-columns:repeat(5,1fr);gap:0}
  .etapa{grid-template-columns:1fr;gap:16px;padding:0 24px 0 0;border-bottom:0;border-top:1px solid var(--grafite);padding-top:24px}
  .etapa+.etapa{margin-left:24px}
  .etapa__num{font-size:2.2rem}
}

/* ---------- serviços · para especificadores ---------- */
.espec{display:grid;gap:40px}
.espec__cita{
  font-family:var(--fonte-titulo);font-weight:600;font-size:clamp(1.2rem,2vw + .4rem,1.7rem);line-height:1.35;
  max-width:30ch;letter-spacing:-.01em;
  padding-left:22px;border-left:1px solid var(--preto);position:relative;
}
.espec__cita::before{content:"";position:absolute;left:-1px;top:0;width:var(--modulo);height:var(--modulo);background:var(--ouro)}
.espec__lista{display:grid;border-top:var(--linha)}
.espec__lista li{display:grid;gap:6px;padding:20px 0;border-bottom:var(--linha-clara)}
.espec__lista li:last-child{border-bottom:var(--linha)}
.espec__lista h3{font-size:1.1rem}
.espec__lista p{color:var(--grafite);font-size:.98rem;max-width:44ch}
.espec__acoes{display:flex;flex-wrap:wrap;gap:12px}
@media (min-width:900px){
  .espec{grid-template-columns:5fr 7fr;gap:80px;align-items:start}
  .espec__lista{grid-template-columns:1fr 1fr;column-gap:40px}
  .espec__lista li:nth-last-child(-n+2){border-bottom:var(--linha)}
}

/* ---------- portfólio · obras de grande porte (fichas) ---------- */
.ficha{display:grid;gap:28px;padding:56px 0;border-top:1px solid var(--grafite)}
.ficha:first-child{border-top:0;padding-top:0}
.ficha__corpo{display:grid;gap:18px;align-content:start}
.ficha__local{color:var(--cinza-medio);font-size:.9rem}
.ficha h3{font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:800;letter-spacing:-.02em}
.ficha p{color:#D6D6D8;max-width:46ch}
.ficha__mosaico{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.ficha__mosaico figure{margin:0;overflow:hidden;background:var(--grafite);aspect-ratio:4/3}
.ficha__mosaico figure:first-child{grid-column:1 / -1;aspect-ratio:16/9}
.ficha__mosaico img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--curva)}
.ficha__mosaico button{all:unset;display:block;width:100%;height:100%;cursor:zoom-in}
.ficha__mosaico button:focus-visible{outline:2px solid var(--ouro);outline-offset:-2px}
.ficha__mosaico figure:hover img{transform:scale(1.03)}
@media (min-width:900px){
  .ficha{grid-template-columns:5fr 7fr;gap:64px;padding:96px 0;align-items:start}
  .ficha:nth-child(even) .ficha__corpo{order:2}
  .ficha__mosaico{grid-template-columns:repeat(3,1fr)}
  .ficha__mosaico figure:first-child{grid-column:1 / -1}
  .ficha__corpo{position:sticky;top:calc(var(--altura-topo) + 32px)}
}

/* ---------- portfólio · galeria ---------- */
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
.filtro{
  all:unset;cursor:pointer;
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 16px;border:1px solid var(--preto);
  font-family:var(--fonte-titulo);font-weight:600;font-size:.82rem;letter-spacing:.03em;
  transition:background var(--t-rapido),color var(--t-rapido);
}
.filtro::before{content:"";width:8px;height:8px;background:transparent;border:1px solid currentColor;transition:background var(--t-rapido)}
.filtro:hover{background:var(--cinza-claro)}
.filtro[aria-pressed="true"]{background:var(--preto);color:var(--branco)}
.filtro[aria-pressed="true"]::before{background:var(--ouro);border-color:var(--ouro)}
.filtro:focus-visible{outline:2px solid var(--ouro);outline-offset:3px}
.filtro small{font-weight:600;color:var(--cinza-medio);font-size:.72rem;letter-spacing:.1em}
.filtro[aria-pressed="true"] small{color:var(--cinza-medio)}

/* grade que cresce: colunas automáticas, ritmo por posição (não por foto) */
.galeria{
  display:grid;gap:10px;
  grid-template-columns:repeat(2,1fr);
  grid-auto-flow:dense;
}
.galeria__item{margin:0;overflow:hidden;background:var(--cinza-claro);aspect-ratio:4/5;position:relative}
.galeria__item button{all:unset;display:block;width:100%;height:100%;cursor:zoom-in}
.galeria__item button:focus-visible{outline:2px solid var(--ouro);outline-offset:-2px}
.galeria__item img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--curva)}
.galeria__item:hover img{transform:scale(1.03)}
.galeria__item::after{
  content:"";position:absolute;left:0;bottom:0;width:var(--modulo);height:var(--modulo);background:var(--ouro);
  transform:translateY(100%);transition:transform var(--t-medio) var(--curva);
}
.galeria__item:hover::after{transform:translateY(0)}
.galeria__item[hidden]{display:none}
/* a cada 7 visíveis, um respiro largo — vale para as fotos que ainda vão chegar */
.galeria__item.larga{grid-column:span 2;aspect-ratio:16/10}
.galeria__legenda{
  position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;
  background:linear-gradient(180deg,rgba(11,11,11,0),rgba(11,11,11,.75));
  color:var(--branco);font-size:.78rem;letter-spacing:.02em;
  opacity:0;transition:opacity var(--t-medio);pointer-events:none;
}
.galeria__item:hover .galeria__legenda,.galeria__item:focus-within .galeria__legenda{opacity:1}
/* ficha de linha: aparece quando um filtro de linha está ativo */
.galeria__ficha{
  display:grid;gap:14px;align-content:start;
  padding:calc(24px + var(--modulo) + 16px) 24px 24px;background:var(--preto);color:var(--branco);
  aspect-ratio:4/5;position:relative;
}
.galeria__ficha[hidden]{display:none}
.galeria__ficha::before{content:"";position:absolute;left:24px;top:24px;width:var(--modulo);height:var(--modulo);background:var(--ouro)}
.galeria__ficha h3{font-size:1.35rem}
.galeria__ficha p{color:#D6D6D8;font-size:.95rem}
.galeria__ficha .seta{color:var(--branco);margin-top:6px;white-space:nowrap}
.galeria__vazia{padding:40px 0;color:var(--grafite)}
@media (min-width:640px){.galeria{grid-template-columns:repeat(3,1fr)}}
@media (min-width:900px){
  .galeria{grid-template-columns:repeat(4,1fr);gap:12px}
  .galeria__ficha{padding:calc(28px + var(--modulo) + 16px) 28px 28px}
  .galeria__ficha::before{left:28px;top:28px}
}
@media (min-width:1200px){.galeria{grid-template-columns:repeat(5,1fr)}}

/* ---------- lightbox ---------- */
.lightbox{
  position:fixed;inset:0;z-index:100;background:rgba(11,11,11,.985);
  display:none;grid-template-rows:auto 1fr auto;color:var(--branco);
}
.lightbox.aberto{display:grid}
.lightbox__topo{display:flex;justify-content:space-between;align-items:center;padding:14px var(--margem)}
.lightbox__contador{font-family:var(--fonte-titulo);font-weight:600;font-size:.78rem;letter-spacing:.3em;color:var(--cinza-medio)}
.lightbox__fechar,.lightbox__nav{
  all:unset;cursor:pointer;display:grid;place-items:center;
  width:48px;height:48px;border:1px solid var(--grafite);color:var(--branco);
  transition:border-color var(--t-rapido);
}
.lightbox__fechar:hover,.lightbox__nav:hover{border-color:var(--ouro)}
.lightbox__fechar:focus-visible,.lightbox__nav:focus-visible{outline:2px solid var(--ouro);outline-offset:2px}
.lightbox__palco{position:relative;display:grid;place-items:center;padding:0 var(--margem);min-height:0}
.lightbox__palco img{max-width:100%;max-height:calc(100vh - 170px);width:auto;height:auto;object-fit:contain}
.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%)}
.lightbox__nav--ant{left:var(--margem)}
.lightbox__nav--prox{right:var(--margem)}
.lightbox__rodape{padding:14px var(--margem) 18px;display:grid;gap:4px}
.lightbox__legenda{font-size:.92rem;color:#D6D6D8;max-width:70ch}
.lightbox__linha{font-family:var(--fonte-titulo);font-weight:600;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--cinza-medio)}
@media (max-width:899px){
  .lightbox__nav{top:auto;bottom:-4px;transform:none}
  .lightbox__palco{padding-bottom:56px}
}
body.sem-rolagem{overflow:hidden}

/* ---------- sobre ---------- */
.abertura--foto{padding:0}
.abertura--foto .abertura__grade{grid-template-columns:1fr;padding:0}
.abertura__imagem{aspect-ratio:4/3;overflow:hidden;background:var(--grafite)}
.abertura__imagem img{width:100%;height:100%;object-fit:cover}
.abertura--foto .abertura__caixilho{margin:40px var(--margem) 56px}
@media (min-width:900px){
  .abertura--foto .abertura__grade{grid-template-columns:6fr 6fr;align-items:center;gap:0;max-width:none;padding:0}
  .abertura--foto .abertura__caixilho{margin:96px var(--margem) 96px max(var(--margem),calc((100vw - var(--largura-max)) / 2 + var(--margem)))}
  .abertura__imagem{aspect-ratio:auto;height:100%;min-height:560px}
}
.historia{display:grid;gap:40px}
.historia__texto{display:grid;gap:22px;font-size:1.08rem;line-height:1.7;color:var(--grafite);max-width:58ch}
.historia__texto p:first-child::first-letter{font-family:var(--fonte-titulo);font-weight:800;font-size:3.2em;line-height:.85;float:left;padding:6px 10px 0 0;color:var(--preto)}
.historia__foto{aspect-ratio:4/5;overflow:hidden;background:var(--cinza-claro)}
.historia__foto img{width:100%;height:100%;object-fit:cover}
@media (min-width:900px){
  .historia{grid-template-columns:7fr 5fr;gap:80px;align-items:start}
  .historia__foto{position:sticky;top:calc(var(--altura-topo) + 32px)}
}
/* o detalhe fundador */
.fundador{position:relative}
.fundador__grade{display:grid;gap:28px}
.fundador blockquote{
  margin:0;font-family:var(--fonte-titulo);font-weight:700;letter-spacing:-.015em;
  font-size:clamp(1.5rem,3.2vw + .4rem,2.9rem);line-height:1.2;max-width:24ch;text-wrap:balance;
}

.fundador__assinatura{display:grid;gap:6px;margin-top:32px}
.fundador__assinatura cite{font-style:normal;font-family:var(--fonte-titulo);font-weight:700;font-size:1.05rem;letter-spacing:.01em;color:var(--branco)}
.fundador__assinatura span{font-family:var(--fonte-titulo);font-weight:600;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--cinza-medio)}
.fundador__foto{aspect-ratio:1;overflow:hidden;background:var(--grafite)}
.fundador__foto img{width:100%;height:100%;object-fit:cover}
@media (min-width:900px){
  .fundador__grade{grid-template-columns:7fr 5fr;gap:80px;align-items:center}
}
/* linha do tempo: trilho com cotas */
.tempo{position:relative;display:grid;gap:0}
.marco{
  display:grid;grid-template-columns:auto 1fr;gap:20px;
  padding:0 0 36px;position:relative;
}
.marco__eixo{position:relative;width:var(--modulo)}
.marco__eixo::before{content:"";position:absolute;left:calc(50% - .5px);top:0;bottom:0;width:1px;background:var(--grafite)}
.marco__eixo::after{content:"";position:absolute;left:0;top:6px;width:var(--modulo);height:var(--modulo);background:var(--ouro)}
.marco:last-child .marco__eixo::before{bottom:auto;height:6px}
.marco__ano{font-family:var(--fonte-titulo);font-weight:800;font-size:1.5rem;line-height:1;letter-spacing:-.02em;display:flex;align-items:flex-end;min-height:1.6rem}
.marco__ano--texto{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--cinza-medio);font-weight:600;padding-bottom:3px}
.marco h3{font-size:1.15rem;margin-top:8px}
.marco p{color:var(--grafite);max-width:36ch;margin-top:6px;font-size:.98rem}
@media (min-width:900px){
  .tempo{grid-template-columns:repeat(5,1fr)}
  .marco{grid-template-columns:1fr;gap:16px;padding:0 24px 0 0}
  .marco__eixo{width:auto;height:var(--modulo)}
  .marco__eixo::before{left:0;right:-24px;top:calc(50% - .5px);bottom:auto;height:1px;width:auto}
  .marco__eixo::after{top:0;left:0}
  .marco:last-child .marco__eixo::before{right:auto;width:6px;height:1px}
}
.equipe{display:grid;gap:40px}
.equipe__texto{font-size:1.08rem;line-height:1.7;color:var(--grafite);max-width:52ch}
.equipe__fatos{display:grid;border-top:var(--linha)}
.equipe__fatos li{display:grid;gap:6px;padding:20px 0;border-bottom:var(--linha-clara)}
.equipe__fatos li:last-child{border-bottom:var(--linha)}
.equipe__fatos h3{font-size:1.1rem}
.equipe__fatos p{color:var(--grafite);font-size:.98rem}
.equipe__fotos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.equipe__fotos figure{margin:0;overflow:hidden;background:var(--cinza-claro);aspect-ratio:4/5}
.equipe__fotos figure:first-child{aspect-ratio:3/4}
.equipe__fotos figure:last-child{aspect-ratio:3/4;position:relative;top:40px}
.equipe__fotos img{width:100%;height:100%;object-fit:cover}
.equipe__fotos .legenda{grid-column:1 / -1;padding-top:52px}
.equipe__fotos figure.largo{grid-column:1 / -1;aspect-ratio:16/9}
.equipe__fotos figure.largo + figure{aspect-ratio:3/4}
@media (min-width:900px){
  .equipe{grid-template-columns:6fr 6fr;gap:80px;align-items:start}
  .equipe__fatos{grid-template-columns:1fr 1fr;column-gap:40px}
  .equipe__fatos li:nth-last-child(-n+2){border-bottom:var(--linha)}
}
.estrutura{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.estrutura figure{margin:0;overflow:hidden;background:var(--grafite);aspect-ratio:3/4}
.estrutura img{width:100%;height:100%;object-fit:cover}
.estrutura .legenda{grid-column:1 / -1}
.estrutura figure.largo{grid-column:1 / -1;aspect-ratio:4/3;order:-1}
.estrutura .legenda{order:1}
@media (min-width:900px){
  .estrutura{grid-template-columns:3fr 5.333fr 3fr;gap:12px}
  .estrutura figure.largo{grid-column:auto;order:0}
}

/* ---------- contato ---------- */
.canais{display:grid;gap:12px}
.canal{display:grid;gap:14px;padding:28px 24px;border:var(--linha);position:relative;align-content:start;min-height:220px}
.canal__nome{font-family:var(--fonte-titulo);font-weight:600;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--cinza-medio)}
.canal b{font-family:var(--fonte-titulo);font-weight:800;font-size:1.3rem;letter-spacing:-.01em;word-break:break-word}
.canal b.canal__email{font-size:clamp(.95rem,4.2vw,1.3rem);word-break:normal;overflow-wrap:normal}
.canal p{color:var(--grafite);font-size:.95rem}
.canal .btn,.canal .seta{margin-top:auto;justify-self:start}
.canal--ouro{background:var(--ouro);border-color:var(--ouro);color:var(--preto)}
.canal--ouro .canal__nome{color:var(--preto);opacity:.75}
.canal--ouro p{color:var(--preto)}
.canal--ouro .btn--preto{box-shadow:inset 0 -3px 0 var(--branco)}
@media (min-width:900px){.canais{grid-template-columns:1.2fr 1fr 1fr;gap:16px}}

.formulario{display:grid;gap:40px}
.formulario__intro{display:grid;gap:14px;align-content:start;color:var(--grafite)}
.formulario__intro p{max-width:40ch}
.campos{display:grid;gap:18px}
.campo{display:grid;gap:8px}
.campo label{font-family:var(--fonte-titulo);font-weight:600;font-size:.82rem;letter-spacing:.03em}
.campo label small{color:var(--cinza-medio);font-weight:600;font-size:.72rem;letter-spacing:.08em;margin-left:6px}
.campo input,.campo select,.campo textarea{
  font:inherit;font-size:1rem;color:var(--preto);
  padding:14px 16px;border:1px solid var(--grafite);background:var(--branco);border-radius:0;
  width:100%;
}
.campo select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--preto) 50%),linear-gradient(135deg,var(--preto) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:44px}
.campo textarea{min-height:150px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--preto);box-shadow:inset 0 -3px 0 var(--ouro)}
.campos__linha{display:grid;gap:18px}
.formulario__acoes{display:grid;gap:14px;justify-items:start}
.formulario__nota{font-size:.85rem;color:var(--cinza-medio);max-width:48ch}
@media (min-width:640px){.campos__linha{grid-template-columns:1fr 1fr}}
@media (min-width:900px){.formulario{grid-template-columns:4fr 8fr;gap:80px;align-items:start}}

.onde{display:grid;gap:40px}
.onde__info{display:grid;gap:26px;align-content:start}
.onde__bloco{display:grid;gap:8px}
.onde__bloco h3{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--cinza-medio);font-weight:600;display:flex;align-items:center;gap:10px}
.onde__bloco h3::before{content:"";width:8px;height:8px;background:var(--ouro)}
.onde__bloco address{font-style:normal;line-height:1.6}
.onde__bloco p{color:var(--grafite)}
.onde__mapa{position:relative;background:var(--cinza-claro);aspect-ratio:4/3;overflow:hidden;border:var(--linha-clara)}
.onde__mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.05)}
.onde__mapa::after{content:"";position:absolute;left:0;top:0;width:var(--modulo);height:var(--modulo);background:var(--ouro);pointer-events:none}
@media (min-width:900px){
  .onde{grid-template-columns:5fr 7fr;gap:64px;align-items:start}
  .onde__mapa{aspect-ratio:16/10}
}

/* ---------- dez anos: capítulos com trilho ---------- */
.capitulos{display:grid}
.capitulo{position:relative;display:grid;gap:20px;padding:0 0 56px 32px}
.capitulo::before{content:"";position:absolute;left:calc(var(--modulo) / 2 - .5px);top:6px;bottom:0;width:1px;background:#CFCFD3}
.capitulo::after{content:"";position:absolute;left:0;top:6px;width:var(--modulo);height:var(--modulo);background:var(--ouro)}
.capitulo:last-child{padding-bottom:0}
.capitulo:last-child::before{display:none}
.capitulo__num{display:block;font-family:var(--fonte-titulo);font-weight:600;font-size:.72rem;letter-spacing:.3em;color:#6B6B6B;line-height:24px}
.capitulo h3{font-size:1.3rem;margin-top:6px}
.capitulo p{color:var(--grafite);max-width:40ch;margin-top:8px}
.capitulo__fotos{display:flex;gap:10px;align-items:flex-start}
.capitulo__fotos figure{margin:0;flex:var(--r) 1 0;min-width:0;aspect-ratio:var(--r);overflow:hidden;background:#E4E4E7}
.capitulo__fotos img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}
.capitulo__fotos--1{max-width:420px}
@media (min-width:900px){
  .capitulo{grid-template-columns:4fr 8fr;column-gap:56px;padding:0 0 80px 44px;align-items:start}
  .capitulo__fotos{gap:12px}
}

/* então e hoje */
.entao{margin-top:88px;padding-top:40px;border-top:var(--linha)}
.pares{display:grid;gap:40px;margin-top:28px}
.par{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.par__foto{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--grafite)}
.par__foto img{width:100%;height:100%;object-fit:cover}
.par__foto--claro{background:var(--branco)}
.par__foto--claro img{object-fit:contain}
.par__foto--marca{background:var(--preto);display:grid;place-items:center}
.par__foto--marca img{width:72%;height:auto;object-fit:contain}
.par__foto--texto{background:var(--preto);color:var(--branco);display:grid;align-items:end;padding:36px 12px 12px}
.par__foto--texto p{font-family:var(--fonte-titulo);font-weight:600;font-size:clamp(.82rem,3.4vw,1.1rem);line-height:1.35;max-width:22ch}
@media (min-width:900px){.par__foto--texto{padding:44px 18px 18px}}
.par__tag{position:absolute;left:0;top:0;z-index:1;display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--preto);color:var(--branco);font-family:var(--fonte-titulo);font-weight:600;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase}
.par__tag--hoje::before{content:"";width:8px;height:8px;background:var(--ouro)}
.par__legenda{grid-column:1 / -1;font-family:var(--fonte-titulo);font-weight:600;font-size:1rem;padding-top:6px}
.par__legenda span{color:var(--cinza-medio);padding:0 4px}
@media (min-width:900px){
  .pares{grid-template-columns:repeat(3,1fr);gap:24px}
  .par{grid-template-columns:1fr;gap:10px}
}

/* barra de provas: o marco dos dez anos leva à história */
.provas a{display:grid;gap:4px;color:inherit;text-decoration:none}
.provas a span{display:flex;align-items:center;gap:8px}
.provas a span::after{content:"→";color:var(--ouro);transition:transform var(--t-rapido)}
.provas a:hover span::after,.provas a:focus-visible span::after{transform:translateX(4px)}
.provas a:hover span{color:var(--branco)}
#dez-anos{scroll-margin-top:var(--altura-topo)}
@media (max-width:599px){.capitulo__fotos--empilha{flex-direction:column}.capitulo__fotos--empilha figure{flex:none;width:100%}}
/* v5: capítulo com quatro fotos em grade 2×2; quatro pares no "então e hoje" */
.capitulo__fotos--grade{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.capitulo__fotos--grade figure{flex:none;aspect-ratio:4/3}
@media (min-width:900px){.capitulo__fotos--grade{gap:12px}.pares--4{grid-template-columns:repeat(4,1fr);gap:20px}}
.par{align-content:start}
/* v6: equipe com três fotos (a primeira em destaque); marca em cor sobre branco */
.capitulo__fotos--grade3{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.capitulo__fotos--grade3 figure{flex:none;aspect-ratio:4/3}
.capitulo__fotos--grade3 figure:first-child{grid-column:1 / -1;aspect-ratio:16/10}
@media (min-width:900px){.capitulo__fotos--grade3{gap:12px}}
.par__foto--marca-cor{background:var(--branco)}
/* formulários Microsoft Forms incorporados (clientes em Contato, fornecedores em Fornecedores) */
.formulario__embed{display:grid;gap:14px;justify-items:start}
.formulario__embed iframe{display:block;width:100%;height:1250px;border:0;background:var(--branco);box-shadow:inset 0 0 0 1px #DADADD}
@media (min-width:900px){.formulario__embed iframe{height:1150px}}
/* formulário incorporado: texto em cima, formulário embaixo, em toda a largura */
.formulario--empilhado{gap:28px}
.formulario--empilhado .formulario__intro p{max-width:62ch}
.formulario--empilhado .formulario__embed{justify-items:stretch}
.formulario--empilhado .formulario__embed .seta{justify-self:start}
@media (min-width:900px){.formulario--empilhado{grid-template-columns:1fr;gap:36px}.formulario--empilhado .formulario__embed iframe{height:1300px}}
/* Contato · 02: textos e botão direto na seção, sem cartão */
.form-direto{display:grid;gap:32px}
.form-direto__corpo{display:grid;gap:28px;align-content:start}
.form-direto__lista{display:grid;gap:14px;color:var(--grafite);font-size:1.02rem;max-width:48ch}
.form-direto__lista li{display:flex;gap:14px;align-items:baseline}
.form-direto__lista li::before{content:"";flex:none;width:9px;height:9px;background:var(--ouro);transform:translateY(-1px)}
.form-direto__btn{justify-self:start;gap:12px}
.form-direto__btn span{transition:transform var(--t-rapido)}
.form-direto__btn:hover span{transform:translateX(4px)}
@media (min-width:900px){.form-direto{grid-template-columns:6fr 5fr;gap:80px;align-items:start}.form-direto__corpo{padding-top:4px}}
