:root{
  --bg:#FAFAF8; --paper:#FFFFFF; --ink:#111111; --ink-2:#4A4A48; --muted:#8C8C88; --line:#E3E2DD; --soft:#F1F0EB;
  --green:#5E7B4E; --wa:#25D366; --wa-ink:#0B2E17;
  --serif:"Cormorant Garamond",Georgia,serif; --sans:"Jost",system-ui,sans-serif;
}
/* Faixas escuras: trocam as variáveis, então todos os componentes se adaptam sozinhos. */
.band-dark{
  --bg:#111111; --paper:#1A1A19; --ink:#F2F1EC; --ink-2:#C2C1BB; --muted:#8A8983; --line:#2E2E2C; --soft:#1F1F1D;
  background:var(--bg);color:var(--ink);
}
.band-light{background:var(--bg);color:var(--ink)}
.band-dark{--green:#9DBB8C}
.band-dark .btn.solid{background:var(--ink);color:var(--bg)}

/* apresentação da Malu */
.intro{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;border:1px solid var(--line);background:var(--paper);padding:32px}
.avatar{width:112px;height:112px;border-radius:50%;background:var(--soft);border:1px solid var(--line);display:grid;place-items:center;font-family:var(--serif);font-size:44px;font-weight:600;color:var(--muted)}
.intro .q{font-family:var(--serif);font-size:clamp(22px,2.6vw,30px);line-height:1.25;font-style:italic}
.intro .who{margin-top:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

/* depoimentos */
.depos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.depo{border-top:1px solid var(--ink);padding-top:20px;display:grid;gap:14px;align-content:start}
.depo p{font-family:var(--serif);font-size:21px;line-height:1.3;font-style:italic}
.depo b{font-weight:500;font-size:13px;display:block}
.depo span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* faixa de números */
.numbers{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.numbers div{padding:28px 18px;display:grid;gap:6px;border-right:1px solid var(--line)}
.numbers div:last-child{border-right:0}
.numbers .n{font-family:var(--serif);font-size:clamp(36px,4vw,52px);font-weight:600;line-height:.9;white-space:nowrap}
.numbers span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
@media (max-width:900px){.numbers{grid-template-columns:1fr 1fr}.numbers div:nth-child(2){border-right:0}.numbers div:nth-child(-n+2){border-bottom:1px solid var(--line)}.depos{grid-template-columns:1fr}}
@media (max-width:560px){.intro{grid-template-columns:1fr;padding:24px}.numbers{grid-template-columns:1fr}.numbers div{border-right:0;border-bottom:1px solid var(--line)}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:500;text-wrap:balance;margin:0;line-height:1.05}
h1{font-size:clamp(40px,6.5vw,72px)}
h2{font-size:clamp(30px,4.5vw,44px)}
h3{font-size:24px}
p{margin:0}
.label{font-size:11px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}
.serif{font-family:var(--serif)}
.wrap{max-width:1120px;margin:0 auto;padding-inline:20px}
section{padding-block:72px}
.sec-head{display:grid;gap:8px;margin-bottom:32px}
.sec-head p{color:var(--ink-2);max-width:52ch}

/* nav */
.nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:68px}
.brand{display:flex;align-items:center;gap:10px}
.brand svg{width:26px;height:20px}
.brand .name{font-family:var(--serif);font-size:24px;font-weight:600;letter-spacing:.08em;line-height:1}
.brand .sub{display:block;font-size:7px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;color:var(--muted)}
.menu{display:flex;gap:28px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:400}
.menu a{padding-block:6px;border-bottom:1px solid transparent;transition:border-color .2s}
.menu a:hover{border-color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;border:1px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer;transition:all .2s;font-family:var(--sans)}
.btn:hover{background:var(--ink);color:var(--bg)}
.btn.solid{background:var(--ink);color:var(--bg)}
.btn.solid:hover{background:transparent;color:var(--ink)}
.btn.wa{background:var(--wa);border-color:var(--wa);color:var(--wa-ink)}
.btn.wa:hover{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.sm{padding:9px 14px;font-size:11px}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.burger i{display:block;width:20px;height:1.5px;background:var(--ink);margin-block:4px}

/* hero */
.hero{padding-block:48px 72px}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.hero .txt{display:grid;gap:22px}
.hero h1 em{font-style:italic;color:var(--green)}
.hero .lead{max-width:44ch;color:var(--ink-2);font-size:18px}
.search{display:grid;grid-template-columns:1fr 1fr 1fr auto;border:1px solid var(--ink);background:var(--paper)}
.search select,.search button{border:0;background:transparent;font-family:var(--sans);font-size:13px;color:var(--ink);padding:14px 16px;appearance:none;-webkit-appearance:none;cursor:pointer}
.search select{border-right:1px solid var(--line);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23888' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 14px center}
.search button{background:var(--ink);color:var(--bg);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding-inline:22px}
.hero .meta{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.hero .meta b{color:var(--ink);font-weight:500}
.stage{position:relative;aspect-ratio:1;max-height:520px;width:100%}
.stage canvas{width:100%!important;height:100%!important;display:block}
.stage .tag{position:absolute;left:0;bottom:0;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}

/* 3d tilt cards */
.tilt{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s;will-change:transform}
.tilt.hover{transition:transform .08s linear,box-shadow .5s;box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}
.tilt > *{transform:translateZ(0)}
.tilt .lift{transform:translateZ(28px)}

/* categorias */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;perspective:1200px}
.cat{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--soft);display:grid;align-content:end;padding:22px;color:#fff}
.cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.cat:hover img{transform:scale(1.05)}
.cat::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.72))}
.cat > *{position:relative;z-index:1}
.cat .label{color:rgba(255,255,255,.75)}
.cat h3{font-size:30px;color:#fff}
.cat small{font-size:13px;opacity:.85}

/* imoveis */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;perspective:1200px}
.card{background:var(--paper);border:1px solid var(--line);display:grid;grid-template-rows:auto 1fr;position:relative}
.card .img{aspect-ratio:4/3;overflow:hidden;background:var(--soft)}
.card .img img{width:100%;height:100%;object-fit:cover}
.card .body{padding:16px;display:grid;gap:6px}
.card .body b{font-weight:500;font-size:15px;line-height:1.3}
.card .body span{font-size:12.5px;color:var(--muted)}
.card .pr{font-family:var(--serif);font-size:22px;font-weight:600;margin-top:4px}
.card .pr small{font-family:var(--sans);font-size:11px;font-weight:400;color:var(--muted)}
.badge{position:absolute;top:10px;left:10px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;background:var(--ink);color:var(--bg);padding:4px 8px;z-index:1}
.badge.hot{background:var(--green);color:#fff}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.chip{font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:transparent;font-family:var(--sans);transition:all .2s}
.chip.on,.chip:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* bairros */
.hoods{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.hood{background:var(--paper);padding:22px 18px;display:grid;gap:4px;transition:background .3s}
.hood:hover{background:var(--soft)}
.hood b{font-family:var(--serif);font-size:24px;font-weight:500}
.hood span{font-size:12px;color:var(--muted)}

/* proprietário / alerta */
.split{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ink)}
.split .l{padding:44px;display:grid;gap:18px;align-content:center;border-right:1px solid var(--ink)}
.split .r{padding:44px;background:var(--paper)}
.split.dark .r{background:var(--ink);color:var(--bg)}
.split p{color:var(--ink-2)}
.split.dark .r p{color:color-mix(in srgb,var(--bg) 70%,transparent)}
.proof{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
.proof div{border-top:1px solid var(--ink);padding-top:10px;display:grid;gap:2px}
.proof .n{font-family:var(--serif);font-size:38px;font-weight:600;line-height:1}
.proof span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.form{display:grid;gap:12px}
.form label{display:grid;gap:6px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.form input,.form select{border:0;border-bottom:1px solid var(--line);background:transparent;padding:10px 0;font-family:var(--sans);font-size:15px;color:inherit;outline:0;border-radius:0}
.form input:focus,.form select:focus{border-color:var(--green)}
.split.dark .form input,.split.dark .form select{border-color:color-mix(in srgb,var(--bg) 30%,transparent);color:var(--bg)}
.split.dark .form select option{color:#111}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form .btn{margin-top:8px;justify-self:start}
.split.dark .form .btn{border-color:var(--bg);color:var(--bg)}
.split.dark .form .btn:hover{background:var(--bg);color:var(--ink)}
.form small{font-size:12px;color:var(--muted)}

/* parceiros */
.pm{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);border-block:1px solid var(--line);padding-block:18px}
.pm .track{display:flex;gap:14px;width:max-content;animation:marq 40s linear infinite}
.pm .track:hover{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}
.pl{flex:none;width:180px;height:76px;border:1px solid var(--line);background:var(--paper);display:grid;place-items:center;font-family:var(--serif);font-size:20px;color:var(--ink-2);letter-spacing:.04em;text-align:center}
.pl small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

/* sobre */
.about{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center}
.about .photo{aspect-ratio:4/5;background:var(--soft);border:1px solid var(--line);display:grid;place-items:center;color:var(--muted);font-size:11px;letter-spacing:.2em;text-transform:uppercase;overflow:hidden}
.about .photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.about .txt{display:grid;gap:18px}
.about .txt p{color:var(--ink-2);max-width:52ch}
.about .creci{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

/* footer */
footer{border-top:1px solid var(--ink);padding-block:28px 40px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px}
footer a:hover{color:var(--ink)}

/* whatsapp flutuante */
.fab{position:fixed;right:20px;bottom:20px;z-index:30;width:54px;height:54px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 12px 30px -10px rgba(0,0,0,.5)}
.fab svg{width:26px;height:26px;fill:#fff}

/* página do imóvel */
.crumb{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding-block:20px}
.crumb a:hover{color:var(--ink)}
.prop{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start;padding-block:0 72px}
.gallery{display:grid;gap:8px}
.gallery .main{aspect-ratio:4/3;overflow:hidden;background:var(--soft)}
.gallery .main img{width:100%;height:100%;object-fit:cover;transition:opacity .3s}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.thumbs button{border:1px solid var(--line);padding:0;background:var(--soft);aspect-ratio:4/3;overflow:hidden;cursor:pointer;opacity:.6;transition:opacity .2s}
.thumbs button.on,.thumbs button:hover{opacity:1;border-color:var(--ink)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.info{display:grid;gap:22px;position:sticky;top:88px}
.info h1{font-size:clamp(32px,4vw,44px)}
.price{display:flex;align-items:baseline;gap:8px}
.price .n{font-family:var(--serif);font-size:44px;font-weight:600;line-height:1}
.price small{font-size:12px;color:var(--muted)}
.feats{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;font-size:14px;color:var(--ink-2)}
.feats span::before{content:"— ";color:var(--muted)}
.info .cta{display:grid;gap:8px}
.info .note{font-size:12px;color:var(--muted)}
.planta{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding-block:0 72px}
.planta .stage{aspect-ratio:4/3;cursor:grab}
.planta .stage:active{cursor:grabbing}
.planta .txt{display:grid;gap:16px}
.planta .txt p{color:var(--ink-2)}
.rooms{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;font-size:13px;color:var(--ink-2)}
.rooms b{font-weight:500;color:var(--ink)}
.mapa{padding-block:0 72px}
.mapa .box{border:1px solid var(--line);aspect-ratio:16/6;background:repeating-linear-gradient(90deg,var(--paper) 0 26px,var(--line) 26px 27px),repeating-linear-gradient(0deg,var(--paper) 0 26px,var(--line) 26px 27px);position:relative;display:grid;place-items:center}
.mapa .pin{width:16px;height:16px;border-radius:50% 50% 50% 0;background:var(--ink);transform:rotate(-45deg)}
.mapa .lab{position:absolute;left:14px;bottom:12px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;background:var(--bg);padding:4px 8px;color:var(--ink-2)}
.mapa .box a{position:absolute;right:14px;bottom:12px}
.related{padding-block:0 72px}

.rise{opacity:0;transform:translateY(14px);transition:opacity .8s ease,transform .8s ease}
.rise.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rise{opacity:1;transform:none}}

@media (max-width:900px){
  .hero .wrap,.split,.about,.prop,.planta{grid-template-columns:1fr}
  .split .l{border-right:0;border-bottom:1px solid var(--ink)}
  .stage{max-height:360px}
  .cats{grid-template-columns:1fr 1fr 1fr}.grid{grid-template-columns:1fr 1fr}.hoods{grid-template-columns:1fr 1fr 1fr}
  .menu{display:none}.burger{display:block}
  .nav.open .menu{display:grid;position:absolute;top:68px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:20px;gap:14px}
  .info{position:static}
  section{padding-block:56px}
}
@media (max-width:560px){
  .cats{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.hoods{grid-template-columns:1fr 1fr}
  .search{grid-template-columns:1fr}.search select{border-right:0;border-bottom:1px solid var(--line)}
  .split .l,.split .r{padding:28px}.form .row{grid-template-columns:1fr}
  .thumbs{grid-template-columns:repeat(4,1fr)}.thumbs button:nth-child(5){display:none}
  .nav .btn{display:none}
}

/* instagram */
.igb{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;align-items:center}
.igb-txt{display:grid;gap:14px}
.igb-txt p{color:var(--ink-2);max-width:40ch}
.igb-txt .btn{justify-self:start}
.igb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;position:relative}
.igb-grid img{width:100%;aspect-ratio:1;object-fit:cover;display:block;filter:grayscale(.15);transition:filter .4s,transform .4s}
.igb-grid:hover img{filter:none}
.igb-more{position:absolute;right:10px;bottom:10px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;background:var(--bg);color:var(--ink);padding:7px 10px}
@media (max-width:900px){.igb{grid-template-columns:1fr}}

/* categorias e blocos por tipo */
.cats-4{grid-template-columns:repeat(4,1fr)}
.cats-4 .cat{aspect-ratio:3/4}
.cats-4 .cat h3{font-size:24px}
.sec-row{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.sec-row > div{display:grid;gap:8px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.cats-4{grid-template-columns:1fr 1fr}.grid-2,.grid-3{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cats-4,.grid-2,.grid-3{grid-template-columns:1fr}}

/* configurador da casa na planta */
/* configurador */
.conf{display:grid;grid-template-columns:1.35fr 1fr;gap:32px;align-items:start}
.conf .stage{aspect-ratio:4/3;cursor:grab;position:relative;border:1px solid var(--line);background:var(--paper)}
.conf .stage:active{cursor:grabbing}
.conf .stage .tag{position:absolute;left:14px;bottom:12px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);pointer-events:none}
.conf .stage .street{position:absolute;left:50%;top:12px;transform:translateX(-50%);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);pointer-events:none}
.panel{display:grid;gap:22px}
.opt{display:grid;gap:10px}
.opt > .label{display:block}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{font-family:var(--sans);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;padding:10px 14px;border:1px solid var(--line);background:transparent;color:var(--ink-2);cursor:pointer;transition:all .2s}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.seg button:disabled{opacity:.35;cursor:not-allowed}
.sw{display:flex;gap:10px}
.sw button{width:44px;height:44px;border:1px solid var(--line);cursor:pointer;padding:0;position:relative}
.sw button[aria-pressed="true"]{outline:2px solid var(--ink);outline-offset:2px}
.sw button span{position:absolute;left:0;right:0;top:100%;margin-top:6px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.sw{margin-bottom:16px}
.tog{display:flex;flex-wrap:wrap;gap:6px}
.range{display:grid;gap:8px}
.range input{width:100%;accent-color:var(--ink)}
.range .ends{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.sum{border-top:1px solid var(--ink);padding-top:16px;display:grid;gap:10px}
.sum .row{display:flex;justify-content:space-between;gap:16px;font-size:14px}
.sum .row b{font-weight:500}
.sum .row span{color:var(--ink-2);text-align:right}
.rooms-np{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-size:13px;color:var(--ink-2)}
.rooms-np b{font-weight:500;color:var(--ink)}
.sum .price{display:flex;align-items:baseline;gap:8px;margin-top:6px}
.sum .price .n{font-family:var(--serif);font-size:36px;font-weight:600;line-height:1}
.sum .price small{font-size:11px;color:var(--muted)}
.sum .note{font-size:12px;color:var(--muted)}
@media (max-width:900px){.conf{grid-template-columns:1fr}}
@media (max-width:560px){.rooms-np{grid-template-columns:1fr}}
.band-dark .conf .stage{background:var(--paper)}
.band-dark .sw button[aria-pressed="true"]{outline-color:var(--ink)}

/* busca aberta (opções visíveis) */
.open{display:grid;gap:14px}
.open-row{display:grid;gap:8px}
.open-chips{display:flex;flex-wrap:wrap;gap:6px}
.open-chips a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:400;padding:9px 13px;border:1px solid var(--line);color:var(--ink-2);transition:all .2s}
.open-chips a:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* bairros por categoria */
.hood-cat{display:block;margin:28px 0 10px}
.hood-cat:first-of-type{margin-top:0}

/* lista com traços */
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:14px;align-content:center;height:100%}
.ticks li{font-family:var(--serif);font-size:22px;line-height:1.2;padding-bottom:14px;border-bottom:1px solid var(--line)}
.ticks li:last-child{border-bottom:0;padding-bottom:0}

/* parceiros com botão de contato */
.partners-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.partner{background:var(--paper);padding:22px 18px;display:grid;gap:4px;align-content:start}
.partner b{font-family:var(--serif);font-size:22px;font-weight:500}
.partner small{font-size:12px;color:var(--muted);letter-spacing:.06em}
.partner-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
@media (max-width:900px){.partners-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.partners-grid{grid-template-columns:1fr}}

/* instagram em uma linha */
.ig-line{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 24px;border-block:1px solid var(--line);padding-block:22px}
.ig-line .serif{font-size:clamp(24px,3vw,34px);line-height:1.1}
.ig-at{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);transition:color .2s}
.ig-line:hover .ig-at{color:var(--ink)}

/* carrossel */
.car{position:relative}
.car-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}
.car-track::-webkit-scrollbar{display:none}
.car-track figure{margin:0;flex:0 0 calc((100% - 24px) / 3);aspect-ratio:4/3;position:relative;overflow:hidden;border:1px solid var(--line);background:var(--soft);scroll-snap-align:start}
.car-track img{width:100%;height:100%;object-fit:cover;display:block}
.car-track figcaption{position:absolute;left:10px;bottom:8px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.car-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border:1px solid var(--ink);background:var(--bg);color:var(--ink);font-family:var(--serif);font-size:22px;cursor:pointer;display:grid;place-items:center;transition:all .2s}
.car-btn:hover{background:var(--ink);color:var(--bg)}
.car-btn.prev{left:-22px}.car-btn.next{right:-22px}
.car-dots{display:flex;justify-content:center;gap:8px;margin-top:16px}
.car-dots button{width:8px;height:8px;border-radius:50%;border:1px solid var(--ink);background:transparent;padding:0;cursor:pointer}
.car-dots button[aria-current="true"]{background:var(--ink)}
@media (max-width:1180px){.car-btn.prev{left:8px}.car-btn.next{right:8px}}
@media (max-width:900px){.car-track figure{flex-basis:calc((100% - 12px) / 2)}}
@media (max-width:560px){.car-track figure{flex-basis:100%}}

/* faixa ALUGADO */
.card.alugado .img,.gallery.alugado .main{position:relative}
.card.alugado .img img{filter:grayscale(1) brightness(.75)}
.card.alugado .img::after,.gallery.alugado .main::after{content:"Alugado";position:absolute;left:-46px;top:26px;width:200px;text-align:center;transform:rotate(-35deg);background:var(--ink);color:var(--bg);font-size:12px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;padding:8px 0;box-shadow:0 6px 18px -8px rgba(0,0,0,.6);z-index:2}
.card.alugado .pr{text-decoration:line-through;color:var(--muted)}
.card.alugado .badge{display:none}

/* ajustes pedidos pela Malu */
.hero h1 em.azul,.azul{color:#8DB8EE}
.band-light .azul{color:#2F5F9E}
.loop{display:block;margin-top:40px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.loop-track{display:flex;gap:10px;width:max-content;animation:marq 60s linear infinite}
.loop:hover .loop-track{animation-play-state:paused}
.loop-track img{height:150px;width:210px;object-fit:cover;flex:none;border:1px solid var(--line)}
a.pl{transition:background .2s,color .2s}
a.pl:hover{background:var(--ink);color:var(--bg)}
a.pl:hover small{color:var(--bg)}
.parc-cta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:24px;font-size:15px;color:var(--ink-2)}
.parc-cta b{font-weight:500;color:var(--ink)}
@media (max-width:560px){.loop-track img{height:110px;width:150px}}

/* configurador v2: cômodos, prévia, noite */
.cfg-left{display:grid;gap:14px;align-content:start}
.conf .stage{position:relative}
.conf .stage.night{background:#141412!important;border-color:#2E2E2C}
.conf .stage.night .tag,.conf .stage.night .street{color:#8A8983}
.cfg-night{position:absolute;right:12px;top:12px;z-index:3;font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding:8px 12px;border:1px solid var(--ink);background:var(--bg);color:var(--ink);cursor:pointer;transition:all .2s}
.cfg-night[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.conf .stage.night .cfg-night{border-color:#F2F1EC;color:#F2F1EC;background:#141412}
.conf .stage.night .cfg-night[aria-pressed="true"]{background:#F2F1EC;color:#141412}
.cfg-pv{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--line);background:var(--paper);overflow:hidden}
.cfg-pv-img{position:relative;aspect-ratio:4/3;background:var(--soft)}
.cfg-pv-img img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .35s}
.cfg-pv-tint{position:absolute;inset:0;mix-blend-mode:multiply;opacity:0;transition:opacity .4s,background .4s;pointer-events:none}
.cfg-pv-cap{position:absolute;left:10px;bottom:8px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.cfg-pv-txt{padding:18px;display:grid;gap:8px;align-content:start}
.cfg-pv-room{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.1}
.cfg-pv-chips{display:flex;flex-wrap:wrap;gap:5px}
.cfg-pv-chips span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:5px 8px;border:1px solid var(--line);color:var(--ink-2)}
.cfg-pv-txt small{font-size:11.5px;color:var(--muted);line-height:1.4}
.cfg-steps{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}
.cfg-steps button{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding:12px 6px;border:0;background:transparent;color:var(--muted);cursor:pointer;border-right:1px solid var(--line);transition:all .2s}
.cfg-steps button:last-child{border-right:0}
.cfg-steps button[aria-selected="true"]{background:var(--ink);color:var(--bg)}
.cfg-pane{display:grid;gap:22px}
.cfg-next{justify-self:start}
.cfg-rooms button{text-transform:none;letter-spacing:.04em;font-size:13px}
.cfg-room-head{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--ink);padding-top:14px;margin-bottom:8px}
.cfg-room-head b{font-family:var(--serif);font-size:24px;font-weight:500}
.cfg-room-head span{font-size:12px;color:var(--muted)}
#o-room{display:grid;gap:22px}
.cfg-hint{font-size:14px;color:var(--ink-2);border:1px dashed var(--line);padding:14px}
.cfg-extras ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:14px;color:var(--ink-2)}
.cfg-extras li::before{content:"· ";color:var(--ink)}
.cfg-extras li.muted{color:var(--muted)}
.cfg-extras li.muted::before{content:""}
.cfg-foot{border-top:1px solid var(--ink);padding-top:16px;display:grid;gap:12px;position:sticky;bottom:0;background:var(--bg);padding-bottom:4px}
.conf .sw{margin-bottom:24px;flex-wrap:wrap;row-gap:30px}
@media (max-width:560px){.cfg-pv{grid-template-columns:1fr}}
