:root{
  --branco:#FFFFFF;
  --papel:#F7F5F1;
  --bege:#EDE7DF;
  --bege-fundo:#E4DBD0;
  --grafite:#2B2724;
  --tinta:#3D3830;
  --suave:#6E675E;
  --cinza:#5C564D;
  --linha:#DED7CE;
  --cobre:#A9713F;
  --cobre-claro:#C79A67;
  --cobre-texto:#8B5A2E;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',system-ui,-apple-system,sans-serif;
  --w:min(1240px,88vw);
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{overflow-x:hidden}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:500;color:var(--tinta);background:var(--branco);
  -webkit-font-smoothing:antialiased;line-height:1.62}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
.w{width:var(--w);margin-inline:auto}
section{position:relative}

/* ── tipografia da referência: serifada grande + label espaçado ── */
.display{font-family:var(--serif);font-weight:300;line-height:1.02;letter-spacing:.045em;
  font-size:clamp(2.1rem,5.6vw,4.4rem);color:var(--cobre);text-transform:uppercase}
h2.display{margin:0}
.label{font-size:.62rem;letter-spacing:.4em;text-transform:uppercase;color:var(--suave);font-weight:400}
.label-claro{color:rgba(255,255,255,.82)}
.assin{font-size:.58rem;letter-spacing:.38em;text-transform:uppercase;color:var(--suave);line-height:2}
p.texto{color:var(--tinta);font-size:clamp(.95rem,1.35vw,1.03rem);max-width:64ch}

/* ── botões ── */
.btn{display:inline-block;border:1px solid var(--cobre);color:var(--cobre);background:none;
  font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;padding:.95rem 2rem;cursor:pointer;
  transition:.4s;white-space:nowrap}
.btn:hover{background:var(--cobre);color:#fff}
.btn.claro{border-color:rgba(255,255,255,.65);color:#fff}
.btn.claro:hover{background:#fff;color:var(--grafite)}
.btn.cheio{background:var(--cobre);color:#fff}
.btn.cheio:hover{background:var(--grafite);border-color:var(--grafite)}

/* ══════════ HEADER ══════════ */
header{position:fixed;top:0;left:0;right:0;z-index:120;padding:1.15rem 0;
  transition:background .45s,padding .45s,box-shadow .45s;background:transparent}
header.solido{background:rgba(255,255,255,.97);backdrop-filter:blur(12px);
  box-shadow:0 1px 0 var(--linha);padding:.4rem 0}
header .w{display:flex;align-items:center;justify-content:space-between;gap:1.4rem}
.hlogo{display:block;flex:none}
.hlogo img{width:clamp(112px,12vw,168px);transition:width .45s,filter .45s;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.55))}
header.solido .hlogo img{filter:none}
header.solido .hlogo img{width:clamp(68px,5.8vw,90px)}
nav.menu{display:flex;gap:clamp(1.2rem,2.4vw,2.4rem);align-items:center}
nav.menu a{font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:#fff;position:relative;
  padding-bottom:5px;transition:color .4s;white-space:nowrap}
header.solido nav.menu a{color:var(--grafite)}
nav.menu a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--cobre);transition:width .38s}
nav.menu a:hover::after{width:100%}
nav.menu a:hover{color:var(--cobre)}
#burger{display:none;background:none;border:0;width:44px;height:44px;margin-right:-7px;
  position:relative;cursor:pointer;z-index:130}
#burger i{position:absolute;left:7px;width:30px;height:1px;background:#fff;transition:.35s}
header.solido #burger i,body.menu-on #burger i{background:var(--grafite)}
#burger i:nth-child(1){top:14px}#burger i:nth-child(2){top:21px}#burger i:nth-child(3){top:28px}
body.menu-on #burger i:nth-child(1){top:21px;transform:rotate(45deg)}
body.menu-on #burger i:nth-child(2){opacity:0}
body.menu-on #burger i:nth-child(3){top:21px;transform:rotate(-45deg)}

/* ══════════ HOME — slider ══════════ */
#home{height:100svh;min-height:580px;position:relative;overflow:hidden;background:var(--grafite)}
.slides{position:absolute;inset:0}
.slides figure{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease}
.slides figure.at{opacity:1}
.slides img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 9s linear}
.slides img.foco-alto{object-position:36% 62%;transform:none}
.slides figure.at img{transform:scale(1)}
.slides::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,17,15,.52) 0%,rgba(20,17,15,.30) 38%,rgba(20,17,15,.66) 100%)}
.hero-in{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:0 1.2rem;z-index:2}
.hero-in .marca-hero{width:clamp(230px,32vw,430px);margin-inline:auto;
  filter:drop-shadow(0 8px 34px rgba(0,0,0,.45))}
.hero-in .sub{margin-top:1.5rem;font-size:.6rem;letter-spacing:.42em;text-transform:uppercase;
  color:rgba(255,255,255,.9);line-height:2.2}
.hero-acoes{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;margin-top:2.4rem}
.dots{position:absolute;bottom:2.4rem;left:50%;transform:translateX(-50%);display:flex;gap:.6rem;z-index:3}
.dots b{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;
  transition:.35s;display:block}
.dots b.at{background:#fff;transform:scale(1.25)}
.anim .hero-in .marca-hero{opacity:0;transform:translateY(16px)}
.anim #home.pronto .hero-in .marca-hero{opacity:1;transform:none;
  transition:opacity 1.4s .25s ease,transform 1.6s .25s cubic-bezier(.16,1,.3,1)}
.anim .hero-in .sub,.anim .hero-acoes{opacity:0}
.anim #home.pronto .hero-in .sub{opacity:1;transition:opacity 1.2s .8s ease}
.anim #home.pronto .hero-acoes{opacity:1;transition:opacity 1.2s 1.05s ease}

/* ══════════ reveal ══════════ */
.anim .rev{opacity:0;transform:translateY(24px)}
.anim .rev.vis{opacity:1;transform:none;
  transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1.15s cubic-bezier(.16,1,.3,1)}
.anim .rev.d1.vis{transition-delay:.1s}.anim .rev.d2.vis{transition-delay:.2s}
.anim .rev.d3.vis{transition-delay:.3s}

/* ══════════ MISSÃO ══════════ */
.missao-grade{display:grid;grid-template-columns:1fr 1fr;min-height:min(84vh,720px)}
.missao-foto{background:url(img/obra-nova/hall-escada.jpg) center/cover no-repeat}
.missao-txt{background:var(--bege-fundo);display:flex;flex-direction:column;justify-content:center;
  padding:clamp(2.4rem,6vw,5.4rem)}
.missao-txt .display{font-size:clamp(1.9rem,4vw,3.1rem);margin-bottom:1.6rem}
.missao-txt p{color:var(--grafite);max-width:52ch}
.missao-txt b{color:var(--cobre-texto);font-weight:500}
.missao-txt .proposito{font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(1.35rem,2.4vw,1.85rem);color:var(--cinza);margin-top:1.5rem;line-height:1.25}
.missao-txt .asua{font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:1.25em;color:var(--cinza);display:inline-block;margin-top:.15rem}
.missao-txt p + p{margin-top:1.2rem}
.missao-txt .assin{margin-top:2.2rem}

/* ══════════ SOBRE NÓS ══════════ */
#sobre{padding:clamp(5rem,11vw,9rem) 0;background:var(--papel)}
.cabeca{text-align:center;margin-bottom:clamp(2.6rem,6vw,4.4rem)}
.cabeca .display{margin-top:1rem}
.cabeca .assin{margin-top:1.1rem}
.sobre-grade{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(2rem,5vw,4.6rem);align-items:center}
.sobre-foto{position:relative}
.sobre-foto img{width:100%;aspect-ratio:7/10;object-fit:cover;object-position:50% 35%}
.sobre-foto .moldura{position:absolute;left:-16px;top:-16px;right:16px;bottom:16px;
  border:1px solid var(--cobre);z-index:0}
.sobre-foto img{position:relative;z-index:1}
.sobre-txt h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.8vw,2.2rem);
  color:var(--grafite);line-height:1.2}
.sobre-txt p{margin-top:1.2rem;color:var(--grafite)}
.sobre-txt b{color:var(--cobre-texto);font-weight:500}
.numeros{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.4rem;
  border-top:1px solid var(--linha);padding-top:1.8rem}
.numeros b{display:block;font-family:var(--serif);font-size:clamp(1.9rem,3.6vw,2.7rem);
  font-weight:400;color:var(--cobre);line-height:1}
.numeros span{display:block;font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--suave);margin-top:.5rem}

/* ══════════ EQUIPE ══════════ */
.equipe{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.2rem,2.6vw,2.2rem);
  margin-top:clamp(3rem,6vw,4.6rem)}
.eq{background:var(--branco);border:1px solid var(--linha)}
.eq img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:58% 62%}
.eq img.corpo-inteiro{aspect-ratio:3/4;object-position:50% 8%}
.eq .txt{padding:1.5rem 1.6rem 1.8rem}
.eq h4{font-family:var(--serif);font-size:1.35rem;font-weight:400;color:var(--grafite)}
.eq p{font-size:.9rem;color:var(--suave);margin-top:.5rem}

/* ══════════ SERVIÇOS ══════════ */
#servicos{padding:clamp(5rem,11vw,9rem) 0;background:var(--branco)}
.servicos{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2vw,1.8rem)}
.serv{position:relative;overflow:hidden;aspect-ratio:3/4;display:block}
.serv img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.16,1,.3,1)}
.serv img.foco-esquerda{object-position:8% 50%}
.serv:hover img{transform:scale(1.06)}
.serv::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(18,15,13,.86) 0%,rgba(18,15,13,.24) 46%,transparent 72%)}
.serv .conteudo{position:absolute;left:0;right:0;bottom:0;padding:clamp(1.4rem,2.4vw,2rem);z-index:2;color:#fff}
.serv h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.1}
.serv p{font-size:.86rem;color:rgba(255,255,255,.82);margin-top:.5rem;max-width:30ch}
.serv .mais{display:inline-block;margin-top:1.1rem;font-size:.58rem;letter-spacing:.3em;
  text-transform:uppercase;border:1px solid rgba(255,255,255,.55);padding:.6rem 1.2rem;transition:.35s}
.serv:hover .mais{background:#fff;color:var(--grafite);border-color:#fff}
/* card ainda sem foto real do cliente — placeholder marcado, nunca foto de outro projeto */
.serv.sem-foto{background:var(--bege-fundo);border:1px dashed var(--cobre)}
.serv.sem-foto::after{background:linear-gradient(to top,rgba(228,219,208,.96) 0%,rgba(228,219,208,.55) 46%,transparent 74%)}
.serv.sem-foto .conteudo{color:var(--grafite)}
.serv.sem-foto p{color:var(--tinta)}
.serv.sem-foto .mais{border-color:var(--cobre);color:var(--cobre)}
.serv.sem-foto:hover .mais{background:var(--cobre);color:#fff;border-color:var(--cobre)}
.serv .aguardando{position:absolute;top:0;left:0;right:0;bottom:0;display:grid;place-items:center;
  z-index:1;text-align:center;padding:1.4rem}
.serv .aguardando span{font-size:.55rem;letter-spacing:.28em;text-transform:uppercase;color:var(--cobre);
  border:1px dashed var(--cobre);padding:.7rem 1rem;line-height:1.9;max-width:20ch}

/* ══════════ PROJETOS ══════════ */
#projetos{padding:clamp(5rem,11vw,9rem) 0;background:var(--papel)}
.projetos{display:grid;grid-template-columns:repeat(12,1fr);
  grid-auto-rows:clamp(92px,10vw,140px);gap:clamp(.9rem,1.6vw,1.4rem)}
.proj{position:relative;overflow:hidden;cursor:pointer;grid-column:span 4;grid-row:span 3;
  background:var(--bege)}
.proj.g{grid-column:span 8;grid-row:span 3}
.proj.gg{grid-column:span 6;grid-row:span 3}
.proj img{width:100%;height:100%;object-fit:cover;transition:transform 1.5s cubic-bezier(.16,1,.3,1),filter .6s}
.anim .proj img{clip-path:inset(100% 0 0 0);transform:scale(1.12)}
.anim .proj.vis img{clip-path:inset(0 0 0 0);transform:scale(1);
  transition:clip-path 1.2s cubic-bezier(.16,1,.3,1),transform 1.6s cubic-bezier(.16,1,.3,1)}
.proj:hover img{transform:scale(1.05);filter:brightness(.86)}
.proj::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(18,15,13,.9) 0%,rgba(18,15,13,.62) 26%,rgba(18,15,13,.2) 52%,transparent 76%)}
.proj .info{position:absolute;left:0;right:0;bottom:0;padding:clamp(1.1rem,2vw,1.7rem);z-index:2;color:#fff}
.proj .info .k{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;font-weight:500;
  margin-bottom:.45rem;text-shadow:0 1px 6px rgba(0,0,0,.55)}
.proj .info h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.2rem,2vw,1.75rem);line-height:1.1;
  text-shadow:0 2px 10px rgba(0,0,0,.5)}
.proj .info .qt{font-size:.66rem;color:rgba(255,255,255,.9);margin-top:.4rem;
  display:flex;align-items:center;gap:.5rem;text-shadow:0 1px 6px rgba(0,0,0,.55)}
.proj .info .qt i{width:16px;height:1px;background:rgba(255,255,255,.85);display:inline-block}
.proj .abrir{position:absolute;top:1rem;right:1rem;width:38px;height:38px;z-index:2;
  border:1px solid rgba(255,255,255,.5);display:grid;place-items:center;color:#fff;
  opacity:0;transform:translateY(-6px);transition:.4s}
.proj:hover .abrir{opacity:1;transform:none}

/* ══════════ FAIXA DE VÍDEO ══════════ */
#filme{padding:clamp(5rem,11vw,9rem) 0;background:var(--bege-fundo)}
.filmes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;
  gap:clamp(1rem,2.2vw,2rem);margin-top:clamp(2.4rem,5vw,3.6rem)}
.filme{margin:0}
.filme-vid{position:relative;background:var(--grafite);overflow:hidden}
.filme-vid video{width:100%;height:auto;display:block;object-fit:cover}
.filme figcaption{margin-top:1rem}
.filme .k{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--suave)}
.filme h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,2vw,1.7rem);
  color:var(--grafite);margin-top:.35rem;line-height:1.15}
@media(max-width:860px){
  .filmes{grid-template-columns:1fr;gap:2.6rem;max-width:420px;margin-inline:auto}
}
/* ── destaque: vídeo apresentado pela arquiteta ── */
.destaque{display:grid;grid-template-columns:minmax(0,430px) minmax(0,1fr);align-items:center;
  gap:clamp(2rem,5vw,5rem);background:var(--grafite);color:#fff;
  padding:clamp(1rem,2.2vw,1.8rem);margin-bottom:clamp(3.2rem,7vw,5.5rem)}
.destaque-vid{position:relative;overflow:hidden;background:#000}
.destaque-vid video{width:100%;height:auto;display:block}
.som{position:absolute;top:1rem;left:1rem;z-index:2;display:inline-flex;align-items:center;gap:.6rem;
  min-height:44px;padding:.55rem 1rem;border:1px solid rgba(255,255,255,.55);
  background:rgba(20,17,15,.62);color:#fff;font-size:.6rem;letter-spacing:.22em;
  text-transform:uppercase;cursor:pointer;backdrop-filter:blur(4px);transition:background .3s,border-color .3s}
.som:hover{background:var(--cobre);border-color:var(--cobre)}
.som svg{width:18px;height:18px;flex:none}
.som .ico-on{display:none}
.som[aria-pressed="true"] .ico-on{display:block}
.som[aria-pressed="true"] .ico-off{display:none}
.destaque-txt{padding:clamp(.6rem,2vw,1.6rem) clamp(.4rem,2.6vw,2.4rem) clamp(.6rem,2vw,1.6rem) 0}
.destaque .label{color:rgba(255,255,255,.72)}
.destaque h3.display{color:var(--cobre-claro);font-size:clamp(2.4rem,5vw,4.1rem);margin-top:.9rem}
.destaque .k{display:block;margin-top:.9rem;font-size:.62rem;letter-spacing:.3em;
  text-transform:uppercase;color:rgba(255,255,255,.72)}
.destaque p.texto{color:rgba(255,255,255,.88);margin-top:1.5rem;max-width:48ch}
.destaque p.texto + p.texto{margin-top:.9rem}
.destaque-acoes{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2.1rem}
.destaque .btn{border-color:rgba(255,255,255,.62);color:#fff}
.destaque .btn:hover{background:#fff;border-color:#fff;color:var(--grafite)}
.destaque .btn.cheio{background:var(--cobre);border-color:var(--cobre)}
.destaque .btn.cheio:hover{background:#fff;border-color:#fff;color:var(--grafite)}
@media(max-width:860px){
  .destaque{grid-template-columns:1fr;max-width:460px;margin-inline:auto;gap:1.6rem;padding:.8rem}
  .destaque-txt{padding:.2rem .6rem 1.2rem}
}
/* ══════════ VISOR ══════════ */
#visor{position:fixed;inset:0;z-index:250;background:rgba(250,249,247,.985);display:none;place-items:center}
#visor.on{display:grid}
.visor-topo{position:absolute;top:0;left:0;right:0;padding:1.4rem clamp(1rem,4vw,3rem);
  display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;z-index:3}
.visor-topo .k{font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--cobre);margin-bottom:.3rem}
.visor-topo h4{font-family:var(--serif);font-weight:400;font-size:clamp(1.2rem,2.4vw,1.9rem);color:var(--grafite)}
#fecharVisor{background:none;border:1px solid var(--linha);color:var(--grafite);width:44px;height:44px;
  cursor:pointer;font-size:1rem;flex:none;transition:.3s}
#fecharVisor:hover{border-color:var(--cobre);color:var(--cobre)}
.palco{position:relative;width:min(82vw,1020px);height:min(70vh,700px)}
.palco figure{position:absolute;inset:0;opacity:0;transition:opacity .7s ease}
.palco figure.at{opacity:1}
.palco img{width:100%;height:100%;object-fit:contain}
.palco video{width:100%;height:100%;object-fit:contain;background:transparent}
.proj .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;
  width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,255,255,.75);
  background:rgba(20,17,15,.34);display:grid;place-items:center;pointer-events:none;
  transition:.4s;backdrop-filter:blur(2px)}
.proj .play::after{content:"";border-left:13px solid #fff;border-top:8px solid transparent;
  border-bottom:8px solid transparent;margin-left:4px}
.proj:hover .play{background:rgba(20,17,15,.55);width:64px;height:64px}
.visor-baixo{position:absolute;bottom:0;left:0;right:0;padding:1.3rem clamp(1rem,4vw,3rem);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;z-index:3}
.visor-baixo .cont{font-size:.66rem;letter-spacing:.24em;color:var(--suave)}
.visor-baixo .navs{display:flex;gap:.6rem}
.visor-baixo button{background:none;border:1px solid var(--linha);color:var(--grafite);
  width:46px;height:46px;cursor:pointer;transition:.3s}
.visor-baixo button:hover{border-color:var(--cobre);color:var(--cobre)}
.pontos{display:flex;gap:.4rem}
.pontos b{width:20px;height:2px;background:var(--linha);cursor:pointer;transition:.3s;display:block}
.pontos b.at{background:var(--cobre);width:32px}

/* ══════════ JORNADA ══════════ */
#jornada{padding:clamp(5rem,11vw,9rem) 0;background:var(--branco)}
.etapas{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:clamp(1.4rem,2.6vw,2.4rem);margin-top:clamp(2.6rem,5vw,4rem)}
.etapa{border-top:1px solid var(--linha);padding-top:1.4rem}
.etapa .n{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--cobre)}
.etapa h4{font-family:var(--serif);font-weight:400;font-size:1.3rem;color:var(--grafite);margin-top:.7rem}
.etapa p{font-size:.88rem;color:var(--suave);margin-top:.5rem}

/* ══════════ FAIXA CTA ══════════ */
#chamada{position:relative;padding:clamp(5rem,12vw,9rem) 0;
  background:url(img/obra-nova/fachada-noite.jpg) center/cover no-repeat fixed;color:#fff}
#chamada::before{content:"";position:absolute;inset:0;background:rgba(18,15,13,.66)}
#chamada .w{position:relative;text-align:center}
#chamada .display{color:var(--cobre-claro)}
#chamada p{color:rgba(255,255,255,.85);max-width:56ch;margin:1.6rem auto 0}

/* ══════════ BLOG ══════════ */
#blog{padding:clamp(5rem,11vw,9rem) 0;background:var(--papel)}
.materias{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.8rem);
  margin-top:clamp(2.4rem,5vw,3.6rem)}
.mat{background:var(--branco);border:1px solid var(--linha);display:flex;flex-direction:column;
  transition:.4s}
.mat:hover{border-color:var(--cobre);transform:translateY(-4px)}
.mat img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%}
.mat .txt{padding:1.4rem 1.5rem 1.7rem;display:flex;flex-direction:column;flex:1}
.mat .k{font-size:.56rem;letter-spacing:.26em;text-transform:uppercase;color:var(--cobre)}
.mat h3{font-family:var(--serif);font-weight:400;font-size:1.3rem;color:var(--grafite);margin-top:.6rem;line-height:1.18}
.mat p{font-size:.85rem;color:var(--suave);margin-top:.6rem;flex:1}
.mat .ver{font-size:.56rem;letter-spacing:.26em;text-transform:uppercase;color:var(--cobre);
  margin-top:1.1rem;border-bottom:1px solid var(--linha);padding-bottom:3px;align-self:flex-start}

/* ══════════ CONTATO ══════════ */
#contato{padding:clamp(5rem,11vw,9rem) 0;background:var(--branco)}
.cont-grade{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.2rem,5vw,4.6rem)}
.dados{display:grid;gap:1.5rem;margin-top:2.2rem}
.dado .k{font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--cobre);margin-bottom:.3rem}
.dado .v{color:var(--grafite);font-size:.98rem}
.dado .v a:hover{color:var(--cobre)}
form{display:grid;gap:1.1rem}
.linha{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.campo label{display:block;font-size:.56rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--suave);margin-bottom:.5rem}
.campo input,.campo select,.campo textarea{width:100%;background:var(--papel);border:1px solid var(--linha);
  padding:.9rem 1rem;font-size:.95rem;font-weight:300;transition:.3s;border-radius:0;color:var(--grafite)}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--cobre);background:#fff}
.campo textarea{min-height:118px;resize:vertical}
.campo.erro input,.campo.erro select{border-color:#B4553C}
.envio{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:.4rem}
#msgForm{font-size:.8rem;color:var(--cobre);min-height:1.2em}
.aviso-form{font-size:.72rem;color:var(--suave)}

/* ══════════ RODAPÉ ══════════ */
footer{background:var(--grafite);color:rgba(255,255,255,.78);padding:clamp(3rem,6vw,4.6rem) 0 2.4rem}
.rod-grade{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:clamp(2rem,4vw,3.4rem);align-items:start}
footer .marca-rod{width:190px;opacity:.95}
footer .assin{color:rgba(255,255,255,.5);margin-top:1rem}
footer h5{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--cobre-claro);margin-bottom:1rem}
footer nav a{display:block;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;
  padding:.34rem 0;transition:.3s}
footer nav a:hover{color:#fff}
footer .end{font-size:.85rem;line-height:1.9}
footer .end a:hover{color:#fff}
footer .rod-mapa{margin-top:1.1rem;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.16);
  line-height:0;filter:grayscale(.25) contrast(1.05)}
footer .rod-mapa iframe{width:100%;height:150px;border:0;display:block}
.rod-baixo{border-top:1px solid rgba(255,255,255,.14);margin-top:clamp(2.4rem,5vw,3.4rem);
  padding-top:1.6rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  font-size:.62rem;letter-spacing:.14em;color:rgba(255,255,255,.45)}

.so-leitor{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* ══════════ responsivo ══════════ */
@media(max-width:1080px){
  .missao-grade,.sobre-grade,.cont-grade{grid-template-columns:1fr}
  .missao-foto{min-height:56vh}
  .servicos{grid-template-columns:1fr 1fr}
  .materias{grid-template-columns:1fr 1fr}
  .rod-grade{grid-template-columns:1fr 1fr}
  .projetos .proj,.projetos .proj.g,.projetos .proj.gg{grid-column:span 6;grid-row:span 3}
  #chamada{background-attachment:scroll}
}
@media(max-width:720px){
  nav.menu{position:fixed;inset:0;background:rgba(255,255,255,.99);flex-direction:column;
    justify-content:center;gap:1.6rem;transform:translateX(100%);transition:transform .5s cubic-bezier(.16,1,.3,1);z-index:110}
  nav.menu a{color:var(--grafite);font-size:.82rem;letter-spacing:.3em}
  body.menu-on nav.menu{transform:none}
  #burger{display:block}
  .servicos,.materias,.equipe,.rod-grade{grid-template-columns:1fr}
  .projetos .proj,.projetos .proj.g,.projetos .proj.gg{grid-column:span 12;grid-row:span 3}
  .linha{grid-template-columns:1fr}
  .numeros{grid-template-columns:1fr 1fr}
  .palco{width:92vw;height:60vh}
}
@media(prefers-reduced-motion:reduce){
  .anim .rev.vis{transition-duration:.5s}
}

/* links para as paginas de projeto (SEO + navegacao) */
.proj-links{margin-top:clamp(1.6rem,3vw,2.4rem);padding-top:1.3rem;border-top:1px solid var(--linha);
  display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:baseline}
.proj-links .label{flex:0 0 100%}
.proj-links a{font-family:var(--serif);font-size:1.1rem;color:var(--grafite);text-decoration:none;
  border-bottom:1px solid transparent;transition:.3s}
.proj-links a:hover{color:var(--cobre-texto);border-bottom-color:var(--cobre)}
