/* =========================================================================
   Corretor Felipe Dutra — tema
   Design system: minimal "luxury real estate" (Inter, paleta zinc, sem raio,
   rótulos em caixa alta com tracking largo, bordas finas, muito respiro).
   ====================================================================== */
:root {
	--z50: #fafafa; --z100: #f4f4f5; --z200: #e4e4e7; --z300: #d4d4d8; --z400: #a1a1aa;
	--z500: #71717a; --z600: #52525b; --z700: #3f3f46; --z800: #27272a; --z900: #18181b;
	--branco: #fff;
	--fundo: var(--z50);
	--texto: var(--z900);
	--texto-suave: var(--z600);
	--borda: var(--z300);
	--borda-suave: var(--z200);
	--fonte: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--largura: 1400px;
	--gutter: clamp(1.5rem, 4vw, 3rem);
	--secao: clamp(5rem, 10vw, 8rem);
	--tracking: .12em;
	--t: .3s ease;
	--nav-h: 80px;
}

/* ---- Base ---- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; font-family: var(--fonte); font-weight: 300; font-size: 1rem; line-height: 1.65; color: var(--texto); background: var(--fundo); -webkit-font-smoothing: antialiased; }
::selection { background: var(--z900); color: #fff; }
img, video, svg { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color var(--t), border-color var(--t), background var(--t); }
h1, h2, h3, h4 { font-weight: 400; letter-spacing: -.02em; line-height: 1.15; margin: 0 0 .6em; }
p, ul, ol { margin: 0 0 1.25em; }
button, input, textarea, select { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--z900); outline-offset: 3px; }
.icone { width: 1.1em; height: 1.1em; flex: none; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pular { position: absolute; left: -999px; top: 0; background: var(--z900); color: #fff; padding: .5rem 1rem; z-index: 100; }
.pular:focus { left: 0; }
.so-mobile { display: none; } @media (max-width: 640px) { .so-mobile { display: inline; } .so-desktop { display: none; } }
.oculto { display: none !important; }
body { display: flex; flex-direction: column; min-height: 100vh; }
.site-main { flex: 1; overflow-x: clip; }
.rodape, .nav { overflow-x: clip; }

/* ---- Tipografia utilitária ---- */
.rotulo { display: block; font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 500; color: var(--texto-suave); }
.titulo-grande { font-size: clamp(1.75rem, 3.2vw, 2.5rem); max-width: 48rem; margin: 2rem 0 2.5rem; }
.titulo-medio { font-size: clamp(1.5rem, 2.6vw, 2rem); margin: 1rem 0 1.25rem; }
.texto-medio { max-width: 42rem; color: var(--texto-suave); }
.texto-medio p { margin-bottom: 2rem; }
.link-seta { display: inline-flex; align-items: center; gap: .5rem; font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 500; color: var(--texto); border-bottom: 1px solid currentColor; padding-bottom: .25rem; }
.link-seta:hover { color: var(--z500); }
.link-sub { border-bottom: 1px solid currentColor; padding-bottom: .1em; font-weight: 500; color: var(--texto); }

/* ---- Botões ---- */
.botao { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; padding: .9rem 2rem; font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 600; border: 1px solid var(--z900); background: transparent; color: var(--z900); cursor: pointer; transition: all var(--t); white-space: nowrap; }
.botao:hover { background: var(--z900); color: #fff; }
.botao--preto { background: var(--z900); color: #fff; }
.botao--preto:hover { background: var(--z700); border-color: var(--z700); }
.botao--cheio { width: 100%; }
.botao--contorno-nav { padding: .65rem 1.5rem; }

/* ---- Navegação ---- */
.nav { position: fixed; inset: 0 0 auto 0; z-index: 50; background: rgba(255,255,255,.75); backdrop-filter: blur(24px) saturate(160%); -webkit-backdrop-filter: blur(24px) saturate(160%); border-bottom: 1px solid var(--borda); transition: background var(--t), border-color var(--t); }
.nav--sobre-hero:not(.rolou) { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.15); color: #fff; }
.nav--sobre-hero:not(.rolou) .botao { border-color: #fff; color: #fff; }
.nav--sobre-hero:not(.rolou) .botao:hover { background: #fff; color: var(--z900); }
.nav__inner { max-width: var(--largura); margin: 0 auto; padding: 0 var(--gutter); min-height: var(--nav-h); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem; }
.nav__links { display: flex; align-items: center; gap: clamp(1.25rem, 3vw, 3rem); }
.nav__links--dir { justify-content: flex-end; }
.menu { display: contents; list-style: none; margin: 0; padding: 0; }
.menu a, .nav__link { font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 500; white-space: nowrap; }
.menu a:hover, .nav__link:hover { color: var(--z500); }
.nav--sobre-hero:not(.rolou) .menu a:hover, .nav--sobre-hero:not(.rolou) .nav__link:hover { color: rgba(255,255,255,.7); }
.marca { font-size: 1.375rem; font-weight: 500; letter-spacing: -.02em; text-transform: uppercase; white-space: nowrap; }
.custom-logo { max-height: 44px; width: auto; }
/* Menu mobile (hambúrguer) */
.nav__toggle { display: none; }
@media (max-width: 900px) {
	:root { --nav-h: 64px; }
	.nav__inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0; min-height: var(--nav-h); }
	.nav__marca { order: -2; }
	.custom-logo { max-height: 36px; }
	.marca { font-size: 1.125rem; }
	.nav__toggle { order: -1; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-right: -.6rem; padding: 0; border: 0; background: transparent; cursor: pointer; color: inherit; }
	.nav__toggle .icone { width: 1.5rem; height: 1.5rem; }
	.nav__toggle-fechar, .nav.aberto .nav__toggle-abrir { display: none; }
	.nav.aberto .nav__toggle-fechar { display: block; }
	.nav__links { display: none; flex-direction: column; align-items: stretch; width: 100%; gap: 0; }
	.nav.aberto .nav__links { display: flex; }
	.nav__links--esq { border-top: 1px solid var(--borda-suave); padding-top: .5rem; margin-top: .25rem; }
	.nav__links--dir { padding: .5rem 0 1.5rem; gap: .75rem; }
	.menu { display: flex; flex-direction: column; }
	.menu a, .nav__link { display: block; padding: .9rem 0; font-size: .85rem; border-bottom: 1px solid var(--borda-suave); }
	.nav__links--dir .nav__link { border-bottom: 0; }
	.nav__links--dir .botao { width: 100%; margin-top: .5rem; }
	/* Aberto: sempre fundo sólido (inclusive sobre o hero) e conteúdo rolável */
	.nav.aberto { background: var(--branco); border-color: var(--borda); color: var(--texto); max-height: 100dvh; overflow-y: auto; }
	.nav.aberto .botao { border-color: var(--z900); color: var(--z900); }
	.nav.aberto .botao:hover { background: var(--z900); color: #fff; }
	.nav.aberto .menu a:hover, .nav.aberto .nav__link:hover { color: var(--z500); }
	body.menu-aberto { overflow: hidden; }
}

/* ---- Hero ---- */
.hero { position: relative; min-height: 640px; height: 100vh; height: 100svh; max-height: 960px; display: flex; flex-direction: column; justify-content: flex-end; padding: calc(var(--nav-h) + 3rem) var(--gutter) clamp(3rem, 8vh, 6rem); background: var(--z900); color: #fff; overflow: hidden; }
.hero__fundo { position: absolute; inset: 0; z-index: 0; }
.hero__fundo img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.05); animation: hero-kenburns 28s ease-in-out infinite alternate; will-change: transform; }
@keyframes hero-kenburns { from { transform: scale(1.05) translate(0, 0); } to { transform: scale(1.18) translate(-1.5%, 1.5%); } }
.hero__fundo::before { content: ""; position: absolute; inset: 0; background: rgba(24,24,27,.35); }
.hero__fundo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(24,24,27,.85), transparent 60%), linear-gradient(to bottom, rgba(24,24,27,.55), transparent 30%); }
.hero__local { position: absolute; top: calc(var(--nav-h) + 2.5rem); left: var(--gutter); z-index: 1; font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 500; text-shadow: 0 1px 6px rgba(0,0,0,.4); }
.hero__inner { position: relative; z-index: 1; max-width: var(--largura); width: 100%; margin: 0 auto; }
.hero__titulo { font-size: clamp(1.75rem, 4vw, 3.25rem); max-width: 18em; margin-bottom: 1.75rem; text-shadow: 0 2px 12px rgba(0,0,0,.3); }
@media (max-width: 640px) {
	/* Hero cresce com o conteúdo: a busca não cabe em 100svh nos celulares */
	.hero { height: auto; min-height: 0; max-height: none; padding: calc(var(--nav-h) + 1.25rem) var(--gutter) 2rem; }
	.hero__local { position: static; margin-bottom: 1.25rem; }
	.hero__titulo { font-size: 1.6rem; margin-bottom: 1.25rem; }
	.busca__aba { padding: .8rem .35rem; font-size: .7rem; }
	.busca--hero .busca__form { grid-template-columns: 1fr 1fr; gap: 1rem 1.25rem; padding: 1.25rem; }
	.busca--hero .campo--largo, .busca--hero .campo--acao { grid-column: 1 / -1; }
	.busca--hero .campo label { font-size: .65rem; margin-bottom: .3rem; }
	.busca--hero .campo input, .busca--hero .campo select { padding: .45rem 0; font-size: .9rem; }
	.busca--hero .campo select { padding-right: 1.5rem; text-overflow: ellipsis; }
	.busca--hero .botao--cheio { padding-block: .85rem; }
}

/* ---- Busca ---- */
.busca { width: 100%; }
.busca--hero { max-width: 64rem; background: linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.08)); backdrop-filter: blur(36px) saturate(160%); -webkit-backdrop-filter: blur(36px) saturate(160%); border: 1px solid rgba(255,255,255,.35); box-shadow: 0 25px 60px -12px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.4); }
.busca__abas { display: flex; border-bottom: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.06); }
.busca__aba { flex: 1; min-width: 0; padding: 1rem .5rem; background: transparent; border: 0; border-right: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.7); font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 600; cursor: pointer; transition: all var(--t); }
.busca__aba:last-child { border-right: 0; }
.busca__aba:hover { background: rgba(255,255,255,.1); }
.busca__aba.ativa { background: rgba(255,255,255,.28); color: #fff; }
.busca__form { display: grid; grid-template-columns: 1fr; gap: 1.5rem 2rem; align-items: end; padding: 1.5rem; min-width: 0; }
@media (min-width: 640px) { .busca__form { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); padding: 2rem; } }
.busca:not(.busca--hero) .busca__form { padding: 2rem 0; border-top: 1px solid var(--borda); border-bottom: 1px solid var(--borda); margin-bottom: 2rem; }
.campo--largo { grid-column: 1 / -1; }
@media (min-width: 900px) { .busca__form { grid-template-columns: 2fr repeat(auto-fit, minmax(140px, 1fr)); } .campo--largo { grid-column: auto; } }
.campo label { display: block; font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 600; margin-bottom: .5rem; color: rgba(255,255,255,.9); }
.campo { min-width: 0; }
.campo input, .campo select { width: 100%; min-width: 0; background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,.55); padding: .55rem 0; color: #fff; font-weight: 500; transition: border-color var(--t); }
.campo input::placeholder { color: rgba(255,255,255,.6); font-weight: 400; }
.campo input:focus, .campo select:focus { outline: none; border-color: #fff; }
.campo__select { position: relative; }
.campo select { appearance: none; -webkit-appearance: none; padding-right: 1.75rem; cursor: pointer; }
.campo select option { color: var(--z900); }
.campo__select .icone { position: absolute; right: 0; top: 50%; transform: translateY(-50%); pointer-events: none; }
.busca--hero .botao--cheio { background: #fff; color: var(--z900); border-color: #fff; padding-block: 1rem; }
.busca--hero .botao--cheio:hover { background: var(--z100); }
.busca:not(.busca--hero) .campo label { color: var(--texto-suave); }
.busca:not(.busca--hero) .campo input, .busca:not(.busca--hero) .campo select { border-color: var(--borda); color: var(--texto); }
.busca:not(.busca--hero) .campo input::placeholder { color: var(--z400); }
.busca:not(.busca--hero) .campo input:focus, .busca:not(.busca--hero) .campo select:focus { border-color: var(--z900); }

/* ---- Seções ---- */
.secao { max-width: var(--largura); margin: 0 auto; padding: var(--secao) var(--gutter); }
.secao--branca { background: var(--branco); max-width: none; }
.secao--branca > * { max-width: var(--largura); margin-left: auto; margin-right: auto; }
.secao--escura { max-width: none; background: var(--z900); color: #fff; padding-inline: 0; }
.secao--escura .rotulo { color: var(--z400); }
.secao--escura .link-seta { color: #fff; }
.secao--escura .link-seta:hover { color: var(--z400); }
.secao__topo { border-top: 1px solid var(--borda); padding-top: 1.25rem; }
.secao__cabecalho { max-width: var(--largura); margin: 0 auto 4rem; padding: 0 var(--gutter); display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; flex-wrap: wrap; }
.secao__cabecalho .titulo-medio { margin-bottom: 0; }
.lista-check { list-style: none; padding: 1.5rem 0; margin: 0 0 2.5rem; border-top: 1px solid var(--borda); display: flex; flex-direction: column; gap: 1rem; }
.lista-check li { display: flex; align-items: center; gap: .6rem; font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 500; color: var(--texto-suave); }
.lista-check .icone { color: var(--z400); width: 1.25rem; height: 1.25rem; }
.imagem-larga { aspect-ratio: 21/9; overflow: hidden; border: 1px solid var(--borda); background: var(--z100); margin-bottom: 2.5rem; }
.imagem-larga img { width: 100%; height: 100%; object-fit: cover; }
.divisor { max-width: var(--largura); margin: 0 auto; padding: 3rem var(--gutter); }
.divisor > span { display: block; border-top: 1px solid var(--borda); text-align: center; line-height: 0; }
.divisor span span { display: inline-block; background: var(--fundo); padding: 0 1rem; position: relative; top: -.5em; line-height: 1; font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); color: var(--z500); }

/* Duas colunas (bairros) */
.duas-colunas { display: grid; grid-template-columns: 7fr 5fr; gap: 3rem; align-items: center; }
.duas-colunas__texto { max-width: 28rem; }
.duas-colunas__texto p { color: var(--texto-suave); }
.moldura { position: relative; aspect-ratio: 16/9; overflow: hidden; border: 1px solid var(--borda); background: var(--z100); box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.moldura img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s ease; }
.moldura:hover img { transform: scale(1.03); }
.moldura__vazio { width: 100%; height: 100%; background: linear-gradient(135deg, var(--z200), var(--z100)); }
.moldura__legenda { position: absolute; left: 1rem; bottom: 1rem; background: rgba(255,255,255,.7); backdrop-filter: blur(16px) saturate(160%); -webkit-backdrop-filter: blur(16px) saturate(160%); border: 1px solid var(--borda); padding: .5rem 1rem; font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 500; }
.tabela-bairros { list-style: none; padding: 1.5rem 0 0; margin: 2rem 0 2.5rem; border-top: 1px solid var(--borda); }
.tabela-bairros a { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: .5rem 0; border-bottom: 1px solid var(--borda-suave); }
.tabela-bairros a:hover .rotulo { color: var(--z500); }
.tabela-bairros .rotulo { color: var(--texto); }
.tabela-bairros span:last-child { font-size: .875rem; color: var(--texto-suave); }
@media (max-width: 860px) { .duas-colunas { grid-template-columns: 1fr; } }

/* Trilho horizontal + cards */
.trilho { display: flex; gap: 1.5rem; padding: 0 var(--gutter) 3rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.trilho::-webkit-scrollbar { display: none; }
.trilho .card { flex: 0 0 min(85vw, 460px); scroll-snap-align: center; }
.trilho__fim { flex: 0 0 1px; }
.card { background: transparent; }
.card__link { display: block; color: inherit; }
.card__imagem { position: relative; aspect-ratio: 4/5; overflow: hidden; background: var(--z800); margin-bottom: 1.5rem; }
.card__imagem img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s ease; }
.card:hover .card__imagem img { transform: scale(1.04); }
.card__sem-foto { width: 100%; height: 100%; display: grid; place-items: center; color: var(--z500); }
.card__sem-foto .icone { width: 2.5rem; height: 2.5rem; }
.etiqueta { position: absolute; top: 1rem; right: 1rem; background: #fff; color: var(--z900); padding: .4rem 1rem; font-size: .7rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 600; box-shadow: 0 10px 15px -3px rgba(0,0,0,.2); }
.etiqueta--escura { background: var(--z900); color: #fff; border: 1px solid var(--z700); }
.card__linha { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.card__titulo { font-size: 1.05rem; font-weight: 500; letter-spacing: -.01em; margin: 0 0 .25rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card__bairro { font-size: .875rem; color: var(--z400); margin: 0; }
.card__preco { font-size: 1.05rem; font-weight: 500; letter-spacing: -.01em; margin: 0; white-space: nowrap; }
.card__specs { list-style: none; margin: 1.25rem 0 0; padding: 1.25rem 0 0; border-top: 1px solid var(--z800); display: flex; gap: 1.5rem; font-size: .875rem; color: var(--z300); }
.card__specs li { display: flex; align-items: center; gap: .5rem; }
.card__specs .icone { width: 1.15rem; height: 1.15rem; }
/* cards em fundo claro */
.grade .card__imagem, .secao:not(.secao--escura) .card__imagem { background: var(--z100); }
.grade .card__bairro { color: var(--texto-suave); }
.grade .card__specs { border-color: var(--borda-suave); color: var(--texto-suave); }
.grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 3rem 1.5rem; }

/* Marquee */
.marquee { background: var(--z200); border-block: 1px solid var(--borda); padding: 1.25rem 0; overflow: hidden; }
.marquee__trilho { display: flex; align-items: center; gap: 3rem; width: max-content; animation: marquee 45s linear infinite; font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 500; color: var(--texto-suave); white-space: nowrap; }
.marquee:hover .marquee__trilho { animation-play-state: paused; }
.marquee__trilho i { width: 6px; height: 6px; border-radius: 50%; background: var(--z400); }
@keyframes marquee { to { transform: translateX(-50%); } }

/* Newsletter + CTA */
.newsletter { text-align: center; }
.newsletter > * { max-width: 40rem; }
.newsletter p { color: var(--texto-suave); }
.mc4wp-form { display: flex; gap: .75rem; justify-content: center; flex-wrap: wrap; margin-top: 2rem; }
.mc4wp-form p { display: contents; }
.mc4wp-form input[type=email] { flex: 1 1 260px; max-width: 380px; padding: .9rem 0; border: 0; border-bottom: 1px solid var(--z900); background: transparent; }
.mc4wp-form input[type=email]:focus { outline: none; }
.mc4wp-form input[type=submit] { padding: .9rem 2rem; font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 600; border: 1px solid var(--z900); background: var(--z900); color: #fff; cursor: pointer; }
.mc4wp-form input[type=submit]:hover { background: var(--z700); }
.cta__inner { display: flex; justify-content: space-between; align-items: center; gap: 3rem; flex-wrap: wrap; border-top: 1px solid var(--borda); padding-top: 3rem; }
.cta__inner p { color: var(--texto-suave); margin: 0; }
.cta__inner .titulo-medio { margin-bottom: .5rem; }

/* ---- Rodapé ---- */
.rodape { background: var(--branco); border-top: 1px solid var(--borda); padding: 6rem var(--gutter) 3rem; }
.rodape__inner { max-width: var(--largura); margin: 0 auto 6rem; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 4rem; }
.rodape__marca .marca { display: block; margin-bottom: 1.5rem; }
.rodape__marca p { max-width: 24rem; font-size: .875rem; color: var(--texto-suave); margin-bottom: 2.5rem; }
.redes { list-style: none; padding: 0; margin: 0; display: flex; gap: 1rem; }
.redes a { width: 40px; height: 40px; border: 1px solid var(--borda); border-radius: 50%; display: grid; place-items: center; color: var(--texto-suave); }
.redes a:hover { border-color: var(--z900); color: var(--z900); }
.rodape .rotulo { color: var(--texto); font-weight: 600; margin-bottom: 2rem; }
.rodape__lista { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 1rem; font-size: .875rem; color: var(--texto-suave); }
.rodape__lista a:hover { color: var(--z900); }
.rodape__base { max-width: var(--largura); margin: 0 auto; border-top: 1px solid var(--borda-suave); padding-top: 2rem; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap; font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); color: var(--z500); }
.rodape__base p { margin: 0; }
.menu-rodape { list-style: none; margin: 0; padding: 0; display: flex; gap: 2rem; }
@media (max-width: 860px) { .rodape__inner { grid-template-columns: 1fr; gap: 3rem; } }

/* ---- Páginas internas ---- */
.cabecalho-pagina { max-width: var(--largura); margin: 0 auto; padding: calc(var(--nav-h) + 4rem) var(--gutter) 2rem; }
.cabecalho-pagina .rotulo { margin-bottom: 1.25rem; }
.cabecalho-pagina .entry-title { font-size: clamp(2rem, 4vw, 3rem); max-width: 30ch; margin-bottom: 1rem; }
.cabecalho-pagina .descricao-arquivo { color: var(--texto-suave); max-width: 40rem; }
.container { max-width: var(--largura); margin: 0 auto; padding: 0 var(--gutter); }
.container--estreito { max-width: 760px; }
.lista-imoveis { padding-top: 1rem; }
.lista-imoveis__total { font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); color: var(--z500); margin-bottom: 2.5rem; }
.lista-imoveis__total a { border-bottom: 1px solid currentColor; }
.pagination { margin-top: 4rem; }
.pagination ul { list-style: none; margin: 0; padding: 2rem 0 0; border-top: 1px solid var(--borda); display: flex; gap: .5rem; justify-content: center; flex-wrap: wrap; }
.pagination .page-numbers { display: inline-block; padding: .6rem .9rem; font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 500; }
.pagination .page-numbers.current { border: 1px solid var(--z900); }
.pagination a.page-numbers:hover { color: var(--z500); }
.vazio { text-align: center; color: var(--texto-suave); padding: 4rem 0; }

.entry-content { padding-bottom: var(--secao); max-width: 760px; margin: 0 auto; color: var(--z700); }
.entry-content > * + * { margin-top: 1.25em; }
.entry-content h2, .entry-content h3 { color: var(--texto); margin-top: 2em; }
.entry-content h2 { font-size: 1.5rem; } .entry-content h3 { font-size: 1.2rem; }
.entry-content a { border-bottom: 1px solid currentColor; }
.entry-content blockquote { border-left: 1px solid var(--z900); margin: 0; padding-left: 1.5rem; font-style: italic; }
.entry-content .alignwide { max-width: var(--largura); margin-inline: calc((var(--largura) - 760px) / -2); }
.entry-content .alignfull { max-width: 100vw; margin-inline: calc(50% - 50vw); }
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content th, .entry-content td { border-bottom: 1px solid var(--borda-suave); padding: .6rem .5rem; text-align: left; }
.wp-block-button__link { border-radius: 0; background: var(--z900); font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); }
.destaque-imagem { margin-bottom: 3rem; } .destaque-imagem img { width: 100%; }
.entry-meta { font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); color: var(--z500); }
.entry-meta .sep { margin-inline: .5em; }
.tags a { display: inline-block; border: 1px solid var(--borda); padding: .25rem .8rem; font-size: .7rem; text-transform: uppercase; letter-spacing: var(--tracking); margin: 0 .35rem .35rem 0; }
.post-nav { display: flex; justify-content: space-between; gap: 1rem; padding: 2rem 0 var(--secao); border-top: 1px solid var(--borda); }
.post-nav a { font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 500; }
.post-nav__prox { margin-left: auto; text-align: right; }
.busca-simples { display: flex; gap: 0; max-width: 480px; margin: 1.5rem auto; border-bottom: 1px solid var(--z900); }
.busca-simples input { flex: 1; padding: .8rem 0; border: 0; background: transparent; }
.busca-simples input:focus { outline: none; }
.busca-simples button { border: 0; background: none; padding: 0 .5rem; cursor: pointer; }
.erro-404 { text-align: center; padding-bottom: var(--secao); }
.erro-404__codigo { font-size: clamp(5rem, 15vw, 9rem); font-weight: 300; line-height: 1; color: var(--z300); margin: 0; }

/* Imóvel */
.imovel__cabecalho .entry-title { font-size: clamp(1.6rem, 3vw, 2.5rem); }
.imovel__titulo-linha { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; flex-wrap: wrap; }
.imovel__badges { display: flex; gap: .5rem; margin-top: .5rem; }
.badge { display: inline-block; border: 1px solid var(--borda); padding: .3rem .8rem; font-size: .7rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 500; }
.badge--destaque { background: var(--z900); color: #fff; border-color: var(--z900); }
.imovel__preco { font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 400; letter-spacing: -.02em; margin: 0; white-space: nowrap; }
.galeria__principal { position: relative; overflow: hidden; background: var(--z100); border: 1px solid var(--borda); }
.galeria__principal img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.galeria__seta { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.9); border: 1px solid var(--borda); width: 44px; height: 44px; cursor: pointer; }
.galeria__seta--ant { left: 1rem; } .galeria__seta--prox { right: 1rem; }
.galeria__contador { position: absolute; right: 1rem; bottom: 1rem; background: var(--z900); color: #fff; font-size: .7rem; letter-spacing: var(--tracking); padding: .3rem .7rem; }
.galeria__miniaturas { display: flex; gap: .5rem; overflow-x: auto; padding: .75rem 0 .25rem; scrollbar-width: none; }
.galeria__miniaturas::-webkit-scrollbar { display: none; }
.galeria__mini { flex: 0 0 96px; border: 1px solid transparent; padding: 0; background: none; cursor: pointer; opacity: .6; transition: opacity var(--t), border-color var(--t); }
.galeria__mini img { width: 96px; height: 64px; object-fit: cover; }
.galeria__mini.ativa, .galeria__mini:hover { opacity: 1; border-color: var(--z900); }
.imovel__layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 4rem; padding-block: 3rem var(--secao); }
.imovel__conteudo .entry-content { padding-bottom: 0; margin: 0; }
.imovel__conteudo h2 { font-size: 1.35rem; margin-top: 2.5rem; }
.specs { list-style: none; margin: 0 0 2rem; padding: 1.25rem 0; border-block: 1px solid var(--borda); display: flex; flex-wrap: wrap; gap: .75rem 2rem; font-size: .875rem; color: var(--texto-suave); }
.specs--grande li { text-transform: uppercase; letter-spacing: var(--tracking); font-size: .75rem; font-weight: 500; color: var(--texto); }
.extras { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.extras li { border: 1px solid var(--borda); padding: .35rem .9rem; font-size: .8rem; }
.extras li::before { content: "✓ "; }
.video iframe { width: 100%; aspect-ratio: 16/9; height: auto; }
.caixa-contato { position: sticky; top: calc(var(--nav-h) + 1.5rem); border: 1px solid var(--borda); background: var(--branco); padding: 2rem; display: flex; flex-direction: column; gap: 1rem; }
.caixa-contato__preco { font-size: 1.5rem; letter-spacing: -.02em; margin: 0; }
.caixa-contato__nome { margin: 0 0 .5rem; font-weight: 500; }
.caixa-contato__nome small { display: block; font-weight: 300; color: var(--texto-suave); font-size: .8rem; }
.caixa-contato__ref { margin: 0; font-size: .7rem; text-transform: uppercase; letter-spacing: var(--tracking); color: var(--z500); }
.botao--whatsapp { background: var(--z900); color: #fff; }
.botao--contorno { background: transparent; }
@media (max-width: 900px) { .imovel__layout { grid-template-columns: 1fr; gap: 2.5rem; } .caixa-contato { position: static; } }

/* Comentários / formulários */
.comentarios { padding-bottom: var(--secao); max-width: 760px; margin: 0 auto; }
.lista-comentarios { list-style: none; padding: 0; }
.lista-comentarios .comment-body { border-top: 1px solid var(--borda-suave); padding: 1.25rem 0; }
.lista-comentarios .children { list-style: none; padding-left: 2rem; }
.comment-form input:not([type=submit]), .comment-form textarea, .everest-forms input:not([type=submit]):not([type=checkbox]):not([type=radio]), .everest-forms textarea, .everest-forms select { width: 100%; padding: .75rem 0; border: 0; border-bottom: 1px solid var(--borda); background: transparent; border-radius: 0; }
.comment-form input:focus, .comment-form textarea:focus, .everest-forms input:focus, .everest-forms textarea:focus { outline: none; border-color: var(--z900); }
.comment-form .submit, .everest-forms button.evf-submit, .everest-forms .everest-forms-submit-button, .everest-forms input[type=submit] { background: var(--z900) !important; color: #fff !important; border: 1px solid var(--z900) !important; padding: .9rem 2rem !important; font-size: .75rem !important; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 600 !important; cursor: pointer; border-radius: 0 !important; line-height: 1.2 !important; height: auto !important; }
.everest-forms button.evf-submit:hover, .everest-forms .everest-forms-submit-button:hover { background: var(--z700) !important; border-color: var(--z700) !important; }
.everest-forms label { font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 500; }

/* ---- Reveal ao rolar ---- */
.revelar { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
.revelar.visivel, .sem-js .revelar { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
	html { scroll-behavior: auto; }
	.revelar { opacity: 1; transform: none; }
	.hero__fundo img { animation: none; transform: scale(1.05); }
}

/* =========================================================================
   Animações escalonadas (usa --i como índice de atraso)
   ====================================================================== */
.revelar { transition-delay: calc(var(--i, 0) * 90ms); }
.revelar--zoom { transform: translateY(24px) scale(.97); }
.revelar--zoom.visivel { transform: none; }

/* ---- Página "O Profissional" ---- */
.perfil { max-width: var(--largura); margin: 0 auto; padding: calc(var(--nav-h) + 4rem) var(--gutter) var(--secao); }
.perfil__inner { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.perfil__nome { font-size: clamp(2.5rem, 5.5vw, 4.5rem); margin: 1rem 0 .5rem; }
.perfil__cargo { font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 500; color: var(--texto-suave); margin-bottom: 2.5rem; }
.perfil__bio { max-width: 34rem; color: var(--texto-suave); font-size: 1.0625rem; border-top: 1px solid var(--borda); padding-top: 2rem; }
.perfil__acoes { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2.5rem; }
.perfil__foto { position: relative; aspect-ratio: 4/5; overflow: hidden; border: 1px solid var(--borda); background: var(--z100); }
.perfil__foto img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform 1.2s ease; }
.perfil__foto:hover img { transform: scale(1.03); }
.perfil__selo { position: absolute; left: 1rem; bottom: 1rem; background: rgba(255,255,255,.7); backdrop-filter: blur(16px) saturate(160%); -webkit-backdrop-filter: blur(16px) saturate(160%); border: 1px solid var(--borda); padding: .5rem 1rem; font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 500; }
@media (max-width: 860px) { .perfil__inner { grid-template-columns: 1fr; } .perfil__foto { order: -1; max-width: 420px; } }

.numeros { background: var(--z900); color: #fff; }
.numeros__inner { max-width: var(--largura); margin: 0 auto; padding: 4rem var(--gutter); display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; }
.numero { border-left: 1px solid var(--z700); padding-left: 1.5rem; }
.numero strong { display: block; font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 300; letter-spacing: -.03em; line-height: 1; margin-bottom: .75rem; font-variant-numeric: tabular-nums; }
.numero .rotulo { color: var(--z400); }

.passos { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0; border-top: 1px solid var(--borda); }
.passo { padding: 2.5rem 2rem 2.5rem 0; border-bottom: 1px solid var(--borda); position: relative; }
@media (min-width: 900px) { .passo + .passo { padding-left: 2rem; border-left: 1px solid var(--borda); } }
.passo__num { display: block; font-size: .75rem; letter-spacing: var(--tracking); color: var(--z400); margin-bottom: 2rem; }
.passo__icone { width: 1.75rem; height: 1.75rem; color: var(--z500); margin-bottom: 1.25rem; transition: transform var(--t), color var(--t); }
.passo:hover .passo__icone { transform: translateY(-3px); color: var(--z900); }
.passo h3 { font-size: 1.125rem; font-weight: 500; margin-bottom: .75rem; }
.passo p { color: var(--texto-suave); font-size: .95rem; margin: 0; }

/* ---- Página "Contato" ---- */
.contato { max-width: var(--largura); margin: 0 auto; padding: calc(var(--nav-h) + 4rem) var(--gutter) var(--secao); }
.contato__inner { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.contato__titulo { font-size: clamp(2rem, 4.5vw, 3.5rem); margin: 1rem 0 1.25rem; max-width: 12em; }
.contato__texto { color: var(--texto-suave); max-width: 32rem; margin-bottom: 2.5rem; }
.canais { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--borda); }
.canal { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.25rem; padding: 1.25rem 0; border-bottom: 1px solid var(--borda); transition: padding-left var(--t), background var(--t); }
a.canal:hover { padding-left: .5rem; }
.canal--destaque strong { font-size: 1.25rem; }
.canal__icone { width: 1.5rem; height: 1.5rem; color: var(--z500); }
.canal--destaque .canal__icone { color: var(--z900); }
.canal > span { display: flex; flex-direction: column; gap: .15rem; }
.canal strong { font-weight: 500; letter-spacing: -.01em; }
.canal em { font-style: normal; font-size: .8rem; color: var(--z500); }
.canal__seta { width: 1.1rem; height: 1.1rem; color: var(--z400); transition: transform var(--t), color var(--t); }
a.canal:hover .canal__seta { transform: translateX(4px); color: var(--z900); }
.contato__redes { margin-top: 2.5rem; }
.contato__redes .rotulo { margin-bottom: 1rem; }
.contato__creci { margin: 1.5rem 0 0; font-size: .8rem; color: var(--z500); }
.contato__form { background: var(--branco); border: 1px solid var(--borda); padding: clamp(1.5rem, 4vw, 3rem); position: sticky; top: calc(var(--nav-h) + 1.5rem); }
.contato__form .titulo-medio { margin-bottom: 2rem; }
.everest-forms .evf-field { margin-bottom: 1.5rem; }
.everest-forms .evf-field-label, .everest-forms label { display: block; margin-bottom: .35rem; }
.everest-forms textarea { min-height: 140px; resize: vertical; }
.everest-forms .evf-submit-container { margin-top: 1rem; }
.everest-forms .required { color: var(--z500); }
@media (max-width: 900px) { .contato__inner { grid-template-columns: 1fr; } .contato__form { position: static; } }

/* ---- Favoritar / compartilhar ---- */
.card { position: relative; }
.favoritar { position: absolute; top: 1rem; left: 1rem; z-index: 2; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255,.4); background: rgba(24,24,27,.45); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: #fff; display: grid; place-items: center; cursor: pointer; transition: transform var(--t), background var(--t); }
.favoritar .icone { width: 1.15rem; height: 1.15rem; }
.favoritar:hover { transform: scale(1.08); background: rgba(24,24,27,.7); }
.favoritar[aria-pressed="true"] { background: #fff; color: var(--z900); border-color: #fff; }
.favoritar[aria-pressed="true"] .icone { fill: currentColor; }
.favoritar.pulsar { animation: pulsar .4s ease; }
@keyframes pulsar { 50% { transform: scale(1.25); } }
.nav__favoritos { display: inline-flex; align-items: center; gap: .4rem; }
.nav__favoritos .icone { fill: currentColor; }
.acoes-imovel { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin-top: 1rem; }
.acao { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .7rem .5rem; border: 1px solid var(--borda); background: var(--branco); font-size: .7rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 500; cursor: pointer; transition: all var(--t); }
.acao:hover { border-color: var(--z900); }
.acao[aria-pressed="true"] { background: var(--z900); color: #fff; border-color: var(--z900); }
.acao[aria-pressed="true"] .icone { fill: currentColor; }

/* ---- Mapa ---- */
.mapa iframe { width: 100%; aspect-ratio: 16/9; height: auto; border: 1px solid var(--borda); filter: grayscale(1) contrast(1.05); transition: filter var(--t); }
.mapa:hover iframe { filter: none; }
.mapa__nota { font-size: .8rem; color: var(--z500); margin: .75rem 0 0; }

/* ---- WhatsApp flutuante + aviso ---- */
.wa-flutuante { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 60; display: inline-flex; align-items: center; gap: .6rem; padding: .85rem 1.1rem; border-radius: 999px; background: #25d366; color: #fff; font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 600; box-shadow: 0 10px 30px rgba(0,0,0,.25); transition: transform var(--t), box-shadow var(--t); }
.wa-flutuante .icone { width: 1.35rem; height: 1.35rem; }
.wa-flutuante:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(0,0,0,.3); color: #fff; }
@media (max-width: 640px) { .wa-flutuante span { display: none; } .wa-flutuante { padding: .9rem; } }
.aviso { position: fixed; left: 50%; bottom: 1.5rem; transform: translate(-50%, 20px); z-index: 70; background: var(--z900); color: #fff; padding: .7rem 1.2rem; font-size: .8rem; opacity: 0; pointer-events: none; transition: opacity var(--t), transform var(--t); border-radius: 999px; }
.aviso.visivel { opacity: 1; transform: translate(-50%, 0); }

/* ---- Migalhas, chips e lista de bairros ---- */
.migalhas a { color: inherit; } .migalhas a:hover { color: var(--z900); }
.chips { list-style: none; margin: 1.5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.chip { display: inline-flex; align-items: center; gap: .5rem; padding: .45rem .9rem; border: 1px solid var(--borda); font-size: .75rem; text-transform: uppercase; letter-spacing: var(--tracking); font-weight: 500; }
.chip span { color: var(--z500); font-weight: 400; }
.chip:hover, .chip.ativo { border-color: var(--z900); }
.chip.ativo { background: var(--z900); color: #fff; } .chip.ativo span { color: var(--z400); }
.bairros-lista { list-style: none; padding: 0; margin: 0; columns: 3; column-gap: 2rem; }
.bairros-lista li { break-inside: avoid; }
.bairros-lista a { display: flex; justify-content: space-between; padding: .75rem 0; border-bottom: 1px solid var(--borda-suave); font-size: .95rem; }
.bairros-lista a:hover { color: var(--z500); }
.bairros-lista span { color: var(--z500); font-size: .8rem; }
@media (max-width: 760px) { .bairros-lista { columns: 1; } }
