.imovel { background: var(--branco); }
.imovel__cabecalho { position: relative; min-height: clamp(24rem, 56vh, 38rem); display: flex; align-items: flex-end; overflow: hidden; background: var(--verde-escuro); color: var(--branco); }
.imovel__cabecalho > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.imovel__veu { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,31,29,.22), rgba(8,31,29,.12) 22%, rgba(8,31,29,.34) 50%, rgba(8,31,29,.94)); }
.imovel__titulo-wrap { position: relative; z-index: 1; padding-block: clamp(3rem, 8vw, 5.5rem); }
.imovel__voltar { display: inline-flex; align-items: center; min-height: 2.75rem; margin-bottom: clamp(2rem, 9vh, 5rem); padding: .6rem 1.15rem; border-radius: 999px; background: var(--branco); color: var(--verde-escuro); font: 700 1rem/1.2 var(--fonte-ui); text-decoration: none; box-shadow: 0 2px 10px rgba(5,20,19,.28); }
.imovel__voltar:hover { background: var(--dourado); color: var(--verde-noite); }
.imovel__voltar:focus-visible { outline: 3px solid var(--dourado); outline-offset: 3px; }
.imovel__rotulos { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.imovel__rotulos span { padding: .28rem .75rem; border-radius: 999px; background: var(--dourado); color: #122e2c; font: 700 .7rem/1.2 var(--fonte-ui); letter-spacing: .08em; text-transform: uppercase; }
.imovel__rotulos span + span { background: rgba(8,31,29,.55); color: var(--branco); border: 1px solid rgba(255,255,255,.22); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.imovel__titulo-wrap h1 { color: var(--branco); font-size: clamp(2.5rem, 6vw, 5.4rem); max-width: 16ch; margin: 0 0 .75rem; text-shadow: 0 1px 3px rgba(5,20,19,.5), 0 2px 24px rgba(5,20,19,.4); }
.imovel__local { font-size: clamp(1rem, 2vw, 1.3rem); margin: 0; color: rgba(255,255,255,.94); text-shadow: 0 1px 2px rgba(5,20,19,.55), 0 0 14px rgba(5,20,19,.35); }
.imovel__corpo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 23rem); gap: clamp(2rem, 5vw, 5rem); align-items: start; padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.imovel__secao + .imovel__secao { margin-top: clamp(4rem, 8vw, 7rem); }
.imovel__secao h2 { font-size: clamp(2rem, 4vw, 3.2rem); margin: 0; }
.imovel__secao-titulo { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.imovel__secao-titulo > span { color: var(--tinta-suave); font-weight: 600; white-space: nowrap; }
.galeria { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.galeria__item { position: relative; aspect-ratio: 4/3; overflow: hidden; border-radius: var(--raio); background: var(--marfim-2); }
.galeria__item--principal { grid-column: 1 / -1; aspect-ratio: 16/9; }
.galeria__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.galeria__item span { position: absolute; right: .75rem; bottom: .75rem; padding: .35rem .65rem; border-radius: 999px; background: rgba(20,46,46,.84); color: #fff; font-size: .72rem; font-weight: 700; opacity: 0; transform: translateY(4px); transition: .2s ease; }
.galeria__item:hover img { transform: scale(1.025); }
.galeria__item:hover span { opacity: 1; transform: none; }
.galeria__mais { margin-top: .8rem; }
.galeria__mais > summary { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .6rem 1.2rem; border: 1px solid var(--verde); border-radius: 999px; color: var(--verde-escuro); font: 700 .95rem/1.2 var(--fonte-ui); cursor: pointer; list-style: none; }
.galeria__mais > summary::-webkit-details-marker { display: none; }
.galeria__mais > summary:hover { background: var(--verde); color: var(--branco); }
.galeria__mais > summary:focus-visible { outline: 3px solid var(--dourado); outline-offset: 3px; }
.galeria__mais[open] > summary { margin-bottom: .8rem; }
.imovel__contato { position: sticky; top: calc(var(--cabecalho-altura) + 1.5rem); padding: 1.6rem; border: 1px solid var(--neutro-200); border-radius: var(--raio-grande); background: var(--marfim); box-shadow: var(--sombra); }
.imovel__contato-label { display: block; color: var(--tinta-suave); font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.imovel__contato > strong { display: block; color: var(--verde-escuro); font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.1; margin: .4rem 0 1.5rem; }
.imovel__fatos { margin: 0 0 1.5rem; border-top: var(--linha-suave); }
.imovel__fatos div { display: flex; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-bottom: var(--linha-suave); }
.imovel__fatos dt { color: var(--tinta-suave); }
.imovel__fatos dd { margin: 0; font-weight: 700; color: var(--verde-escuro); }
.imovel__whatsapp { width: 100%; text-align: center; }
.imovel__contato > p { color: var(--tinta-suave); font-size: .82rem; text-align: center; margin: .7rem 0 0; }
.imovel__tour { display: block; margin-top: 1rem; text-align: center; font-weight: 700; }
.imovel__prosa { margin-top: 1.5rem; max-width: 48rem; color: var(--tinta-suave); }
.imovel__prosa h2, .imovel__prosa h3, .imovel__prosa h4 { margin-top: 2.2rem; font-size: 1.4rem; letter-spacing: -.025em; }
.imovel__prosa p, .imovel__prosa li { line-height: 1.75; }
.imovel__prosa ul { padding-left: 1.25rem; }
.lightbox { width: min(92vw, 92rem); max-width: none; height: min(90vh, 62rem); max-height: none; padding: 0; border: 0; border-radius: var(--raio-grande); background: #071c1a; color: #fff; overflow: hidden; }
.lightbox::backdrop { background: rgba(3,14,13,.88); backdrop-filter: blur(8px); }
.lightbox figure { width: 100%; height: 100%; margin: 0; display: grid; place-items: center; }
.lightbox figure img { max-width: 100%; max-height: calc(100% - 3rem); object-fit: contain; }
.lightbox figcaption { position: absolute; bottom: .7rem; left: 4rem; right: 4rem; text-align: center; color: rgba(255,255,255,.8); font-size: .82rem; }
.lightbox button { position: absolute; z-index: 2; border: 1px solid rgba(255,255,255,.25); background: rgba(20,46,46,.78); color: #fff; cursor: pointer; }
.lightbox__fechar { top: 1rem; right: 1rem; width: 2.8rem; height: 2.8rem; border-radius: 50%; font-size: 1.5rem; }
.lightbox__anterior, .lightbox__proxima { top: 50%; transform: translateY(-50%); width: 3rem; height: 3rem; border-radius: 50%; font-size: 1.2rem; }
.lightbox__anterior { left: 1rem; }.lightbox__proxima { right: 1rem; }
@media(max-width: 56rem){.imovel__corpo{grid-template-columns:1fr}.imovel__contato{position:static;grid-row:1}.galeria{grid-template-columns:1fr}.galeria__item--principal{grid-column:auto}.imovel__secao-titulo{align-items:start;flex-direction:column}}
