
/* Layout: hero com busca de verdade (vidro) sobre fotos de mudança → faixa laranja de prova social →
   resultados da busca → vitrines "prontos" e "mobiliados" → bairros → quem atende → passo a passo →
   cidade → dúvidas → contato. O simulador vive num painel que sobe de baixo, chamado por um botão fixo. */
:root{
  --ink:#0F2E33; --sea:#0E5E5B; --sea-soft:#E3EFEC; --sun:#F2A43A; --sun-text:#9A5A08;
  --paper:#FAF8F3; --card:#FFFFFF; --mist:#F1F4F2; --line:#E2E6E1; --muted:#4E6266;
  --on-dark:#F4F1EA; --on-dark-muted:#C9D6D3;
  --display:'Fraunces','Iowan Old Style','Palatino Linotype',Georgia,serif;
  --body:'Figtree','Segoe UI',system-ui,-apple-system,sans-serif;
  --wrap:1760px; --gutter:clamp(16px,2.6vw,40px); --ease:cubic-bezier(.22,.8,.24,1);
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scrollbar-color:#9DB3AF var(--paper);accent-color:var(--sea)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;caret-color:var(--sea)}
body.lock{overflow:hidden}
::selection{background:var(--sun);color:var(--ink)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--display);font-weight:650;margin:0;text-wrap:balance}
h2{font-size:clamp(32px,4vw,54px);line-height:1.04;letter-spacing:-.026em}
h3{letter-spacing:-.01em;line-height:1.15}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.lead{color:var(--muted);font-size:19px;max-width:58ch}
.section{padding-block:clamp(64px,7vw,108px)}
.head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 64px}
.head .lead{max-width:46ch}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:12px;font-weight:800;font-size:16px;border:0;cursor:pointer;transition:background .2s,scale .12s ease-out;-webkit-tap-highlight-color:transparent;white-space:nowrap}
.btn:active{scale:.96}
.btn-sun{background:var(--sun);color:var(--ink)} .btn-sun:hover{background:#F6B252}
.btn-sea{background:var(--sea);color:#fff} .btn-sea:hover{background:#0B514E}
.btn-line{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px currentColor}
.btn-ghost{background:rgba(255,255,255,.14);color:#fff} .btn-ghost:hover{background:rgba(255,255,255,.22)}
.btn-sm{min-height:44px;padding:0 18px;font-size:15px}
.ico{flex:none}

/* ---------- Cabeçalho fixo ---------- */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:55;background:var(--ink)}
.bar{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:50;transform:translateY(-110%);transition:transform .5s var(--ease);background:rgba(15,46,51,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--on-dark)}
.bar.on{transform:none}
.bar .in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:10px}
.logo{display:flex;align-items:baseline;gap:8px;font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.01em;white-space:nowrap}
.logo span{font-weight:500;color:var(--sun)}
@media (max-width:640px){.bar .btn-sun{display:none}}

/* ---------- HERO ---------- */
.hero{position:relative;color:#fff;overflow:hidden;background:var(--ink)}
.hero-media{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transform:scale(1.08);transition:opacity 1.1s ease,transform 5s linear,visibility 0s 1.1s}
.hero-slide.active{opacity:1;visibility:visible;transform:scale(1);transition:opacity 1.5s ease,transform 7s linear,visibility 0s}
.hero-slide img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.04)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,32,36,.6) 0%,rgba(9,32,36,.18) 32%,rgba(9,32,36,.4) 64%,rgba(9,32,36,.88) 100%),linear-gradient(90deg,rgba(9,32,36,.62) 0%,rgba(9,32,36,0) 64%)}
.hero-in{position:relative;display:flex;flex-direction:column;gap:32px;padding-block:22px 104px;min-height:min(860px,100svh)}
@media (max-width:560px){.hero-in{padding-bottom:28px}}
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.top-right{display:flex;align-items:center;gap:20px;font-size:15px;font-weight:600}
.top-right a{display:flex;align-items:center;gap:8px}
.creci{font-size:13px;opacity:.85;letter-spacing:.06em}
.hero-copy{margin-block:auto;max-width:760px}
.hero h1{font-size:clamp(38px,4.4vw,68px);line-height:1.02;letter-spacing:-.03em}
.hero h1 span{color:var(--sun)}
.hero-sub{margin-top:18px;font-size:clamp(17px,1.35vw,20px);max-width:44ch;color:#E9EFEC;line-height:1.5;text-wrap:balance}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
/* busca em vidro, no padrão do Furlanetto: 3 campos + mais filtros + buscar (N) */
.search{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto auto;align-items:stretch;border-radius:20px;background:rgba(10,34,38,.42);border:1px solid rgba(255,255,255,.18);border-top-color:rgba(255,255,255,.42);backdrop-filter:blur(22px) saturate(1.6);-webkit-backdrop-filter:blur(22px) saturate(1.6);box-shadow:0 30px 70px -30px rgba(0,0,0,.6);padding:8px;width:100%}
.search .f{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:10px 20px;border-right:1px solid rgba(255,255,255,.18);min-width:0}
.search label{font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#fff}
.search select{appearance:none;-webkit-appearance:none;background:transparent;border:0;color:#fff;font-size:17px;font-weight:700;padding:4px 0;cursor:pointer;width:100%;text-overflow:ellipsis}
.search select option{color:var(--ink);background:#fff}
.search .more{display:flex;align-items:center;gap:8px;padding:0 20px;background:none;border:0;color:#fff;font-weight:700;font-size:15px;cursor:pointer;white-space:nowrap;transition:scale .12s ease-out}
.search .more:active{scale:.96}
.search .more b{min-width:22px;height:22px;border-radius:11px;background:var(--sun);color:var(--ink);font-size:12px;display:grid;place-items:center;padding:0 6px}
.search .btn{border-radius:14px;min-width:170px}
@media (max-width:980px){
  .search{grid-template-columns:1fr 1fr}
  .search .f{border-right:0;padding:10px 14px}
  .search .f:nth-child(3){grid-column:1/-1}
  .search .more{justify-content:center;min-height:48px}
  .search .btn{min-width:0}
}

/* ---------- Faixa laranja ---------- */
.ticker{background:var(--sun);color:var(--ink);overflow:hidden}
.ticker .track{display:flex;width:max-content;animation:marquee 42s linear infinite}
.ticker:hover .track{animation-play-state:paused}
.ticker ul{display:flex;list-style:none;margin:0;padding:16px 0}
.ticker li{display:flex;align-items:center;gap:12px;padding-right:44px;font-size:17px;font-weight:700;white-space:nowrap}
.ticker li b{font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:-.01em}
.ticker li svg{color:var(--ink)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- Cards de imóvel (ricos) ---------- */
.card{flex:0 0 clamp(290px,27vw,460px);scroll-snap-align:start;background:var(--card);border-radius:18px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;transition:box-shadow .4s var(--ease),transform .4s var(--ease),scale .12s ease-out;position:relative}
.card:hover{transform:translateY(-4px);box-shadow:0 26px 44px -30px rgba(15,46,51,.5)}
.media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--mist);max-width:100%}
.media img{width:100%;height:100%;object-fit:cover;transition:opacity .25s ease,transform .9s var(--ease)}
.card:hover .media img{transform:scale(1.03)}
.badges{position:absolute;left:12px;top:12px;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 64px)}
.badge{font-size:12.5px;font-weight:800;padding:5px 11px;border-radius:999px;background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.badge.pronto{background:var(--sun)}
.badge.mob{background:var(--sea);color:#fff}
.fav{position:absolute;right:12px;top:12px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.92);display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:scale .12s ease-out}
.fav:active{scale:.9}
.fav[aria-pressed=true] svg{fill:#D9534F;stroke:#D9534F}
.nav{position:absolute;top:50%;translate:0 -50%;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .2s,scale .12s ease-out}
.nav.p{left:10px}.nav.n{right:10px}
.card:hover .nav,.nav:focus-visible{opacity:1}
.nav:active{scale:.9}
@media (hover:none){.nav{opacity:1;width:34px;height:34px}}
.dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:6px}
.dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55);transition:background .2s,width .3s var(--ease)}
.dots i.on{background:#fff;width:18px;border-radius:4px}
.count{position:absolute;right:12px;bottom:10px;display:flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:#fff;background:rgba(9,32,36,.6);padding:4px 9px;border-radius:999px}
.bd{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.loc{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--muted);font-weight:600}
.card h3{font-size:21px}
.card h3 a::after{content:"";position:absolute;inset:0;z-index:0}
.media .nav,.media .fav{z-index:2}
.specs{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14.5px;color:var(--ink);font-weight:600}
.specs span{display:flex;align-items:center;gap:6px}
.specs svg{color:var(--sea)}
.money{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:14px;margin-top:auto}
.price{font-size:26px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}
.parc{font-size:15px;color:var(--sea);font-weight:700;margin-top:2px}
.small{display:block;font-size:13px;color:var(--muted);font-weight:500}
.go{flex:none;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:800;color:var(--sea)}

/* ---------- Vitrines ---------- */
.rail-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.rail-head p{color:var(--muted);margin-top:10px;max-width:56ch}
.arrows{display:flex;gap:10px}
.arrows button{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s,scale .12s ease-out}
.arrows button:hover{background:var(--ink);color:#fff}
.arrows button:active{scale:.94}
.rail{--vw:calc(100vw - var(--sbw,0px));--edge:max(var(--gutter),calc((var(--vw) - var(--wrap)) / 2 + var(--gutter)));display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding-block:24px 30px;padding-inline:var(--edge);scroll-padding-inline:var(--edge);margin-inline:calc(50% - var(--vw) / 2);scrollbar-width:none;cursor:grab}
.rail::-webkit-scrollbar{display:none}
.rail.drag{cursor:grabbing;scroll-snap-type:none}
.rail.drag .card{pointer-events:none}
.alt-band{background:var(--card)}

/* ---------- Resultados da busca ---------- */
.results{background:var(--mist)}
.res-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chip{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 8px 6px 14px;font-size:14px;font-weight:700}
.chip button{width:24px;height:24px;border-radius:50%;border:0;background:var(--mist);cursor:pointer;display:grid;place-items:center}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:22px;margin-top:28px}
.grid .card{flex:none}
.empty{border-radius:18px;border:2px dashed #C9D3CF;padding:32px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;margin-top:28px;background:var(--card)}
.empty strong{font-family:var(--display);font-size:26px;line-height:1.15}

/* ---------- Bairros ---------- */
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:340px 230px;gap:14px;margin-top:40px}
.tile{position:relative;border-radius:18px;overflow:hidden;cursor:pointer;border:0;padding:0;text-align:left;color:#fff;background:var(--ink);isolation:isolate;transition:scale .12s ease-out}
.tile:active{scale:.985}
.tile.big{grid-column:span 2}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease);z-index:-2}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(9,32,36,.85));z-index:-1}
.tile:hover img{transform:scale(1.05)}
.tile .cap{position:absolute;left:20px;right:20px;bottom:18px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.tile b{display:block;font-family:var(--display);font-size:clamp(22px,2vw,28px);font-weight:650}
.tile .cnt{font-size:14px;font-weight:600}
.tile .arr{flex:none;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;transition:background .3s}
.tile:hover .arr{background:var(--sun);color:var(--ink)}
@media (max-width:820px){.bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:180px}}

/* ---------- Equipe (igual ao site da GVM: texto + carrossel infinito) ---------- */
.equipe{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,4vw,64px);align-items:center}
.equipe h2 span{color:var(--sun-text)}
.equipe .txt p{color:var(--muted);font-size:18px;line-height:1.65;margin-top:18px;max-width:52ch}
.marquee{position:relative;overflow:hidden}
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;z-index:2;pointer-events:none}
.marquee::before{left:0;width:32px;background:linear-gradient(90deg,var(--card),transparent)}
.marquee::after{right:0;width:128px;background:linear-gradient(270deg,var(--card),transparent)}
.mq-track{display:flex;gap:24px;width:max-content;padding-bottom:8px;animation:marquee-team 30s linear infinite}
.marquee:hover .mq-track,.marquee:focus-within .mq-track{animation-play-state:paused}
@keyframes marquee-team{to{transform:translateX(calc(-100% / 3))}}
.membro{flex:none;width:300px}
.membro .ft{position:relative;height:400px;border-radius:28px;overflow:hidden;border:1px solid var(--line);margin-bottom:18px;background:var(--mist)}
.membro .ft img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;transition:transform .7s var(--ease)}
.membro .ft::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,46,51,.55),rgba(15,46,51,.08) 45%,transparent);transition:opacity .5s}
.membro:hover .ft img{transform:scale(1.05)}
.membro:hover .ft::after{opacity:.4}
.membro b{display:block;font-family:var(--display);font-size:24px;font-weight:700;transition:color .3s}
.membro:hover b{color:var(--sun-text)}
.membro span{display:block;color:var(--muted);font-size:14px;font-weight:600;margin-top:2px}
.membro a{display:inline-flex;align-items:center;min-height:36px;margin-top:4px;font-size:14px;font-weight:700;color:var(--sea);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(14,94,91,.35)}
@media (max-width:980px){.equipe{grid-template-columns:1fr}.membro{width:240px}.membro .ft{height:320px}}
@media (prefers-reduced-motion:reduce){.marquee{overflow-x:auto}.mq-track{animation:none}}

/* ---------- Passo a passo ---------- */
.dark{background:var(--ink);color:var(--on-dark)}
.dark .lead{color:var(--on-dark-muted)}
.steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,48px);margin-top:72px;padding-top:44px}
.steps .rule{position:absolute;left:0;right:0;top:0;height:2px;background:rgba(255,255,255,.14);overflow:hidden}
.steps .rule i{display:block;height:100%;background:var(--sun);transform-origin:0 50%;transform:scaleX(var(--k,0))}
.step{position:relative}
.step::before{content:attr(data-n);position:absolute;top:-60px;left:0;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:14px;background:#1E4A51;color:var(--on-dark);transition:background .5s,color .5s}
.step.lit::before{background:var(--sun);color:var(--ink)}
.step h3{font-size:26px;margin-bottom:12px}
.step p{color:var(--on-dark-muted);font-size:16.5px;max-width:34ch}
@media (max-width:980px){.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:80px}.steps .rule{display:none}}
@media (max-width:600px){.steps{grid-template-columns:1fr}}

/* ---------- Praia Grande ---------- */
.city{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,88px);align-items:center}
.city figure{margin:0;border-radius:20px;overflow:hidden;aspect-ratio:5/4;max-width:100%}
.city figure img{width:100%;height:100%;object-fit:cover}
.facts{margin:32px 0 0;display:grid}
.facts div{display:grid;grid-template-columns:minmax(0,12ch) minmax(0,1fr);gap:20px;padding-block:18px;border-top:1px solid var(--line)}
.facts dt{font-weight:800}
.facts dd{margin:0;color:var(--muted);max-width:52ch}
@media (max-width:900px){.city{grid-template-columns:1fr}.facts div{grid-template-columns:1fr;gap:4px}}

/* ---------- Dúvidas ---------- */
.faq-band{background:var(--mist)}
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(28px,5vw,88px);align-items:start}
.faq-side .lead{margin-top:18px}
.faq-side a{margin-top:24px}
.faq{display:flex;flex-direction:column;gap:10px}
.q{background:var(--card);border:1px solid var(--line);border-radius:14px;transition:border-color .3s}
.q.open{border-color:rgba(14,94,91,.4)}
.q button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;background:none;border:0;padding:20px 22px;text-align:left;font-weight:700;font-size:18px;cursor:pointer;min-height:44px;transition:scale .12s ease-out}
.q button:active{scale:.99}
.q button svg{flex:none;transition:transform .4s var(--ease);color:var(--sea)}
.q.open button svg{transform:rotate(45deg)}
.q .a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.q.open .a{grid-template-rows:1fr}
.q .a>div{overflow:hidden}
.q .a p{padding:0 22px 22px;color:var(--muted);font-size:16.5px;max-width:68ch}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr}}

/* ---------- Contato ---------- */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,88px);align-items:center}
.contact h2 span{color:var(--sun-text)}
.who{display:flex;align-items:center;gap:16px;margin-top:28px}
.who img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:50% 20%}
.who b{display:block;font-size:17px}
.who span{font-size:15px;color:var(--muted)}
.lead-form{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:clamp(20px,2.6vw,32px);display:flex;flex-direction:column;gap:14px}
.lead-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700}
.lead-form input{min-height:54px;border:1px solid var(--line);border-radius:12px;padding:0 16px;font-size:17px;background:var(--paper);min-width:0}
.lead-form input:focus{outline:2px solid var(--sea);outline-offset:1px}
.lead-form input[aria-invalid=true]{border-color:#B3261E}
.err{font-size:13px;color:#B3261E;font-weight:600;margin-top:-8px}
.simnote{font-size:14px;background:var(--sea-soft);color:var(--sea);border-radius:10px;padding:10px 14px;font-weight:600}
.lgpd{font-size:13px;color:var(--muted)}
.sent{font-weight:700;color:var(--sea)}
@media (max-width:900px){.contact{grid-template-columns:1fr}}

footer{background:var(--ink);color:var(--on-dark)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;padding-block:52px 36px}
footer p{color:var(--on-dark-muted);font-size:15px;max-width:340px;margin-top:10px}
footer nav{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:15px;align-self:center}
footer .alt a{color:var(--sun);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.copy{border-top:1px solid rgba(255,255,255,.08);padding-block:16px;font-size:13px;color:var(--on-dark-muted)}

/* ---------- Flutuantes ---------- */
.wa{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:45;transition:opacity .3s,scale .3s}
.wa-btn{position:relative;width:60px;height:60px;border-radius:50%;background:#25D366;border:0;cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 20px rgba(37,211,102,.5);transition:scale .15s ease-out}
.wa-btn:active{scale:.92}
.wa-btn.shake{animation:wa-shake .55s ease}
.wa-btn .ring{position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(37,211,102,.4);animation:wa-ring 2.2s ease-in-out 4;pointer-events:none}
.wa-btn .dot{position:absolute;top:0;right:0;width:15px;height:15px;border-radius:50%;background:#FF3B30;border:2px solid #fff}
.wa.aberto .wa-btn .dot{display:none}
.wa-card{position:absolute;right:0;bottom:76px;width:min(300px,calc(100vw - 40px));border-radius:14px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.28);opacity:0;transform:translateY(10px) scale(.95);transform-origin:100% 100%;pointer-events:none;transition:opacity .25s ease,transform .3s var(--ease)}
.wa.aberto .wa-card{opacity:1;transform:none;pointer-events:auto}
.wa-head{background:var(--sea);padding:12px 16px;display:flex;align-items:center;gap:12px;color:#fff}
.wa-av{width:44px;height:44px;border-radius:50%;background:var(--ink);display:grid;place-items:center;flex:none;border:1px solid rgba(255,255,255,.18)}
.wa-av img{width:78%;height:auto}
.wa-head b{display:block;font-size:15px}
.wa-head small{display:flex;align-items:center;gap:6px;font-size:12px;opacity:.85}
.wa-head small i{width:8px;height:8px;border-radius:50%;background:#25D366}
.wa-x{margin-left:auto;width:32px;height:32px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;display:grid;place-items:center;cursor:pointer}
.wa-body{background:#ECE5DD;padding:16px 12px 14px}
.wa-msg{background:#fff;border-radius:0 10px 10px 10px;padding:9px 13px;font-size:14.5px;color:#303030;line-height:1.5;box-shadow:0 1px 2px rgba(0,0,0,.1);display:inline-block;max-width:88%}
.wa-cta{display:flex;align-items:center;justify-content:center;gap:8px;background:#25D366;color:#fff;font-weight:800;font-size:15px;padding:13px 16px}
.wa-cta:hover{background:#1FBE5A}
.wa-card::after{content:"";position:absolute;bottom:-7px;right:23px;width:14px;height:14px;background:#25D366;clip-path:polygon(0 0,100% 0,50% 100%)}
@keyframes wa-ring{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.22);opacity:0}}
@keyframes wa-shake{0%,100%{transform:rotate(0)}15%{transform:rotate(-14deg)}35%{transform:rotate(14deg)}55%{transform:rotate(-9deg)}75%{transform:rotate(9deg)}90%{transform:rotate(-4deg)}}
@media (max-width:560px){.wa.hide-m{opacity:0;pointer-events:none;scale:.8}}

/* ---------- Menu do topo ---------- */
.topnav{display:flex;align-items:center;gap:clamp(18px,2vw,30px);font-size:15px;font-weight:700}
.topnav a{position:relative;padding:8px 0;opacity:.92;white-space:nowrap}
.topnav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--sun);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.topnav a:hover{opacity:1}.topnav a:hover::after{transform:scaleX(1)}
.top-actions{display:flex;align-items:center;gap:10px}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:inherit;place-items:center;cursor:pointer;transition:scale .12s ease-out}
.burger:active{scale:.92}
.bar .burger{background:rgba(255,255,255,.1)}
@media (max-width:1240px){.topnav{display:none}.burger{display:grid}}
.menu-list{display:flex;flex-direction:column}
.menu-list a{display:flex;align-items:center;justify-content:space-between;padding:16px 4px;border-bottom:1px solid var(--line);font-family:var(--display);font-size:24px;font-weight:600}
.menu-list a svg{color:var(--sea)}
.menu-contato{display:flex;flex-direction:column;gap:6px;font-size:16px;color:var(--muted)}
.menu-contato b{color:var(--ink);user-select:all}

/* ---------- Central de Atendimento (abre ao passar o mouse ou no toque) ---------- */
.central{position:relative}
.central-btn{display:flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border-radius:999px;border:0;background:#fff;color:var(--ink);font-weight:800;font-size:15px;cursor:pointer;transition:scale .12s ease-out}
.central-btn:active{scale:.96}
.central-btn .chev{transition:transform .3s var(--ease)}
.central.aberto .central-btn .chev{transform:rotate(180deg)}
.central-menu{position:absolute;right:0;top:calc(100% + 10px);width:380px;max-width:calc(100vw - 32px);background:var(--card);color:var(--ink);border-radius:14px;box-shadow:0 18px 50px rgba(9,25,28,.3);opacity:0;transform:translateY(-6px);transform-origin:100% 0;pointer-events:none;transition:opacity .2s ease,transform .3s var(--ease);z-index:60}
.central.aberto .central-menu{opacity:1;transform:none;pointer-events:auto}
.central-menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.cm-head{padding:18px 20px 12px;border-bottom:1px solid var(--line)}
.cm-head b{display:block;font-size:16px}
.cm-head span{font-size:13.5px;color:var(--muted)}
.cm-list{padding:6px 0 10px}
.cm-item{display:flex;align-items:center;gap:14px;padding:10px 20px;transition:background .2s}
.cm-item:hover{background:var(--mist)}
.cm-ic{width:44px;height:44px;border-radius:50%;background:var(--mist);color:var(--sea);display:grid;place-items:center;flex:none}
.cm-item small{display:block;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cm-item b{display:block;font-size:16px;overflow-wrap:anywhere;user-select:all}
.bar .central-btn{min-height:42px;font-size:14px;padding:0 16px}
@media (max-width:560px){.central-btn .lbl{display:none}.central-btn{padding:0 14px}}
/* botão do simulador: ícone de calculadora com casa, pulso chamando atenção */
.simfab{position:fixed;left:calc(18px + env(safe-area-inset-left,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:45;display:flex;align-items:center;gap:12px;min-height:60px;padding:0 22px 0 8px;border-radius:999px;border:0;background:var(--sun);color:var(--ink);font-weight:800;font-size:16px;cursor:pointer;box-shadow:0 12px 30px -10px rgba(15,46,51,.55);transition:scale .15s ease-out;-webkit-tap-highlight-color:transparent}
.simfab:active{scale:.95}
.simfab .bubble{position:relative;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--sun);display:grid;place-items:center}
.simfab .bubble::before,.simfab .bubble::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--ink);opacity:0;animation:pulse 2.6s var(--ease) infinite}
.simfab .bubble::after{animation-delay:1.3s}
.simfab.calm .bubble::before,.simfab.calm .bubble::after{animation:none}
.simfab svg .coin{animation:bob 2.6s var(--ease) infinite;transform-origin:center}
.simfab.calm svg .coin{animation:none}
@keyframes pulse{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(1.9)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.simfab small{display:block;font-size:12.5px;font-weight:600;opacity:.8}
.simfab .t{text-align:left;line-height:1.2}
@media (max-width:560px){.simfab{padding-right:16px}.simfab small{display:none}.simfab.hide-m{opacity:0;pointer-events:none;scale:.8}.back{bottom:calc(92px + env(safe-area-inset-bottom,0px))}}
.simfab{transition:scale .15s ease-out,opacity .3s}
.back{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:46;display:flex;align-items:center;gap:8px;min-height:48px;padding:0 18px 0 14px;border-radius:999px;border:0;background:var(--ink);color:#fff;font-weight:800;font-size:15px;cursor:pointer;box-shadow:0 12px 28px -12px rgba(0,0,0,.5);opacity:0;translate:-50% 12px;scale:.9;pointer-events:none;transition:opacity .3s,scale .4s var(--ease),translate .4s var(--ease)}
.back.show{opacity:1;scale:1;translate:-50% 0;pointer-events:auto}
.off{opacity:0!important;pointer-events:none!important;scale:.8!important}

/* ---------- Painéis que sobem de baixo (simulador e filtros) ---------- */
.sheet{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-end;justify-content:center;visibility:hidden}
.sheet.open{visibility:visible}
.scrim{position:absolute;inset:0;background:rgba(9,25,28,.55);opacity:0;transition:opacity .35s ease}
.sheet.open .scrim{opacity:1}
.panel{position:relative;width:min(640px,100%);max-height:min(92vh,880px);background:var(--paper);border-radius:24px 24px 0 0;box-shadow:0 -20px 60px rgba(0,0,0,.25);display:flex;flex-direction:column;transform:translateY(105%);will-change:transform;padding-bottom:env(safe-area-inset-bottom,0px)}
.panel.wide{width:min(860px,100%)}
.grab{padding:10px 0 4px;display:grid;place-items:center;cursor:grab;touch-action:none}
.grab i{width:44px;height:5px;border-radius:3px;background:#C9D3CF}
.p-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 24px 14px;touch-action:none}
.p-head h2{font-size:clamp(24px,2.6vw,30px)}
.close{width:44px;height:44px;border-radius:50%;border:0;background:var(--mist);display:grid;place-items:center;cursor:pointer;flex:none;transition:scale .12s ease-out}
.close:active{scale:.9}
.p-body{overflow:auto;padding:4px 24px 20px;display:flex;flex-direction:column;gap:20px;overscroll-behavior:contain}
.p-foot{display:flex;gap:12px;padding:14px 24px 18px;border-top:1px solid var(--line);background:var(--paper)}
.p-foot .btn{flex:1}
.ctl{display:flex;flex-direction:column;gap:10px}
.ctl-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.ctl label,.fgroup>span{font-weight:700;font-size:15px}
.ctl output{font-family:var(--display);font-size:28px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--sea)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:99px;background:linear-gradient(90deg,var(--sea) var(--p,30%),var(--line) var(--p,30%));cursor:pointer;margin:6px 0}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:#fff;border:7px solid var(--sea);box-shadow:0 3px 10px rgba(15,46,51,.3);transition:scale .15s}
input[type=range]:active::-webkit-slider-thumb{scale:1.15}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:7px solid var(--sea)}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pills button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 14px;font-size:15px;font-weight:600;cursor:pointer;min-height:42px;transition:background .2s,color .2s,scale .12s ease-out}
.pills button:active{scale:.95}
.pills button[aria-pressed=true]{background:var(--sea);border-color:var(--sea);color:#fff}
.pills button em{font-style:normal;opacity:.65;font-weight:500;margin-left:4px}
.fgroup{display:flex;flex-direction:column;gap:10px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fsel{min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:0 14px;font-size:16px;font-weight:600;width:100%}
.codein{min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:0 14px;font-size:16px;width:100%}
.res{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.res small{font-size:14px;font-weight:600;color:var(--muted)}
.res .big{font-family:var(--display);font-size:clamp(40px,5vw,56px);font-weight:700;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.res-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}
.faixa{font-weight:700;font-size:13px;padding:6px 12px;border-radius:999px;background:var(--sea-soft);color:var(--sea)}
.faixa.out{background:#F6E8D3;color:var(--sun-text)}
.split{display:flex;height:8px;border-radius:99px;overflow:hidden;background:var(--line)}
.split i{display:block;height:100%}
.split .a{background:var(--sea)}.split .b{background:var(--sun)}.split .c{background:#7FB7AE}
.disc{font-size:13px;color:var(--muted)}
details.more{border-top:1px solid var(--line);padding-top:12px}
details.more summary{cursor:pointer;font-weight:700;font-size:15px;color:var(--sea);list-style:none;display:flex;align-items:center;gap:8px;min-height:40px}
details.more summary::-webkit-details-marker{display:none}
details.more[open] summary svg{transform:rotate(180deg)}
details.more .ctl{margin-top:12px}
@media (min-width:700px){.panel{border-radius:24px;margin-bottom:24px}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .hero .hero-slide{transform:none!important;transition:opacity 1.2s ease,visibility 0s 1.2s!important}
  .hero .hero-slide.active{transition:opacity 1.2s ease,visibility 0s!important}
    .ticker .track{animation:none}
  .ticker ul+ul{display:none}
  .ticker ul{flex-wrap:wrap;padding-inline:var(--gutter)}
  html{scroll-behavior:auto}
}
@media (prefers-reduced-transparency:reduce){.bar,.search{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--ink)}}
@media (prefers-contrast:more){.lead,.disc,.loc,.small,.res small{color:var(--ink)}.dark .lead,.step p{color:var(--on-dark)}}

/* =====================================================================
   Páginas internas (modelo: Furlanetto): listagem e ficha do imóvel
   ===================================================================== */
body.inner{padding-top:66px}
.bar.fixo{transform:none}
.card a.capa{position:absolute;inset:0;z-index:1}
.media .badges,.media .count,.media .dots{z-index:2;pointer-events:none}

/* ---------- Listagem ---------- */
.lhead{padding-block:clamp(26px,3.4vw,44px) clamp(18px,2vw,26px)}
.lhead h1{font-size:clamp(34px,4.2vw,56px);font-weight:500;line-height:1.04;letter-spacing:-.025em}
.lbar{background:var(--card);border-block:1px solid var(--line)}
.lbar .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding-block:14px}
.lbar .tot{font-size:16px}.lbar .tot b{font-weight:800}.lbar .tot span{color:var(--muted)}
.tools2{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.sel2{min-height:46px;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:0 38px 0 14px;font-weight:600;font-size:15px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%230F2E33' stroke-width='2.4' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
.btn-main{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 22px;border-radius:10px;border:0;background:var(--sea);color:#fff;font-weight:800;font-size:15px;cursor:pointer;letter-spacing:.02em;transition:background .2s,scale .12s ease-out}
.btn-main:hover{background:#0B514E}.btn-main:active{scale:.96}
.btn-main b{background:var(--sun);color:var(--ink);border-radius:999px;font-size:12px;padding:1px 8px}
.vtoggle{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card)}
.vtoggle button{width:46px;height:44px;border:0;background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--muted);transition:background .2s,color .2s}
.vtoggle button[aria-pressed=true]{background:var(--sea);color:#fff}
.lchips{display:flex;flex-wrap:wrap;gap:8px;padding-block:16px 0}
.lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:26px;padding-block:28px 24px}
.lpage{padding-bottom:88px}
.pager{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;padding-block:12px 0}
.pager button{min-width:46px;height:46px;border-radius:10px;border:1px solid var(--line);background:var(--card);font-weight:700;cursor:pointer;transition:background .2s,color .2s,scale .12s ease-out}
.pager button:active{scale:.94}
.pager button[aria-current=true]{background:var(--sea);border-color:var(--sea);color:#fff}
.pager button:disabled{opacity:.35;cursor:default}

/* card da listagem (limpo, como no Furlanetto) */
.lc{position:relative;background:var(--card);border-radius:16px;overflow:hidden;box-shadow:0 8px 28px -14px rgba(15,46,51,.28);display:flex;flex-direction:column;transition:transform .45s var(--ease),box-shadow .45s var(--ease),scale .12s ease-out}
.lc:hover{transform:translateY(-4px);box-shadow:0 22px 40px -22px rgba(15,46,51,.4)}
.lc:active{scale:.985}
.lc .ph{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--mist);flex:none}
.lc .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.lc:hover .ph img{transform:scale(1.04)}
.lc .st{position:absolute;left:12px;top:12px;z-index:2;background:var(--ink);color:#fff;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.lc .st.sun{background:var(--sun);color:var(--ink)}
.lc .fav{position:absolute;right:12px;top:12px;z-index:3;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.92);display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:scale .12s ease-out}
.lc .fav:active{scale:.9}.lc .fav[aria-pressed=true] svg{fill:#D9534F;stroke:#D9534F}
.lc .bd{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.lc h3{font-family:var(--body);font-size:17px;font-weight:700;line-height:1.3;letter-spacing:0}
.lc h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.lc .pr{display:flex;align-items:baseline;gap:10px;margin-top:8px}
.lc .pr b{font-size:23px;font-weight:800;color:var(--sea);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.lc .pr small{font-size:12.5px;color:var(--muted)}
.lc .pa{font-size:14px;color:var(--sea);font-weight:700;margin-top:2px}
.lc .pa span{color:var(--muted);font-weight:500}
.lc .lo{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:14px;margin-top:10px}
.lc .sp{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;border-top:1px solid var(--line);margin-top:auto;padding-top:14px;font-size:14px;color:#3E5559}
.lc .bd>.lo{margin-bottom:14px}
.lc .sp .l{display:flex;flex-wrap:wrap;gap:6px 18px}
.lc .sp span{display:flex;align-items:center;gap:6px}
.lc .sp svg{color:var(--sun-text)}
.lc .sp .ar{color:var(--muted)}
.lgrid.modo-lista{grid-template-columns:1fr;gap:18px}
.lgrid.modo-lista .lc{flex-direction:row}
.lgrid.modo-lista .lc .ph{width:34%;aspect-ratio:auto;min-height:220px}
@media (max-width:760px){.lgrid.modo-lista .lc{flex-direction:column}.lgrid.modo-lista .lc .ph{width:100%;aspect-ratio:16/10;min-height:0}.vtoggle{display:none}}
@media (max-width:640px){.lgrid{gap:20px}.tools2 .sel2.pp{display:none}}

/* ---------- Ficha: faixa de fotos de ponta a ponta ---------- */
.strip{--vw:calc(100vw - var(--sbw,0px));--edge:max(var(--gutter),calc((var(--vw) - var(--wrap)) / 2 + var(--gutter)));position:relative;height:clamp(420px,56vh,620px);background:#0A1C1F;overflow:hidden}
.strip-track{display:flex;gap:2px;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.strip-track::-webkit-scrollbar{display:none}
.strip-track>button{flex:0 0 calc((100% - 4px) / 3);position:relative;padding:0;border:0;overflow:hidden;cursor:zoom-in;background:#102a2e;scroll-snap-align:start;min-width:0}
.strip.few .strip-track>button{flex:1 1 0}
.strip img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.strip-track>button:hover img{transform:scale(1.035)}
.s-nav{position:absolute;top:50%;translate:0 -50%;z-index:4;width:48px;height:48px;border-radius:50%;border:0;background:rgba(10,28,31,.55);color:#fff;display:grid;place-items:center;cursor:pointer;transition:opacity .25s,background .2s,scale .12s ease-out;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.s-nav:hover{background:rgba(10,28,31,.8)}.s-nav:active{scale:.92}
.s-nav.p{left:20px}.s-nav.n{right:20px}
.s-nav[disabled]{opacity:.28;cursor:default}
.s-chips{position:absolute;left:var(--edge);bottom:86px;z-index:5;display:flex;gap:10px}
.s-chips a,.s-chips button{display:inline-flex;align-items:center;gap:8px;border:0;background:rgba(10,28,31,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;padding:11px 18px;font-size:13px;font-weight:700;letter-spacing:.03em;cursor:pointer;border-radius:10px;transition:background .2s,scale .12s ease-out}
.s-chips a:hover,.s-chips button:hover{background:rgba(10,28,31,.85)}
.s-chips a:active,.s-chips button:active{scale:.95}
.s-heart{position:absolute;top:20px;right:20px;z-index:5;width:44px;height:44px;border-radius:50%;border:0;background:rgba(10,28,31,.55);color:#fff;display:grid;place-items:center;cursor:pointer;transition:scale .12s ease-out}
.s-heart:active{scale:.9}.s-heart[aria-pressed=true] svg{fill:#F2A43A;stroke:#F2A43A}
.s-back,.s-dots{display:none}
@media (max-width:760px){
  .strip{height:auto;aspect-ratio:4/3}
  .strip-track{gap:0}
  .strip-track>button{flex:0 0 100%}
  .s-nav,.s-chips{display:none}
  .s-heart{top:14px;right:14px;width:40px;height:40px}
  .s-back{display:grid;position:absolute;top:14px;left:14px;z-index:5;width:40px;height:40px;border-radius:50%;background:rgba(10,28,31,.55);color:#fff;place-items:center}
  .s-dots{display:flex;flex-direction:column;align-items:center;gap:6px;position:absolute;left:0;right:0;bottom:14px;z-index:5;pointer-events:none}
  .s-dots div{display:flex;gap:5px}
  .s-dots i{height:6px;width:6px;border-radius:3px;background:rgba(255,255,255,.5);transition:width .2s,background .2s}
  .s-dots i.on{width:18px;background:#fff}
  .s-dots span{color:rgba(255,255,255,.85);font-size:11.5px;font-weight:700;letter-spacing:.08em}
}

/* ---------- Ficha: topo (preço e contato sobem sobre a foto) ---------- */
.top2{position:relative;z-index:6;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:clamp(24px,4vw,64px);align-items:start;margin-top:-64px}
.pbox{background:var(--card);border-radius:14px;padding:22px 28px;box-shadow:0 18px 50px -22px rgba(15,46,51,.38);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 28px}
.pbox .lab{font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sun-text)}
.pbox .val{font-family:var(--display);font-size:clamp(36px,3.6vw,50px);font-weight:600;letter-spacing:-.03em;line-height:1.05;color:var(--sea);font-variant-numeric:tabular-nums;margin-top:2px}
.pbox .meta{font-size:14px;color:var(--muted);margin-top:4px}
.pbox .pp{text-align:right}
.pbox .pp b{display:block;font-size:22px;color:var(--ink);font-variant-numeric:tabular-nums}
.pbox .pp span{font-size:13px;color:var(--muted)}
.crumbs2{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:26px;font-size:13.5px;color:var(--muted)}
.crumbs2 a:hover{color:var(--sea)}.crumbs2 b{color:var(--ink);font-weight:700}.crumbs2 svg{opacity:.5}
.tagrow2{display:flex;align-items:center;gap:12px;margin-top:20px}
.tagrow2 .st{background:var(--ink);color:#fff;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;padding:7px 14px;border-radius:999px}
.tagrow2 .st.sun{background:var(--sun);color:var(--ink)}
.tagrow2 .ty{font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sun-text)}
.ftitle{font-size:clamp(32px,3.6vw,52px);font-weight:500;line-height:1.06;letter-spacing:-.025em;margin-top:14px;text-wrap:balance}
.floc{display:flex;align-items:center;gap:8px;color:var(--muted);margin-top:10px;font-size:16px}
.cardc{background:var(--card);border-radius:14px;padding:26px 28px 28px;box-shadow:0 18px 50px -22px rgba(15,46,51,.38);display:flex;flex-direction:column;gap:14px}
.cardc .lab{font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sun-text)}
.cardc>p{color:var(--muted);font-size:15.5px}
.cardc .two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.cardc input{width:100%}
.cardc label{display:flex;flex-direction:column;gap:6px;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.cardc label i{font-style:normal;text-transform:none;letter-spacing:0;font-weight:500;color:var(--muted)}
.cardc input[type=text],.cardc input[type=tel],.cardc input[type=email]{min-height:50px;border:1px solid var(--line);border-radius:8px;padding:0 14px;font-size:16px;font-weight:500;background:var(--paper);min-width:0;letter-spacing:0;text-transform:none}
.cardc input:focus{outline:2px solid var(--sea);outline-offset:1px}
.cardc input[aria-invalid=true]{border-color:#B3261E}
.cardc .ck{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-size:13.5px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted)}
.cardc .ck input{width:20px;height:20px;margin-top:1px;flex:none;accent-color:var(--sea)}
.cardc .cta{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;border:0;border-radius:8px;background:var(--sea);color:#fff;font-weight:800;font-size:14px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .2s,scale .12s ease-out}
.cardc .cta:hover{background:#0B514E}.cardc .cta:active{scale:.98}
.cardc .err{margin-top:-6px}
.cardc .ok{font-weight:700;color:var(--sea);font-size:14.5px}
@media (max-width:1020px){.top2{grid-template-columns:minmax(0,1fr);margin-top:-40px}.pbox{padding:18px 20px}}
@media (max-width:760px){.top2{margin-top:0}.pbox{box-shadow:none;border-radius:0;padding:20px 0 6px;background:transparent}.cardc .two{grid-template-columns:1fr}}

/* ---------- Ficha: seções ---------- */
.sec{padding-block:clamp(44px,5vw,72px);border-top:1px solid var(--line)}
.sec.white{background:var(--card)}
.sec h2.sh{font-size:clamp(26px,2.5vw,34px);font-weight:500;letter-spacing:-.02em}
.sec .sub{color:var(--muted);margin-top:8px;font-size:15.5px}
.cols2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start}
.desc{position:relative;margin-top:22px;color:#2D4448;font-size:17px;line-height:1.85}
.desc p{margin:0}.desc p+p{margin-top:12px}
.desc.fechada{max-height:25em;overflow:hidden}
.desc.fechada::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7em;background:linear-gradient(transparent,var(--paper))}
.lerm{margin-top:16px;background:none;border:0;padding:8px 0;color:var(--sea);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.chars{margin-top:22px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--card)}
.chars div{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 20px;align-items:center}
.chars div:nth-child(even){background:#F6F4EE}
.chars dt{color:var(--muted);font-size:15px}
.chars dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.sec h3.sh3{font-size:22px;font-weight:500;margin-top:34px;letter-spacing:-.01em}
.dif{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.dif span{background:#F1EFE8;border:1px solid var(--line);padding:9px 16px;font-size:14px;font-weight:600;border-radius:4px}
.resp{display:flex;align-items:center;gap:16px;padding-top:30px;margin-top:34px;border-top:1px solid var(--line)}
.resp img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:50% 18%}
.resp small{display:block;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sun-text)}
.resp b{display:block;font-size:19px}.resp span{color:var(--muted);font-size:14px}
@media (max-width:900px){.cols2{grid-template-columns:minmax(0,1fr)}}

.simi{margin-top:26px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:clamp(20px,2.6vw,32px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,44px)}
.sec.white .simi{background:var(--paper)}
.simi .ctls{display:flex;flex-direction:column;gap:24px}
.simi .out{background:var(--ink);color:var(--on-dark);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:14px}
.simi .out small{color:var(--on-dark-muted);font-size:14px;font-weight:600}
.simi .out .big{font-family:var(--display);font-size:clamp(38px,4vw,52px);font-weight:600;line-height:1;letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}
.simi .out dl{display:grid;gap:10px;margin:0;border-top:1px solid rgba(255,255,255,.12);padding-top:14px}
.simi .out dl div{display:flex;justify-content:space-between;gap:12px}
.simi .out dt{color:var(--on-dark-muted)}.simi .out dd{margin:0;font-weight:800;font-variant-numeric:tabular-nums}
.simi .out .faixa{align-self:flex-start}
@media (max-width:760px){.simi{grid-template-columns:minmax(0,1fr)}}

.mapa{position:relative;margin-top:22px;border-radius:6px;overflow:hidden;aspect-ratio:16/7;max-width:100%;background:var(--mist);border:1px solid var(--line)}
.mapa img{width:100%;height:100%;object-fit:cover}
.mapa .area{position:absolute;left:50%;top:50%;width:min(300px,38%);aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:rgba(14,94,91,.16);border:2px solid rgba(14,94,91,.7)}
.mapa .area::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid rgba(14,94,91,.5);animation:areaPulse 3s var(--ease) infinite}
@keyframes areaPulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.25);opacity:0}}
.mapa .pino{position:absolute;left:50%;top:50%;translate:-50% -50%;background:var(--ink);color:#fff;font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;padding:7px 14px;border-radius:999px;box-shadow:0 8px 20px -8px rgba(0,0,0,.5);white-space:nowrap}
.mapa .attr{position:absolute;right:8px;bottom:6px;font-size:11px;background:rgba(255,255,255,.88);padding:2px 6px;border-radius:4px;color:#333}
.btn-solic{display:inline-flex;align-items:center;gap:10px;margin-top:20px;min-height:50px;padding:0 24px;border-radius:6px;background:var(--sea);color:#fff;font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;transition:background .2s,scale .12s ease-out}
.btn-solic:hover{background:#0B514E}.btn-solic:active{scale:.97}
@media (max-width:760px){.mapa{aspect-ratio:4/3}}

.tc{position:relative;flex:0 0 clamp(250px,22vw,330px);aspect-ratio:3/4.1;scroll-snap-align:start;border-radius:10px;overflow:hidden;background:#0c2226;isolation:isolate;color:#fff;transition:transform .45s var(--ease),scale .12s ease-out}
.tc:hover{transform:translateY(-4px)}.tc:active{scale:.985}
.tc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s var(--ease)}
.tc:hover img{transform:scale(1.05)}
.tc::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,26,29,.7),rgba(8,26,29,0) 38%,rgba(8,26,29,0) 62%,rgba(8,26,29,.7))}
.tc .tt{position:absolute;left:14px;right:14px;top:14px;display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.tc .st{background:var(--ink);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;padding:6px 11px;border-radius:4px}
.tc .st.sun{background:var(--sun);color:var(--ink)}
.tc .pv{text-align:right;line-height:1.1}
.tc .pv b{display:block;font-family:var(--display);font-size:22px;font-weight:600;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.tc .pv span{font-size:13px;opacity:.9}
.tc .bt{position:absolute;left:14px;right:14px;bottom:14px;font-size:13.5px;font-weight:600}
.sec .rail-head h2{font-weight:500}
.vertodos{font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;border-bottom:2px solid var(--sea);padding-bottom:3px;color:var(--ink)}

.mbar{display:none}
@media (max-width:1020px){
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:44;gap:10px;align-items:center;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:rgba(250,248,243,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .mbar .v{flex:1;line-height:1.15}.mbar .v b{display:block;font-size:20px;font-variant-numeric:tabular-nums}.mbar .v span{font-size:13px;color:var(--sea);font-weight:700}
  .mbar .btn{background:var(--sea);color:#fff}
  body.ficha-page{padding-bottom:84px}
  body.ficha-page .wa{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  body.ficha-page .simfab{display:none}
}

/* tela cheia (como no Furlanetto: só a foto, contador, fechar e setas) */
.lb{position:fixed;inset:0;z-index:90;background:#000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s .3s;touch-action:pan-y}
.lb.open{opacity:1;visibility:visible;transition:opacity .3s ease}
.lb img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;will-change:transform,opacity}
.lb-x{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:16px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(0,0,0,.5);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:3;transition:scale .12s ease-out}
.lb-x:active{scale:.9}
.lb-c{position:absolute;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:0;right:0;text-align:center;color:rgba(255,255,255,.75);font-size:13px;font-weight:700;pointer-events:none;font-variant-numeric:tabular-nums;z-index:3}
.lb-nav{position:absolute;top:50%;translate:0 -50%;width:48px;height:48px;border-radius:50%;border:0;background:rgba(0,0,0,.45);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:3;transition:background .2s,scale .12s ease-out}
.lb-nav:hover{background:rgba(0,0,0,.7)}.lb-nav:active{scale:.9}
.lb-nav.p{left:16px}.lb-nav.n{right:16px}
@media (max-width:760px){.lb-nav{display:none}}

/* =====================================================================
   Filtros (painel): controles discretos, sem nuvem de chips
   ===================================================================== */
.fx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px 44px;padding-bottom:6px}
.fx-s h3{font-family:var(--body);font-size:14px;font-weight:700;letter-spacing:0;color:var(--ink);margin:0 0 12px}
.fx-s.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:700px){.fx{grid-template-columns:minmax(0,1fr);gap:26px}}
.seg{display:flex;background:#EEF1EF;border-radius:11px;padding:3px;gap:2px}
.seg button{flex:1;min-height:42px;border:0;border-radius:9px;background:transparent;font-weight:600;font-size:14.5px;color:var(--muted);cursor:pointer;transition:background .2s,color .2s,box-shadow .2s,scale .12s ease-out;white-space:nowrap;padding:0 8px}
.seg button:active{scale:.97}
.seg button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(15,46,51,.18),0 0 0 1px rgba(15,46,51,.04)}
.combo-btn{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 14px;font-size:15.5px;font-weight:600;text-align:left;cursor:pointer;transition:border-color .2s}
.combo-btn:hover,.combo-btn[aria-expanded=true]{border-color:#B9C5C2}
.combo-btn .chev{transition:transform .3s var(--ease);color:var(--muted);flex:none}
.combo-btn[aria-expanded=true] .chev{transform:rotate(180deg)}
.combo-list{margin-top:8px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 30px -16px rgba(15,46,51,.35);overflow:hidden}
.combo-q{width:100%;min-height:46px;border:0;border-bottom:1px solid var(--line);padding:0 14px;font-size:15px;background:#fff;outline:none}
.combo-list ul{list-style:none;margin:0;padding:6px;max-height:220px;overflow:auto}
.combo-list li[hidden]{display:none}
.combo-list label{display:flex;align-items:center;gap:12px;padding:10px 10px;border-radius:8px;cursor:pointer;font-size:15px;font-weight:500;transition:background .15s}
.combo-list label:hover{background:#F2F5F4}
.combo-list label span{flex:1}
.combo-list label em{font-style:normal;color:var(--muted);font-size:13px}
.combo-list input[type=checkbox]{width:18px;height:18px;accent-color:var(--sea);margin:0}
.money{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.money label{position:relative;display:block}
.money label span{position:absolute;left:14px;top:8px;font-size:11.5px;font-weight:600;color:var(--muted)}
.money label i{position:absolute;left:14px;bottom:11px;font-style:normal;font-size:15px;color:var(--muted)}
.money input{width:100%;min-height:56px;border:1px solid var(--line);border-radius:11px;padding:20px 12px 6px 40px;font-size:16px;font-weight:700;background:#fff;font-variant-numeric:tabular-nums}
.money input:focus,.codein:focus{outline:2px solid var(--sea);outline-offset:1px}
.parc{display:flex;flex-direction:column;gap:8px}
.parc>div{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:var(--muted)}
.parc b{font-family:var(--display);font-size:24px;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.stepper{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700}
.stepper>div{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:11px;background:#fff;padding:5px}
.stepper button{width:40px;height:40px;border-radius:8px;border:0;background:#F2F5F4;font-size:20px;line-height:1;cursor:pointer;color:var(--ink);transition:background .2s,scale .12s ease-out}
.stepper button:hover:not(:disabled){background:#E5EBE9}.stepper button:active:not(:disabled){scale:.92}
.stepper button:disabled{opacity:.35;cursor:default}
.stepper b{font-size:15.5px;font-weight:700;font-variant-numeric:tabular-nums}
.switches{display:flex;flex-direction:column}
.sw{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:50px;border:0;border-bottom:1px solid #EAEEEC;background:transparent;padding:0;cursor:pointer;text-align:left;font-size:15.5px;font-weight:500}
.sw:last-child{border-bottom:0}
.sw span em{font-style:normal;color:var(--muted);font-size:13px;margin-left:8px}
.sw i{flex:none;position:relative;width:44px;height:26px;border-radius:99px;background:#CBD5D2;transition:background .25s}
.sw i::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:translate .3s var(--ease)}
.sw[aria-checked=true] i{background:var(--sea)}.sw[aria-checked=true] i::after{translate:18px 0}
.codein{width:100%;min-height:48px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 14px;font-size:16px}
.codein::placeholder,.combo-q::placeholder{color:#8FA0A0}

/* =====================================================================
   Listagem com mapa lateral (como no Furlanetto): mapa fixo + lista que rola
   ===================================================================== */
.lsplit{display:block}
.lmap{display:none;position:relative;background:#E5ECEA}
.lcol{min-width:0}
.lcol .wrap{max-width:var(--wrap)}
body.mapa-on .lsplit{display:flex;overflow:hidden}
body.mapa-on .lmap{display:block;width:37%;flex:none;height:100%;border-right:1px solid var(--line)}
body.mapa-on .lcol{flex:1;height:100%;overflow-y:auto;overscroll-behavior:contain;padding:26px 24px 80px}
body.mapa-on .lcol .wrap{padding:0;max-width:none}
body.mapa-on .lgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-block:18px 24px}
body.mapa-on .lgrid.modo-lista{grid-template-columns:1fr}
body.mapa-on .lchips{padding-top:0}
body.mapa-on{overflow:hidden}
body.mapa-on footer{display:none}
body.mapa-on .lhead{padding-block:14px 8px}
body.mapa-on .lhead h1{font-size:clamp(28px,2.6vw,36px)}
body.mapa-on .lpage{padding-bottom:0}
.lend{text-align:center;color:var(--muted);font-size:14px;padding:18px 0 4px}
#lmapa{position:absolute;inset:0;z-index:1}
.leaflet-tile-pane{filter:saturate(.55) brightness(1.04)}
.leaflet-container{font-family:var(--body);background:#E5ECEA}
.mkl{display:grid;place-items:center;min-width:38px;height:38px;padding:0 9px;border-radius:999px;border:3px solid #fff;background:var(--sea);color:#fff;font-weight:800;font-size:14px;box-shadow:0 6px 16px -4px rgba(15,46,51,.55);font-variant-numeric:tabular-nums;transition:background .2s,transform .25s var(--ease)}
.mkl.on{background:var(--sun);color:var(--ink)}
.mkl.zero{opacity:.45;background:#6C7F82}
.mkl.hl{transform:scale(1.25);background:var(--ink)}
.leaflet-marker-icon:hover .mkl{transform:scale(1.12)}
.mk-tip.leaflet-tooltip{background:var(--ink);color:#fff;border:0;border-radius:9px;padding:8px 12px;font-weight:600;font-size:13px;box-shadow:0 10px 24px -8px rgba(0,0,0,.45)}
.mk-tip.leaflet-tooltip::before{border-top-color:var(--ink)}
.mk-tip b{display:block;font-size:14px}
.lmap-note{position:absolute;right:12px;top:12px;z-index:500;background:rgba(255,255,255,.94);border-radius:9px;padding:8px 12px;font-size:12.5px;font-weight:600;color:var(--muted);max-width:min(300px,80%);margin:0;pointer-events:none}
.btn-mapa{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border-radius:10px;border:0;background:var(--ink);color:#fff;font-weight:700;font-size:15px;cursor:pointer;transition:background .2s,scale .12s ease-out}
.btn-mapa:hover{background:#17434A}.btn-mapa:active{scale:.96}
@media (max-width:1020px){
  body.mapa-on{overflow:auto}
  body.mapa-on .lsplit{display:block;height:auto!important;overflow:visible}
  body.mapa-on .lmap{width:auto;height:340px;border-right:0;border-radius:14px;overflow:hidden;margin:18px max(16px,env(safe-area-inset-left,0px)) 0}
  body.mapa-on .lcol{height:auto;overflow:visible;padding:0}
  body.mapa-on .lcol .wrap{padding-inline:max(var(--gutter),env(safe-area-inset-left,0px))}
  body.mapa-on footer{display:block}
  body.mapa-on .lgrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:22px}
  body.mapa-on .lhead{padding-block:clamp(26px,3.4vw,44px) clamp(18px,2vw,26px)}
  body.mapa-on .lhead h1{font-size:clamp(34px,4.2vw,56px)}
  body.mapa-on .lpage{padding-bottom:88px}
  .lmap-note{display:none}
}

/* =====================================================================
   Páginas institucionais, financiamento e formulários
   ===================================================================== */
.topnav a[aria-current=page]::after{transform:scaleX(1)}
.topnav a[aria-current=page]{opacity:1}
.menu-list a[aria-current=page]{color:var(--sea)}
body.no-simfab .simfab{display:none}

/* rodapé em colunas */
footer .fgrid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,.7fr)) minmax(0,1.1fr);gap:36px 48px;align-items:start;padding-block:56px 40px}
footer .fgrid .fnav{display:flex;flex-direction:column;gap:11px;align-self:start;font-size:15px}
footer .fnav b{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-muted);margin-bottom:4px}
footer .fnav a{opacity:.92}footer .fnav a:hover{opacity:1;color:var(--sun)}
footer .fcont{margin-top:16px;line-height:1.8}footer .fcont a:hover{color:var(--sun)}
footer .fbrand p{max-width:34ch}
footer .alt{max-width:none;margin:0}
@media (max-width:900px){footer .fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}footer .fbrand,footer .alt{grid-column:1/-1}}

/* cabeçalho de página */
.pg{padding-bottom:clamp(56px,7vw,104px)}
.pg-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,80px);align-items:center;padding-block:clamp(24px,3vw,40px) clamp(36px,4.5vw,64px)}
.pg-head.solo{grid-template-columns:minmax(0,1fr)}
.pg-head h1{font-size:clamp(36px,4.6vw,66px);font-weight:560;line-height:1.02;letter-spacing:-.03em;margin-top:18px;text-wrap:balance}
.pg-head h1 em{font-style:normal;color:var(--sun-text)}
.pg-head .lead{margin-top:20px;font-size:clamp(17px,1.4vw,20px);max-width:52ch}
.pg-head .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.pg-photo{margin:0;border-radius:22px;overflow:hidden;aspect-ratio:5/4;background:var(--mist);max-width:100%}
.pg-photo img{width:100%;height:100%;object-fit:cover}
.pg-photo.tall{aspect-ratio:4/5}
@media (max-width:900px){.pg-head{grid-template-columns:minmax(0,1fr)}}
.band{padding-block:clamp(52px,6vw,96px)}
.band.white{background:var(--card)}
.band.mist{background:var(--mist)}
.band.dark{background:var(--ink);color:var(--on-dark)}
.band h2{font-size:clamp(28px,3.2vw,44px);font-weight:540;letter-spacing:-.025em;line-height:1.06;text-wrap:balance}
.band .sub{color:var(--muted);margin-top:12px;font-size:18px;max-width:60ch}
.band.dark .sub{color:var(--on-dark-muted)}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,88px);align-items:start}
@media (max-width:900px){.two{grid-template-columns:minmax(0,1fr)}}

/* texto corrido (privacidade, termos) */
.prose{max-width:74ch;font-size:17.5px;line-height:1.8;color:#2D4448}
.prose h2{font-size:clamp(24px,2.2vw,30px);font-weight:560;letter-spacing:-.02em;margin:46px 0 12px;color:var(--ink)}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:20px;font-weight:600;margin:28px 0 8px;color:var(--ink)}
.prose p{margin:0 0 14px}
.prose ul,.prose ol{margin:0 0 16px;padding-left:1.3em}
.prose li{margin:6px 0}
.prose a{color:var(--sea);text-decoration:underline;text-underline-offset:3px}
.prose .upd{display:inline-block;background:var(--sea-soft);color:var(--sea);font-weight:700;font-size:14px;padding:6px 14px;border-radius:999px;margin-bottom:22px}
.toc{position:sticky;top:90px;display:flex;flex-direction:column;gap:2px;font-size:15px;border-left:2px solid var(--line);padding-left:16px}
.toc a{padding:6px 0;color:var(--muted);transition:color .2s}
.toc a:hover{color:var(--sea)}
.legal{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start;padding-bottom:20px}
@media (max-width:900px){.legal{grid-template-columns:minmax(0,1fr)}.toc{display:none}}

/* formulários grandes */
.formc{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:clamp(22px,3vw,38px);display:grid;gap:18px}
.formc.flat{border:0;box-shadow:0 24px 60px -34px rgba(15,46,51,.4)}
.formc h2{font-size:clamp(24px,2.4vw,32px);font-weight:560;letter-spacing:-.02em}
.formc .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.formc .row.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.formc label.f{display:flex;flex-direction:column;gap:7px;font-size:14.5px;font-weight:700}
.formc label.f i{font-style:normal;font-weight:500;color:var(--muted)}
.formc input[type=text],.formc input[type=tel],.formc input[type=email],.formc input[type=number],.formc select,.formc textarea{width:100%;min-height:52px;border:1px solid var(--line);border-radius:11px;padding:0 15px;font-size:16.5px;font-weight:500;background:var(--paper);min-width:0;color:var(--ink)}
.formc textarea{padding:13px 15px;min-height:130px;resize:vertical;line-height:1.55}
.formc select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%230F2E33' stroke-width='2.4' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.formc input:focus,.formc select:focus,.formc textarea:focus{outline:2px solid var(--sea);outline-offset:1px}
.formc [aria-invalid=true]{border-color:#B3261E}
.formc .fe{color:#B3261E;font-size:13.5px;font-weight:600;margin-top:-4px}
.formc .ck{display:flex;gap:11px;align-items:flex-start;font-size:14px;font-weight:500;color:var(--muted)}
.formc .ck input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--sea)}
.formc .ck a{color:var(--sea);text-decoration:underline;text-underline-offset:3px}
.formc .ok{font-weight:700;color:var(--sea);background:var(--sea-soft);border-radius:11px;padding:14px 16px}
.formc .file{display:flex;align-items:center;gap:12px;border:1.5px dashed #B9C5C2;border-radius:11px;padding:14px 16px;background:var(--paper);cursor:pointer;font-weight:600;font-size:15px;position:relative}
.formc .file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.formc .file:hover{border-color:var(--sea)}
@media (max-width:640px){.formc .row,.formc .row.three{grid-template-columns:minmax(0,1fr)}}

/* lista editorial (porquês, etapas) */
.dl2{display:grid;margin:0}
.dl2 div{display:grid;grid-template-columns:minmax(0,15ch) minmax(0,1fr);gap:8px 28px;padding-block:20px;border-top:1px solid var(--line)}
.dl2 div:last-child{border-bottom:1px solid var(--line)}
.dl2 dt{font-weight:800;font-size:17px}
.dl2 dd{margin:0;color:var(--muted);max-width:60ch}
.band.dark .dl2 div{border-color:rgba(255,255,255,.14)}.band.dark .dl2 dd{color:var(--on-dark-muted)}
@media (max-width:640px){.dl2 div{grid-template-columns:minmax(0,1fr)}}
.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px);margin-top:36px}
.three-col h3{font-size:24px;font-weight:560;margin-bottom:10px}
.three-col p{color:var(--muted);max-width:40ch}
@media (max-width:820px){.three-col{grid-template-columns:minmax(0,1fr)}}
.chk{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.chk li{display:flex;gap:12px;align-items:flex-start;font-weight:600}
.chk li span{flex:none;width:26px;height:26px;border-radius:50%;background:var(--sea-soft);color:var(--sea);display:grid;place-items:center;margin-top:1px}

/* simulador completo (financiamento) */
.sim2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:clamp(22px,3.4vw,52px);align-items:start}
.sim2 .ctls{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:clamp(22px,3vw,36px);display:grid;gap:28px}
.sim2 .ctl small{font-size:13.5px;color:var(--muted)}
.rescard{position:sticky;top:88px;background:var(--ink);color:var(--on-dark);border-radius:18px;padding:clamp(24px,3vw,34px);display:flex;flex-direction:column;gap:16px;box-shadow:0 30px 60px -34px rgba(15,46,51,.7)}
.rescard small{color:var(--on-dark-muted);font-size:14px;font-weight:600}
.rescard .big{font-family:var(--display);font-size:clamp(44px,5vw,64px);font-weight:600;line-height:1;letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}
.rescard .big sup{font-size:.34em;font-weight:500;letter-spacing:0;margin-left:6px;vertical-align:baseline;color:var(--on-dark-muted)}
.rescard dl{display:grid;gap:11px;margin:0;border-top:1px solid rgba(255,255,255,.14);padding-top:16px}
.rescard dl div{display:flex;justify-content:space-between;gap:14px}
.rescard dt{color:var(--on-dark-muted)}.rescard dd{margin:0;font-weight:800;font-variant-numeric:tabular-nums;text-align:right}
.rescard .faixa{align-self:flex-start}
.rescard .aviso{font-size:14px;line-height:1.5;border-radius:11px;padding:11px 14px;background:rgba(242,164,58,.14);color:#FFD9A0}
.rescard .aviso.ok{background:rgba(127,183,174,.16);color:#BFE3DC}
.rescard .disc{color:var(--on-dark-muted);font-size:13px}
@media (max-width:980px){.sim2{grid-template-columns:minmax(0,1fr)}.rescard{position:static}}

.cmp{margin-top:30px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:clamp(22px,3vw,36px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(22px,4vw,56px);align-items:center}
.band.white .cmp{background:var(--paper)}
.cmp .bars{display:grid;gap:18px}
.cmp .bar2{display:grid;gap:8px}
.cmp .bar2 .t{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-weight:700}
.cmp .bar2 .t b{font-family:var(--display);font-size:28px;font-weight:600;font-variant-numeric:tabular-nums}
.cmp .trk{height:16px;background:#E9EEEC;border-radius:99px;overflow:hidden}
.cmp .trk i{display:block;height:100%;border-radius:99px;width:0}
.cmp .bar2.a i{background:#9AAAA8}.cmp .bar2.p i{background:var(--sea)}
.cmp .txt{font-size:18px;line-height:1.6}
.cmp .txt strong{color:var(--sea)}
.cmp .txt small{display:block;margin-top:12px;color:var(--muted);font-size:13.5px}
@media (max-width:820px){.cmp{grid-template-columns:minmax(0,1fr)}}

.faixas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:30px}
.faixas article{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}
.faixas h3{font-size:22px;font-weight:600}
.faixas .rr{font-size:14px;color:var(--muted);margin-top:4px}
.faixas .tx{font-family:var(--display);font-size:30px;font-weight:600;color:var(--sea);margin-top:14px;line-height:1}
.faixas .tx small{font-family:var(--body);font-size:13px;color:var(--muted);font-weight:600}
.faixas .tt{font-size:14.5px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
@media (max-width:980px){.faixas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.faixas{grid-template-columns:minmax(0,1fr)}}
.banks{display:flex;flex-wrap:wrap;align-items:center;gap:20px 40px;margin-top:26px}
.banks img{height:56px;width:auto;border-radius:12px;filter:grayscale(.6);opacity:.9;transition:filter .3s,opacity .3s}
.banks img:hover{filter:none;opacity:1}

/* mapa do site */
.sitemap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 48px}
.sitemap h2{font-size:22px;font-weight:600;margin-bottom:12px}
.sitemap ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.sitemap a{display:inline-block;padding:7px 0;font-weight:600;color:var(--sea);border-bottom:1px solid transparent}
.sitemap a:hover{border-color:var(--sea)}
@media (max-width:820px){.sitemap{grid-template-columns:minmax(0,1fr)}}

/* ---------- Páginas novas: detalhes ---------- */
.tagf{align-self:flex-start;display:inline-flex;background:rgba(242,164,58,.18);color:#FFD9A0;font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:7px 13px;border-radius:999px}
.sticky-d{position:sticky;top:88px}
@media (max-width:900px){.sticky-d{position:static}}
.nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,48px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:clamp(26px,3.4vw,44px);margin-bottom:clamp(40px,5vw,72px)}
.nums b{display:block;font-family:var(--display);font-weight:600;font-size:clamp(34px,4.6vw,64px);letter-spacing:-.03em;line-height:1;color:var(--sea);font-variant-numeric:tabular-nums}
.nums span{display:block;margin-top:10px;color:var(--muted);font-weight:600;font-size:clamp(14px,1.3vw,17px)}
@media (max-width:560px){.nums{grid-template-columns:minmax(0,1fr);gap:22px}}
.timegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:30px 22px;margin-top:38px}
.timegrid .membro{width:auto}
.timegrid .membro .ft{height:auto;aspect-ratio:3/4}
.cside{display:grid;gap:16px}
.ccards{display:grid;gap:12px}
.ccard{display:flex;align-items:center;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 20px;transition:border-color .2s,transform .3s var(--ease),scale .12s ease-out}
.ccard:hover{border-color:#B9C5C2;transform:translateY(-2px)}.ccard:active{scale:.985}
.ccard .ci{flex:none;width:46px;height:46px;border-radius:50%;background:var(--sea-soft);color:var(--sea);display:grid;place-items:center}
.ccard small{display:block;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ccard b{font-size:17px;word-break:break-word}
.pbox2{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;display:grid;gap:12px;justify-items:start}
.pbox2 h3{font-size:22px;font-weight:600}
.pbox2 address{font-style:normal;color:var(--muted);line-height:1.65}
.hor{margin:0;width:100%;display:grid;gap:8px}.hor div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:8px}.hor dt{color:var(--muted)}.hor dd{margin:0;font-weight:700}
.formc textarea,.formc input,.formc select{font-family:inherit}
.timegrid{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:1100px){.timegrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.timegrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}}
.ctl output,.rescard dd,.cmp .bar2 .t b{white-space:nowrap}
.cmp .bar2 .t{align-items:flex-end}
@media (max-width:560px){.cmp .bar2 .t b{font-size:24px}.rescard dl div{font-size:15px}.ctl output{font-size:24px}}
.timegrid .membro b{font-size:clamp(17px,1.5vw,21px)}

/* ---------- Hero do financiamento (modelo Furlanetto) ---------- */
.fhero{position:relative;height:calc(100svh - 66px);min-height:560px;max-height:980px;overflow:hidden;color:#fff;isolation:isolate}
.fhero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;z-index:-2;animation:fh-zoom 22s ease-out both}
.fhero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,rgba(8,24,27,.58) 0%,rgba(12,38,42,.64) 50%,rgba(6,18,20,.8) 100%)}
.fhero-in{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-bottom:110px}
.fhero-k{font-size:12px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--sun);margin:0 0 22px}
.fhero h1{font-size:clamp(40px,6vw,80px);font-weight:560;line-height:1.04;letter-spacing:-.025em;color:#fff;margin:0 0 24px}
.fhero-s{font-size:clamp(16px,1.4vw,19px);line-height:1.75;color:rgba(255,255,255,.82);max-width:540px;margin:0 auto 40px}
.fhero-cta{display:inline-flex;align-items:center;gap:12px;background:var(--sun);color:var(--ink);font-size:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;padding:19px 44px;border-radius:6px;transition:background .2s,scale .12s ease-out}
.fhero-cta:hover{background:#F6B252}.fhero-cta:active{scale:.97}
.fhero-cta span{transition:translate .3s var(--ease)}.fhero-cta:hover span{translate:4px 0}
.fhero-in>*{animation:fh-up .9s var(--ease) both}
.fhero-in>:nth-child(2){animation-delay:.12s}.fhero-in>:nth-child(3){animation-delay:.24s}.fhero-in>:nth-child(4){animation-delay:.36s}
.fmarq{position:absolute;left:0;right:0;bottom:0;overflow:hidden;padding:22px 0;border-top:1px solid rgba(255,255,255,.12);animation:fh-fade 1.2s .5s both}
.fmarq-track{display:flex;align-items:center;gap:72px;width:max-content;animation:fh-marq 30s linear infinite}
.fmarq:hover .fmarq-track{animation-play-state:paused}
.fmarq img{width:56px;height:56px;object-fit:contain;border-radius:12px;flex:none}
@keyframes fh-marq{from{transform:translateX(0)}to{transform:translateX(calc(-100% / 6))}}
@keyframes fh-zoom{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes fh-up{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes fh-fade{from{opacity:0}to{opacity:1}}
@media (max-width:640px){.fhero{min-height:520px}.fhero-in{padding-bottom:96px}.fhero-k{font-size:10.5px;letter-spacing:.16em}.fmarq{padding:16px 0}.fmarq-track{gap:44px}.fmarq img{width:46px;height:46px}.fhero-cta{padding:17px 34px}}
@media (prefers-reduced-motion:reduce){.fmarq{overflow-x:auto}.fmarq-track{animation:none}}

/* ---------- Artigo (formato blog) ---------- */
.post{max-width:calc(720px + 2 * var(--gutter))}
.post-k{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--sun-text);margin-bottom:16px}
.post h2{font-size:clamp(32px,4vw,52px)}
.post-lede{font-family:var(--display);font-size:clamp(21px,2vw,26px);line-height:1.5;color:var(--ink);margin:30px 0 22px}
.post-lede::first-letter{float:left;font-size:3.4em;line-height:.82;font-weight:600;color:var(--sea);margin:.06em .1em 0 0}
.post p{font-size:18.5px;line-height:1.8;color:#2D4448;margin:0 0 18px}
.post h3{font-size:clamp(24px,2.4vw,30px);font-weight:600;margin:46px 0 14px}
.post-fig{margin:42px calc(-1 * min(120px,6vw));border-radius:20px;overflow:hidden}
.post-fig img{width:100%;aspect-ratio:16/9;object-fit:cover}
.post-fig figcaption{background:var(--card);padding:14px 20px;font-size:14.5px;color:var(--muted)}
.post-q{margin:46px 0;padding:6px 0 6px 26px;border-left:4px solid var(--sun);font-family:var(--display);font-size:clamp(23px,2.4vw,31px);line-height:1.35;color:var(--ink);font-weight:500}
.post-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
@media (max-width:820px){.post-fig{margin-inline:0}}

/* ---------- Efeitos de entrada (todo o site) ---------- */
html.rv-on .rv{opacity:0;translate:0 28px;transition:opacity .8s var(--ease),translate .9s var(--ease);transition-delay:var(--d,0s)}
html.rv-on .rv.in{opacity:1;translate:none}
.fhero-bg{inset:-10px;width:calc(100% + 20px);height:calc(100% + 20px);filter:blur(1.6px) saturate(.9)}
.post-lede::first-letter{margin-right:.06em}

/* ---------- Guia desconstruído (financiamento) ---------- */
.post2{display:grid;gap:clamp(64px,8vw,130px)}
.post2 p{font-size:18px;line-height:1.8;color:#2D4448;margin:0 0 16px}
.post2 h3{font-size:clamp(28px,2.8vw,40px);font-weight:560;letter-spacing:-.02em;margin:0 0 18px}
.p2-open{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,96px);align-items:end}
.p2-open h2{font-size:clamp(40px,5.6vw,92px);line-height:.98;letter-spacing:-.035em}
.p2-open h2 em{font-style:italic;color:var(--sea)}
.p2-lede .post-lede{margin-top:0}
.p2-rent{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,120px);align-items:center;padding-left:clamp(0px,8vw,160px)}
.p2-stat{background:var(--sun);color:var(--ink);border-radius:24px;padding:clamp(28px,4vw,56px);rotate:-2.5deg;box-shadow:0 40px 70px -40px rgba(154,90,8,.6);display:grid;gap:10px;justify-self:start;max-width:560px;transition:rotate .6s var(--ease)}
.p2-stat:hover{rotate:0deg}
.p2-stat small{font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.p2-stat b{font-family:var(--display);font-size:clamp(60px,8vw,128px);line-height:.9;letter-spacing:-.04em;font-weight:600}
.p2-stat span{font-size:clamp(17px,1.5vw,21px);font-weight:600;max-width:24ch}
.p2-prog{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,6vw,110px);align-items:center}
.p2-pics{position:relative;padding-bottom:clamp(60px,9vw,150px)}
.p2-pics figure{margin:0;overflow:hidden;background:var(--card)}
.p2-pics img{width:100%;height:100%;object-fit:cover}
.p2-a{width:82%;border-radius:22px;rotate:-3deg;box-shadow:0 40px 80px -46px rgba(15,46,51,.55);transition:rotate .7s var(--ease)}
.p2-a img{aspect-ratio:4/3}
.p2-a figcaption{padding:12px 18px;font-size:14px;color:var(--muted)}
.p2-b{position:absolute;right:0;bottom:0;width:44%;border-radius:18px;border:8px solid var(--card);rotate:5deg;box-shadow:0 30px 60px -30px rgba(15,46,51,.6);transition:rotate .7s var(--ease)}
.p2-b img{aspect-ratio:3/4}
.p2-pics:hover .p2-a{rotate:-1deg}.p2-pics:hover .p2-b{rotate:2deg}
.p2-q{margin:0;padding-left:clamp(0px,14vw,280px);font-family:var(--display);font-size:clamp(30px,4.2vw,64px);line-height:1.12;letter-spacing:-.025em;color:var(--ink);font-weight:500;position:relative;max-width:1400px}
.p2-q::before{content:"“";position:absolute;left:clamp(0px,14vw,280px);top:-.62em;translate:-.55em 0;font-size:2.4em;color:var(--sun);line-height:1}
.p2-other{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:clamp(28px,6vw,120px);align-items:center;padding-right:clamp(0px,6vw,120px)}
.p2-note{background:var(--ink);color:var(--on-dark);border-radius:22px;padding:clamp(26px,3vw,40px);rotate:2deg;display:grid;gap:16px;box-shadow:0 40px 70px -40px rgba(15,46,51,.7);transition:rotate .6s var(--ease)}
.p2-note:hover{rotate:0deg}
.p2-note b{font-family:var(--display);font-size:clamp(24px,2.2vw,32px);font-weight:560}
.p2-note ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.p2-note li{display:flex;gap:12px;align-items:center;font-size:17px;font-weight:600;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.12)}
.p2-note li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--sun);flex:none}
.p2-note span{color:var(--on-dark-muted);font-size:15px}
@media (max-width:900px){
  .p2-open,.p2-rent,.p2-prog,.p2-other{grid-template-columns:minmax(0,1fr);padding:0}
  .p2-stat{rotate:-1.5deg}.p2-note{rotate:1deg}
  .p2-q{padding-left:22px}.p2-q::before{left:22px}
}

/* ---------- Linha do tempo do banco ---------- */
.tl-band{overflow:hidden}
.tl-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 64px}
.tl-head .sub{max-width:44ch}
.tl{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(44px,5vw,72px)}
.tl-rail{position:absolute;left:12.5%;right:12.5%;top:36px;height:3px;background:rgba(255,255,255,.14);border-radius:3px}
.tl-rail i{display:block;height:100%;width:var(--w,0%);background:var(--sun);border-radius:3px;transition:width 1s var(--ease);box-shadow:0 0 18px rgba(242,164,58,.6)}
.tl-n{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;color:var(--on-dark);cursor:pointer;padding:0 8px;text-align:center}
.tl-ic{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:#173E44;color:var(--on-dark-muted);border:3px solid #1F4D54;transition:background .5s var(--ease),color .5s,border-color .5s,scale .5s var(--ease),box-shadow .5s;margin-bottom:8px}
.tl-n b{font-size:17px;font-weight:700;opacity:.7;transition:opacity .4s}
.tl-n small{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-muted)}
.tl-n.feito .tl-ic{background:var(--sea);border-color:var(--sea);color:#fff}
.tl-n[aria-selected=true] .tl-ic{background:var(--sun);border-color:var(--sun);color:var(--ink);scale:1.14;box-shadow:0 0 0 10px rgba(242,164,58,.14),0 0 0 22px rgba(242,164,58,.06)}
.tl-n[aria-selected=true] .tl-ic svg{animation:tl-pop .7s var(--ease)}
.tl-n[aria-selected=true] b,.tl-n.feito b{opacity:1}
.tl-n:hover b{opacity:1}
@keyframes tl-pop{0%{scale:.5;rotate:-20deg}60%{scale:1.15}100%{scale:1;rotate:0deg}}
.tl-stage{display:grid;margin-top:clamp(40px,4.5vw,64px)}
.tl-card{grid-area:1/1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,4vw,64px);align-items:start;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:clamp(24px,3.4vw,48px);opacity:0;translate:0 24px;pointer-events:none;transition:opacity .5s ease,translate .7s var(--ease)}
.tl-card.on{opacity:1;translate:none;pointer-events:auto}
.tl-big{font-family:var(--display);font-size:clamp(64px,8vw,132px);line-height:.85;font-weight:600;color:var(--sun);letter-spacing:-.04em}
.tl-card h3{font-size:clamp(26px,2.6vw,38px);font-weight:560;margin-bottom:12px}
.tl-card p{color:var(--on-dark-muted);font-size:18px;line-height:1.7;max-width:62ch;margin:0}
.tl-card .tl-tip{margin-top:18px;display:inline-block;background:rgba(242,164,58,.12);color:#FFD9A0;border-radius:12px;padding:10px 16px;font-size:15.5px;font-weight:600}
@media (max-width:700px){
  .tl{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tl-ic{width:56px;height:56px}.tl-ic svg{width:22px;height:22px}
  .tl-rail{top:27px}
  .tl-n b{font-size:13px;line-height:1.25}.tl-n small{display:none}
  .tl-card{grid-template-columns:minmax(0,1fr)}
  .tl-big{font-size:56px}
}
@media (prefers-reduced-motion:reduce){.tl-card{transition:none}}

/* ---------- Teste de fonte (?fonte=1|2|3) ---------- */
.fprova{position:fixed;left:16px;bottom:16px;z-index:70;display:flex;align-items:center;gap:4px;background:var(--ink);color:#fff;border-radius:999px;padding:5px;box-shadow:0 10px 30px rgba(0,0,0,.3);font-family:system-ui,sans-serif;font-size:13px}
.fprova span{padding:0 8px 0 10px;opacity:.7;font-weight:600}
.fprova a{min-width:34px;height:32px;padding:0 10px;display:grid;place-items:center;border-radius:999px;font-weight:700}
.fprova a[aria-current]{background:var(--sun);color:var(--ink)}
html[data-fonte="2"] h1,html[data-fonte="2"] h2{font-stretch:112%;letter-spacing:-.035em}
.p2-stat b{white-space:nowrap;font-size:clamp(52px,6.4vw,112px)}
.fprova{left:50%;translate:-50% 0;bottom:14px}

/* etiqueta rasgada ao meio */
.p2-stat.rasgo{background:none;box-shadow:none;padding:0;rotate:-5deg;position:relative;display:block;width:100%;max-width:600px}
.p2-stat.rasgo:hover{rotate:-5deg}
.rasgo .pc{filter:drop-shadow(0 26px 30px rgba(154,90,8,.35));transition:translate .8s var(--ease),rotate .8s var(--ease)}
.rasgo .pc.r{position:absolute;inset:0}
.rasgo .in{background:var(--sun);color:var(--ink);border-radius:24px;padding:clamp(28px,4vw,56px);display:grid;gap:10px;height:100%}
.rasgo .in small{font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.rasgo .in b{font-family:var(--display);font-size:clamp(52px,6.4vw,112px);line-height:.9;letter-spacing:-.04em;font-weight:600;white-space:nowrap}
.rasgo .in span{font-size:clamp(17px,1.5vw,21px);font-weight:600;max-width:24ch}
.rasgo .l .in{clip-path:polygon(0 0,56% 0%,54.2% 4%,56.8% 9%,55% 13%,57.6% 19%,54.6% 24%,56.3% 30%,53.8% 36%,56.9% 41%,55.2% 47%,57.3% 53%,54% 58%,56.1% 64%,53.6% 70%,56.6% 76%,54.4% 82%,57% 88%,54.8% 94%,56.2% 100%,0 100%)}
.rasgo .r .in{clip-path:polygon(100% 0,100% 100%,56.2% 100%,54.8% 94%,57% 88%,54.4% 82%,56.6% 76%,53.6% 70%,56.1% 64%,54% 58%,57.3% 53%,55.2% 47%,56.9% 41%,53.8% 36%,56.3% 30%,54.6% 24%,57.6% 19%,55% 13%,56.8% 9%,54.2% 4%,56% 0%)}
.rasgo .pc.l{rotate:-3deg;translate:-10px 0}
.rasgo .pc.r{rotate:4deg;translate:22px 14px;transform-origin:30% 50%}
.rasgo:hover .pc.l{rotate:-1.5deg;translate:-4px 0}
.rasgo:hover .pc.r{rotate:2deg;translate:10px 6px}
@media (max-width:900px){.p2-stat.rasgo{rotate:-3deg;margin-inline:auto}.rasgo .pc.r{translate:14px 10px}}

.rasgo .in span{max-width:15ch}
#por-que-financiar{overflow-x:clip}
/* bloco do programa: texto à esquerda, uma foto só à direita */
.p2-prog.solo{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.p2-foto{margin:0;border-radius:24px;overflow:hidden;background:var(--card);rotate:2deg;box-shadow:0 40px 80px -46px rgba(15,46,51,.55);transition:rotate .7s var(--ease)}
.p2-foto:hover{rotate:.5deg}
.p2-foto img{width:100%;aspect-ratio:4/3;object-fit:cover}
.p2-foto figcaption{padding:14px 20px;font-size:14.5px;color:var(--muted)}
@media (max-width:900px){.p2-prog.solo{grid-template-columns:minmax(0,1fr)}.p2-foto{rotate:1deg}}

/* texto que se escreve letra por letra */
.esc .pal{white-space:nowrap}
.esc .ch{color:rgba(15,46,51,.13);transition:color .45s ease;transition-delay:calc(var(--i) * 32ms)}
.esc.escrito .ch{color:var(--ink)}
.band.dark .esc .ch{color:rgba(255,255,255,.16)}.band.dark .esc.escrito .ch{color:#fff}

/* linha do tempo presa na tela, andando com a rolagem */
.tl-scroll{height:calc(100svh * 3.4);position:relative}
.tl-pin{position:sticky;top:66px;height:calc(100svh - 66px);display:flex;align-items:center;overflow:hidden}
.tl-pin>.wrap{width:100%}
.tl-rail i{transition:none}
.tl-hint{margin-top:14px;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sun);transition:opacity .4s}
.tl-hint span{display:inline-block;animation:tl-bob 1.4s ease-in-out infinite}
.tl-scroll.fim .tl-hint{opacity:0}
@keyframes tl-bob{50%{translate:0 5px}}
@media (max-height:760px){.tl-head h2{font-size:clamp(28px,3vw,40px)}.tl{margin-top:28px}.tl-stage{margin-top:28px}.tl-card{padding:22px 26px}.tl-big{font-size:64px}}
@media (max-width:700px){.tl-head .sub{font-size:15.5px}.tl-card p{font-size:16px}.tl-card h3{font-size:22px}.tl-card .tl-tip{font-size:14px}.tl-big{font-size:44px}.tl-card{gap:10px}}
.p2-bul{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.p2-bul li{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--sun);border-radius:12px;padding:14px 16px;display:grid;gap:2px}
.p2-bul b{font-size:16.5px}.p2-bul span{font-size:14px;color:var(--muted)}
@media (max-width:480px){.p2-bul{grid-template-columns:minmax(0,1fr)}}
.p2-prog.solo{align-items:start}.p2-prog.solo .p2-foto{position:sticky;top:110px}
@media (max-width:900px){.p2-prog.solo .p2-foto{position:static}}

/* bloco do programa: a foto acompanha a altura do texto */
.p2-prog.solo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.p2-prog.solo .p2-foto{position:static;display:flex;flex-direction:column}
.p2-prog.solo .p2-foto img{flex:1;min-height:380px;aspect-ratio:auto}
.p2-prog.solo .p2-txt{display:flex;flex-direction:column;justify-content:center}
.p2-bul{margin-top:18px;gap:10px}.p2-bul li{padding:11px 14px}
@media (max-width:900px){.p2-prog.solo .p2-foto img{min-height:0;aspect-ratio:4/3}}

/* faixas do MCMV em tabela */
.ftab-w{margin-top:30px;overflow-x:auto;border-radius:16px;border:1px solid var(--line);background:var(--card)}
.ftab{width:100%;border-collapse:collapse;min-width:560px;font-variant-numeric:tabular-nums}
.ftab caption{text-align:left;padding:16px 20px 0;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ftab th,.ftab td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line);font-size:16.5px}
.ftab thead th{font-size:13.5px;font-weight:800;color:var(--muted);padding-top:12px}
.ftab tbody th{font-family:var(--display);font-size:21px;font-weight:600}
.ftab td.tx{font-family:var(--display);font-size:24px;font-weight:600;color:var(--sea)}
.ftab tr.merc th,.ftab tr.merc td{color:var(--muted);border-bottom:0}
.ftab tr.merc td.tx{color:var(--muted)}
.ftab tbody tr{transition:background .2s}.ftab tbody tr:hover{background:var(--sea-soft)}
.fonte{margin-top:14px;font-size:14px;color:var(--muted)}.fonte a{color:var(--sea);text-decoration:underline;text-underline-offset:3px}
.post-by{font-size:14.5px;color:var(--muted);margin:-6px 0 14px}.post-by b{color:var(--ink)}
.sitemap{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:820px){.sitemap{grid-template-columns:minmax(0,1fr)}}
/* páginas de bairro */
.bstats{display:flex;flex-wrap:wrap;gap:12px 36px;margin-top:26px}
.bstats div{display:grid}.bstats b{font-family:var(--display);font-size:clamp(28px,3vw,40px);font-weight:600;color:var(--sea);line-height:1.05}
.bstats span{font-size:14px;color:var(--muted);font-weight:600}
.bacts{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

.pg-head .bq{font-size:clamp(20px,1.8vw,24px);font-weight:600;margin-top:26px;letter-spacing:-.01em}
.pg-head .bq+.lead{margin-top:8px}

/* ---------- Aviso de cookies (só aparece com o rastreamento ligado) ---------- */
.ckb{position:fixed;left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));z-index:90;max-width:980px;margin-inline:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;background:var(--ink);color:var(--on-dark);border-radius:16px;padding:16px 20px;box-shadow:0 20px 50px -12px rgba(0,0,0,.5);animation:ck-in .5s var(--ease) both}
.ckb p{flex:1 1 320px;font-size:14.5px;line-height:1.55;color:var(--on-dark-muted);margin:0}
.ckb a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ckb div{display:flex;gap:10px;flex:none}
.ckb button{min-height:44px;padding:0 20px;border-radius:10px;border:1.5px solid rgba(255,255,255,.28);background:transparent;color:#fff;font-weight:700;font-size:15px;cursor:pointer;transition:background .2s,scale .12s ease-out}
.ckb button:hover{background:rgba(255,255,255,.1)}.ckb button:active{scale:.96}
.ckb button.ok{background:var(--sun);border-color:var(--sun);color:var(--ink)}.ckb button.ok:hover{background:#F6B252}
.ckb.sai{animation:ck-out .35s ease both}
@keyframes ck-in{from{opacity:0;translate:0 24px}}
@keyframes ck-out{to{opacity:0;translate:0 24px}}
@media (max-width:560px){.ckb div{width:100%}.ckb button{flex:1}}
@media (prefers-reduced-motion:reduce){.ckb{animation:none}.ckb.sai{animation:none;display:none}}
@media (min-width:900px){.ckb{left:330px;right:auto;margin-inline:0;width:min(780px,calc(100vw - 440px))}}
