/* Inmobiliaria Álvarez · 3 diseños de su portada (23-10), serios y modernos, cada uno con su estructura:
 *   rj- Rejilla (suizo: letra de palo grande, cuadrícula y líneas finas), pp- Pantalla partida (foto fija a media
 *   pantalla que cambia con el texto), bt- Bento (la portada hecha de piezas).
 * Los tres con su azul noche (#00003C); el magenta de su logo solo en su logo y en un punto o una marca. */
@font-face { font-family: 'Ibarra Real Nova'; src: url('../fonts/ibarra-real-nova-var.woff2') format('woff2'); font-weight: 400 700; font-display: swap; }
@font-face { font-family: 'Urbanist'; src: url('../fonts/urbanist-var.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }

:root {
  --noche: #00003C;
  --magenta: #FE00ED;
  --serif: 'Ibarra Real Nova', Georgia, serif;
  --sans: 'Urbanist', system-ui, -apple-system, sans-serif;
  --borde: clamp(16px, 4vw, 60px);
  --max: 1440px;
  --ease: cubic-bezier(.22, 1, .36, 1);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #fff; color: var(--noche); font: 400 1rem/1.6 var(--sans); overflow-x: clip; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
h1, h2, h3, p, dl, dd, dt, figure, blockquote, ol, ul { margin: 0; padding: 0; }
em { font-style: normal; }
svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; flex: none; }
:focus-visible { outline: 2px solid var(--magenta); outline-offset: 3px; }
[hidden] { display: none !important; }
.js [data-entra] { opacity: 0; transform: translateY(26px); transition: opacity 1.1s var(--ease), transform 1.3s var(--ease); }
.js [data-entra].ok { opacity: 1; transform: none; }

/* Selector de diseño */
.ver { position: fixed; left: 50%; bottom: max(14px, env(safe-area-inset-bottom)); z-index: 90; display: flex; align-items: center; gap: 4px; padding: 6px 6px 6px 16px; border-radius: 999px; background: rgba(10, 10, 30, .88); color: #fff; font: 500 .78rem/1 var(--sans); transform: translateX(-50%); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .6); white-space: nowrap; }
.ver__que { margin-right: 8px; color: rgba(255, 255, 255, .65); }
.ver a { padding: 11px 14px; border-radius: 999px; transition: background .3s, color .3s; }
.ver a:hover { background: rgba(255, 255, 255, .14); }
.ver a[aria-current="true"] { background: #fff; color: #0A0A1E; }
@media (max-width: 600px) { .ver__que { display: none; } .ver { padding-left: 6px; } .ver a { padding: 10px 10px; font-size: .72rem; } }

/* ===================================================================== 1 · REJILLA */
.d-rej { --papel: #F2F2EE; --linea: rgba(0, 0, 60, .16); background: var(--papel); }
.rj-barra { display: flex; align-items: center; gap: 30px; padding: 18px var(--borde); border-bottom: 1px solid var(--linea); }
.rj-barra img { width: 132px; height: auto; }
.rj-barra nav { display: flex; gap: 28px; margin-left: auto; font-weight: 600; font-size: .92rem; }
.rj-barra__der { display: flex; align-items: center; gap: 22px; font-weight: 600; font-size: .92rem; }
.rj-boton { display: inline-flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 22px; background: var(--noche); color: #fff; font: 700 .86rem/1 var(--sans); transition: gap .5s var(--ease), background .3s; }
.rj-boton:hover { gap: 22px; }
.rj-boton--ancho { width: 100%; padding: 19px 22px; }
.rj-boton--borde { background: transparent; color: var(--noche); box-shadow: inset 0 0 0 1.5px var(--noche); margin-top: 40px; }
.rj-boton--blanco { background: #fff; color: var(--noche); }
.rj-mini { font: 700 .66rem/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; opacity: .6; }
.rj-meta { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--linea); font: 600 .78rem/1.3 var(--sans); }
.rj-meta span:last-child { text-align: right; }
.rj-punto { color: var(--magenta); }
.rj-hero { padding: 0 var(--borde); }
.rj-titulo { margin: clamp(30px, 4vw, 60px) 0 clamp(30px, 4vw, 56px); font: 800 clamp(2.8rem, .6rem + 7.2vw, 9.6rem)/.9 var(--sans); letter-spacing: -.05em; }
.rj-hero__fila { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(20px, 2vw, 30px); padding-bottom: var(--borde); }
.rj-busca { display: grid; align-content: start; gap: 0; padding-top: 16px; border-top: 2px solid var(--noche); }
.rj-busca .rj-mini { margin-bottom: 8px; }
.rj__sel { display: grid; gap: 4px; padding: 16px 0; border-bottom: 1px solid var(--linea); }
.rj__sel small { font: 700 .64rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; opacity: .55; }
.rj__sel b { display: flex; justify-content: space-between; font: 600 1.3rem/1.2 var(--sans); }
.rj__sel b::after { content: "+"; font-weight: 400; opacity: .5; }
.rj-busca .rj-boton { margin-top: 26px; }
.rj-pase { position: relative; height: clamp(380px, 46vw, 660px); overflow: hidden; background: var(--noche); }
.rj-pase__foto { position: absolute; inset: 0; opacity: 0; transition: opacity 1.4s ease; }
.rj-pase__foto.activa { opacity: 1; }
.rj-pase__foto img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 7s linear; }
.rj-pase__foto.activa img { transform: none; }
.rj-pase__pie { position: absolute; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 6px 20px; padding: 18px 22px 0; background: var(--papel); }
.rj-pase__casa { grid-column: 1; grid-row: 1; display: none; gap: 2px 14px; font-size: .9rem; }
.rj-pase__casa.activa { display: flex; flex-wrap: wrap; align-items: baseline; }
.rj-pase__casa span:first-child { font: 700 .66rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; opacity: .6; }
.rj-pase__casa b { font-weight: 700; }
.rj-pase__n { grid-column: 2; grid-row: 1; font-weight: 700; font-variant-numeric: tabular-nums; }
.rj-pase__barra { grid-column: 1 / -1; height: 2px; margin: 14px -22px 0; background: var(--linea); overflow: hidden; }
.rj-pase__barra i { display: block; height: 100%; background: var(--noche); transform-origin: left; transform: scaleX(0); }
.rj-pase__barra i.corre { animation: rj-llena 6s linear forwards; }
@keyframes rj-llena { to { transform: scaleX(1); } }
.rj-cifras { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 var(--borde); border-block: 2px solid var(--noche); }
.rj-cifras > div { padding: 26px 22px 30px; }
.rj-cifras > div + div { border-left: 1px solid var(--linea); }
.rj-num { margin: 14px 0 4px; font: 800 clamp(3rem, 1rem + 5vw, 6.6rem)/.9 var(--sans); letter-spacing: -.05em; }
.rj-cifras p:last-child { font-weight: 500; opacity: .75; }
.rj-casas, .rj-sobre { padding: clamp(70px, 9vw, 130px) var(--borde) 0; }
.rj-cab { margin-bottom: 20px; }
.rj-cab .rj-meta { grid-template-columns: 1fr 3fr; }
.rj-h2 { margin-top: 20px; font: 800 clamp(2.6rem, 1rem + 5vw, 6.4rem)/.92 var(--sans); letter-spacing: -.05em; }
.rj-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 34px 0 30px; }
.rj-chips button { padding: 11px 18px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--linea); font-weight: 600; font-size: .9rem; transition: background .3s, color .3s, box-shadow .3s; }
.rj-chips button:hover { box-shadow: inset 0 0 0 1px var(--noche); }
.rj-chips button[aria-pressed="true"] { background: var(--noche); color: #fff; box-shadow: none; }
.rj-cuenta { margin-left: auto; font-weight: 500; opacity: .7; }
.rj-rejilla { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 46px 24px; }
.rj-casa { display: grid; gap: 14px; align-content: start; padding-top: 14px; border-top: 1px solid var(--noche); animation: rj-entra .6s var(--ease); }
@keyframes rj-entra { from { opacity: 0; transform: translateY(14px); } }
.rj-casa figure { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #ddd; }
.rj-casa img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.rj-casa:hover img { transform: scale(1.04); }
.rj-casa figure span { position: absolute; left: 0; top: 0; padding: 8px 12px; background: var(--papel); font: 700 .64rem/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.rj-casa h3 { font: 700 1.24rem/1.2 var(--sans); letter-spacing: -.01em; }
.rj-casa dl { display: grid; grid-template-columns: 1.2fr 1.2fr 1fr; gap: 10px; padding-top: 12px; border-top: 1px solid var(--linea); }
.rj-casa dt { font: 700 .6rem/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; opacity: .55; }
.rj-casa dd { font-size: .86rem; }
.rj-casa dd b { font-size: 1.05rem; }
.rj-sobre { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 24px; }
.rj-sobre .rj-cab { grid-column: 1 / -1; }
.rj-sobre__foto { grid-column: 1 / 4; margin-top: 20px; }
.rj-sobre__foto img { width: 100%; aspect-ratio: 1; object-fit: cover; filter: grayscale(1); }
.rj-sobre__foto figcaption { display: grid; margin-top: 12px; font-size: .86rem; opacity: .75; }
.rj-sobre__foto figcaption b { font-size: 1.05rem; opacity: 1; }
.rj-sobre__texto { grid-column: 5 / 13; margin-top: 20px; }
.rj-cita { font: 700 clamp(1.8rem, 1rem + 2.6vw, 3.8rem)/1.05 var(--sans); letter-spacing: -.035em; }
.rj-cuerpo { margin-top: 30px; columns: 2 260px; column-gap: 34px; font-size: 1.04rem; line-height: 1.7; opacity: .82; }
.rj-vender { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 30px clamp(30px, 5vw, 80px); align-items: end; margin-top: clamp(70px, 9vw, 130px); padding: clamp(60px, 7vw, 100px) var(--borde); background: var(--noche); color: #fff; --linea: rgba(255, 255, 255, .22); }
.rj-vender .rj-cab { grid-column: 1 / -1; }
.rj-vender .rj-meta { border-color: var(--linea); }
.rj-vender .rj-h2 { margin: 0; }
.rj-form { display: grid; gap: 0; }
.rj-form .rj-boton { margin-top: 24px; }
.rj-nota { margin-top: 14px; font-size: .82rem; opacity: .7; }
.rj-pie { padding: clamp(50px, 6vw, 90px) var(--borde) 26px; }
.rj-gigante { font: 800 clamp(2rem, 10.6vw, 13rem)/.86 var(--sans); letter-spacing: -.06em; white-space: nowrap; overflow: hidden; }
.rj-pie__fila { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 40px; padding-top: 20px; border-top: 2px solid var(--noche); }
.rj-pie__fila img { width: 150px; height: auto; }
.rj-pie__fila p:not(.rj-mini) { margin-top: 6px; font-size: .92rem; }
.rj-pie__abajo { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 46px; padding: 18px 0 64px; border-top: 1px solid var(--linea); font-size: .8rem; opacity: .75; }
.legal { display: flex; gap: 16px; }
@media (max-width: 980px) {
  .rj-barra nav, .rj-barra__der > a:first-child { display: none; }
  .rj-barra__der { margin-left: auto; }
  .rj-meta { grid-template-columns: auto 1fr; } .rj-meta span:last-child { display: none; }
  .rj-hero__fila { grid-template-columns: 1fr; }
  .rj-busca { order: 2; }
  .rj-cifras { grid-template-columns: 1fr 1fr; margin: 0 var(--borde); }
  .rj-cifras > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--linea); } .rj-cifras > div:nth-child(4) { border-top: 1px solid var(--linea); }
  .rj-rejilla { grid-template-columns: 1fr 1fr; }
  .rj-sobre__foto { grid-column: 1 / 6; } .rj-sobre__texto { grid-column: 1 / -1; }
  .rj-vender { grid-template-columns: 1fr; }
  .rj-pie__fila { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .rj-rejilla { grid-template-columns: 1fr; }
  .rj-cifras > div { padding: 18px 14px; }
  .rj-cuenta { width: 100%; margin: 6px 0 0; }
  .rj-pase__casa span:last-child { display: none; }
  .rj-gigante { font-size: 9.2vw; }
}

/* ===================================================================== 2 · PANTALLA PARTIDA */
.d-par { --linea: rgba(255, 255, 255, .18); background: var(--noche); color: #fff; }
.pp-barra { position: absolute; inset: 0 0 auto; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px var(--borde); pointer-events: none; }
.pp-barra > * { pointer-events: auto; }
.pp-barra img { width: 140px; height: auto; }
.pp-barra__der { display: flex; align-items: center; gap: 28px; width: 50%; justify-content: space-between; padding-left: clamp(30px, 5vw, 80px); }
.pp-barra nav { display: flex; gap: 24px; font: 600 .72rem/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; }
.pp-boton { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 17px 26px; background: #fff; color: var(--noche); font: 700 .74rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; transition: gap .5s var(--ease); }
.pp-boton:hover { gap: 18px; }
.pp-boton--mini { padding: 13px 18px; font-size: .68rem; white-space: nowrap; }
.pp-cuerpo { display: grid; grid-template-columns: 1fr 1fr; }
.pp-fotos { position: sticky; top: 0; height: 100svh; overflow: hidden; background: #000; }
.pp-foto { position: absolute; inset: 0; opacity: 0; transition: opacity 1.2s ease; }
.pp-foto.activa { opacity: 1; }
.pp-foto img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 2.4s var(--ease); }
.pp-foto.activa img { transform: none; }
.pp-foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 60, .45), transparent 26%, transparent 70%, rgba(0, 0, 60, .5)); }
.pp-fotos__n { position: absolute; left: var(--borde); bottom: 28px; z-index: 1; display: flex; align-items: baseline; gap: 8px; font: 400 2.4rem/1 var(--serif); }
.pp-fotos__n span { font: 600 .8rem/1 var(--sans); opacity: .7; }
.pp-panel { display: grid; align-content: center; gap: 22px; min-height: 84svh; padding: 120px clamp(30px, 5vw, 80px) 80px; border-bottom: 1px solid var(--linea); }
.pp-hero { min-height: 100svh; }
.pp-mini { font: 600 .68rem/1.3 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: rgba(255, 255, 255, .62); }
.pp-mini span { margin-right: 10px; color: var(--magenta); }
.pp-titulo { font: 400 clamp(2.8rem, 1rem + 4.2vw, 6rem)/1 var(--serif); letter-spacing: -.02em; }
.pp-titulo em { color: rgba(255, 255, 255, .6); }
.pp-busca, .pp-form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; margin-top: 14px; }
.pp-form { grid-template-columns: 1fr 1fr 1fr; }
.pp__sel { display: grid; gap: 4px; padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, .4); }
.pp__sel small { font: 600 .62rem/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; opacity: .6; }
.pp__sel b { display: flex; justify-content: space-between; font: 400 1.4rem/1.2 var(--serif); }
.pp__sel b::after { content: "▾"; font-size: .6em; opacity: .5; }
.pp-busca .pp-boton, .pp-form .pp-boton { grid-column: 1 / -1; margin-top: 24px; justify-self: start; }
.pp-baja { display: flex; align-items: center; gap: 14px; margin-top: 30px; font: 600 .68rem/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; opacity: .7; }
.pp-baja span { width: 60px; height: 1px; background: currentColor; }
.pp-casa h2 { font: 400 clamp(2.2rem, 1rem + 2.8vw, 4rem)/1.04 var(--serif); letter-spacing: -.015em; }
.pp-casa__datos { font-size: 1rem; color: rgba(255, 255, 255, .75); }
.pp-casa__precio { padding: 20px 0; border-block: 1px solid var(--linea); font: 400 2.2rem/1 var(--serif); }
.pp-enlace { display: inline-flex; align-items: center; gap: 12px; justify-self: start; padding-bottom: 6px; border-bottom: 1px solid currentColor; font: 700 .74rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.pp-enlace svg { transition: transform .5s var(--ease); }
.pp-enlace:hover svg { transform: translateX(6px); }
.pp-movil { display: none; }
.pp-cita { font: 400 clamp(1.9rem, 1rem + 2vw, 3rem)/1.15 var(--serif); }
.pp-firma { display: flex; align-items: center; gap: 16px; }
.pp-firma img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; filter: grayscale(1); }
.pp-firma p { display: grid; font-size: .86rem; color: rgba(255, 255, 255, .7); }
.pp-firma b { font: 400 1.2rem/1.2 var(--serif); color: #fff; }
.pp-texto { color: rgba(255, 255, 255, .78); line-height: 1.75; }
.pp-cifras { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 36px; padding-top: 20px; border-top: 1px solid var(--linea); }
.pp-cifras dt { font: 600 .62rem/1.3 var(--sans); letter-spacing: .18em; text-transform: uppercase; opacity: .6; }
.pp-cifras dd { font: 400 1.5rem/1.2 var(--serif); }
.pp-vender h2 { font: 400 clamp(2.6rem, 1rem + 3.6vw, 5rem)/1 var(--serif); }
.pp-vender h2 em { color: rgba(255, 255, 255, .6); }
.pp-nota { font-size: .84rem; opacity: .65; }
.pp-pie { display: grid; grid-template-columns: 2fr 2fr 1.4fr 1.6fr; gap: 30px; padding: clamp(50px, 6vw, 90px) var(--borde) 26px; background: #000029; }
.pp-pie img { width: 150px; height: auto; }
.pp-pie > div > p:not(.pp-mini) { margin-top: 10px; font-size: .92rem; color: rgba(255, 255, 255, .8); }
.pp-pie__abajo { grid-column: 1 / -1; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 18px 0 64px; border-top: 1px solid var(--linea); font-size: .8rem; color: rgba(255, 255, 255, .6); }
@media (max-width: 900px) {
  .pp-barra__der { width: auto; padding: 0; }
  .pp-barra nav { display: none; }
  .pp-cuerpo { grid-template-columns: 1fr; }
  .pp-fotos { display: none; }
  .pp-panel { min-height: 0; padding: 60px var(--borde); }
  .pp-hero { min-height: 100svh; padding-top: 110px; background: linear-gradient(180deg, rgba(0, 0, 60, .55), rgba(0, 0, 60, .9)), url('../img/casas/V-0440-1.webp') center / cover; }
  .pp-movil { display: block; order: -1; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
  .pp-form { grid-template-columns: 1fr; }
  .pp-pie { grid-template-columns: 1fr 1fr; }
}

/* ===================================================================== 3 · BENTO */
.d-ben { --fondo: #E9ECF1; --t: #fff; --linea: rgba(0, 0, 60, .12); --r: 26px; background: var(--fondo); padding: 0 clamp(10px, 1.6vw, 22px); }
.bt-barra { display: flex; align-items: center; gap: 30px; padding: 20px clamp(10px, 2vw, 26px); }
.bt-barra img { width: 132px; height: auto; }
.bt-barra nav { display: flex; gap: 6px; margin: 0 auto; padding: 6px; border-radius: 999px; background: var(--t); font-weight: 600; font-size: .9rem; }
.bt-barra nav a { padding: 10px 18px; border-radius: 999px; transition: background .3s; }
.bt-barra nav a:hover { background: var(--fondo); }
.bt-boton { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 15px 24px; border-radius: 999px; background: var(--noche); color: #fff; font: 700 .9rem/1 var(--sans); transition: gap .5s var(--ease); }
.bt-boton:hover { gap: 18px; }
.bt-boton--ancho { width: 100%; padding: 18px 24px; }
.bt-boton--blanco { background: #fff; color: var(--noche); }
.bt-mini { font: 700 .66rem/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; opacity: .6; }
.bt-num { font: 700 clamp(3rem, 1rem + 4vw, 5.4rem)/.9 var(--sans); letter-spacing: -.05em; }
.bt-t { position: relative; border-radius: var(--r); background: var(--t); overflow: hidden; }
.bt-hero { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: minmax(0, auto); gap: clamp(10px, 1vw, 14px); }
.bt-foto { grid-column: 1 / 9; grid-row: 1 / 3; min-height: clamp(460px, 62svh, 680px); display: grid; align-content: end; padding: clamp(24px, 3vw, 44px); color: #fff; }
.bt-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bt-foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 60, .1) 30%, rgba(0, 0, 60, .78)); }
.bt-foto h1 { position: relative; z-index: 1; max-width: 13em; font: 400 clamp(2.4rem, 1rem + 3.6vw, 5rem)/1 var(--serif); letter-spacing: -.02em; }
.bt-foto h1 b { font-weight: 400; color: rgba(255, 255, 255, .7); }
.bt-chip { position: absolute; top: 20px; left: 20px; z-index: 1; padding: 9px 14px; border-radius: 999px; background: rgba(255, 255, 255, .92); color: var(--noche); font: 600 .78rem/1 var(--sans); }
.bt-busca { grid-column: 9 / 13; grid-row: 1; display: grid; align-content: start; gap: 0; padding: 28px; background: var(--noche); color: #fff; }
.bt-busca .bt-mini { margin-bottom: 8px; }
.bt__sel { display: grid; gap: 4px; padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, .2); }
.bt__sel small { font: 700 .62rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; opacity: .6; }
.bt__sel b { display: flex; justify-content: space-between; font: 600 1.2rem/1.2 var(--sans); }
.bt__sel b::after { content: "▾"; font-size: .7em; opacity: .5; }
.bt-busca .bt-boton { margin-top: 22px; background: #fff; color: var(--noche); }
.bt-dato { grid-row: 2; display: grid; align-content: space-between; gap: 12px; padding: 24px; }
.bt-dato:nth-of-type(1) { grid-column: 9 / 11; }
.bt-hero .bt-dato:not(.bt-dato--azul) { grid-column: 9 / 11; }
.bt-dato--azul { grid-column: 11 / 13; background: #DCE0F5; }
.bt-dato p:last-child { font-weight: 600; opacity: .7; }
.bt-ana { grid-column: 1 / 8; display: grid; grid-template-columns: 130px 1fr; align-items: center; gap: 24px; padding: 20px; }
.bt-ana img { width: 130px; height: 130px; border-radius: 18px; object-fit: cover; filter: grayscale(1); }
.bt-cita { font: 400 clamp(1.3rem, 1rem + .9vw, 1.9rem)/1.2 var(--serif); }
.bt-firma { margin-top: 12px; font-size: .86rem; opacity: .7; }
.bt-tel { grid-column: 8 / 13; display: grid; align-content: space-between; gap: 10px; padding: 24px 28px; transition: background .4s; }
.bt-tel:hover { background: #F4F5F8; }
.bt-tel__n { font: 700 clamp(2rem, 1rem + 2.4vw, 3.4rem)/1 var(--sans); letter-spacing: -.03em; }
.bt-tel p:last-child { font-size: .9rem; opacity: .7; }
.bt-casas { padding-top: clamp(50px, 6vw, 90px); }
.bt-cab { display: flex; justify-content: space-between; align-items: end; gap: 20px; padding: 0 10px 20px; }
.bt-cab h2 { font: 700 clamp(2.2rem, 1rem + 3vw, 4.2rem)/.95 var(--sans); letter-spacing: -.045em; }
.bt-enlace { white-space: nowrap; display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: 999px; background: var(--t); font-weight: 700; font-size: .9rem; }
.bt-mosaico { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(220px, 19vw, 300px); gap: clamp(10px, 1vw, 14px); }
.bt-casa { color: #fff; }
.bt-casa img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.bt-casa:hover img { transform: scale(1.05); }
.bt-casa::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(0, 0, 60, .82)); }
.bt-casa--1 { grid-column: span 2; grid-row: span 2; }
.bt-casa--2 { grid-column: span 2; }
.bt-casa__tipo { position: absolute; top: 16px; left: 16px; z-index: 1; padding: 7px 12px; border-radius: 999px; background: rgba(255, 255, 255, .92); color: var(--noche); font: 700 .66rem/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.bt-casa__info { position: absolute; left: 20px; right: 20px; bottom: 18px; z-index: 1; display: grid; gap: 4px; }
.bt-casa__info b { font: 600 1.05rem/1.2 var(--sans); }
.bt-casa--1 .bt-casa__info b { font: 400 clamp(1.6rem, 1rem + 1.4vw, 2.4rem)/1.1 var(--serif); }
.bt-casa__info span { font-size: .8rem; opacity: .8; }
.bt-casa__info em { font: 700 1.2rem/1.2 var(--sans); }
.bt-mas { display: grid; align-content: space-between; gap: 10px; padding: 24px; background: #DCE0F5; }
.bt-mas .bt-boton { justify-self: start; }
.bt-abajo { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(10px, 1vw, 14px); padding-top: clamp(10px, 1vw, 14px); }
.bt-sobre { grid-column: 1 / 7; display: grid; align-content: start; gap: 18px; padding: clamp(26px, 3vw, 44px); }
.bt-cuerpo { font-size: 1.06rem; line-height: 1.75; opacity: .85; }
.bt-vender { grid-column: 7 / 13; display: grid; align-content: start; gap: 0; padding: clamp(26px, 3vw, 44px); background: var(--noche); color: #fff; }
.bt-vender h2 { margin: 10px 0 14px; font: 400 clamp(2.2rem, 1rem + 2.4vw, 3.6rem)/1 var(--serif); }
.bt-vender .bt-boton { margin-top: 22px; }
.bt-nota { margin-top: 12px; font-size: .82rem; opacity: .7; }
.bt-pie { padding: clamp(10px, 1vw, 14px) 0 0; }
.bt-pie__caja { display: grid; grid-template-columns: 2fr 2fr 1.4fr 1.6fr; gap: 30px; padding: clamp(26px, 3vw, 44px); }
.bt-pie__caja img { width: 140px; height: auto; }
.bt-pie__caja p:not(.bt-mini) { margin-top: 8px; font-size: .92rem; }
.bt-pie__abajo { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 18px 10px 70px; font-size: .8rem; opacity: .7; }
@media (max-width: 980px) {
  .bt-barra nav { display: none; }
  .bt-barra .bt-boton { margin-left: auto; padding: 12px 18px; font-size: .82rem; }
  .bt-foto, .bt-busca, .bt-ana, .bt-tel, .bt-sobre, .bt-vender { grid-column: 1 / -1 !important; grid-row: auto !important; }
  .bt-hero .bt-dato:not(.bt-dato--azul) { grid-column: 1 / 7; grid-row: auto; }
  .bt-dato--azul { grid-column: 7 / 13; grid-row: auto; }
  .bt-foto { min-height: 72svh; }
  .bt-ana { grid-template-columns: 90px 1fr; } .bt-ana img { width: 90px; height: 90px; }
  .bt-mosaico { grid-template-columns: 1fr 1fr; grid-auto-rows: 220px; }
  .bt-pie__caja { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .bt-casa--2 { grid-column: span 2; }
  .bt-casa__info b { font-size: .92rem; }
  .bt-casa__info span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
