:root{
  --verde-patrimonio:#0B3D2E; --verde-patrimonio-600:#134E3B;
  --ouro:#B8922E; --ouro-claro:#D9B34A; --verde-selo:#139F43;
  --fundo:#F6F5F0; --superficie:#FFFFFF; --borda:#E4E2D9;
  --texto:#17211C; --texto-suave:#5C665F;
  --atencao:#B87A2E; --negativo:#A6392E;
  --sombra-1:0 1px 2px rgba(14,21,18,.06); --sombra-2:0 8px 24px rgba(14,21,18,.10);
}
[data-tema="dark"]{
  --fundo:#0E1512; --superficie:#151D19; --borda:#243029;
  --texto:#EDEBE3; --texto-suave:#9AA69E; --ouro:#D9B34A;
  --atencao:#D99C4A; --negativo:#D06A5F;
  --sombra-1:0 1px 2px rgba(0,0,0,.3); --sombra-2:0 8px 24px rgba(0,0,0,.4);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--fundo);color:var(--texto);
  font-size:16px;line-height:1.5;transition:background .2s,color .2s}
h1,h2,h3,.display{font-family:'Sora',sans-serif;letter-spacing:-.01em;line-height:1.15}
.num{font-variant-numeric:tabular-nums}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--ouro);outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Header */
header.site{position:sticky;top:0;z-index:50;background:var(--superficie);border-bottom:1px solid var(--borda)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.marca{display:flex;align-items:baseline;gap:8px}
.marca .nome{font-family:'Sora';font-weight:700;font-size:20px;color:var(--texto)}
.marca .by{font-size:12px;color:var(--texto-suave)}
.marca .by strong{color:var(--verde-selo);font-weight:600}
nav.principal{display:flex;gap:28px;font-size:14px;font-weight:500;color:var(--texto-suave)}
nav.principal a:hover,nav.principal a.ativa{color:var(--texto)}
.acoes{display:flex;align-items:center;gap:12px}
.toggle-tema{width:36px;height:36px;border-radius:8px;border:1px solid var(--borda);
  background:var(--superficie);cursor:pointer;font-size:15px;color:var(--texto)}
@media(max-width:860px){nav.principal{display:none}}

/* Botões e chips */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:14px;
  padding:10px 18px;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:all .15s ease-out;font-family:'Inter'}
.btn-primario{background:var(--verde-patrimonio);color:#F6F5F0}
.btn-primario:hover{background:var(--verde-patrimonio-600)}
.btn-ouro{background:transparent;border-color:var(--ouro);color:var(--ouro)}
.btn-ouro:hover{background:var(--ouro);color:var(--verde-patrimonio)}
.btn-bloco{width:100%}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;
  padding:4px 10px;border-radius:999px;border:1px solid var(--borda);color:var(--texto-suave);white-space:nowrap}
.chip.selo{background:var(--verde-selo);border-color:var(--verde-selo);color:#fff}
.chip.selo img{width:14px;height:14px;background:#fff;border-radius:4px;padding:1.5px}
.chip.selo .by{font-weight:400;opacity:.85}
.chip.atencao{color:var(--atencao);border-color:currentColor}
.chip.negativo{color:var(--negativo);border-color:currentColor}
.chip.airbnb{color:#B4443C;border-color:#B4443C}
.chip.booking{color:#1D4E89;border-color:#1D4E89}
[data-tema="dark"] .chip.airbnb{color:#E07A72;border-color:#E07A72}
[data-tema="dark"] .chip.booking{color:#7FA8DC;border-color:#7FA8DC}

/* Breadcrumb / eyebrow */
.breadcrumb{font-size:13px;color:var(--texto-suave);padding:20px 0 0}
.breadcrumb b{color:var(--texto);font-weight:500}
.eyebrow{display:inline-block;font-size:12px;font-weight:600;color:var(--ouro);
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}

/* Cards e superfícies */
.painel{background:var(--superficie);border:1px solid var(--borda);border-radius:12px;box-shadow:var(--sombra-1)}
.painel .pad{padding:24px}
section{padding:48px 0}
.sec-title{font-size:22px;font-weight:700;margin-bottom:20px}

/* Anel de score */
.score{display:flex;align-items:center;gap:8px}
.score svg{width:44px;height:44px;transform:rotate(-90deg)}
.score.g svg{width:72px;height:72px}
.score .trilha{fill:none;stroke:var(--borda);stroke-width:3.5}
.score .valor{fill:none;stroke:var(--ouro);stroke-width:3.5;stroke-linecap:round;
  stroke-dasharray:113;stroke-dashoffset:113;transition:stroke-dashoffset .6s ease-out}
.score .anel{position:relative;width:44px;height:44px}
.score.g .anel{width:72px;height:72px}
.score .numero{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:'Sora';font-weight:700;font-size:13px}
.score.g .numero{font-size:20px}
.score small{font-size:11px;color:var(--texto-suave);line-height:1.3;max-width:70px}

/* Checklist / dossiê */
.checklist{list-style:none;display:flex;flex-direction:column;border:1px solid var(--borda);
  border-radius:12px;overflow:hidden;background:var(--fundo)}
.checklist li{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--borda);font-size:14px}
.checklist li:last-child{border-bottom:0}
.checklist .ok{width:22px;height:22px;border-radius:50%;background:var(--verde-selo);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}
.checklist .doc b{display:block;font-weight:600}
.checklist .doc span{font-size:12px;color:var(--texto-suave);font-variant-numeric:tabular-nums}

/* Formulários */
label.campo{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
label.campo span{font-weight:400;color:var(--texto-suave)}
input.campo,select.campo{width:100%;padding:10px 12px;border:1px solid var(--borda);border-radius:8px;
  font:500 14px 'Inter';background:var(--superficie);color:var(--texto);margin-bottom:16px}
input.campo:focus,select.campo:focus{outline:2px solid var(--ouro);outline-offset:0;border-color:transparent}

/* Tabelas */
table.dados{width:100%;border-collapse:collapse;font-size:14px}
table.dados th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--texto-suave);
  text-align:left;padding:12px 16px;border-bottom:1px solid var(--borda);font-weight:600}
table.dados td{padding:14px 16px;border-bottom:1px solid var(--borda);vertical-align:middle}
table.dados tr:last-child td{border-bottom:0}
table.dados tr:hover td{background:color-mix(in srgb,var(--borda) 25%,transparent)}

/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.kpi{background:var(--superficie);border:1px solid var(--borda);border-radius:12px;padding:18px 20px}
.kpi small{font-size:12px;color:var(--texto-suave);display:block;margin-bottom:6px}
.kpi b{font-family:'Sora';font-size:24px;font-weight:700}
.kpi .delta{font-size:12px;font-weight:600;color:var(--verde-selo);margin-left:8px}
.kpi .delta.neg{color:var(--negativo)}

/* Barras de gráfico (sem libs — offline-safe) */
.grafico{display:flex;align-items:flex-end;gap:10px;height:180px;padding:16px 8px 0}
.grafico .col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:3px;height:100%}
.grafico .barra{border-radius:4px 4px 0 0;min-height:2px}
.grafico .b-temporada{background:var(--ouro)}
.grafico .b-tradicional{background:var(--verde-patrimonio)}
[data-tema="dark"] .grafico .b-tradicional{background:#2E6B54}
.grafico .rotulo{font-size:10px;color:var(--texto-suave);text-align:center;margin-top:6px}
.legenda{display:flex;gap:20px;font-size:12px;color:var(--texto-suave);padding:8px}
.legenda i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}

/* Footer */
footer.site{border-top:1px solid var(--borda);padding:40px 0 32px;background:var(--superficie);margin-top:48px}
.footer-flex{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
.footer-flex img{height:20px;display:block}
.footer-flex p{font-size:12px;color:var(--texto-suave)}

/* ===== Hero (home) ===== */
.hero{background:var(--verde-patrimonio);color:#F6F5F0;padding:88px 0 72px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-140px;top:-140px;width:460px;height:460px;
  border:1px solid rgba(246,245,240,.10);border-radius:50%;pointer-events:none}
.hero::before{content:"";position:absolute;right:-80px;top:-80px;width:340px;height:340px;
  border:1px solid rgba(217,179,74,.22);border-radius:50%;pointer-events:none}
.hero .eyebrow{color:var(--ouro-claro);margin-bottom:20px}
.hero h1{font-size:clamp(32px,5vw,56px);font-weight:700;max-width:760px}
.hero h1 em{font-style:normal;color:var(--ouro-claro)}
.hero p.sub{margin:20px 0 32px;font-size:18px;color:rgba(246,245,240,.78);max-width:620px}
.busca{display:flex;background:#fff;border-radius:12px;padding:6px;max-width:640px;box-shadow:var(--sombra-2)}
.busca input{flex:1;border:0;font:500 15px 'Inter';padding:12px 16px;color:#17211C;background:transparent;outline:none;min-width:0}
.hero-stats{display:flex;gap:48px;margin-top:44px;flex-wrap:wrap}
.hero-stats .stat b{display:block;font-family:'Sora';font-size:28px;font-weight:700;color:#fff}
.hero-stats .stat span{font-size:13px;color:rgba(246,245,240,.65)}

/* ===== Cards de imóveis ===== */
.sec-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(24px,3vw,34px);font-weight:700}
.sec-head p{color:var(--texto-suave);margin-top:8px;max-width:560px}
.ver-todos{font-size:14px;font-weight:600;color:var(--ouro);white-space:nowrap}
.grid-imoveis{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:24px}
.card{background:var(--superficie);border:1px solid var(--borda);border-radius:12px;overflow:hidden;
  box-shadow:var(--sombra-1);transition:box-shadow .2s ease-out,transform .2s ease-out;display:block}
.card:hover{box-shadow:var(--sombra-2);transform:translateY(-2px)}
.card .foto{aspect-ratio:3/2;position:relative;display:flex;align-items:flex-start;padding:12px}
.f1{background:linear-gradient(160deg,#274E43,#0B3D2E)}
.f2{background:linear-gradient(160deg,#3E5C50,#17211C)}
.f3{background:linear-gradient(160deg,#8C7434,#4A3D18)}
.f4{background:linear-gradient(160deg,#5C665F,#2A332E)}
.f5{background:linear-gradient(160deg,#134E3B,#0E1512)}
.f6{background:linear-gradient(160deg,#1D4E89,#17211C)}
.card .corpo{padding:16px 18px 18px}
.card h3{font-size:17px;font-weight:600;margin-bottom:2px}
.card .local{font-size:13px;color:var(--texto-suave);margin-bottom:12px}
.card .dados{display:flex;gap:16px;font-size:13px;color:var(--texto-suave);border-top:1px solid var(--borda);
  padding-top:12px;margin-bottom:14px;flex-wrap:wrap}
.card .dados b{color:var(--texto);font-weight:600}
.card .rodape{display:flex;align-items:center;justify-content:space-between}
.card .preco{font-family:'Sora';font-weight:700;font-size:19px}

/* ===== Dossiê (tabela de condomínios) ===== */
.dossie{background:var(--superficie);border:1px solid var(--borda);border-radius:12px;overflow:hidden}
.dossie-linha{display:grid;grid-template-columns:2.2fr 1.2fr 1fr 1fr auto;gap:16px;align-items:center;
  padding:16px 20px;border-bottom:1px solid var(--borda);font-size:14px}
a.dossie-linha:hover{background:color-mix(in srgb,var(--borda) 25%,transparent)}
.dossie-linha:last-child{border-bottom:0}
.dossie-linha.cab{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;
  color:var(--texto-suave);background:color-mix(in srgb,var(--borda) 30%,transparent)}
.dossie-linha .nome b{display:block;font-weight:600}
.dossie-linha .nome span{font-size:12px;color:var(--texto-suave)}
.dossie-linha .metrica{font-weight:600}
.dossie-linha .metrica span{display:block;font-size:11px;font-weight:400;color:var(--texto-suave)}
.verificado-em{font-size:12px;color:var(--texto-suave)}
@media(max-width:820px){.dossie-linha{grid-template-columns:1.6fr 1fr auto}.oculta-mobile{display:none}}

/* ===== Metodologia e CTA simulador (home) ===== */
.metodo{background:var(--superficie);border-top:1px solid var(--borda);border-bottom:1px solid var(--borda)}
.metodo-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
@media(max-width:860px){.metodo-grid{grid-template-columns:1fr}}
.metodo h2{font-size:clamp(24px,3vw,34px);margin-bottom:16px}
.metodo p{color:var(--texto-suave);margin-bottom:14px}
.metodo p strong{color:var(--texto)}
.sim-cta{background:var(--verde-patrimonio);color:#F6F5F0;border-radius:16px;padding:48px;
  display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
@media(max-width:860px){.sim-cta{grid-template-columns:1fr;padding:32px}}
.sim-cta h2{font-size:clamp(24px,3vw,32px);margin-bottom:14px}
.sim-cta p{color:rgba(246,245,240,.75);margin-bottom:24px}
.sim-card{background:rgba(246,245,240,.06);border:1px solid rgba(246,245,240,.14);border-radius:12px;padding:24px}
.sim-card .linha{display:flex;justify-content:space-between;font-size:14px;padding:10px 0;
  border-bottom:1px solid rgba(246,245,240,.10)}
.sim-card .linha:last-of-type{border-bottom:0}
.sim-card .linha b{font-family:'Sora'}
.sim-card .resultado{margin-top:14px;padding-top:14px;border-top:1px solid rgba(217,179,74,.4);
  display:flex;justify-content:space-between;align-items:baseline}
.sim-card .resultado b{font-family:'Sora';font-size:26px;color:var(--ouro-claro)}

/* ===== Filtros de listagem ===== */
.listagem{display:grid;grid-template-columns:250px 1fr;gap:32px;align-items:start;margin-top:24px}
@media(max-width:860px){.listagem{grid-template-columns:1fr}}
.filtros-lat{position:sticky;top:84px}
.filtros-lat h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--texto-suave);margin:18px 0 10px}
.filtros-lat h3:first-child{margin-top:0}
.filtros-lat label.check{display:flex;gap:10px;align-items:center;font-size:14px;padding:5px 0;cursor:pointer}
.filtros-lat input[type=checkbox]{accent-color:var(--verde-patrimonio);width:16px;height:16px}

/* ===== Footer expandido ===== */
.footer-grid{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:flex-start}
.footer-marca img{height:22px;display:block;margin-bottom:12px}
.footer-marca p{font-size:13px;color:var(--texto-suave);max-width:320px}
.footer-cols{display:flex;gap:56px;flex-wrap:wrap;font-size:13px}
.footer-cols h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--texto-suave);margin-bottom:12px}
.footer-cols a{display:block;padding:4px 0;color:var(--texto)}
.assinatura-final{margin-top:36px;padding-top:20px;border-top:1px solid var(--borda);
  font-size:12px;color:var(--texto-suave);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
