/*===============BASE======================*/

:root{
    /*tipografía*/
  --sans: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  /* Color */
  --texto: rgb(26, 23, 37);
  --texto-suave: rgb(140, 139, 150);
  --alda: #c7102b;
  --aldaHero:#f7e9eb;
  --aldaBtnMap:rgba(199, 16, 43, .7);
  --alda2:rgba(199,16,43,.4);
  --alda-suave: #efeaeb;
  --color-fondo: #ffffff;
  --color-surface: #ffffff;
  --aldaBtnW:rgba(255,255,255,.5);
  --color-linea: rgba(26, 23, 37, 0.10);
  --color-linea-fuerte: rgba(26, 23, 37, 0.18);
  --color-dark: rgb(26, 23, 37);
  /* Layout */
  --contenedor-max: 78rem; /* 1248px aprox */
  --contenedor-pad: 1.25rem;
  /*mapa*/
  --cabecera-alto: 3.8rem;
  --mapa-sticky-top: calc(var(--cabecera-alto) + 0.85rem);
  --mapa-header-overlap: 1.5rem;
  --mapa-radio: 1.25rem;
  --mapa-sombra: 0 1rem 2.5rem rgba(26, 23, 37, 0.10);
}

*,*::before,*::after{box-sizing: border-box;}
html{font-size: 100%;scroll-behavior: smooth;scrollbar-gutter: stable;}
body{margin:0;font-family:var(--sans);font-size:1rem;color:var(--texto);
    background:var(--white);text-rendering: optimizeLegibility;}

    img,svg{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
p{margin:0 0 1rem;line-height: 1.2cap;}
h1,h2,h3{margin:0;color var(--texto);line-height: 1.8cap;}
ul{margin:0;padding:0;list-style: none;}

/*============= HEADER ================*/
.cabeceraPagina{  position: sticky;  top: 0;  z-index: 100;
  background: rgb(255 255 255 / 88%);  backdrop-filter: blur(0.75rem);
  border-bottom: 1px solid var(--aldaHero);}

.cabeceraPagina-contenedor{  position: relative;  z-index: 2;
  background: white;m}

.cabeceraPagina-inner{  display: flex;  align-items: center;margin-left:2rem;
  justify-content: space-between;  gap: 1.5rem;  min-height: 3.8rem;}



.logo-Alda img{  width: 6rem;}

nav.cabeceraPagina-nav{  display: block;}

ul.cabeceraPagina-nav{  display: flex;  align-items: center;
  gap: clamp(1rem, 1vw, 1.75rem);}

.cabeceraPagina-nav a{
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 3.8rem;
  padding-inline: 0.1rem;
  font-weight: 600;
  color: var(--texto-suave);
  transition: color 0.2s ease;
}

/* Triángulo exterior (borde) */
.cabeceraPagina-nav a::before{
      content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 0.8rem solid transparent;
    border-right: 0.8rem solid transparent;
    border-bottom: 0.8rem solid rgba(199,16,43,.1);
    opacity: 0;
    transition: opacity 0.15s ease;
    pointer-events: none;
    z-index: 4;
}
.cabeceraPagina-nav a:hover::before{
  border-bottom: 0.8rem solid var(--alda-suave);
}


/* Estados */
.cabeceraPagina-nav a:hover,
.cabeceraPagina-nav a:focus-visible{
  color: var(--texto);
  outline: none;
}

.cabeceraPagina-nav a:hover::before,
.cabeceraPagina-nav a:hover::after,
.cabeceraPagina-nav a:focus-visible::before,
.cabeceraPagina-nav a:focus-visible::after,
.cabeceraPagina-nav a[aria-current="page"]::before,
.cabeceraPagina-nav a[aria-current="page"]::after{
  opacity: 1;
}

.cabeceraPagina-nav a[aria-current="page"]{
  color: var(--texto);
}
/*===================FOOTER=========================*/
.footer {  padding: 2rem 2rem 10rem 2rem; position:relative;
    background:var(--texto); border-top: 1px solid var(--color-linea);}
.footer-flex {  display: flex;  align-items: center;  justify-content: space-between;
  gap: 1.5rem;color:white;}
.footer-flex p {  margin: 0;  font-size: 0.94rem;}
.footer-links {  display: flex;  flex-wrap: wrap;  gap: 1rem 1.25rem;}
.footer-links a {  font-size: 0.94rem;  color:white;}
a.footer-instagram{background: white;    position: absolute;
    top: -28px;    left: calc(50% - 1.5rem);    border-radius: 50%;
    padding: 1rem;}a.footer-instagram:hover svg{fill:var(--texto-suave);}
    .footer-flex p{color:white !important;}

/*==================HERO=======================*/
.hero {  padding: 1rem 0;  background: var(--aldaHero);position:relative;}
.hero-grid{display: grid;grid-template-columns: 1fr;position:relative;}
.hero-contenido .hero-antetitulo { font-size: clamp(.8rem, 1.1vw, 1.1rem); margin: 0;   font-weight: 800;  letter-spacing: 0.08em;  text-transform: uppercase;  color: var(--alda);}
.hero-titulo-2 {font-weight: 200;  font-size: clamp(2rem, 4vw, 4rem);line-height: clamp(1.3em, 1.4em, 1.5em);  text-wrap: balance;}

.hero-titulo {font-size: clamp(3rem, 5.2vw, 5.2rem);  font-weight: 400;line-height: clamp(1em, 1.1em, 1.2em);text-wrap: balance;}
.no-break{
  white-space: nowrap;
}

.hero-acciones {  line-height: 3cap;}
.hero-acciones p{line-height: 2.2cap;}
body.espacios .hero-acciones{
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin-top: 0.95rem;
  line-height: normal;
}
body.espacios .hero-acciones .btn{
  min-height: 2.6rem;
}

.enlace-hero-1,.enlace-hero-2 {  color: var(--alda);  font-weight: 500;}

.asociadoCrisol{    position: absolute;    left: 1.25rem;    bottom:0;    font-size: .7rem;    background: white;    padding: .2rem .5rem;
    border-radius: 5px 5px 0 0;color:var(--texto-suave);}
    .asociadoCrisol{
  position: absolute;
  left: max(
    var(--contenedor-pad),
    calc((100% - var(--contenedor-max)) / 2 + var(--contenedor-pad))
  );
  bottom: 0;
}
.asociadoCrisol a{font-weight: 700;color:var(--alda);}    
.asociadoCrisol a:hover{color:var(--texto);}

/*=========================================================
= MAPA SECTORES · escena grande + rails sticky
=========================================================*/

.mapa-sectores{  position: relative;  padding-block: 2rem 3rem;
  overflow: visible;}

#form-contacto{
  scroll-margin-top: 80px;
}

.contenedormain{  position: relative;}

.mapa-stage{  position: relative;  display: grid;
  grid-template-areas: "stack";  
  overflow: visible;  align-items: start;}

.mapa-stage > *{  grid-area: stack;}

/* escena central */
.mapa-sectores__media{  margin: 0;  position: relative;
  z-index: 1;}

.mapa-panel{  position: relative;}

.mapa-svg{  position: relative;  width: min(92%, 70rem);
  margin-inline: auto;  overflow: visible;}

.mapa-svg svg{  display: block;  width: 100%;  height: auto;}
.mapa-svg.mapa-svg--fallback img{  display: block;  width: 100%;  height: auto;}

/* rails superpuestos */
.mapa-rail{  position: sticky;
  top: calc(var(--cabecera-alto) + 1rem);  z-index: 20;
  align-self: start;  pointer-events: none;}

.mapa-rail--left{  justify-self: start;  width: min(16rem, 24vw);}

.mapa-rail--right{  justify-self: end;  width: min(22rem, 28vw);}

.mapa_sectores_header,
.mapa-side{
  position: relative;  pointer-events: none;}

.mapa_sectores_header > *,
.mapa-side > *{  pointer-events: auto;}
/* rail izquierdo */
.mapa-sectores-intro{
  display: grid;  gap: 0.35rem;}

.mapa-sectores-intro h2{
  font-size: clamp(1.5rem, 1.7vw, 1.8rem);    line-height: clamp(1.2em, 1.4em, 1.6em);}

.mapa-sectores__nav{
  margin-top: 1rem; margin-left:.5rem; min-width: 0;}

.zonas-lista{  display: flex;  flex-direction: column;
  align-items: flex-start;  gap: 0.15rem;}
.mapa-card.is-open{margin-top:0;}
.zonas-lista{gap:.5rem;}
.zonas-lista a{  display: inline-flex;border: 1px solid var(--color-linea);
    align-items: center;    justify-content: center;
    min-height: 2.5rem;    padding: 0.5rem;    margin-left: -9px;    border-radius: 10px;
    background: var(--aldaBtnW);    color: var(--texto);
    font-size: 0.95rem;    font-weight: 600;    line-height: 1; 
    transition: transform 0.18s ease, border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;}

.zonas-lista a:hover,
.zonas-lista a:focus-visible{  transform: translateY(-0.08rem);
  border: 1px solid var(--aldaBtnMap);  background: var(--aldaBtnMap);
  color: white;  box-shadow: 0 0.45rem 1rem rgba(26, 23, 37, 0.08);
  outline: none;}

.zonas-lista a.is-active,.zonas-lista a.is-fixed{
  border-color: var(--alda);  background: var(--alda);
  color: white;}

/* interacción svg */
.zona-interactiva{  cursor: pointer;  transition: opacity 220ms ease;}

.zona-interactiva:focus{  outline: none;}

.zona-interactiva .zona-cuerpo,.zona-interactiva .zona-faldon{
  transition: transform 220ms ease, opacity 220ms ease, filter 220ms ease;
  transform-origin: center;  will-change: transform;}

.mapa-svg.is-dimmed .zona-interactiva{  opacity: 0.32;}

.mapa-svg.is-dimmed .zona-interactiva.is-active,.mapa-svg.is-dimmed .zona-interactiva.is-fixed{
  opacity: 1;}

.zona-interactiva.is-active .zona-cuerpo,.zona-interactiva.is-fixed .zona-cuerpo{
  transform: translateY(-10px);  filter: saturate(1.03) brightness(1.02);}

.zona-interactiva.is-active .zona-faldon,.zona-interactiva.is-fixed .zona-faldon{
  transform: translateY(0);}

.mapa-svg.is-dimmed svg #SUELO-BASE{  opacity: 0.28;  transition: opacity 220ms ease;}

.mapa-svg svg #SUELO-BASE{  transition: opacity 220ms ease;}

    /* conector card ↔ zona */
.mapa-connector{  position: absolute;  inset: 0;
  z-index: 12;  pointer-events: none;  opacity: 0;
  transition: opacity 0.18s ease;}

.mapa-connector.is-visible{  opacity: 1;}

.mapa-connector__line{  position: absolute;  left: 0;  top: 0;  height: 2px;
  width: 0;  background: rgba(255, 255, 255, 0.92);
  box-shadow:    0 0 0 1px rgba(26, 23, 37, 0.04),    0 0.2rem 0.6rem rgba(26, 23, 37, 0.12);
  transform-origin: 0 50%;}

/* rail derecho */
.mapa-side{  min-height: 1px;}

.mapa-ayuda,.mapa-card{  width: 100%;  padding: 1rem 1rem 1.1rem;
  border: 1px solid rgba(26, 23, 37, 0.08);  border-radius: 1rem;
  background: rgb(255 255 255 / 0.96);  backdrop-filter: blur(0.7rem);
  box-shadow: 0 1rem 2rem rgba(26, 23, 37, 0.12);}

.mapa-ayuda{  position: relative;  margin: 0;  color: var(--texto);
  font-size: 0.95rem;  line-height: 1.45;  opacity: 1;  transform: translateY(0);
    transition: opacity 0.18s ease, transform 0.18s ease;}

/* flecha integrada solo en la ayuda */
.mapa-ayuda::after{  content: "";    position: absolute;    left: 3.2rem;
    bottom: -1.45rem;    width: 1rem;    height: 3rem;    background: rgb(255 255 255 / 0.96);
    border-bottom: 1px solid rgba(26, 23, 37, 0.08);    transform: rotate(72deg);
    box-shadow: none;    z-index: 0;}

.mapa-ayuda.is-hidden{  opacity: 0;  transform: translateY(0.75rem);
  pointer-events: none;}

.mapa-card{  position: absolute;  inset: 0 auto auto 0;  opacity: 0;
  transform: translateY(0.75rem);  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease;}

.mapa-card.is-open{  opacity: 1;  transform: translateY(0);
  pointer-events: auto;}

.mapa-card__cerrar{  position: absolute;  top: 0.55rem;  right: 0.55rem;
  width: 2rem;  height: 2rem;  display: grid;  place-items: center;
  border: 0;  border-radius: 999px;  background: transparent;
  color: var(--texto-suave);  font-size: 1.35rem;  cursor: pointer;
  transition: background-color 0.18s ease, color 0.18s ease;}

.mapa-card__cerrar:hover,.mapa-card__cerrar:focus-visible{
  background: rgba(26, 23, 37, 0.06);  color: var(--texto);
  outline: none;}

.mapa-card__titulo{  margin: 0 0 0.55rem;  padding-right: 2rem;
  font-size: 1.35rem;  line-height: 1.1;}

.mapa-card__texto{  margin: 0 0 0.9rem;  color: var(--texto);
  font-size:.8rem;  line-height: 1.45;}

.mapa-card__status{  margin: 0 0 0.85rem;  color: var(--texto-suave);
  line-height: 1.4;}

.mapa-card__volver{  display: inline-flex;  margin: 0 0 1rem;  border:none;
  padding:.2rem .4rem;  border-radius:5px;  background:var(--texto-suave);
  color: white;  font-weight: 500;  cursor: pointer;
    transition: all 0.18s ease;}

.mapa-card__volver:hover,.mapa-card__volver:focus-visible{
  background:var(--alda);  outline: none;}

.mapa-card__enlaces ul{  display: grid;  gap: 0.5rem;
  margin: 0 0 1rem;  padding: 0;  list-style: none;}

.mapa-card__enlaces a{  color: var(--texto);  text-decoration: none;
  border-bottom: 1px solid transparent; 
  transition: color 0.18s ease, border-color 0.18s ease;}

.mapa-card__enlaces a:after{
  content: "↗";color:var(--alda);margin-left:10px;
  font-size: 0.8em;font-weight:800;
  opacity: 0.5;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.mapa-card__enlaces a:active{
  color: var(--alda);
}
.mapa-card__enlaces a:hover::after{
  transform: translate(2px, -2px);
  opacity: 0.8;
}

.mapa-card__enlaces a:hover,.mapa-card__enlaces a:focus-visible{
  color: var(--alda);  border-color: rgba(199, 16, 43, 0.35);
  outline: none;}

/*.mapa-card__catalogo{  display: inline-flex;  align-items: center;
  gap: 0.4rem;  color: var(--alda);  font-weight: 700;}*/



/*============= contenedor de secciones =================*/

.contenedor{ margin:1rem 0; width:min(100% - (var(--contenedor-pad) * 2), var(--contenedor-max));  margin-inline: auto;  padding-inline: 1.25rem;}
.cabeceraPagina-inner {margin:0 auto;} 
/*========= header páginas ===============*/

.header{  padding-bottom:1rem;  border-bottom: 1px solid var(--color-linea);}
.antetitulo{  margin: 0 0 0.5rem;  font-size: 0.82rem;  font-weight: 800;  letter-spacing: 0.08em;  text-transform: uppercase;  color: var(--alda);}
.header h1{  font-size: clamp(2rem, 3.4vw, 3rem);  line-height: 1.08;  margin-bottom: 0.75rem;  font-weight: 500;}
.header-intro{  margin: 0;  color: var(--texto-suave);  line-height: 1.55;}
.header-estructura{  display: flex;  gap: 2rem;  align-items: center;justify-content: space-between;}
.header-acciones{  display: flex;  flex-wrap: wrap;  gap: 0.85rem;      justify-content: flex-end;
    flex-direction: column;
    align-items: flex-end;}
 /*botón hamburguesa*/
 .menu-toggle{
  display: none;
  position: relative;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.menu-toggle span{
  display: block;
  width: 1.45rem;
  height: 2px;
  margin-inline: auto;
  background: var(--texto);
  border-radius: 999px;
  transform-origin: center;
  transition: transform 0.22s ease, opacity 0.18s ease;
}

.menu-toggle.is-active span:nth-child(1){
  transform: translateY(7px) rotate(45deg);
}

.menu-toggle.is-active span:nth-child(2){
  opacity: 0;
}

.menu-toggle.is-active span:nth-child(3){
  transform: translateY(-7px) rotate(-45deg);
}
/*=========== botones ================*/

.btn,.mapa-card__catalogo{  display: flex;    align-items: center;    padding: .5rem 1.1rem; max-height: 2.2rem;   border-radius: 999px;    font-weight: 700;    transition: all 0.2s ease;text-wrap:nowrap;}
.btn:hover,.btn:focus-visible{outline: none;border-radius:15px;}
.btn-primario,.mapa-card__catalogo{width:fit-content;  background: var(--alda);  color: white;  border: 1px solid var(--alda);}
.btn-secundario{  background: white;  color: var(--texto);  border: 1px solid var(--color-linea);}
.btn-primario:hover,.btn-primario:focus-visible,.mapa-card__catalogo:hover{  background:var(--texto);border-color: var(--texto);   color: white;}
.btn-secundario:hover,.btn-secundario:focus-visible{  border-color: var(--alda);  color: var(--alda);outline: none; }

/*============ main ======================*/

/* intro */

.main-intro-titulo{  font-size: clamp(1.3rem, 2.4vw, 1.8rem);  line-height: 1.15;  margin-bottom: 0.75rem;font-weight: 400;}
.contenedor p{    color: var(--texto-suave);  line-height: 1.5;}

/* grid / catálogo*/
.contenedor-grid{  display: grid;  grid-template-columns: repeat(2, minmax(0, 1fr));  gap: 1.25rem;}

/*imagen portada para pantallas pequeñas*/
.imgP{display:none;}

/*cards*/
.card{display: flex;gap: 1rem;border: 1px solid var(--color-linea);    border-radius: 1rem;    background: white;  overflow:hidden; 
   box-shadow: 0 0.15rem .3rem rgba(0, 0, 0, 0.05); position:relative;    transition: all .2s ease;}
.card:hover{transform:translateY(-2px);box-shadow: 0 0.15rem .3rem rgba(199, 16, 43, 0.05);border-color:var(--aldaBtnMap); }
.card-media{max-width: 7.5rem;}
.card-contenido{padding:.7rem 0;display:flex;flex-direction:column;}
.card-contenido h3{padding-bottom:.5rem;}
.card-contenido p{line-height: 1.8cap;color:var(--texto-suave);}
.card-acciones{display:flex;gap:.8rem;}

/* cta final */
.cta-final{  padding: 2rem;  margin-bottom:2rem;  border-radius: 1rem;  background: var(--alda-suave);  border: 1px solid var(--color-linea);display: flex;
    gap: 2rem;    align-items: center;justify-content: space-between;}
.cta-final h2{  font-size: clamp(1.6rem, 2.5vw, 2.25rem);  line-height: 1.8cap;margin-bottom: 0.75rem;}
.cta-final p{  line-height: 1.5;}

/* galería */

.expo-galeria{  display: grid;  grid-template-columns: minmax(0, 1.5fr) minmax(16rem, 0.55fr);  
  gap: 0.75rem;  height: clamp(24rem, 46vw, 42rem);}
.galeria-img-principal{  grid-column: 1;    margin: 0;  min-height: 0;  overflow: hidden;  border-radius: 0.8rem;}
.galeria-thumbs{  grid-column: 2;    display: grid;   gap: 0.75rem;  min-height: 0;}
.galeria-thumb{  margin: 0;  min-height: 0;  overflow: hidden; border-radius: 0.8rem;  cursor: pointer; filter: grayscale(.8);  transition: all .2s ease;}
.galeria-img-principal img,.galeria-thumb img{  width: 100%;  height: 100%;  object-fit: cover;  object-position: center;  display: block;}
.galeria-thumb:hover{   border:3px solid var(--alda-suave);filter: grayscale(.2);}
.galeria-thumb.activa{  border:3px solid var(--alda2);  filter: grayscale(0);}

/* exposicion refactor */
.expo-contenido{
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(17rem, 1fr);
  gap: 2rem;
  align-items: start;
}

.expo-visual{
  min-width: 0;
}

.expo-galeria{
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
  gap: 1rem;
  height: clamp(24rem, 46vw, 42rem);
  align-items: stretch;
}

.expo-principal{
  margin: 0;
  overflow: hidden;
  border-radius: 0.75rem;
  height: 100%;
}

.expo-principal img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.expo-secundarias{
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  gap: 1rem;
  height: 100%;
}

.expo-secundarias .galeria-thumb{
  margin: 0;
  overflow: hidden;
  border-radius: 0.75rem;
  height: 100%;
}

.expo-secundarias .galeria-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.expo-info{
  position: sticky;
  top: 6.2rem;
  padding: 1.5rem;
  border-radius: 0.75rem;
  background: #f7f7f7;
  border: 1px solid var(--color-linea);
}

.expo-info h3{
  margin: 0 0 1rem;
}

.expo-info p{
  margin: 0 0 0.75rem;
  color: var(--texto);
  font-size: 0.9rem;
  line-height: 1.45;
}

.expo-info a{
  color: var(--texto);
}

.expo-info p a{
  color: var(--alda);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12rem;
}

.expo-info p a:hover,
.expo-info p a:focus-visible{
  color: var(--texto);
  outline: none;
}

.expo-info-acciones a{
  text-decoration: none;
}

.expo-info-acciones{
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1rem;
}

.mapa-info .expo-resumen{
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.5;
  color: var(--texto-suave);
}

/* info estructura */
.info-estructura{display:grid; grid-template-columns:minmax(0,3fr) minmax(20rem, 1fr);gap:2rem;}
.card-info{border:1px solid var(--color-linea);border-radius:1rem;padding:2rem;box-shadow: 0 0.15rem .3rem rgba(0, 0, 0, 0.05);}
.card-info-lista{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;}
.card-info-lista li{line-height: 3cap;font-size:.9rem;}
.card-info-lista li:not(:last-child){border-bottom: 1px solid var(--color-linea);}
.card-info a{width:fit-content;}

/* mapa */
.contenedor-mapa{  overflow: hidden;  min-height: 24rem;  border: 2px solid var(--color-linea);  border-radius: 1.2rem;box-shadow: 0 0.15rem .3rem rgba(0, 0, 0, 0.05);}
.contenedor-mapa iframe{  display: block;  width: 100%;  height: 24rem;  border: 0;}
.mapa-info{ margin-top: 1rem;    border-radius: 1rem;    background: white;}
.mapa-info p{  margin-bottom: 0.75rem;  color: var(--texto-suave);}
.mapa-info-lista{  display: grid;  gap: 0.4rem;}
.mapa-info-lista li{  font-size: 0.95rem;}
#como-llegar{  scroll-margin-top: 5rem;}
.bloque-mapa {  margin-top: 80px;}
/* empresa */
.grid-QS{display: grid;  grid-template-columns: minmax(0, 1.5fr) minmax(16rem, 0.55fr);   gap: 2rem;}
.QS-logo{overflow: hidden; border-radius: 0.8rem; }
.grid-QH{display: grid;  grid-template-columns: 1fr 1fr;   gap: 1rem;}
.empresa .card-info h3{padding-bottom:1rem;}
.resumen-alda{background:var(--alda);color:white;}
.resumen-alda .card-info-lista li:not(:last-child){border-bottom:1px dotted white;}

/* Crisol */
.grid-Crisol{display:grid;grid-template-columns: minmax(16rem, 0.55fr) minmax(0, 1.5fr);   gap: 2rem;}
.crisol-logo{width:100%;background:white;display:flex; padding:1rem;border-radius:1rem;}
.crisol-acciones{display:flex;gap:.8rem;}

/* empresa · ajustes de compactación y composición */
.empresa .grid-QS{
  grid-template-columns: 1fr;
}

.empresa .QS-texto{
  max-width: 58rem;
}

.empresa .empresa-logo-superior .contenedor{
  margin-top: 0.25rem;
}

.empresa .empresa-logo-superior__media{
  margin: 0;
  width: min(14rem, 100%);
  border-radius: 0.8rem;
  overflow: hidden;
}

.empresa .empresa-logo-superior__media img{
  width: 100%;
  display: block;
}

.empresa .grid-Crisol{
  gap: 1.35rem;
  align-items: center;
}

.empresa .crisol-logo{
  display: grid;
  gap: 0.85rem;
  align-content: start;
}

.empresa .alda-cifras{
  gap: 1.35rem;
}

.empresa .QT .contenedor,
.empresa .empresa-cifras .contenedor{
  margin-top: 0.5rem;
}

.empresa .faldon-cta .cta-final{
  margin-bottom: 1rem;
  padding: 1.5rem;
}

/* Alda cifras */
.alda-cifras{display:grid;grid-template-columns: 1fr 1fr 1fr;   gap: 2rem;}
.alda-cifras article span{display: inline-block;    margin-bottom: 0.75rem;
    font-size: clamp(1.8rem, 3vw, 2.6rem);    line-height: 1;
    font-weight: 800;    color: var(--alda);}

/* Contacto */
.enlaceO{color:var(--alda);font-weight: 500;} 
.enlaceO:hover{color:var(--texto);}   
.contacto-grid{  display: grid;  grid-template-columns: 0.86fr 1.14fr;
  gap: 1.4rem;  align-items: start;}
.contacto-info{display:flex;flex-direction:column;gap:0.85rem;} 
.card-infos .card-info{padding:1rem 2rem;} 
.card-info .btn-primario,.card-info .btn-primario:hover{color:white;}
.card-info .textoEspecial{margin:1rem 0;}
.contacto-card{padding:1.35rem 1.4rem;}
.contacto-card h3,.contacto-form-card h3{margin-bottom:0.45rem;}
.contacto-card p{margin-bottom:0.7rem;}
.contacto-ayuda{
  margin:0;
  font-size:0.92rem;
  line-height:1.45;
  color:var(--texto-suave);
}
.contacto-directo-lista{
  margin:0.8rem 0 0.7rem;
  padding:0;
  list-style:none;
  display:grid;
  gap:0.6rem;
}
.contacto-directo-lista li{
  display:flex;
  flex-wrap:wrap;
  gap:0.35rem;
  align-items:baseline;
}
.contacto-directo-lista strong{color:var(--texto);}
.contacto-directo-lista a{
  color:var(--texto);
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:rgba(199, 16, 43, 0.42);
  text-underline-offset:0.18rem;
}
.contacto-directo-lista a:hover,
.contacto-directo-lista a:focus-visible{
  color:var(--alda);
  text-decoration-color:var(--alda);
}
.contacto-form-card{
  padding:1.6rem;
  border-color:rgba(199, 16, 43, 0.18);
  box-shadow:0 0.4rem 1.5rem rgba(26, 23, 37, 0.08);
}
.contacto-form{display:grid;gap:1rem;margin-top:1rem;}
.contacto-form__row{  display: grid;  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;}

.contacto-field{  display: grid;  gap: 0.45rem;}

.contacto-field label{  font-size: 0.95rem;  font-weight: 700;
  color: var(--texto);}

.contacto-field input,
.contacto-field textarea{  width: 100%;  padding: 0.9rem 1rem;  border: 1px solid rgba(26, 23, 37, 0.14);
  border-radius: 0.9rem;  background: white;  font: inherit;  color: var(--texto);  
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.contacto-field input::placeholder,.contacto-field textarea::placeholder{
  color: var(--texto-suave);}

.contacto-field input:focus,.contacto-field textarea:focus{
  outline: none;  border-color: rgba(199, 16, 43, 0.45);
  box-shadow: 0 0 0 0.2rem rgba(199, 16, 43, 0.08);}

.contacto-field textarea{  resize: vertical;  min-height: 10rem;}

.contacto-check{  display: flex;  align-items: flex-start;  gap: 0.65rem;
  padding-top: 0.25rem;}
.contacto-check a{
  color:var(--alda);
  text-decoration:underline;
  text-underline-offset:0.15rem;
}
.contacto-check a:hover,.contacto-check a:focus-visible{color:var(--texto);}
button[type="submit"]{font-weight:700;font-size:1rem;cursor:pointer;}
.contacto .mapa .contenedor{margin-top:0.5rem;}
.contacto #contacto-mapa .main-intro-titulo{margin-bottom:0.55rem;}
.contacto #contacto-mapa .contenedor-mapa{
  min-height:19rem;
  max-height:24rem;
}
.contacto #contacto-mapa .contenedor-mapa iframe{
  height:clamp(19rem, 36vw, 24rem);
}
.contacto .faldon-cta{margin-top:0.6rem;}


.legal-nav{
  margin-bottom: 1.5rem;
}

.legal-nav a{
  font-size: 0.9rem;
  color: var(--texto-suave);
  text-decoration: none;
}

.legal-nav a:hover{
  text-decoration: underline;
}
.contenedor-legal{padding:2rem;}

/*============ portada demo ===============*/
.demo-home{
  min-height: calc(100vh - var(--cabecera-alto));
  background:
    radial-gradient(circle at top left, rgba(199, 16, 43, 0.08), transparent 24rem),
    linear-gradient(180deg, #faf7f7 0%, #ffffff 42%);
}

.portada-demo{
  position: relative;
  padding: 1.5rem 0 3rem;
}

.demo-badge{
  position: fixed;
  left: 50%;
  bottom: 1rem;
  transform: translateX(-50%);
  z-index: 90;
  display: inline-flex;
  align-items: center;
  padding: 0.3rem;
  border: 1px solid rgba(26, 23, 37, 0.08);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.64);
  backdrop-filter: blur(0.75rem);
  box-shadow: 0 0.4rem 1.2rem rgba(26, 23, 37, 0.08);
}

.demo-stage{
  position: relative;
  margin-top: 1rem;
}

.portada-variant{
  display: none;
  min-height: calc(100vh - 12rem);
}

body[data-portada="a"] .portada-variant--a,
body[data-portada="b"] .portada-variant--b,
body[data-portada="c"] .portada-variant--c{
  display: block;
}

.portada-panel{
  border: 1px solid rgba(26, 23, 37, 0.08);
  border-radius: 1.5rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 1.5rem 3rem rgba(26, 23, 37, 0.08);
  overflow: hidden;
}

.portada-contacto{
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
  padding: 1rem 1.25rem 0;
}

.portada-contacto p{
  margin: 0;
  font-size: 0.9rem;
  color: var(--texto-suave);
}

.portada-contacto a{
  color: var(--texto);
  font-weight: 700;
}

.portada-contacto a:hover{
  color: var(--alda);
}

.portada-a__grid{
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
  gap: 2rem;
  padding: 1.25rem;
  align-items: stretch;
}

.portada-copy{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1rem, 2vw, 2rem);
}

.portada-copy__eyebrow{
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--alda);
}

.portada-copy h1,
.portada-c__card h1{
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  line-height: 0.98;
  font-weight: 500;
  margin-bottom: 1rem;
}

.portada-copy p,
.portada-c__card p{
  max-width: 36rem;
  font-size: 1.05rem;
  line-height: 1.6;
  color: var(--texto-suave);
}

.portada-actions{
  display: flex;
  gap: 0.85rem;
  flex-wrap: wrap;
  margin-top: 1.5rem;
}

.portada-a__media{
  position: relative;
  min-height: 36rem;
  border-radius: 1.1rem;
  overflow: hidden;
}

.portada-a__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.portada-a__media-card{
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  max-width: 16rem;
  padding: 1rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 1rem 2rem rgba(26, 23, 37, 0.12);
}

.portada-a__media-card p{
  margin: 0;
  font-size: 0.9rem;
  color: var(--texto);
}

.portada-b__top{
  padding: 2rem 2rem 0.5rem;
}

.portada-b__top h1{
  font-size: clamp(2.2rem, 4.2vw, 4rem);
  line-height: 1.02;
  max-width: 18ch;
  margin-bottom: 0.85rem;
}

.portada-b__top p{
  max-width: 42rem;
}

.portada-b__grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  padding: 1.5rem 2rem 2rem;
}

.portada-link{
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 19rem;
  padding: 1.25rem;
  border-radius: 1.1rem;
  color: white;
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
  transition: transform 0.2s ease;
}

.portada-link::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(26, 23, 37, 0.08), rgba(26, 23, 37, 0.7));
}

.portada-link > *{
  position: relative;
  z-index: 1;
}

.portada-link span{
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.82;
}

.portada-link strong{
  display: block;
  margin: 0.5rem 0 0.45rem;
  font-size: 1.35rem;
  line-height: 1.1;
}

.portada-link p{
  margin: 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.95rem;
}

.portada-link:hover{
  transform: translateY(-2px);
}

.portada-c__hero{
  position: relative;
  min-height: 42rem;
  border-radius: 1.5rem;
  overflow: hidden;
  background: var(--texto);
}

.portada-c__hero img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.portada-c__hero::after{
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(26, 23, 37, 0.78) 0%, rgba(26, 23, 37, 0.34) 52%, rgba(26, 23, 37, 0.18) 100%),
    linear-gradient(180deg, rgba(26, 23, 37, 0.08), rgba(26, 23, 37, 0.2));
}

.portada-c__content{
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  min-height: 42rem;
  padding: 2rem;
}

.portada-c__card{
  max-width: 36rem;
  padding: 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(0.5rem);
  color: white;
}

.portada-c__card .portada-copy__eyebrow,
.portada-c__card p{
  color: rgba(255, 255, 255, 0.86);
}

.portada-c__card .btn-secundario{
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.35);
  color: white;
}

.portada-c__card .btn-secundario:hover,
.portada-c__card .btn-secundario:focus-visible{
  border-color: white;
  color: white;
}

.demo-switcher{
  display: inline-flex;
  gap: 0.2rem;
  align-items: center;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
}

.demo-switcher__button{
  width: 1.9rem;
  height: 1.9rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--texto-suave);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: background-color 0.18s ease, color 0.18s ease;
}

.demo-switcher__button:hover,
.demo-switcher__button:focus-visible{
  background: rgba(199, 16, 43, 0.08);
  color: var(--texto);
  outline: none;
}

.demo-switcher__button.is-active{
  background: var(--texto);
  color: white;
}

.portada-b{
  min-height: calc(100vh - 12rem);
  padding: 3rem 0 4rem;
}

.portada-b__intro{
  padding: 0 0 3rem;
}

.portada-b__split{
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(18rem, 0.8fr);
  gap: 2rem;
  align-items: start;
}

.portada-b__split h1{
  font-size: clamp(3rem, 5.6vw, 5.8rem);
  line-height: 0.92;
  font-weight: 500;
  max-width: 8ch;
}

.portada-b__aside{
  padding-top: 0.75rem;
}

.portada-b__aside p{
  max-width: 28rem;
  font-size: 1rem;
  line-height: 1.7;
}

.portada-b__sheet{
  display: grid;
  grid-template-columns: minmax(0, 0.22fr) minmax(0, 1fr) minmax(18rem, 0.9fr);
  gap: 2rem;
  align-items: start;
  padding-top: 1rem;
  border-top: 1px solid rgba(26, 23, 37, 0.12);
}

.portada-b__linea{
  min-height: 100%;
  border-left: 1px solid rgba(26, 23, 37, 0.12);
}

.portada-b__meta{
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  padding-top: 0.35rem;
}

.portada-b__meta p{
  margin: 0;
  font-size: 0.9rem;
  color: var(--texto-suave);
}

.portada-b__meta a{
  color: var(--texto);
}

.portada-b__image{
  min-height: 32rem;
  border-radius: 1.2rem;
  overflow: hidden;
}

.portada-b__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.78) contrast(0.95);
}

.portada-b__links{
  display: grid;
  gap: 0.35rem;
  align-self: end;
}

.portada-b__links a{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(26, 23, 37, 0.12);
  transition: color 0.18s ease, transform 0.18s ease;
}

.portada-b__links a span{
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--texto-suave);
}

.portada-b__links a strong{
  font-size: 1.15rem;
  font-weight: 600;
}

.portada-b__links a:hover,
.portada-b__links a:focus-visible{
  color: var(--alda);
  transform: translateX(0.2rem);
  outline: none;
}

.portada-c{
  display: grid;
  gap: 3rem;
  padding-bottom: 3rem;
}

.portada-c__mast{
  min-height: 92vh;
}

.portada-c__frame{
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 2rem;
  align-items: center;
  min-height: 92vh;
}

.portada-c__sticky-copy{
  position: sticky;
  top: calc(var(--cabecera-alto) + 2rem);
  align-self: start;
  max-width: 28rem;
}

.portada-c__sticky-copy h1{
  font-size: clamp(2.7rem, 5vw, 5.2rem);
  line-height: 0.92;
  margin-bottom: 1rem;
}

.portada-c__sticky-copy p:not(.portada-copy__eyebrow){
  font-size: 1.05rem;
  line-height: 1.65;
}

.portada-c__visual{
  min-height: 80vh;
  border-radius: 1.5rem;
  overflow: hidden;
}

.portada-c__visual img,
.portada-c__imageblock img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.portada-c__section{
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
  gap: 2rem;
  align-items: center;
}

.portada-c__section--reverse{
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr);
}

.portada-c__textblock{
  padding: 1rem 0;
}

.portada-c__textblock span{
  display: inline-block;
  margin-bottom: 0.85rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--alda);
}

.portada-c__textblock h2,
.portada-c__closing h2{
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1;
  margin-bottom: 0.8rem;
}

.portada-c__textblock p,
.portada-c__closing p{
  max-width: 28rem;
  font-size: 1rem;
  line-height: 1.65;
}

.portada-c__imageblock{
  min-height: 30rem;
  border-radius: 1.4rem;
  overflow: hidden;
}

.portada-c__section--final{
  grid-template-columns: 1fr;
}

.portada-c__closing{
  padding: 2rem;
  border: 1px solid rgba(26, 23, 37, 0.08);
  border-radius: 1.5rem;
  background: linear-gradient(180deg, rgba(239, 234, 235, 0.86), rgba(255, 255, 255, 0.96));
}

.portada-c__contacto{
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin: 1.25rem 0 0;
}

.portada-c__contacto a{
  font-weight: 700;
}

.scroll-reveal{
  opacity: 0;
  transform: translateY(2rem);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.scroll-reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}

/*============ portada principal A ===============*/
.portada-a-home{
  min-height: 100vh;
  background: #141218;
}

.portada-a{
  min-height: 100vh;
}

.portada-a-hero{
  position: relative;
  min-height: 100vh;
  padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 3vw, 2.5rem) clamp(6.8rem, 10vh, 8rem);
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url("../img/galeria1.jpg");
  background-size: cover;
  background-position: center;
  overflow: hidden;
  isolation: isolate;
}

.portada-a-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.55) 0%,
    rgba(0, 0, 0, 0.35) 40%,
    rgba(0, 0, 0, 0.55) 100%
  );
  z-index: -1;
}

.portada-a-contenido{
  width: min(52rem, 100%);
  text-align: center;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.portada-a-logo{
  width: clamp(11.8rem, 22.5vw, 19rem);
  margin-bottom: clamp(1rem, 2.5vh, 1.6rem);
  opacity: 0.9;
  filter: drop-shadow(0 0.5rem 1.35rem rgba(0, 0, 0, 0.28));
}

.portada-a-contenido h1{
  margin: 0 0 clamp(0.85rem, 1.9vh, 1.15rem);
  max-width: 16ch;
  color: #ffffff;
  font-size: clamp(1.9rem, 4.1vw, 3rem);
  line-height: 1.05;
  font-weight: 500;
  text-wrap: balance;
  text-shadow: 0 0.3rem 1.2rem rgba(0, 0, 0, 0.25);
}

.portada-a-cta{
  margin-top: 0.15rem;
  padding: 0.78rem 1.55rem;
  min-height: 2.8rem;
  font-size: 0.98rem;
  letter-spacing: 0.01em;
}

.portada-a-contacto{
position: absolute;
    left: 50%;
    bottom: clamp(1rem, 2.5vw, 1.8rem);
    transform: translateX(-50%);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem 1.2rem;
    flex-wrap: wrap;
    padding: 0.5rem 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(10, 10, 12, 0.4);
    backdrop-filter: blur(0.35rem);
}

.portada-a-contacto a{
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.84rem;
  font-weight: 500;
  transition: color 0.18s ease, opacity 0.18s ease;
}

.portada-a-contacto a:hover,
.portada-a-contacto a:focus-visible{
  color: #ffffff;
  opacity: 1;
  outline: none;
}

/*============ portada index (migrado desde index.html) ===============*/
body.index{
  --fondo-overlay: rgba(0, 0, 0, 0.2);
  --texto: #b71c1c;
  background: #000;
  overflow-y: scroll;
}

body.index .hero{
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem 1.2rem 7rem;
  background: none;
  isolation: isolate;
  overflow: hidden;
}

.hero-media {
  overflow: hidden;
  position: relative;
}

.hero-img {
  width: 110%;
  max-width: none;
  transform: translateX(0);
  transition: transform 0.1s linear;
}

body.index .hero-media{
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

body.index .hero-img{
  width: 110%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.index .cabeceraPagina{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  transform: translateY(-100%);
  transition: transform 0.4s ease;
}

body.index .contenedor{
  width: min(calc(100% - 2.5rem), 78rem);
  margin-inline: auto;
  padding-inline: 1.25rem;
}

body.index .cabeceraPagina-inner{
  min-height: 3.8rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin: 0 auto;
}

body.index .logo-Alda img{
  display: block;
  width: 6rem;
  height: auto;
}

body.index.show-header .cabeceraPagina{
  transform: translateY(0);
}

body.index .hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: var(--fondo-overlay);
  pointer-events: none;
  z-index: 1;
}

body.index .hero::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -100%;
  width: 100%;
  height: 200%;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.35) 0%,
    rgba(0, 0, 0, 0.25) 30%,
    rgba(0, 0, 0, 0.15) 55%,
    rgba(0, 0, 0, 0.05) 75%,
    transparent 100%
  );
  transform: translateY(0);
  transition: transform 0.5s ease;
  pointer-events: none;
  z-index: 2;
}

body.index.hero-fade .hero::after{
  transform: translateY(-50%);
}

body.index .hero-contenido{
  position: relative;
  z-index: 3;
  width: min(100%, 43.75rem);
  text-align: center;
  color: white;
  padding: 1rem;
}

body.index .hero-logo{
  display: block;
  width: clamp(12rem, 24vw, 17rem);
  margin-inline: auto;
  margin-bottom: 1.35rem;
  filter: brightness(0) invert(1) drop-shadow(0 0.4rem 1rem rgba(0, 0, 0, 0.35));
}

body.index .hero h1{
  margin: 0 0 1.2rem;
  max-width: 16ch;
  margin-inline: auto;
  font-size: clamp(1.9rem, 4vw, 3rem);
  line-height: 1.14;
  font-weight: 500;
  text-wrap: balance;
  text-shadow:
    0 0.18rem 0.6rem rgba(0, 0, 0, 0.58),
    0 0.02rem 0.08rem rgba(0, 0, 0, 0.7);
}

body.index .hero-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.9rem;
  padding: 0.78rem 1.55rem;
  border-radius: 999px;
  background: var(--alda);
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.98rem;
  transition: background-color 0.2s ease;
}

body.index .hero-cta:hover,
body.index .hero-cta:focus-visible{
  background: var(--texto);
  outline: none;
}

body.index .hero-badge{
      color: rgba(255, 255, 255, 0.72);
    font-size: 0.74rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: 0.01em;
    align-self: flex-start;
    text-align: center;
}

body.index .hero-badge a{
  color: white;
  font-weight: 800;
  text-decoration: none;
}

body.index .hero-contacto{
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 1.1rem;
  transform: translateX(-50%);
  width: min(100% - 1rem, 43rem);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.3rem 1.25rem;
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.6);
}

body.index .hero-contacto a{
  color: #fff;
  text-decoration: none;
  font-size: 0.84rem;
  font-weight: 500;
  opacity: 0.92;
}

body.index .hero-contacto a:hover,
body.index .hero-contacto a:focus-visible{
  opacity: 1;
  outline: none;
}
