/* ============================================
   AGROSOL NEGÓCIOS — design tokens
   Fontes carregadas via <link> no <head> de cada página (mais rápido que @import)
   ============================================ */

:root{
  --sol: #E2900B;
  --sol-claro: #F3B94C;
  --colina: #4B6B45;
  --colina-clara: #6E8C63;
  --mata: #26331F;
  --areia: #FAF6EC;
  --areia-escura: #F1EADA;
  --grafite: #33322D;
  --grafite-suave: #6B6A61;
  --branco: #FFFFFF;
  --borda: #E4DCC8;

  --f-display: 'Fraunces', serif;
  --f-body: 'Inter', sans-serif;
  --f-mono: 'IBM Plex Mono', monospace;

  --radius: 6px;
  --maxw: 1140px;
}

*{ box-sizing: border-box; }

html{ scroll-behavior: smooth; }

body{
  margin:0;
  font-family: var(--f-body);
  color: var(--grafite);
  background: var(--areia);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img{ max-width:100%; display:block; }

a{ color: inherit; text-decoration:none; }

h1,h2,h3,h4{
  font-family: var(--f-display);
  font-weight: 500;
  color: var(--mata);
  line-height: 1.15;
  margin: 0 0 0.5em;
}

h1{ font-size: clamp(2.2rem, 4vw, 3.4rem); font-weight: 600; }
h2{ font-size: clamp(1.7rem, 3vw, 2.3rem); }
h3{ font-size: 1.25rem; }

p{ margin: 0 0 1em; color: var(--grafite); }

.eyebrow{ color: var(--colina);
  font-family: var(--f-mono);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  display:block;
  margin-bottom: 0.9rem;
}

.container{
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 1.5rem;
}

.section{ padding: 5rem 0; }
.section--tight{ padding: 3.5rem 0; }
.bg-areia-escura{ background: var(--areia-escura); }
.bg-mata{ background: var(--mata); color: #E9E6DC; }
.bg-mata h1, .bg-mata h2, .bg-mata h3{ color: #FBF8F0; }
.bg-mata p{ color: #C9CABC; }

/* ---------- botões ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  padding: 0.85rem 1.6rem;
  border-radius: var(--radius);
  font-family: var(--f-body);
  font-weight: 600;
  font-size: 0.95rem;
  border: 1.5px solid transparent;
  cursor:pointer;
  transition: transform 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
.btn:hover{ transform: translateY(-1px); }
.btn--sol{ background: var(--sol); color: var(--branco); }
.btn--sol:hover{ background: #C97D07; }
.btn--outline{ background:transparent; border-color: var(--mata); color: var(--mata); }
.btn--outline:hover{ background: var(--mata); color:#fff; }
.btn--outline-claro{ background:transparent; border-color: #C9CABC; color:#FBF8F0; }
.btn--outline-claro:hover{ background: rgba(255,255,255,0.1); }

/* ---------- header / nav ---------- */
.header{
  position: sticky; top:0; z-index: 50;
  background: rgba(250,246,236,0.92);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--borda);
}
.nav{
  max-width: var(--maxw);
  margin:0 auto;
  padding: 0.85rem 1.5rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.nav__brand{ display:flex; align-items:center; gap:0.65rem; }
.nav__brand img{ height:38px; width:auto; }
.nav__brand-text{ font-family: var(--f-display); font-weight:600; font-size:1.25rem; color: var(--mata); line-height:1; letter-spacing:-0.01em; }
.nav__brand-text--light{ font-weight:400; color: var(--colina); }

.nav__links{ display:flex; gap:2rem; list-style:none; margin:0; padding:0; }
.nav__links a{
  font-size:0.92rem; font-weight:500; color: var(--grafite);
  position:relative; padding-bottom:4px;
}
.nav__links a.is-active, .nav__links a:hover{ color: var(--sol); }
.nav__links a.is-active::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background: var(--sol);
}
.nav__cta{ display:flex; align-items:center; gap:1rem; }
.nav__toggle{ display:none; background:none; border:none; font-size:1.5rem; cursor:pointer; color: var(--mata); }

@media (max-width: 860px){
  .nav__links{
    position:fixed; top:74px; left:0; right:0; background: var(--areia);
    flex-direction:column; gap:0; padding:1rem 1.5rem; border-bottom:1px solid var(--borda);
    transform: translateY(-140%); transition: transform 0.25s ease; max-height: 70vh; overflow-y:auto;
  }
  .nav__links.is-open{ transform: translateY(0); }
  .nav__links li{ padding: 0.75rem 0; border-bottom:1px solid var(--borda); }
  .nav__toggle{ display:block; }
  .nav__cta .btn span{ display:none; }
}

/* ---------- linha do horizonte (elemento assinatura) ---------- */
.horizonte{ display:block; width:100%; height:auto; }
.horizonte--divisor{ margin-top:-1px; }

/* ---------- hero ---------- */
.hero{ position:relative; padding: 3rem 0 0; overflow:hidden; }
.hero__grid{ display:grid; grid-template-columns: 1.1fr 0.9fr; gap:3rem; align-items:start; padding-top:0.5rem; }
.hero__sun{ position:absolute; top:-120px; right:-80px; width:340px; opacity:0.9; }
.ticker-strip{ background: var(--areia); border-bottom:1px solid var(--borda); padding:0.4rem 0; }

.hero__art--compact{ display:flex; flex-direction:column; align-items:center; }
.hero__art--photo{ border-radius:16px; overflow:hidden; box-shadow:0 12px 32px rgba(38,51,31,0.15); aspect-ratio: 3 / 4; }
.hero__art--photo picture{ display:block; width:100%; height:100%; }
.hero__photo{ width:100%; height:100%; object-fit:cover; object-position: center 42%; display:block; }
.hero p.lead{ font-size:1.15rem; color: var(--grafite-suave); max-width: 46ch; }
.hero__cta{ display:flex; gap:1rem; margin-top:1.5rem; flex-wrap:wrap; }
.hero__art{ position:relative; }
.hero__stats{ display:flex; gap:1rem; margin-top:1.75rem; }
.hero__stats div{ background: var(--branco); border:1px solid var(--borda); border-radius:12px; padding:1rem 1.2rem; box-shadow: 0 4px 14px rgba(38,51,31,0.06); flex:1; }
.hero__stats-icon{ width:26px; height:26px; display:block; margin-bottom:0.6rem; }
.hero__stats strong{ display:block; font-size:1.4rem; line-height:1; color: var(--mata); font-family: var(--f-display); font-weight:600; margin-bottom:0.3rem; }
.hero__stats span{ font-size:0.8rem; color: var(--grafite-suave); }

@media (max-width: 860px){
  .hero__grid{ grid-template-columns: 1fr; }
  .hero__sun{ display:none; }
}

/* ---------- hero __ animação da logo (símbolo de conexão) ---------- */
.logo-anim{ display:block; width:100%; max-width:360px; margin:0 auto; overflow:visible; }
.logo-anim__arc{
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: logoArcDraw 1s ease-out forwards;
}
.logo-anim__arc--left{ animation-delay: 0.2s; }
.logo-anim__arc--right{ animation-delay: 0.5s; }
.logo-anim__node{
  opacity: 0;
  transform-origin: 200px 120px;
  transform-box: fill-box;
  animation: logoNodeIn 0.5s ease-out 1.1s forwards, logoNodePulse 2.6s ease-in-out 1.7s infinite alternate;
}
.logo-anim__sun{
  opacity: 0;
  transform-origin: 200px 120px;
  transform-box: fill-box;
  animation: logoNodeIn 0.6s ease-out 1.1s forwards, logoNodePulse 3s ease-in-out 1.9s infinite alternate;
}
.logo-anim__sun-rays line{
  opacity: 0;
  transform-origin: center;
  transform-box: fill-box;
  animation: logoRayIn 0.4s ease-out forwards;
}
.logo-anim__sun-rays line:nth-child(1){ animation-delay: 1.55s; }
.logo-anim__sun-rays line:nth-child(2){ animation-delay: 1.62s; }
.logo-anim__sun-rays line:nth-child(3){ animation-delay: 1.62s; }
@keyframes logoRayIn{
  0%   { opacity:0; transform: scale(0.4); }
  100% { opacity:1; transform: scale(1); }
}

@keyframes logoArcDraw{
  0%   { stroke-dashoffset: 1; }
  100% { stroke-dashoffset: 0; }
}
@keyframes logoNodeIn{
  0%   { opacity:0; transform: scale(0.4); }
  100% { opacity:1; transform: scale(1); }
}
@keyframes logoNodePulse{
  0%   { transform: scale(1);    filter: drop-shadow(0 0 0px rgba(38,51,31,0.35)); }
  100% { transform: scale(1.18); filter: drop-shadow(0 0 10px rgba(38,51,31,0.35)); }
}

@media (prefers-reduced-motion: reduce){
  .logo-anim__arc, .logo-anim__node, .logo-anim__sun, .logo-anim__sun-rays line{
    animation: none !important;
    stroke-dashoffset: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}

/* ---------- pilares ---------- */
.pilares{ display:grid; grid-template-columns: repeat(3,1fr); gap:2rem; }
.pilar{ background: var(--branco); border:1px solid var(--borda); border-radius:12px; padding:2rem; }
.pilar__num{ font-family: var(--f-mono); color: var(--colina); font-size:0.8rem; margin-bottom:1rem; display:block; }
@media (max-width: 860px){ .pilares{ grid-template-columns:1fr; } }

/* ---------- cards de imóvel ---------- */
.grid-imoveis{ display:grid; grid-template-columns: repeat(3,1fr); gap:1.75rem; }
@media (max-width: 960px){ .grid-imoveis{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px){ .grid-imoveis{ grid-template-columns: 1fr; } }

.card-imovel{ background: var(--branco); border:1px solid var(--borda); border-radius:12px; overflow:hidden; display:flex; flex-direction:column; transition: box-shadow 0.2s ease, transform 0.2s ease; }
.card-imovel:hover{ box-shadow: 0 12px 28px rgba(38,51,31,0.1); transform: translateY(-3px); }
.card-imovel__img{ height:190px; background: linear-gradient(135deg, var(--colina-clara), var(--colina)); position:relative; }
.card-imovel__tag{ position:absolute; top:12px; left:12px; background: var(--sol); color:#fff; font-family:var(--f-mono); font-size:0.68rem; padding:4px 10px; border-radius:999px; text-transform:uppercase; letter-spacing:0.04em; }
.card-imovel__body{ padding:1.4rem; flex:1; display:flex; flex-direction:column; }
.card-imovel__loc{ font-family: var(--f-mono); font-size:0.75rem; color: var(--grafite-suave); text-transform:uppercase; letter-spacing:0.04em; margin-bottom:0.4rem; }
.card-imovel__specs{ display:flex; gap:1rem; font-family: var(--f-mono); font-size:0.78rem; color: var(--grafite-suave); margin: 0.75rem 0 1.1rem; border-top:1px solid var(--borda); padding-top:0.9rem; }
.card-imovel__preco{ font-family: var(--f-display); font-weight:600; color: var(--mata); font-size:1.15rem; margin-top:auto; }
.card-imovel a.btn{ width:100%; justify-content:center; margin-top:1rem; }

/* ---------- segmentos (home teaser) ---------- */
.grid-segmentos{ display:grid; grid-template-columns: repeat(4,1fr); gap:1.5rem; }
@media (max-width:960px){ .grid-segmentos{ grid-template-columns: repeat(2,1fr); } }
@media (max-width:640px){ .grid-segmentos{ grid-template-columns: 1fr; } }
.segmento-card{ background: var(--branco); border:1px solid var(--borda); border-radius:12px; padding:1.75rem; }
.segmento-card__num{ font-family: var(--f-mono); color: var(--colina); font-size:0.8rem; display:block; margin-bottom:0.9rem; }
.segmento-card p{ font-size:0.92rem; }

/* ---------- segmentos (página detalhe) ---------- */
.segmento-detalhe{ display:grid; grid-template-columns: 90px 1fr; gap:2rem; padding: 2.5rem 0; border-bottom: 1px solid var(--borda); }
.segmento-detalhe:last-child{ border-bottom:none; }
.segmento-detalhe__num{ font-family: var(--f-display); font-weight:600; font-size:2.2rem; color: var(--colina); }
@media (max-width:640px){ .segmento-detalhe{ grid-template-columns: 1fr; } .segmento-detalhe__num{ font-size:1.5rem; } }

/* ---------- processo (serviços) ---------- */
.processo{ display:grid; grid-template-columns: repeat(4,1fr); gap:1.5rem; margin-top:2.5rem; }
@media (max-width:860px){ .processo{ grid-template-columns: 1fr 1fr; } }
.processo__etapa{ position:relative; padding-top:0.5rem; }
.processo__num{ font-family: var(--f-display); font-weight:600; font-size:1.6rem; color: var(--colina); display:block; margin-bottom:0.6rem; }

/* ---------- inteligência de mercado ---------- */
.grid-mercado{ display:grid; grid-template-columns: 1fr 1fr; gap:1.5rem; }
@media (max-width:760px){ .grid-mercado{ grid-template-columns: 1fr; } }
.mercado-card{ background: var(--branco); border:1px solid var(--borda); border-top:3px solid var(--colina); border-radius:12px; padding:1.5rem 1.75rem; }
.mercado-card h4{ font-family: var(--f-body); font-size:0.85rem; text-transform:uppercase; letter-spacing:0.04em; color: var(--mata); font-weight:600; margin:0 0 1.1rem; display:flex; align-items:center; gap:0.5rem; }
.mercado-loading{ color: var(--grafite-suave); font-size:0.9rem; margin:0; }
.noticia-item{ display:block; padding: 0.7rem 0; border-bottom: 1px solid var(--borda); font-size:0.92rem; color: var(--grafite); }
.noticia-item:last-child{ border-bottom:none; }
.noticia-item:hover{ color: var(--sol); }
.noticia-item__meta{ display:block; font-family: var(--f-mono); font-size:0.68rem; color: var(--grafite-suave); text-transform:uppercase; letter-spacing:0.04em; margin-top:3px; }
.ultima-atualizacao{ font-size:0.72rem; color: var(--grafite-suave); margin:0.7rem 0 0; font-family: var(--f-mono); }
.clima-atual{ display:flex; align-items:center; gap:1.25rem; margin-bottom:1.25rem; }
.clima-atual__temp{ font-family: var(--f-display); font-weight:600; font-size:2.4rem; color: var(--mata); }
.clima-atual__desc{ font-size:0.88rem; color: var(--grafite-suave); }
.clima-dias{ display:flex; gap:0.85rem; border-top:1px solid var(--borda); padding-top:1rem; overflow-x:auto; }
.clima-dia{ flex:0 0 auto; min-width:52px; text-align:center; font-size:0.78rem; color: var(--grafite-suave); }
.clima-dia strong{ display:block; font-family: var(--f-display); color: var(--mata); font-size:1rem; margin-top:0.3rem; }
.clima-cidades{ display:flex; flex-wrap:wrap; gap:0.4rem; margin-bottom:1.1rem; }
.clima-cidade-btn{ font-family: var(--f-body); font-size:0.75rem; font-weight:600; padding:0.4rem 0.75rem; border-radius:999px; border:1px solid var(--borda); background: var(--areia); color: var(--grafite-suave); cursor:pointer; }
.clima-cidade-btn.is-active{ background: var(--colina); border-color: var(--colina); color:#fff; }
.clima-toggle-dias{ display:block; margin-top:0.9rem; font-family: var(--f-body); font-size:0.78rem; font-weight:600; color: var(--sol); background:none; border:none; cursor:pointer; padding:0; }
.clima-toggle-dias:hover{ text-decoration:underline; }

/* ---------- serviços ---------- */
.grid-servicos{ display:grid; grid-template-columns: repeat(2,1fr); gap:1.75rem; }
@media (max-width:760px){ .grid-servicos{ grid-template-columns:1fr; } }
.servico{ display:flex; gap:1.25rem; padding:1.75rem; background:var(--branco); border:1px solid var(--borda); border-radius:12px; }
.servico__icone{ flex-shrink:0; width:48px; height:48px; border-radius:50%; background: var(--areia-escura); display:flex; align-items:center; justify-content:center; color: var(--sol); font-family: var(--f-display); font-weight:600; font-size:1.2rem; }

/* ---------- blog ---------- */
.grid-blog{ display:grid; grid-template-columns: repeat(3,1fr); gap:1.75rem; }
@media (max-width: 960px){ .grid-blog{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px){ .grid-blog{ grid-template-columns: 1fr; } }
.card-post{ background:var(--branco); border:1px solid var(--borda); border-radius:12px; overflow:hidden; transition: box-shadow 0.2s ease, transform 0.2s ease; }
.card-post:hover{ box-shadow: 0 12px 28px rgba(38,51,31,0.1); transform: translateY(-3px); }
.card-post__img{ height:150px; background: linear-gradient(135deg, var(--sol-claro), var(--sol)); }
.card-post__body{ padding:1.4rem; }
.card-post__meta{ font-family: var(--f-mono); font-size:0.7rem; color: var(--grafite-suave); text-transform:uppercase; letter-spacing:0.04em; margin-bottom:0.6rem; }

/* ---------- formulário ---------- */
.form-contato{ display:grid; gap:1.1rem; max-width:560px; }
.form-contato label{ font-size:0.85rem; font-weight:600; color: var(--mata); display:block; margin-bottom:0.4rem; }
.form-contato input, .form-contato select, .form-contato textarea{
  width:100%; padding:0.75rem 0.9rem; border:1.5px solid var(--borda); border-radius: var(--radius);
  font-family: var(--f-body); font-size:0.95rem; background:var(--branco); color: var(--grafite);
}
.form-contato input:focus, .form-contato select:focus, .form-contato textarea:focus{
  outline:none; border-color: var(--sol);
}
.form-contato textarea{ resize:vertical; min-height:120px; }
.form-msg{ display:none; padding:0.9rem 1.1rem; border-radius: var(--radius); font-size:0.9rem; margin-top:0.5rem; }
.form-msg.is-visible{ display:block; }
.form-msg--ok{ background:#E9F1E4; color: var(--colina); border:1px solid var(--colina-clara); }

/* ---------- footer ---------- */
.footer{ background: var(--mata); color:#C9CABC; padding-top:0; }
.footer__inner{ padding: 3rem 0 2.5rem; display:grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap:2.5rem; }
.footer__brand{ display:flex; align-items:center; gap:0.65rem; margin-bottom:1rem; }
.footer__brand img{ height:32px; width:auto; }
.footer__brand-text{ font-family: var(--f-display); color:#fff; font-weight:600; font-size:1.05rem; }
.footer h4{ color:#fff; font-family: var(--f-body); font-size:0.85rem; text-transform:uppercase; letter-spacing:0.06em; font-weight:600; margin-bottom:1rem; }
.footer ul{ list-style:none; margin:0; padding:0; display:grid; gap:0.6rem; }
.footer ul a{ font-size:0.9rem; color:#C9CABC; }
.footer ul a:hover{ color: var(--sol-claro); }
.footer__bottom{ border-top:1px solid rgba(255,255,255,0.12); padding:1.25rem 0; font-size:0.8rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:0.5rem; color:#9EA192; }
@media (max-width:760px){ .footer__inner{ grid-template-columns: 1fr 1fr; } }

/* ---------- página interna: hero simples ---------- */
.page-hero{ padding: 4rem 0 3rem; }
.page-hero p.lead{ max-width:60ch; font-size:1.08rem; color: var(--grafite-suave); }

.cookie-notice{
  position: fixed; left:0; right:0; bottom:0; z-index:100;
  background: var(--mata); color:#E9E6DC;
  padding: 1rem 1.5rem;
  display:flex; align-items:center; justify-content:center; gap:1.25rem; flex-wrap:wrap;
  font-size:0.85rem;
  transform: translateY(120%);
  transition: transform 0.3s ease;
}
.cookie-notice.is-visible{ transform: translateY(0); }
.cookie-notice a{ color: var(--sol-claro); font-weight:600; }
.cookie-notice button{
  background: var(--sol); color:#fff; border:none; border-radius: var(--radius);
  padding:0.55rem 1.1rem; font-family: var(--f-body); font-weight:600; font-size:0.85rem; cursor:pointer;
}
.center{ text-align:center; margin-left:auto; margin-right:auto; }
.mt-0{ margin-top:0; }
.max-60{ max-width:60ch; }
.tag-lista{ display:flex; gap:0.6rem; flex-wrap:wrap; margin-top:1rem; }
.tag{ font-family: var(--f-mono); font-size:0.72rem; background: var(--areia-escura); color: var(--colina); padding:0.35rem 0.8rem; border-radius:999px; }

.filtros{ display:flex; gap:0.8rem; flex-wrap:wrap; margin-bottom:2.5rem; }
.filtros select, .filtros input{ padding:0.65rem 0.9rem; border:1.5px solid var(--borda); border-radius: var(--radius); font-family: var(--f-body); background:var(--branco); }

.valores{ display:grid; grid-template-columns: repeat(4,1fr); gap:1.5rem; margin-top:2rem; }
@media (max-width:760px){ .valores{ grid-template-columns: 1fr 1fr; } }
.valor{ text-align:center; }
.valor strong{ display:block; font-family:var(--f-display); font-size:1.4rem; color:var(--mata); }
.valor span{ font-family: var(--f-mono); font-size:0.72rem; text-transform:uppercase; color:var(--grafite-suave); }

/* =========================================================
   Melhorias 2026-11 (layout responsivo, WhatsApp, vitrine, triagem)
   ========================================================= */

/* grades de 2 colunas que viram 1 coluna no celular */
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.grid-contato{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:3rem; align-items:start; }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
@media (max-width:860px){
  .grid-2, .grid-contato{ grid-template-columns:1fr; gap:2rem; }
  .grid-3{ grid-template-columns:1fr; gap:1.25rem; }
  .nav__cta .btn{ display:none; }
}

/* rodapé: texto legível sobre fundo escuro */
.footer p{ color:#C9CABC; }

/* consentimento do formulário */
.form-consent{ display:flex !important; align-items:flex-start; gap:0.6rem; font-size:0.82rem !important; color: var(--grafite-suave) !important; font-weight:400 !important; line-height:1.5; }
.form-consent input{ width:auto !important; margin-top:3px; flex-shrink:0; }
.form-consent a{ color: var(--sol); }

/* botão flutuante de WhatsApp */
.whatsapp-float{
  position:fixed; right:20px; bottom:20px; z-index:90;
  width:58px; height:58px; border-radius:50%;
  background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,0.22); transition: transform 0.15s ease, bottom 0.3s ease;
}
.whatsapp-float:hover{ transform: scale(1.06); }
.whatsapp-float svg{ width:30px; height:30px; }
body.has-cookie-notice .whatsapp-float{ bottom:96px; }
@media (max-width:640px){ body.has-cookie-notice .whatsapp-float{ bottom:150px; } }

/* quem somos: números */
.numeros{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.numero{ border:1px solid rgba(255,255,255,0.14); border-radius:12px; padding:1.5rem; background: rgba(255,255,255,0.04); }
.numero strong{ display:block; font-family: var(--f-display); font-weight:600; font-size:2.2rem; line-height:1; color: var(--sol-claro); margin-bottom:0.5rem; }
.numero span{ font-size:0.85rem; color:#C9CABC; }

/* blog: capas */
.card-post__img{ height:auto; aspect-ratio: 1200 / 630; background: var(--areia-escura); overflow:hidden; }
.card-post__img img{ width:100%; height:100%; object-fit:cover; }
.post-capa{ border-radius:12px; overflow:hidden; margin-bottom:2rem; box-shadow:0 8px 24px rgba(38,51,31,0.08); }

/* vitrine de oportunidades */
.vitrine-aviso{ background: var(--areia-escura); border:1px dashed var(--colina-clara); border-radius:12px; padding:1rem 1.25rem; font-size:0.88rem; color: var(--colina); margin-bottom:2rem; }
.vitrine-vazia{ text-align:center; background: var(--branco); border:1px solid var(--borda); border-radius:12px; padding:3rem 1.5rem; }
.vitrine-vazia p{ max-width:52ch; margin:0 auto 1.5rem; color: var(--grafite-suave); }
.card-imovel__img--segmento{ display:flex; align-items:flex-end; padding:1rem; color:#fff; font-family: var(--f-display); font-size:1.3rem; font-weight:600; }
.card-imovel__img--bioenergia{ background: linear-gradient(135deg, #F3B94C, #C97D07); }
.card-imovel__img--agro{ background: linear-gradient(135deg, #6E8C63, #4B6B45); }
.card-imovel__img--industrial{ background: linear-gradient(135deg, #8A8A80, #4A4A44); }
.card-imovel__img--especiais{ background: linear-gradient(135deg, #3B4D33, #26331F); }
.card-imovel__tag--exemplo{ left:auto; right:12px; background: var(--mata); }
.card-imovel__specs{ flex-wrap:wrap; }

/* formulário com triagem */
.perfil-opcoes{ display:grid; grid-template-columns:repeat(3,1fr); gap:0.6rem; }
.perfil-opcoes label{ margin:0 !important; position:relative; }
.perfil-opcoes input{ position:absolute; left:0; top:0; width:1px !important; height:1px; opacity:0; pointer-events:none; }
.perfil-opcoes span{ display:block; text-align:center; padding:0.75rem 0.5rem; border:1.5px solid var(--borda); border-radius: var(--radius); background: var(--branco); font-weight:600; font-size:0.88rem; color: var(--grafite); cursor:pointer; transition: border-color 0.15s ease, background 0.15s ease; }
.perfil-opcoes input:checked + span{ border-color: var(--sol); background:#FDF3E1; color: var(--mata); }
.perfil-opcoes input:focus-visible + span{ outline:2px solid var(--sol); outline-offset:2px; }
.form-linha{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
@media (max-width:520px){ .form-linha{ grid-template-columns:1fr; } .perfil-opcoes{ grid-template-columns:1fr; } }
.campo-perfil[hidden]{ display:none; }

/* menu: vira hambúrguer antes de quebrar em duas linhas */
@media (max-width: 1080px){
  .nav__links{
    position:fixed; top:74px; left:0; right:0; background: var(--areia);
    flex-direction:column; gap:0; padding:1rem 1.5rem; border-bottom:1px solid var(--borda);
    transform: translateY(-140%); transition: transform 0.25s ease; max-height: 70vh; overflow-y:auto;
  }
  .nav__links.is-open{ transform: translateY(0); }
  .nav__links li{ padding: 0.75rem 0; border-bottom:1px solid var(--borda); }
  .nav__toggle{ display:block; }
}

.bg-mata .eyebrow{ color: var(--sol-claro); }
