/* ═══════════════════════════════════════════════════════════════════
   IMOB · site.css v3 — Link-in-bio app frame
   ═══════════════════════════════════════════════════════════════════ */

:root{
  --dark-0:#0e0a0c;
  --dark-1:#161014;
  --dark-2:#1d171b;
  --dark-3:#261d22;
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.14);
  --ink:#f4ece1;
  --ink-2:#e6dccf;
  --mute:#a69c92;
  --mute-2:#7d7369;
  --bronze:#886e47;
  --bronze-hi:#a9875a;
  --sand:#e4c18e;
  --sand-hi:#f2d7a8;
  --olive:#595637;
  --olive-hi:#77743f;
  --gold-grad:linear-gradient(135deg,#e4c18e 0%,#c99a5f 45%,#886e47 100%);
  --gold-grad-soft:linear-gradient(135deg,rgba(228,193,142,.22),rgba(136,110,71,.14));
  --ok:#6bd98b;
  --err:#ff6666;
  --app-w:480px;
  --app-pad:16px;
  --radius:14px;
  --radius-lg:22px;
  --radius-xl:28px;
  --f-disp:'DM Sans','Inter',system-ui,sans-serif;
  --f-body:'DM Sans','Inter',system-ui,sans-serif;
  --f-mono:'DM Sans','Inter',system-ui,sans-serif;
  --tabbar-h:68px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip}
html,body{background:#0a0608;color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;min-height:100%;overflow-x:clip}
body{max-width:100vw}
body{
  background:
    radial-gradient(900px 600px at 15% -10%, rgba(136,110,71,.22), transparent 60%),
    radial-gradient(800px 500px at 95% 20%, rgba(228,193,142,.12), transparent 55%),
    radial-gradient(700px 600px at 50% 110%, rgba(89,86,55,.18), transparent 60%),
    linear-gradient(180deg,#0a0608 0%, #120c10 40%, #0a0608 100%);
  background-attachment:scroll;
  padding-bottom:calc(var(--tabbar-h) + 32px);
}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
img{max-width:100%;display:block}
input,select,textarea{font:inherit;color:inherit}
.serif-i{font-family:var(--f-disp);font-style:italic;font-weight:500}

/* ── Ambient layers (fixed, behind everything) ─────────────────── */
.bg-grain,.bg-grid,.bg-blueprint,.bg-stripes,.bg-vignette,.blob,.bg-glow{
  position:fixed;inset:0;pointer-events:none;z-index:0
}
.bg-grain{opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.6'/></svg>")}
.bg-grid{opacity:.04;
  background-image:linear-gradient(rgba(228,193,142,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(228,193,142,.4) 1px,transparent 1px);
  background-size:32px 32px}
.bg-blueprint{opacity:.03;
  background-image:linear-gradient(rgba(228,193,142,.3) 1px,transparent 1px);
  background-size:100% 6px}
.bg-stripes{opacity:.02;
  background-image:repeating-linear-gradient(135deg,rgba(228,193,142,.6) 0 1px,transparent 1px 14px)}
.bg-vignette{background:radial-gradient(circle at 50% 50%,transparent 40%,rgba(0,0,0,.65) 100%)}
.blob{border-radius:50%;filter:blur(80px);opacity:.35}
.blob.b1{width:420px;height:420px;top:-120px;left:-120px;background:radial-gradient(circle,#886e47,transparent 70%)}
.blob.b2{width:380px;height:380px;top:30%;right:-140px;background:radial-gradient(circle,#595637,transparent 70%)}
.blob.b3{width:460px;height:460px;bottom:-160px;left:20%;background:radial-gradient(circle,#e4c18e,transparent 70%);opacity:.18}
.blob.b4{width:320px;height:320px;top:60%;right:10%;background:radial-gradient(circle,#886e47,transparent 70%);opacity:.22}
.bg-glow{width:320px;height:320px;filter:blur(100px);opacity:.3}
.bg-glow.tl{top:-80px;left:-80px;background:radial-gradient(circle,rgba(228,193,142,.5),transparent 70%)}
.bg-glow.br{bottom:-80px;right:-80px;background:radial-gradient(circle,rgba(136,110,71,.5),transparent 70%)}

/* ── APP FRAME (link-in-bio 480px) ────────────────────────────── */
.app{
  position:relative;z-index:2;
  width:100%;max-width:var(--app-w);
  margin:0 auto;
  padding:26px var(--app-pad) 24px;
}
main{position:relative;z-index:2}

/* ── APP BAR (topo, sticky, slim) ─────────────────────────────── */
.appbar{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(18px) saturate(1.3);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);
  background:linear-gradient(180deg,rgba(14,10,12,.82),rgba(14,10,12,.55));
  border-bottom:1px solid var(--line);
}
.appbar-inner{
  max-width:var(--app-w);margin:0 auto;
  padding:12px var(--app-pad);
  display:flex;align-items:center;gap:10px
}
.ab-brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.ab-brand img{height:auto;max-height:44px;width:auto;max-width:none;object-fit:contain}
.ab-brand .ab-name{
  font-family:var(--f-disp);font-weight:600;font-size:17px;letter-spacing:-.01em;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.ab-btn{
  width:36px;height:36px;border-radius:10px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.05);border:1px solid var(--line-2);
  color:var(--ink-2);
  transition:all .18s
}
.ab-btn:hover{background:rgba(228,193,142,.1);color:var(--sand)}
.ab-btn.back{flex-shrink:0}
.ab-title{
  font-family:var(--f-disp);font-size:15.5px;font-weight:600;
  flex:1;text-align:center;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}

/* ── TAB BAR (rodapé fixo) ──────────────────────────────────── */
.tabbar{
  position:fixed;bottom:0;left:0;right:0;z-index:60;
  padding:8px 12px calc(8px + env(safe-area-inset-bottom));
  pointer-events:none
}
.tabbar-inner{
  pointer-events:auto;
  max-width:var(--app-w);margin:0 auto;
  height:var(--tabbar-h);
  display:grid;grid-auto-flow:column;grid-auto-columns:1fr;
  background:linear-gradient(180deg,rgba(26,19,23,.92),rgba(14,10,12,.95));
  backdrop-filter:blur(22px) saturate(1.4);
  -webkit-backdrop-filter:blur(22px) saturate(1.4);
  border:1px solid var(--line-2);
  border-radius:22px;
  box-shadow:0 24px 60px -24px rgba(0,0,0,.8), 0 0 0 1px rgba(228,193,142,.06) inset;
  padding:8px 6px;
}
.tab{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  border-radius:14px;position:relative;
  color:var(--mute-2);transition:color .18s
}
.tab svg{width:21px;height:21px;stroke-width:1.8}
.tab small{font-size:9.5px;font-weight:600;letter-spacing:.02em;font-family:var(--f-body)}
.tab.active{color:var(--sand)}
.tab.active::before{
  content:'';position:absolute;top:4px;left:50%;transform:translateX(-50%);
  width:28px;height:3px;border-radius:3px;background:var(--gold-grad);
  box-shadow:0 0 14px rgba(228,193,142,.6)
}
.tab.center{margin-top:-14px}
.tab.center .tab-ic{
  width:52px;height:52px;border-radius:16px;
  background:var(--gold-grad);color:#1a1014;
  display:grid;place-items:center;
  box-shadow:0 10px 26px -6px rgba(228,193,142,.5),0 0 0 4px rgba(228,193,142,.08);
  margin-bottom:2px
}
.tab.center.active::before{display:none}
.tab.center svg{width:24px;height:24px;stroke-width:2.2}

/* ── Typography helpers ───────────────────────────────────────── */
.eyebrow{
  font-family:var(--f-mono);font-size:10px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--sand);display:inline-block;margin-bottom:10px
}
h1,h2,h3{font-family:var(--f-disp);letter-spacing:-.02em;font-weight:600;color:var(--ink)}
h1{font-size:34px;line-height:1.05}
h2{font-size:24px;line-height:1.15}
h3{font-size:17px;line-height:1.25}
.lead{color:var(--mute);font-size:14.5px;line-height:1.55}

/* ── BUTTONS ─────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 18px;border-radius:13px;
  font-family:var(--f-body);font-weight:600;font-size:14.5px;letter-spacing:-.005em;
  transition:all .2s;white-space:nowrap
}
.btn-gold{background:var(--gold-grad);color:#1a1014;
  box-shadow:0 10px 26px -10px rgba(228,193,142,.5)}
.btn-gold:hover{transform:translateY(-1px);box-shadow:0 14px 32px -10px rgba(228,193,142,.65)}
.btn-wa{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;
  box-shadow:0 10px 26px -10px rgba(37,211,102,.5)}
.btn-ghost{background:rgba(255,255,255,.04);border:1px solid var(--line-2);color:var(--ink-2)}
.btn-ghost:hover{background:rgba(228,193,142,.08);border-color:rgba(228,193,142,.3)}
.btn-bronze{background:linear-gradient(135deg,#886e47,#5e4a2d);color:#fff}
.btn-block{width:100%}
.btn-lg{padding:15px 22px;font-size:15.5px}
.btn-sm{padding:9px 14px;font-size:13px;border-radius:10px}

/* ── WA-CTA PREMIUM (link-in-bio money button) ───────────────── */
.wa-cta{
  position:relative;
  display:flex;align-items:center;gap:14px;
  padding:16px 18px;border-radius:18px;
  background:linear-gradient(135deg,#25d366 0%,#1eb959 45%,#128c7e 100%);
  color:#fff;font-weight:700;font-size:15px;
  overflow:hidden;isolation:isolate;
  box-shadow:0 18px 40px -14px rgba(37,211,102,.55), 0 0 0 1px rgba(255,255,255,.12) inset;
  transition:transform .2s
}
.wa-cta::before{
  content:'';position:absolute;inset:-2px;border-radius:20px;
  background:radial-gradient(circle at 50% 50%,rgba(37,211,102,.6),transparent 70%);
  filter:blur(14px);z-index:-1;opacity:.7;
  animation:waHalo 3s ease-in-out infinite
}
.wa-cta::after{
  content:'';position:absolute;top:0;left:0;width:40%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);
  animation:waSweep 3.2s ease-in-out infinite;
  will-change:transform;
}
@keyframes waHalo{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:.9;transform:scale(1.03)}}
@keyframes waSweep{0%{transform:translateX(-150%)}60%,100%{transform:translateX(350%)}}
.wa-cta:hover{transform:translateY(-2px)}
.wa-cta .wa-ic{
  width:44px;height:44px;border-radius:12px;
  background:rgba(255,255,255,.18);display:grid;place-items:center;flex-shrink:0;
  backdrop-filter:blur(10px)
}
.wa-cta .wa-tx{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}
.wa-cta .wa-tx b{font-size:15px;letter-spacing:-.01em}
.wa-cta .wa-tx small{font-size:11px;opacity:.92;font-weight:500}
.wa-cta .wa-arrow{font-size:18px;animation:waArrow 1.8s ease-in-out infinite}
@keyframes waArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}

/* ── HERO ORB (circular photo w/ conic spin) ─────────────────── */
.hero-orb{
  position:relative;width:185px;height:185px;margin:8px auto 18px;
  border-radius:50%;display:grid;place-items:center;isolation:isolate
}
.hero-orb::before{
  content:'';position:absolute;inset:-6px;border-radius:50%;
  background:conic-gradient(from 0deg,#e4c18e,#886e47,#595637,#e4c18e);
  animation:orbSpin 8s linear infinite;
  filter:blur(2px);z-index:-2
}
.hero-orb::after{
  content:'';position:absolute;inset:0;border-radius:50%;
  background:#0e0a0c;z-index:-1
}
@keyframes orbSpin{to{transform:rotate(1turn)}}
.hero-photo{
  width:170px;height:170px;border-radius:50%;object-fit:cover;
  box-shadow:0 0 0 4px rgba(14,10,12,.8), 0 0 0 5px rgba(228,193,142,.45), 0 30px 60px -20px rgba(0,0,0,.8)
}
.hero-logo-box{
  display:grid;place-items:center;
  background:radial-gradient(circle at 50% 40%, rgba(228,193,142,.12), #0e0a0c 70%);
  padding:24px
}
.hero-logo-box img{max-width:78%;max-height:78%;width:auto;height:auto;object-fit:contain;display:block;
  filter:drop-shadow(0 6px 20px rgba(228,193,142,.25))}
.hero-photo-ph{
  width:170px;height:170px;border-radius:50%;
  background:linear-gradient(135deg,#2a1f26,#1a131a);
  display:grid;place-items:center;color:rgba(228,193,142,.35);
  box-shadow:0 0 0 4px rgba(14,10,12,.8), 0 0 0 5px rgba(228,193,142,.35)
}
.hero-status{
  position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  padding:6px 11px;border-radius:100px;
  background:linear-gradient(135deg,#0f1e12,#0a1a0e);
  border:1px solid rgba(107,217,139,.4);
  font-family:var(--f-mono);font-size:9.5px;font-weight:700;letter-spacing:.14em;color:var(--ok);
  box-shadow:0 6px 18px -6px rgba(0,0,0,.6)
}
.dot-live{
  width:7px;height:7px;border-radius:50%;background:var(--ok);
  box-shadow:0 0 10px var(--ok);animation:livePulse 1.6s ease-in-out infinite
}
@keyframes livePulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ── HERO text block ──────────────────────────────────────────── */
.hero-block{text-align:center;padding:0 6px;margin-top:26px}
.hero-role{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 14px;border-radius:100px;margin-bottom:12px;
  font-family:var(--f-mono);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  background:linear-gradient(135deg,rgba(228,193,142,.14),rgba(136,110,71,.08));
  border:1px solid rgba(228,193,142,.28);color:var(--sand);
  position:relative;overflow:hidden
}
.hero-role::after{
  content:'';position:absolute;top:0;left:0;width:30%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(228,193,142,.35),transparent);
  animation:roleSheen 3.4s ease-in-out infinite;
  will-change:transform;
}
@keyframes roleSheen{0%{transform:translateX(-170%)}60%,100%{transform:translateX(470%)}}
.hero-name{font-size:30px;font-weight:600;line-height:1.06;margin-bottom:6px}
.hero-name .serif-i{
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent
}
.hero-creci{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;color:var(--mute);margin-bottom:10px}
.hero-desc{font-size:13.5px;line-height:1.55;color:var(--ink-2);margin:0 auto;max-width:340px}
.hero-metrics{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap}
.hero-metric{
  padding:10px 14px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid var(--line);
  text-align:center;min-width:84px
}
.hero-metric b{display:block;font-family:var(--f-disp);font-size:19px;color:var(--sand);letter-spacing:-.01em}
.hero-metric span{font-size:10px;color:var(--mute-2);letter-spacing:.1em;text-transform:uppercase;font-family:var(--f-mono)}

/* ── CARDS / BLOCKS ───────────────────────────────────────────── */
.block{
  padding:18px;border-radius:var(--radius-lg);
  background:linear-gradient(180deg,rgba(26,19,23,.7),rgba(20,15,18,.6));
  border:1px solid var(--line);
  margin-bottom:14px;
  box-shadow:0 20px 40px -22px rgba(0,0,0,.6)
}
.block-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;gap:10px}
.block-head .eyebrow{margin:0}
.block-head .more{font-size:11.5px;color:var(--sand);font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase}

/* ── SEGMENTED control (sale/rent tabs) ──────────────────────── */
.segmented{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;
  padding:4px;border-radius:14px;
  background:rgba(0,0,0,.35);border:1px solid var(--line);
  margin-bottom:14px
}
.segmented a{
  padding:11px 10px;border-radius:10px;
  font-family:var(--f-mono);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  text-align:center;color:var(--mute);transition:all .2s
}
.segmented a.active{background:var(--gold-grad);color:#1a1014;box-shadow:0 4px 14px -4px rgba(228,193,142,.5)}

/* ── SEARCH bar ──────────────────────────────────────────────── */
.search-bar{
  display:flex;align-items:center;gap:10px;
  padding:13px 16px;border-radius:14px;
  background:rgba(14,10,12,.7);border:1px solid var(--line-2);
  margin-bottom:12px
}
.search-bar svg{color:var(--mute);flex-shrink:0}
.search-bar input{
  flex:1;border:0;background:transparent;outline:none;
  font-size:14.5px;color:var(--ink)
}
.search-bar input::placeholder{color:var(--mute-2)}
.search-bar button.filter{
  padding:6px 12px;border-radius:9px;
  background:rgba(228,193,142,.12);color:var(--sand);
  font-family:var(--f-mono);font-size:10.5px;font-weight:700;letter-spacing:.1em
}

/* ── CHIP SCROLL (categorias horizontais) ────────────────────── */
.chip-scroll{
  display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;
  scroll-snap-type:x mandatory;scrollbar-width:none;
  margin-left:calc(-1 * var(--app-pad));margin-right:calc(-1 * var(--app-pad));
  padding-left:var(--app-pad);padding-right:var(--app-pad)
}
.chip-scroll::-webkit-scrollbar{display:none}
.chip{
  flex-shrink:0;scroll-snap-align:start;
  padding:9px 16px;border-radius:100px;
  background:rgba(255,255,255,.04);border:1px solid var(--line);
  font-size:12.5px;font-weight:500;color:var(--ink-2);
  transition:all .18s;display:inline-flex;align-items:center;gap:6px
}
.chip:hover,.chip.active{background:var(--gold-grad-soft);border-color:rgba(228,193,142,.4);color:var(--sand)}
.chip.active{background:var(--gold-grad);color:#1a1014;border-color:transparent;font-weight:700}

/* ── PROPERTY CARDS (grid compact 2-col) ─────────────────────── */
.props-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.props-grid.full{grid-template-columns:1fr}
.prop{
  position:relative;border-radius:16px;overflow:hidden;
  background:rgba(14,10,12,.7);border:1px solid var(--line);
  transition:transform .22s, border-color .22s
}
.prop:hover{transform:translateY(-3px);border-color:rgba(228,193,142,.25)}
.prop-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#1a1014}
.prop-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.prop:hover .prop-media img{transform:scale(1.05)}
.prop-badges{position:absolute;top:8px;left:8px;display:flex;gap:4px;flex-wrap:wrap}
.prop-badge{
  font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:3px 7px;border-radius:4px;
  background:rgba(0,0,0,.75);backdrop-filter:blur(6px);color:var(--sand)
}
.prop-badge.hl{background:var(--gold-grad);color:#1a1014}
.prop-fav{
  position:absolute;top:8px;right:8px;
  width:32px;height:32px;border-radius:10px;
  background:rgba(0,0,0,.6);backdrop-filter:blur(6px);
  display:grid;place-items:center;color:#fff;transition:all .2s
}
.prop-fav.on,.prop-fav:hover{background:rgba(228,193,142,.85);color:#1a1014}
.prop-body{padding:11px 12px 13px}
.prop-code{
  font-family:var(--f-mono);font-size:9.5px;letter-spacing:.14em;color:var(--mute-2);
  display:flex;justify-content:space-between;align-items:center;margin-bottom:4px
}
.prop-title{
  font-family:var(--f-disp);font-size:14.5px;font-weight:600;line-height:1.2;margin-bottom:6px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em
}
.prop-loc{font-size:11px;color:var(--mute);margin-bottom:8px;display:flex;align-items:center;gap:4px}
.prop-specs,.prop-meta{
  display:flex;gap:10px;margin-bottom:9px;padding-bottom:9px;border-bottom:1px solid var(--line);
  font-family:var(--f-mono);font-size:10px;color:var(--mute);flex-wrap:wrap
}
.prop-specs span,.prop-meta span{display:inline-flex;align-items:center;gap:3px}
.prop-price{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
/* ── Botão compartilhar imóvel (amarelo) ── */
.prop-share{
  display:flex;align-items:center;justify-content:center;gap:7px;
  width:100%;padding:9px 12px;border-radius:10px;
  background:#e7a702;color:#1a1014;
  font-size:12.5px;font-weight:700;letter-spacing:.01em;
  text-decoration:none;
  transition:background .2s, transform .15s, box-shadow .2s;
  box-shadow:0 6px 18px -6px rgba(231,167,2,.55);
}
.prop-share:hover{
  background:#f5b800;
  transform:translateY(-1px);
  box-shadow:0 10px 24px -6px rgba(231,167,2,.7);
}
.prop-share svg{ flex-shrink:0 }
.prop-price-dual{display:flex;flex-direction:column;gap:0}
.prop-price-main.rent{background:linear-gradient(135deg,#6bd98b,#3aa85f);-webkit-background-clip:text;background-clip:text;color:transparent}
.prop-price-main{
  font-family:var(--f-disp);font-size:17px;font-weight:600;letter-spacing:-.02em;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent
}
.prop-price-sub{font-family:var(--f-mono);font-size:9.5px;color:var(--mute-2);letter-spacing:.08em;margin-top:2px}

/* ── BROKER tiles (grid 2-col) ───────────────────────────────── */
.brokers-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.broker-tile{
  display:block;border-radius:18px;overflow:hidden;
  background:rgba(14,10,12,.7);border:1px solid var(--line);transition:all .22s
}
.broker-tile:hover{border-color:rgba(228,193,142,.3);transform:translateY(-3px)}
.broker-tile-top{
  aspect-ratio:1/1;overflow:hidden;background:#1a1014;
  display:grid;place-items:center;color:rgba(228,193,142,.3)
}
.broker-tile-top img{width:100%;height:100%;object-fit:cover}
.broker-tile-body{padding:12px}
.broker-tile-body .role{
  font-family:var(--f-mono);font-size:9.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--sand);margin-bottom:4px
}
.broker-tile-body h3{font-size:15px;font-weight:600;margin-bottom:4px}
.broker-tile-body p{font-size:11.5px;color:var(--mute);line-height:1.4;margin-bottom:10px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.broker-tile-chips{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:10px}
.broker-chip{
  font-family:var(--f-mono);font-size:9px;letter-spacing:.08em;
  padding:3px 7px;border-radius:5px;
  background:rgba(228,193,142,.08);color:var(--sand);
  border:1px solid rgba(228,193,142,.2)
}
.broker-tile-foot{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:10px;border-top:1px solid var(--line);
  font-family:var(--f-mono);font-size:10px;color:var(--mute-2);letter-spacing:.08em
}

/* ── BIO LINKS (link-in-bio tiles) ───────────────────────────── */
.bio-links{display:grid;gap:10px}
.bio-link{
  display:flex;align-items:center;gap:14px;
  padding:14px 16px;border-radius:16px;
  background:linear-gradient(180deg,rgba(26,19,23,.85),rgba(20,15,18,.7));
  border:1px solid var(--line-2);
  transition:all .22s;position:relative;overflow:hidden
}
.bio-link:hover{border-color:rgba(228,193,142,.35);transform:translateX(2px)}
.bio-link .bio-ic{
  width:40px;height:40px;border-radius:12px;
  background:var(--gold-grad-soft);border:1px solid rgba(228,193,142,.25);
  display:grid;place-items:center;color:var(--sand);flex-shrink:0
}
.bio-link .bio-tx{flex:1;min-width:0}
.bio-link .bio-tx b{display:block;font-size:14.5px;font-weight:600;margin-bottom:2px;color:var(--ink)}
.bio-link .bio-tx small{font-size:11.5px;color:var(--mute)}
.bio-link .bio-arrow{color:var(--mute-2);flex-shrink:0}

/* ── FORM ─────────────────────────────────────────────────────── */
.form-grid{display:grid;gap:12px}
.form-field label{
  display:block;font-family:var(--f-mono);font-size:10px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--mute);
  margin-bottom:6px
}
.form-field input,.form-field select,.form-field textarea{
  width:100%;padding:12px 14px;border-radius:11px;
  background:rgba(0,0,0,.35);border:1px solid var(--line-2);
  font-size:14px;color:var(--ink);outline:none;transition:border .18s
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{
  border-color:rgba(228,193,142,.5)
}
.form-field textarea{resize:vertical;min-height:84px}

.success-box,.err-box{
  padding:14px 16px;border-radius:13px;margin-bottom:16px;font-size:13.5px;line-height:1.5
}
.success-box{background:rgba(107,217,139,.08);border:1px solid rgba(107,217,139,.3);color:var(--ok)}
.success-box strong{display:block;margin-bottom:4px;font-size:14px}
.err-box{background:rgba(255,102,102,.08);border:1px solid rgba(255,102,102,.3);color:#ffb3b3}

/* ── TESTIMONIAL cards ───────────────────────────────────────── */
.testi{
  padding:16px;border-radius:16px;
  background:linear-gradient(180deg,rgba(136,110,71,.08),rgba(89,86,55,.05));
  border:1px solid rgba(228,193,142,.15);margin-bottom:10px
}
.testi p{font-size:13.5px;line-height:1.55;color:var(--ink-2);margin-bottom:10px;font-style:italic;font-family:var(--f-disp);font-weight:500}
.testi-foot{display:flex;align-items:center;gap:10px}
.testi-foot b{font-size:12.5px;color:var(--ink);font-weight:600}
.testi-foot small{font-size:11px;color:var(--mute);display:block}
.testi-stars{color:var(--sand);font-size:12px;letter-spacing:.1em}

/* ── ML-HUB (Meu Imóvel hub - tabs calculadoras) ─────────────── */
.ml-hub{
  border-radius:var(--radius-lg);padding:18px;
  background:linear-gradient(160deg,rgba(89,86,55,.18),rgba(136,110,71,.08));
  border:1px solid rgba(228,193,142,.2);margin-bottom:14px
}
.ml-tabs{display:flex;gap:6px;margin-bottom:14px;padding:4px;background:rgba(0,0,0,.3);border-radius:12px}
.ml-tab{
  flex:1;padding:9px 10px;border-radius:9px;
  font-family:var(--f-mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mute);transition:all .18s
}
.ml-tab.active{background:var(--gold-grad);color:#1a1014}

/* ── DETAIL gallery + sticky ─────────────────────────────────── */
.detail-gallery{
  display:grid;grid-template-columns:1fr;gap:6px;
  border-radius:var(--radius-lg);overflow:hidden;margin-bottom:16px
}
.detail-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#1a1014}
.detail-gallery img:first-child{aspect-ratio:16/10}

/* ── CRUMBS (compact) ────────────────────────────────────────── */
.detail-crumbs{
  display:flex;align-items:center;gap:6px;font-size:11px;color:var(--mute);
  font-family:var(--f-mono);letter-spacing:.08em;margin-bottom:12px
}
.detail-crumbs a{color:var(--sand)}
.detail-crumbs .cur{color:var(--ink-2)}

/* ── PAGE intros ─────────────────────────────────────────────── */
.page-intro{margin-bottom:20px}
.page-intro h1{font-size:30px;line-height:1.05;margin-bottom:10px}
.page-intro .lead{font-size:14px}

/* ── STATS BAND ──────────────────────────────────────────────── */
.stats-band{
  display:grid;grid-template-columns:repeat(4,1fr);gap:6px;
  padding:14px 10px;border-radius:16px;
  background:linear-gradient(135deg,rgba(136,110,71,.12),rgba(89,86,55,.06));
  border:1px solid rgba(228,193,142,.18);margin:16px 0
}
.stat-card{text-align:center}
.stat-card strong{display:block;font-family:var(--f-disp);font-size:22px;color:var(--sand);letter-spacing:-.02em}
.stat-card span{font-size:9.5px;color:var(--mute-2);letter-spacing:.14em;text-transform:uppercase;font-family:var(--f-mono)}

/* ── CTA BAND ────────────────────────────────────────────────── */
.cta-band{
  padding:24px 20px;border-radius:var(--radius-lg);margin:18px 0;text-align:center;
  background:linear-gradient(160deg,rgba(136,110,71,.2),rgba(14,10,12,.6));
  border:1px solid rgba(228,193,142,.22)
}
.cta-band h2{font-size:22px;margin:10px 0 8px;line-height:1.15}
.cta-band p{color:var(--mute);font-size:13px;line-height:1.5;margin-bottom:16px}
.cta-band .ctas{display:flex;flex-direction:column;gap:8px}

/* ── FEATURES / VALUES ───────────────────────────────────────── */
.values-grid{display:grid;gap:10px;margin-bottom:18px}
.value-card{
  padding:14px 16px;border-radius:14px;display:flex;gap:12px;align-items:flex-start;
  background:rgba(255,255,255,.03);border:1px solid var(--line)
}
.value-card .ico{
  width:38px;height:38px;border-radius:11px;flex-shrink:0;
  background:var(--gold-grad-soft);border:1px solid rgba(228,193,142,.25);
  display:grid;place-items:center;color:var(--sand)
}
.value-card h3{font-size:14.5px;margin-bottom:4px}
.value-card p{font-size:12.5px;color:var(--mute);line-height:1.5}

/* ── AGENDA grid ─────────────────────────────────────────────── */
.broker-agenda{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.broker-agenda small{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);display:block;margin-bottom:8px}
.broker-agenda-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.broker-agenda-grid>div{
  padding:8px 10px;border-radius:10px;
  background:rgba(228,193,142,.05);border:1px solid var(--line);
  font-family:var(--f-mono);font-size:11px;color:var(--mute);display:flex;justify-content:space-between;gap:6px
}
.broker-agenda-grid strong{color:var(--sand);font-weight:700}

/* ── DIVIDER ordinal ─────────────────────────────────────────── */
.ord{display:flex;align-items:center;gap:12px;margin:20px 0 14px}
.ord::before,.ord::after{content:'';flex:1;height:1px;background:var(--line-2)}
.ord b{font-family:var(--f-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--sand-hi)}

/* ── FOOTER (slim) ───────────────────────────────────────────── */
.site-footer{
  margin:30px auto 0;padding:22px var(--app-pad) 14px;
  max-width:var(--app-w);border-top:1px solid var(--line);
  text-align:center;color:var(--mute-2);font-size:11px;letter-spacing:.04em
}
.site-footer a{color:var(--sand)}
.site-footer .ft-social{display:flex;justify-content:center;gap:10px;margin-bottom:12px}
.site-footer .ft-social a{
  width:36px;height:36px;border-radius:10px;
  background:rgba(255,255,255,.04);border:1px solid var(--line);
  display:grid;place-items:center;color:var(--ink-2);transition:all .18s
}
.site-footer .ft-social a:hover{background:rgba(228,193,142,.1);color:var(--sand)}

/* ── empty-state ─────────────────────────────────────────────── */
.empty-state{
  padding:40px 20px;text-align:center;border-radius:16px;
  background:rgba(255,255,255,.02);border:1px dashed var(--line-2)
}
.empty-state h3{font-size:15px;margin-bottom:6px}
.empty-state p{font-size:12.5px;color:var(--mute)}

/* ── contact methods ─────────────────────────────────────────── */
.contact-method{
  display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:13px;
  background:rgba(255,255,255,.03);border:1px solid var(--line);margin-bottom:8px;
  transition:all .18s
}
.contact-method:hover{background:rgba(228,193,142,.06);border-color:rgba(228,193,142,.25)}
.contact-method .ico{
  width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;color:#fff
}
.contact-method .ico.wa{background:linear-gradient(135deg,#25d366,#128c7e)}
.contact-method .ico.ph{background:linear-gradient(135deg,#886e47,#5e4a2d)}
.contact-method .ico.em{background:linear-gradient(135deg,#595637,#353221)}
.contact-method .ico.ho{background:rgba(228,193,142,.18);color:var(--sand);border:1px solid rgba(228,193,142,.3)}
.contact-method strong{display:block;font-size:13.5px;margin-bottom:2px}
.contact-method small{font-size:11.5px;color:var(--mute)}
.contact-grid{display:block}

/* ── Sched / legacy collapse ─────────────────────────────────── */
.sched-wrap{max-width:100%;margin:0}
.sched-prop{
  display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;
  background:rgba(255,255,255,.03);border:1px solid var(--line);margin-bottom:14px
}
.sched-prop img{width:64px;height:64px;border-radius:10px;object-fit:cover;flex-shrink:0}
.sched-prop-info{flex:1;min-width:0}
.sched-prop-info .code{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;color:var(--mute-2);margin-bottom:3px}
.sched-prop-info strong{display:block;font-size:13.5px;margin-bottom:2px}
.sched-prop-info small{font-size:11px;color:var(--mute)}

/* ── broker hero (individual page) ───────────────────────────── */
.broker-hero{display:block}
.broker-hero-photo{
  position:relative;width:180px;height:180px;margin:6px auto 16px;border-radius:50%;overflow:hidden;
  box-shadow:0 0 0 3px rgba(14,10,12,.8),0 0 0 4px rgba(228,193,142,.4)
}
.broker-hero-photo img{width:100%;height:100%;object-fit:cover}
.broker-hero-info{text-align:center;margin-bottom:16px}
.broker-hero-info .eyebrow{margin-bottom:8px}
.broker-hero-info h1{font-size:28px;margin-bottom:4px}
.broker-hero-info .creci{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;color:var(--mute);display:inline-block;margin-bottom:10px}
.broker-hero-info .bio{font-size:13.5px;line-height:1.55;color:var(--ink-2);max-width:380px;margin:0 auto 14px}
.broker-meta{display:grid;gap:10px;margin-bottom:14px;text-align:left}
.broker-meta small{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);display:block;margin-bottom:6px}
.broker-meta .chips{display:flex;flex-wrap:wrap;gap:5px}
.broker-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.broker-actions .btn{padding:12px 12px;font-size:13px}

/* ── legacy collapse ─────────────────────────────────────────── */
.site-header{display:none}
.container,.wrap,.listing-layout,.detail-main,.hero-card,.hero-inner,.hero-left,.hero-art,.about-split,.ft-grid,.filter-bar,.listing-head,.filters,.regime-tabs,.detail-side,.detail-prices{display:block;max-width:100%}

/* ── section padding reset for inline sections ───────────────── */
section{position:relative;z-index:2}

/* ═══════════════════════════════════════════════════════════════
   LIST PAGE · Futuristic filter UI
   ═══════════════════════════════════════════════════════════════ */
.list-hero{
  position:relative;padding:18px 18px 20px;margin-bottom:14px;
  border-radius:var(--radius-xl);overflow:hidden;
  background:linear-gradient(160deg,rgba(136,110,71,.22),rgba(89,86,55,.08) 60%,rgba(14,10,12,.8));
  border:1px solid rgba(228,193,142,.2);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.8), inset 0 0 0 1px rgba(228,193,142,.05)
}
.list-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(600px 200px at 10% 0%,rgba(228,193,142,.18),transparent 60%);
  z-index:0
}
.list-hero::after{
  content:'';position:absolute;top:-30%;right:-20%;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(228,193,142,.18),transparent 70%);
  filter:blur(20px);z-index:0;pointer-events:none
}
.list-hero > *{position:relative;z-index:1}
.list-hero .eyebrow{margin-bottom:6px}
.list-hero h1{font-size:28px;line-height:1.05;margin-bottom:8px}
.list-hero .counts{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--sand);opacity:.92
}
.list-hero .counts b{color:var(--sand-hi);font-size:13px;letter-spacing:0;margin-right:2px}

/* Regime toggle — glass pill with active glow */
.regime-toggle{
  display:grid;grid-template-columns:repeat(3,1fr);gap:4px;
  padding:4px;margin-top:14px;border-radius:14px;
  background:rgba(0,0,0,.45);
  border:1px solid rgba(228,193,142,.12);
  backdrop-filter:blur(10px)
}
.regime-toggle a{
  padding:10px 10px;border-radius:10px;text-align:center;
  font-family:var(--f-mono);font-size:10.5px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--mute);
  transition:all .2s;position:relative
}
.regime-toggle a.active{
  background:var(--gold-grad);color:#1a1014;
  box-shadow:0 0 0 1px rgba(228,193,142,.3), 0 8px 20px -6px rgba(228,193,142,.5),
             inset 0 1px 0 rgba(255,255,255,.3)
}
.regime-toggle a .dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:5px;opacity:.6}
.regime-toggle a.active .dot{background:#1a1014;opacity:1;box-shadow:0 0 8px rgba(0,0,0,.3)}

/* Quick search — floating inset */
.qs{
  display:flex;align-items:center;gap:10px;
  padding:13px 14px;margin-top:10px;border-radius:14px;
  background:rgba(14,10,12,.6);border:1px solid var(--line-2);
  transition:border .2s
}
.qs:focus-within{border-color:rgba(228,193,142,.45);box-shadow:0 0 0 3px rgba(228,193,142,.08)}
.qs svg{color:var(--sand);flex-shrink:0}
.qs input{flex:1;border:0;background:transparent;outline:none;font-size:14.5px;color:var(--ink)}
.qs input::placeholder{color:var(--mute-2)}

/* Results header (sort + filter chip) */
.res-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:6px 0 12px
}
.res-head .res-count{
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)
}
.res-head .res-count b{color:var(--sand);font-weight:700}
.res-actions{display:flex;gap:6px;align-items:center}
/* sort-sel is a .combo wrapper div — strip the duplicate arrow + wrapper border */
.combo.sort-sel{
  background-image:none;
  border:none;
  padding:0;
}
/* apply sort-specific styles to the actual select inside */
.combo.sort-sel select{
  padding:8px 34px 8px 12px;
  border-radius:10px;
  background-color:rgba(255,255,255,.04);
  font-family:var(--f-mono);font-size:10.5px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-2);
}
.fab-filter{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:10px;
  background:var(--gold-grad);color:#1a1014;
  font-family:var(--f-mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  box-shadow:0 8px 20px -6px rgba(228,193,142,.5);
  position:relative
}
.fab-filter .count{
  display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;
  border-radius:9px;background:#1a1014;color:var(--sand);
  font-size:10px;font-weight:700
}

/* Active filter chips (applied) */
.active-filters{
  display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px
}
.af-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 10px 6px 12px;border-radius:100px;
  background:rgba(228,193,142,.12);border:1px solid rgba(228,193,142,.28);
  color:var(--sand);font-size:11.5px;font-weight:500
}
.af-chip b{color:var(--ink);font-weight:600}
.af-chip button{
  display:grid;place-items:center;width:18px;height:18px;border-radius:50%;
  background:rgba(0,0,0,.35);color:var(--sand);font-size:10px
}
.af-clear{
  padding:6px 12px;border-radius:100px;
  background:rgba(255,102,102,.08);color:#ff9b9b;border:1px solid rgba(255,102,102,.25);
  font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700
}

/* ── FILTER SHEET (bottom sheet, futuristic) ─────────────────── */
.sheet-backdrop{
  position:fixed;inset:0;z-index:80;
  background:rgba(0,0,0,.6);backdrop-filter:blur(8px);
  opacity:0;pointer-events:none;transition:opacity .24s
}
.sheet-backdrop.open{opacity:1;pointer-events:auto}
.sheet{
  position:fixed;left:0;right:0;bottom:0;z-index:81;
  max-height:90vh;max-width:var(--app-w);margin:0 auto;
  background:
    radial-gradient(800px 300px at 50% 0%, rgba(228,193,142,.12), transparent 60%),
    linear-gradient(180deg,#1a1014 0%,#0e0a0c 100%);
  border:1px solid rgba(228,193,142,.25);
  border-bottom:0;border-radius:28px 28px 0 0;
  box-shadow:0 -30px 80px -20px rgba(0,0,0,.9), inset 0 1px 0 rgba(228,193,142,.2);
  transform:translateY(100%);transition:transform .32s cubic-bezier(.2,.9,.25,1);
  overflow:hidden;display:flex;flex-direction:column
}
.sheet.open{transform:translateY(0)}
.sheet-grab{
  display:flex;justify-content:center;padding:10px 0 4px
}
.sheet-grab span{
  width:42px;height:4px;border-radius:4px;background:rgba(228,193,142,.35)
}
.sheet-head{
  padding:8px 22px 14px;display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--line)
}
.sheet-head h3{
  font-family:var(--f-disp);font-size:20px;letter-spacing:-.01em
}
.sheet-head h3 small{
  display:block;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--sand);font-weight:700;margin-bottom:2px
}
.sheet-head .ab-btn{background:rgba(255,255,255,.06)}
.sheet-body{
  overflow-y:auto;padding:18px 22px 10px;
  -webkit-overflow-scrolling:touch
}
.sheet-body::-webkit-scrollbar{width:0}
.sheet-foot{
  padding:14px 22px calc(14px + env(safe-area-inset-bottom));
  display:grid;grid-template-columns:auto 1fr;gap:10px;
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,transparent,rgba(14,10,12,.95))
}
.sheet-foot .btn{width:100%}

/* Filter group */
.fg{margin-bottom:18px}
.fg-label{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:10px
}
.fg-label b{
  font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sand);font-weight:700
}
.fg-label small{font-size:11px;color:var(--mute-2)}

/* Option grid — pill buttons */
.opt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.opt-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.opt-grid.cols-4{grid-template-columns:repeat(4,1fr)}
.opt{
  padding:10px 8px;border-radius:11px;text-align:center;
  background:rgba(255,255,255,.03);border:1px solid var(--line-2);
  font-size:12px;font-weight:500;color:var(--ink-2);
  transition:all .18s;cursor:pointer;position:relative;overflow:hidden
}
.opt:hover{border-color:rgba(228,193,142,.3);background:rgba(228,193,142,.05)}
.opt.on{
  background:var(--gold-grad);color:#1a1014;border-color:transparent;font-weight:700;
  box-shadow:0 6px 16px -6px rgba(228,193,142,.45)
}
.opt.on::before{
  content:'';position:absolute;inset:0;border-radius:11px;pointer-events:none;
  background:radial-gradient(circle at 30% 0%,rgba(255,255,255,.3),transparent 60%)
}
.opt svg{vertical-align:middle;margin-right:3px;width:13px;height:13px}

/* Category scroll inside sheet */
.cat-scroll{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;margin:0 -22px;padding:0 22px 4px}
.cat-scroll::-webkit-scrollbar{display:none}
.cat-scroll .opt{flex-shrink:0;white-space:nowrap;padding:10px 14px}

/* Range (preço) — dual inputs with futuristic frame */
.range-futuristic{
  position:relative;padding:14px;border-radius:14px;
  background:
    linear-gradient(135deg,rgba(228,193,142,.06),rgba(89,86,55,.04));
  border:1px solid var(--line-2)
}
.range-inputs{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}
.range-inputs .ri{
  display:flex;flex-direction:column;gap:4px
}
.range-inputs .ri small{
  font-family:var(--f-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute-2);font-weight:700
}
.range-inputs input{
  width:100%;padding:10px 12px;border-radius:10px;
  background:rgba(0,0,0,.4);border:1px solid var(--line-2);
  color:var(--ink);font-family:var(--f-mono);font-size:13px;font-weight:600;
  outline:none;transition:border .18s
}
.range-inputs input:focus{border-color:rgba(228,193,142,.5)}
.range-inputs .sep{color:var(--mute-2);font-size:16px}
.range-quick{display:flex;gap:5px;margin-top:10px;flex-wrap:wrap}
.range-quick button{
  padding:5px 9px;border-radius:7px;
  background:rgba(255,255,255,.03);border:1px solid var(--line);
  font-family:var(--f-mono);font-size:9.5px;font-weight:600;letter-spacing:.08em;
  color:var(--mute);cursor:pointer;transition:all .18s
}
.range-quick button:hover{background:rgba(228,193,142,.08);color:var(--sand);border-color:rgba(228,193,142,.25)}

/* City select as futuristic combo */
.combo{
  position:relative
}
.combo select{
  width:100%;appearance:none;-webkit-appearance:none;
  padding:12px 38px 12px 14px;border-radius:12px;
  background:rgba(0,0,0,.4);border:1px solid var(--line-2);
  color:var(--ink);font-size:13.5px;outline:none;cursor:pointer
}
.combo select option{
  background:#1e1520;
  color:#f0ece8;
}
.combo::after{
  content:'';position:absolute;top:50%;right:14px;transform:translateY(-50%) rotate(45deg);
  width:7px;height:7px;border-right:2px solid var(--sand);border-bottom:2px solid var(--sand);
  pointer-events:none
}

/* Stepper for bedrooms */
.stepper{display:flex;align-items:center;gap:8px;justify-content:center}
.stepper button{
  width:36px;height:36px;border-radius:10px;
  background:rgba(228,193,142,.08);border:1px solid rgba(228,193,142,.2);
  color:var(--sand);font-size:18px;font-weight:700;
  display:grid;place-items:center;transition:all .18s
}
.stepper button:hover{background:rgba(228,193,142,.18)}
.stepper button:disabled{opacity:.3;cursor:not-allowed}
.stepper .val{
  min-width:80px;padding:10px 14px;border-radius:11px;
  background:linear-gradient(135deg,rgba(228,193,142,.1),rgba(89,86,55,.05));
  border:1px solid rgba(228,193,142,.25);
  text-align:center;font-family:var(--f-disp);font-size:20px;font-weight:700;color:var(--sand);
  letter-spacing:-.01em
}
.stepper .val small{display:block;font-family:var(--f-mono);font-size:8.5px;font-weight:600;color:var(--mute-2);letter-spacing:.18em;margin-top:-2px}

/* ── REP BAR (sticky broker header nas páginas internas) ─────── */
.rep-bar{
  position:sticky;top:8px;z-index:40;
  max-width:var(--app-w);margin:10px auto 4px;
  display:flex;align-items:center;gap:10px;
  padding:8px 10px 8px 8px;
  background:linear-gradient(180deg,rgba(26,19,23,.92),rgba(14,10,12,.95));
  backdrop-filter:blur(18px) saturate(1.4);
  -webkit-backdrop-filter:blur(18px) saturate(1.4);
  border:1px solid var(--line-2);
  border-radius:999px;
  box-shadow:0 14px 40px -20px rgba(0,0,0,.7), 0 0 0 1px rgba(228,193,142,.06) inset;
}
.rep-bar-id{display:flex;align-items:center;gap:10px;min-width:0;flex:1;color:inherit;text-decoration:none}
.rep-bar-pic{width:38px;height:38px;border-radius:50%;object-fit:cover;border:1px solid rgba(228,193,142,.35);box-shadow:0 0 0 2px rgba(228,193,142,.12);flex-shrink:0}
.rep-bar-pic-ph{display:grid;place-items:center;background:rgba(255,255,255,.04);color:var(--mute)}
.rep-bar-tx{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.rep-bar-tx b{font-size:13.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rep-bar-tx small{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.08em;color:var(--mute);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rep-bar-acts{display:flex;gap:6px;flex-shrink:0}
.rep-bar-wa{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;text-decoration:none;box-shadow:0 6px 18px -6px rgba(37,211,102,.6)}
.rep-bar-wa svg{width:15px;height:15px}

/* ── REP BRAND MARK (selo da imobiliária na página do corretor)  */
.rep-brand-mark{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin:28px auto 18px;padding:12px 16px;
  background:rgba(255,255,255,.025);
  border:1px solid var(--line-2);
  border-radius:14px;
  text-decoration:none;color:var(--mute-2);
  max-width:420px;
  padding:20px 22px;
  transition:background .2s,border-color .2s
}
.rep-brand-mark:hover{background:rgba(255,255,255,.05);border-color:rgba(228,193,142,.28)}
.rep-brand-mark img{height:180px;max-width:100%;width:auto;opacity:.95;filter:drop-shadow(0 4px 10px rgba(0,0,0,.5));margin:0 auto 10px;display:block;object-fit:contain}
.rep-brand-mark b{font-size:13px;color:var(--ink)}
.rep-brand-mark small{display:block;font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);text-align:center;width:100%}
.rep-brand-mark{flex-wrap:wrap}

/* utility */
.hide-sm{display:inline}
@media (max-width:520px){ .hide-sm{display:none} }

/* ── mobile broker-meta centralizado ─────────────────────────── */
@media (max-width:720px){
  .broker-meta{text-align:center;justify-items:center}
  .broker-meta > div{width:100%}
  .broker-meta .chips{justify-content:center}
}

/* ── ABOUT CARD (home + brokers) ─────────────────────────────── */
.about-card{
  position:relative;
  margin:10px 0 18px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
  border:1px solid var(--line-2);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 18px 50px -28px rgba(0,0,0,.6), 0 0 0 1px rgba(228,193,142,.05) inset;
}
.about-card-img{position:relative;aspect-ratio:16/9;overflow:hidden}
.about-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.about-card:hover .about-card-img img{transform:scale(1.04)}
.about-card-img::after{content:;position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,10,12,0) 40%,rgba(14,10,12,.9) 100%);pointer-events:none}
.about-card-body{padding:20px 18px 22px;position:relative}
.about-card-body .eyebrow{margin-bottom:8px}
.about-card-body h2{font-size:22px;line-height:1.15;margin:0 0 10px;color:var(--ink);letter-spacing:-.01em}
.about-card-body p{font-size:13.5px;line-height:1.6;color:var(--ink-2);margin:0 0 14px}
.about-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;background:rgba(255,255,255,.025);border:1px solid var(--line-2);border-radius:14px;margin-bottom:14px}
.about-card-stats > div{text-align:center;display:flex;flex-direction:column;gap:2px}
.about-card-stats b{font-size:20px;font-weight:700;background:var(--gold-grad,linear-gradient(135deg,#f3d9ae,#886e47));-webkit-background-clip:text;background-clip:text;color:transparent}
.about-card-stats span{font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.about-card-link{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--sand);text-decoration:none;padding:8px 14px;border:1px solid rgba(228,193,142,.28);border-radius:999px;transition:background .2s,border-color .2s}
.about-card-link:hover{background:rgba(228,193,142,.08);border-color:rgba(228,193,142,.5)}
.about-card-link svg{width:14px;height:14px}

@media (min-width:720px){
  /* Mantém imagem sempre no topo em 16:9 — não lateraliza */
  .about-card-body{padding:28px 26px}
  .about-card-body h2{font-size:26px}
}

/* rep-bar: escondido até 300px de scroll */
.rep-bar{
  opacity:0;transform:translateY(-14px);
  pointer-events:none;
  transition:opacity .28s ease, transform .28s ease;
}
.rep-bar.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}

/* ══════════════════════════════════════════════════════════════════
   PERFORMANCE — touch devices (Android / iOS)
   Remove tudo que causa repaints caros: blurs fixos, backdrop-filter
   em excesso e animações com propriedades não-composited (left, top)
   ══════════════════════════════════════════════════════════════════ */
@media (hover:none) and (pointer:coarse){

  /* 1. Texturas fixas sem conteúdo visual relevante — podem sumir */
  .bg-grain,.bg-grid,.bg-blueprint,.bg-stripes{ display:none }

  /* 2. Blobs: tirar filter:blur (culpado do repaint) mas MANTER position:fixed
        — fixed é relativo ao viewport, nunca expande o documento;
        absolute com left:-120px expandiria a largura da página */
  .blob,.bg-glow{ filter:none }
  /* Opacidade levemente maior para compensar ausência de blur */
  .blob{ opacity:.45 }
  .bg-glow{ opacity:.35 }

  /* 2. backdrop-filter — cada um cria compositor layer; em excesso trava */
  .appbar{
    backdrop-filter:none;-webkit-backdrop-filter:none;
    background:rgba(10,6,8,.96);
  }
  .rep-bar{
    backdrop-filter:none;-webkit-backdrop-filter:none;
    background:rgba(20,14,18,.97);
  }
  .wa-cta .wa-ic{ backdrop-filter:none;-webkit-backdrop-filter:none }
  .prop-badge{ backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(0,0,0,.82) }
  .prop-fav{ backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(0,0,0,.75) }
  .tabbar{ backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(10,6,8,.98) }

  /* 3. Animações infinitas pesadas — desligar no mobile */
  /* waHalo usa scale+opacity num pseudo com filter:blur — caro */
  .wa-cta::before{ animation:none }
  /* waSweep agora usa transform (já corrigido) mas desligar reduz layers */
  .wa-cta::after{ animation:none }
  /* orbSpin: conic-gradient girando + filter:blur = GPU stress */
  .hero-orb::before{ animation:none }
  /* roleSheen: agora usa transform mas desligar alivia em low-end */
  .hero-role::after{ animation:none }
  /* livePulse: ok em transform mas remove pra low-end */
  .dot-live{ animation:none;box-shadow:0 0 6px var(--ok) }

  /* 4. waArrow mantemos — é só translateX, ultra leve */

  /* 5. Garante que o conteúdo principal rode no GPU */
  .appbar,.tabbar,.app{ transform:translateZ(0) }
}

/* ══════════════════════════════════════════════════════════════════
   DESKTOP LAYOUT (≥900px) — expande grade e atalhos
   ══════════════════════════════════════════════════════════════════ */

/* Mobile: ocultar 5º e 6º cards nos grids da home */
.props-grid-home .prop:nth-child(n+5){ display:none }

@media(min-width:900px){

  /* ── App container: abre para desktop ── */
  .app{ max-width:1060px; padding-left:40px; padding-right:40px }

  /* ── Props grid: 3 colunas no desktop ── */
  .props-grid-home .prop:nth-child(n+5){ display:block }
  .props-grid-home{
    grid-template-columns:repeat(3,1fr);
    gap:16px;
  }

  /* ── Block head: mais espaçamento ── */
  .block-head{ margin-bottom:18px }
  .block-head .eyebrow{ font-size:11px }

  /* ── Brokers grid: até 6 colunas no desktop ── */
  .brokers-grid{ grid-template-columns:repeat(auto-fill,minmax(160px,1fr)) }

  /* ── BIO LINKS (atalhos) — desktop: tablado, sem amarelo ── */
  .bio-links{ gap:10px }
  .bio-link{
    padding:20px 28px;
    gap:22px;
    border-radius:18px;
    background:linear-gradient(135deg,rgba(35,25,30,.92) 0%,rgba(20,15,18,.78) 100%);
    border:1px solid rgba(228,193,142,.16);
    box-shadow:0 4px 24px -12px rgba(0,0,0,.5),inset 0 1px 0 rgba(228,193,142,.1);
    position:relative;overflow:hidden;
    transition:transform .22s,border-color .22s,box-shadow .22s;
  }
  .bio-link::before{
    content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
    background:var(--gold-grad);
    border-radius:0 2px 2px 0;opacity:0;transition:opacity .22s;
  }
  .bio-link:hover{
    transform:translateX(5px);
    border-color:rgba(228,193,142,.35);
    box-shadow:0 8px 32px -12px rgba(0,0,0,.55),inset 0 1px 0 rgba(228,193,142,.18);
  }
  .bio-link:hover::before{ opacity:1 }
  .bio-link .bio-ic{
    width:54px;height:54px;border-radius:15px;
    background:var(--gold-grad-soft);
    border:1px solid rgba(228,193,142,.25);
    color:var(--sand);
    flex-shrink:0;
  }
  .bio-link .bio-ic svg{ width:22px;height:22px }
  .bio-link .bio-tx{
    flex:1;min-width:0;
    display:flex;flex-direction:column;gap:4px;
  }
  .bio-link .bio-tx b{
    font-size:16px;font-weight:700;letter-spacing:-.01em;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    line-height:1.2;
  }
  .bio-link .bio-tx small{
    font-size:12.5px;line-height:1.4;
    display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .bio-link .bio-arrow{
    width:34px;height:34px;border-radius:10px;
    display:grid;place-items:center;flex-shrink:0;
    background:rgba(228,193,142,.06);
    border:1px solid rgba(228,193,142,.18);
    color:var(--mute-2);
    transition:background .22s,color .22s,border-color .22s;
  }
  .bio-link:hover .bio-arrow{
    background:rgba(228,193,142,.12);
    border-color:rgba(228,193,142,.35);
    color:var(--sand);
  }

  /* ── About card: lado a lado no desktop ── */
  .about-card{ display:flex;flex-direction:row;align-items:stretch }
  .about-card-img{
    flex:0 0 340px;aspect-ratio:unset;
    border-radius:22px 0 0 22px;
  }
  .about-card-img::after{ border-radius:inherit }
  .about-card-body{ flex:1;padding:36px 34px;display:flex;flex-direction:column;justify-content:center }
  .about-card-body h2{ font-size:28px }
}
