/* AC Engenharia · site 2026
   Conceito: a casinha do logo (empena) como moldura das fotos; prova técnica em "carimbo" de prancha e cotas.
   Cores do manual atual: vinho #A61C35, grafite #231F20, cinza #727273. */

:root{
  --vinho:#A61C35;
  --vinho-escuro:#86152A;
  --grafite:#231F20;
  --carvao:#1B1819;
  --cinza:#727273;
  --cinza-claro:#A9A6A6;
  --concreto:#EEECEB;
  --papel:#F8F7F6;
  --branco:#FFFFFF;
  --linha:#DCD8D7;
  --linha-escura:#3B3537;
  --ok:#1F7A4D;
  --erro:#B3261E;

  --f-display:"Archivo","Arial Narrow","Roboto Condensed",sans-serif;
  --f-texto:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-tec:"IBM Plex Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;

  --largura:1200px;
  --gutter:clamp(16px,4vw,40px);
  --raio:4px;
  --sombra:0 18px 40px -24px rgba(27,24,25,.45);
  --empena:polygon(50% 0,100% 22%,100% 100%,0 100%,0 22%);
  --header-h:76px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papel);color:var(--grafite);font-family:var(--f-texto);font-size:17px;line-height:1.6;font-stretch:100%}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--vinho);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.pular{position:absolute;left:12px;top:-60px;background:var(--grafite);color:var(--branco);padding:10px 14px;z-index:100;text-decoration:none}
.pular:focus{top:12px}

.wrap{max-width:var(--largura);margin-inline:auto;padding-inline:var(--gutter)}

h1,h2,h3{font-family:var(--f-display);font-stretch:75%;line-height:1.02;margin:0;text-wrap:balance;letter-spacing:-.005em}
h1{font-size:clamp(2.6rem,6.2vw,4.9rem);font-weight:750}
h2{font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:720}
h3{font-size:1.45rem;font-weight:680;line-height:1.1}
p{margin:0}
.sobre{font-family:var(--f-tec);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cinza);display:inline-flex;align-items:center;gap:10px}
.sobre::before{content:"";width:22px;height:2px;background:var(--vinho)}
.vinho{color:var(--vinho)}
.lead{font-size:1.15rem;color:#4A4546;max-width:56ch}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:var(--raio);font-weight:600;font-size:1rem;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.btn:active{transform:translateY(1px)}
.btn-vinho{background:var(--vinho);color:var(--branco)}
.btn-vinho:hover{background:var(--vinho-escuro)}
.btn-contorno{border-color:var(--grafite);color:var(--grafite);background:transparent}
.btn-contorno:hover{background:var(--grafite);color:var(--branco)}
.btn-claro{background:var(--branco);color:var(--vinho)}
.btn-claro:hover{background:var(--concreto)}
.btn svg{width:20px;height:20px;flex:none}

/* header */
.topo{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(248,247,246,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
.topo.rolou{border-bottom-color:var(--linha)}
.topo .wrap{height:var(--header-h);display:flex;align-items:center;gap:28px}
.marca img{height:48px;width:auto}
.menu{display:flex;gap:26px;margin-left:auto}
.menu a{text-decoration:none;font-weight:500;font-size:.98rem;padding:6px 0;border-bottom:2px solid transparent}
.menu a:hover{border-bottom-color:var(--vinho)}
.topo-acoes{display:flex;align-items:center;gap:14px}
.topo-acoes .area{font-family:var(--f-tec);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--cinza)}
.topo-acoes .area:hover{color:var(--vinho)}
.topo .btn{min-height:44px;padding:0 18px;font-size:.95rem}
.abrir-menu{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;cursor:pointer;padding:10px}
.abrir-menu span{display:block;height:2px;background:var(--grafite);margin:6px 0;transition:transform .25s,opacity .25s}
.menu-aberto .abrir-menu span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-aberto .abrir-menu span:nth-child(2){opacity:0}
.menu-aberto .abrir-menu span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* hero */
.hero{padding-block:clamp(36px,6vw,72px) clamp(48px,7vw,96px)}
.hero .wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(32px,5vw,72px);align-items:center}
.hero-texto{display:flex;flex-direction:column;gap:24px}
.hero-acoes{display:flex;flex-wrap:wrap;gap:12px}
.provas{display:flex;flex-wrap:wrap;gap:10px 28px;padding-top:20px;border-top:1px solid var(--linha);list-style:none;margin:0;padding-left:0}
.provas li{display:flex;align-items:center;gap:8px;font-size:.95rem;color:#4A4546}
.provas strong{color:var(--grafite)}
.estrelas{color:#E2A400;letter-spacing:1px;font-size:1rem}

.casas{position:relative;aspect-ratio:4/4.3;max-width:560px;width:100%;justify-self:end}
.casas .casa-cinza{position:absolute;left:0;top:9%;width:58%;height:72%;background:var(--cinza);clip-path:var(--empena)}
.casas figure{position:absolute;right:0;top:0;width:82%;height:100%;margin:0}
.casas .foto{width:100%;height:100%;clip-path:var(--empena);overflow:hidden;background:var(--concreto)}
.casas .foto img{width:100%;height:100%;object-fit:cover}
.casas figcaption{position:absolute;left:-14%;bottom:7%;background:var(--branco);padding:10px 14px;font-family:var(--f-tec);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;box-shadow:var(--sombra);display:flex;flex-direction:column;gap:2px;border-left:3px solid var(--vinho)}
.casas figcaption b{font-family:var(--f-texto);text-transform:none;letter-spacing:0;font-size:.95rem}
@media (prefers-reduced-motion:no-preference){
  .casas .foto{animation:sobe 1.1s cubic-bezier(.2,.7,.1,1) both}
  .casas .casa-cinza{animation:sobe 1.1s .15s cubic-bezier(.2,.7,.1,1) both}
  .casas figcaption{animation:aparece .6s .9s both}
  @keyframes sobe{from{clip-path:polygon(50% 100%,100% 100%,100% 100%,0 100%,0 100%)}to{clip-path:var(--empena)}}
  @keyframes aparece{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}

/* números */
.numeros{background:var(--carvao);color:var(--branco)}
.numeros .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.numero{padding:38px 16px;border-left:1px solid var(--linha-escura);display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.numero:first-child{border-left:0}
.numero b{font-family:var(--f-display);font-stretch:75%;font-size:clamp(2.6rem,5vw,3.8rem);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.numero b small{font-size:.55em;color:var(--vinho);margin-right:3px;vertical-align:.32em}
.numero span{font-family:var(--f-tec);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cinza-claro)}

/* seções */
.secao{padding-block:clamp(64px,9vw,120px)}
.cabeca{display:flex;flex-direction:column;gap:16px;margin-bottom:clamp(32px,5vw,56px);max-width:760px}
.cabeca-linha{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;max-width:none}
.cabeca-linha > div:first-child{display:flex;flex-direction:column;gap:16px;max-width:700px}

/* processo com cota */
.processo{background:var(--branco)}
.cota{position:relative;height:28px;margin-bottom:28px;color:var(--vinho)}
.cota::before{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:currentColor}
.cota::after{content:"";position:absolute;inset:0;border-left:1.5px solid currentColor;border-right:1.5px solid currentColor}
.cota span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--branco);padding:0 14px;font-family:var(--f-tec);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.etapas{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,40px);list-style:none;margin:0;padding:0;counter-reset:etapa}
.etapa{display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:3px solid var(--grafite)}
.etapa:last-child{border-top-color:var(--vinho)}
.etapa .n{font-family:var(--f-tec);font-size:.8rem;color:var(--vinho);letter-spacing:.08em}
.etapa p{color:#4A4546;font-size:.98rem}

/* obras: cards com carimbo */
.obras-grade{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,36px)}
.obra{background:var(--branco);border:1px solid var(--linha);display:flex;flex-direction:column}
.obra-foto{position:relative;display:block;border:0;padding:0;margin:0;background:var(--concreto);cursor:zoom-in;aspect-ratio:4/3;overflow:hidden;width:100%}
.obra-foto img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.1,1)}
.obra-foto:hover img{transform:scale(1.035)}
.obra-foto .ver{position:absolute;right:14px;bottom:14px;background:rgba(27,24,25,.82);color:var(--branco);font-family:var(--f-tec);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;display:flex;align-items:center;gap:8px}
.carimbo{display:grid;grid-template-columns:1.4fr 1fr;border-top:1px solid var(--grafite)}
.carimbo div{padding:10px 16px;border-right:1px solid var(--linha);border-bottom:1px solid var(--linha);display:flex;flex-direction:column;gap:2px;min-width:0}
.carimbo div:nth-child(2n){border-right:0}
.carimbo div:nth-last-child(-n+2){border-bottom:0}
.carimbo dt{font-family:var(--f-tec);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cinza)}
.carimbo dd{margin:0;font-weight:600;font-size:1rem}
.carimbo .titulo dd{font-family:var(--f-display);font-stretch:75%;font-size:1.5rem;font-weight:700;line-height:1.1}
.selo{display:inline-flex;align-items:center;gap:6px}
.selo::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok)}

/* projetos 3D */
.projetos{background:var(--concreto)}
.trilho{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,30%);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px;scrollbar-width:thin;scrollbar-color:var(--cinza) transparent}
.projeto{scroll-snap-align:start;display:flex;flex-direction:column;gap:12px;border:0;padding:0;background:none;text-align:left;cursor:zoom-in}
.projeto .img{aspect-ratio:1/1.08;overflow:hidden;clip-path:var(--empena);background:var(--linha);width:100%}
.projeto img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.1,1)}
.projeto:hover img{transform:scale(1.04)}
.projeto b{font-family:var(--f-display);font-stretch:75%;font-size:1.3rem;font-weight:700;line-height:1.1}
.projeto small{font-family:var(--f-tec);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cinza)}
.aviso-3d{font-size:.92rem;color:var(--cinza);margin-top:8px}
.trilho-ctrl{display:flex;gap:8px}
.trilho-ctrl button{width:48px;height:48px;border:1.5px solid var(--grafite);background:transparent;cursor:pointer;display:grid;place-items:center;border-radius:var(--raio)}
.trilho-ctrl button:hover{background:var(--grafite);color:var(--branco)}

/* diferenciais */
.dif .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,96px);align-items:start}
.dif .cabeca{position:sticky;top:calc(var(--header-h) + 32px);margin-bottom:0}
.dif-lista{list-style:none;margin:0;padding:0;border-top:2px solid var(--grafite)}
.dif-lista li{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid var(--linha)}
.icone-casa{width:30px;height:30px;background:var(--vinho);clip-path:var(--empena);margin-top:4px}
.dif-lista li:nth-child(even) .icone-casa{background:var(--cinza)}
.dif-lista h3{font-size:1.4rem;margin-bottom:6px}
.dif-lista p{color:#4A4546}

/* área do cliente */

/* soluções */
.solucoes-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--linha);border-left:1px solid var(--linha)}
.solucao{padding:28px 26px;border-right:1px solid var(--linha);border-bottom:1px solid var(--linha);display:flex;flex-direction:column;gap:10px;background:var(--papel)}
.solucao:hover{background:var(--branco)}
.solucao .tag{font-family:var(--f-tec);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--vinho)}
.solucao p{color:#4A4546;font-size:.97rem}

/* depoimentos */
.depo{background:var(--carvao);color:var(--branco)}
.depo .sobre{color:var(--cinza-claro)}
.depo-topo{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:end;margin-bottom:48px}
.nota{display:flex;align-items:center;gap:16px}
.nota b{font-family:var(--f-display);font-stretch:75%;font-size:2.2rem;line-height:1}
.nota span{font-size:.92rem;color:var(--cinza-claro)}
.nota a{color:var(--branco)}
.depo-grade{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px}
.depo-card{border:1px solid var(--linha-escura);padding:28px;display:flex;flex-direction:column;gap:18px;margin:0}
.depo-card blockquote{margin:0;font-size:1.08rem;line-height:1.55;font-style:italic}
.depo-card:first-child blockquote{font-size:1.32rem}
.depo-card figcaption{margin-top:auto;font-family:var(--f-tec);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cinza-claro)}
.depo-card figcaption b{display:block;font-family:var(--f-texto);text-transform:none;letter-spacing:0;color:var(--branco);font-size:1rem;font-weight:600}

/* faq */
.faq .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,96px)}
.faq-lista{border-top:2px solid var(--grafite)}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;font-weight:600;font-size:1.08rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:14px;height:14px;margin-top:-9px;border-right:2px solid var(--vinho);border-bottom:2px solid var(--vinho);transform:rotate(45deg);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.faq details p{padding:0 0 22px;color:#4A4546;max-width:62ch}
.faq details a{color:var(--vinho);font-weight:600}

/* orçamento */
.orcamento{background:var(--branco);border-top:1px solid var(--linha)}
.orcamento .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5vw,80px);align-items:start}
.contatos{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--linha)}
.contatos li{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--linha);font-size:.98rem}
.contatos li > span{font-family:var(--f-tec);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cinza);padding-top:3px}
.contatos a{text-decoration:none;font-weight:600}
.contatos a:hover{color:var(--vinho)}

.form{background:var(--papel);border:1px solid var(--linha);padding:clamp(22px,3.5vw,40px);display:flex;flex-direction:column;gap:22px}
.form-cab{display:flex;flex-direction:column;gap:6px}
.form-cab h3{font-size:1.9rem}
.form-cab p{color:var(--cinza);font-size:.95rem}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.campo.inteiro{grid-column:1/-1}
.campo label,.campo legend{font-weight:600;font-size:.93rem;padding:0}
.campo .opc{font-weight:400;color:var(--cinza)}
.campo input,.campo textarea,.campo select{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid var(--linha);border-radius:var(--raio);background:var(--branco);transition:border-color .2s}
.campo textarea{min-height:96px;resize:vertical}
.campo input:focus,.campo textarea:focus,.campo select:focus{outline:none;border-color:var(--grafite)}
.campo.invalido input,.campo.invalido .chips{border-color:var(--erro)}
.campo .msg-erro{color:var(--erro);font-size:.85rem;display:none}
.campo.invalido .msg-erro{display:block}
fieldset.campo{border:0;margin:0;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;border:1.5px solid transparent;border-radius:var(--raio)}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid var(--linha);border-radius:999px;background:var(--branco);font-size:.94rem;transition:all .15s}
.chip input:hover + span{border-color:var(--grafite)}
.chip input:checked + span{background:var(--grafite);border-color:var(--grafite);color:var(--branco)}
.chip input:focus-visible + span{outline:3px solid var(--vinho);outline-offset:2px}
.lgpd{font-size:.84rem;color:var(--cinza)}
.lgpd a{color:var(--grafite)}
.form .btn{width:100%;min-height:58px;font-size:1.05rem}
.form .btn[disabled]{opacity:.6;cursor:wait}
.fornecedor-aviso{display:flex;gap:12px;align-items:center;padding:14px 16px;background:var(--concreto);font-size:.94rem}
.fornecedor-aviso a{font-weight:600;color:var(--vinho)}

/* mapa */
.mapa{height:380px;background:var(--concreto);border-top:1px solid var(--linha)}
.mapa iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.35)}

/* rodapé */
.rodape{background:var(--carvao);color:var(--cinza-claro);padding-block:56px 32px;font-size:.95rem}
.rodape-grade{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}
.rodape img{height:56px;width:auto}
.rodape h4{font-family:var(--f-tec);font-weight:500;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--branco);margin:0 0 14px}
.rodape ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.rodape a{text-decoration:none}
.rodape a:hover{color:var(--branco)}
.rodape-fim{margin-top:48px;padding-top:20px;border-top:1px solid var(--linha-escura);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.85rem}

/* whatsapp flutuante */
.zap{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:40;width:60px;height:60px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px -8px rgba(0,0,0,.45);transition:transform .2s}
.zap:hover{transform:scale(1.06)}
.zap svg{width:32px;height:32px}

/* lightbox */
.galeria{border:0;padding:0;margin:auto;max-width:min(1200px,96vw);width:100%;background:transparent;color:var(--branco);overflow:visible}
.galeria::backdrop{background:rgba(17,15,16,.94)}
.galeria-corpo{display:flex;flex-direction:column;gap:14px}
.galeria-img{position:relative;display:grid;place-items:center;max-height:78vh}
.galeria-img img{max-height:78vh;width:auto;max-width:100%;object-fit:contain;background:#000}
.galeria-barra{display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--f-tec);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.galeria-barra b{font-family:var(--f-display);font-stretch:75%;font-size:1.4rem;letter-spacing:0;text-transform:none}
.galeria button{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:var(--branco);width:48px;height:48px;border-radius:var(--raio);cursor:pointer;display:grid;place-items:center}
.galeria button:hover{background:rgba(255,255,255,.2)}
.galeria .ant,.galeria .prox{position:absolute;top:50%;transform:translateY(-50%)}
.galeria .ant{left:10px}.galeria .prox{right:10px}
.galeria .fechar{position:absolute;right:0;top:-60px}

/* páginas internas */
.pagina-topo{padding-block:clamp(48px,7vw,88px) clamp(32px,4vw,48px);border-bottom:1px solid var(--linha)}
.pagina-topo .wrap{display:flex;flex-direction:column;gap:18px}
.texto-legal{max-width:760px;padding-block:48px 96px}
.texto-legal h2{font-size:1.8rem;margin:40px 0 12px}
.texto-legal p,.texto-legal li{color:#4A4546;margin-bottom:12px}
.texto-legal ul{padding-left:20px}
.pendente{background:#FFF3C4;padding:0 4px}
.obrigado{min-height:60vh;display:grid;place-items:center;text-align:left;padding-block:64px}
.obrigado .caixa{max-width:640px;display:flex;flex-direction:column;gap:20px}
.resumo{background:var(--branco);border:1px solid var(--linha);font-family:var(--f-tec);font-size:.85rem;padding:16px 18px;white-space:pre-wrap;line-height:1.7}

/* landing de campanha */
.lp .topo .menu,.lp .topo .area{display:none}
.lp .topo .wrap{justify-content:space-between}

/* responsivo */
@media (max-width:1080px){
  .menu{gap:18px}
  .topo-acoes .area{display:none}
}
@media (max-width:960px){
  :root{--header-h:66px}
  .marca img{height:40px}
  .abrir-menu{display:block}
  .menu{position:fixed;inset:var(--header-h) 0 auto 0;flex-direction:column;gap:0;background:var(--papel);border-bottom:1px solid var(--linha);padding:8px var(--gutter) 20px;transform:translateY(-8px);opacity:0;visibility:hidden;transition:all .2s}
  .menu a{padding:14px 0;border-bottom:1px solid var(--linha);font-size:1.1rem}
  .menu-aberto .menu{transform:none;opacity:1;visibility:visible}
  .topo-acoes{order:3}
  .topo-acoes .btn{display:none}
  .lp .topo-acoes .btn{display:inline-flex}
  .hero .wrap{grid-template-columns:1fr}
  .casas{justify-self:center;max-width:420px}
  .casas figcaption{left:0}
  .etapas{grid-template-columns:repeat(2,1fr)}
  .dif .wrap,.faq .wrap,.orcamento .wrap{grid-template-columns:1fr}
  .dif .cabeca{position:static;margin-bottom:8px}
  .solucoes-grade{grid-template-columns:repeat(2,1fr)}
  .depo-grade{grid-template-columns:1fr}
  .rodape-grade{grid-template-columns:1fr 1fr}
  .trilho{grid-auto-columns:minmax(240px,44%)}
}
@media (max-width:640px){
  body{font-size:16px}
  .casas{aspect-ratio:4/4.4}
  .hero-acoes .btn{flex:1 1 100%}
  .obras-grade{grid-template-columns:1fr}
  .etapas{grid-template-columns:1fr}
  .cota span{font-size:.66rem}
  .solucoes-grade{grid-template-columns:1fr}
  .campos{grid-template-columns:1fr}
  .contatos li{grid-template-columns:1fr;gap:2px}
  .rodape-grade{grid-template-columns:1fr}
  .trilho{grid-auto-columns:78%}
  .galeria .fechar{top:-56px}
  .carimbo .titulo dd{font-size:1.3rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}

/* ajustes */
.cabeca.cabeca-linha{flex-direction:row}
.depo-topo .cabeca{flex:1 1 420px}
@media (max-width:640px){
  .numero{padding:22px 12px}
  .numero span{font-size:.64rem;letter-spacing:.06em}
}

/* campo armadilha anti-spam */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
