:root{
  --negro:#0D0D0E;
  --negro-2:#141416;
  --cobre:#C25A2B;
  --cobre-claro:#D9884E;
  --vivo:#EDEAE5;
  --tenue:#8A8580;
  --linea:rgba(237,234,229,.13);
  --display:"Newsreader",Georgia,serif;
  --texto:"IBM Plex Sans",system-ui,sans-serif;
  --ancho:1020px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden}
body{
  margin:0;background:var(--negro);color:var(--vivo);overflow-x:hidden;
  font-family:var(--texto);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .055 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
}
a{color:inherit;text-decoration:none}
img,video,iframe,svg{max-width:100%}
:focus-visible{outline:2px solid var(--cobre-claro);outline-offset:3px}
.env{max-width:var(--ancho);margin:0 auto;padding:0 20px}
@media(max-width:680px){.env{padding:0 18px}}
/* contenedores que se llenan con JS: que tengan el margen del sitio */
/* contenedores dinámicos: NO añaden padding propio; sus hijos ya usan .env */
#lista, #contenido, #cronica{width:100%}


.filete{height:5px;background:
  linear-gradient(var(--cobre),var(--cobre)) top/100% 1.5px no-repeat,
  linear-gradient(var(--cobre),var(--cobre)) bottom/100% 1.5px no-repeat;
  opacity:.85}

.membrete{padding-top:34px;padding-bottom:30px;text-align:center}
.membrete img{width:66px;height:auto;display:block;margin:0 auto 20px}
.soc{font-size:10px;letter-spacing:.34em;color:var(--cobre-claro);margin:0 0 10px;text-indent:.34em}
.nom{font-family:var(--display);font-weight:200;font-size:clamp(32px,9.6vw,54px);
  line-height:1.04;margin:0;letter-spacing:-.015em}
.desde{font-size:9.5px;letter-spacing:.3em;color:var(--tenue);margin:16px 0 0;text-indent:.3em}

nav{background:rgba(0,0,0,.35);position:relative}
.nav-lista{display:flex;gap:26px;list-style:none;margin:0 auto;padding:16px 22px;
  max-width:var(--ancho);justify-content:center;flex-wrap:wrap}
.nav-lista a{font-size:11px;letter-spacing:.19em;color:var(--vivo);white-space:nowrap;
  padding-bottom:6px;border-bottom:1.5px solid transparent}
.nav-lista a[aria-current]{color:var(--cobre-claro);border-bottom-color:var(--cobre)}
.nav-btn{display:none;background:none;border:0;cursor:pointer;padding:15px 22px;
  width:100%;align-items:center;justify-content:space-between;color:var(--vivo);
  font-family:var(--texto);font-size:11px;letter-spacing:.19em}
.nav-btn .barras{width:22px;height:14px;position:relative;flex:none}
.nav-btn .barras span{position:absolute;left:0;width:100%;height:1.5px;background:var(--cobre-claro);
  transition:transform .3s,opacity .3s}
.nav-btn .barras span:nth-child(1){top:0}
.nav-btn .barras span:nth-child(2){top:6px}
.nav-btn .barras span:nth-child(3){top:12px}
nav.abierto .barras span:nth-child(1){transform:translateY(6px) rotate(45deg)}
nav.abierto .barras span:nth-child(2){opacity:0}
nav.abierto .barras span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media(max-width:1080px){
  .nav-btn{display:flex}
  .nav-lista{flex-direction:column;align-items:center;gap:0;padding:0;
    max-height:0;overflow:hidden;transition:max-height .35s ease}
  nav.abierto .nav-lista{max-height:70vh;padding:6px 0 18px}
  .nav-lista li{width:100%;text-align:center}
  .nav-lista a{display:inline-block;font-size:13px;padding:13px 0}
}

.portada{position:relative;min-height:64vh;display:flex;align-items:flex-end;overflow:hidden}
.portada img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 46%}
.velo{position:absolute;inset:0;
  background:
   radial-gradient(120% 80% at 50% 30%,rgba(13,13,14,0) 0%,rgba(13,13,14,.5) 70%),
   linear-gradient(180deg,rgba(13,13,14,.5) 0%,rgba(13,13,14,.1) 30%,rgba(13,13,14,.88) 82%,#0D0D0E 100%)}
.portada-txt{position:relative;width:100%;max-width:var(--ancho);margin:0 auto;padding:0 22px 34px}
.et{font-size:9.5px;letter-spacing:.28em;color:var(--cobre-claro);margin:0 0 12px;text-indent:.28em}
.portada h1{font-family:var(--display);font-weight:300;font-size:clamp(30px,8.4vw,46px);
  line-height:1.08;margin:0;letter-spacing:-.012em}
.portada .lugar{font-size:15px;color:#C9C3BC;margin:11px 0 0}

main{padding:0 0 10px}
.bloque{padding:46px 0 8px}
.rotulo{font-family:var(--display);font-style:italic;font-weight:300;font-size:16px;
  color:var(--tenue);margin:0 0 22px}
.cifras{display:flex;flex-wrap:wrap;gap:28px 52px;margin:0 0 40px}
.cifra-et{font-size:9.5px;letter-spacing:.19em;color:var(--tenue);margin:0}
.cifra-v{font-family:var(--display);font-weight:200;font-size:38px;margin:5px 0 0;
  font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.02em}
.marchas{list-style:none;margin:0;padding:0}
.marchas li{display:flex;gap:20px;padding:17px 0;border-bottom:1px solid var(--linea)}
.marchas li:first-child{border-top:1px solid var(--linea)}
.hora{font-size:13px;color:var(--cobre-claro);font-variant-numeric:tabular-nums;
  padding-top:5px;flex:none;width:40px;letter-spacing:.02em}
.m-tit{margin:0;font-size:17.5px;font-weight:400}
.m-aut{margin:3px 0 0;font-size:14px;color:var(--tenue)}
.nota{margin:11px 0 0;font-family:var(--display);font-style:italic;font-weight:300;
  font-size:15.5px;color:#C9C3BC;padding-left:14px;border-left:1.5px solid var(--cobre)}

footer{margin-top:58px;background:var(--negro-2);padding:0 0 32px}
.pie-in{padding-top:46px;text-align:center}
.pie-esc{width:100px;height:auto;display:block;margin:0 auto 24px}
.pie-nom{font-family:var(--display);font-weight:200;font-size:26px;margin:0;line-height:1.18;
  letter-spacing:-.01em}
.pie-sub{font-size:9.5px;letter-spacing:.28em;color:var(--tenue);margin:12px 0 34px;text-indent:.28em}
.contacto a{display:block;font-family:var(--display);font-weight:300;font-size:24px;
  color:var(--vivo);margin:0 0 7px;font-variant-numeric:tabular-nums}
.contacto .correo{font-size:15px;color:var(--tenue);font-family:var(--texto)}
.redes{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin:34px 0 0;
  padding:26px 0 0;list-style:none;border-top:1px solid var(--linea)}
.redes a{font-size:13px;color:#B5AFA8;transition:color .2s}
.redes a:hover{color:var(--vivo)}
/* iconos de redes con color de marca */
.redes a{display:inline-flex;align-items:center;gap:7px}
.redes svg{width:17px;height:17px;flex:none;transition:transform .2s}
.redes a:hover svg{transform:translateY(-2px)}
.red-yt svg{color:#FF0000}.red-ig svg{color:#E4405F}.red-fb svg{color:#1877F2}
.red-tk svg{color:#EDEAE5}.red-sp svg{color:#1DB954}.red-x svg{color:#EDEAE5}
.redes a:hover svg{filter:brightness(1.15)}

.pie-enl{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 24px;list-style:none;
  margin:22px 0 28px;padding:0}
.pie-enl a{font-size:13px;color:var(--tenue)}
.credito{text-align:center;font-size:11px;color:#5E5A56;margin:0}
.credito a{border-bottom:1px solid #3A3734}

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

/* ---------- REPERTORIO ---------- */
.cabecera-pag{padding-top:44px;padding-bottom:6px}
.cabecera-pag h1{font-family:var(--display);font-weight:200;font-size:clamp(31px,8.6vw,48px);
  line-height:1.06;margin:0;letter-spacing:-.018em}
.cabecera-pag .cuenta{font-size:9.5px;letter-spacing:.26em;color:var(--cobre-claro);
  margin:0 0 14px;text-indent:.26em}
.cabecera-pag .intro{font-size:16.5px;color:#C9C3BC;max-width:56ch;margin:16px 0 0}

.buscador{width:100%;margin:30px 0 8px;padding:13px 16px;background:rgba(255,255,255,.035);
  border:1px solid var(--linea);border-radius:2px;color:var(--vivo);
  font-family:var(--texto);font-size:15.5px}
.buscador::placeholder{color:var(--tenue)}

.grupo{padding-top:38px}
.grupo-tit{display:flex;align-items:baseline;gap:12px;margin:0 0 4px;flex-wrap:wrap}
.grupo-tit h2{font-family:var(--display);font-weight:300;font-size:25px;margin:0;
  letter-spacing:-.01em}
.grupo-tit .n{font-size:9.5px;letter-spacing:.2em;color:var(--cobre-claro);
  white-space:nowrap;position:relative;top:-1px}

/* separadores por letra: orientan sin romper la lista */
.letra{display:flex;align-items:center;gap:14px;margin:34px 0 2px;padding:0}
.letra:first-of-type{margin-top:20px}
.letra span{font-family:var(--display);font-weight:300;font-size:21px;color:var(--cobre-claro);
  line-height:1;flex:none}
.letra::after{content:"";flex:1;height:1px;background:var(--linea)}

.obras{list-style:none;margin:16px 0 0;padding:0}
.obras li{padding:15px 0;border-bottom:1px solid var(--linea)}
.obras li:first-child{border-top:1px solid var(--linea)}
.obras{margin-top:0}
.o-tit{margin:0;font-size:17.5px;font-weight:400}
.o-aut{margin:3px 0 0;font-size:14px;color:var(--tenue)}
.o-ded{margin:8px 0 0;font-size:13.5px;color:var(--cobre-claro);
  display:flex;align-items:baseline;gap:8px}
.o-ded::before{content:"";flex:none;width:14px;height:1.5px;background:var(--cobre);
  transform:translateY(-4px)}
.vacio{font-family:var(--display);font-style:italic;font-weight:300;font-size:15.5px;
  color:var(--tenue);margin:16px 0 0;padding:18px 0;border-top:1px solid var(--linea)}

/* saltos a cada bloque del repertorio */
.saltos{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;margin:16px 0 0;padding:0}
.saltos a{font-size:11px;letter-spacing:.19em;color:var(--vivo);
  padding-bottom:5px;border-bottom:1.5px solid var(--cobre)}
.saltos a:hover{color:var(--cobre-claro)}
.grupo{scroll-margin-top:16px}

.resultados{font-family:var(--display);font-style:italic;font-weight:300;font-size:15px;
  color:var(--tenue);margin:14px 0 0;min-height:1.4em}
.obras li[hidden],.letra[hidden],.grupo[hidden]{display:none}

/* ---------- MAPA DE LA CRÓNICA ---------- */
.mapa{height:56vh;min-height:300px;margin:6px 0 10px;border-radius:2px;
  border:1px solid var(--linea);background:#0A0A0B}
.mapa-pie{font-family:var(--display);font-style:italic;font-weight:300;font-size:14px;
  color:var(--tenue);margin:0 0 34px}
.leaflet-container{background:#0A0A0B!important;font-family:var(--texto)!important}
.leaflet-control-attribution{background:rgba(0,0,0,.6)!important;color:#6E6A66!important;
  font-size:10px!important}
.leaflet-control-attribution a{color:#8A8580!important}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#17171A!important;
  color:var(--vivo)!important;border-radius:2px!important;box-shadow:none!important;
  border:1px solid var(--linea)!important}
.leaflet-popup-content{margin:11px 14px!important;font-size:14px!important}
.leaflet-popup-content b{font-weight:500}
.leaflet-popup-content em{color:var(--cobre-claro);font-style:normal;
  font-variant-numeric:tabular-nums}
.leaflet-control-zoom a{background:#17171A!important;color:var(--vivo)!important;
  border-color:var(--linea)!important}

.cargando{font-family:var(--display);font-style:italic;font-weight:300;font-size:16px;
  color:var(--tenue);padding:50px 0}
.aviso{font-family:var(--display);font-style:italic;font-weight:300;font-size:16px;
  color:var(--tenue);padding:50px 0;border-top:1px solid var(--linea);margin-top:20px}

/* ---------- TARJETAS DE ACTUACIÓN ---------- */
.tarjetas{list-style:none;margin:18px 0 0;padding:0}
.tarjetas li{border-top:1px solid var(--linea);padding:22px 0}
.tarjetas li:last-child{border-bottom:1px solid var(--linea)}
.t-fecha{font-size:9.5px;letter-spacing:.2em;color:var(--cobre-claro);margin:0 0 9px}
.t-tit{font-family:var(--display);font-weight:300;font-size:24px;margin:0;line-height:1.15;
  letter-spacing:-.01em}
.t-lugar{font-size:14.5px;color:var(--tenue);margin:5px 0 0}
.t-datos{display:flex;flex-wrap:wrap;gap:8px 26px;margin:14px 0 0}
.t-datos div{display:flex;align-items:baseline;gap:7px}
.t-datos .et{font-size:9.5px;letter-spacing:.16em;color:var(--tenue)}
.t-datos .v{font-family:var(--display);font-size:19px;font-variant-numeric:tabular-nums;
  line-height:1}
.t-ver{display:inline-block;font-size:11px;letter-spacing:.19em;color:var(--vivo);
  margin:16px 0 0;padding-bottom:5px;border-bottom:1.5px solid var(--cobre)}
.t-ver:hover{color:var(--cobre-claro)}
.t-hora{font-family:var(--display);font-size:19px;color:var(--vivo);margin:12px 0 0;
  font-variant-numeric:tabular-nums}
.t-hora span{font-size:9.5px;letter-spacing:.16em;color:var(--tenue);
  font-family:var(--texto);margin-right:8px}
.seccion{padding-top:44px}
.seccion > h2{font-family:var(--display);font-weight:300;font-size:25px;margin:0;
  letter-spacing:-.01em}

/* ---------- PORTADA ---------- */
.hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.hero .velo{position:absolute;inset:0;
  background:
   radial-gradient(120% 78% at 50% 26%,rgba(13,13,14,0) 0%,rgba(13,13,14,.45) 72%),
   linear-gradient(180deg,rgba(13,13,14,.5) 0%,rgba(13,13,14,.12) 30%,rgba(13,13,14,.82) 68%,rgba(13,13,14,.97) 88%,#0D0D0E 100%)}
.hero-txt{position:relative;width:100%;max-width:var(--ancho);margin:0 auto;padding:0 22px 40px}
.hero .et{font-size:9.5px;letter-spacing:.28em;color:var(--cobre-claro);margin:0 0 13px;text-indent:.28em}
.hero h1{font-family:var(--display);font-weight:300;font-size:clamp(32px,9vw,52px);
  line-height:1.06;margin:0;letter-spacing:-.018em}
.hero .sub{font-size:15.5px;color:#C9C3BC;margin:12px 0 0}
.hero .cta{display:inline-block;font-size:11px;letter-spacing:.19em;color:var(--vivo);
  margin:22px 0 0;padding-bottom:5px;border-bottom:1.5px solid var(--cobre)}

.lema{text-align:center;padding:44px 22px 6px}
.lema p{font-family:var(--display);font-style:italic;font-weight:300;
  font-size:clamp(19px,4.6vw,26px);color:#C9C3BC;margin:0;line-height:1.45;
  max-width:44ch;margin-inline:auto;text-wrap:balance}

.bloque-tit{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 18px}
.bloque-tit h2{font-family:var(--display);font-weight:300;font-size:25px;margin:0;
  letter-spacing:-.01em}
.bloque-tit .n{font-size:9.5px;letter-spacing:.2em;color:var(--cobre-claro)}
.mapa-mini{height:280px;border-radius:2px;border:1px solid var(--linea);background:#0A0A0B;
  margin:4px 0 16px}

/* ---------- DISCOGRAFÍA: LA ESTANTERÍA ---------- */
.estante{position:relative;margin:26px 0 0;padding:0 0 4px;
  perspective:1400px;perspective-origin:50% 42%;
  height:clamp(300px,58vw,470px);
  touch-action:pan-y;cursor:grab;overflow:hidden}
.estante:active{cursor:grabbing}
.estante-pista{position:absolute;inset:0;transform-style:preserve-3d}
.disco{position:absolute;top:50%;left:50%;width:clamp(178px,40vw,272px);aspect-ratio:1;
  margin:0;transform-origin:50% 50%;
  transition:transform .5s cubic-bezier(.22,.61,.36,1), opacity .4s;
  will-change:transform}
.disco img{width:100%;height:100%;display:block;object-fit:cover;border-radius:2px;
  box-shadow:0 18px 40px rgba(0,0,0,.65), 0 2px 0 rgba(237,234,229,.1) inset;
  -webkit-box-reflect:below 7px linear-gradient(transparent 62%,rgba(0,0,0,.3))}
.disco.activo img{box-shadow:0 24px 54px rgba(0,0,0,.75), 0 0 0 1px rgba(194,90,43,.5)}

.estante-linea{height:1px;background:linear-gradient(90deg,transparent,
  rgba(194,90,43,.55) 22%,rgba(194,90,43,.55) 78%,transparent);margin:0 0 24px}

.disco-info{text-align:center;padding:4px 22px 0;min-height:118px}
.disco-anio{font-size:9.5px;letter-spacing:.26em;color:var(--cobre-claro);margin:0 0 8px;
  text-indent:.26em}
.disco-tit{font-family:var(--display);font-weight:300;font-size:clamp(24px,5.6vw,32px);
  margin:0;line-height:1.12;letter-spacing:-.012em}
.disco-sub{font-family:var(--display);font-style:italic;font-weight:300;font-size:16px;
  color:var(--tenue);margin:7px 0 0;min-height:1.5em}

.flechas{display:flex;justify-content:center;gap:12px;margin:20px 0 0}
.flechas button{background:none;border:1px solid var(--linea);color:var(--vivo);
  width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:15px;line-height:1;
  font-family:var(--texto)}
.flechas button:hover{border-color:var(--cobre);color:var(--cobre-claro)}

.reproductor{max-width:640px;margin:26px auto 0;padding:0 22px}
.reproductor iframe{width:100%;height:352px;border:0;border-radius:2px;display:block}
.pista{text-align:center;font-family:var(--display);font-style:italic;font-weight:300;
  font-size:13px;color:#6E6A66;margin:20px auto 0;max-width:46ch;padding:0 22px;
  line-height:1.55}

@media (prefers-reduced-motion:reduce){ .disco{transition:none} }

.spoti{text-align:center;margin:22px 0 0}
.spoti a{display:inline-flex;align-items:center;gap:10px;
  font-size:10.5px;letter-spacing:.22em;color:var(--vivo);
  padding:13px 26px;border:1px solid var(--cobre);border-radius:2px;
  transition:background .25s,color .25s}
.spoti a::after{content:"→";font-size:14px;letter-spacing:0;color:var(--cobre-claro);
  transition:color .25s,transform .25s}
.spoti a:hover{background:var(--cobre);color:#fff}
.spoti a:hover::after{color:#fff;transform:translateX(3px)}

/* ---------- LA BANDA ---------- */
.seccion-b{padding-top:64px;scroll-margin-top:20px}
.seccion-b .tag{font-family:var(--display);font-style:italic;font-weight:300;
  font-size:15px;color:var(--cobre-claro);margin:0 0 8px}
.seccion-b > h2{font-family:var(--display);font-weight:200;font-size:clamp(28px,6.6vw,40px);
  margin:0 0 26px;letter-spacing:-.015em;line-height:1.06}

.indice{display:flex;flex-wrap:wrap;gap:10px 20px;list-style:none;margin:28px 0 0;padding:0}
.indice a{font-size:10.5px;letter-spacing:.19em;color:var(--vivo);padding-bottom:5px;
  border-bottom:1.5px solid var(--cobre)}
.indice a:hover{color:var(--cobre-claro)}

/* director: tres fotos en fila + texto justificado */
.dir-fotos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 26px}
.dir-fotos img{width:100%;aspect-ratio:7/5;object-fit:cover;border-radius:2px;display:block}
.dir-nom{font-family:var(--display);font-weight:300;font-size:clamp(24px,5.5vw,30px);
  margin:0;line-height:1.08}
.dir-lugar{font-size:11px;letter-spacing:.2em;color:var(--cobre-claro);margin:8px 0 22px}
.dir-texto{columns:1;max-width:none}
.dir-texto p{margin:0 0 14px;font-size:15.5px;color:#C9C3BC;line-height:1.75;text-align:justify;
  hyphens:auto}
@media(min-width:800px){.dir-texto{columns:2;column-gap:38px} .dir-texto p{break-inside:avoid}}

/* uniformidad */
.uni-video{width:100%;border-radius:2px;border:1px solid var(--linea);display:block;
  background:#0A0A0B;aspect-ratio:16/9;margin:0 0 22px}
.uni-texto{font-size:17px;color:#C9C3BC;max-width:52ch;line-height:1.75;margin:0 auto;
  text-align:center;font-family:var(--display);font-weight:300}

/* discografía: bloque con peso */
.disco-grande{position:relative;border-radius:2px;overflow:hidden;border:1px solid var(--linea)}
.disco-grande .fila{display:flex;gap:8px;padding:26px 22px 0;overflow:hidden}
.disco-grande .fila img{width:88px;height:88px;object-fit:cover;border-radius:2px;flex:none;
  box-shadow:0 8px 20px rgba(0,0,0,.5)}
.disco-grande .cuerpo{padding:22px}
.disco-grande .k{font-size:10px;letter-spacing:.24em;color:var(--cobre-claro);margin:0 0 8px}
.disco-grande .t{font-family:var(--display);font-weight:300;font-size:clamp(22px,5vw,28px);
  margin:0 0 6px;line-height:1.1}
.disco-grande .d{font-size:14.5px;color:#C9C3BC;margin:0 0 18px;line-height:1.6}
.disco-grande .cta{display:inline-flex;align-items:center;gap:9px;font-size:10.5px;
  letter-spacing:.19em;color:var(--vivo);padding:12px 24px;border:1px solid var(--cobre);
  border-radius:2px;transition:background .25s,color .25s}
.disco-grande .cta::after{content:"→";color:var(--cobre-claro);transition:transform .25s}
.disco-grande .cta:hover{background:var(--cobre);color:#fff}
.disco-grande .cta:hover::after{color:#fff;transform:translateX(3px)}

/* junta: tarjetas con foto */
.junta{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:14px;
  grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.junta{grid-template-columns:repeat(4,1fr)}}
.junta li{margin:0}
.junta figure{margin:0}
.junta img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px;display:block;
  filter:grayscale(1) contrast(1.02);transition:filter .4s}
.junta li:hover img{filter:grayscale(0)}
.junta .cargo{font-size:9px;letter-spacing:.16em;color:var(--cobre-claro);margin:12px 0 3px}
.junta .nombre{font-family:var(--display);font-weight:300;font-size:16.5px;line-height:1.15}
.junta .instr{font-size:12px;color:var(--tenue);margin:2px 0 0}

/* historia */
.etapa{display:grid;gap:22px;margin:0 0 54px;align-items:center}
@media(min-width:760px){
  .etapa{grid-template-columns:1fr 1fr;gap:44px}
  .etapa.inv .etapa-foto{order:2}
}
.etapa-foto{margin:0;position:relative}
.etapa-foto img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;
  border-radius:2px;
  filter:grayscale(.35) contrast(1.02) brightness(.92) sepia(.12) saturate(1.05)}
/* la foto se funde con el negro por los cuatro bordes, sin canto duro */
.etapa-foto::after{content:"";position:absolute;inset:0;border-radius:2px;pointer-events:none;
  box-shadow:inset 0 0 44px 14px var(--negro);
  background:linear-gradient(180deg,rgba(13,13,14,.28),rgba(13,13,14,0) 22% 78%,rgba(13,13,14,.42))}
/* una brasa de cobre muy tenue detrás, para que pertenezca a la página */
.etapa-foto::before{content:"";position:absolute;inset:-8px;border-radius:3px;z-index:-1;
  background:radial-gradient(60% 60% at 50% 50%,rgba(194,90,43,.14),transparent 72%)}
.etapa h3{font-family:var(--display);font-weight:300;font-size:23px;margin:0 0 3px;line-height:1.1}
.etapa .anios{font-size:9.5px;letter-spacing:.18em;color:var(--cobre-claro);margin:0 0 14px}
.etapa p{font-size:15px;color:#C9C3BC;line-height:1.75;margin:0;text-align:justify;hyphens:auto}
.borrador{font-family:var(--display);font-style:italic;font-weight:300;font-size:13.5px;
  color:var(--tenue);margin:0 0 26px;padding:14px 16px;border:1px dashed rgba(194,90,43,.4);
  border-radius:2px}

/* aparecer al bajar */
.rev{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rev.visto{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rev{opacity:1;transform:none;transition:none}}

/* ---------- MÚSICA (índice) ---------- */
.mosaico{display:grid;gap:14px;margin:10px 0 0;grid-template-columns:1fr}
@media(min-width:720px){.mosaico{grid-template-columns:repeat(3,1fr)}}
.mos-item{display:flex;flex-direction:column;justify-content:space-between;
  min-height:230px;padding:26px 24px;border:1px solid var(--linea);border-radius:2px;
  background:var(--negro-2);transition:border-color .3s,transform .3s}
.mos-item:hover{border-color:var(--cobre);transform:translateY(-3px)}
.mos-ico{color:var(--cobre-claro);opacity:.9}
.mos-ico svg{width:30px;height:30px;display:block}
.mos-item .k{display:block;font-size:9.5px;letter-spacing:.22em;color:var(--cobre-claro);margin:0 0 10px}
.mos-item .t{display:block;font-family:var(--display);font-weight:300;font-size:29px;margin:0;line-height:1.02}
.mos-item .d{display:block;font-size:13.5px;color:#C9C3BC;margin:10px 0 0;line-height:1.55}
.mos-item .go{font-size:10px;letter-spacing:.19em;color:var(--tenue);margin:18px 0 0}
.mos-item:hover .go{color:var(--cobre-claro)}

/* ---------- VÍDEOS ---------- */
.grupo-v{padding:56px 0 0}
.grupo-v .tag{font-family:var(--display);font-style:italic;font-weight:300;font-size:15px;
  color:var(--cobre-claro);margin:0 0 6px}
.grupo-v > h2{font-family:var(--display);font-weight:200;font-size:clamp(27px,6.4vw,38px);
  margin:0 0 18px;letter-spacing:-.015em;line-height:1.05}

.anio-v{border-top:1px solid var(--linea)}
.anio-v:last-of-type{border-bottom:1px solid var(--linea)}
.anio-v > summary{list-style:none;cursor:pointer;padding:20px 2px;display:flex;
  align-items:center;gap:16px;transition:color .2s}
.anio-v > summary::-webkit-details-marker{display:none}
.anio-v > summary:hover .a{color:var(--cobre-claro)}
.anio-v > summary .a{font-family:var(--display);font-weight:300;font-size:26px;line-height:1;
  transition:color .2s}
.anio-v > summary .c{font-size:9.5px;letter-spacing:.18em;color:var(--tenue)}
.anio-v > summary .mas{margin-left:auto;color:var(--cobre-claro);font-size:22px;line-height:1;
  transition:transform .3s}
.anio-v[open] > summary .mas{transform:rotate(45deg)}
.anio-cont{padding:4px 0 30px}

/* un día = un bloque con vídeo destacado a la izquierda y lista a la derecha */
.dia-v{padding:30px 0;border-bottom:1px solid var(--linea)}
.dia-v:last-child{border-bottom:0}
.dia-cab{margin:0 0 20px;padding:0 0 14px;border-bottom:1px solid var(--linea)}
.dia-cab .top{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.dia-cab h3{font-family:var(--display);font-weight:300;font-size:clamp(24px,4.4vw,30px);
  margin:0;letter-spacing:-.012em;line-height:1.05}
.dia-cab .ciudad{font-size:10px;letter-spacing:.22em;color:var(--cobre-claro);
  position:relative;top:-2px}
.dia-cab .herm{display:block;font-size:14px;color:var(--tenue);font-style:italic;
  font-family:var(--display);margin:7px 0 0}

.dia-cuerpo{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:760px){.dia-cuerpo{grid-template-columns:1.15fr .85fr;gap:28px;align-items:start}}

/* destacado */
.destacado .marco{position:relative;aspect-ratio:16/9;border-radius:2px;overflow:hidden;
  border:1px solid var(--linea);background:#0A0A0B;cursor:pointer}
.destacado .marco img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s,filter .5s;filter:brightness(.85)}
.destacado .marco:hover img{transform:scale(1.04);filter:brightness(1)}
.destacado .obra{font-family:var(--display);font-weight:300;font-size:18px;margin:12px 0 0}
.play{position:absolute;inset:0;margin:auto;width:56px;height:56px;display:flex;
  align-items:center;justify-content:center;background:rgba(13,13,14,.55);
  border:1.5px solid var(--vivo);border-radius:50%;transition:background .3s,border-color .3s}
.marco:hover .play{background:var(--cobre);border-color:var(--cobre)}
.play::after{content:"";border-left:15px solid var(--vivo);border-top:9px solid transparent;
  border-bottom:9px solid transparent;margin-left:4px}

/* lista de los demás */
.otros{list-style:none;margin:0;padding:0}
.otros li{border-bottom:1px solid var(--linea)}
.otros li:first-child{border-top:1px solid var(--linea)}
.otros button{width:100%;background:none;border:0;color:var(--vivo);cursor:pointer;
  text-align:left;padding:14px 0;display:flex;align-items:center;gap:13px;
  font-family:var(--texto);transition:color .2s}
.otros button:hover{color:var(--cobre-claro)}
.otros .ic{flex:none;width:26px;height:26px;border:1px solid var(--linea);border-radius:50%;
  display:flex;align-items:center;justify-content:center;transition:border-color .2s}
.otros button:hover .ic{border-color:var(--cobre)}
.otros .ic::after{content:"";border-left:8px solid currentColor;border-top:5px solid transparent;
  border-bottom:5px solid transparent;margin-left:2px}
.otros .ob{font-family:var(--display);font-weight:300;font-size:16px}
.otros li.son button{color:var(--cobre-claro)}
.otros li.son .ic{border-color:var(--cobre);background:var(--cobre)}
.otros li.son .ic::after{border-left-color:#fff}

/* ---------- CONTACTO ---------- */
.cont-grid{display:grid;gap:16px;margin:10px 0 0;grid-template-columns:1fr}
@media(min-width:720px){.cont-grid{grid-template-columns:1fr 1fr}}
.cont-card{padding:28px 26px;border:1px solid var(--linea);border-radius:2px;
  background:var(--negro-2)}
.cont-card .k{font-size:9.5px;letter-spacing:.22em;color:var(--cobre-claro);margin:0 0 12px}
.cont-card .big{font-family:var(--display);font-weight:300;font-size:26px;margin:0;
  line-height:1.15;font-variant-numeric:tabular-nums}
.cont-card .big a{border-bottom:1px solid transparent;transition:border-color .2s}
.cont-card .big a:hover{border-color:var(--cobre)}
.cont-card .sm{font-size:14px;color:#C9C3BC;margin:6px 0 0}
.cont-card address{font-style:normal;font-family:var(--display);font-weight:300;
  font-size:19px;line-height:1.5;margin:0}

.cont-acciones{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0 0}
.cont-btn{display:inline-flex;align-items:center;gap:9px;font-size:10.5px;letter-spacing:.16em;
  color:var(--vivo);padding:12px 20px;border:1px solid var(--cobre);border-radius:2px;
  transition:background .25s,color .25s}
.cont-btn:hover{background:var(--cobre);color:#fff}
.cont-btn svg{width:15px;height:15px}

.cont-mapa{margin:16px 0 0;border-radius:2px;overflow:hidden;border:1px solid var(--linea);
  aspect-ratio:16/10;background:#0A0A0B}
.cont-mapa iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(1) invert(.92) hue-rotate(180deg) contrast(.9)}

.cont-redes{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px 24px}
.cont-redes a{font-size:13.5px;color:#B5AFA8;border-bottom:1px solid transparent;padding-bottom:2px}
.cont-redes a:hover{color:var(--cobre-claro);border-color:var(--cobre)}

/* seis botones de redes en Contacto */
.redes-botones{list-style:none;margin:14px 0 0;padding:0;
  display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(min-width:520px){.redes-botones{grid-template-columns:repeat(3,1fr)}}
.redes-botones a{display:flex;align-items:center;gap:10px;padding:14px 16px;
  border:1px solid var(--linea);border-radius:2px;color:var(--vivo);
  font-size:12.5px;letter-spacing:.04em;transition:border-color .25s,background .25s}
.redes-botones a:hover{border-color:var(--cobre);background:var(--negro-2)}
.redes-botones svg{width:19px;height:19px;flex:none}
.rb-yt svg{color:#FF0000}.rb-ig svg{color:#E4405F}.rb-fb svg{color:#1877F2}
.rb-tk svg{color:#EDEAE5}.rb-sp svg{color:#1DB954}.rb-x svg{color:#EDEAE5}

/* ---------- ESCUELA ---------- */
/* cabecera: escudo a color como pincelada + nombre en tipografía de la web */
.esc-hero{display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:14px 0 0;gap:18px}
.esc-hero .esc-escudo{width:74px;height:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.5))}
.esc-hero .rot{font-size:10px;letter-spacing:.28em;color:var(--cobre-claro);margin:0}
.esc-hero .tit{font-family:var(--display);font-weight:200;font-size:clamp(28px,7vw,44px);
  margin:2px 0 0;line-height:1.02;letter-spacing:-.015em}
.esc-hero .sub2{font-family:var(--display);font-style:italic;font-weight:300;
  font-size:clamp(15px,3.6vw,19px);color:var(--tenue);margin:6px 0 0}

.esc-intro{max-width:60ch;margin:30px auto 0;text-align:center;font-size:16.5px;
  color:#C9C3BC;line-height:1.75}
.esc-intro strong{color:var(--vivo);font-weight:500}

/* separador de bloque con número de orden */
.esc-bloque{margin:56px 0 0}
.esc-bloque .cab{display:flex;align-items:baseline;gap:14px;margin:0 0 22px;
  padding:0 0 14px;border-bottom:1px solid var(--linea)}
.esc-bloque .cab .np{font-family:var(--display);font-size:22px;color:var(--cobre);line-height:1}
.esc-bloque .cab h2{font-family:var(--display);font-weight:200;font-size:clamp(23px,5.4vw,30px);
  margin:0;line-height:1}
.esc-bloque .cab .sub{margin-left:auto;font-size:12px;color:var(--tenue);font-style:italic;
  font-family:var(--display)}

/* tarjetas para quién es */
.edades{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:640px){.edades{grid-template-columns:1fr 1fr}}
.edad-card{padding:26px 24px;border:1px solid var(--linea);border-radius:2px;background:var(--negro-2);
  position:relative;overflow:hidden}
.edad-card::before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--cobre)}
.edad-card .ico{color:var(--cobre-claro);margin:0 0 14px}
.edad-card .ico svg{width:28px;height:28px}
.edad-card .e{font-size:9.5px;letter-spacing:.2em;color:var(--cobre-claro);margin:0 0 6px}
.edad-card h3{font-family:var(--display);font-weight:300;font-size:22px;margin:0 0 14px}
.edad-card ul{list-style:none;margin:0;padding:0}
.edad-card li{padding:9px 0 9px 20px;border-top:1px solid var(--linea);font-size:14.5px;
  color:#C9C3BC;position:relative}
.edad-card li:first-child{border-top:0}
.edad-card li::before{content:"";position:absolute;left:0;top:16px;width:7px;height:7px;
  border:1px solid var(--cobre);border-radius:50%}

/* planes */
.planes{display:grid;gap:16px;margin:0;grid-template-columns:1fr}
@media(min-width:820px){.planes{grid-template-columns:1fr 1fr}}
.plan{padding:32px 28px;border:1px solid var(--linea);border-radius:2px;background:var(--negro-2)}
.plan .pk{font-size:9.5px;letter-spacing:.2em;color:var(--cobre-claro);margin:0 0 6px}
.plan h3{font-family:var(--display);font-weight:300;font-size:25px;margin:0 0 18px;line-height:1.05}
.plan .sec{margin:16px 0 0}
.plan h4{font-size:10.5px;letter-spacing:.14em;color:var(--vivo);margin:0 0 6px;
  display:flex;align-items:center;gap:8px}
.plan h4 svg{width:14px;height:14px;color:var(--cobre-claro);flex:none}
.plan p{font-size:14px;color:#C9C3BC;line-height:1.65;margin:0}
.plan .gratis{display:inline-block;font-size:10.5px;letter-spacing:.08em;color:#fff;
  background:var(--cobre);padding:6px 12px;border-radius:2px;margin:10px 0 0;font-weight:500}

/* pasos */
.pasos{counter-reset:paso;margin:0;padding:0;list-style:none;
  display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:720px){.pasos{grid-template-columns:repeat(3,1fr)}}
.pasos li{counter-increment:paso;padding:26px 24px;border:1px solid var(--linea);border-radius:2px;
  background:var(--negro-2)}
.pasos li::before{content:counter(paso);font-family:var(--display);font-size:40px;
  color:var(--cobre);display:block;line-height:.9;margin:0 0 14px}
.pasos h4{font-size:15px;margin:0 0 6px}
.pasos p{font-size:13.5px;color:#C9C3BC;line-height:1.6;margin:0}

/* llamada final */
.esc-cta{text-align:center;margin:20px 0 40px;padding:44px 26px;border:1px solid var(--cobre);
  border-radius:2px;background:radial-gradient(130% 100% at 50% 0%,rgba(194,90,43,.14),transparent 68%)}
.esc-cta h2{font-family:var(--display);font-weight:200;font-size:clamp(25px,5.6vw,34px);margin:0 0 10px}
.esc-cta p{color:#C9C3BC;font-size:15px;margin:0 auto 32px;max-width:46ch;line-height:1.6}
.esc-btn{display:inline-block;font-size:12px;letter-spacing:.2em;color:#fff;background:var(--cobre);
  padding:17px 44px;border-radius:2px;transition:background .25s,transform .2s}
.esc-btn:hover{background:var(--cobre-claro);transform:translateY(-2px)}
.esc-tel{margin:32px 0 0;font-size:13.5px;color:var(--tenue)}
.esc-tel a{color:var(--cobre-claro)}

/* ---------- FORMULARIO DE INSCRIPCIÓN ---------- */
.form-wrap{max-width:680px;margin:0 auto}
.form-paso{font-family:var(--display);font-style:italic;color:var(--cobre-claro);
  font-size:14px;margin:0 0 28px;text-align:center}
.form-grupo{margin:0 0 34px}
.form-grupo > .gtit{display:flex;align-items:baseline;gap:12px;margin:0 0 18px;
  padding:0 0 12px;border-bottom:1px solid var(--linea)}
.form-grupo > .gtit .np{font-family:var(--display);font-size:19px;color:var(--cobre)}
.form-grupo > .gtit h2{font-family:var(--display);font-weight:300;font-size:20px;margin:0}
.campos{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:560px){.campos.dos{grid-template-columns:1fr 1fr}}
.campo{display:flex;flex-direction:column;gap:7px}
.campo.ancho{grid-column:1/-1}
.campo label{font-size:11px;letter-spacing:.1em;color:var(--tenue);text-transform:uppercase}
.campo label .req{color:var(--cobre)}
.campo input,.campo select,.campo textarea{
  background:var(--negro-2);border:1px solid var(--linea);border-radius:2px;
  color:var(--vivo);font-family:var(--texto);font-size:15px;padding:13px 14px;width:100%;
  transition:border-color .2s}
.campo input:focus,.campo select:focus,.campo textarea:focus{
  outline:none;border-color:var(--cobre)}
.campo textarea{resize:vertical;min-height:74px}
.campo select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23C25A2B' d='M6 8 0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center}
.campo .ayuda{font-size:12px;color:var(--tenue)}

/* foto tipo carnet */
.foto-campo{grid-column:1/-1}
.foto-drop{display:flex;align-items:center;gap:18px;padding:18px;border:1px dashed rgba(194,90,43,.5);
  border-radius:2px;background:var(--negro-2)}
.foto-prev{width:74px;height:96px;flex:none;border-radius:2px;overflow:hidden;
  background:#0A0A0B;border:1px solid var(--linea);display:flex;align-items:center;
  justify-content:center;color:var(--tenue)}
.foto-prev img{width:100%;height:100%;object-fit:cover}
.foto-drop .txt{flex:1}
.foto-drop .txt b{font-size:14px;color:var(--vivo);display:block;margin:0 0 4px}
.foto-drop .txt span{font-size:12px;color:var(--tenue)}
.foto-btn{font-size:11px;letter-spacing:.12em;color:var(--vivo);background:none;
  border:1px solid var(--cobre);border-radius:2px;padding:10px 18px;cursor:pointer;
  transition:background .2s}
.foto-btn:hover{background:var(--cobre)}

.form-enviar{text-align:center;margin:8px 0 0}
.form-enviar button{font-size:12px;letter-spacing:.2em;color:#fff;background:var(--cobre);
  border:0;border-radius:2px;padding:17px 48px;cursor:pointer;transition:background .25s}
.form-enviar button:hover:not(:disabled){background:var(--cobre-claro)}
.form-enviar button:disabled{opacity:.5;cursor:not-allowed}
.form-nota{font-size:12px;color:var(--tenue);margin:16px 0 0;text-align:center;line-height:1.6}

.form-msg{margin:22px 0 0;padding:16px 18px;border-radius:2px;font-size:14px;display:none}
.form-msg.ok{display:block;border:1px solid #1DB954;background:rgba(29,185,84,.08);color:#8fe0ab}
.form-msg.err{display:block;border:1px solid #c0442e;background:rgba(192,68,46,.08);color:#e0917f}

/* pantalla de éxito */
.form-exito{display:none;text-align:center;padding:20px 0}
.form-exito.ver{display:block}
.form-exito .ico{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;
  border:2px solid var(--cobre);display:flex;align-items:center;justify-content:center}
.form-exito .ico svg{width:30px;height:30px;color:var(--cobre-claro)}
.form-exito h2{font-family:var(--display);font-weight:300;font-size:28px;margin:0 0 12px}
.form-exito p{color:#C9C3BC;font-size:15px;line-height:1.7;max-width:44ch;margin:0 auto 26px}

/* ---------- PANEL DE INSCRIPCIONES ---------- */
.panel-login{max-width:380px;margin:40px auto;padding:34px 30px;border:1px solid var(--linea);
  border-radius:2px;background:var(--negro-2)}
.panel-login h2{font-family:var(--display);font-weight:300;font-size:24px;margin:0 0 6px;text-align:center}
.panel-login p{font-size:13px;color:var(--tenue);text-align:center;margin:0 0 24px}
.panel-login .campo{margin:0 0 16px}
.panel-login button{width:100%;font-size:12px;letter-spacing:.16em;color:#fff;background:var(--cobre);
  border:0;border-radius:2px;padding:15px;cursor:pointer;margin:8px 0 0}
.panel-login button:hover{background:var(--cobre-claro)}
.panel-login .err{color:#e0917f;font-size:13px;text-align:center;margin:14px 0 0;min-height:1em}

.panel-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 8px}
.panel-top .buscador{flex:1;min-width:200px}
.panel-top .buscador input{width:100%;background:var(--negro-2);border:1px solid var(--linea);
  border-radius:2px;color:var(--vivo);font-family:var(--texto);font-size:14px;padding:11px 14px}
.panel-top .cuenta-i{font-size:12px;color:var(--tenue);letter-spacing:.1em}
.salir{font-size:11px;letter-spacing:.14em;color:var(--tenue);background:none;
  border:1px solid var(--linea);border-radius:2px;padding:11px 24px;cursor:pointer;
  font-family:var(--texto);transition:border-color .2s,color .2s}
.salir:hover{border-color:var(--cobre);color:var(--cobre-claro)}

.insc-lista{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}
.insc-fila{display:flex;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--linea);
  border-radius:2px;background:var(--negro-2);cursor:pointer;transition:border-color .2s}
.insc-fila:hover{border-color:var(--cobre)}
.insc-fila .mini{width:42px;height:54px;flex:none;border-radius:2px;overflow:hidden;background:#0A0A0B;
  border:1px solid var(--linea);display:flex;align-items:center;justify-content:center;color:var(--tenue);font-size:10px}
.insc-fila .mini img{width:100%;height:100%;object-fit:cover}
.insc-fila .dat{flex:1;min-width:0}
.insc-fila .dat .n{font-family:var(--display);font-size:17px;margin:0}
.insc-fila .dat .i{font-size:12.5px;color:var(--tenue);margin:3px 0 0}
.insc-fila .est{font-size:9px;letter-spacing:.14em;padding:5px 10px;border-radius:2px;white-space:nowrap;
  border:1px solid var(--linea);color:var(--tenue)}
.insc-fila .est.nueva{border-color:var(--cobre);color:var(--cobre-claro)}
.insc-fila .est.pagado{border-color:#1DB954;color:#8fe0ab}

/* modal ficha */
.ficha-fondo{position:fixed;inset:0;background:rgba(0,0,0,.8);display:none;z-index:50;
  overflow-y:auto;padding:24px}
.ficha-fondo.ver{display:block}
.ficha-cerrar{position:fixed;top:18px;right:22px;font-size:26px;color:#fff;background:none;
  border:0;cursor:pointer;z-index:52}
.ficha-acciones{max-width:800px;margin:0 auto 14px;display:flex;gap:10px;justify-content:flex-end}
.ficha-acciones button{font-size:11px;letter-spacing:.14em;padding:11px 20px;border-radius:2px;cursor:pointer;
  border:1px solid var(--cobre);background:none;color:var(--vivo)}
.ficha-acciones button.pri{background:var(--cobre);color:#fff}

/* la ficha en sí — A4 en blanco para imprimir */
.ficha{max-width:800px;margin:0 auto;background:#fff;color:#1a1a1a;border-radius:2px;
  padding:44px 48px;font-family:var(--texto)}
.ficha-cab{display:flex;align-items:center;gap:18px;border-bottom:2px solid #C25A2B;padding:0 0 20px}
.ficha-cab img{width:56px;height:auto}
.ficha-cab .t .s{font-size:10px;letter-spacing:.2em;color:#C25A2B;margin:0}
.ficha-cab .t h2{font-family:var(--display);font-weight:400;font-size:22px;margin:2px 0 0;color:#1a1a1a}
.ficha-cab .t .d{font-size:11px;color:#888;margin:2px 0 0}
.ficha-body{display:grid;grid-template-columns:130px 1fr;gap:28px;margin:26px 0 0}
.ficha-foto{width:130px;height:170px;object-fit:cover;border:1px solid #ddd;border-radius:2px;background:#f2f2f2}
.ficha-foto.vacia{display:flex;align-items:center;justify-content:center;color:#bbb;font-size:11px;text-align:center}
.ficha-datos{margin:0}
.ficha-seccion{margin:0 0 20px}
.ficha-seccion h3{font-size:10px;letter-spacing:.14em;color:#C25A2B;margin:0 0 10px;
  border-bottom:1px solid #eee;padding:0 0 5px}
.ficha-fila{display:flex;gap:10px;font-size:13.5px;padding:4px 0}
.ficha-fila .k{color:#999;min-width:130px}
.ficha-fila .v{color:#1a1a1a;font-weight:500}
.ficha-notas{margin:22px 0 0;border-top:1px solid #eee;padding:18px 0 0}
.ficha-notas .lbl{font-size:10px;letter-spacing:.14em;color:#C25A2B;margin:0 0 10px}
.ficha-notas .lineas{height:78px;background:repeating-linear-gradient(transparent,transparent 25px,#eee 25px,#eee 26px)}
.ficha-firma{display:flex;justify-content:space-between;margin:30px 0 0;font-size:12px;color:#888}
.ficha-firma .f{border-top:1px solid #ccc;padding:6px 0 0;width:44%;text-align:center}

@media print{
  body *{visibility:hidden}
  .ficha, .ficha *{visibility:visible}
  .ficha{position:absolute;left:0;top:0;width:100%;max-width:none;padding:20px 30px;box-shadow:none}
  .ficha-fondo{position:static;background:none;padding:0;overflow:visible}
  .ficha-cerrar,.ficha-acciones{display:none}
}

/* ---------- PORTAL ADMIN ---------- */
.admin-grid{display:grid;gap:14px;grid-template-columns:1fr;margin:20px 0 0}
@media(min-width:640px){.admin-grid{grid-template-columns:1fr 1fr}}
.admin-card{display:flex;flex-direction:column;padding:28px 26px;border:1px solid var(--linea);
  border-radius:2px;background:var(--negro-2);transition:border-color .25s,transform .25s;min-height:150px}
.admin-card:hover{border-color:var(--cobre);transform:translateY(-3px)}
.admin-card .ico{color:var(--cobre-claro);margin:0 0 14px}
.admin-card .ico svg{width:30px;height:30px}
.admin-card h2{font-family:var(--display);font-weight:300;font-size:22px;margin:0 0 6px}
.admin-card p{font-size:13.5px;color:#C9C3BC;line-height:1.55;margin:0 auto 0 0;flex:1}
.admin-card .go{font-size:10px;letter-spacing:.18em;color:var(--tenue);margin:16px 0 0}
.admin-card:hover .go{color:var(--cobre-claro)}
.admin-card.proximo{opacity:.5;pointer-events:none}
.admin-card.proximo .go{color:var(--tenue)}
.admin-saludo{font-size:13px;color:var(--tenue);margin:0 0 4px}

/* ---------- EDITOR DE NOTICIAS ---------- */
.ed-tabs{display:flex;gap:8px;margin:0 0 24px;border-bottom:1px solid var(--linea)}
.ed-tab{font-size:11px;letter-spacing:.14em;color:var(--tenue);background:none;border:0;
  padding:14px 20px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.ed-tab.activa{color:var(--cobre-claro);border-bottom-color:var(--cobre)}
.ed-tab:hover{color:var(--vivo)}

.ed-form{max-width:720px}
.ed-form .campo{margin:0 0 18px}
.ed-form label{font-size:11px;letter-spacing:.1em;color:var(--tenue);text-transform:uppercase;
  display:block;margin:0 0 7px}
.ed-form input,.ed-form select,.ed-form textarea{width:100%;background:var(--negro-2);
  border:1px solid var(--linea);border-radius:2px;color:var(--vivo);font-family:var(--texto);
  font-size:15px;padding:13px 14px}
.ed-form textarea{min-height:200px;resize:vertical;line-height:1.7}
.ed-form input:focus,.ed-form select:focus,.ed-form textarea:focus{outline:none;border-color:var(--cobre)}
.ed-form select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%23C25A2B' d='M6 8 0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center}
.ed-dos{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:560px){.ed-dos{grid-template-columns:1fr 1fr}}
.ed-foto{display:flex;align-items:center;gap:16px;padding:14px;border:1px dashed rgba(194,90,43,.5);
  border-radius:2px;background:var(--negro-2)}
.ed-foto .prev{width:120px;height:68px;flex:none;border-radius:2px;overflow:hidden;background:#0A0A0B;
  border:1px solid var(--linea);display:flex;align-items:center;justify-content:center;color:var(--tenue);font-size:10px}
.ed-foto .prev img{width:100%;height:100%;object-fit:cover}
.ed-foto .btn{font-size:11px;letter-spacing:.1em;color:var(--vivo);background:none;
  border:1px solid var(--cobre);border-radius:2px;padding:10px 16px;cursor:pointer}
.ed-guardar{font-size:12px;letter-spacing:.16em;color:#fff;background:var(--cobre);border:0;
  border-radius:2px;padding:15px 40px;cursor:pointer;margin:8px 0 0}
.ed-guardar:hover:not(:disabled){background:var(--cobre-claro)}
.ed-guardar:disabled{opacity:.5}
.ed-msg{margin:16px 0 0;font-size:14px;min-height:1em}
.ed-msg.ok{color:#8fe0ab}.ed-msg.err{color:#e0917f}

/* lista admin de noticias */
.ed-lista{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:10px}
.ed-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--linea);
  border-radius:2px;background:var(--negro-2)}
.ed-item .mini{width:64px;height:40px;flex:none;border-radius:2px;overflow:hidden;background:#0A0A0B;border:1px solid var(--linea)}
.ed-item .mini img{width:100%;height:100%;object-fit:cover}
.ed-item .dat{flex:1;min-width:0}
.ed-item .dat .t{font-family:var(--display);font-size:16px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-item .dat .m{font-size:11px;color:var(--tenue);margin:3px 0 0}
.ed-item .cat{font-size:9px;letter-spacing:.12em;color:var(--cobre-claro);border:1px solid var(--linea);padding:4px 8px;border-radius:2px;white-space:nowrap}
.ed-item .accion{font-size:10px;letter-spacing:.1em;background:none;border:1px solid var(--linea);
  color:var(--tenue);border-radius:2px;padding:8px 12px;cursor:pointer}
.ed-item .accion:hover{border-color:var(--cobre);color:var(--cobre-claro)}
.ed-item .accion.borrar:hover{border-color:#c0442e;color:#e0917f}

/* ---------- NOTICIAS PÚBLICAS ---------- */
.not-filtros{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0}
.not-filtros button{font-size:10.5px;letter-spacing:.12em;color:var(--tenue);background:none;
  border:1px solid var(--linea);border-radius:2px;padding:9px 16px;cursor:pointer;transition:all .2s}
.not-filtros button:hover{color:var(--vivo)}
.not-filtros button.activa{color:#fff;background:var(--cobre);border-color:var(--cobre)}

.not-grid{display:grid;gap:20px;margin:28px 0 0;grid-template-columns:1fr}
@media(min-width:640px){.not-grid{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.not-grid{grid-template-columns:repeat(3,1fr)}}
.not-card{display:flex;flex-direction:column;border:1px solid var(--linea);border-radius:2px;
  overflow:hidden;background:var(--negro-2);transition:border-color .25s,transform .25s;text-align:left}
.not-card:hover{border-color:var(--cobre);transform:translateY(-3px)}
.not-card .img{aspect-ratio:16/9;background:#0A0A0B;overflow:hidden}
.not-card .img img{width:100%;height:100%;object-fit:cover}
.not-card .cuerpo{padding:20px;display:flex;flex-direction:column;flex:1}
.not-card .cat{font-size:9px;letter-spacing:.14em;color:var(--cobre-claro);margin:0 0 8px}
.not-card h2{font-family:var(--display);font-weight:300;font-size:20px;margin:0 0 8px;line-height:1.2}
.not-card .res{font-size:13.5px;color:#C9C3BC;line-height:1.55;margin:0 0 14px;flex:1}
.not-card .fecha{font-size:11px;color:var(--tenue);letter-spacing:.05em}

/* noticia individual */
.art{max-width:720px;margin:0 auto}
.art .cat{font-size:10px;letter-spacing:.18em;color:var(--cobre-claro);margin:0 0 12px}
.art h1{font-family:var(--display);font-weight:200;font-size:clamp(28px,6vw,42px);
  line-height:1.1;margin:0 0 16px}
.art .meta{font-size:13px;color:var(--tenue);margin:0 0 26px;padding:0 0 20px;border-bottom:1px solid var(--linea)}
.art .foto{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:2px;margin:0 0 26px}
.art .texto{font-size:16.5px;line-height:1.8;color:#D4CEC7}
.art .texto p{margin:0 0 18px}
.art-compartir{margin:34px 0 0;padding:24px 0 0;border-top:1px solid var(--linea)}
.art-compartir .lbl{font-size:10px;letter-spacing:.16em;color:var(--tenue);margin:0 0 14px}
.art-compartir .redes{display:flex;gap:10px}
.art-compartir a{width:42px;height:42px;border:1px solid var(--linea);border-radius:2px;
  display:flex;align-items:center;justify-content:center;color:var(--vivo);transition:all .2s}
.art-compartir a:hover{border-color:var(--cobre)}
.art-compartir svg{width:18px;height:18px}

/* ---------- BLOQUE DE NOTICIAS EN LA PORTADA (v24) ---------- */
/* Banda de fondo propia: separa de un vistazo la cronica (mapa, cifras,
   cobre) de las noticias (foto y texto). Las tarjetas son las mismas
   .not-card de noticias.html, en negro sobre la banda mas clara. */
.port-noticias{background:var(--negro-2)}
.port-noticias .env{padding-top:46px;padding-bottom:56px}
.port-noticias .not-grid{grid-template-columns:1fr;margin:24px 0 0}
@media(min-width:760px){.port-noticias .not-grid{grid-template-columns:repeat(3,1fr)}}
.port-noticias .not-card{background:var(--negro)}
.port-mas{display:inline-block;margin:30px 0 0;font-size:11px;letter-spacing:.19em;
  color:var(--vivo);border-bottom:1px solid var(--cobre);padding-bottom:6px;
  transition:color .2s}
.port-mas:hover{color:var(--cobre-claro)}

/* ---------- BOTON UNICO DE COMPARTIR (v24) ---------- */
/* Sustituye la fila de cuatro iconos. En movil abre el menu del telefono
   (WhatsApp, Instagram, Telegram...); en ordenador copia el enlace. */
.btn-comp{display:inline-flex;align-items:center;gap:10px;font-size:11px;
  letter-spacing:.19em;color:var(--vivo);background:none;
  border:1px solid var(--linea);border-radius:2px;padding:14px 26px;
  cursor:pointer;font-family:var(--texto);transition:border-color .2s,color .2s}
.btn-comp:hover{border-color:var(--cobre);color:var(--cobre-claro)}
.btn-comp svg{width:16px;height:16px;flex:none}
.btn-comp.ok{border-color:var(--cobre);color:var(--cobre-claro)}

/* ---------- ACCESO ÁREA DE MÚSICOS (v25) ---------- */
/* A la derecha de la barra del menú; el menú sigue centrado. En el futuro,
   el carrito de la tienda irá en esta misma zona (utilidades del usuario). */
.acceso-musicos,.acceso-carrito{position:absolute;top:50%;transform:translateY(-50%);
  display:inline-flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.19em;
  color:var(--cobre-claro);white-space:nowrap;padding:6px 4px}
.acceso-carrito{right:22px}
.acceso-carrito .nav-cart-num{position:absolute;top:-4px;left:14px;min-width:16px;height:16px;
  padding:0 4px;border-radius:999px;background:var(--cobre);color:var(--negro);
  font:600 9.5px/16px 'IBM Plex Sans',sans-serif;text-align:center}
.acceso-carrito .nav-cart-num:empty{display:none}
.acceso-musicos{right:120px}
.acceso-musicos svg,.acceso-carrito svg{width:15px;height:15px;flex:none}
.acceso-musicos:hover,.acceso-carrito:hover{color:var(--vivo)}
@media(max-width:1080px){
  .acceso-musicos,.acceso-carrito{position:static;transform:none;display:none;
    width:100%;justify-content:flex-start;gap:10px;
    padding:15px 22px;border-top:1px solid var(--linea);font-size:11px}
  .acceso-musicos span,.acceso-carrito span{display:inline}
  .acceso-musicos svg,.acceso-carrito svg{width:16px!important;height:16px!important;flex:none}
  nav.abierto .acceso-musicos,nav.abierto .acceso-carrito{display:inline-flex;align-items:center}
  .acceso-carrito .nav-cart-num{position:static;margin-left:6px}
}

/* ============================================================
   Añadidos CofraMedia · justificado global + volver arriba
   ============================================================ */

/* Texto corrido justificado con guionado (evita "ríos" en móvil) */
.dir-texto p,
.disco-grande .d,
.etapa p,
.herm-vinculo p,
.art .texto p,
.not-card .res,
.gl-panel p{
  text-align:justify;
  -webkit-hyphens:auto;
  hyphens:auto;
}


/* ---- banner EN DIRECTO en la portada (llamativo) ---- */
.hero .badge-directo{display:inline-flex;align-items:center;gap:9px;background:#e11d16;color:#fff;
  font-size:12px;font-weight:700;letter-spacing:.18em;padding:9px 18px;border-radius:999px;
  margin:0 0 16px;box-shadow:0 0 24px rgba(225,29,22,.55);animation:pulso-badge 1.6s infinite}
@keyframes pulso-badge{
  0%,100%{box-shadow:0 0 20px rgba(225,29,22,.45)}
  50%{box-shadow:0 0 34px rgba(225,29,22,.85)}
}
.hero .badge-directo .live-dot{width:10px;height:10px;border-radius:50%;background:#fff;flex:none;
  animation:parpadeo .9s steps(1) infinite}
@keyframes parpadeo{0%,49%{opacity:1}50%,100%{opacity:.25}}
.hero .cta-directo{display:inline-flex;align-items:center;gap:10px;background:#e11d16;color:#fff;
  border:0;padding:15px 30px;border-radius:10px;margin-top:18px;font-weight:600;font-size:12px;
  letter-spacing:.14em;border-bottom:0;box-shadow:0 6px 20px rgba(225,29,22,.4);
  animation:pulso-btn 1.6s infinite}
@keyframes pulso-btn{
  0%,100%{transform:scale(1);box-shadow:0 6px 20px rgba(225,29,22,.35)}
  50%{transform:scale(1.035);box-shadow:0 6px 30px rgba(225,29,22,.65)}
}
.hero .cta-directo:hover{background:#c4160f}
.hero .cta-directo .live-dot2{width:9px;height:9px;border-radius:50%;background:#fff;flex:none;
  animation:parpadeo .9s steps(1) infinite}

/* ---- bloque de destacados de la tienda en la portada ---- */
.port-destacados{padding:44px 0 10px}
.port-destacados .bloque-sub{color:var(--tenue);font-size:14px;margin:6px 0 0}
.dst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0 30px}
.dst-card{display:block;text-decoration:none;background:var(--negro-2,#141416);border:1px solid var(--linea);
  border-radius:14px;overflow:hidden;transition:border-color .18s,transform .18s}
.dst-card:hover{border-color:var(--cobre);transform:translateY(-3px)}
.dst-img{aspect-ratio:1/1;background:radial-gradient(120% 90% at 50% 0%, rgba(194,90,43,.12) 0%, rgba(20,20,22,0) 62%);
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.dst-img img{width:100%;height:100%;object-fit:cover}
.dst-cuerpo{padding:15px 17px 18px}
.dst-cuerpo h3{font-family:'Newsreader',serif;font-weight:400;font-size:18px;color:var(--vivo);margin:0 0 6px}
.dst-precio{color:var(--cobre-claro);font-size:15px;margin:0}
.dst-antes{text-decoration:line-through;color:var(--tenue);font-size:.85em;margin-right:6px}
.dst-of{color:var(--cobre-claro)}
@media(max-width:720px){
  .dst-grid{grid-template-columns:1fr 1fr;gap:14px}
}
@media(max-width:460px){
  .dst-grid{grid-template-columns:1fr 1fr;gap:12px}
  .dst-cuerpo h3{font-size:16px}
}

/* etiqueta DESTACADOS encima del título en el bloque de tienda */
.port-destacados .bloque-tit{flex-direction:column;align-items:flex-start;gap:4px}
.port-destacados .bloque-tit .n{order:-1;letter-spacing:.22em}
