/* ELNA Imobiliária — estilos do site */
:root{
  --bg:#F2F5F2;--surface:#FFFFFF;--surface-2:#E8EFE9;--ink:#15241F;--muted:#4C5A53;--line:#C8CEC6;
  --petrol:#1E4D3F;--petrol-2:#276052;--brass:#A07636;--brass-2:#8A652D;--brass-soft:#EDE2CD;
  --on-dark:#F2F7F3;--on-dark-muted:#A9C4B8;--hero-bg:#1E4D3F;--mint:#9FD3B5;
  --logo-a:#1E4D3F;--logo-b:#1E4D3F;--logo-div:#C8CEC6;--logo-sub:#4C5A53;
  --draw:#2F4E4C;--draw-fill:#FFFFFF;--draw-win:#D9E1DC;
  --hero-draw:#B9D6C7;--hero-draw-fill:#22574A;--hero-draw-win:#2C6858;
  --ok:#2E7D5B;--err:#B3261E;
  --shadow:0 1px 2px rgba(15,59,58,.06),0 8px 24px rgba(15,59,58,.07);
  --display:"Marcellus","Cormorant Garamond",Georgia,"Times New Roman",serif;
  --body:"Manrope","Segoe UI",system-ui,-apple-system,sans-serif;
  --r:3px;--wrap:1180px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#0E1B17;--surface:#13241F;--surface-2:#193029;--ink:#E6EEE8;--muted:#9FB5AA;--line:#28423A;
    --petrol:#2A6553;--petrol-2:#33735F;--logo-a:#E8EFE9;--logo-b:#9FD3B5;--logo-div:#3F6E60;--logo-sub:#9FD3B5;--brass:#CDA66A;--brass-2:#B8914F;--brass-soft:#2E2819;
    --hero-bg:#163A30;--draw:#9FB8B3;--draw-fill:#132B2A;--draw-win:#1D3B39;
    --hero-draw:#9FB8B3;--hero-draw-fill:#12302F;--hero-draw-win:#1B4442;
    --ok:#5FBF95;--err:#F2857B;--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.25);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0E1B17;--surface:#13241F;--surface-2:#193029;--ink:#E6EEE8;--muted:#9FB5AA;--line:#28423A;
  --petrol:#2A6553;--petrol-2:#33735F;--logo-a:#E8EFE9;--logo-b:#9FD3B5;--logo-div:#3F6E60;--logo-sub:#9FD3B5;--brass:#CDA66A;--brass-2:#B8914F;--brass-soft:#2E2819;
  --hero-bg:#163A30;--draw:#9FB8B3;--draw-fill:#132B2A;--draw-win:#1D3B39;
  --hero-draw:#9FB8B3;--hero-draw-fill:#12302F;--hero-draw-win:#1B4442;
  --ok:#5FBF95;--err:#F2857B;--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.25);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.15;text-wrap:balance;margin:0}
p{margin:0}
[hidden]{display:none!important}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 15px/1 var(--body);padding:14px 22px;border-radius:var(--r);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .2s,color .2s,border-color .2s;text-align:center}
.btn-primary{background:var(--brass);color:#fff}
.btn-primary:hover{background:var(--brass-2)}
.btn-dark{background:var(--petrol);color:var(--on-dark)}
.btn-dark:hover{background:var(--petrol-2)}
.btn-ghost{background:transparent;border-color:currentColor;color:var(--ink)}
.btn-ghost:hover{background:var(--surface-2)}
.on-dark .btn-ghost{color:var(--on-dark)}
.on-dark .btn-ghost:hover{background:rgba(255,255,255,.08)}
.btn-wa{background:#1F8F5A;color:#fff}
.btn-wa:hover{background:#18764A}
.btn svg{width:18px;height:18px}
.btn-block{width:100%}
.link-btn{background:none;border:none;padding:0;font:600 14px var(--body);color:var(--brass);cursor:pointer;display:inline-flex;gap:6px;align-items:center;white-space:nowrap;text-decoration:none}
.link-btn:hover{text-decoration:underline;text-underline-offset:4px}

/* Topbar e cabeçalho */
.topbar{background:var(--petrol);color:var(--on-dark-muted);font-size:13px}
.topbar .wrap{display:flex;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;padding-block:8px}
.topbar b{color:var(--on-dark);font-weight:600}
.topbar a{text-decoration:none}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in srgb,var(--bg) 93%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:14px;position:relative}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.brand svg{width:40px;height:40px;flex:none}
.brand .bn{font-family:var(--display);font-size:24px;letter-spacing:.14em;line-height:1;display:block}
.brand .bs{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:5px}
nav.main{display:flex;align-items:center;gap:22px}
nav.main a{text-decoration:none;font-size:15px;font-weight:500;position:relative;white-space:nowrap}
nav.main a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--brass);transition:right .25s}
nav.main a:not(.btn):hover::after,nav.main a.active::after{right:0}
nav.main a.active{color:var(--brass)}
nav.main .btn{padding:11px 18px;font-size:14px}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;color:var(--ink);cursor:pointer}
@media (max-width:1100px){
  .menu-btn{display:inline-flex}
  nav.main{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--surface);border-bottom:1px solid var(--line);padding:8px clamp(16px,4vw,40px) 16px;display:none;box-shadow:var(--shadow)}
  nav.main.open{display:flex}
  nav.main a{padding:13px 4px;border-bottom:1px solid var(--line)}
  nav.main a:not(.btn)::after{display:none}
  nav.main .btn{margin-top:14px;border-bottom:none}
}

/* Cabeçalho de página interna */
.page-head{background:var(--hero-bg);color:var(--on-dark);position:relative;overflow:hidden}
.page-head::before,.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.page-head .wrap{position:relative;padding-block:48px 52px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end}
.page-head h1{font-size:clamp(32px,4.4vw,52px);margin-top:14px}
.page-head p.lead{color:var(--on-dark-muted);font-size:17px;max-width:60ch;margin-top:14px}
.crumbs{font-size:13px;color:var(--on-dark-muted);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--on-dark)}
.crumbs span[aria-hidden]{opacity:.5}
.page-head .side{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:760px){.page-head .wrap{grid-template-columns:1fr}}

/* Hero (home) */
.hero{background:var(--hero-bg);color:var(--on-dark);position:relative;overflow:hidden}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:end;padding-block:72px 0}
.hero h1{font-size:clamp(36px,5.2vw,62px);margin-top:18px}
.hero h1 em{font-style:normal;color:var(--brass)}
.hero .lead{color:var(--on-dark-muted);font-size:18px;max-width:52ch;margin-top:20px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-draw svg{width:100%;height:auto;display:block}
.hero-draw .cap{font-size:12px;color:var(--on-dark-muted);letter-spacing:.06em;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.15);padding-block:10px 14px}
@media (max-width:980px){.hero .wrap{grid-template-columns:1fr;padding-block:48px 0}.hero-draw{max-width:420px}}

/* Busca */
.search{position:relative;background:var(--surface);color:var(--ink);border-radius:var(--r);box-shadow:var(--shadow);margin-top:40px;margin-bottom:-1px}
.search .tabs{display:flex;border-bottom:1px solid var(--line)}
.search .tabs button{flex:1;background:none;border:none;padding:14px 10px;font:600 14px var(--body);color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.search .tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--brass)}
.search form{display:grid;grid-template-columns:repeat(4,1fr) auto}
.search .fld{padding:12px 16px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px;min-width:0}
.search label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.search select{border:none;background:transparent;font:500 15px var(--body);color:var(--ink);padding:4px 0;width:100%;min-width:0}
.search select:focus{outline:none}
.search .fld:focus-within{background:var(--surface-2)}
.search .go{border-radius:0 0 var(--r) 0;padding-inline:28px}
.search .alt{padding:16px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.search .alt p{color:var(--muted);max-width:60ch}
@media (max-width:980px){.search form{grid-template-columns:1fr 1fr}.search .fld{border-bottom:1px solid var(--line)}.search .fld:nth-child(2n){border-right:none}.search .go{grid-column:1/-1;border-radius:0 0 var(--r) var(--r);padding-block:16px}}

/* Pilares */
.pillars{background:var(--surface);border-bottom:1px solid var(--line)}
.pillars .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.pillar{padding:28px 24px 28px 0;display:flex;gap:14px;align-items:flex-start}
.pillar+.pillar{padding-left:24px;border-left:1px solid var(--line)}
.pillar svg{width:28px;height:28px;flex:none;color:var(--brass)}
.pillar b{display:block;font-size:15px}
.pillar span{font-size:14px;color:var(--muted);line-height:1.5}
@media (max-width:860px){.pillars .wrap{grid-template-columns:1fr 1fr}.pillar{padding:20px 12px 20px 0}.pillar+.pillar{padding-left:12px}.pillar:nth-child(3){border-left:none;padding-left:0}.pillar:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:480px){.pillars .wrap{grid-template-columns:1fr}.pillar,.pillar+.pillar{border-left:none;padding-left:0}.pillar+.pillar{border-top:1px solid var(--line)}}

/* Seções */
section.block{padding-block:clamp(56px,8vw,104px)}
section.tight{padding-block:clamp(40px,6vw,72px)}
.bg-surface{background:var(--surface);border-block:1px solid var(--line)}
.bg-soft{background:var(--surface-2);border-block:1px solid var(--line)}
.bg-dark{background:var(--hero-bg);color:var(--on-dark)}
.bg-dark .sec-head p{color:var(--on-dark-muted)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.sec-head h2{font-size:clamp(30px,3.6vw,44px);margin-top:10px}
.sec-head p{color:var(--muted);max-width:56ch;margin-top:12px}
.h2{font-size:clamp(30px,3.6vw,44px);margin-top:10px}
.prose p{color:var(--muted);max-width:66ch}
.prose p+p{margin-top:14px}
.prose p.big{color:var(--ink);font-size:19px}

/* Mídia (desenho ou foto) */
.media{position:relative;background:var(--surface-2);overflow:hidden;max-width:100%}
.media svg{width:100%;height:100%;display:block}
.media img{width:100%;height:100%;object-fit:cover}
.status{position:absolute;top:14px;left:14px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border-radius:2px;background:var(--petrol);color:var(--on-dark)}
.status.obra{background:var(--brass);color:#fff}
.status.pronto{background:var(--ok);color:#fff}
.status.inline{position:static;display:inline-block}
.ref{position:absolute;top:10px;right:10px;font-size:11px;font-weight:600;letter-spacing:.08em;background:var(--surface);color:var(--muted);padding:4px 8px;border-radius:2px}
.tag{position:absolute;top:10px;left:10px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--brass);color:#fff;padding:4px 8px;border-radius:2px}

/* Cartão de empreendimento */
.emp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.emp{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;overflow:hidden;transition:transform .25s,box-shadow .25s;text-decoration:none}
.emp:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.emp .media{aspect-ratio:4/3.4;border-bottom:1px solid var(--line)}
.emp .body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:14px;flex:1}
.emp h3{font-size:26px}
.emp .loc{font-size:14px;color:var(--muted);margin-top:4px}
.specs{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}
.specs div{padding:10px 0;font-size:13px;color:var(--muted)}
.specs div+div{padding-left:12px;border-left:1px solid var(--line)}
.specs b{display:block;color:var(--ink);font-size:15px;font-weight:600}
.progress{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}
.progress .bar{height:4px;background:var(--surface-2);border-radius:2px;overflow:hidden}
.progress .bar i{display:block;height:100%;background:var(--brass)}
.emp .foot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:auto;padding-top:4px}
.price small{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.price b{font-size:22px;font-weight:600}
@media (max-width:980px){.emp-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.emp-grid{grid-template-columns:1fr}}

/* Cartão de imóvel */
.im-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.im-grid.two{grid-template-columns:repeat(2,1fr)}
.im{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:box-shadow .25s,transform .25s}
.im:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.im .media{aspect-ratio:16/10;border-bottom:1px solid var(--line)}
.im .body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}
.kind{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--brass)}
.im h3{font-family:var(--body);font-weight:600;font-size:17px;line-height:1.35}
.im .loc{font-size:14px;color:var(--muted)}
.feats{display:flex;gap:8px 16px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.feats span{display:inline-flex;gap:6px;align-items:center}
.feats svg{width:16px;height:16px;color:var(--draw)}
.im .foot{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:14px;margin-top:auto}
.im .foot b{font-size:19px;font-weight:600}
.empty{grid-column:1/-1;padding:48px 24px;text-align:center;border:1px dashed var(--line);border-radius:var(--r);color:var(--muted)}
@media (max-width:980px){.im-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.im-grid,.im-grid.two{grid-template-columns:1fr}}

/* Chips */
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{background:transparent;border:1px solid var(--line);color:var(--ink);font:500 14px var(--body);padding:8px 14px;border-radius:40px;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--petrol);border-color:var(--petrol);color:var(--on-dark)}

/* Listagem com filtros */
.listing{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start}
.filters{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:18px;position:sticky;top:96px}
.filters h2{font-family:var(--body);font-weight:600;font-size:16px}
.filters .f{display:flex;flex-direction:column;gap:6px}
.filters .row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.filters-toggle{display:none}
.result-bar{display:flex;justify-content:space-between;align-items:center;gap:12px 16px;flex-wrap:wrap;margin-bottom:20px;font-size:14px;color:var(--muted)}
.result-bar label{display:flex;gap:8px;align-items:center}
@media (max-width:900px){
  .listing{grid-template-columns:1fr}
  .filters{position:static;display:none}
  .filters.open{display:flex}
  .filters-toggle{display:inline-flex}
}

/* Formulários */
.form label,.filters label,.fl{font-size:13px;font-weight:600;color:var(--muted)}
.form input,.form select,.form textarea,.filters input,.filters select,.result-bar select,.field{font:500 15px var(--body);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:11px 12px;width:100%}
.result-bar select{width:auto;padding:8px 10px;background:var(--surface)}
.form textarea{min-height:110px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus,.filters input:focus,.filters select:focus{outline:none;border-color:var(--brass)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form .f{display:flex;flex-direction:column;gap:6px;min-width:0}
.form .full{grid-column:1/-1}
.form .check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);font-weight:400}
.form .check input{width:auto;margin-top:3px;accent-color:var(--brass)}
.form .err{color:var(--err);font-size:13px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:32px}
.sent{grid-column:1/-1;background:var(--surface-2);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:12px}
.sent pre{white-space:pre-wrap;font:14px/1.5 var(--body);margin:0}
.sent .row{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:520px){.form{grid-template-columns:1fr}.panel{padding:22px}}

/* Serviços */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.svc{padding:32px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px;background:var(--bg);transition:background .2s;text-decoration:none}
a.svc:hover{background:var(--surface)}
.svc svg{width:34px;height:34px;color:var(--brass)}
.svc h3{font-size:24px}
.svc p{color:var(--muted);font-size:15px}
.ticks{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14px}
.ticks li{padding-left:18px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:1px;background:var(--brass)}
.ticks.cols{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
@media (max-width:980px){.svc-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.svc-grid{grid-template-columns:1fr}.ticks.cols{grid-template-columns:1fr}}

.svc-rows{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.svc-row{display:grid;grid-template-columns:80px 1fr 1fr;gap:32px;padding:40px 0;border-bottom:1px solid var(--line);scroll-margin-top:100px}
.svc-row svg{width:44px;height:44px;color:var(--brass)}
.svc-row h2{font-size:32px}
.svc-row .prose p{margin-top:12px}
.svc-row .box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.svc-row .box b{display:block;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
@media (max-width:860px){.svc-row{grid-template-columns:1fr;gap:16px}}

/* Etapas */
.steps{display:grid;grid-template-columns:repeat(6,1fr);counter-reset:s}
.steps.four{grid-template-columns:repeat(4,1fr)}
.step{padding:28px 20px 0 0;position:relative}
.step::before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:var(--display);font-size:34px;color:var(--brass);display:block;line-height:1}
.step::after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--line)}
.bg-dark .step::after{background:rgba(255,255,255,.2)}
.step h3{font-family:var(--body);font-weight:600;font-size:16px;margin-top:14px}
.step p{font-size:14px;color:var(--muted);margin-top:6px}
.bg-dark .step p{color:var(--on-dark-muted)}
@media (max-width:980px){.steps{grid-template-columns:repeat(3,1fr);row-gap:36px}.steps.four{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr 1fr}}

/* Sobre */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.mv{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}
.mv div{border-top:2px solid var(--brass);padding-top:14px}
.mv b{font-family:var(--display);font-weight:400;font-size:22px;display:block}
.mv p{font-size:14px;margin-top:6px;color:var(--muted)}
.values{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.value{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}
.value svg{width:28px;height:28px;color:var(--brass);margin-top:4px}
.value b{font-family:var(--display);font-weight:400;font-size:22px}
.value p{color:var(--muted);font-size:15px;margin-top:4px}
.facts{display:grid;grid-template-columns:auto 1fr;gap:0;margin:0;font-size:15px}
.facts dt,.facts dd{padding:12px 0;border-bottom:1px solid var(--line);margin:0}
.facts dt{color:var(--muted);padding-right:24px}
.facts dd{font-weight:600}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:40px}}
@media (max-width:480px){.mv{grid-template-columns:1fr}}

/* CTA vender */
.sell{background:var(--brass-soft)}
.sell .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;padding-block:56px}
.sell h2{font-size:clamp(28px,3.4vw,40px);margin-top:10px}
.sell p{color:var(--muted);margin-top:12px;max-width:56ch}
.sell .acts{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:860px){.sell .wrap{grid-template-columns:1fr}.sell .acts{justify-content:flex-start}}

/* FAQ */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;font-weight:600;font-size:17px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font-family:var(--display);font-size:28px;color:var(--brass);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--muted);padding-bottom:22px;max-width:68ch}

/* Simulador */
.sim{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface)}
.sim form{padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-content:start}
.sim .f{display:flex;flex-direction:column;gap:6px}
.sim .f.full{grid-column:1/-1}
.sim label{font-size:13px;font-weight:600;color:var(--muted)}
.sim input,.sim select{font:500 16px var(--body);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:12px;width:100%}
.sim input[type=range]{padding:0;border:none;background:none;accent-color:var(--brass)}
.sim .out{background:var(--surface-2);padding:32px;display:flex;flex-direction:column;gap:20px;border-left:1px solid var(--line)}
.big small{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.big b{font-family:var(--display);font-weight:400;font-size:clamp(34px,4vw,46px);line-height:1.1}
.kv{display:grid;grid-template-columns:1fr auto;margin:0;font-size:14px}
.kv dt,.kv dd{padding:10px 0;border-bottom:1px solid var(--line);margin:0}
.kv dt{color:var(--muted)}
.kv dd{font-weight:600;text-align:right}
.note{font-size:12.5px;color:var(--muted)}
@media (max-width:860px){.sim{grid-template-columns:1fr}.sim .out{border-left:none;border-top:1px solid var(--line)}}
@media (max-width:480px){.sim form{grid-template-columns:1fr;padding:22px}.sim .out{padding:22px}}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
table.data{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums;min-width:560px}
table.data th,table.data td{padding:11px 16px;text-align:right;border-bottom:1px solid var(--line)}
table.data th:first-child,table.data td:first-child{text-align:left}
table.data th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;background:var(--surface-2)}
table.data tr:last-child td{border-bottom:none}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;gap:10px}
.card h3{font-size:22px}
.card p{color:var(--muted);font-size:15px}
@media (max-width:860px){.cards3{grid-template-columns:1fr}}

/* Detalhe (imóvel e empreendimento) */
.detail{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start}
.gallery .main{aspect-ratio:16/10;border:1px solid var(--line);border-radius:var(--r)}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.thumbs button{padding:0;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2);cursor:pointer;aspect-ratio:4/3;overflow:hidden;position:relative}
.thumbs button[aria-pressed="true"]{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass)}
.thumbs button span{position:absolute;left:6px;bottom:4px;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.thumbs svg,.thumbs img{width:100%;height:100%;display:block;object-fit:cover}
.aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;gap:16px}
.pcard .price b{font-family:var(--display);font-weight:400;font-size:38px}
.dsec{padding-top:36px;margin-top:36px;border-top:1px solid var(--line)}
.dsec h2{font-size:28px;margin-bottom:16px}
.statbar{display:grid;grid-template-columns:repeat(var(--cols,5),1fr);border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin-top:24px}
.statbar div{padding:14px 16px;font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:2px}
.statbar div+div{border-left:1px solid var(--line)}
.statbar b{font-size:18px;color:var(--ink);font-weight:600}
.stages{display:flex;flex-direction:column;gap:14px}
.stages .progress{font-size:14px}
.stages .progress span{display:flex;justify-content:space-between;color:var(--ink)}
.plan-table td:nth-child(2),.plan-table th:nth-child(2){text-align:left}
@media (max-width:980px){.detail{grid-template-columns:1fr}.aside{position:static}}
@media (max-width:640px){.statbar{grid-template-columns:1fr 1fr}.statbar div+div{border-left:none}.statbar div{border-bottom:1px solid var(--line)}.statbar div:nth-child(2n){border-left:1px solid var(--line)}}

/* Contato */
.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}
.cinfo{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.cinfo div{padding:18px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:28px 1fr;gap:14px}
.cinfo svg{width:22px;height:22px;color:var(--brass);margin-top:2px}
.cinfo small{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.cinfo b{font-weight:600}
@media (max-width:900px){.contact{grid-template-columns:1fr;gap:40px}}

/* Legal */
.legal-text{max-width:760px}
.legal-text h2{font-size:26px;margin:36px 0 12px}
.legal-text p,.legal-text li{color:var(--muted)}
.legal-text p+p{margin-top:12px}
.legal-text ul{padding-left:20px;display:flex;flex-direction:column;gap:6px}

/* Rodapé */
footer.site{background:var(--hero-bg);color:var(--on-dark-muted);font-size:14px}
footer.site .wrap{padding-block:56px 28px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
footer.site h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark);margin:0 0 14px}
footer.site ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
footer.site a{text-decoration:none}
footer.site a:hover{color:var(--on-dark)}
footer.site .brand .bn{color:var(--on-dark)}
footer.site .brand .bs{color:var(--on-dark-muted)}
.legal{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;font-size:12.5px}
@media (max-width:860px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.fgrid{grid-template-columns:1fr}}

/* WhatsApp flutuante */
.wa{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:50;display:flex;align-items:center;gap:10px;background:#1F8F5A;color:#fff;text-decoration:none;font-weight:600;font-size:14px;padding:12px 16px 12px 12px;border-radius:40px;box-shadow:0 6px 20px rgba(0,0,0,.2)}
.wa svg{width:26px;height:26px}
@media (max-width:520px){.wa span{display:none}.wa{padding:12px}}

/* Desenhos técnicos */
.dl{stroke:var(--draw);fill:none;stroke-width:1}
.df{fill:var(--draw-fill);stroke:var(--draw);stroke-width:1}
.dw{fill:var(--draw-win)}
.dlit{fill:var(--brass);opacity:.85}
.ddim{stroke:var(--brass);stroke-width:1;fill:none}
.dt{fill:var(--muted);font:500 10px var(--body);letter-spacing:.04em}
.dtree{fill:var(--draw-win);stroke:var(--draw);stroke-width:1}
.dwall{fill:none;stroke:var(--draw);stroke-width:3}
.droom{fill:var(--draw-fill)}
.hero .dl{stroke:var(--hero-draw)}
.hero .df{fill:var(--hero-draw-fill);stroke:var(--hero-draw)}
.hero .dw{fill:var(--hero-draw-win)}
.hero .dt{fill:var(--on-dark-muted)}
.hero .dtree{fill:var(--hero-draw-win);stroke:var(--hero-draw)}
.detail>*,.listing>*,.split>*,.contact>*{min-width:0}
.page-head .status.inline:not(.obra):not(.pronto){background:var(--on-dark);color:#0F3B3A}
.thumbs button span{background:color-mix(in srgb,var(--surface) 88%,transparent);padding:1px 5px;border-radius:2px;left:4px;bottom:4px}
.form .check span{flex:1}
@media (max-width:520px){.thumbs button span{font-size:8.5px;letter-spacing:.02em}}

/* Marca */
.brand .logo{height:54px;width:auto;display:block}
.lg-a{fill:var(--logo-a)}.lg-b{fill:var(--logo-b)}.lg-div{fill:var(--logo-div)}.lg-sub{fill:var(--logo-sub)}
.lg-t{font-family:"Manrope",system-ui,sans-serif}
footer.site .brand,.on-brand{--logo-a:#E8EFE9;--logo-b:#9FD3B5;--logo-div:#3F6E60;--logo-sub:#9FD3B5}
footer.site .brand .logo{height:56px}
.hero .eyebrow,.page-head .eyebrow,.bg-dark .eyebrow{color:var(--mint)}
.hero h1 em{color:var(--mint)}
.page-head .mark{position:absolute;right:clamp(16px,4vw,40px);top:50%;transform:translateY(-50%);height:78%;width:auto;opacity:.07;pointer-events:none}
.page-head .mark rect{fill:#E8EFE9}
@media (max-width:760px){.brand .logo{height:40px}.page-head .mark{display:none}}
