/* ==========================================================================
   Anúncio do corretor — Chitolina Imobiliária
   Mobile first. Tokens de FICHA_IMOVEL_DESIGN.md com acabamento premium:
   mais respiro, marinho + dourado como acentos, fotos em cover, hairlines.
   ========================================================================== */

:root{
  --ink:#12253a; --ink-hover:#1b3a5c; --ink-soft:#3a4a5c; --ink-2:#0d1c2e; --ink-3:#17304b;
  --orange:#f0863a; --orange-hover:#e4762a; --orange-link:#e97c2b;
  --amber:#f2a93b; --ouro:#d4a437; --ouro-claro:#f3cd76; --ouro-texto:#5b430b; --ouro-suave:#b8912f;
  --red:#f4405a; --green:#2fbf57; --whatsapp:#25d366; --whatsapp-hover:#1fb85a;
  --t-1:#12253a; --t-2:#3d4854; --t-3:#4c5866; --t-4:#5c6773; --t-5:#6b7785; --t-6:#8b949e; --t-7:#9aa3ad;
  --b-1:#eceef1; --b-2:#e7e9ec; --b-3:#dfe3e8; --b-4:#edeff1; --b-5:#c9cfd6; --b-6:#e1e4e8; --b-7:#f1f3f5;
  --bg-1:#ffffff; --bg-2:#f5f6f7; --bg-3:#eff0f1; --bg-4:#fafafb; --bg-5:#f1f2f4;
  --escuro:#0c1520;
  --wrap:1240px; --pad:18px;
  --topo-h:64px; --barra-h:74px;
  --r-lg:22px; --r-md:16px; --r-sm:12px;
  --sombra-card:0 10px 40px rgba(18,37,58,.07);
  --sombra-flut:0 18px 50px rgba(18,37,58,.14);
  --sombra-modal:0 30px 80px rgba(9,20,33,.32);
  --ease:cubic-bezier(.22,.61,.36,1);
  --sai:env(safe-area-inset-bottom,0px);
  --grad-ink:linear-gradient(135deg,var(--ink-2) 0%,var(--ink) 55%,var(--ink-3) 100%);
  --grad-ouro:linear-gradient(135deg,var(--ouro-claro),var(--ouro));
}
@media (min-width:861px){ :root{ --pad:32px; --topo-h:76px; } }

*,*::before,*::after{ box-sizing:border-box; }
[hidden]{ display:none !important; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0; background:var(--bg-1); color:var(--t-1);
  font-family:"Figtree","Helvetica Neue",Helvetica,Arial,sans-serif; font-size:15.5px; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
  padding-bottom:calc(var(--barra-h) + var(--sai));
}
@media (min-width:861px){ body{ padding-bottom:0; } }
body.travado{ overflow:hidden; }
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; cursor:pointer; }
h1,h2,h3{ margin:0; letter-spacing:-.022em; }
p{ margin:0; }
ul{ list-style:none; margin:0; padding:0; }
dl,dt,dd{ margin:0; }
.ic{ width:1.15em; height:1.15em; flex:none; }
.wrap{ max-width:var(--wrap); margin:0 auto; padding:0 var(--pad); }
:focus-visible{ outline:3px solid rgba(240,134,58,.7); outline-offset:2px; border-radius:6px; }

/* --- reveal --- */
.rv{ opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.rv.on{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .rv{ opacity:1; transform:none; transition:none; } }

/* ==========================================================================
   Botões e controles
   ========================================================================== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  border:0; border-radius:14px; padding:14px 24px; font-weight:700; font-size:15px; line-height:1.1; letter-spacing:-.005em;
  transition:transform .22s var(--ease), background .2s, box-shadow .25s, border-color .2s; white-space:nowrap; -webkit-tap-highlight-color:transparent;
}
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }
.btn--ink{ background:var(--ink); color:#fff; box-shadow:0 10px 26px rgba(18,37,58,.22); }
.btn--ink:hover{ background:var(--ink-hover); box-shadow:0 14px 32px rgba(18,37,58,.28); }
.btn--orange{ background:var(--orange); color:#fff; box-shadow:0 10px 26px rgba(240,134,58,.3); }
.btn--orange:hover{ background:var(--orange-hover); box-shadow:0 14px 34px rgba(240,134,58,.36); }
.btn--wa{ background:var(--whatsapp); color:#fff; box-shadow:0 10px 26px rgba(37,211,102,.26); }
.btn--wa:hover{ background:var(--whatsapp-hover); }
.btn--ghost{ background:#fff; color:var(--ink); border:1px solid var(--b-3); }
.btn--ghost:hover{ background:var(--bg-4); border-color:var(--b-5); }
.btn--sm{ padding:10px 15px; font-size:13.5px; border-radius:11px; }
.btn--lg{ padding:17px 26px; font-size:16px; }
.btn--bloco{ width:100%; }
.btn.enviando{ opacity:.7; pointer-events:none; }

.chips{ display:flex; gap:8px; flex-wrap:wrap; }
.chip{
  border:1px solid var(--b-6); background:#fff; color:var(--t-3); font-size:13.5px; font-weight:600;
  padding:9px 15px; border-radius:999px; transition:all .18s var(--ease); line-height:1.15;
}
.chip:hover{ border-color:var(--t-5); }
.chip[data-on="true"]{ background:var(--ink); border-color:var(--ink); color:#fff; box-shadow:0 6px 16px rgba(18,37,58,.2); }
.chip--dia{ display:flex; flex-direction:column; align-items:center; gap:2px; min-width:60px; padding:9px 10px; border-radius:14px; }
.chip--dia small{ font-size:10px; text-transform:uppercase; letter-spacing:.08em; font-weight:700; opacity:.7; }
.chip--dia b{ font-size:15px; font-weight:800; }

.input{
  width:100%; background:var(--bg-4); border:1px solid var(--b-2); border-radius:var(--r-sm); padding:14px 16px; font:inherit; font-size:15px; color:var(--t-1);
  transition:border-color .2s, box-shadow .2s, background .2s; appearance:none; -webkit-appearance:none;
}
.input::placeholder{ color:var(--t-7); }
.input:focus{ outline:0; background:#fff; border-color:var(--ink); box-shadow:0 0 0 4px rgba(18,37,58,.07); }
.input.erro{ border-color:var(--red); box-shadow:0 0 0 4px rgba(244,64,90,.12); }
.input--grande{ font-size:23px; font-weight:800; letter-spacing:-.01em; }
textarea.input{ resize:vertical; min-height:74px; }
.range{ width:100%; accent-color:var(--ink); margin:8px 0 2px; }
.range__ext{ display:flex; justify-content:space-between; font-size:11.5px; color:var(--t-7); }
.campo{ display:flex; flex-direction:column; gap:7px; }
.campo>label{ font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--t-3); }
.campo>label small{ text-transform:none; letter-spacing:0; font-weight:500; color:var(--t-6); }
.dupla{ display:grid; gap:12px; }
@media (min-width:480px){ .dupla{ grid-template-columns:1fr 1fr; } }

.tag{ display:inline-flex; align-items:center; gap:5px; padding:6px 12px; border-radius:999px; font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#fff; line-height:1.2; }
.tag--fin{ background:var(--ink); }
.tag--soft{ background:var(--bg-5); color:var(--t-3); }
.tag--ouro{ background:var(--grad-ouro); color:var(--ouro-texto); font-size:9.5px; font-weight:800; letter-spacing:.12em; box-shadow:0 3px 10px rgba(122,88,12,.3); }

.caixa{ border:1px solid var(--b-2); border-radius:var(--r-md); padding:26px; background:#fff; }
.divisor{ height:1px; background:var(--b-4); margin:20px 0; }
.fechar{ width:40px; height:40px; border:0; border-radius:50%; background:var(--bg-3); display:inline-flex; align-items:center; justify-content:center; transition:background .2s; }
.fechar:hover{ background:var(--b-3); }
.fechar--claro{ background:rgba(255,255,255,.12); color:#fff; }
.fechar--claro:hover{ background:rgba(255,255,255,.22); }

.sec{ margin-top:52px; }
.sec__kicker{ display:flex; align-items:center; gap:10px; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ouro-suave); margin-bottom:10px; }
.sec__kicker::before{ content:""; width:22px; height:1px; background:var(--ouro); }
.sec__titulo{ font-size:24px; font-weight:700; color:var(--ink); line-height:1.2; }
.sec__sub{ margin-top:10px; font-size:15px; color:var(--t-5); line-height:1.65; max-width:54ch; }
.sec__sub-titulo{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--t-5); margin:26px 0 12px; }
@media (min-width:861px){ .sec__titulo{ font-size:30px; } .sec{ margin-top:68px; } }

/* ==========================================================================
   Topo (identidade do corretor)
   ========================================================================== */
.topo{
  position:sticky; top:0; z-index:50; background:rgba(255,255,255,.82); backdrop-filter:blur(14px) saturate(1.4); -webkit-backdrop-filter:blur(14px) saturate(1.4);
  border-bottom:1px solid transparent; transition:border-color .25s, box-shadow .25s;
}
.topo::before{ content:""; position:absolute; left:0; right:0; top:0; height:3px; background:var(--grad-ouro); }
.topo.rolou{ border-color:var(--b-2); box-shadow:0 8px 30px rgba(18,37,58,.06); }
.topo__in{ height:var(--topo-h); display:flex; align-items:center; justify-content:space-between; gap:12px; }
.topo__corretor{ display:flex; align-items:center; gap:12px; min-width:0; }
.topo__avatar{ width:42px; height:42px; border-radius:50%; object-fit:cover; padding:2px; background:var(--grad-ouro); flex:none; }
.topo__txt{ display:flex; flex-direction:column; line-height:1.2; min-width:0; }
.topo__txt strong{ font-size:14.5px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; letter-spacing:-.01em; }
.topo__txt small{ font-size:11px; color:var(--t-6); font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.topo__acoes{ display:flex; gap:8px; flex:none; }
.topo__share span{ display:none; }
.topo__share{ padding:10px; }
@media (min-width:861px){
  .topo__avatar{ width:46px; height:46px; }
  .topo__txt strong{ font-size:16px; }
  .topo__share span{ display:inline; } .topo__share{ padding:10px 15px; }
}

/* ==========================================================================
   Galeria inline (fotos em cover, sem fundo desfocado)
   ========================================================================== */
.hero{ padding-top:12px; position:relative; }
.galeria{ display:grid; gap:8px; }
.galeria__principal{
  position:relative; border-radius:var(--r-lg); overflow:hidden; background:var(--escuro); cursor:pointer; touch-action:pan-y; isolation:isolate;
  aspect-ratio:4/3; max-height:74vh; width:100%; box-shadow:var(--sombra-card);
}
.galeria--retrato .galeria__principal{ aspect-ratio:4/5; }
.galeria__trilho{ position:absolute; inset:0; display:flex; z-index:1; transition:transform .42s var(--ease); will-change:transform; }
.galeria__trilho.arrastando{ transition:none; }
.galeria__slide{ margin:0; flex:0 0 100%; width:100%; height:100%; }
.galeria__slide img{ width:100%; height:100%; object-fit:cover; }
.galeria__principal::after{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(to top,rgba(9,20,33,.45) 0%,rgba(9,20,33,0) 34%), linear-gradient(to bottom,rgba(9,20,33,.28) 0%,rgba(9,20,33,0) 26%); }
.galeria__tag{ position:absolute; top:16px; left:16px; z-index:2; background:rgba(255,255,255,.92); color:var(--ink); font-size:10.5px; font-weight:700; letter-spacing:.12em; padding:7px 12px; border-radius:999px; backdrop-filter:blur(6px); }
.galeria__badge{ position:absolute; top:16px; right:16px; z-index:2; display:inline-flex; align-items:center; gap:6px; background:rgba(9,20,33,.62); backdrop-filter:blur(8px); border:1px solid rgba(243,205,118,.45); color:var(--ouro-claro); font-size:11.5px; font-weight:700; letter-spacing:.02em; padding:7px 12px; border-radius:999px; }
.galeria__seta{ position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:44px; height:44px; border:0; border-radius:50%; background:rgba(255,255,255,.9); color:var(--ink); display:none; align-items:center; justify-content:center; box-shadow:0 6px 20px rgba(9,20,33,.25); transition:background .2s, transform .2s; }
.galeria__seta:hover{ background:#fff; transform:translateY(-50%) scale(1.06); }
.galeria__seta--prev{ left:18px; } .galeria__seta--next{ right:18px; }
.galeria__contador{ position:absolute; bottom:16px; left:16px; z-index:2; display:inline-flex; align-items:center; gap:6px; color:#fff; font-size:12.5px; font-weight:600; padding:6px 0; text-shadow:0 1px 8px rgba(0,0,0,.5); }
.galeria__todas{ position:absolute; bottom:16px; right:16px; z-index:2; background:rgba(255,255,255,.94); color:var(--ink); border:0; font-size:12.5px; font-weight:700; padding:9px 14px; border-radius:999px; box-shadow:0 4px 16px rgba(9,20,33,.25); transition:transform .2s; }
.galeria__todas:hover{ transform:translateY(-1px); }
.galeria__minis{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.galeria__mini{ position:relative; border:0; padding:0; border-radius:14px; overflow:hidden; background:var(--escuro); height:100px; }
.galeria__mini img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.galeria__mini:hover img{ transform:scale(1.05); }
.galeria__mais{ position:absolute; inset:0; display:none; align-items:center; justify-content:center; background:rgba(9,20,33,.58); backdrop-filter:blur(2px); color:#fff; font-size:15px; font-weight:700; }
.galeria__mini:last-child .galeria__mais.on{ display:flex; }
@media (min-width:861px){
  .hero{ padding-top:22px; }
  .galeria{ grid-template-columns:1fr 320px; gap:12px; height:560px; }
  .galeria__principal, .galeria--retrato .galeria__principal{ aspect-ratio:auto; max-height:none; height:100%; }
  .galeria__seta{ display:inline-flex; }
  .galeria__minis{ grid-template-columns:1fr; grid-template-rows:repeat(3,1fr); gap:12px; height:560px; }
  .galeria__mini{ height:auto; border-radius:var(--r-md); }
}

/* ==========================================================================
   Cabeçalho do imóvel
   ========================================================================== */
.cab{ padding:22px 0 0; }
.cab__tags{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.cab__cod{ font-size:12px; color:var(--t-6); margin-left:auto; letter-spacing:.04em; }
.cab__titulo{ font-size:25px; font-weight:700; line-height:1.18; color:var(--ink); }
.cab__local{ margin-top:8px; font-size:15px; color:var(--t-5); }
.cab__grid{ display:grid; gap:18px; }
.cab__head + .preco{ margin-top:4px; }
.preco__rotulo{ display:block; font-size:11.5px; color:var(--t-6); text-transform:uppercase; letter-spacing:.1em; font-weight:600; }
.preco__linha{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.preco__valor{ font-size:34px; font-weight:800; letter-spacing:-.03em; line-height:1.1; color:var(--ink); }
.preco__antes{ font-size:15px; color:var(--t-6); text-decoration-color:rgba(244,64,90,.7); }
.preco__enc{ display:block; font-size:13px; color:var(--t-5); margin-top:5px; }
.preco__enc--ok{ color:var(--ouro-suave); font-weight:600; }
.cab__cta{ display:grid; gap:10px; }
.cab__cta .btn{ width:100%; }
@media (min-width:480px){ .cab__cta{ grid-template-columns:1fr 1fr; } }
@media (min-width:861px){
  .cab{ padding-top:30px; }
  .cab__titulo{ font-size:36px; max-width:22ch; }
  /* Desktop: preço ocupa o espaço à direita do título; CTAs saem (já há formulário e bloco lateral logo abaixo) */
  .cab__grid{ grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:28px 40px; }
  .cab__head + .preco{ margin-top:6px; text-align:right; }
  .cab__head + .preco .preco__linha{ justify-content:flex-end; }
  .cab__cta{ display:none; }
  .preco__valor{ font-size:44px; }
}

.specs{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:24px; }
.specs__item{ display:flex; align-items:center; gap:13px; padding:15px 16px; background:var(--bg-4); border:1px solid var(--b-1); border-radius:var(--r-md); }
.specs__ico{ width:42px; height:42px; border-radius:13px; background:#fff; border:1px solid var(--b-2); color:var(--ink); display:inline-flex; align-items:center; justify-content:center; flex:none; }
.specs__ico .ic{ width:21px; height:21px; }
.specs__txt{ display:flex; flex-direction:column; line-height:1.2; }
.specs__txt b{ font-size:19px; font-weight:700; letter-spacing:-.01em; }
.specs__txt small{ font-size:12px; color:var(--t-5); margin-top:2px; }
@media (min-width:861px){
  .specs{ grid-template-columns:repeat(4,1fr); gap:12px; }
  .specs__item{ padding:18px 20px; }
  .specs__txt b{ font-size:22px; }
}

.destaques{ display:grid; gap:8px; margin-top:16px; }
.destaques li{ display:flex; align-items:center; gap:11px; font-size:14.5px; font-weight:500; color:var(--t-2); padding:11px 14px; border:1px solid var(--b-2); border-radius:999px; background:#fff; }
.destaques .ic{ width:22px; height:22px; padding:5px; border-radius:50%; background:var(--grad-ouro); color:#fff; flex:none; }
@media (min-width:600px){ .destaques{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:861px){ .destaques{ display:flex; flex-wrap:wrap; gap:10px; } .destaques li{ font-size:14px; } }

/* ==========================================================================
   Corpo
   ========================================================================== */
.corpo{ display:grid; grid-template-columns:minmax(0,1fr); gap:0; padding-bottom:64px; }
.corpo__main{ min-width:0; }
@media (min-width:861px){
  .corpo{ grid-template-columns:minmax(0,1fr) 340px; gap:40px; align-items:start; padding-bottom:100px; }
}
@media (min-width:1080px){ .corpo{ grid-template-columns:minmax(0,1fr) 380px; gap:56px; } }

/* --- vídeo 9:16 --- */
.video{ display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.video__txt,.video__frame{ min-width:0; }
.video__cta{ display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.video__frame{ display:flex; justify-content:center; }
.video__box{
  position:relative; width:min(100%,340px); aspect-ratio:9/16; border-radius:28px; overflow:hidden; background:var(--escuro);
  box-shadow:0 30px 70px rgba(12,25,40,.3), 0 0 0 7px #0f1b28, 0 0 0 8px rgba(255,255,255,.08);
}
.video__box video, .video__box iframe{ width:100%; height:100%; display:block; object-fit:cover; border:0; }
.video__play{
  position:absolute; inset:0; margin:auto; width:78px; height:78px; border:0; border-radius:50%; background:rgba(255,255,255,.94); color:var(--ink);
  display:flex; align-items:center; justify-content:center; box-shadow:0 14px 36px rgba(0,0,0,.35); transition:transform .25s var(--ease), opacity .25s;
}
.video__play .ic{ width:30px; height:30px; margin-left:4px; }
.video__play::after{ content:""; position:absolute; inset:-14px; border-radius:50%; border:2px solid rgba(255,255,255,.55); animation:onda 2.2s ease-out infinite; }
@keyframes onda{ 0%{ transform:scale(.8); opacity:.9;} 100%{ transform:scale(1.35); opacity:0;} }
.video__box.tocando .video__play{ opacity:0; transform:scale(.7); pointer-events:none; }
.video__box.tocando .video__play::after{ animation:none; }
.video__barra{ position:absolute; left:16px; right:16px; bottom:16px; height:4px; border-radius:2px; background:rgba(255,255,255,.28); overflow:hidden; opacity:0; transition:opacity .3s; }
.video__box.tocando .video__barra, .video__box.pausado .video__barra{ opacity:1; }
.video__barra span{ display:block; height:100%; width:0; background:#fff; border-radius:2px; }
.video__som{ position:absolute; top:14px; right:14px; z-index:2; display:inline-flex; align-items:center; gap:6px; border:0; border-radius:999px; background:rgba(9,20,33,.7); color:#fff; font-size:12px; font-weight:700; padding:7px 12px 7px 10px; backdrop-filter:blur(4px); cursor:pointer; }
.video__som .ic{ width:16px; height:16px; }
@media (min-width:861px){
  .video{ grid-template-columns:minmax(0,1fr) 340px; align-items:center; gap:48px; }
  .video__frame{ justify-content:flex-end; }
  .video__box{ width:320px; }
}

/* --- sobre --- */
.sobre{ margin-top:14px; position:relative; }
.sobre__texto{ font-size:16px; line-height:1.8; color:var(--t-2); max-width:68ch; }
.sobre__texto p{ margin:0 0 16px; }
.sobre__texto p:last-child{ margin-bottom:0; }
.sobre__texto ul{ list-style:disc; padding-left:20px; margin:0 0 16px; }
.sobre:not(.aberto).cortado .sobre__texto{ max-height:250px; overflow:hidden; }
.sobre:not(.aberto).cortado::after{ content:""; position:absolute; left:0; right:0; bottom:46px; height:110px; background:linear-gradient(to bottom,rgba(255,255,255,0),#fff); pointer-events:none; }
.sobre__mais{ margin-top:12px; border:1px solid var(--b-3); background:#fff; border-radius:999px; padding:10px 20px; font-size:13.5px; font-weight:700; display:inline-flex; gap:8px; align-items:center; }
.sobre__mais span{ font-size:10px; color:var(--t-6); }
.sobre.cortado .sobre__mais{ display:inline-flex !important; }
@media (min-width:861px){ .sobre:not(.aberto).cortado .sobre__texto{ max-height:none; } .sobre.cortado::after{ display:none; } .sobre__mais{ display:none !important; } }

/* --- características --- */
.carac{ display:grid; gap:10px 28px; margin-top:14px; }
.carac li{ display:flex; align-items:center; gap:11px; font-size:14.5px; color:var(--t-2); padding:6px 0; border-bottom:1px solid var(--b-7); }
.carac__ok{ width:20px; height:20px; border-radius:50%; background:var(--bg-5); color:var(--ink); display:inline-flex; align-items:center; justify-content:center; flex:none; }
.carac__ok .ic{ width:11px; height:11px; }
.carac--lazer .carac__ok{ background:var(--grad-ouro); color:#fff; }
@media (min-width:600px){ .carac{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:861px){ .carac{ grid-template-columns:repeat(3,1fr); } }

/* ==========================================================================
   Central de ação (tabs + formulários)
   ========================================================================== */
.acao{ border:1px solid var(--b-2); border-radius:var(--r-lg); background:#fff; box-shadow:var(--sombra-flut); scroll-margin-top:calc(var(--topo-h) + 12px); overflow:hidden; }
.acao__cab{ padding:26px 18px 20px; background:var(--grad-ink); color:#fff; position:relative; }
.acao__cab::after{ content:""; position:absolute; right:-70px; top:-90px; width:240px; height:240px; border-radius:50%; background:radial-gradient(circle,rgba(240,134,58,.32),transparent 70%); pointer-events:none; }
.acao__cab .sec__kicker{ color:var(--ouro-claro); }
.acao__cab .sec__kicker::before{ background:var(--ouro-claro); }
.acao__cab .sec__titulo{ color:#fff; }
.acao__cab .sec__sub{ color:rgba(255,255,255,.75); }
.tabs-wrap{ position:relative; border-bottom:1px solid var(--b-2); background:var(--bg-4); }
.tabs{ position:relative; display:flex; gap:4px; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; padding:8px 18px 0; scroll-padding:18px; }
.tabs::-webkit-scrollbar{ display:none; }
.tab{ flex:none; display:inline-flex; align-items:center; gap:7px; border:0; background:transparent; padding:12px 12px 14px; font-size:13.5px; font-weight:700; color:var(--t-5); transition:color .2s; white-space:nowrap; }
.tab .ic{ width:18px; height:18px; }
.tab:hover{ color:var(--ink); }
.tab[aria-selected="true"]{ color:var(--ink); }
.tabs__ind{ position:absolute; bottom:0; height:3px; border-radius:3px 3px 0 0; background:var(--orange); transition:left .3s var(--ease), width .3s var(--ease); }
.tabs__seta{
  position:absolute; right:0; top:0; bottom:0; width:64px; border:0; padding:0 8px 0 0; display:flex; align-items:center; justify-content:flex-end;
  background:linear-gradient(to right,rgba(250,250,251,0),var(--bg-4) 45%); color:var(--ink); opacity:0; pointer-events:none; transition:opacity .25s;
}
.tabs__seta .ic{ width:30px; height:30px; padding:7px; border-radius:50%; background:#fff; border:1px solid var(--b-3); box-shadow:0 4px 12px rgba(18,37,58,.12); animation:cutuca 1.8s ease-in-out infinite; }
@keyframes cutuca{ 0%,100%{ transform:translateX(0);} 50%{ transform:translateX(3px);} }
.tabs__seta.on{ opacity:1; pointer-events:auto; }
.painel{ position:relative; padding:22px 18px 8px; }
.form{ display:flex; flex-direction:column; gap:16px; animation:entra .32s var(--ease); }
@keyframes entra{ from{ opacity:0; transform:translateY(8px);} to{ opacity:1; transform:none;} }
.form__cab h3{ font-size:18px; font-weight:700; color:var(--ink); }
.form__cab p{ margin-top:5px; font-size:14px; color:var(--t-5); line-height:1.55; }
.form__enviar{ margin-top:4px; }
.form__nota{ font-size:12px; text-align:center; color:var(--t-7); margin-top:-6px; }
.form__nota.erro{ color:var(--red); font-weight:600; }
.form__ok{ text-align:center; padding:26px 12px 10px; animation:entra .35s var(--ease); }
.form__ok-ico{ width:58px; height:58px; border-radius:50%; background:var(--green); color:#fff; display:inline-flex; align-items:center; justify-content:center; margin-bottom:14px; box-shadow:0 12px 28px rgba(47,191,87,.35); }
.form__ok-ico .ic{ width:28px; height:28px; }
.form__ok h3{ font-size:21px; }
.form__ok p{ margin:8px auto 18px; max-width:40ch; color:var(--t-4); font-size:14.5px; }
.form__ok-voltar{ display:block; margin:14px auto 0; background:none; border:0; color:var(--t-6); font-size:13px; text-decoration:underline; }
.acao__lgpd{ display:flex; align-items:center; gap:8px; padding:0 18px 20px; font-size:12px; color:var(--t-6); }
.acao__lgpd .ic{ color:var(--t-6); flex:none; }
.acao__lgpd a{ text-decoration:underline; }
@media (min-width:861px){
  .acao__cab{ padding:34px 32px 26px; }
  .tabs{ padding:8px 28px 0; }
  .tab{ padding:13px 16px 15px; font-size:14px; }
  .painel{ padding:28px 32px 10px; }
  .acao__lgpd{ padding:0 32px 24px; }
}

/* --- simulador --- */
.sim{ display:grid; gap:18px; }
.sim__ctrl{ display:flex; flex-direction:column; gap:16px; }
.sim__lbl{ display:flex; justify-content:space-between; }
.sim__lbl b{ text-transform:none; letter-spacing:0; color:var(--ink); font-size:13px; }
.sim__res{ background:var(--grad-ink); color:#fff; border-radius:var(--r-md); padding:22px 24px; position:relative; overflow:hidden; }
.sim__res::after{ content:""; position:absolute; right:-70px; top:-70px; width:200px; height:200px; border-radius:50%; background:radial-gradient(circle,rgba(212,164,55,.35),transparent 70%); pointer-events:none; }
.sim__res-lbl{ font-size:11.5px; opacity:.7; text-transform:uppercase; letter-spacing:.1em; font-weight:600; }
.sim__res-val{ display:block; font-size:33px; font-weight:800; letter-spacing:-.03em; line-height:1.15; margin:6px 0 16px; transition:opacity .2s; }
.sim__res-val.trocando{ opacity:.35; }
.sim__linhas div{ display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-top:1px solid rgba(255,255,255,.14); font-size:13.5px; }
.sim__linhas dt{ opacity:.72; } .sim__linhas dd{ font-weight:700; }
.sim__aviso{ font-size:11.5px; opacity:.58; margin-top:12px; line-height:1.45; }
@media (min-width:700px){ .sim{ grid-template-columns:1fr 1fr; align-items:start; } }

/* ==========================================================================
   Localização (raio, sem pin)
   ========================================================================== */
.local{ display:grid; border:1px solid var(--b-2); border-radius:var(--r-lg); overflow:hidden; margin-top:16px; box-shadow:var(--sombra-card); }
.local__mapa{ position:relative; height:220px; background:repeating-linear-gradient(135deg,#edeff1 0 14px,#e4e7ea 14px 28px); }
.local__mapa iframe{ width:100%; height:100%; border:0; display:block; filter:saturate(.7) contrast(.95); }
.local__raio{ position:absolute; left:50%; top:50%; width:150px; height:150px; margin:-75px 0 0 -75px; border-radius:50%; background:rgba(18,37,58,.16); border:2px solid rgba(18,37,58,.55); box-shadow:0 0 0 8px rgba(18,37,58,.06), inset 0 0 40px rgba(18,37,58,.12); pointer-events:none; animation:raio 3.2s ease-in-out infinite; }
@keyframes raio{ 0%,100%{ box-shadow:0 0 0 8px rgba(18,37,58,.06), inset 0 0 40px rgba(18,37,58,.12);} 50%{ box-shadow:0 0 0 18px rgba(18,37,58,.03), inset 0 0 40px rgba(18,37,58,.12);} }
.local__raio-lbl{ position:absolute; left:50%; top:calc(50% + 86px); transform:translateX(-50%); background:rgba(255,255,255,.94); color:var(--ink); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:5px 11px; border-radius:999px; box-shadow:0 4px 12px rgba(9,20,33,.15); pointer-events:none; white-space:nowrap; }
.local__info{ padding:22px 22px 24px; }
.local__linhas div{ display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid var(--b-7); font-size:13.5px; }
.local__linhas dt{ color:var(--t-6); } .local__linhas dd{ text-align:right; font-weight:600; }
.local__aviso{ font-size:11.5px; color:var(--t-7); margin:12px 0 16px; line-height:1.5; }
@media (min-width:861px){ .local{ grid-template-columns:1fr 290px; } .local__mapa{ height:340px; } .local__raio{ width:190px; height:190px; margin:-95px 0 0 -95px; } .local__raio-lbl{ top:calc(50% + 106px); } }

/* ==========================================================================
   Corretor
   ========================================================================== */
.corretor__card{ display:grid; gap:20px; border-radius:var(--r-lg); padding:30px 22px; background:var(--grad-ink); color:#fff; position:relative; overflow:hidden; box-shadow:var(--sombra-flut); }
.corretor__card::after{ content:""; position:absolute; right:-90px; top:-90px; width:280px; height:280px; border-radius:50%; background:radial-gradient(circle,rgba(212,164,55,.28),transparent 70%); pointer-events:none; }
.corretor__foto{ width:116px; height:116px; border-radius:50%; object-fit:cover; padding:3px; background:var(--grad-ouro); box-shadow:0 12px 34px rgba(0,0,0,.35); }
.corretor__txt .sec__kicker{ color:var(--ouro-claro); }
.corretor__txt .sec__kicker::before{ background:var(--ouro-claro); }
.corretor__nome{ font-size:26px; font-weight:700; }
.corretor__creci{ font-size:13px; opacity:.7; margin-top:5px; letter-spacing:.02em; }
.corretor__bio{ font-size:15px; line-height:1.65; opacity:.88; margin-top:14px; max-width:52ch; }
.corretor__acoes{ display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; position:relative; z-index:1; }
.corretor__acoes .btn--ghost{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.2); color:#fff; }
.corretor__acoes .btn--ghost:hover{ background:rgba(255,255,255,.16); }
@media (min-width:600px){ .corretor__card{ grid-template-columns:auto 1fr; align-items:start; padding:36px 34px; } }

/* ==========================================================================
   Aside
   ========================================================================== */
.aside{ display:none; }
@media (min-width:861px){
  .aside{ display:flex; flex-direction:column; gap:16px; position:sticky; top:calc(var(--topo-h) + 18px); margin-top:68px; }
  .caixa--preco{ box-shadow:var(--sombra-flut); border-radius:var(--r-lg); }
  .preco__valor--aside{ font-size:32px; }
  .caixa__titulo{ font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--t-5); margin-bottom:12px; }
  .caixa--preco .btn{ margin-top:8px; }
  .caixa__nota{ font-size:12px; color:var(--t-7); text-align:center; margin-top:14px; }
  .caixa--corretor{ text-align:center; padding:28px 22px; display:flex; flex-direction:column; align-items:center; gap:4px; }
  .caixa__avatar{ width:76px; height:76px; border-radius:50%; object-fit:cover; padding:2px; background:var(--grad-ouro); margin-bottom:8px; }
  .caixa--corretor strong{ font-size:17px; }
  .caixa--corretor small{ font-size:12px; color:var(--t-6); margin-bottom:12px; letter-spacing:.04em; }
  .caixa--promo{ background:var(--bg-4); border:1px solid var(--b-1); padding:22px; }
  .caixa--promo strong{ font-size:14.5px; display:block; margin-bottom:6px; }
  .caixa--promo p{ font-size:13px; line-height:1.6; color:var(--t-3); }
  .caixa__link{ display:inline-block; margin-top:10px; font-size:13.5px; font-weight:600; color:var(--ouro-suave); }
}

/* ==========================================================================
   Rodapé
   ========================================================================== */
.rodape{ background:var(--ink-2); color:rgba(255,255,255,.78); padding:40px 0 32px; position:relative; }
.rodape::before{ content:""; position:absolute; left:0; right:0; top:0; height:2px; background:var(--grad-ouro); opacity:.8; }
.rodape__in{ display:grid; gap:18px; }
.rodape__marca img{ height:30px; width:auto; opacity:.95; }
.rodape__marca p{ margin-top:14px; font-size:13.5px; line-height:1.55; }
.rodape__links{ display:flex; flex-wrap:wrap; gap:8px 20px; font-size:13px; }
.rodape__links a{ text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(255,255,255,.3); }
.rodape__legal{ font-size:11.5px; opacity:.5; line-height:1.55; }
@media (min-width:861px){ .rodape__in{ grid-template-columns:1fr auto; align-items:start; } .rodape__legal{ grid-column:1/-1; } }

/* ==========================================================================
   Barra mobile + FAB
   ========================================================================== */
.barra{
  position:fixed; left:0; right:0; bottom:0; z-index:60; display:flex; align-items:center; gap:8px; padding:10px 14px calc(10px + var(--sai));
  background:rgba(255,255,255,.94); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-top:1px solid var(--b-2);
  box-shadow:0 -12px 34px rgba(18,37,58,.09);
}
.barra__preco{ flex:1; display:flex; flex-direction:column; line-height:1.15; min-width:0; }
.barra__preco small{ font-size:10.5px; color:var(--t-6); text-transform:uppercase; letter-spacing:.06em; }
.barra__preco strong{ font-size:18px; font-weight:800; letter-spacing:-.02em; }
.barra .btn{ padding:13px 18px; }
.barra .btn--wa{ padding:13px 15px; }
@media (min-width:861px){ .barra{ display:none; } }
.fab{ display:none; }
@media (min-width:861px){
  .fab{ position:fixed; right:28px; bottom:28px; z-index:60; display:inline-flex; align-items:center; gap:9px; background:var(--whatsapp); color:#fff; font-size:15px; font-weight:700; padding:15px 24px; border-radius:999px; box-shadow:0 14px 36px rgba(12,60,30,.3); transform:translateY(140%); opacity:0; transition:transform .35s var(--ease), opacity .3s, background .2s; }
  .fab.on{ transform:none; opacity:1; }
  .fab.on:hover{ transform:translateY(-2px); background:var(--whatsapp-hover); }
}

/* ==========================================================================
   Modal de contato
   ========================================================================== */
.modal{ position:fixed; inset:0; z-index:10000; background:rgba(9,20,33,.72); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); display:flex; align-items:flex-end; justify-content:center; padding:0; animation:fade .2s var(--ease); }
.modal__caixa{ position:relative; background:#fff; width:100%; max-width:480px; border-radius:24px 24px 0 0; padding:26px 22px calc(26px + var(--sai)); box-shadow:var(--sombra-modal); animation:sobe .32s var(--ease); max-height:92dvh; overflow-y:auto; }
@keyframes sobe{ from{ transform:translateY(40px); opacity:0;} to{ transform:none; opacity:1;} }
.modal__fechar{ position:absolute; top:14px; right:14px; width:36px; height:36px; }
.modal__cab{ display:flex; gap:14px; align-items:center; margin-bottom:20px; padding-right:40px; }
.modal__avatar{ width:56px; height:56px; border-radius:50%; object-fit:cover; padding:2px; background:var(--grad-ouro); flex:none; }
.modal__cab h3{ font-size:19px; font-weight:700; }
.modal__cab p{ font-size:13px; color:var(--t-5); margin-top:3px; line-height:1.45; }
.modal__form{ display:flex; flex-direction:column; gap:14px; }
.modal__info{ display:flex; align-items:center; gap:9px; background:var(--bg-4); border:1px solid var(--b-1); border-radius:var(--r-sm); padding:11px 14px; font-size:12.5px; color:var(--t-5); }
.modal__info .ic{ color:var(--ouro-suave); flex:none; }
@media (min-width:600px){
  .modal{ align-items:center; padding:16px; }
  .modal__caixa{ border-radius:24px; padding:30px 28px 30px; }
}

/* ==========================================================================
   Mosaico
   ========================================================================== */
.mosaico{ position:fixed; inset:0; z-index:9998; background:#fff; height:100dvh; display:flex; flex-direction:column; animation:fade .2s var(--ease); }
@keyframes fade{ from{ opacity:0;} to{ opacity:1;} }
.mosaico__topo{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:calc(10px + env(safe-area-inset-top,0px)) 14px 10px; border-bottom:1px solid var(--b-2); }
.mosaico__tit{ min-width:0; display:flex; flex-direction:column; }
.mosaico__tit strong{ font-size:15.5px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mosaico__tit small{ font-size:12.5px; color:var(--t-6); }
.mosaico__acoes{ display:flex; align-items:center; gap:8px; flex:none; }
.mosaico__acoes .btn{ display:none; }
.mosaico__corpo{ flex:1; overflow-y:auto; overscroll-behavior:contain; padding:10px 10px calc(30px + var(--sai)); }
.mosaico__grade{ max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(2,1fr); gap:6px; }
.mosaico__foto{ border:0; padding:0; border-radius:10px; overflow:hidden; background:var(--bg-3); cursor:zoom-in; aspect-ratio:var(--r,3/2); position:relative; }
.mosaico__foto img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .4s var(--ease); }
.mosaico__foto:hover img{ transform:scale(1.03); }
.mosaico__card{ grid-column:1/-1; border-radius:14px; padding:26px 22px; color:#fff; background:var(--grad-ink); position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; gap:8px; }
.mosaico__card::after{ content:""; position:absolute; right:-60px; top:-60px; width:200px; height:200px; border-radius:50%; background:radial-gradient(circle,rgba(212,164,55,.3),transparent 70%); }
.mosaico__card-tag{ font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ouro-claro); }
.mosaico__card h3{ font-size:23px; font-weight:700; }
.mosaico__card p{ font-size:14px; opacity:.82; }
.mosaico__card .btn{ align-self:flex-start; margin-top:8px; position:relative; z-index:1; }
.mosaico__card-wa{ font-size:13px; opacity:.8; display:inline-flex; align-items:center; gap:6px; margin-top:4px; text-decoration:underline; position:relative; z-index:1; }
@media (min-width:861px){
  .mosaico__topo{ padding:14px 28px; }
  .mosaico__tit strong{ font-size:20px; }
  .mosaico__acoes .btn{ display:inline-flex; }
  .mosaico__corpo{ padding:18px 28px 48px; }
  .mosaico__grade{ grid-template-columns:repeat(3,1fr); gap:10px; }
  .mosaico__foto{ border-radius:12px; }
  .mosaico__card{ grid-column:span 2; padding:30px; }
}

/* ==========================================================================
   Lightbox
   ========================================================================== */
.lightbox{ position:fixed; inset:0; z-index:9999; background:rgba(6,11,18,.96); height:100dvh; display:flex; flex-direction:column; color:#fff; animation:fade .18s var(--ease); }
.lightbox__topo{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px; background:rgba(0,0,0,.3); font-size:14px; font-weight:600; }
.lightbox__topo span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lightbox__palco{ flex:1; position:relative; display:flex; align-items:center; justify-content:center; padding:6px 0; touch-action:pan-y; overflow:hidden; min-height:0; }
.lightbox__fundo{ position:absolute; inset:-40px; background-size:cover; background-position:center; filter:blur(40px); opacity:.28; transform:scale(1.2); }
.lightbox__img{ position:relative; max-width:100%; max-height:100%; object-fit:contain; border-radius:10px; box-shadow:0 14px 48px rgba(0,0,0,.7); transition:transform .25s var(--ease), opacity .25s; }
.lightbox__img.arrastando{ transition:none; }
.lightbox__img.troca{ opacity:0; transform:scale(.98); }
.lightbox__seta{ position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border:0; border-radius:50%; background:rgba(10,18,28,.55); color:#fff; display:inline-flex; align-items:center; justify-content:center; transition:background .2s; }
.lightbox__seta:hover{ background:rgba(255,255,255,.2); }
.lightbox__seta--prev{ left:10px; } .lightbox__seta--next{ right:10px; }
.lightbox__legenda{ text-align:center; font-size:13px; color:rgba(255,255,255,.75); padding:8px 20px; min-height:34px; }
.lightbox__tira{ display:flex; gap:8px; overflow-x:auto; padding:10px 14px calc(12px + var(--sai)); background:rgba(0,0,0,.4); scrollbar-width:none; }
.lightbox__tira::-webkit-scrollbar{ display:none; }
.lightbox__tira button{ flex:none; width:72px; height:54px; border:2px solid transparent; border-radius:8px; overflow:hidden; padding:0; background:#000; opacity:.6; transition:opacity .2s, border-color .2s; }
.lightbox__tira button img{ width:100%; height:100%; object-fit:cover; }
.lightbox__tira button.on{ border-color:var(--ouro); opacity:1; }
@media (min-width:861px){
  .lightbox__palco{ padding:16px 76px; }
  .lightbox__seta{ width:46px; height:46px; background:rgba(255,255,255,.12); }
  .lightbox__seta--prev{ left:14px; } .lightbox__seta--next{ right:14px; }
  .lightbox__tira button{ width:84px; height:60px; }
}

/* ==========================================================================
   Toast
   ========================================================================== */
.toast{ position:fixed; left:50%; bottom:calc(var(--barra-h) + var(--sai) + 14px); transform:translate(-50%,20px); z-index:70; background:var(--ink); color:#fff; font-size:13.5px; font-weight:600; padding:11px 16px; border-radius:12px; box-shadow:var(--sombra-modal); opacity:0; pointer-events:none; transition:opacity .25s, transform .25s var(--ease); max-width:calc(100vw - 32px); text-align:center; }
.toast.on{ opacity:1; transform:translate(-50%,0); }
@media (min-width:861px){ .toast{ bottom:96px; } }

/* ==========================================================================
   Fundos por seção — quebra visual leve entre os blocos
   Página em off-white com lavagens suaves (marinho + dourado); cada seção
   ganha um painel com tom próprio para o olho perceber a troca de assunto.
   ========================================================================== */
:root{
  --pg:#f6f7f9;
  --painel-creme:#fbf8f2;
  --painel-navy:#f1f4f8;
  --painel-branco:#ffffff;
  --painel-borda:rgba(18,37,58,.07);
}
body{ background:var(--pg); position:relative; }
body::before{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(900px 520px at 100% -10%, rgba(212,164,55,.10), transparent 62%),
    radial-gradient(760px 520px at -12% 38%, rgba(18,37,58,.06), transparent 60%),
    radial-gradient(700px 460px at 105% 92%, rgba(240,134,58,.06), transparent 60%);
}

/* hero: branco puro que dissolve no off-white da página */
.hero{
  padding-bottom:34px; margin-bottom:6px;
  background:linear-gradient(180deg,#fff 0%,#fff 58%,var(--pg) 100%);
}
.hero .galeria__principal{ box-shadow:0 22px 60px rgba(18,37,58,.16); }

/* painéis das seções do corpo */
.corpo__main > .sec:not(.acao){ padding:26px 22px 28px; border-radius:var(--r-lg); border:1px solid var(--painel-borda); position:relative; }
@media (min-width:861px){ .corpo__main > .sec:not(.acao){ padding:34px 34px 36px; } }

/* vídeo: tom marinho suave com brilho dourado no canto */
.corpo__main > .video{
  background:linear-gradient(135deg,#f2f5f9 0%,var(--painel-navy) 60%,#eef2f7 100%);
  overflow:hidden;
}
.corpo__main > .video::before{
  content:""; position:absolute; right:-90px; top:-110px; width:300px; height:300px; border-radius:50%;
  background:radial-gradient(circle,rgba(212,164,55,.16),transparent 70%); pointer-events:none;
}

/* sobre: creme quente com filete dourado */
.corpo__main > #sobre{ background:var(--painel-creme); --sobre-bg:var(--painel-creme); }
.corpo__main > #sobre::before{ content:""; position:absolute; left:0; top:28px; bottom:28px; width:3px; border-radius:3px; background:var(--grad-ouro); }
.sobre:not(.aberto).cortado::after{ background:linear-gradient(to bottom,rgba(251,248,242,0),var(--sobre-bg,#fff)); }
.sobre__mais{ background:#fff; }

/* características: branco com trama de pontos e sombra leve */
.corpo__main > #caracteristicas{
  background:
    radial-gradient(rgba(18,37,58,.075) 1px, transparent 1.2px) 0 0/18px 18px,
    var(--painel-branco);
  box-shadow:var(--sombra-card);
}
.corpo__main > #caracteristicas .carac li{ background:rgba(255,255,255,.7); border-bottom-color:var(--b-3); padding:8px 10px; border-radius:10px; }

/* central de ação: respiro extra e destaque sobre o off-white */
.corpo__main > .acao{ border-color:transparent; box-shadow:0 22px 60px rgba(18,37,58,.14); }

/* localização: painel marinho bem claro emoldurando o mapa */
.corpo__main > #localizacao{ background:var(--painel-navy); }
.corpo__main > #localizacao .local{ margin-top:18px; border-color:rgba(18,37,58,.08); }

/* corretor: sem painel, o card escuro já é a quebra */
.corpo__main > #corretor{ padding:0; border:0; background:none; }

/* aside acompanha */
.aside .caixa{ border-color:var(--painel-borda); }

/* rodapé com transição suave a partir do off-white */
.rodape{ margin-top:8px; }
