:root{
  --tinta:#15130f;--tinta-2:#211e18;--marfim:#f6f2ea;--papel:#fffdf9;--linho:#e4dccd;
  --texto:#2a261f;--suave:#6f675a;--bronze:#8f7145;--champanhe:#d3bb90;
  --titulos:"Gilda Display",Georgia,serif;--corpo:"Jost","Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--marfim);color:var(--texto);font:400 17px/1.65 var(--corpo)}
img{max-width:100%;display:block}
body{min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
a{color:inherit}
h1,h2,h3{font-family:var(--titulos);font-weight:400;line-height:1.1;margin:0}
.caixa{width:min(1180px,100%);margin:auto;padding:0 24px}
.olho{display:block;font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze);margin-bottom:12px}
.aviso{background:var(--tinta-2);color:var(--champanhe);text-align:center;font-size:13px;letter-spacing:.04em;padding:6px 16px}

/* Topo */
.topo{background:var(--tinta);color:#fff;position:sticky;top:0;z-index:5;border-bottom:1px solid rgba(211,187,144,.22)}
.topo .caixa{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.marca{text-decoration:none;display:grid;line-height:1.2}
.marca b{font-family:var(--titulos);font-weight:400;font-size:21px;letter-spacing:.04em}
.marca small{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--champanhe)}
.menu{display:flex;align-items:center;gap:28px;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.menu a{text-decoration:none}
.menu a:not(.botao):hover{color:var(--champanhe)}

/* Botoes */
.botao{display:inline-block;background:var(--champanhe);color:var(--tinta);font:500 13px/1 var(--corpo);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;text-align:center;padding:17px 26px;border:1px solid var(--champanhe);border-radius:2px;cursor:pointer;transition:background .2s,color .2s}
.botao:hover{background:#e3cfa9;border-color:#e3cfa9}
.botao.contorno{background:transparent;color:var(--champanhe)}
.botao.contorno:hover{background:var(--champanhe);color:var(--tinta)}
.botao.escuro{background:var(--tinta);border-color:var(--tinta);color:#fff}
.botao.escuro:hover{background:var(--bronze);border-color:var(--bronze)}
.menu .botao{padding:12px 18px;font-size:12px}

/* Abertura */
.heroi{position:relative;background:radial-gradient(90% 120% at 85% 10%,#3a3020 0,var(--tinta) 62%);color:#fff;background-size:cover;background-position:center}
.heroi.com-capa::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,19,15,.66),rgba(21,19,15,.82))}
.heroi .caixa{position:relative;padding-top:104px;padding-bottom:96px}
.heroi .olho{color:var(--champanhe)}
.heroi h1{font-size:clamp(38px,5.6vw,74px);font-weight:400;max-width:900px}
.heroi p{color:#e3dccd;font-size:19px;font-weight:300;max-width:600px;margin:22px 0 40px}
.busca{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:1px;background:var(--linho);max-width:940px;border:1px solid var(--linho)}
.busca label{background:var(--papel);color:var(--suave);font-size:11px;letter-spacing:.16em;text-transform:uppercase;display:grid;gap:2px;padding:12px 16px 8px}
.busca select{font:400 16px var(--corpo);letter-spacing:0;text-transform:none;color:var(--texto);background:transparent;border:0;padding:4px 0;width:100%;min-width:0;outline-offset:2px}
.busca .botao{border-radius:0;padding:0 34px;min-height:52px}

/* Secoes */
.secao{padding:88px 0}
.secao h2,.titulo-pagina{font-size:clamp(30px,3.6vw,44px)}
.sub{color:var(--suave);margin:10px 0 36px;max-width:620px}
.clara{background:var(--papel);border-top:1px solid var(--linho);border-bottom:1px solid var(--linho)}

/* Condominios */
.lista-condos{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.condo{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(150deg,#2c261b,var(--tinta) 70%);color:#fff;text-decoration:none;display:flex;align-items:flex-end;border-radius:2px}
.condo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.condo:hover img{transform:scale(1.04)}
.condo::before{content:"";position:absolute;inset:14px;border:1px solid rgba(211,187,144,.35);z-index:1;pointer-events:none;transition:inset .25s}
.condo:hover::before{inset:9px}
.condo.com-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(21,19,15,.85))}
.condo-texto{position:relative;z-index:2;padding:30px}
.condo strong{display:block;font-family:var(--titulos);font-weight:400;font-size:25px;line-height:1.1}
.condo span{display:block;margin-top:8px;color:var(--champanhe);font-size:14px;letter-spacing:.02em}

/* Casas */
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:36px 26px}
.cartao{text-decoration:none;display:flex;flex-direction:column}
.foto{aspect-ratio:3/2;width:100%;object-fit:cover;background:linear-gradient(150deg,#e9e1d2,#d8cdb8);color:var(--bronze);display:grid;place-items:center;font-size:12px;letter-spacing:.2em;text-transform:uppercase;border-radius:2px}
.cartao .foto{transition:opacity .2s}
.cartao:hover .foto{opacity:.88}
.cartao .corpo{padding-top:16px;display:flex;flex-direction:column;gap:5px;flex:1}
.local{color:var(--bronze);font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase}
.cartao h3{font-size:22px}
.dados{color:var(--suave);font-size:15px}
.preco{font-family:var(--titulos);font-size:23px;font-weight:400;margin-top:auto;padding-top:6px}

/* Apresentacao */
.sobre{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:72px;align-items:center}
.sobre img{width:100%;aspect-ratio:1/1.05;object-fit:cover;border-radius:2px}
.sobre p{margin:18px 0 28px;max-width:560px}

/* Chamada */
.chamada{background:var(--tinta);color:#fff;text-align:center}
.chamada .olho{color:var(--champanhe)}
.chamada p{color:#d8d1c3;font-weight:300;max-width:580px;margin:16px auto 30px}

/* Lista e filtros */
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:14px;margin-bottom:8px;scrollbar-width:thin}
.chip{font:400 15px var(--corpo);white-space:nowrap;background:transparent;color:var(--texto);border:1px solid var(--linho);border-radius:2px;padding:9px 16px;cursor:pointer;transition:border-color .2s}
.chip:hover{border-color:var(--bronze)}
.chip.ativo{background:var(--tinta);border-color:var(--tinta);color:#fff}
.filtros{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--linho);border:1px solid var(--linho);margin-bottom:14px}
.filtros label{background:var(--papel);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--suave);display:grid;gap:2px;padding:10px 14px 6px}
.filtros select{font:400 16px var(--corpo);letter-spacing:0;text-transform:none;color:var(--texto);background:transparent;border:0;padding:4px 0;width:100%}
.contagem{color:var(--suave);font-size:14px;margin:0 0 26px}
.vazio{padding:40px;text-align:center;color:var(--suave)}

/* Pagina da casa */
.trilha{font-size:13px;letter-spacing:.04em;color:var(--suave);padding-top:28px;margin:0 0 16px}
.imovel{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:44px;padding-bottom:88px;align-items:start}
.galeria{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory}
.galeria>*{flex:0 0 100%;scroll-snap-align:start}
.imovel .titulo-pagina{margin-top:28px}
.imovel .local{display:block;margin-top:12px}
.painel{background:var(--papel);border:1px solid var(--linho);padding:30px;position:sticky;top:104px}
.painel .preco{font-size:34px;padding:0}
.painel .botao{display:block;margin-top:20px}
.painel small{display:block;color:var(--suave);margin-top:14px;line-height:1.45}
.ficha{display:flex;flex-wrap:wrap;gap:1px;background:var(--linho);border:1px solid var(--linho);margin:28px 0;padding:0;list-style:none}
.ficha li{flex:1 1 130px;background:var(--papel);padding:14px 16px;font-size:13px;color:var(--suave)}
.ficha b{display:block;color:var(--texto);font-family:var(--titulos);font-size:22px;font-weight:400;line-height:1.3}

/* Rodape */
.rodape{background:var(--tinta);color:#b9b1a2;font-size:14px;padding:44px 0;border-top:1px solid rgba(211,187,144,.22)}
.rodape .caixa{display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between;align-items:center}
.rodape strong{color:#fff;font:400 20px var(--titulos)}
.rodape a{margin-left:18px;text-underline-offset:3px}
.rodape a:first-child{margin-left:0}

a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

@media(max-width:1140px){.lista-condos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.lista-condos{grid-template-columns:1fr}}
@media(max-width:860px){
  body{font-size:16px}
  .caixa{padding:0 16px}
  .topo .caixa{min-height:64px}
  .marca b{font-size:18px}
  .marca small{font-size:9px;letter-spacing:.2em}
  .menu a:not(.botao){display:none}
  .heroi .caixa{padding-top:56px;padding-bottom:56px}
  .heroi p{font-size:17px;margin:16px 0 28px}
  .busca{grid-template-columns:1fr 1fr}
  .busca label:first-child,.busca .botao{grid-column:1/-1}
  .secao{padding:60px 0}
  .sub{margin-bottom:28px}
  .grade{grid-template-columns:1fr}
  .sobre{grid-template-columns:1fr;gap:28px}
  .sobre img{max-width:320px}
  .imovel{grid-template-columns:1fr;gap:28px;padding-bottom:60px}
  .painel{position:static;padding:24px}
}

/* Atendimento flutuante */
.atende{position:fixed;right:20px;bottom:20px;z-index:20;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:var(--corpo)}
.atende-botao{display:flex;align-items:center;gap:10px;background:var(--tinta);color:#fff;border:1px solid var(--champanhe);border-radius:999px;padding:11px 20px 11px 12px;font:500 13px var(--corpo);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;box-shadow:0 8px 28px rgba(21,19,15,.32);transition:background .2s}
.atende-botao:hover{background:var(--tinta-2)}
.atende-botao svg{box-sizing:content-box;padding:6px;background:#1f8f57;color:#fff;border-radius:50%}
.atende-caixa{position:relative;width:min(330px,calc(100vw - 32px));background:var(--papel);color:var(--texto);border:1px solid var(--linho);border-top:3px solid var(--champanhe);padding:20px;box-shadow:0 16px 44px rgba(21,19,15,.26);animation:atende-sobe .22s ease-out}
.atende-caixa[hidden]{display:none}
@keyframes atende-sobe{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.atende-fechar{position:absolute;top:6px;right:6px;width:36px;height:36px;background:none;border:0;color:var(--suave);font-size:22px;line-height:1;cursor:pointer}
.atende-fechar:hover{color:var(--texto)}
.atende-quem{display:flex;align-items:center;gap:12px;padding-right:24px}
.atende-quem img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 15%}
.atende-quem b{display:block;font:400 18px/1.2 var(--titulos)}
.atende-quem small{color:var(--suave);font-size:13px}
.atende-pergunta{font:400 23px/1.2 var(--titulos);margin:16px 0 12px}
.atende-opcoes{display:grid;gap:8px}
.atende-opcoes a{display:flex;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid var(--linho);text-decoration:none;font-size:15px;transition:background .2s,color .2s,border-color .2s}
.atende-opcoes a span{color:var(--bronze)}
.atende-opcoes a:hover{background:var(--tinta);border-color:var(--tinta);color:#fff}
.atende-opcoes a:hover span{color:var(--champanhe)}
@media(max-width:860px){
  .atende{right:16px;bottom:16px}
}
.rodape{padding-bottom:92px}

/* Familias de condominio */
.sublista{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.sub-condo{background:var(--papel);border:1px solid var(--linho);padding:18px 20px;text-decoration:none;transition:background .2s}
.sub-condo:hover{border-color:var(--bronze)}
.sub-condo b{display:block;font:400 20px/1.2 var(--titulos)}
.sub-condo span{display:block;margin-top:4px;color:var(--suave);font-size:14px}
.bloco-familia{margin-top:48px}
.bloco-familia .sub{margin:4px 0 18px}
.titulo-casas{margin:64px 0 28px}
.sem-casas{background:var(--papel);border:1px solid var(--linho);padding:36px;max-width:680px}
.sem-casas h2{font-size:28px!important}
.sem-casas p{margin:12px 0 24px}
.condo-texto{padding:26px}
.condo span{font-size:13.5px}

/* Galeria e destaques */
.galeria .foto{object-fit:contain;background:var(--tinta);border-radius:0}
.galeria-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;color:var(--suave);font-size:14px}
.galeria-nav button{width:46px;height:46px;background:var(--papel);color:var(--texto);border:1px solid var(--linho);font-size:18px;cursor:pointer;transition:border-color .2s}
.galeria-nav button:hover{border-color:var(--bronze)}
.titulo-difs{font-size:28px;margin:32px 0 14px}
.difs{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px 24px}
.difs li{padding:10px 0;border-bottom:1px solid var(--linho)}
.galeria{scrollbar-width:none}
.galeria::-webkit-scrollbar{display:none}

/* Botoes de seguir no rodape */
.redes{display:flex;flex-wrap:wrap;gap:10px}
.rodape a.botao-rede,.rodape a.botao-rede:first-child{display:inline-flex;align-items:center;gap:10px;margin:0;padding:12px 18px;min-height:46px;border:1px solid var(--champanhe);border-radius:2px;color:var(--champanhe);font:500 14px var(--corpo);text-decoration:none;transition:background .2s,color .2s}
.rodape a.botao-rede:hover{background:var(--champanhe);color:var(--tinta)}
.botao-rede svg{flex:none}
@media(max-width:860px){
  .redes{width:100%;flex-direction:column}
  .rodape a.botao-rede,.rodape a.botao-rede:first-child{justify-content:center}
}

/* Apresentacao compacta */
.secao:has(.sobre){padding:56px 0}
.sobre{grid-template-columns:112px minmax(0,1fr);gap:28px;align-items:center;max-width:820px}
.sobre img{width:112px;height:112px;max-width:none;aspect-ratio:auto;border-radius:50%;object-fit:cover;object-position:50% 12%;border:1px solid var(--champanhe)}
.sobre h2{font-size:30px}
.sobre p{margin:10px 0 18px}
@media(max-width:860px){
  .secao:has(.sobre){padding:44px 0}
  .sobre{grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:start}
  .sobre img{width:72px;height:72px}
  .sobre h2{font-size:26px}
}

@media(max-width:860px){
  .filtros{grid-template-columns:1fr 1fr}
  .filtros label:first-child{grid-column:1/-1}
}
