:root{
  --fondo:#161616;
  --panel:#232323;
  --panel-alto:#2C2C2C;
  --tinta:#F0F0EC;
  --lima:#B7E04B;
  --lima-hover:#C8EB6B;
  --apagado:#8C8C86;
  --linea:rgba(240,240,236,.14);
  --lima-tenue:rgba(183,224,75,.14);
  --error:#F0A9A9;
  --riel-ancho:244px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{
  background:var(--fondo);
  color:var(--tinta);
  font-family:Cardo,Georgia,"Times New Roman",serif;
  font-size:clamp(1.02rem,.42vw + .95rem,1.18rem);
  line-height:1.62;
  min-height:100vh;
}
img{border-radius:12px;width:100%;height:auto;display:block}
a{color:var(--lima);text-decoration:none}
a:hover{color:var(--lima-hover)}
:focus-visible{outline:2px solid var(--lima);outline-offset:3px}
button,input,select,textarea{font:inherit;color:inherit}

.salto-contenido{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:80;
  background:var(--lima);
  color:#161616;
  padding:.7rem 1rem;
  font-family:Chivo,Arial,sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:12px;
}
.salto-contenido:focus{left:16px;top:16px}

.riel{
  position:fixed;
  left:0;top:0;bottom:0;
  width:var(--riel-ancho);
  background:#1B1B1B;
  border-right:1px solid var(--linea);
  display:flex;
  flex-direction:column;
  padding:28px 22px;
  z-index:40;
}
.riel__marca{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--tinta);
  font-family:Chivo,Arial,sans-serif;
  font-weight:900;
  font-size:1.15rem;
  letter-spacing:-.02em;
}
.riel__marca img{width:34px;height:34px;border-radius:8px;flex:0 0 34px}
.riel__marca:hover{color:var(--lima)}
.riel__nav{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:36px 0 auto;
}
.riel__nav a{
  font-family:Chivo,Arial,sans-serif;
  font-weight:700;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--apagado);
  padding:9px 10px 9px 14px;
  border-left:2px solid transparent;
}
.riel__nav a:hover{color:var(--tinta);background:var(--lima-tenue)}
.riel__nav a.es-actual{
  color:var(--lima);
  border-left-color:var(--lima);
  background:var(--lima-tenue);
}
.riel__pie{display:flex;flex-direction:column;gap:6px;padding-top:18px;border-top:1px solid var(--linea)}
.riel__tel{
  font-family:Chivo,Arial,sans-serif;
  font-weight:700;
  font-size:13px;
  letter-spacing:.04em;
  color:var(--tinta);
}
.riel__tel:hover{color:var(--lima)}
.riel__nota{font-size:.88rem;color:var(--apagado)}

.barra-movil{
  display:none;
  position:sticky;
  top:0;
  z-index:50;
  background:#1B1B1B;
  border-bottom:1px solid var(--linea);
  padding:14px 18px;
  align-items:center;
  justify-content:space-between;
}
.barra-movil__marca{
  font-family:Chivo,Arial,sans-serif;
  font-weight:900;
  color:var(--tinta);
  letter-spacing:-.02em;
}
.barra-movil__boton{
  background:transparent;
  border:1px solid var(--lima);
  color:var(--lima);
  font-family:Chivo,Arial,sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:12px;
  padding:8px 14px;
  border-radius:8px;
  cursor:pointer;
}
.barra-movil__boton:hover{background:var(--lima);color:#161616}

.lienzo{
  margin-left:var(--riel-ancho);
  padding:0 clamp(20px,4vw,64px);
  padding-top:clamp(36px,5vw,72px);
}

.zocalo{
  margin-left:var(--riel-ancho);
  padding:clamp(48px,6vw,88px) clamp(20px,4vw,64px) 36px;
  border-top:1px solid var(--linea);
  background:#121212;
}
.zocalo__alta{
  background:var(--panel);
  border-radius:14px;
  padding:clamp(24px,3vw,40px);
  margin-bottom:clamp(36px,4vw,64px);
}
.zocalo__alta h2{
  font-family:Chivo,Arial,sans-serif;
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.08;
  font-size:clamp(1.7rem,3vw,2.4rem);
  margin:0 0 12px;
}
.zocalo__alta p{max-width:68ch;color:var(--apagado);margin:0 0 22px}
.zocalo__columnas{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.2fr;
  gap:clamp(24px,3vw,48px);
  margin-bottom:clamp(28px,3vw,44px);
}
.zocalo h3{
  font-family:Chivo,Arial,sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:12px;
  color:var(--lima);
  margin:0 0 14px;
}
.zocalo__columnas p{margin:0;color:var(--apagado);max-width:36ch}
.zocalo__columnas ul{list-style:none;margin:0;padding:0}
.zocalo__columnas li{margin:0 0 8px}
.zocalo__columnas a{color:var(--tinta)}
.zocalo__columnas a:hover{color:var(--lima)}
.zocalo__confianza{
  color:var(--tinta);
  margin:0 0 22px;
  padding:16px 0;
  border-top:1px solid var(--linea);
  border-bottom:1px solid var(--linea);
  max-width:78ch;
}
.zocalo__bajo{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  align-items:baseline;
  color:var(--apagado);
  font-size:.92rem;
}
.zocalo__bajo a{color:var(--apagado)}
.zocalo__bajo a:hover{color:var(--lima)}
.zocalo__legal{flex-basis:100%;max-width:88ch}

h1,h2,h3,h4{
  font-family:Chivo,Arial,sans-serif;
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.06;
  margin:0 0 .6em;
}
h1{font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.04}
.pagina--inicio h1{
  font-size:clamp(2.6rem,6.4vw,5.4rem);
  text-transform:uppercase;
  line-height:1.02;
}
h2{font-size:clamp(1.7rem,3.2vw,2.7rem)}
h3{font-size:clamp(1.2rem,1.6vw,1.45rem);font-weight:700;line-height:1.2}
.lid{font-size:clamp(1.3rem,1.6vw,1.5rem);line-height:1.5;max-width:68ch;color:var(--tinta)}
.columna-texto{max-width:66ch}
.rotulo{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:Chivo,Arial,sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:12px;
  color:var(--apagado);
  margin:0 0 14px;
}
.rotulo::before{
  content:"";
  width:6px;height:6px;
  background:var(--lima);
  border-radius:50%;
  flex:0 0 6px;
}

.duo{display:grid;grid-template-columns:1.48fr .52fr;gap:clamp(28px,3.4vw,60px);align-items:start}
.tapiz{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.ficha{
  grid-column:span 4;
  background:var(--panel);
  border-radius:14px;
  padding:28px;
  min-width:0;
}
.ficha--ancha{grid-column:span 6}
.ficha--mayor{grid-column:span 8}
.ficha--alta{grid-column:span 4;grid-row:span 2}
.ficha--acento{box-shadow:inset 0 3px 0 var(--lima)}
.ficha:hover{background:var(--panel-alto)}
.ficha__cat{
  font-family:Chivo,Arial,sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:12px;
  color:var(--lima);
  display:block;
  margin-bottom:12px;
}
.ficha h3{margin-bottom:10px}
.ficha p{margin:0 0 12px;color:var(--tinta)}
.ficha__hacer{color:var(--lima) !important;margin-bottom:0}
.ficha__meta,.ficha__formato{
  font-family:Chivo,Arial,sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  color:var(--apagado);
  margin:12px 0 0;
}
.ficha ul{margin:8px 0 0;padding-left:1.1em;color:var(--tinta)}
.ficha li{margin:0 0 6px}
.ficha .flecha{font-family:Chivo,Arial,sans-serif;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.ficha--oculta{display:none}

.filtros{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.no-js .filtros{display:none}
.filtro{
  background:transparent;
  border:1px solid var(--linea);
  color:var(--apagado);
  font-family:Chivo,Arial,sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:12px;
  padding:9px 14px;
  border-radius:8px;
  cursor:pointer;
}
.filtro:hover{border-color:var(--lima);color:var(--lima)}
.filtro--activo,.filtro[aria-pressed="true"]{
  background:var(--lima);
  border-color:var(--lima);
  color:#161616;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-family:Chivo,Arial,sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:12px;
  line-height:1;
  padding:14px 20px;
  border-radius:8px;
  border:1px solid transparent;
  cursor:pointer;
  text-decoration:none;
}
.btn--lima{background:#B7E04B;color:#161616}
.btn--lima:hover{background:#C8EB6B;color:#161616}
.btn--linea{background:transparent;border-color:var(--lima);color:#B7E04B}
.btn--linea:hover{background:#B7E04B;color:#161616}
.btn--tinta{background:#161616;color:#F0F0EC}
.btn--tinta:hover{background:#2A2A2A;color:#F0F0EC}
.acciones{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}

.hechos{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px 18px;
  margin:28px 0 0;
  padding:0;
  list-style:none;
}
.hechos li{
  font-family:Chivo,Arial,sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  color:var(--apagado);
  padding-left:12px;
  border-left:2px solid var(--lima);
}

.corte{height:1px;background:var(--linea);margin:clamp(48px,6vw,96px) 0}
.bloque{margin:0 0 clamp(8px,1vw,16px)}

.caja-formulario{
  background:var(--panel);
  border-radius:14px;
  padding:26px 24px;
  box-shadow:inset 0 3px 0 var(--lima);
}
.caja-formulario h2,.caja-formulario h3{
  font-size:1.35rem;
  margin-bottom:8px;
}
.caja-formulario > p{color:var(--apagado);font-size:1rem;margin:0 0 18px}
.formulario{display:grid;gap:14px}
.formulario--alta{grid-template-columns:1fr auto;align-items:end}
.formulario--alta .campo--acuerdo{grid-column:1/-1}
.formulario--alta .campo--trampa{grid-column:1/-1}
.campo{display:flex;flex-direction:column;gap:6px}
.campo label{
  font-family:Chivo,Arial,sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:12px;
  color:var(--apagado);
}
.campo input,.campo select,.campo textarea{
  background:#1A1A1A;
  border:1px solid var(--linea);
  border-radius:8px;
  padding:11px 12px;
  color:var(--tinta);
  width:100%;
}
.campo textarea{min-height:120px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{
  border-color:var(--lima);
  outline:none;
}
.campo--acuerdo{flex-direction:row;align-items:flex-start;gap:10px}
.campo--acuerdo label{
  text-transform:none;
  letter-spacing:0;
  font-family:Cardo,Georgia,serif;
  font-weight:400;
  font-size:1rem;
  color:var(--tinta);
  line-height:1.45;
}
.campo--acuerdo input{width:auto;margin-top:4px;accent-color:var(--lima)}
.campo__error{color:#F0A9A9;margin:0;font-size:.95rem}
.campo--malo input,.campo--malo select,.campo--malo textarea{border-color:#F0A9A9}
.formulario__nota{margin:8px 0 0;color:var(--apagado);font-size:.95rem}

.panel-dato{
  background:var(--panel);
  border-radius:14px;
  padding:28px;
  box-shadow:inset 0 3px 0 var(--lima);
}
.panel-dato h3{margin-bottom:14px}
.panel-dato ol,.panel-dato ul{margin:0;padding-left:1.15em}
.panel-dato li{margin:0 0 10px}
.panel-dato p{margin:0 0 12px}

.pasos{margin:0;padding:0;list-style:none;counter-reset:paso}
.pasos li{
  counter-increment:paso;
  margin:0 0 22px;
  padding-left:0;
}
.pasos h3{
  display:flex;
  align-items:baseline;
  gap:12px;
}
.pasos h3::before{
  content:counter(paso);
  font-size:1rem;
  color:var(--lima);
  min-width:1.4em;
}

.llamada{
  background:var(--lima);
  color:#161616;
  border-radius:14px;
  padding:clamp(32px,4vw,56px);
  margin:clamp(36px,5vw,72px) 0 48px;
}
.llamada h2{color:#161616}
.llamada p{color:#161616;max-width:66ch}
.llamada a:not(.btn){color:#161616}
.llamada .btn--tinta{color:#F0F0EC}
.llamada .btn--tinta:hover{color:#F0F0EC}

.aviso-exito,.aviso-error{
  border-radius:14px;
  padding:18px 20px;
  margin:0 0 28px;
}
.aviso-exito{background:var(--fondo);border:2px solid var(--lima)}
.aviso-error{background:var(--panel);border:2px solid #F0A9A9}
.aviso-exito p,.aviso-error p{margin:0;max-width:68ch}

.pliegue{
  background:var(--panel);
  border-radius:14px;
  padding:4px 22px;
  margin:0 0 10px;
}
.pliegue summary{
  cursor:pointer;
  font-family:Chivo,Arial,sans-serif;
  font-weight:700;
  font-size:1.12rem;
  letter-spacing:-.02em;
  padding:16px 0;
  list-style:none;
}
.pliegue summary::-webkit-details-marker{display:none}
.pliegue summary::after{
  content:"+";
  float:right;
  color:var(--lima);
  font-weight:900;
}
.pliegue[open] summary::after{content:"–"}
.pliegue p{margin:0 0 18px;color:var(--tinta)}

.tabla{width:100%;border-collapse:collapse;background:var(--panel);border-radius:14px;overflow:hidden}
.tabla th,.tabla td{
  text-align:left;
  padding:14px 16px;
  border-bottom:1px solid var(--linea);
  vertical-align:top;
}
.tabla th{
  font-family:Chivo,Arial,sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  color:var(--lima);
}
.tabla tr:last-child td{border-bottom:0}

.fase{
  background:var(--panel);
  border-radius:14px;
  padding:28px 28px 22px;
  margin:0 0 14px;
}
.fase__nro{
  font-family:Chivo,Arial,sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:12px;
  color:var(--lima);
  margin:0 0 8px;
}
.fase .duo{margin-top:16px}
.fase p{margin:0 0 10px}

.mapa{
  border:0;
  width:100%;
  min-height:360px;
  border-radius:12px;
  filter:grayscale(.35) contrast(1.05);
}

.lista-check{list-style:none;margin:0;padding:0}
.lista-check li{
  background:var(--panel);
  border-radius:14px;
  padding:20px 22px;
  margin:0 0 10px;
}
.lista-check h3{font-size:1.15rem;margin-bottom:6px}

.legal h2{margin-top:2.2em}
.legal h2:first-child{margin-top:0}
.fecha-doc{
  font-family:Chivo,Arial,sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:12px;
  color:var(--apagado);
}

.foto-banda{margin:28px 0 0}
.grupo-faq{margin:0 0 36px}

.aviso-cookies{
  position:fixed;
  left:calc(var(--riel-ancho) + 24px);
  right:24px;
  bottom:24px;
  z-index:70;
  background:var(--panel);
  border:1px solid var(--linea);
  border-radius:14px;
  padding:20px 22px;
  display:flex;
  gap:22px;
  align-items:center;
  justify-content:space-between;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
}
.aviso-cookies[hidden]{display:none !important}
.si-js .aviso-cookies:not(.es-visible){display:none}
.aviso-cookies p{margin:0;max-width:62ch}
.aviso-cookies__acciones{display:flex;flex-wrap:wrap;gap:10px;align-items:center;flex:0 0 auto}

.asciende{opacity:1;transform:none}
.si-js .asciende{opacity:0;transform:translateY(16px) scale(.995);transition:opacity .5s ease,transform .5s ease}
.si-js .asciende.ya{opacity:1;transform:none}
.no-js .asciende{opacity:1 !important;transform:none !important}

@media (prefers-reduced-motion:reduce){
  .asciende{opacity:1 !important;transform:none !important;transition:none !important}
  html{scroll-behavior:auto}
}

@media (max-width:1180px){
  .ficha,.ficha--ancha,.ficha--mayor,.ficha--alta{grid-column:span 6}
  .zocalo__columnas{grid-template-columns:1fr 1fr}
}

@media (max-width:1023px){
  :root{--riel-ancho:0px}
  .lienzo{margin-left:0;padding-top:28px}
  .zocalo{margin-left:0}
  .duo{grid-template-columns:1fr}
  .barra-movil{display:flex}
  .riel{
    transform:translateX(-110%);
    width:min(280px,86vw);
    transition:transform .28s ease;
  }
  .riel.es-abierto{transform:translateX(0)}
  body.menu-abierto::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    z-index:35;
  }
  .aviso-cookies{left:16px;right:16px;flex-direction:column;align-items:stretch}
}

@media (max-width:700px){
  .ficha,.ficha--ancha,.ficha--mayor,.ficha--alta{grid-column:span 12;grid-row:auto}
  .hechos{grid-template-columns:1fr}
  .zocalo__columnas{grid-template-columns:1fr}
  .formulario--alta{grid-template-columns:1fr}
  .tabla{display:block;overflow-x:auto}
}
