/* Complementar ao critical — tema Caixa Habitação + UX artigo */

.eyebrow{
  text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700;
  color:var(--green-dark);margin:0 0 .5rem
}
.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.section{padding:2.75rem 0;border-top:1px solid var(--line)}
.section h2{
  font-family:var(--font-display);font-weight:800;font-size:clamp(1.35rem,2.5vw,1.75rem);
  letter-spacing:-.02em;color:var(--caixa-dark);margin:0 0 .65rem
}
.section > p{color:var(--muted);max-width:60ch;margin:0 0 1.25rem}

.silo-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem}
.silo-grid a{
  display:block;padding:1.1rem 1.15rem;border:1px solid var(--line);border-radius:var(--radius);
  text-decoration:none;color:inherit;background:var(--surface);
  box-shadow:0 1px 0 rgba(0,92,169,.04);transition:border-color .15s,box-shadow .15s,transform .15s
}
.silo-grid a:hover{border-color:var(--caixa);box-shadow:0 8px 24px rgba(0,92,169,.1);transform:translateY(-2px)}
.silo-grid strong{color:var(--caixa);font-weight:700}

.faixas-table,.prose-table{width:100%;border-collapse:collapse;margin:1rem 0;background:var(--surface);font-size:.95rem}
.faixas-table th,.prose-table th{
  background:var(--caixa);color:#fff;font-weight:700;text-align:left;
  padding:.75rem .85rem;border:1px solid var(--caixa-dark)
}
.faixas-table td,.prose-table td{
  border:1px solid var(--line);padding:.7rem .85rem;color:var(--ink);background:var(--surface)
}
.faixas-table tr:nth-child(even) td,.prose-table tr:nth-child(even) td{background:#F9FBFD}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0;border-radius:var(--radius)}

.fonte-oficial{font-size:.85rem;color:var(--muted);line-height:1.5}
.fonte-oficial a{color:var(--caixa);font-weight:600;text-decoration:none}
.fonte-oficial a:hover{text-decoration:underline}

/* Footer — colunas limpas (zero link soup) */
.site-footer{
  margin-top:3rem;padding:2.75rem 0 5.5rem;background:#0B2742;color:rgba(255,255,255,.82);border-top:0
}
.footer-inner{display:grid;gap:2rem}
@media(min-width:860px){
  .footer-inner{grid-template-columns:1.2fr 2fr;gap:3rem;align-items:start}
}
.footer-logo{
  display:inline-block;font-weight:800;font-size:1.15rem;color:#fff;text-decoration:none;
  letter-spacing:-.02em;margin-bottom:.65rem
}
.footer-brand-col p{margin:0 0 .75rem;max-width:36ch;line-height:1.55;font-size:.92rem}
.footer-brand-col .fonte-oficial{color:rgba(255,255,255,.55)}
.footer-brand-col .fonte-oficial a{color:#7DD3A8}
.footer-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
@media(max-width:640px){.footer-cols{grid-template-columns:1fr 1fr;gap:1.5rem 1rem}}
.footer-col-title{
  margin:0 0 .75rem;font-size:.72rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.06em;color:rgba(255,255,255,.45)
}
.footer-cols a{
  display:block;padding:.28rem 0;color:rgba(255,255,255,.88);text-decoration:none;
  font-weight:600;font-size:.9rem;line-height:1.35
}
.footer-cols a:hover{color:#fff}
.footer-bottom{
  margin-top:2rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem;color:rgba(255,255,255,.45)
}
.footer-bottom p{margin:0}

/* Artigo */
.article{padding:1.5rem 0 0}
.article-layout{display:grid;gap:1.75rem}
@media(min-width:980px){
  .article-layout{grid-template-columns:minmax(0,1fr) 17rem;gap:2.5rem;align-items:start}
  .article-aside{position:sticky;top:5.25rem}
}
.breadcrumbs{font-size:.8rem;font-weight:600;margin-bottom:1.15rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.breadcrumbs a{color:var(--caixa);text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.bc-sep{opacity:.45;margin:0 .15rem}
.article-header{margin-bottom:1.5rem}
.article-header h1{
  font-family:var(--font-display);font-weight:800;font-size:clamp(1.55rem,3.4vw,2.35rem);
  line-height:1.18;letter-spacing:-.03em;color:var(--caixa-dark);margin:0 0 .65rem
}
.meta{color:var(--muted);font-size:.88rem;font-weight:500;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.meta-dot{opacity:.5}
.badge-caixa{
  display:inline-flex;align-items:center;gap:.35rem;background:var(--caixa-soft);color:var(--caixa-dark);
  font-size:.72rem;font-weight:700;padding:.32rem .7rem;border-radius:99px;margin:0 0 .85rem;letter-spacing:.02em
}

.toc{
  background:var(--surface);border:1px solid var(--line);border-radius:.75rem;padding:1.1rem 1.2rem;margin:0 0 1.75rem;
  box-shadow:0 1px 0 rgba(0,92,169,.04)
}
.toc-title{margin:0 0 .55rem;font-weight:800;color:var(--caixa-dark);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}
.toc ol{margin:0;padding-left:1.15rem}
.toc li{margin:.35rem 0}
.toc a{color:var(--caixa-dark);text-decoration:none;font-weight:600;font-size:.92rem}
.toc a:hover{color:var(--caixa);text-decoration:underline}

.prose{font-size:1.0625rem;max-width:66ch;line-height:1.7}
.prose > p:first-of-type{font-size:1.125rem;color:var(--ink)}
.prose h2{
  margin-top:2.25rem;scroll-margin-top:5rem;font-family:var(--font-display);font-weight:800;
  font-size:1.3rem;color:var(--caixa-dark);letter-spacing:-.02em;padding-bottom:.4rem;
  border-bottom:1px solid var(--line)
}
.prose h3{margin-top:1.5rem;scroll-margin-top:5rem;font-weight:700;color:var(--ink);font-size:1.08rem}
.prose a.ilink,.prose a{
  color:var(--caixa);font-weight:600;text-decoration:none;
  background:linear-gradient(transparent 70%,rgba(0,92,169,.12) 0);border-radius:2px
}
.prose a.ilink:hover,.prose a:hover{color:var(--caixa-dark);background:linear-gradient(transparent 70%,rgba(0,168,107,.18) 0)}
.prose blockquote{
  margin:1.35rem 0;padding:1rem 1.1rem;border-left:4px solid var(--caixa);
  background:var(--caixa-soft);border-radius:0 .65rem .65rem 0;color:var(--ink)
}
.prose ul,.prose ol{padding-left:1.2rem}
.prose li{margin:.4rem 0}
.prose img{max-width:100%;height:auto;border-radius:var(--radius)}

.faq{margin-top:2.75rem}
.faq h2{font-family:var(--font-display);font-weight:800;color:var(--caixa-dark);margin:0 0 1rem}
.faq details{
  background:var(--surface);border:1px solid var(--line);padding:0;margin:0 0 .55rem;
  border-radius:.65rem;overflow:hidden
}
.faq details[open]{border-color:rgba(0,92,169,.35);box-shadow:0 0 0 3px var(--caixa-soft)}
.faq summary{
  cursor:pointer;font-weight:700;color:var(--caixa-dark);padding:.95rem 1.1rem;list-style:none;
  display:flex;justify-content:space-between;gap:1rem;align-items:center
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:800;color:var(--caixa);font-size:1.2rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0;padding:0 1.1rem 1.05rem;color:var(--muted);line-height:1.55}

.article-cta-band{
  margin:2.5rem 0 1.25rem;padding:1.35rem 1.4rem;border-radius:1rem;
  background:linear-gradient(135deg,var(--caixa) 0%,var(--caixa-dark) 100%);color:#fff;
  display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between
}
.cta-band-kicker{margin:0 0 .25rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.7)}
.cta-band-title{margin:0 0 .35rem;font-size:1.2rem;font-weight:800;letter-spacing:-.02em;color:#fff}
.cta-band-copy{margin:0;font-size:.9rem;color:rgba(255,255,255,.85);max-width:36ch}
.btn-lg{padding:.85rem 1.35rem;font-size:1rem;min-height:3rem}
.btn-block{width:100%;justify-content:center}

/* Aside rail — navegação compacta, não sopa de links */
.rail-panel{
  background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:1.1rem;
  box-shadow:0 8px 28px rgba(11,39,66,.06)
}
.rail-kicker{
  margin:0 0 .75rem;font-size:.7rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.06em;color:var(--muted)
}
.rail-nav{display:grid;gap:.4rem;margin-bottom:1rem}
.rail-item{
  display:flex;align-items:center;gap:.65rem;padding:.65rem .7rem;border-radius:.65rem;
  text-decoration:none;color:var(--ink);font-weight:700;font-size:.9rem;
  border:1px solid transparent;transition:background .15s,border-color .15s
}
.rail-item:hover{background:var(--caixa-soft);border-color:rgba(0,92,169,.15);color:var(--caixa-dark)}
.rail-ico{
  flex:0 0 1.85rem;height:1.85rem;border-radius:.45rem;background:var(--caixa);
  color:#fff;font-size:.65rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center
}

/* Related — cards em grid (SEO sem visual de fazenda) */
.related-band{
  margin-top:2.75rem;padding:2.5rem 0 3rem;background:var(--bg);border-top:1px solid var(--line)
}
.related-head{margin-bottom:1.25rem;max-width:40rem}
.related-head h2{
  margin:0 0 .35rem;font-size:1.35rem;font-weight:800;color:var(--caixa-dark);letter-spacing:-.02em
}
.related-head p{margin:0;color:var(--muted);font-size:.95rem}
.related-grid{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:.85rem
}
.related-card{
  display:flex;flex-direction:column;gap:.4rem;min-height:7.5rem;padding:1.05rem 1.1rem;
  background:var(--surface);border:1px solid var(--line);border-radius:.85rem;text-decoration:none;
  color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s;position:relative
}
.related-card:hover{
  border-color:rgba(0,92,169,.35);box-shadow:0 12px 28px rgba(11,39,66,.08);transform:translateY(-2px)
}
.related-label{
  font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--green-dark)
}
.related-title{font-weight:700;color:var(--caixa-dark);font-size:.95rem;line-height:1.35;flex:1}
.related-go{align-self:flex-end;color:var(--caixa);font-weight:800;font-size:1.1rem}

/* Sticky CTA mais discreto */
.sticky-cta{
  position:fixed;right:1rem;bottom:1rem;z-index:50;
  box-shadow:0 10px 28px rgba(0,122,77,.28);border-radius:999px;padding:.7rem 1.2rem
}
@media(max-width:820px){
  .sticky-cta{left:1rem;right:1rem;bottom:.85rem;width:auto;justify-content:center;border-radius:.75rem}
  /* Conteúdo primeiro (leitura + SEO); rail depois do artigo */
  .rail-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .article-cta-band{flex-direction:column;align-items:stretch;text-align:left}
}

/* Home extras */
.trust-bar{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;
  margin-top:1.5rem
}
.trust-bar div{
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);
  border-radius:var(--radius);padding:.75rem .9rem;color:#fff;font-size:.88rem;font-weight:600
}
.trust-bar strong{display:block;font-size:1.15rem;font-weight:800;color:#fff}

.obrigado{padding:3rem 0;text-align:center}

/* Modal App Web — CRO + responsivo */
.sim-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:0}
.sim-modal[hidden]{display:none!important}
.sim-backdrop{position:absolute;inset:0;background:rgba(0,61,115,.55);backdrop-filter:blur(2px)}
.sim-panel{
  position:relative;width:min(100%,26.5rem);max-height:min(94vh,40rem);overflow:auto;
  background:#fff;border-radius:1.1rem 1.1rem 0 0;padding:1.1rem 1.15rem 1.35rem;z-index:1;
  border-top:4px solid var(--caixa);box-shadow:0 -12px 40px rgba(0,61,115,.2);
  -webkit-overflow-scrolling:touch
}
@media(min-width:720px){
  .sim-modal{align-items:center;padding:1.5rem}
  .sim-panel{border-radius:.9rem;max-height:min(88vh,42rem);width:min(100%,28rem)}
}
.sim-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.sim-kicker{margin:0 0 .2rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--green-dark)}
.sim-header h2{font-size:1.15rem;margin:0;font-weight:800;color:var(--caixa-dark);line-height:1.25;letter-spacing:-.02em}
.sim-close{
  border:0;background:var(--bg);width:2.25rem;height:2.25rem;border-radius:999px;
  font-size:1.35rem;line-height:1;cursor:pointer;color:var(--muted);flex-shrink:0
}
.sim-close:hover{background:var(--caixa-soft);color:var(--caixa)}
.sim-meta{margin:.85rem 0 .35rem}
.sim-progress{height:6px;background:var(--line);border-radius:99px;overflow:hidden}
.sim-progress span{display:block;height:100%;width:14%;background:linear-gradient(90deg,var(--caixa),var(--green));border-radius:99px;transition:width .25s ease}
.sim-step-label{margin:.45rem 0 0;font-size:.78rem;font-weight:700;color:var(--muted)}
.sim-cro{
  margin:0 0 .85rem;padding:.65rem .75rem;background:var(--green-soft);border-left:3px solid var(--green);
  border-radius:0 var(--radius) var(--radius) 0;font-size:.9rem;font-weight:600;color:var(--green-dark);line-height:1.4
}
.sim-error{
  margin:0 0 .75rem;padding:.65rem .75rem;background:#fde8e8;border-left:3px solid #c0392b;
  border-radius:0 var(--radius) var(--radius) 0;font-size:.88rem;font-weight:600;color:#8e2929
}
.sim-q{margin:0 0 .75rem;font-weight:700;color:var(--caixa-dark);font-size:1.02rem}
.sim-step label{display:block;margin:.65rem 0 .3rem;font-size:.88rem;font-weight:600;color:var(--ink)}
.sim-step input[type=text],.sim-step input[type=number],.sim-step input[type=email],.sim-step input[type=tel],.sim-step select{
  width:100%;padding:.78rem .8rem;border:1.5px solid var(--line);border-radius:var(--radius);
  font-size:1rem;font-family:var(--font);background:#fff;min-height:2.85rem;transition:border-color .15s,box-shadow .15s
}
.sim-step input:focus,.sim-step select:focus{
  outline:0;border-color:var(--caixa);box-shadow:0 0 0 3px rgba(0,92,169,.18)
}
.sim-choices{display:grid;gap:.45rem}
.sim-choices label{
  display:flex;gap:.55rem;align-items:center;padding:.8rem .85rem;border:1.5px solid var(--line);
  border-radius:var(--radius);margin:0;cursor:pointer;font-weight:600;background:#fff
}
.sim-choices label:has(input:checked){border-color:var(--caixa);background:var(--caixa-soft);color:var(--caixa-dark)}
.sim-checks{display:grid;gap:.4rem;margin:.75rem 0}
.sim-check{
  display:flex!important;align-items:center;gap:.5rem;padding:.65rem .75rem;border:1px solid var(--line);
  border-radius:var(--radius);margin:0!important;cursor:pointer;font-weight:600
}
.sim-actions{
  display:flex;justify-content:space-between;gap:.75rem;margin-top:1.15rem;padding-top:.85rem;
  border-top:1px solid var(--line);position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.92),#fff 40%);
  padding-bottom:.15rem
}
.sim-actions .btn{flex:1;min-height:2.9rem}
.sim-actions .btn-ghost{flex:0 0 auto;min-width:5.5rem}
.btn.is-loading{opacity:.75;pointer-events:none}
.sim-resultado{
  background:var(--green-soft);border-radius:var(--radius);padding:1rem;margin:1rem 0;
  border:1px solid #b7e5d1
}
.sim-result-eyebrow{margin:0 0 .35rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--green-dark)}
.sim-success{text-align:left;margin-bottom:1rem}
.sim-success-title{font-size:1.15rem;font-weight:800;color:var(--caixa-dark);margin:0 0 .5rem}
.sim-step .btn{width:100%;margin:.4rem 0}
.lgpd{font-size:.82rem!important;font-weight:500!important;line-height:1.4;color:var(--muted)}
.lgpd a{color:var(--caixa)}
.sim-hint{font-size:.85rem;color:var(--green-dark);font-weight:600;margin:.45rem 0 0}
.sim-opt{font-weight:500;color:var(--muted);font-size:.85em}

/* Safe area iOS */
@supports(padding:max(0px)){
  .sim-panel{padding-bottom:max(1.35rem,env(safe-area-inset-bottom))}
}

/* Preferência de movimento */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .silo-grid a{transition:none}
}

/* —— Imóveis MCMV —— */
.imoveis-hero{
  padding:2.25rem 0 1.75rem;background:linear-gradient(135deg,var(--caixa) 0%,var(--caixa-dark) 100%);color:#fff
}
.imoveis-hero h1{
  font-family:var(--font-display);font-weight:800;font-size:clamp(1.6rem,3.5vw,2.35rem);
  letter-spacing:-.03em;margin:0 0 .65rem;max-width:18ch;color:#fff
}
.imoveis-hero .lead{margin:0;max-width:48ch;color:rgba(255,255,255,.9)}
.imoveis-search{padding:1.75rem 0 3rem}
.imoveis-filters{
  background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:1.15rem 1.25rem;
  margin-bottom:1.25rem;box-shadow:0 8px 24px rgba(11,39,66,.05)
}
.imoveis-filters-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.85rem
}
.imoveis-filters label{display:flex;flex-direction:column;gap:.3rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.imoveis-filters input,.imoveis-filters select{
  font:600 .92rem var(--font);padding:.55rem .65rem;border:1px solid var(--line);border-radius:.5rem;color:var(--ink);text-transform:none;letter-spacing:0
}
.imoveis-checks{display:flex;flex-wrap:wrap;gap:.75rem 1.1rem;margin:1rem 0;font-size:.9rem;font-weight:600;color:var(--ink);text-transform:none}
.imoveis-checks label{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;text-transform:none;letter-spacing:0;flex-direction:row}
.imoveis-count{font-weight:700;color:var(--muted);margin:0 0 1rem}
.imoveis-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:1.1rem}
.imovel-card{
  display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);
  border-radius:1rem;overflow:hidden;text-decoration:none;color:inherit;
  transition:border-color .15s,box-shadow .15s,transform .15s;min-height:100%
}
.imovel-card:hover{border-color:rgba(0,92,169,.35);box-shadow:0 12px 28px rgba(11,39,66,.1);transform:translateY(-2px)}
.imovel-card-media{position:relative;aspect-ratio:16/10;background:var(--caixa-soft)}
.imovel-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.imovel-card-ph{display:flex;align-items:center;justify-content:center;height:100%;font-weight:800;color:var(--caixa)}
.imovel-badge{
  position:absolute;left:.65rem;top:.65rem;background:var(--caixa);color:#fff;
  font-size:.68rem;font-weight:800;padding:.28rem .55rem;border-radius:99px
}
.imovel-card-body{padding:1rem 1.05rem 1.15rem}
.imovel-card-body h2{margin:0 0 .35rem;font-size:1.05rem;font-weight:800;color:var(--caixa-dark)}
.imovel-loc{margin:0 0 .35rem;font-size:.85rem;color:var(--muted);font-weight:600}
.imovel-price{margin:0 0 .35rem;font-weight:800;color:var(--green-dark);font-size:1rem}
.imovel-meta{margin:0;font-size:.8rem;color:var(--muted)}
.imoveis-empty{grid-column:1/-1;padding:2rem;text-align:center;color:var(--muted);background:var(--surface);border-radius:1rem;border:1px dashed var(--line)}
.imovel-detail{padding:1.5rem 0 3rem}
.imovel-detail-head{margin-bottom:1.5rem}
.imovel-price-lg{font-size:1.35rem;font-weight:800;color:var(--green-dark);margin:.5rem 0 1rem}
.imovel-gallery{margin-bottom:2rem}
.imovel-gallery-main{border-radius:1rem;overflow:hidden;background:#0B2742;margin-bottom:.75rem}
.imovel-gallery-main img{width:100%;height:auto;max-height:28rem;object-fit:cover;display:block}
.imovel-thumbs{list-style:none;padding:0;margin:0;display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.35rem}
.imovel-thumb{border:2px solid transparent;border-radius:.5rem;padding:0;background:none;cursor:pointer;flex:0 0 5.5rem}
.imovel-thumb:hover,.imovel-thumb:focus-visible{border-color:var(--caixa)}
.imovel-thumb img{width:5.5rem;height:3.5rem;object-fit:cover;border-radius:.35rem;display:block}
.imovel-detail-grid{display:grid;gap:1.75rem}
@media(min-width:960px){
  .imovel-detail-grid{grid-template-columns:minmax(0,1fr) 17rem;align-items:start}
  .imovel-aside{position:sticky;top:5.25rem}
}
.imovel-feats{list-style:none;padding:0;margin:0 0 1rem}
.imovel-feats li{padding:.4rem 0;border-bottom:1px solid var(--line);font-size:.9rem;font-weight:600}
.lead-soft{font-size:1.1rem;color:var(--ink);font-weight:500}
