:root{
  --ria:#12315C;
  --ria-hondo:#0C2347;
  --bruma:#EDF2F5;
  --tinta:#17202B;
  --granito:#55504A;
  --sol:#B94D12;
  --sol-hondo:#8F3A0A;
  --sol-claro:#F4B27A;
  --papel:#fff;
  --ancho:1120px;
  --cab:76px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font:400 19px/1.7 Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--tinta);background:var(--bruma)}
img{max-width:100%;height:auto}
h1,h2,h3,h4,p,ul,ol,blockquote{margin:0}
::selection{background:var(--sol);color:#fff}
.wrap{width:min(var(--ancho),100% - 40px);margin-inline:auto}

/* foco visible sobre cualquier fondo: anillo blanco + anillo azul */
:focus-visible{outline:3px solid #fff;outline-offset:0;box-shadow:0 0 0 6px var(--ria)}
.skip{position:absolute;left:12px;top:-80px;z-index:100;background:var(--papel);color:var(--ria);font-weight:700;padding:14px 20px;border-radius:4px;text-decoration:none}
.skip:focus{top:12px}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:12px 30px;border:2px solid transparent;border-radius:4px;font:700 18px/1.25 Montserrat,system-ui,sans-serif;text-decoration:none;text-align:center;cursor:pointer;transition:background-color .2s,transform .2s}
.btn:not(.is-pending):hover{transform:translateY(-2px)}
.btn-primary{background:var(--sol);color:#fff}
.btn-primary:hover{background:var(--sol-hondo)}
.btn-ghost{background:rgba(8,20,40,.42);color:#fff;border-color:#fff}
.btn-ghost:hover{background:rgba(8,20,40,.7)}
.btn-claro{background:#fff;color:var(--ria)}
.btn-claro:hover{background:var(--bruma)}
.btn.is-pending{background:transparent;border:2px dashed currentColor;color:inherit;cursor:default;font-weight:500;opacity:.9}

/* cabecera: sólida por defecto; transparente sobre el hero cuando hay JS */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(18,49,92,.18);transition:background-color .3s,border-color .3s}
.bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;min-height:var(--cab)}
.brand{display:block;line-height:0;padding:6px 0}
.brand img{height:50px;width:auto}
.logo-claro{display:none}
.site-header nav ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.site-header nav a{display:block;padding:12px 16px;font-weight:600;font-size:18px;color:var(--ria);text-decoration:none;border-bottom:3px solid transparent}
.site-header nav a:hover{border-bottom-color:var(--sol)}
.menu-btn{display:none;min-height:48px;padding:0 18px;border:2px solid var(--ria);border-radius:4px;background:#fff;color:var(--ria);font:700 17px/1 Montserrat,system-ui,sans-serif;cursor:pointer}
.js .site-header:not(.is-solid){background:linear-gradient(rgba(8,20,40,.62),rgba(8,20,40,0));border-bottom-color:transparent}
.js .site-header:not(.is-solid) .logo-claro{display:block}
.js .site-header:not(.is-solid) .logo-oscuro{display:none}
.js .site-header:not(.is-solid) nav a{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.js .site-header:not(.is-solid) nav a:hover{border-bottom-color:#fff}
.js .site-header:not(.is-solid) .menu-btn{background:rgba(8,20,40,.4);color:#fff;border-color:#fff}
@media (max-width:899px){
  .js .menu-btn{display:inline-flex;align-items:center;gap:8px}
  .js .site-header nav{display:none;flex-basis:100%;padding-bottom:12px}
  .js .site-header nav.is-open{display:block}
  .js .site-header nav ul{flex-direction:column;gap:0}
  .js .site-header nav a,
  .js .site-header:not(.is-solid) nav a{padding:16px 4px;border-bottom:1px solid rgba(18,49,92,.15);font-size:20px;color:var(--ria);text-shadow:none}
}

/* siluetas del monte (calcadas de la foto de la contraportada) */
.ridge{position:absolute;left:0;display:block;width:100%;pointer-events:none}
.ridge-hero{bottom:-1px;height:clamp(40px,6.5vw,100px);fill:var(--bruma)}
.ridge-discos{top:1px;transform:translateY(-100%);height:clamp(70px,11vw,170px);fill:var(--ria)}

/* hero */
.hero{position:relative;isolation:isolate;display:grid;align-items:center;min-height:min(92vh,860px);color:#fff}
.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-img{position:absolute;left:0;top:-70px;width:100%;height:calc(100% + 140px);object-fit:cover;object-position:50% 80%;will-change:transform}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,20,40,.58) 0%,rgba(8,20,40,.24) 58%,rgba(8,20,40,.04) 100%)}
.hero-copy{padding-top:calc(var(--cab) + 56px);padding-bottom:clamp(90px,12vw,150px)}
.hero h1{font-weight:400}
.hero .kicker{display:block;font:500 clamp(15px,2.1vw,22px)/1.2 Montserrat,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.hero .nome{display:block;font:400 clamp(70px,12vw,160px)/1.1 "Great Vibes",cursive;margin-top:.14em;text-shadow:0 2px 16px rgba(0,0,0,.45)}
.lema{max-width:32ch;margin-top:20px;font-size:clamp(20px,2.3vw,27px);line-height:1.5;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:36px}
@media (prefers-reduced-motion:no-preference){
  .hero .kicker,.hero .nome,.lema,.actions{animation:subir 1s cubic-bezier(.2,.7,.2,1) both}
  .hero .nome{animation-delay:.15s}
  .lema{animation-delay:.4s}
  .actions{animation-delay:.6s}
}
@keyframes subir{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media (max-width:640px){
  .hero{min-height:620px}
  .hero-shade{background:linear-gradient(rgba(8,20,40,.5),rgba(8,20,40,.36) 60%,rgba(8,20,40,.5))}
  .hero-img{object-position:42% 50%}
  .actions .btn{width:100%}
}

/* titulares de sección */
h2{font:700 clamp(42px,5.2vw,60px)/1.1 "Dancing Script",cursive;color:var(--ria)}
.lead{font-size:21px;margin-top:10px;color:var(--granito)}

/* quen somos */
.about{padding:clamp(48px,6vw,80px) 0 clamp(110px,14vw,200px)}
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:48px clamp(40px,6vw,80px);align-items:start}
.about-side{position:sticky;top:112px}
.cita{margin-top:34px;padding-top:26px;border-top:3px solid var(--sol);max-width:22em}
.cita p{font:700 clamp(30px,3.1vw,40px)/1.22 "Dancing Script",cursive;color:var(--ria)}
.cita footer{margin-top:14px;font-size:16px;color:var(--granito)}
.prose{max-width:62ch;text-wrap:pretty}
.prose p+p{margin-top:1.1em}
.prose>p:first-child::first-letter{float:left;font:700 4.3em/.78 "Dancing Script",cursive;color:var(--ria);padding:.06em .1em 0 0}
.prose .firma{font-size:17px;color:var(--granito);padding-top:.6em}
@media (max-width:820px){.about-grid{grid-template-columns:1fr}.about-side{position:static}}

/* discos */
.discos{position:relative;background:var(--ria);color:#fff;padding:clamp(56px,7vw,96px) 0 clamp(64px,8vw,104px)}
.discos h2{color:#fff}
.disco-principal{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(36px,6vw,88px);align-items:center;margin-top:48px}
.disco-visual{position:relative;padding-right:20%}
.capa{position:relative;z-index:1;display:block;width:100%;border-radius:4px;box-shadow:0 22px 44px -18px rgba(0,0,0,.65)}
.cd-wrap{position:absolute;right:0;top:50%;width:74%;aspect-ratio:1;transform:translateY(-50%);transition:transform 1.5s cubic-bezier(.2,.7,.2,1) .15s}
.cd{display:block;width:100%;height:100%;filter:drop-shadow(0 16px 26px rgba(0,0,0,.5));animation:girar 14s linear infinite paused}
.disco-principal:hover .cd,
.disco-principal:focus-within .cd{animation-play-state:running}
/* con JS el disco entra al llegar a la sección; sin JS queda asomando */
.js .cd-wrap{transform:translateY(-50%) translateX(-30%)}
.js .disco-visual.is-visible .cd-wrap{transform:translateY(-50%)}
@keyframes girar{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  .cd{animation:none}
  .cd-wrap,.js .cd-wrap{transition:none;transform:translateY(-50%)}
}
.disco-info h3{font:700 clamp(32px,3.4vw,42px)/1.15 "Dancing Script",cursive;text-wrap:balance}
.disco-info .meta{margin-top:6px;color:rgba(255,255,255,.86)}
.pistas{list-style:none;padding:0;margin:24px 0 30px;counter-reset:pista;border-top:1px solid rgba(255,255,255,.25)}
.pistas li{position:relative;padding-bottom:30px;counter-increment:pista;display:grid;grid-template-columns:1.6em minmax(0,1fr) auto;align-items:baseline;gap:0 10px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.18);font-weight:500}
.pistas li::before{content:counter(pista);color:var(--sol-claro);font-weight:700}
.pistas .aut{display:block;font-size:16px;color:rgba(255,255,255,.8);font-weight:400;line-height:1.4}
.pistas .tit{all:unset;display:block;position:relative;box-sizing:border-box;padding-left:46px;min-height:34px;cursor:pointer;font-weight:500;border-radius:2px}
.pistas .tit:hover,.pistas .tit:focus-visible{text-decoration:underline;text-decoration-color:var(--sol-claro);text-underline-offset:4px}
.pistas .tit:focus-visible{outline:3px solid #fff;outline-offset:3px}
.pistas .play{position:absolute;left:0;top:-2px;width:34px;height:34px;border-radius:50%;border:2px solid var(--sol-claro);display:grid;place-items:center;transition:background-color .2s,border-color .2s}
.pistas .play svg{width:14px;height:14px;fill:var(--sol-claro);margin-left:2px;transition:fill .2s}
.pistas .tit:hover .play,.pistas .tit:focus-visible .play{background:var(--sol-claro)}
.pistas .tit:hover .play svg,.pistas .tit:focus-visible .play svg{fill:var(--ria)}
.oculto{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.escoitar{display:flex;flex-wrap:wrap;gap:12px}
.aviso-yt{margin-top:14px;font-size:15px;line-height:1.5;color:rgba(255,255,255,.82);max-width:46ch}
.aviso-yt a{color:#fff}
.disco-visual.con-reprodutor{padding-right:0}
.disco-visual.con-reprodutor>:not(.disco-reprodutor){display:none}
.disco-reprodutor{position:relative;aspect-ratio:16/9;border-radius:4px;overflow:hidden;background:#000;box-shadow:0 24px 50px -24px rgba(0,0,0,.8)}
.disco-reprodutor iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pistas time{font-variant-numeric:tabular-nums;color:rgba(255,255,255,.86);font-size:17px}
.disco-info .meta + p{margin-top:24px}
.disco-secundario{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:center;margin-top:clamp(56px,7vw,88px);padding-top:clamp(36px,5vw,56px);border-top:1px solid rgba(255,255,255,.22)}
.capa-pendiente{display:grid;place-items:center;aspect-ratio:900/864;background:linear-gradient(160deg,#1c457f,#0f2a52);box-shadow:none;border:1px solid rgba(255,255,255,.2);border-radius:4px}
.capa-pendiente img{width:70%}
@media (max-width:820px){
  .disco-principal{grid-template-columns:1fr;gap:44px}
  .disco-visual{padding-right:16%}
  .cd-wrap{width:70%}
}
@media (max-width:520px){.disco-secundario{grid-template-columns:1fr}.capa-pendiente{max-width:260px}}

/* integrantes: la pared de retratos */
.integrantes{padding:clamp(64px,8vw,104px) 0}
.muro{list-style:none;padding:0;margin-top:44px;display:flex;flex-wrap:wrap;justify-content:center;gap:28px 20px}
.muro li{display:flex;width:calc((100% - 5*20px)/6)}
.muro figure{margin:0;flex:1;display:flex;flex-direction:column;background:var(--papel);padding:8px 8px 14px;border-radius:4px;box-shadow:0 1px 2px rgba(18,49,92,.14),0 12px 24px -12px rgba(18,49,92,.35)}
.muro img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;background:#dfe6ea}
.muro figcaption{text-align:center;margin-top:10px;font-family:"Dancing Script",cursive;line-height:1.1}
.muro .nombre{display:block;font-weight:700;font-size:26px;color:var(--tinta)}
.muro .apodo{display:block;font-weight:500;font-size:22px;color:var(--granito);margin-top:2px}
@media (max-width:1060px){.muro li{width:calc((100% - 3*20px)/4)}}
@media (max-width:760px){.muro li{width:calc((100% - 2*16px)/3)}.muro{gap:24px 16px}.muro .nombre{font-size:24px}.muro .apodo{font-size:20px}}
@media (max-width:520px){.muro li{width:calc((100% - 16px)/2)}}

/* galería de paisaje: banda deslizante */
.galeria{--lado:max(20px,calc((100vw - var(--ancho)) / 2));background:var(--bruma);padding-bottom:28px}
.galeria-pista{display:flex;gap:12px;margin:0;padding:0 var(--lado);list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--lado);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.galeria-pista::-webkit-scrollbar{display:none}
.galeria-pista li{flex:0 0 auto;height:clamp(230px,28vw,400px);scroll-snap-align:start}
.galeria-pista img{display:block;height:100%;width:auto;max-width:none;border-radius:4px}
.galeria-ctrl{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;min-height:56px}
.g-flechas{display:flex;gap:12px;margin-left:auto}
.g-btn{width:56px;height:56px;border:2px solid var(--ria);border-radius:50%;background:#fff;color:var(--ria);font:700 34px/1 Montserrat,system-ui,sans-serif;cursor:pointer;display:grid;place-items:center;padding:0 0 4px;transition:background-color .2s,color .2s}
.g-btn:hover{background:var(--ria);color:#fff}
.g-pausa{min-height:48px;padding:0 22px;border:2px solid var(--ria);border-radius:4px;background:transparent;color:var(--ria);font:700 17px/1 Montserrat,system-ui,sans-serif;cursor:pointer}
.g-pausa:hover{background:var(--ria);color:#fff}
.g-pausa[hidden]{display:none}
@media (max-width:520px){.galeria-pista li{height:64vw}}

/* vídeos (fondo oscuro, como una sala) */
.actuacions{background:var(--ria-hondo);color:#fff;padding:clamp(64px,8vw,104px) 0}
.actuacions h2{color:#fff}
.ficha{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:32px 40px;align-items:end;margin-top:44px}
.ficha-fotos{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:10px;aspect-ratio:16/8.4}
.ficha-foto{position:relative;display:block;padding:0;border:0;border-radius:4px;overflow:hidden;background:var(--ria);cursor:zoom-in}
.ficha-foto img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.ficha-foto:hover img{transform:scale(1.03)}
.ficha-principal{grid-row:1/3}
.ficha-principal img{object-position:50% 75%}
.ficha-texto{padding-bottom:6px}
.ficha h3{font:700 clamp(32px,3.4vw,44px)/1.15 "Dancing Script",cursive;color:#fff;text-wrap:balance}
.ficha-data{margin-top:8px;color:#D5DEE8}
.ficha-desc{text-wrap:pretty;margin-top:14px;font-size:17px;line-height:1.6;color:#D5DEE8;max-width:30ch}
.ficha-botones{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.ficha .aviso-yt{max-width:34ch}
.visor.modo-video .visor-foto,.visor.modo-video .visor-btn{display:none}
.visor-video{position:relative;width:min(100vw - 48px,(100vh - 140px) * 16 / 9,1400px);aspect-ratio:16/9;background:#000;border-radius:4px;overflow:hidden}
.visor-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.videos{margin-top:clamp(56px,7vw,88px)}
.videos-tit{font:700 clamp(32px,3.4vw,44px)/1.15 "Dancing Script",cursive;color:#fff}
.visor{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#081428;color:#fff}
.visor::backdrop{background:rgba(8,20,40,.7)}
.visor[open]{display:grid;place-items:center}
.visor-foto{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px}
.visor-foto img{display:block;max-width:calc(100vw - 180px);max-height:calc(100vh - 120px);width:auto;height:auto;border-radius:4px}
.visor-pe{font-size:17px;color:#D5DEE8}
.visor-btn{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border:2px solid #fff;border-radius:50%;background:rgba(8,20,40,.6);color:#fff;font:700 34px/1 Montserrat,system-ui,sans-serif;cursor:pointer;display:grid;place-items:center;padding:0 0 4px}
.visor-btn:hover{background:#fff;color:var(--ria)}
.visor-prev{left:24px}.visor-next{right:24px}
.visor-pechar{position:absolute;top:20px;right:24px;min-height:48px;padding:0 22px;border:2px solid #fff;border-radius:4px;background:transparent;color:#fff;font:700 17px/1 Montserrat,system-ui,sans-serif;cursor:pointer}
.visor-pechar:hover{background:#fff;color:var(--ria)}
@media (max-width:760px){
  .ficha{grid-template-columns:1fr}
  .ficha-fotos{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;aspect-ratio:auto}
  .ficha-principal{aspect-ratio:16/10}
  .ficha-principal{grid-row:auto;grid-column:1/-1}
  .ficha-foto:not(.ficha-principal){aspect-ratio:4/3}
  .visor-foto img{max-width:100vw;max-height:calc(100vh - 170px);border-radius:0}
  .visor-btn{top:auto;bottom:20px;transform:none}
}
@media (prefers-reduced-motion:reduce){.ficha-foto img{transition:none}.ficha-foto:hover img{transform:none}}
.videos h2{color:#fff}
#videos-lista{margin-top:44px}
.videos-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px;list-style:none;padding:0}
.video{display:block}
.video:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:36px;align-items:center}
.video-marco{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;border-radius:4px;overflow:hidden;background:var(--ria) center/cover no-repeat;cursor:pointer;box-shadow:0 18px 40px -20px rgba(0,0,0,.8)}
.video-marco iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-play{position:absolute;inset:0;margin:auto;width:76px;height:76px;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center;color:var(--ria);font-size:30px;padding-left:6px;box-shadow:0 6px 20px rgba(0,0,0,.35);transition:transform .2s}
.video-marco:hover .video-play{transform:scale(1.08)}
.video h4{font:700 21px/1.3 Montserrat,system-ui,sans-serif;margin-top:14px;color:#fff}
.video:first-child h4{font:700 clamp(28px,3vw,36px)/1.2 "Dancing Script",cursive;margin-top:0}
.video time{display:block;color:rgba(255,255,255,.8);font-size:17px;margin-top:6px}
.videos-extra{margin-top:40px;display:flex;flex-wrap:wrap;gap:16px}
.videos-extra[hidden]{display:none}
.btn-oscuro{background:#fff;color:var(--ria)}
.btn-oscuro:hover{background:var(--bruma)}
@media (max-width:860px){.videos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.video:first-child{grid-template-columns:1fr;gap:16px}}
@media (max-width:560px){.videos-grid{grid-template-columns:1fr}}

/* contacto */
.contacto{position:relative;isolation:isolate;overflow:hidden;color:#fff;padding:clamp(72px,9vw,120px) 0;background:var(--ria-hondo)}
.contacto-foto{position:absolute;inset:-70px 0;z-index:-2;background:url("../img/hero/atardecer-1600.webp") center 52%/cover no-repeat;will-change:transform}
.contacto::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(8,20,40,.5),rgba(8,20,40,.66))}
.contacto h2{color:#fff}
.contacto .lead{color:#fff;max-width:34ch;font-size:23px}
.botones{display:flex;flex-wrap:wrap;gap:16px;margin-top:34px}
.onde{margin-top:34px;font-weight:500}
@media (max-width:640px){.botones .btn{width:100%}}

/* pie */
.site-footer{background:var(--ria-hondo);color:rgba(255,255,255,.88);padding:36px 0;font-size:16px;border-top:1px solid rgba(255,255,255,.12)}
.pie{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px 32px}
.pie img{width:190px;height:auto}
.pie p{line-height:1.6}


/* oleaje: la forma real de cada canción, en capas de agua con cresta de espuma */
.onda{position:absolute;left:0;right:0;bottom:0;width:100%;height:24px;display:block;overflow:visible}
.o-fondo{fill:#2E8FA3;opacity:.28}
.o-medio{fill:#3AA6BA;opacity:.5}
.o-cresta{fill:none;stroke:#EAF8FB;stroke-width:1.3;stroke-linejoin:round;opacity:.85}

/* reflejos lentos sobre el agua del atardecer (se paran con «reducir movimiento») */
.brillos{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.brillos span{position:absolute;left:0;top:var(--t);width:var(--w);height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(255,232,196,.5),transparent);opacity:0;animation:brillo var(--d) linear var(--r) infinite}
.brillos span:nth-child(1){--t:40%;--w:38%;--d:19s;--r:-3s}
.brillos span:nth-child(2){--t:47%;--w:52%;--d:26s;--r:-11s}
.brillos span:nth-child(3){--t:53%;--w:30%;--d:22s;--r:-17s}
.brillos span:nth-child(4){--t:60%;--w:44%;--d:30s;--r:-7s}
@keyframes brillo{0%{transform:translateX(-110%);opacity:0}12%{opacity:.3}88%{opacity:.3}100%{transform:translateX(260%);opacity:0}}
@media (prefers-reduced-motion:reduce){.brillos{display:none}}

/* página legal */
.pagina-legal main{padding-top:calc(var(--cab) + 48px);padding-bottom:clamp(56px,8vw,96px)}
.legal{max-width:760px}
.legal h1{font:700 clamp(38px,5vw,54px)/1.12 "Dancing Script",cursive;color:var(--ria)}
.legal .actualizacion{margin-top:8px;color:var(--granito);font-size:17px}
.legal h2{font:700 24px/1.3 Montserrat,system-ui,sans-serif;color:var(--ria);margin-top:2.2em}
.legal p{margin-top:.9em;max-width:68ch}
.legal .datos{list-style:none;padding:0;margin:1em 0 0}
.legal .datos li{padding:.65em 0;border-bottom:1px solid rgba(18,49,92,.15)}
.legal a{color:var(--ria)}
.pendiente{background:#fff0a8;color:#4a3b00;padding:0 .3em;border-radius:3px}
.pie a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.pie a:hover{text-decoration-thickness:2px}
@media (max-width:899px){.pagina-legal main{padding-top:calc(var(--cab) + 84px)}}

/* panel que aparece al pulsar correo o teléfono en ordenador */
.btn-peq{min-height:48px;padding:8px 20px;font-size:16px}
.panel-contacto{margin-top:22px;padding:22px 26px;max-width:680px;border:1px solid rgba(255,255,255,.4);border-radius:4px;background:rgba(8,20,40,.62)}
.panel-contacto[hidden]{display:none}
.panel-titulo{font-size:16px;color:rgba(255,255,255,.85)}
.panel-dato{margin-top:4px;font:700 clamp(22px,3vw,28px)/1.3 Montserrat,system-ui,sans-serif;overflow-wrap:anywhere;user-select:all}
.panel-acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
