/* SN Imóveis — visual premium */
:root{--creme:#f5f2ec;--creme2:#ece6da;--branco:#fff;--tinta:#141414;--tinta2:#1e1d1b;--ouro:#b8955a;--ouro2:#d6b97f;--sec:#6e6a63;--borda:#e2dbcd;--raio:18px;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,system-ui,sans-serif;--larg:1320px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--tinta);background:var(--creme);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.01em}
.cx{width:min(var(--larg),92%);margin:0 auto}
.olho{display:flex;align-items:center;gap:.8rem;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ouro);font-weight:600;margin-bottom:1rem}
.olho::before{content:'';width:34px;height:1px;background:currentColor}
.tit{font-size:clamp(2.1rem,4.2vw,3.5rem)}
.sub{color:var(--sec);max-width:520px;margin-top:.8rem}
.cab-sec{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2.6rem;flex-wrap:wrap}
.link-seta{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem;border-bottom:1px solid currentColor;padding-bottom:.2rem;white-space:nowrap}
.link-seta:hover{color:var(--ouro)}
/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.95rem 1.7rem;border-radius:999px;font-weight:600;font-size:.88rem;border:1px solid transparent;cursor:pointer;transition:.25s;white-space:nowrap}
.btn-claro{background:#fff;color:var(--tinta)}.btn-claro:hover{background:var(--ouro2)}
.btn-vidro{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.35);backdrop-filter:blur(8px)}.btn-vidro:hover{background:rgba(255,255,255,.22)}
.btn-ouro{background:var(--ouro);color:#fff}.btn-ouro:hover{background:#a5824a}
.btn-escuro{background:var(--tinta);color:#fff}.btn-escuro:hover{background:#333}
.btn-linha{border-color:var(--tinta);color:var(--tinta)}.btn-linha:hover{background:var(--tinta);color:#fff}
.btn-wpp{background:#25d366;color:#fff}.btn-wpp:hover{background:#1ebe5b}
.campo{width:100%;padding:.85rem 1rem;border:1px solid var(--borda);border-radius:12px;font:inherit;font-size:.92rem;background:#fff;color:var(--tinta)}
.campo:focus{outline:2px solid rgba(184,149,90,.35);border-color:var(--ouro)}
label.rot{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--sec);margin:.8rem 0 .3rem;font-weight:700}
.aviso{padding:.9rem 1rem;border-radius:12px;margin-bottom:1rem;font-size:.9rem}.aviso-ok{background:#e9f5ec;color:#1e6b34}.aviso-erro{background:#fbeceb;color:#8b1f1f}
/* Topo */
.topo{position:fixed;left:0;right:0;top:0;z-index:60;transition:background .35s,box-shadow .35s,color .35s;color:var(--tinta);background:rgba(245,242,236,.92);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.topo-transp{background:transparent;box-shadow:none;color:#fff;backdrop-filter:none}
.topo.rolou{background:rgba(245,242,236,.94);color:var(--tinta);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.topo-linha{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;height:84px;transition:height .3s}
.topo.rolou .topo-linha{height:68px}
.marca img{height:46px;width:auto;object-fit:contain;filter:invert(1);transition:filter .3s,height .3s}
.topo-transp:not(.rolou) .marca img{filter:none}
.topo.rolou .marca img{height:40px}
.marca-txt{font-family:var(--serif);font-size:1.5rem;letter-spacing:.12em;white-space:nowrap}.marca-txt b{color:var(--ouro);font-weight:500}
.menu{display:flex;align-items:center;gap:1.7rem;font-size:.86rem;font-weight:500}
.menu>a{position:relative;padding:.3rem 0;opacity:.88}
.menu>a:hover,.menu>a.on{opacity:1}
.menu>a.on::after,.menu>a:not(.pill):hover::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--ouro)}
.menu .pill{border:1px solid currentColor;border-radius:999px;padding:.5rem 1rem;opacity:1;display:inline-flex;gap:.45rem;align-items:center}
.menu .pill:hover{background:var(--ouro);border-color:var(--ouro);color:#fff}
.menu .ico{font-size:1.15rem;opacity:1}
.menu-btn{display:none;background:none;border:0;color:inherit;font-size:1.9rem;line-height:1}
body:not(.tem-hero) main{padding-top:84px}
/* Hero em tela cheia */
.hero-full{position:relative;height:100vh;height:100svh;min-height:680px;color:#fff;overflow:hidden;background:#111}
.hs-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
.hs-slide.on{opacity:1;z-index:1}
.hs-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 7s ease-out}
.hs-slide.on img{transform:scale(1)}
.hero-full::after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(10,10,10,.78) 0%,rgba(10,10,10,.35) 55%,rgba(10,10,10,.15)),linear-gradient(0deg,rgba(10,10,10,.75),transparent 45%)}
.hero-cont{position:absolute;z-index:3;left:0;right:0;top:0;bottom:0;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:2.2rem}
.hs-txt{max-width:720px}
.hs-info{display:none}.hs-info.on{display:block;animation:sobe .9s ease both}
@keyframes sobe{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.hs-info .olho{color:var(--ouro2)}
.hs-info h1{font-size:clamp(2.4rem,5vw,4.6rem);margin-bottom:.8rem;text-wrap:balance;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-height:820px) and (min-width:981px){.hs-info h1{font-size:clamp(2.2rem,4vw,3.6rem)}.hs-specs{margin:.5rem 0 .9rem}.hs-botoes{margin-top:1rem}.hero-cont{padding-bottom:1.4rem}.hs-nav{margin:-2.6rem 0 1rem}}
.hs-local{opacity:.85;display:flex;gap:.5rem;align-items:center;font-size:.95rem}
.hs-specs{display:flex;gap:1.3rem;flex-wrap:wrap;margin:.8rem 0 1.4rem;font-size:.88rem;opacity:.9}.hs-specs i{color:var(--ouro2);margin-right:.35rem}
.hs-preco{font-family:var(--serif);font-size:clamp(2rem,3.5vw,2.8rem);display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}
.hs-preco small{font-family:var(--sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;opacity:.7}
.hs-botoes{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.hs-nav{display:flex;align-items:center;gap:1.2rem;justify-content:flex-end;margin:-3rem 0 1.6rem}
.hs-cont{font-size:.85rem;letter-spacing:.1em;min-width:62px}
.hs-barra{width:200px;height:2px;background:rgba(255,255,255,.25);position:relative;overflow:hidden}
.hs-barra span{position:absolute;inset:0 auto 0 0;background:#fff;width:0}
.hs-seta{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font-size:1rem;cursor:pointer}
.hs-seta:hover{background:#fff;color:#111}
.busca-vidro{background:rgba(255,255,255,.12);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.22);border-radius:22px;padding:.7rem;display:grid;grid-template-columns:auto 1fr 1fr 1fr 1fr auto;gap:.4rem;align-items:stretch}
.busca-modo{display:flex;flex-direction:column;gap:.3rem;padding-right:.3rem}
.busca-modo label{cursor:pointer}.busca-modo input{display:none}
.busca-modo span{display:block;padding:.45rem 1rem;border-radius:10px;font-size:.78rem;font-weight:600;text-align:center;opacity:.75}
.busca-modo input:checked+span{background:var(--tinta);opacity:1}
.bv-campo{background:rgba(255,255,255,.08);border-radius:14px;padding:.6rem 1rem;display:flex;flex-direction:column;justify-content:center}
.bv-campo small{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;opacity:.7;font-weight:600}
.bv-campo select,.bv-campo input{background:transparent;border:0;color:#fff;font:inherit;font-size:.95rem;padding:.15rem 0;outline:0;width:100%;appearance:none}
.bv-campo select option{color:#111}
.bv-campo input::placeholder{color:rgba(255,255,255,.7)}
.busca-vidro .btn{border-radius:14px;padding:0 2rem;background:var(--tinta);color:#fff}
.busca-vidro .btn:hover{background:var(--ouro)}
.hero-rodape{display:flex;gap:1.6rem;font-size:.82rem;margin-top:.9rem;opacity:.85;flex-wrap:wrap}.hero-rodape a{border-bottom:1px solid rgba(255,255,255,.5)}
/* Faixa com nomes */
.faixa-nomes{background:var(--creme2);overflow:hidden;padding:1.4rem 0;white-space:nowrap;border-bottom:1px solid var(--borda)}
.faixa-trilho{display:inline-flex;gap:2.4rem;animation:corre 50s linear infinite;font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,2.4vw,2rem)}
.faixa-trilho a:hover{color:var(--ouro)}
.faixa-trilho .est{color:var(--ouro);font-style:normal;font-size:1rem;align-self:center}
@keyframes corre{to{transform:translateX(-50%)}}
/* Seções */
.secao{padding:6.5rem 0}.sec-escura{background:var(--tinta);color:#fff}.sec-escura .sub{color:#a9a49b}.sec-branca{background:#fff}
/* Card com foto (texto sobre a imagem) */
.card-foto{position:relative;display:block;border-radius:var(--raio);overflow:hidden;background:#222;color:#fff;isolation:isolate}
.card-foto>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);z-index:-2}
.card-foto:hover>img{transform:scale(1.06)}
.card-foto::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(8,8,8,.88) 0%,rgba(8,8,8,.25) 50%,rgba(8,8,8,0) 72%)}
.cf-corpo{position:absolute;left:0;right:0;bottom:0;padding:1.4rem 1.5rem}
.cf-olho{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;opacity:.8;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-foto h3{font-size:1.55rem;margin:.35rem 0 .5rem;text-wrap:balance}
.cf-specs{display:flex;gap:1rem;flex-wrap:wrap;font-size:.78rem;opacity:.85}.cf-specs i{margin-right:.3rem;color:var(--ouro2)}
.cf-rod{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid rgba(255,255,255,.18);margin-top:.9rem;padding-top:.8rem}
.cf-preco{font-weight:700;font-size:1.15rem}.cf-preco small{font-weight:500;font-size:.72rem;opacity:.75}
.cf-cod{font-size:.72rem;opacity:.6}
.cf-tag{position:absolute;top:16px;left:16px;background:rgba(255,255,255,.92);color:var(--tinta);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.4rem .7rem;border-radius:999px}
.cf-tag.ouro{background:var(--ouro);color:#fff;left:auto;right:16px;max-width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Mosaico de destaques */
.mosaico{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:300px;gap:1rem}
.mosaico .card-foto:first-child{grid-row:span 2}
.mosaico .card-foto:not(:first-child) h3,.carrossel .card-foto h3{font-size:1.3rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mosaico .card-foto:not(:first-child) .cf-corpo{padding:1.1rem 1.2rem}
.mosaico .card-foto:not(:first-child) .cf-specs{flex-wrap:nowrap;overflow:hidden}
.mosaico .card-foto:first-child h3{font-size:clamp(1.8rem,3vw,2.6rem)}
.mosaico .card-foto:first-child .cf-corpo{padding:2rem}
/* Carrossel horizontal */
.carrossel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,1fr);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.2rem}
.carrossel::-webkit-scrollbar{display:none}
.carrossel>*{scroll-snap-align:start}
.car-4{grid-auto-columns:calc((100% - 3rem)/4)}
.car-3{grid-auto-columns:calc((100% - 2rem)/3)}
.setas{display:flex;gap:.6rem}
.setas button{width:48px;height:48px;border-radius:50%;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;font-size:1rem;opacity:.75}
.setas button:hover{opacity:1;background:var(--ouro);border-color:var(--ouro);color:#fff}
.alto{aspect-ratio:3/4}.largo{aspect-ratio:4/3}
.emp-logo{position:absolute;top:16px;left:16px;background:#fff;border-radius:12px;padding:.5rem .8rem;max-width:55%}
.emp-logo img{max-height:42px;width:auto}
/* Card padrão (imagem + texto embaixo) */
.grade-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.6rem}
.card-im{background:#fff;border-radius:var(--raio);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s;border:1px solid transparent}
.card-im:hover{transform:translateY(-5px);box-shadow:0 24px 50px -20px rgba(40,30,10,.35)}
.card-im-foto{position:relative;aspect-ratio:4/3;overflow:hidden;background:#1b1b1d}
.card-im-foto img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.card-im:hover .card-im-foto img{transform:scale(1.07)}
.tag-fin,.tag-eti{position:absolute;top:14px;font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;padding:.4rem .7rem;border-radius:999px}
.tag-fin{left:14px;background:rgba(255,255,255,.92);color:var(--tinta)}
.tag-eti{right:14px;background:var(--ouro);color:#fff;max-width:calc(100% - 120px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-im-corpo{padding:1.2rem 1.3rem 1.3rem;display:flex;flex-direction:column;flex:1}
.card-im-tipo{color:var(--ouro);font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700}
.card-im h3{font-size:1.45rem;margin:.35rem 0 .3rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-im-local{color:var(--sec);font-size:.84rem}
.card-im-specs{list-style:none;display:flex;flex-wrap:wrap;gap:1rem;margin:.9rem 0;font-size:.8rem;color:#4b4842}.card-im-specs i{color:var(--ouro);margin-right:.3rem}
.card-im-preco{margin-top:auto;padding-top:.9rem;border-top:1px solid var(--creme2);font-size:1.2rem;font-weight:700;display:flex;justify-content:space-between;align-items:baseline}
.card-im-preco small{font-size:.74rem;color:var(--sec);font-weight:500}
/* Bairros */
.bairros{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.bairro{position:relative;aspect-ratio:1/1;border-radius:var(--raio);overflow:hidden;color:#fff;display:flex;align-items:flex-end;padding:1.3rem;isolation:isolate}
.bairro img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s}
.bairro::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,0,0,.75),rgba(0,0,0,.05) 60%)}
.bairro:hover img{transform:scale(1.07)}
.bairro strong{font-family:var(--serif);font-size:1.6rem;font-weight:500;display:block;line-height:1.1}
.bairro small{opacity:.8;font-size:.8rem}
/* Sobre */
.sobre{display:grid;grid-template-columns:1.05fr 1fr;gap:5rem;align-items:center}
.sobre-foto{border-radius:28px;overflow:hidden;aspect-ratio:4/5;position:relative}
.sobre-foto img{width:100%;height:100%;object-fit:cover}
.sobre-selo{position:absolute;right:-1px;bottom:-1px;background:var(--creme);border-radius:24px 0 0 0;padding:1.4rem 1.8rem}
.sobre-selo strong{font-family:var(--serif);font-size:2.6rem;font-weight:500;color:var(--ouro);line-height:1;display:block}
.numeros{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2.4rem 0;border-top:1px solid var(--borda);padding-top:2rem}
.numeros strong{font-family:var(--serif);font-size:2.8rem;font-weight:500;line-height:1;display:block}
.numeros small{color:var(--sec);font-size:.82rem}
/* Faixa de chamada */
.cta-full{position:relative;color:#fff;border-radius:28px;overflow:hidden;padding:5.5rem 4rem;isolation:isolate}
.cta-full>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cta-full::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,10,10,.85),rgba(10,10,10,.35))}
.cta-full h2{font-size:clamp(2.2rem,4vw,3.6rem);max-width:640px}
.cta-full p{max-width:520px;opacity:.85;margin:1rem 0 2rem}
/* Páginas internas */
.pg-topo{padding:3.2rem 0 2.4rem;border-bottom:1px solid var(--borda)}
.pg-topo h1{font-size:clamp(2.2rem,4.5vw,3.6rem)}
.pg-topo p{color:var(--sec);margin-top:.4rem}
.migalha{font-size:.78rem;color:var(--sec);margin-bottom:1rem}.migalha a:hover{color:var(--ouro)}
.filtro-barra{position:sticky;top:68px;z-index:20;background:rgba(245,242,236,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--borda);padding:.9rem 0}
.filtro-barra form{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.filtro-barra .campo{width:auto;min-width:150px;flex:1 1 150px;padding:.7rem .9rem;border-radius:999px;font-size:.85rem}
.filtro-barra .btn{padding:.72rem 1.4rem}
.fin-pills{display:flex;background:#fff;border:1px solid var(--borda);border-radius:999px;padding:.25rem}
.fin-pills label{cursor:pointer}.fin-pills input{display:none}
.fin-pills span{display:block;padding:.45rem 1rem;border-radius:999px;font-size:.82rem;font-weight:600;color:var(--sec)}
.fin-pills input:checked+span{background:var(--tinta);color:#fff}
.btn-filtros{display:none}
.res-topo{display:flex;justify-content:space-between;align-items:center;margin:2rem 0 1.4rem;gap:1rem;flex-wrap:wrap;color:var(--sec);font-size:.9rem}
.res-topo .campo{width:auto;border-radius:999px;padding:.6rem 1rem}
.paginas{display:flex;gap:.4rem;justify-content:center;margin:3rem 0 5rem;flex-wrap:wrap}
.paginas a,.paginas span{min-width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--borda);border-radius:999px;font-weight:600;font-size:.85rem;background:#fff}
.paginas .on{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.vazio-site{text-align:center;padding:5rem 1rem;color:var(--sec)}.vazio-site i{font-size:3rem;color:var(--ouro)}
/* Página do imóvel */
.im-galeria{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:.6rem;border-radius:24px;overflow:hidden;margin:1.4rem 0 2.6rem}
.im-galeria a{position:relative;background:#1b1b1d;overflow:hidden}
.im-galeria a:first-child{grid-row:1/3}
.im-galeria img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.im-galeria a:hover img{transform:scale(1.05)}
.im-galeria .mais{position:absolute;inset:0;background:rgba(0,0,0,.5);color:#fff;display:grid;place-items:center;font-weight:600}
.im-layout{display:grid;grid-template-columns:1fr 390px;gap:3.5rem;padding-bottom:5rem}
.im-cab small{color:var(--ouro);text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:700}
.im-cab h1{font-size:clamp(2.2rem,4vw,3.4rem);margin:.5rem 0}
.im-specs{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin:2rem 0;padding:1.5rem;background:#fff;border-radius:var(--raio)}
.im-specs div{display:flex;gap:.7rem;align-items:center}.im-specs i{font-size:1.4rem;color:var(--ouro)}.im-specs strong{display:block;font-size:1.05rem;line-height:1.1}.im-specs small{color:var(--sec);font-size:.75rem}
.im-bloco{margin:2.6rem 0}.im-bloco h2{font-size:2rem;margin-bottom:1rem}
.im-desc{white-space:pre-line;color:#3d3a35}
.im-itens{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.6rem}.im-itens li::before{content:'✦';color:var(--ouro);margin-right:.6rem;font-size:.8rem}
.im-lateral{align-self:start;position:sticky;top:96px}
.caixa-preco{background:var(--tinta);color:#fff;border-radius:22px;padding:1.8rem}
.caixa-preco small{color:#a9a49b;text-transform:uppercase;letter-spacing:.14em;font-size:.66rem}
.caixa-preco .valor{font-family:var(--serif);font-size:2.6rem;color:var(--ouro2);margin:.1rem 0 .9rem;line-height:1.1}
.caixa-preco .linha{display:flex;justify-content:space-between;font-size:.88rem;padding:.45rem 0;border-top:1px solid #2c2b28;color:#d8d4cc}
.caixa-form{background:#fff;border-radius:22px;padding:1.6rem;margin-top:1rem}
.caixa-form h3{font-size:1.6rem}
.mapa{border:0;width:100%;height:340px;border-radius:var(--raio)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:100;display:none;align-items:center;justify-content:center}
.lightbox.on{display:flex}.lightbox img{max-width:92vw;max-height:86vh;object-fit:contain}
.lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer;padding:1rem}
.lb-fechar{top:0;right:0}.lb-ant{left:0;top:50%;transform:translateY(-50%)}.lb-prox{right:0;top:50%;transform:translateY(-50%)}.lb-cont{position:absolute;bottom:1rem;color:#aaa;font-size:.85rem}
/* Empreendimento */
.emp-hero{position:relative;min-height:88vh;color:#fff;display:flex;align-items:flex-end;padding:8rem 0 4rem;isolation:isolate}
.emp-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.emp-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,10,10,.85),rgba(10,10,10,.2) 60%),linear-gradient(90deg,rgba(10,10,10,.5),transparent)}
.emp-hero h1{font-size:clamp(2.8rem,6vw,5.2rem)}
.emp-hero .emp-logo{position:static;display:inline-block;margin-bottom:1.4rem}
.status-pill{display:inline-block;background:var(--ouro);color:#fff;border-radius:999px;padding:.4rem .9rem;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem}
.emp-faixa{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--borda);border-radius:var(--raio);overflow:hidden;margin:-2.5rem 0 3rem;position:relative;z-index:2}
.emp-faixa div{background:#fff;padding:1.3rem 1.4rem}.emp-faixa small{color:var(--sec);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.emp-faixa strong{display:block;font-family:var(--serif);font-size:1.6rem;font-weight:500}
.galeria-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.7rem}
.galeria-grade a{aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#222}.galeria-grade img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.galeria-grade a:hover img{transform:scale(1.05)}
/* Rodapé */
.rodape{background:var(--tinta);color:#a9a49b;padding:5rem 0 1.6rem;font-size:.88rem}
.rodape-grade{display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1fr;gap:2.5rem}
.rodape h4{color:#fff;font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;margin-bottom:1.2rem;font-weight:700}
.rodape a{display:block;margin-bottom:.55rem}.rodape a:hover{color:var(--ouro2)}.rodape p{margin-bottom:.9rem}
.rodape .marca img{filter:none;height:52px;margin-bottom:1.4rem}
.rodape-fim{border-top:1px solid #2c2b28;margin-top:3rem;padding-top:1.5rem;font-size:.78rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.wpp-flutua{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:1.75rem;box-shadow:0 10px 30px rgba(37,211,102,.45);z-index:70}
.texto-pg{max-width:820px;margin:0 auto;padding:3rem 0 5rem}.texto-pg p{margin-bottom:1rem;color:#3d3a35}
.grade-2{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.revela{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s ease}.revela.vis{opacity:1;transform:none}
/* Responsivo */
@media(max-width:1180px){.menu{gap:1.1rem;font-size:.82rem}.busca-vidro{grid-template-columns:1fr 1fr;}.busca-modo{grid-column:1/-1;flex-direction:row;justify-content:center}.busca-vidro .btn{grid-column:1/-1;padding:1rem}.car-4{grid-auto-columns:calc((100% - 2rem)/3)}}
@media(max-width:980px){
 .menu-btn{display:block;z-index:2}
 .menu{position:fixed;inset:0;background:var(--tinta);color:#fff;flex-direction:column;align-items:flex-start;justify-content:center;padding:2rem 10%;gap:1.3rem;font-size:1.5rem;font-family:var(--serif);opacity:0;pointer-events:none;transition:opacity .3s}
 .menu-on .menu{opacity:1;pointer-events:auto}.menu-on .menu-btn{color:#fff;position:fixed;right:5%;top:22px}
 .menu .pill{font-family:var(--sans);font-size:.95rem}
 .mosaico{grid-template-columns:1fr 1fr;grid-auto-rows:260px}.mosaico .card-foto:first-child{grid-column:1/-1;grid-row:auto}
 .sobre,.im-layout,.grade-2{grid-template-columns:1fr}.sobre{gap:3rem}
 .bairros{grid-template-columns:repeat(2,1fr)}
 .car-4,.car-3{grid-auto-columns:calc((100% - 1rem)/2)}
 .rodape-grade{grid-template-columns:1fr 1fr}
 .im-lateral{position:static}
 .im-galeria{grid-template-columns:1fr 1fr;grid-template-rows:280px 140px}.im-galeria a:first-child{grid-column:1/3;grid-row:auto}.im-galeria a:nth-child(n+4){display:none}
 .filtro-barra form .fx{display:none}.filtro-barra.aberto form .fx{display:block;width:100%;flex:1 1 100%}.btn-filtros{display:inline-flex}
 .hs-nav{margin:1rem 0}
}
@media(max-width:620px){
 .topo-linha{height:68px}.marca img{height:36px}
 .hero-full{height:auto;min-height:100vh;min-height:100svh}
 .hero-cont{position:relative;inset:auto;padding:96px 0 1.6rem;min-height:100vh;min-height:100svh}
 .hs-botoes .btn{padding:.8rem 1.2rem;font-size:.82rem}
 .hs-preco{font-size:1.9rem}
 .hs-nav{justify-content:space-between;gap:.6rem}.hs-seta{width:40px;height:40px}
 .busca-modo span{padding:.45rem .7rem}
 .hs-info h1{font-size:2.4rem}.hs-specs{gap:.8rem}.hs-barra{width:90px}
 .busca-vidro{grid-template-columns:1fr}.busca-vidro .bv-campo:nth-of-type(3),.busca-vidro .bv-campo:nth-of-type(4){display:none}
 .secao{padding:4.2rem 0}
 .mosaico{grid-template-columns:1fr}.car-4,.car-3,.carrossel{grid-auto-columns:82%}
 .bairros{grid-template-columns:1fr 1fr;gap:.6rem}.bairro strong{font-size:1.25rem}
 .numeros{grid-template-columns:repeat(3,1fr);gap:.8rem}.numeros strong{font-size:2rem}
 .cta-full{padding:3.5rem 1.6rem;border-radius:20px}
 .rodape-grade{grid-template-columns:1fr}
 .wpp-flutua{width:52px;height:52px;right:16px;bottom:16px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
