/* ═══════════ BUYLAND · sobre el sistema de CRPV ═══════════ */

/* la entrada usa el bloque .entrance de home.css tal cual; aquí solo el film */
.entrance__v{z-index:1}
.entrance__bg::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:
  linear-gradient(to top,rgba(10,11,9,.95) 0%,rgba(10,11,9,.72) 24%,rgba(10,11,9,.3) 52%,rgba(10,11,9,.2) 72%,rgba(10,11,9,.62) 100%)}

/* ── franja de valor: el precio por metro, que es el argumento ── */
.value{padding:clamp(30px,3.4vw,52px) var(--pad);background:var(--charcoal);
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,44px)}
.value__c{border-top:1px solid var(--line);padding-top:16px}
.value__n{font-family:var(--d);font-weight:400;font-size:clamp(1.5rem,2.6vw,2.4rem);
  line-height:1.06;letter-spacing:-.02em;margin:8px 0 6px}
.value__c.on .value__n{color:var(--gold-hi)}
.value__c p{font-size:.88em;color:rgba(240,238,231,.62);margin:0}
.value__c p.value__n{font-family:var(--d);font-weight:400;
  font-size:clamp(1.5rem,2.6vw,2.4rem);line-height:1.06;letter-spacing:-.02em;
  color:var(--bone);margin:8px 0 6px}
.value__c.on p.value__n{color:var(--gold-hi)}
@media(max-width:820px){.value{grid-template-columns:1fr}}

/* ── qué hay alrededor: la venta por cercanía ── */
.near{padding:clamp(40px,4.8vw,78px) var(--pad);border-top:1px solid var(--line-soft)}
.near__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);
  gap:clamp(26px,3.6vw,64px);margin-top:clamp(22px,2.6vw,38px)}
.near__where{border-top:1px solid var(--line);padding-top:18px}
.near__where .h3{margin-bottom:10px}
.near__list{list-style:none;margin:0;padding:0;columns:2;column-gap:clamp(22px,2.8vw,44px)}
.near__list li{break-inside:avoid;display:flex;justify-content:space-between;gap:14px;align-items:baseline;
  padding:11px 0;border-bottom:1px solid var(--line-soft);font-family:var(--m);font-size:11.5px;
  letter-spacing:.06em;color:rgba(240,238,231,.8)}
.near__list li b{font-family:var(--m);font-weight:500;color:var(--gold-hi);white-space:nowrap;font-size:11px}
.near__note{margin-top:16px;font-family:var(--m);font-size:10px;letter-spacing:.1em;color:var(--stone)}
@media(max-width:900px){.near__grid{grid-template-columns:1fr}.near__list{columns:1}}

/* ── ficha: film de cabecera ── */
.rhero__v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  transition:opacity 1.5s var(--ease-io);z-index:1}
.rhero__v.on{opacity:1}
.rhero .veil{z-index:2}
.rhero__in,.rhero__idx{z-index:3}

/* ── panel de datos de la ficha ── */
.fx{position:sticky;top:calc(var(--nav-h) + 18px);background:var(--charcoal);
  padding:clamp(20px,2.2vw,32px);border-top:2px solid transparent;border-image:var(--grad) 1}
.fx__p{font-family:var(--d);font-weight:400;font-size:clamp(1.6rem,2.4vw,2.2rem);
  line-height:1;letter-spacing:-.022em;color:var(--gold-hi)}
.fx__p span{display:block;font-family:var(--m);font-size:9.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--stone);margin-top:8px}
.fx__rows{margin:18px 0 20px;border-top:1px solid var(--line)}
.fx__r{display:flex;justify-content:space-between;gap:14px;align-items:baseline;
  padding:9px 0;border-bottom:1px solid var(--line-soft)}
.fx__r dt{font-family:var(--m);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);margin:0}
.fx__r dd{margin:0;font-size:.9em;text-align:right}
.fx .btn{width:100%}
.fx__note{margin:12px 0 0;font-family:var(--m);font-size:9.5px;letter-spacing:.08em;
  line-height:1.7;color:var(--stone)}

/* ── formulario ── */
.form{display:grid;gap:16px}
.fld{display:grid;gap:6px}
.fld input,.fld textarea,.fld select{background:transparent;border:0;border-bottom:1px solid var(--line);
  color:var(--bone);font-family:var(--t);font-weight:300;font-size:.98em;padding:9px 0;border-radius:0;
  transition:border-color .4s}
.fld input:focus,.fld textarea:focus,.fld select:focus{outline:none;border-bottom-color:var(--gold)}
.fld input::placeholder,.fld textarea::placeholder{color:var(--stone)}
.fld textarea{resize:vertical;min-height:86px}
.fld select option{background:var(--charcoal);color:var(--bone)}
.contact{padding:clamp(40px,4.8vw,78px) var(--pad);background:var(--charcoal)}
.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,3.6vw,64px);
  margin-top:clamp(22px,2.6vw,38px)}
.contact__l{display:grid;gap:2px;padding:11px 0;border-bottom:1px solid var(--line-soft)}
.contact__l a{font-family:var(--d);font-size:clamp(1rem,1.5vw,1.24rem);transition:color .35s}
.contact__l a:hover{color:var(--gold-hi)}
@media(max-width:820px){.contact__grid{grid-template-columns:1fr}}

/* ── el idioma vive en el HTML, no en JS ── */
/* cualquier bloque que fije display (fx__p span, foot__col span, value__c p…) gana
   a un selector de atributo por especificidad: aquí manda el idioma, sin excepción */
[data-lang="es"]{display:none!important}
html.es [data-lang="en"]{display:none!important}
html.es [data-lang="es"]{display:revert!important}

/* ── selector de idioma en la nav ── */
.lang{display:flex;align-items:center;gap:6px;font-family:var(--m);font-size:10px;
  letter-spacing:.14em;margin-left:auto;padding-left:18px}
.lang button{background:none;border:0;cursor:pointer;color:inherit;opacity:.42;
  transition:opacity .3s;padding:4px 2px}
.lang button.on,.lang button:hover{opacity:1}
.lang span{opacity:.24}
@media(max-width:900px){.lang{padding-left:0;margin-left:0}}

/* ── revelado (detrás de .js para que sin JS nada quede invisible) ── */
.js .rv{opacity:0;transform:translateY(16px);
  transition:opacity 1s var(--ease-io),transform 1.1s var(--ease)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}}

/* la vitrina de CRPV es de seis paneles; con tres, 4.6 aplasta a los cerrados */
.show__p.on{flex-grow:2.5}
/* el pie: cada dato en su línea */
.foot__col > div > span{display:block;padding:5px 0;font-size:.92em}
/* el antetítulo cae sobre cielo claro: sombra como en la nav de CRPV */
.entrance__in .lbl,.rhero__in .lbl{text-shadow:0 1px 18px rgba(10,11,9,.95),0 0 6px rgba(10,11,9,.7)}


/* ═══════════ ¿DÓNDE VAS A DESPERTAR? — tarjeta central sobre la casa activa ═══════════ */
.wake{position:relative;padding:clamp(46px,5.4vw,86px) 0 clamp(34px,4vw,60px);overflow:hidden}
.wake__bg{position:absolute;inset:0;z-index:0}
.wake__bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity 1.2s var(--ease-io)}
.wake__bg img.on{opacity:1}
.wake__bg::after{content:'';position:absolute;inset:0;background:rgba(10,11,9,.74)}
.wake__head{position:relative;z-index:2;text-align:center;padding:0 var(--pad) clamp(24px,3vw,44px)}
.wake__head .h2{margin-top:10px}

.wake__win{position:relative;z-index:2;overflow:hidden}
.wake__row{display:flex;align-items:center;gap:clamp(10px,1.4vw,22px);will-change:transform}
.wk{flex:0 0 auto;width:clamp(150px,17vw,250px);height:clamp(300px,38vw,540px);
  position:relative;cursor:pointer;border:1px solid rgba(240,238,231,.22);
  display:flex;align-items:center;justify-content:center;
  transition:width .9s var(--ease),height .9s var(--ease),border-color .6s,background-color .7s}
.wk__name{font-family:var(--m);font-weight:500;font-size:clamp(9px,.75vw,11px);letter-spacing:.2em;
  text-transform:uppercase;color:rgba(240,238,231,.9);text-align:center;padding:0 10px;
  transition:opacity .45s}
.wk__card{position:absolute;inset:0;background:var(--bone);color:var(--obsidian);
  display:flex;flex-direction:column;padding:clamp(14px,1.5vw,22px);
  opacity:0;pointer-events:none;transition:opacity .6s var(--ease-io) .25s}
.wk.on{width:clamp(240px,26vw,400px);height:clamp(380px,46vw,660px);border-color:transparent}
.wk.on .wk__name{opacity:0}
.wk.on .wk__card{opacity:1;pointer-events:auto}
.wk__t{font-family:var(--m);font-weight:600;font-size:clamp(10px,.85vw,12px);letter-spacing:.2em;
  text-transform:uppercase;text-align:center;padding-bottom:clamp(12px,1.4vw,18px)}
.wk__ph{flex:1 1 auto;min-height:0;overflow:hidden}
.wk__ph img{width:100%;height:100%;object-fit:cover}
.wk__d{text-align:center;padding-top:clamp(12px,1.4vw,18px)}
.wk__v{font-family:var(--m);font-weight:500;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-lo)}
.wk__d p{font-family:var(--d);margin:8px 0 0;font-size:.95em;line-height:1.5;color:#2A2C25}
.wk__d b{display:block;font-family:var(--d);font-weight:500;margin-top:6px;color:var(--obsidian)}
.wk__go{display:inline-flex;align-items:center;justify-content:center;margin-top:clamp(12px,1.4vw,18px);
  background:var(--obsidian);color:var(--bone);font-family:var(--m);font-weight:500;font-size:9.5px;
  letter-spacing:.2em;text-transform:uppercase;padding:13px 22px;border:0;cursor:pointer;
  transition:background .4s var(--ease-io),color .4s}
.wk__go:hover{background:var(--grad);color:#140F05}
.wake__nav{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;
  gap:12px;margin-top:clamp(20px,2.4vw,34px)}
.wake__nav button{width:44px;height:44px;border:1px solid rgba(240,238,231,.3);background:transparent;
  color:var(--bone);cursor:pointer;transition:border-color .4s,background .4s,color .4s}
.wake__nav button:hover{border-color:transparent;background:var(--grad);color:#140F05}
.wake__dots{display:flex;gap:7px;margin-inline:10px}
.wake__dots i{width:22px;height:2px;background:rgba(240,238,231,.28);transition:background .4s}
.wake__dots i.on{background:var(--gold-hi)}
@media(max-width:760px){
  .wk{width:104px;height:250px}
  .wk.on{width:min(78vw,320px);height:430px}
  .wk__name{font-size:8px;letter-spacing:.14em}
}
@media (prefers-reduced-motion:reduce){.wake__row{transition:none}.wk{transition:none}}

/* ── mapa embebido en la ficha ── */
.near__map{margin-top:clamp(18px,3vw,30px);border:1px solid var(--line);background:var(--ink2)}
.near__map iframe{display:block;width:100%;height:clamp(300px,44vw,460px);border:0;filter:grayscale(.28) contrast(1.04)}
.near__open{display:inline-block;margin-top:14px;font-family:var(--m);font-size:10px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);border-bottom:1px solid rgba(190,155,90,.35);padding-bottom:3px}
.near__open:hover{color:var(--bone);border-bottom-color:var(--bone)}
