/* Andrés Alejandro · hoja de estilos */
:root{
  --noche:#071A2E; --noche-2:#0C2440; --azul:#004D90; --azul-hover:#0A5FAA;
  --crema:#E8DCC8; --crema-2:#F1E9DC; --carbon:#2F2F2F; --dorado:#B8960C;
  --suave:rgba(232,220,200,.72); --linea-osc:rgba(232,220,200,.18); --linea-clara:rgba(47,47,47,.16);
  --serif:"Cormorant Garamond", Garamond, "Times New Roman", serif;
  --sans:"Raleway", "Helvetica Neue", Arial, sans-serif;
  --max:1320px; --pad:clamp(20px,5vw,56px); --head:72px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --noche:#071A2E; --crema:#E8DCC8; } }
:root[data-theme="dark"]{ --noche:#071A2E; --crema:#E8DCC8; }
:root{ box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px); }
html{ scroll-padding-top:calc(var(--head) + env(safe-area-inset-top,0px) + 12px); scroll-behavior:smooth; }
*,*::before,*::after{ box-sizing:inherit; }
body{ margin:0; background:var(--noche); color:var(--crema); font-family:var(--sans); font-size:17px; line-height:1.65; font-feature-settings:"lnum" 1,"pnum" 1; -webkit-font-smoothing:antialiased; }
img,svg{ max-width:100%; display:block; height:auto; }
a{ color:inherit; }
:focus-visible{ outline:2px solid var(--dorado); outline-offset:3px; }
.wrap{ max-width:var(--max); margin:0 auto; padding:0 var(--pad); }
.angosto{ max-width:820px; }
h1,h2,h3{ font-family:var(--serif); font-weight:500; line-height:1.05; margin:0; letter-spacing:-.005em; }
h2{ font-size:clamp(2.3rem,5vw,3.9rem); }
h3{ font-size:clamp(1.55rem,2.6vw,2.1rem); }
p{ margin:0 0 1em; max-width:64ch; }
.kicker{ font-size:.95rem; font-weight:500; color:var(--suave); margin:0 0 14px; }
.suave{ color:var(--suave); }
.saltar{ position:absolute; left:-9999px; top:8px; z-index:100; background:var(--crema); color:var(--azul); padding:10px 16px; font-weight:600; }
.saltar:focus{ left:12px; }
.trampa{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* tonos de sección */
section.bloque{ padding:clamp(72px,10vw,130px) 0; }
.claro{ background:var(--crema); color:var(--carbon); }
.claro-2{ background:var(--crema-2); color:var(--carbon); }
.oscuro-2{ background:var(--noche-2); }
.claro .kicker,.claro-2 .kicker{ color:rgba(47,47,47,.68); }
.claro .suave,.claro-2 .suave{ color:rgba(47,47,47,.72); }

/* botones */
.btns{ display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.btn{ display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 24px; border-radius:2px; font-family:var(--sans); font-weight:600; font-size:.95rem; letter-spacing:.02em; text-decoration:none; border:1px solid transparent; transition:background .2s,color .2s,border-color .2s; cursor:pointer; }
.btn-azul{ background:var(--azul); color:var(--crema); }
.btn-azul:hover{ background:var(--azul-hover); }
.btn-borde{ border-color:rgba(232,220,200,.55); color:var(--crema); background:transparent; }
.btn-borde:hover{ border-color:var(--crema); background:rgba(232,220,200,.08); }
.btn-crema{ background:var(--crema); color:var(--azul); }
.btn-crema:hover{ background:#fff; }
.claro .btn-borde,.claro-2 .btn-borde{ border-color:rgba(0,77,144,.45); color:var(--azul); }
.claro .btn-borde:hover,.claro-2 .btn-borde:hover{ border-color:var(--azul); background:rgba(0,77,144,.06); }
.link{ color:inherit; font-weight:600; text-decoration:underline; text-decoration-color:var(--dorado); text-underline-offset:5px; text-decoration-thickness:1px; }
.pronto{ font-style:normal; flex:none; font-size:.78rem; font-weight:600; letter-spacing:.05em; color:var(--dorado); border:1px solid rgba(184,150,12,.55); padding:3px 10px; border-radius:2px; white-space:nowrap; }

/* cabecera (v2) */
[hidden]{ display:none !important; }
.cab{ position:sticky; top:0; z-index:50; background:var(--crema); color:var(--azul); border-bottom:1px solid var(--linea-clara); }
.cab .wrap{ display:flex; align-items:center; justify-content:space-between; height:var(--head); gap:24px; position:relative; }
.marca{ display:flex; align-items:center; gap:14px; text-decoration:none; color:var(--azul); }
.marca .iso{ height:46px; width:auto; }
.marca span{ font-family:var(--serif); font-size:1.35rem; font-weight:600; letter-spacing:.01em; }
.nav{ display:flex; align-items:center; gap:clamp(12px,1.5vw,24px); }
.nav a{ text-decoration:none; font-size:.92rem; font-weight:500; color:var(--carbon); }
.nav a:hover,.nav a[aria-current="page"]{ color:var(--azul); }
.nav a[aria-current="page"]{ text-decoration:underline; text-decoration-color:var(--dorado); text-underline-offset:8px; }
.nav a.btn{ color:var(--crema); min-height:40px; padding:0 18px; font-size:.88rem; }
.idioma{ font-size:.85rem; font-weight:600; color:var(--carbon); white-space:nowrap; }
.idioma b{ color:var(--azul); }
.menu-btn{ display:none; background:none; border:0; color:var(--azul); width:44px; height:44px; cursor:pointer; }
@media (max-width:1100px){
  .nav{ position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:flex-start; gap:0; background:var(--crema); padding:8px var(--pad) 24px; border-bottom:1px solid var(--linea-clara); display:none; max-height:calc(100svh - var(--head)); overflow:auto; }
  .nav.abierto{ display:flex; }
  .nav > a{ padding:12px 0; font-size:1.05rem; width:100%; border-bottom:1px solid var(--linea-clara); }
  .nav a[aria-current="page"]{ text-decoration:none; }
  .idioma{ padding:14px 0 0; font-size:1rem; }
  .nav a.btn{ margin-top:16px; width:100%; border:0; }
  .menu-btn{ display:inline-flex; align-items:center; justify-content:center; }
  .marca span{ display:none; }
}

/* hero de inicio */
.hero{ position:relative; min-height:calc(100svh - var(--head)); display:flex; align-items:flex-end; overflow:hidden; background:var(--noche); }
.hero > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:42% 30%; }
.hero::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(7,26,46,.96) 0%, rgba(7,26,46,.55) 42%, rgba(7,26,46,.12) 75%), linear-gradient(to right, rgba(7,26,46,.7), rgba(7,26,46,0) 60%); }
.hero .wrap{ position:relative; z-index:2; width:100%; padding-bottom:clamp(48px,8vh,96px); padding-top:120px; }
.hero h1{ font-size:clamp(3.6rem,11vw,10rem); line-height:.86; letter-spacing:-.02em; }
.hero h1 span{ display:block; }
.rol{ margin:26px 0 6px; font-size:clamp(.95rem,1.4vw,1.1rem); font-weight:500; letter-spacing:.08em; color:var(--suave); }
.lema{ font-family:var(--serif); font-style:italic; font-size:clamp(1.5rem,2.6vw,2.2rem); margin:0; color:var(--crema); }

/* cabecera de páginas interiores */
.cabeza{ position:relative; overflow:hidden; background:var(--noche); min-height:clamp(360px,52vh,560px); display:flex; align-items:flex-end; }
.cabeza > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cabeza::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(7,26,46,.97) 0%, rgba(7,26,46,.5) 55%, rgba(7,26,46,.2) 100%); }
.cabeza .wrap{ position:relative; z-index:2; width:100%; padding-top:110px; padding-bottom:clamp(40px,6vw,72px); }
.cabeza h1{ font-size:clamp(3rem,8vw,6.5rem); line-height:.92; letter-spacing:-.015em; }
.cabeza .bajada{ font-family:var(--serif); font-style:italic; font-size:clamp(1.3rem,2.4vw,1.9rem); margin:18px 0 0; max-width:40ch; }
.cabeza.sin-foto{ min-height:auto; background:var(--noche-2); }
.cabeza.sin-foto::after{ display:none; }

/* franja de boletos */
.boletos{ background:var(--azul); color:var(--crema); }
.boletos .wrap{ display:grid; grid-template-columns:auto 1fr auto; gap:clamp(18px,4vw,48px); align-items:center; padding-top:26px; padding-bottom:26px; }
.boletos .fecha{ font-family:var(--serif); line-height:1; text-align:center; border-right:1px solid rgba(232,220,200,.35); padding-right:clamp(18px,4vw,48px); }
.boletos .fecha b{ display:block; font-size:3.2rem; font-weight:600; }
.boletos .fecha small{ font-family:var(--sans); font-size:.85rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.boletos h2{ font-size:clamp(1.6rem,3vw,2.3rem); }
.boletos p{ margin:4px 0 0; font-size:.95rem; color:rgba(232,220,200,.88); max-width:none; }
.boletos .btns{ margin:0; }
@media (max-width:760px){ .boletos .wrap{ grid-template-columns:auto 1fr; } .boletos .btns{ grid-column:1/-1; } .boletos .btns .btn{ flex:1; } }

/* video de YouTube (carga al hacer clic) */
.yt{ position:relative; overflow:hidden; background:#000; border-radius:6px; aspect-ratio:16/9; box-shadow:0 30px 60px -30px rgba(0,0,0,.8); }
.yt.yt-v{ aspect-ratio:9/16; }
.yt img{ width:100%; height:100%; object-fit:cover; opacity:.92; }
.yt iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.yt-play{ position:absolute; inset:0; margin:auto; width:84px; height:84px; border-radius:50%; border:1px solid rgba(232,220,200,.85); background:rgba(7,26,46,.55); color:var(--crema); display:flex; align-items:center; justify-content:center; }
.yt-play:hover{ background:var(--azul); }
.yt-play svg{ width:26px; margin-left:4px; }
.dur{ position:absolute; left:14px; bottom:12px; font-size:.82rem; font-weight:600; background:rgba(7,26,46,.75); padding:3px 9px; border-radius:2px; }

/* ver */
.ver .wrap{ display:grid; grid-template-columns:minmax(240px,340px) 1fr; gap:clamp(36px,7vw,96px); align-items:center; }
.otro-video{ display:flex; gap:18px; align-items:center; margin-top:40px; padding-top:28px; border-top:1px solid var(--linea-osc); max-width:560px; }
.otro-video .yt{ flex:none; width:200px; border-radius:4px; }
.otro-video .yt-play{ width:44px; height:44px; }
.otro-video .yt-play svg{ width:13px; margin-left:2px; }
.otro-video strong{ display:block; font-family:var(--serif); font-size:1.4rem; font-weight:500; line-height:1.15; }
.otro-video small{ color:var(--suave); font-size:.88rem; }
@media (max-width:760px){ .ver .wrap{ grid-template-columns:1fr; } .ver .yt-v{ max-width:320px; } }
@media (max-width:420px){ .otro-video .yt{ width:140px; } }

/* dos columnas genéricas */
.dos{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,88px); align-items:start; }
.dos.centro{ align-items:center; }
.foto-alta img{ width:100%; aspect-ratio:4/5; object-fit:cover; object-position:30% 30%; }
.foto img{ width:100%; }
@media (max-width:900px){ .dos{ grid-template-columns:1fr; } }

/* trayectoria */
.trayectoria{ margin-top:clamp(56px,8vw,96px); border-top:1px solid var(--linea-clara); padding-top:36px; }
.trayectoria h2,.trayectoria h3{ margin-bottom:28px; }
.linea{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.linea li{ border-left:1px solid var(--dorado); padding-left:18px; }
.linea b{ display:block; font-family:var(--serif); font-size:2.2rem; font-weight:600; color:var(--azul); line-height:1; margin-bottom:10px; }
.oscuro-2 .linea b,.bloque:not(.claro):not(.claro-2) .linea b{ color:var(--crema); }
.linea p{ font-size:.95rem; margin:0; }
.linea.larga{ grid-template-columns:repeat(4,1fr); row-gap:40px; }
@media (max-width:900px){ .linea,.linea.larga{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .linea,.linea.larga{ grid-template-columns:1fr; } }

/* música */
.album{ display:grid; grid-template-columns:180px 1fr; gap:28px; align-items:start; }
.album img{ width:180px; aspect-ratio:1; object-fit:cover; box-shadow:0 20px 40px -20px rgba(0,0,0,.8); }
.album h3{ margin-bottom:8px; }
.pistas{ list-style:none; padding:0; margin:18px 0 0; columns:2; column-gap:20px; font-size:.88rem; color:var(--suave); }
.pistas li{ break-inside:avoid; padding:3px 0; }
.lista{ list-style:none; padding:0; margin:22px 0 0; border-top:1px solid var(--linea-osc); }
.lista li{ display:flex; justify-content:space-between; gap:20px; align-items:baseline; padding:16px 0; border-bottom:1px solid var(--linea-osc); }
.claro .lista,.claro .lista li,.claro-2 .lista,.claro-2 .lista li{ border-color:var(--linea-clara); }
.lista strong{ font-family:var(--serif); font-size:1.45rem; font-weight:500; display:block; line-height:1.15; }
.lista span{ font-size:.92rem; color:var(--suave); }
.claro .lista span,.claro-2 .lista span{ color:rgba(47,47,47,.72); }
.lista a{ font-weight:600; font-size:.9rem; white-space:nowrap; }
.spotify{ border:0; width:100%; border-radius:12px; margin-top:28px; }
.repertorio{ columns:3; column-gap:32px; list-style:none; padding:0; margin:24px 0 0; }
.repertorio li{ break-inside:avoid; padding:8px 0; border-bottom:1px solid var(--linea-clara); }
.repertorio small{ display:block; color:rgba(47,47,47,.62); font-size:.85rem; }
@media (max-width:900px){ .repertorio{ columns:2; } }
@media (max-width:520px){ .album{ grid-template-columns:1fr; } .album img{ width:200px; } .pistas{ columns:1; } .repertorio{ columns:1; } }

/* en vivo */
.vivo-portada{ position:relative; height:clamp(260px,42vw,520px); overflow:hidden; }
.vivo-portada img{ width:100%; height:100%; object-fit:cover; object-position:50% 40%; }
.vivo-portada::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, var(--noche) 0%, rgba(7,26,46,.25) 60%); }
.vivo-sube{ padding-top:0 !important; margin-top:clamp(-140px,-12vw,-80px); position:relative; z-index:2; }
.intro2{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:end; margin-bottom:56px; }
.show-principal{ display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(28px,5vw,64px); align-items:center; padding-bottom:56px; border-bottom:1px solid var(--linea-osc); }
.show-principal img{ width:100%; aspect-ratio:3/2; object-fit:cover; }
.ficha{ font-size:.92rem; color:var(--suave); }
.shows-sec{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,64px); padding-top:56px; }
.show > img{ width:100%; aspect-ratio:16/10; object-fit:cover; margin-bottom:22px; }
.show h3{ margin-bottom:10px; display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.tipografico{ aspect-ratio:16/10; margin-bottom:22px; background:var(--noche-2); border:1px solid var(--linea-osc); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; color:rgba(0,77,144,.9); }
.tipografico .iso{ height:78%; width:auto; opacity:.55; }
.tipografico em{ position:absolute; left:24px; bottom:18px; font-family:var(--serif); font-size:1.5rem; color:var(--crema); }
.corporativo{ margin-top:72px; padding:40px clamp(24px,4vw,48px); background:var(--noche-2); display:grid; grid-template-columns:1fr auto; gap:32px; align-items:center; border-left:2px solid var(--dorado); }
.corporativo p{ margin:0; }
.show-detalle{ padding:clamp(64px,9vw,110px) 0; border-top:1px solid var(--linea-osc); }
.show-detalle:first-of-type{ border-top:0; }
.datos{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:32px 0 0; padding:24px 0; border-top:1px solid var(--linea-osc); border-bottom:1px solid var(--linea-osc); }
.datos dt{ font-size:.82rem; font-weight:600; color:var(--suave); margin-bottom:4px; }
.datos dd{ margin:0; font-family:var(--serif); font-size:1.35rem; line-height:1.2; }
.claro .datos,.claro-2 .datos{ border-color:var(--linea-clara); }
.claro .datos dt,.claro-2 .datos dt{ color:rgba(47,47,47,.62); }
.formatos{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:28px; border-top:1px solid var(--linea-osc); }
.formatos div{ padding:22px 22px 22px 0; border-bottom:1px solid var(--linea-osc); }
.formatos div + div{ padding-left:22px; border-left:1px solid var(--linea-osc); }
.formatos strong{ display:block; font-family:var(--serif); font-size:1.5rem; font-weight:500; }
.formatos span{ font-size:.92rem; color:var(--suave); }
@media (max-width:900px){ .intro2,.show-principal,.shows-sec,.corporativo{ grid-template-columns:1fr; } .datos{ grid-template-columns:1fr 1fr; } .formatos{ grid-template-columns:1fr; } .formatos div + div{ padding-left:0; border-left:0; } }

/* galería */
.galeria{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:40px; }
.galeria img{ width:100%; height:100%; aspect-ratio:3/2; object-fit:cover; }
.galeria .alta{ grid-row:span 2; }
.galeria .alta img{ aspect-ratio:auto; }
@media (max-width:760px){ .galeria{ grid-template-columns:1fr 1fr; } .galeria .alta{ grid-row:auto; } .galeria .alta img{ aspect-ratio:3/2; } }

/* autor */
.autor-grid{ display:grid; grid-template-columns:minmax(220px,360px) 1fr; gap:clamp(40px,7vw,100px); align-items:center; }
.autor-grid img{ width:100%; box-shadow:0 30px 60px -28px rgba(0,0,0,.45); }
.cita{ font-family:var(--serif); font-style:italic; font-size:1.55rem; line-height:1.35; color:var(--azul); border-left:2px solid var(--dorado); padding-left:22px; margin:28px 0; max-width:32ch; }
.bloque:not(.claro):not(.claro-2) .cita{ color:var(--crema); }
.idiomas{ display:flex; flex-wrap:wrap; gap:8px 22px; list-style:none; padding:0; margin:0; font-weight:500; font-size:.95rem; }
.ediciones{ list-style:none; padding:0; margin:20px 0 0; display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--linea-clara); }
.ediciones li{ padding:14px 0; border-bottom:1px solid var(--linea-clara); display:flex; justify-content:space-between; gap:12px; padding-right:18px; }
.ediciones a{ font-weight:600; color:var(--azul); }
.ediciones small{ color:rgba(47,47,47,.55); }
@media (max-width:760px){ .autor-grid{ grid-template-columns:1fr; } .autor-grid img{ max-width:260px; } .ediciones{ grid-template-columns:1fr 1fr; } }

/* propósito */
.proposito{ display:grid; grid-template-columns:1fr 1fr; align-items:center; }
.proposito .foto{ padding:clamp(24px,4vw,56px); }
.proposito .foto img{ width:100%; height:auto; border-radius:3px; box-shadow:0 30px 60px -30px rgba(0,0,0,.7); }
.proposito .texto{ padding:clamp(56px,8vw,110px) clamp(24px,6vw,88px) clamp(56px,8vw,110px) clamp(16px,3vw,32px); }
.sub{ font-family:var(--serif); font-style:italic; font-size:1.6rem; margin:14px 0 28px; }
.hechos{ list-style:none; padding:0; margin:20px 0 0; }
.hechos li{ display:grid; grid-template-columns:72px 1fr; gap:18px; padding:18px 0; border-top:1px solid var(--linea-osc); }
.hechos b{ font-family:var(--serif); font-size:1.8rem; font-weight:600; color:var(--dorado); line-height:1; }
.hechos p{ margin:0; font-size:.98rem; }
.modelo{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:36px; border-top:1px solid var(--linea-clara); }
.modelo div{ padding:24px 20px 24px 0; }
.modelo div + div{ padding-left:20px; border-left:1px solid var(--linea-clara); }
.modelo strong{ display:block; font-family:var(--serif); font-size:1.5rem; font-weight:500; color:var(--azul); }
@media (max-width:900px){ .proposito{ grid-template-columns:1fr; } .proposito .texto{ padding-top:16px; } .modelo{ grid-template-columns:1fr 1fr; } .modelo div:nth-child(3){ padding-left:0; border-left:0; } }

/* alianzas */
.areas{ display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--linea-clara); }
.areas > div{ padding:32px 32px 32px 0; border-bottom:1px solid var(--linea-clara); }
.areas > div:nth-child(odd){ border-right:1px solid var(--linea-clara); }
.areas > div:nth-child(even){ padding-left:32px; }
.areas h3{ font-size:1.7rem; color:var(--azul); margin-bottom:8px; }
.areas p{ margin:0; }
.areas ul{ margin:12px 0 0; padding-left:18px; font-size:.95rem; }
.bloque:not(.claro):not(.claro-2) .areas,.bloque:not(.claro):not(.claro-2) .areas > div{ border-color:var(--linea-osc); }
.bloque:not(.claro):not(.claro-2) .areas h3{ color:var(--crema); }
@media (max-width:760px){ .areas{ grid-template-columns:1fr; } .areas > div{ border-right:0 !important; padding-left:0 !important; } }

/* agenda */
.evento{ display:grid; grid-template-columns:150px 1fr auto; gap:28px; align-items:center; padding:28px 0; border-top:1px solid var(--linea-osc); border-bottom:1px solid var(--linea-osc); margin:36px 0 64px; }
.evento time{ font-family:var(--serif); font-size:1.9rem; font-weight:600; line-height:1.05; }
.evento h3{ font-size:1.8rem; }
.evento p{ margin:4px 0 0; color:var(--suave); font-size:.95rem; }
.pasadas{ list-style:none; padding:0; margin:20px 0 0; }
.pasadas li{ display:grid; grid-template-columns:220px 1fr; gap:28px; padding:14px 0; border-bottom:1px solid var(--linea-osc); font-size:.98rem; }
.pasadas time{ color:var(--suave); font-weight:500; }
@media (max-width:760px){ .evento{ grid-template-columns:1fr; gap:10px; } .pasadas li{ grid-template-columns:1fr; gap:2px; } }

/* prensa y recursos */
.recursos{ list-style:none; padding:0; margin:0; border-top:1px solid var(--linea-clara); }
.recursos li{ border-bottom:1px solid var(--linea-clara); }
.recursos a{ display:flex; justify-content:space-between; gap:16px; padding:18px 0; text-decoration:none; font-weight:500; }
.recursos a:hover{ color:var(--azul); }
.recursos small{ color:rgba(47,47,47,.6); font-weight:500; white-space:nowrap; }
.bloque:not(.claro):not(.claro-2) .recursos,.bloque:not(.claro):not(.claro-2) .recursos li{ border-color:var(--linea-osc); }
.bloque:not(.claro):not(.claro-2) .recursos a:hover{ color:#fff; }
.bloque:not(.claro):not(.claro-2) .recursos small{ color:var(--suave); }
.fotos-prensa{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:32px; }
.fotos-prensa figure{ margin:0; }
.fotos-prensa img{ width:100%; aspect-ratio:3/2; object-fit:cover; }
.fotos-prensa figcaption{ display:flex; justify-content:space-between; gap:10px; padding:10px 0; font-size:.88rem; border-bottom:1px solid var(--linea-clara); }
.fotos-prensa a{ font-weight:600; color:var(--azul); }
.logos-prensa{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:28px; }
.logos-prensa figure{ margin:0; }
.logos-prensa .muestra{ height:170px; display:flex; align-items:center; justify-content:center; padding:24px; background:#fff; border:1px solid var(--linea-clara); }
.logos-prensa .muestra.osc{ background:var(--noche); }
.logos-prensa .muestra img{ max-height:120px; width:auto; }
.logos-prensa figcaption{ padding:10px 0; font-size:.88rem; }
.logos-prensa figcaption a{ font-weight:600; color:var(--azul); margin-right:12px; }
.bio-corta{ font-size:1.05rem; border-left:2px solid var(--dorado); padding-left:22px; }
@media (max-width:760px){ .fotos-prensa,.logos-prensa{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .fotos-prensa,.logos-prensa{ grid-template-columns:1fr; } }

/* texto largo */
.texto-largo p{ font-size:1.05rem; }
.texto-largo h2{ font-size:clamp(1.9rem,3.4vw,2.6rem); margin:56px 0 18px; }
.texto-largo h3{ font-size:1.5rem; margin:36px 0 10px; }
.texto-largo ul{ padding-left:20px; max-width:64ch; }
.texto-largo li{ margin-bottom:6px; }
.legal-txt p,.legal-txt li{ font-size:.98rem; }

/* contacto */
.canales{ display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--linea-clara); }
.canales > div{ padding:28px 28px 28px 0; border-bottom:1px solid var(--linea-clara); }
.canales > div:not(:nth-child(3n+1)){ padding-left:28px; border-left:1px solid var(--linea-clara); }
.canales h3{ font-size:1.6rem; color:var(--azul); margin-bottom:6px; }
.canales p{ font-size:.95rem; margin:0 0 12px; }
@media (max-width:900px){ .canales{ grid-template-columns:1fr; } .canales > div{ padding-left:0 !important; border-left:0 !important; } }
.form-contacto{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-contacto label{ display:flex; flex-direction:column; gap:6px; font-size:.85rem; font-weight:600; }
.form-contacto input,.form-contacto select,.form-contacto textarea{ min-height:50px; border-radius:2px; border:1px solid rgba(47,47,47,.3); background:#fff; color:var(--carbon); padding:12px 14px; font:500 1rem var(--sans); }
.form-contacto textarea{ min-height:150px; resize:vertical; }
.form-contacto input:focus,.form-contacto select:focus,.form-contacto textarea:focus{ border-color:var(--azul); outline:2px solid rgba(0,77,144,.25); }
.form-contacto .ancho{ grid-column:1/-1; }
.form-contacto .check{ flex-direction:row; align-items:flex-start; gap:10px; font-weight:500; font-size:.92rem; }
.form-contacto .check input{ min-height:auto; width:20px; height:20px; margin-top:2px; flex:none; }
.bloque:not(.claro):not(.claro-2) .form-contacto input,.bloque:not(.claro):not(.claro-2) .form-contacto select,.bloque:not(.claro):not(.claro-2) .form-contacto textarea{ background:rgba(7,26,46,.6); border-color:var(--linea-osc); color:var(--crema); }
@media (max-width:700px){ .form-contacto{ grid-template-columns:1fr; } }
.estado{ grid-column:1/-1; font-weight:600; margin:0; min-height:1.4em; }
.estado.ok{ color:#2e7d32; }
.estado.err{ color:#b3261e; }
.boletin .estado.ok{ color:var(--crema); }
.boletin .estado.err{ color:#ffb4a9; }

/* cierre */
.cierre{ position:relative; min-height:88svh; display:flex; align-items:center; text-align:center; overflow:hidden; }
.cierre > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 55%; }
.cierre::after{ content:""; position:absolute; inset:0; background:radial-gradient(ellipse at center, rgba(7,26,46,.55), rgba(7,26,46,.92)); }
.cierre .wrap{ position:relative; z-index:2; width:100%; }
.cierre .firma{ width:min(560px,82vw); height:auto; margin:0 auto 22px; color:var(--crema); }
.cierre .apodo{ font-family:var(--serif); font-style:italic; font-size:clamp(1.7rem,3.2vw,2.6rem); margin:0 auto 6px; max-width:none; }
.cierre .btns{ justify-content:center; }

/* boletín */
.boletin{ background:var(--noche-2); padding:clamp(56px,8vw,96px) 0; }
.boletin .wrap{ display:grid; grid-template-columns:1fr 1.3fr; gap:48px; align-items:center; }
.boletin .suave{ margin-top:16px; }
.form{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.form label{ display:flex; flex-direction:column; gap:6px; font-size:.85rem; font-weight:600; color:var(--suave); }
.form input{ height:50px; border-radius:2px; border:1px solid var(--linea-osc); background:rgba(7,26,46,.6); color:var(--crema); padding:0 14px; font:500 1rem var(--sans); }
.form input:focus{ border-color:var(--crema); outline:none; }
.form input::placeholder{ color:rgba(232,220,200,.4); }
.form .ancho{ grid-column:1/-1; }
.form .legal{ grid-column:1/-1; font-size:.82rem; color:var(--suave); margin:2px 0 0; }
@media (max-width:860px){ .boletin .wrap,.form{ grid-template-columns:1fr; } }

/* pie */
.pie{ background:var(--crema); color:var(--carbon); padding:72px 0 40px; }
.pie .grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; }
.pie .logo-full{ width:190px; height:auto; color:var(--azul); margin-bottom:18px; }
.pie h3{ font-family:var(--sans); font-size:.9rem; font-weight:600; margin:0 0 14px; color:var(--azul); }
.pie ul{ list-style:none; padding:0; margin:0; }
.pie li{ padding:4px 0; font-size:.95rem; }
.pie p{ font-size:.95rem; }
.pie a{ text-decoration:none; }
.pie a:hover{ color:var(--azul); text-decoration:underline; }
.pie .legal{ margin-top:56px; padding-top:24px; border-top:1px solid var(--linea-clara); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:.85rem; color:rgba(47,47,47,.75); }
@media (max-width:900px){ .pie .grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .pie .grid{ grid-template-columns:1fr; } }

/* WhatsApp y cookies */
.wa{ position:fixed; right:18px; bottom:calc(18px + env(safe-area-inset-bottom,0px)); z-index:40; display:flex; align-items:center; gap:10px; background:var(--noche); color:var(--crema); border:1px solid var(--linea-osc); padding:10px 16px 10px 12px; border-radius:30px; font-size:.85rem; font-weight:600; text-decoration:none; box-shadow:0 10px 30px -10px rgba(0,0,0,.6); }
.wa svg{ width:20px; height:20px; }
@media (max-width:520px){ .wa span{ display:none; } .wa{ padding:12px; } }
.aviso-cookies{ position:fixed; left:18px; bottom:calc(18px + env(safe-area-inset-bottom,0px)); z-index:45; max-width:440px; background:var(--noche-2); color:var(--crema); border:1px solid var(--linea-osc); padding:16px 18px; display:flex; gap:16px; align-items:center; box-shadow:0 10px 30px -10px rgba(0,0,0,.6); }
.aviso-cookies p{ margin:0; font-size:.85rem; }
.aviso-cookies .btn{ min-height:40px; padding:0 16px; flex:none; }
@media (max-width:520px){ .aviso-cookies{ right:80px; left:12px; flex-direction:column; align-items:flex-start; gap:10px; } }

/* 404 */
.p-404 .cabeza{ min-height:60vh; }

@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } *{ transition:none !important; } }
.razones{ list-style:none; padding:0; margin:22px 0 0; }
.razones li{ padding:14px 0 14px 20px; border-top:1px solid var(--linea-osc); position:relative; }
.razones li::before{ content:""; position:absolute; left:0; top:24px; width:8px; height:1px; background:var(--dorado); }
.dos > .yt-v{ max-width:340px; width:100%; justify-self:center; }
.tipografico .deco{ height:78%; width:auto; opacity:.4; }
.marca .iso{ height:46px; width:auto; }
.pie .logo-full{ width:190px; }
.dos > *,.intro2 > *,.ver .wrap > *,.boletin .wrap > *{ min-width:0; }
.form-contacto select,.form-contacto input,.form-contacto textarea{ width:100%; max-width:100%; }
.autor-grid > *{ min-width:0; }
@media (max-width:520px){ .ediciones{ grid-template-columns:1fr; } .aviso-cookies{ right:72px; } }

/* ===== Ajustes v2: cabecera, justificado ===== */
.cab{ background:#fff; border-bottom:1px solid rgba(0,77,144,.12); }
.cab .wrap{ max-width:var(--max); height:84px; }
:root{ --head:84px; }
.marca{ gap:14px; flex:none; }
.marca .iso{ height:50px; width:auto; }
.marca .nombre{ height:27px; width:auto; }
.nav{ gap:15px; }
.nav > a:not(.btn){ font-family:var(--sans); font-size:.76rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--carbon); white-space:nowrap; }
.nav > a:not(.btn):hover,.nav > a[aria-current="page"]{ color:var(--azul); }
.nav a[aria-current="page"]{ text-decoration:none; box-shadow:inset 0 -2px 0 var(--azul); padding-bottom:4px; }
.idioma{ font-size:.78rem; letter-spacing:.1em; color:rgba(47,47,47,.6); padding-left:14px; border-left:1px solid rgba(47,47,47,.18); margin-left:4px; }
.idioma a{ color:rgba(47,47,47,.6); text-decoration:none; }
.idioma b{ color:var(--azul); }
.nav a.btn{ font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; min-height:42px; padding:0 20px; white-space:nowrap; }
@media (max-width:1320px){
  .nav{ position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; gap:0; background:#fff; padding:8px var(--pad) 24px; border-bottom:1px solid rgba(0,77,144,.12); display:none; max-height:calc(100svh - var(--head)); overflow:auto; }
  .nav.abierto{ display:flex; }
  .nav > a:not(.btn){ padding:14px 0; font-size:.9rem; border-bottom:1px solid rgba(47,47,47,.1); box-shadow:none; }
  .idioma{ border-left:0; padding:16px 0 0; font-size:.9rem; }
  .nav a.btn{ margin-top:16px; }
  .menu-btn{ display:inline-flex; align-items:center; justify-content:center; }
}
@media (max-width:480px){ .marca .nombre{ height:22px; } .marca .iso{ height:40px; } }

/* Texto justificado: párrafos de lectura. Las columnas muy angostas (trayectoria, fichas,
   descripciones de canciones, pie) quedan alineadas a la izquierda para evitar huecos entre palabras. */
p, .texto-largo li, .areas li, .legal-txt li{ text-align:justify; -webkit-hyphens:auto; hyphens:auto; }
.linea p, .album p, .lista span, .ficha, .formatos span, .modelo p, .canales p, .pie p, .boletos p,
.cierre p, .rol, .lema, .kicker, .estado, .form .legal, .pie .legal, figcaption, .otro-video small, .razones li{ text-align:left; -webkit-hyphens:manual; hyphens:manual; }
.cierre p{ text-align:center; }
