:root{--ouro:#cc903f;--ouro-esc:#a8742e;--preto:#111;--texto:#1d1d1f;--suave:#6b6b70;--linha:#e7e3dc;--fundo:#faf8f5;--branco:#fff;--raio:10px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Red Hat Display","Open Sans",system-ui,sans-serif;color:var(--texto);background:var(--branco);line-height:1.5}
img{max-width:100%;height:auto;display:block}a{color:var(--ouro-esc)}a:hover{color:var(--ouro)}
h1,h2,h3{line-height:1.2;margin:0 0 .5em}
.botao{display:inline-flex;align-items:center;justify-content:center;gap:.5em;background:var(--ouro);color:#fff;border:0;border-radius:8px;padding:.85em 1.4em;font:700 1rem inherit;font-family:inherit;cursor:pointer;text-decoration:none}
.botao:hover{background:var(--ouro-esc);color:#fff}.botao svg{width:20px;height:20px;fill:currentColor}
/* topo */
.topo{background:var(--branco);border-bottom:1px solid var(--linha);position:relative;z-index:5}
.topo--escuro{position:absolute;inset:0 0 auto 0;background:linear-gradient(#000c,#0000);border:0;color:#fff}
.topo__in{max-width:1240px;margin:0 auto;padding:.6rem 16px;display:flex;align-items:center;gap:1rem}
.topo__logo img{height:64px;width:auto}
.topo__contatos{display:flex;gap:1.2rem;margin-left:auto}
.topo__contatos a{display:flex;align-items:center;gap:.4rem;color:inherit;text-decoration:none;font-size:.85rem;line-height:1.1}
.topo__contatos svg{width:18px;height:18px;fill:#25d366}.topo__contatos small{display:block;opacity:.75;font-size:.72rem}
.topo__anuncie{color:inherit;text-decoration:none;font-weight:700;font-size:.85rem;text-transform:uppercase;border:1px solid currentColor;border-radius:6px;padding:.4em .8em}
.menu{position:relative}.menu summary{list-style:none;cursor:pointer;display:grid;gap:5px;padding:8px}.menu summary::-webkit-details-marker{display:none}
.menu summary span{display:block;width:24px;height:2px;background:currentColor}
.menu nav{position:absolute;right:0;top:100%;background:#fff;box-shadow:0 10px 30px #0003;border-radius:var(--raio);padding:.5rem;min-width:240px;display:grid}
.menu nav a{color:var(--texto);text-decoration:none;padding:.6rem .8rem;border-radius:6px}.menu nav a:hover{background:var(--fundo)}
@media (max-width:860px){.topo__contatos{display:none}.topo__anuncie{margin-left:auto}.topo__logo img{height:52px}}
/* capa */
.capa{position:relative;min-height:min(92vh,720px);display:grid;place-items:center;color:#fff;overflow:hidden;background:#000}
.capa>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.capa__in{position:relative;width:100%;max-width:1000px;padding:110px 16px 40px;text-align:center}
.capa h1{font-size:clamp(1.8rem,5vw,3rem);font-weight:900}
.busca{background:#fff;color:var(--texto);border-radius:12px;padding:10px;display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:8px;text-align:left;box-shadow:0 10px 40px #0006}
.busca__campo{display:grid;border:1px solid var(--linha);border-radius:8px;padding:.35rem .7rem}
.busca__campo small{font-size:.7rem;color:var(--suave)}.busca select,.busca input{border:0;font:inherit;background:none;padding:.15rem 0;outline:none;width:100%}
@media (max-width:760px){.busca{grid-template-columns:1fr}.capa__in{padding-top:100px}}
.busca-codigo{margin-top:1rem;display:inline-flex;gap:.5rem;align-items:center;background:#ffffff26;border-radius:999px;padding:.3rem .4rem .3rem 1rem;font-size:.9rem}
.busca-codigo input{border:0;border-radius:999px;padding:.35rem .7rem;font:inherit;width:9rem;margin-left:.4rem}
.busca-codigo button{border:0;border-radius:999px;background:var(--ouro);color:#fff;padding:.35rem .9rem;font:inherit;font-weight:700;cursor:pointer}
/* páginas */
.pagina{max-width:1240px;margin:0 auto;padding:1.2rem 16px 3rem}.pagina--estreita{max-width:980px}
.titulo-pagina{font-size:clamp(1.5rem,3.5vw,2.1rem)}.contagem{color:var(--suave);margin-top:-.3rem}
.migalhas ol{list-style:none;padding:0;margin:0 0 .8rem;display:flex;flex-wrap:wrap;gap:.3rem;font-size:.8rem;color:var(--suave)}
.migalhas li+li::before{content:"›";margin-right:.3rem}.migalhas a{color:var(--suave);text-decoration:none}
.secao{margin-top:2.5rem}.secao__topo{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.secao__topo h2{font-size:1.4rem}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.card{border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;background:#fff;transition:box-shadow .2s}.card:hover{box-shadow:0 10px 30px #0000001f}
.card a{color:inherit;text-decoration:none;display:block}
.card__foto{position:relative;aspect-ratio:3/2;background:var(--fundo)}.card__foto img,.card__foto .sem-foto{width:100%;height:100%;object-fit:cover}
.card__cod{position:absolute;left:10px;top:10px;background:#000b;color:#fff;font-size:.72rem;padding:.15rem .5rem;border-radius:4px}
.card__info{padding:.9rem 1rem 1rem}.card__local{margin:0;color:var(--suave);font-size:.8rem}.card__info h3{font-size:1.05rem;margin:.1rem 0}
.card__tipo{margin:0;font-size:.85rem;color:var(--suave)}
.card__carac{list-style:none;padding:0;margin:.6rem 0;display:flex;flex-wrap:wrap;gap:.8rem;font-size:.82rem}
.card__carac li{display:flex;align-items:center;gap:.25rem}.card__carac svg,.imovel__carac svg{width:18px;height:18px;fill:var(--ouro)}
.card__preco{margin:0;font-size:.9rem}.card__preco b{font-size:1.15rem}
.sem-foto{display:grid;place-items:center;color:var(--suave);background:var(--fundo);aspect-ratio:3/2}
.chamadas{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:3rem}
.chamada{background:var(--preto);color:#fff;border-radius:var(--raio);padding:2rem;text-decoration:none}.chamada:hover{color:#fff;background:#222}
.chamada span{color:var(--ouro);font-weight:700}@media (max-width:700px){.chamadas{grid-template-columns:1fr}}
/* listagem */
.listagem{display:grid;grid-template-columns:270px 1fr;gap:24px;align-items:start}
.filtros{border:1px solid var(--linha);border-radius:var(--raio);padding:1rem;display:grid;gap:.7rem;position:sticky;top:1rem}
.filtros h2{font-size:1.1rem;margin:0}
.filtros label,.form label{display:grid;gap:.25rem;font-size:.85rem;font-weight:500}
.filtros input,.filtros select,.form input,.form select,.form textarea{font:inherit;font-weight:400;border:1px solid var(--linha);border-radius:8px;padding:.6rem .7rem;width:100%;background:#fff}
.filtros__faixa{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.filtros__limpar{text-align:center;font-size:.85rem}
@media (max-width:860px){.listagem{grid-template-columns:1fr}.filtros{position:static}}
.paginacao{display:flex;justify-content:center;gap:1rem;align-items:center;margin-top:2rem}
.vazio{border:1px dashed var(--linha);border-radius:var(--raio);padding:2rem;text-align:center}
/* imóvel */
.selo{display:inline-block;background:var(--fundo);border:1px solid var(--linha);border-radius:6px;font-size:.75rem;padding:.1rem .5rem;margin-bottom:.4rem}
.titulo-imovel{font-size:clamp(1.3rem,3vw,1.9rem)}.subtitulo{color:var(--suave);margin-top:-.3rem}
.galeria{position:relative;border-radius:var(--raio);overflow:hidden;background:#000;margin:1rem 0}
.galeria__trilho{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.galeria__trilho::-webkit-scrollbar{display:none}
.galeria__item{flex:0 0 100%;margin:0;scroll-snap-align:center;aspect-ratio:3/2;display:grid;place-items:center}
@media (min-width:900px){.galeria__item{flex-basis:66.6%}}
.galeria__item img{width:100%;height:100%;object-fit:cover}
.galeria__nav{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#fffe;width:44px;height:44px;border-radius:50%;font-size:1.8rem;line-height:1;cursor:pointer}
.galeria__nav--ant{left:12px}.galeria__nav--prox{right:12px}
.galeria__cont{position:absolute;left:12px;bottom:12px;background:#fff;border-radius:999px;padding:.2rem .8rem;font-size:.8rem}
.imovel{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start}
@media (max-width:900px){.imovel{grid-template-columns:1fr}}
.imovel__carac{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:1.5rem}
.imovel__carac li{display:grid;justify-items:center;text-align:center}.imovel__carac b{font-size:1.05rem}.imovel__carac small{color:var(--suave)}
.imovel__endereco{color:var(--suave)}.imovel section{margin-top:1.6rem}.imovel h2{font-size:1.25rem}
.imovel__descricao{white-space:normal}
.imovel__lista{columns:2;padding-left:1.1rem}@media (max-width:600px){.imovel__lista{columns:1}}
.imovel__lateral{display:grid;gap:20px;position:sticky;top:1rem}
.preco{border:1px solid var(--linha);border-radius:var(--raio);padding:1.2rem}
.preco__rotulo{margin:0;color:var(--suave)}.preco__valor{margin:0 0 .6rem;font-size:1.8rem;font-weight:900}.preco__valor small{font-size:.9rem;font-weight:500}
.preco dl{display:grid;grid-template-columns:1fr auto;gap:.3rem;margin:0 0 1rem}.preco dd{margin:0;text-align:right}
.botao--whats{background:#1fa855;width:100%}.botao--whats:hover{background:#178a45}
/* formulários */
.form{border:1px solid var(--linha);border-radius:var(--raio);padding:1.2rem;display:grid;gap:.8rem;background:#fff}.form h2{font-size:1.15rem;margin:0}
.form fieldset{border:0;padding:0;margin:0;display:grid;gap:.8rem}.form legend{font-weight:700;font-size:1.05rem;margin-bottom:.4rem}
.form__aviso,.form__dica{font-size:.78rem;color:var(--suave);margin:0}.form__ok{background:#e9f8ee;color:#145c2e;border-radius:8px;padding:.7rem;margin:0}
.armadilha{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.duas-colunas{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width:800px){.duas-colunas{grid-template-columns:1fr}}
.unidade-card{border:1px solid var(--linha);border-radius:var(--raio);padding:1rem;margin-bottom:1rem}
.bancos{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.bancos a{display:flex;justify-content:space-between;border:1px solid var(--linha);border-radius:var(--raio);padding:1rem;text-decoration:none;color:var(--texto);font-weight:700}
.bancos span{color:var(--ouro)}.texto-longo h3{margin-top:1.4rem}
/* rodapé */
.rod{background:var(--preto);color:#ddd;margin-top:3rem}.rod__in{max-width:1240px;margin:0 auto;padding:2.5rem 16px 1.5rem}
.rod__unidades{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-bottom:2rem;border-bottom:1px solid #333}
.rod__unidade h3{color:#fff}.rod__unidade small{color:#999}.rod__unidade a{color:var(--ouro);display:inline-flex;gap:.4rem;align-items:center;text-decoration:none}
.rod__unidade svg{width:18px;height:18px;fill:currentColor}
.rod__links{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:2rem}.rod__links h3{color:#fff;font-size:1rem;margin-top:1rem}
.rod__links a{display:block;color:#bbb;text-decoration:none;font-size:.85rem;padding:.15rem 0}.rod__links a:hover{color:var(--ouro)}
.rod__copy{color:#888;font-size:.8rem;margin-top:2rem}
@media (max-width:800px){.rod__unidades,.rod__links{grid-template-columns:1fr}}
.whats-flutuante{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 6px 20px #0004;z-index:20}
.whats-flutuante svg{width:30px;height:30px;fill:#fff}
.card__foto picture,.galeria__item picture{display:block;width:100%;height:100%}
.galeria__item{background:#111}
.galeria__item img{object-fit:contain}
