/* ==========================================================================
   MINMUEBLES ARCO — Estilos Globales
   Fuentes, variables, cabecera, navegación, pie y utilidades compartidas.

   NOTA: este archivo contenía dos veces el mismo bloque (una copia íntegra
   pegada a partir de la línea 405). Se eliminó la copia inicial; las reglas
   que quedan son exactamente las que el navegador ya estaba aplicando.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Fuentes
   -------------------------------------------------------------------------- */
/* Futura Heavy (Tipografía de títulos audaces de marca) */
@font-face{
  font-family:'Futura Heavy';
  font-style:normal;
  font-weight:700;
  font-weight:800;
  font-display:swap;
  src:url('../fonts/Futura Heavy font.ttf') format('truetype');
}
@font-face{
  font-family:'Futura Heavy';
  font-style:italic;
  font-weight:700;
  font-display:swap;
  src:url('../fonts/Futura Heavy Italic font.ttf') format('truetype');
}

/* Neue Haas Display Black */
@font-face{
  font-family:'Neue Haas Display';
  font-style:normal;
  font-weight:900;
  font-display:swap;
  src:url('../fonts/NeueHaasDisplayBlack.ttf') format('truetype');
}

/* Bebas Neue Family */
@font-face{
  font-family:'Bebas Neue';
  font-style:normal;
  font-weight:100;
  font-display:swap;
  src:url('../fonts/BebasNeue-Thin.ttf') format('truetype');
}
@font-face{
  font-family:'Bebas Neue';
  font-style:normal;
  font-weight:300;
  font-display:swap;
  src:url('../fonts/BebasNeue-Light.ttf') format('truetype');
}
@font-face{
  font-family:'Bebas Neue';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/BebasNeue-Regular.ttf') format('truetype');
}
@font-face{
  font-family:'Bebas Neue';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('../fonts/BebasNeue-Bold.ttf') format('truetype');
}
@font-face{
  font-family:'Bebas Neue';
  font-style:normal;
  font-weight:800;
  font-display:swap;
  src:url('../fonts/BebasNeuePro-ExpandedExtraBold.ttf') format('truetype');
}

/* Tipografía geométrica base Jost (Light, Regular, Medium, SemiBold, Bold) */
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;
  src:url('../fonts/jost-latin-300-normal.woff2') format('woff2');}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/jost-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;
  src:url('../fonts/jost-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Jost';font-style:normal;font-weight:600;font-display:swap;
  src:url('../fonts/jost-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Jost';font-style:normal;font-weight:700;font-display:swap;
  src:url('../fonts/jost-latin-700-normal.woff2') format('woff2');}

/* --------------------------------------------------------------------------
   2. Variables
   -------------------------------------------------------------------------- */
:root{
  --negro:#000;
  --negro-suave:#0a0a0a;
  --gris-card:#1c1c1c;
  --gris-borde:#3a3a3a;
  --gris-texto:#b9b9b9;
  --blanco:#fff;

  --fuente:'Jost',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  --fuente-heavy:'Futura Heavy','Neue Haas Display','Jost',sans-serif;
  --fuente-bebas:'Bebas Neue',sans-serif;

  /* Medidas tomadas de HOME.pdf normalizado a 1440px de ancho */
  --ancho:1144px;                       /* caja de contenido a 1440 */
  --ancho-estrecho:900px;
  --gutter:clamp(20px,10.28vw,148px);   /* margen lateral: 148px a 1440 */

  --seccion-y:clamp(70px,10vw,130px);
  --radio:14px;
  --trans:.35s cubic-bezier(.4,0,.2,1);
}

/* --------------------------------------------------------------------------
   3. Reset
   -------------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--negro);
  color:var(--blanco);
  font-family:var(--fuente);
  font-weight:300;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
/* height:auto anula los atributos width/height del HTML, que el navegador
   aplica como hint de presentación y romperían las relaciones de aspecto. */
img{max-width:100%;height:auto;display:block;border:0;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;color:inherit;}
h1,h2,h3,h4,p,ul,figure{margin:0;}
ul{padding:0;list-style:none;}

/* Accesibilidad: foco visible */
:focus-visible{outline:2px solid #fff;outline-offset:3px;}

/* --------------------------------------------------------------------------
   4. Utilidades
   -------------------------------------------------------------------------- */
.contenedor{width:100%;max-width:calc(var(--ancho) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter);}
.contenedor--estrecho{max-width:var(--ancho-estrecho);}
.solo-lectores{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* Enlace de salto accesible */
.skip-link{
  position:absolute;
  top:-100px;
  left:20px;
  background:#fff;
  color:#000;
  padding:12px 24px;
  border-radius:6px;
  font-weight:700;
  font-size:1rem;
  z-index:9999;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(0,0,0,.8);
  transition:top .2s ease;
}
.skip-link:focus{
  top:20px;
  outline:3px solid #000;
}

/* Títulos: primera parte ligera, segunda en negrita (patrón de la maqueta) */
.titulo{
  font-weight:300;
  font-size:clamp(1.9rem,5.2vw,3.4rem);
  line-height:1.12;
  letter-spacing:.005em;
  text-transform:uppercase;
}
.titulo strong,
.hero__titulo strong,
.predio-hero__titulo strong,
.contacto-pagina__titulo strong,
.footer-frase strong{
  font-family:var(--fuente-heavy);
  font-weight:700;
  letter-spacing:.02em;
}
.titulo--centro{text-align:center;}

.parrafo{
  color:#e6e6e6;
  font-size:clamp(.9rem,1.6vw,1rem);
  line-height:1.95;
  text-align:justify;
}

/* Botón pastilla */
.boton{
  display:inline-block;
  padding:.95em 2.4em;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  font-size:clamp(.85rem,1.5vw,1rem);
  font-weight:400;
  letter-spacing:.02em;
  cursor:pointer;
  transition:background var(--trans),border-color var(--trans),transform var(--trans);
}
.boton:hover{background:rgba(255,255,255,.28);border-color:#fff;transform:translateY(-2px);}

/* Elemento decorativo de cuadros */
.deco{position:absolute;width:clamp(150px,26.1vw,376px);opacity:.85;pointer-events:none;user-select:none;}

/* Animación de entrada */
.revelar{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.3,1);}
.revelar.visible{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .revelar{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* --------------------------------------------------------------------------
   5. Cabecera y navegación
   -------------------------------------------------------------------------- */
/* Medidas de la maquetación a 1440px:
   logo 232x67 en x=90 / y=96 · texto del menú cap 17px (≈21px de fuente)
   línea del menú de x=503 a x=1302, a y=156                              */
.cabecera{
  position:absolute;
  inset:0 0 auto 0;
  z-index:50;
  padding-top:clamp(18px,6.7vw,96px);
  padding-bottom:clamp(14px,2.4vw,34px);
  transition:background var(--trans),padding var(--trans);
  transform:translateZ(0);
}
.cabecera.fija{
  position:fixed;
  background:rgba(0,0,0,.9);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  padding-block:14px;
  transform:translateZ(0);
}
.cabecera__inner{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  max-width:none;
  padding-left:clamp(20px,6.25vw,90px);
  padding-right:clamp(20px,9.58vw,138px);
}
.logo img{width:clamp(140px,16.1vw,232px);height:auto;}

.nav{flex:1;display:flex;justify-content:flex-end;}
.nav__lista{
  display:flex;
  align-items:center;
  width:min(100%,799px);
  justify-content:space-between;
  padding:0 clamp(0px,6.9vw,100px) clamp(8px,.83vw,12px);
  margin-top:clamp(4px,.76vw,11px);
  border-bottom:2px solid rgba(255,255,255,.9);
}
.nav__lista a{
  position:relative;
  font-size:clamp(.85rem,1.46vw,21px);
  font-weight:500;
  letter-spacing:.01em;
  white-space:nowrap;
  opacity:.92;
  transition:opacity var(--trans);
}
.nav__lista a:hover,.nav__lista a[aria-current="page"]{opacity:1;}
.nav__lista a::after{
  content:'';position:absolute;left:0;right:0;bottom:-13px;height:2px;
  background:#fff;transform:scaleX(0);transform-origin:left;
  transition:transform var(--trans);
}
.nav__lista a:hover::after,.nav__lista a[aria-current="page"]::after{transform:scaleX(1);}

/* Submenú desplegable de Predios */
.nav__item--dropdown{
  position:relative;
}
.nav__chevron{
  font-size:.65em;
  margin-left:4px;
  display:inline-block;
  vertical-align:middle;
  transition:transform var(--trans);
}
.nav__submenu{
  position:absolute;
  top:calc(100% + 14px);
  left:50%;
  transform:translateX(-50%) translateY(8px);
  background:rgba(10,10,10,.95);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.18);
  border-radius:6px;
  padding:8px 0;
  min-width:180px;
  box-shadow:0 14px 35px rgba(0,0,0,.7);
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease, transform .25s ease, visibility .25s;
  z-index:100;
  display:flex;
  flex-direction:column;
  list-style:none;
}
.nav__item--dropdown:hover .nav__submenu,
.nav__item--dropdown:focus-within .nav__submenu{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}
.nav__item--dropdown:hover .nav__chevron{
  transform:rotate(180deg);
}
.nav__submenu li{
  width:100%;
}
.nav__submenu a{
  display:block;
  padding:9px 20px;
  font-size:.92rem;
  font-weight:400;
  color:#dcdcdc;
  white-space:nowrap;
  transition:background var(--trans), color var(--trans), padding-left var(--trans);
  text-decoration:none;
  position:static;
}
.nav__submenu a::after{
  display:none !important;
}
.nav__submenu a:hover{
  background:rgba(255,255,255,.12);
  color:#fff;
  padding-left:24px;
}

/* Botón hamburguesa */
.hamburguesa{
  display:none;width:44px;height:44px;padding:0;
  background:none;border:0;cursor:pointer;
}
.hamburguesa span{
  display:block;width:26px;height:2px;margin:6px auto;background:#fff;
  transition:transform var(--trans),opacity var(--trans);
}
.hamburguesa[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.hamburguesa[aria-expanded="true"] span:nth-child(2){opacity:0;}
.hamburguesa[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

@media (max-width:860px){
  .hamburguesa{display:block;}
  /* .cabecera lleva transform:translateZ(0) y eso la convierte en bloque
     contenedor de sus hijos position:fixed: el menú quedaba recortado a la
     altura de la cabecera (83px) en lugar de cubrir la pantalla. En móvil no
     hace falta esa capa de composición. */
  .cabecera{transform:none;}
  .nav{
    position:fixed;inset:0;background:rgba(0,0,0,.97);
    display:flex;align-items:center;justify-content:center;
    opacity:0;visibility:hidden;transition:opacity var(--trans),visibility var(--trans);
    overflow-y:auto;
    padding:40px 20px;
  }
  .nav.abierto{opacity:1;visibility:visible;}
  .nav__lista{
    flex-direction:column;gap:24px;border:0;padding:0;max-width:none;
    justify-content:center;
    align-items:center;
  }
  .nav__lista a{font-size:1.4rem;}
  .nav__item--dropdown{
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .nav__submenu{
    position:static;
    transform:none;
    opacity:1;
    visibility:visible;
    background:none;
    border:none;
    box-shadow:none;
    padding:8px 0 0 0;
    min-width:0;
    gap:6px;
    align-items:center;
  }
  .nav__submenu a{
    font-size:1.05rem;
    color:rgba(255,255,255,.65);
    padding:4px 0;
  }
  .nav__submenu a:hover{
    color:#fff;
    background:none;
    padding-left:0;
  }
  .nav__chevron{
    display:none;
  }
}.hero__fondo img{width:100%;height:100%;object-fit:cover;object-position:center;}.hero__titulo strong{font-weight:700;}/* Botón: 385x85 centrado bajo el bloque de texto */
.hero .boton{
  margin-top:clamp(34px,7.02vw,101px);
  margin-left:clamp(0px,15.4vw,222px);
  letter-spacing:0;
  padding:0 clamp(1.2em,2vw,29px);
  min-width:clamp(240px,26.2vw,378px);
  height:clamp(52px,5.9vw,85px);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:clamp(.85rem,1.74vw,25px);
}

@media (max-width:600px){}.openhouse__principal img{width:100%;aspect-ratio:1440/896;object-fit:cover;}
@media (max-width:640px){.openhouse__principal img{aspect-ratio:4/3;}}.mosaico img{width:100%;aspect-ratio:341/597;object-fit:cover;}
@media (max-width:640px){  .mosaico img{aspect-ratio:100/150;}
}
/* En pantallas pequeñas los cuadros decorativos estorban al contenido */
@media (max-width:860px){}/* --------------------------------------------------------------------------
   9. Proyectos
   -------------------------------------------------------------------------- */
.proyectos{padding-block:var(--seccion-y);}.proyectos{--gg:clamp(12px,2.2vw,30px);}.galeria a,.galeria figure{position:relative;overflow:hidden;display:block;}
.galeria img{
  width:100%;aspect-ratio:12/13;object-fit:cover;
  transition:transform .7s cubic-bezier(.2,.7,.3,1),filter var(--trans);
}
.galeria a:hover img{transform:scale(1.06);filter:brightness(1.08);}
@media (max-width:700px){}.serenidad__fondo img{width:100%;height:100%;object-fit:cover;object-position:center;}/* El título va ligeramente indentado respecto al texto, como en la maqueta */
.serenidad .titulo{
  max-width:820px;
  margin-left:clamp(0px,5.14vw,74px);
  margin-bottom:clamp(18px,4.93vw,71px);
  font-size:clamp(1.9rem,4.72vw,68px);
  line-height:1.13;
}
.serenidad .parrafo{
  max-width:803px;
  font-size:clamp(.9rem,1.736vw,25px);
  line-height:1.6;
}.lista-amenidades li{position:relative;padding-left:1.6em;font-size:clamp(.95rem,1.53vw,22px);font-weight:600;}
.lista-amenidades li::before{
  content:'';position:absolute;left:.2em;top:.66em;
  width:.3em;height:.3em;border-radius:50%;background:#fff;
}
.lista-amenidades li:first-child{padding-left:0;}
.lista-amenidades li:first-child::before{display:none;}
@media (max-width:640px){
  .serenidad .titulo{margin-left:0;}
}@media (max-width:860px){}
.faq .titulo{margin-bottom:clamp(34px,5vw,60px);}.acordeon__panel p{
  padding:0 0 1.3em 1.6em;color:var(--gris-texto);
  font-size:clamp(.88rem,1.5vw,.98rem);line-height:1.85;
}.contacto__info .parrafo{text-align:justify;font-weight:500;}.contacto__tels h3{font-size:clamp(.95rem,1.8vw,1.1rem);font-weight:600;margin-bottom:1.1em;}.tel__num img{width:22px;height:22px;flex:none;}.campo input,.campo select{
  width:100%;
  padding:.72em 1.25em;
  background:transparent;
  border:1px solid var(--gris-borde);
  border-radius:999px;
  color:#fff;
  font-size:.92rem;
  font-weight:400;
  transition:border-color var(--trans),background var(--trans);
}
.campo select{appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23fff' d='M6 8 0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1.15em center;background-size:11px;
  padding-right:2.6em;}
.campo select option{background:#1c1c1c;color:#fff;}
.campo input::placeholder{color:#8d8d8d;}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:#fff;outline:none;background:rgba(255,255,255,.04);}.campo--mensaje textarea{
  width:100%;min-height:78px;resize:vertical;
  background:transparent;border:0;border-bottom:1px solid var(--gris-borde);
  color:#fff;font-size:.92rem;padding:.4em 0;
  transition:border-color var(--trans);
}.aviso input{
  flex:none;width:11px;height:11px;margin-top:.3em;
  accent-color:#fff;cursor:pointer;
}
.aviso a{text-decoration:underline;}

.formulario .boton{width:auto;min-width:150px;padding:.7em 2.2em;background:transparent;}
@media (max-width:820px){}
@media (max-width:460px){}.banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}@media (max-width:640px){}

/* --------------------------------------------------------------------------
   14. Pie de página
   -------------------------------------------------------------------------- */
.pie{background:var(--negro);padding-block:clamp(28px,4vw,44px);}
.pie__inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:clamp(16px,4vw,40px);flex-wrap:wrap;
}
.pie img{width:clamp(105px,12vw,140px);}
.pie a,.pie p{font-size:clamp(.78rem,1.4vw,.9rem);font-weight:600;}
.pie a{transition:opacity var(--trans);}
.pie a:hover{opacity:.65;}
@media (max-width:640px){
  .pie__inner{flex-direction:column;text-align:center;gap:18px;}
}.encabezado-pagina img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}.encabezado-pagina .contenedor{position:relative;z-index:1;}.bloque-texto .titulo{margin-bottom:clamp(20px,3vw,32px);}
.bloque-texto .parrafo + .parrafo{margin-top:1.2em;}/* --------------------------------------------------------------------------
   16. Ventana Modal de Agradecimiento (Gracias por Contactarnos)
   -------------------------------------------------------------------------- */
.modal-gracias{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .35s ease, visibility .35s ease;
}
.modal-gracias.abierto{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.modal-gracias__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.82);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.modal-gracias__card{
  position:relative;
  z-index:1;
  background:#17181a;
  border:1px solid rgba(255,255,255,.2);
  border-radius:24px;
  padding:clamp(36px,5vw,52px) clamp(26px,4.5vw,46px);
  max-width:520px;
  width:100%;
  text-align:center;
  box-shadow:0 30px 70px rgba(0,0,0,.85);
  transform:scale(.92);
  transition:transform .35s cubic-bezier(.16,1,.3,1);
}
.modal-gracias.abierto .modal-gracias__card{
  transform:scale(1);
}
.modal-gracias__cerrar{
  position:absolute;
  top:18px;
  right:20px;
  background:transparent;
  border:none;
  color:rgba(255,255,255,.6);
  font-size:1.25rem;
  line-height:1;
  cursor:pointer;
  padding:6px;
  transition:color .25s ease, transform .25s ease;
}
.modal-gracias__cerrar:hover{
  color:#fff;
  transform:scale(1.15);
}
.modal-gracias__icono{
  width:68px;
  height:68px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  border:1.5px solid rgba(255,255,255,.3);
  color:#ffffff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:20px;
  box-shadow:0 0 25px rgba(255,255,255,.12);
}
.modal-gracias__titulo{
  font-size:clamp(1.5rem,2.8vw,2.1rem);
  font-weight:300;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:#fff;
  line-height:1.2;
  margin-bottom:14px;
}
.modal-gracias__titulo strong{
  font-family:var(--fuente-heavy);
  font-weight:700;
}
.modal-gracias__texto{
  font-size:clamp(.92rem,1.3vw,1.05rem);
  line-height:1.68;
  font-weight:300;
  color:rgba(255,255,255,.88);
  margin-bottom:28px;
}
.modal-gracias__btn-wrap{
  display:flex;
  justify-content:center;
}
.modal-gracias__boton{
  padding:11px 44px;
  border-radius:999px;
  background:#ffffff;
  border:none;
  color:#000000;
  font-size:.95rem;
  font-weight:700;
  letter-spacing:.02em;
  cursor:pointer;
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
  box-shadow:0 8px 20px rgba(255,255,255,.15);
}
.modal-gracias__boton:hover{
  background:#e2e2e2;
  transform:translateY(-2px);
  box-shadow:0 12px 25px rgba(255,255,255,.25);
}

/* ==========================================================================
   Correcciones de comportamiento (agregado en la revisión técnica)
   Reglas nuevas y aisladas: no alteran ningún estilo previo.
   ========================================================================== */

/* Campo trampa anti-spam: nunca debe verse ni recibir foco. */
.campo-verificacion{
  position:absolute !important;
  left:-9999px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* El aviso del formulario no ocupa espacio mientras está vacío. */
.formulario__estado:empty{min-height:0;margin-top:0;}

/* Mensaje de error del formulario (antes no existía: los fallos se ocultaban). */
.formulario__estado--error{
  color:#ffb4ad;
  min-height:1.2em;
  line-height:1.45;
}
.formulario__estado--error:focus{outline:none;}

/* Submenú "Predios" abierto con clic o teclado, no sólo con el ratón. */
.nav__item--dropdown.abierto .nav__submenu{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}
.nav__item--dropdown.abierto .nav__chevron{transform:rotate(180deg);}

@media (max-width:860px){
  .nav__item--dropdown.abierto .nav__submenu{transform:none;}
}

/* ==========================================================================
   Menú móvil: la cabecera por encima de la capa (revisión técnica)
   --------------------------------------------------------------------------
   .nav es position:fixed y va después del logo y del botón en el marcado, así
   que al abrirse los tapaba a los dos: la X de cerrar sólo se intuía a través
   del 3% de transparencia del fondo y no se podía pulsar. Elevando el logo y
   el botón por encima de la capa, la cabecera sigue visible con el menú
   abierto y la X vuelve a ser un botón de verdad.
   ========================================================================== */
@media (max-width:860px){
  .nav{z-index:1;}
  .cabecera .logo,
  .cabecera .hamburguesa{position:relative;z-index:2;}

  /* El fondo era rgba(0,0,0,.97). Ese 3% de transparencia deja ver el hero
     por debajo —los titulares blancos y grandes se leen a través del menú— y
     ensucia la lectura de los enlaces. Comparado lado a lado en el mismo
     navegador, con negro sólido el menú queda limpio. */
  .nav{background:#000;}

  /* --------------------------------------------------------------------
     Al bajar por la página, .cabecera toma la clase .fija, que reaplica
     transform:translateZ(0) y añade backdrop-filter:blur(10px). CUALQUIERA
     de las dos convierte a la cabecera en bloque contenedor de sus hijos
     position:fixed, así que el menú volvía a quedar recortado a los 83px de
     la cabecera: se veían dos entradas sueltas del submenú y el resto de la
     página por debajo.

     Sólo se neutralizan mientras el menú está abierto (clase que pone el JS
     en <body>), así el desenfoque de la cabecera fija se conserva al navegar
     con el menú cerrado, que es como se diseñó.
     -------------------------------------------------------------------- */
  body.nav-abierta .cabecera,
  body.nav-abierta .cabecera.fija{
    transform:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    filter:none;
    perspective:none;
  }
}

/* Enlaces de términos y privacidad en todos los formularios */
.aviso a,
.predio-form__aviso a,
.predio-form__checkbox-label a,
.formulario label a {
  color: #ffffff !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  cursor: pointer;
  transition: opacity var(--trans);
}

.aviso a:hover,
.predio-form__aviso a:hover,
.predio-form__checkbox-label a:hover,
.formulario label a:hover {
  opacity: 0.75;
}

