/* ============================================================
   SILVESTRE (KG) — EPK
   Paleta derivada: negro/hueso del logo Kindergarden (marca
   estrictamente monocroma) + carmesí muestreado de la foto de
   club real (#9F212E → acento #F0192E).
   ============================================================ */

/* ---------- 1. TOKENS ---------- */
:root{
  --void:#050506;
  --ink:#0A0A0C;
  --panel:#101014;

  --bone:#EDEAED;
  --ash:#8C8C95;
  --dim:#585862;

  --red:#F0192E;          /* acento, derivado del carmesí de pista */
  --red-deep:#9F212E;     /* muestra directa de la foto */
  --blood:#4F0B16;        /* muestra directa, sombras */

  --line:rgba(237,234,237,.11);
  --line-2:rgba(237,234,237,.055);

  --f-disp:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;
  --f-serif:"Spectral",Georgia,"Times New Roman",serif;

  --pad:clamp(20px,4.5vw,72px);
  --maxw:1440px;
  --sect-y:clamp(44px,4.6vw,80px);

  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

/* ---------- 2. RESET ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-color:var(--red-deep) var(--void)}
body{
  background:var(--void);color:var(--bone);
  font-family:var(--f-serif);font-weight:300;
  font-size:clamp(14.5px,1vw,16px);line-height:1.6;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
body.is-locked{overflow:hidden}
img,video,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button,input{font:inherit;color:inherit;background:none;border:0}
button{cursor:pointer}
::selection{background:var(--red);color:#fff}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
[hidden]{display:none !important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}

::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:var(--void)}
::-webkit-scrollbar-thumb{background:#2A1015;border:2px solid var(--void)}
::-webkit-scrollbar-thumb:hover{background:var(--red-deep)}

/* ---------- 3. TIPOGRAFÍA UTILITARIA ---------- */
.idx,.sect__label,.sect__side,.hero__kicker,.hero__rail,.venue__n,.venue__tag,
.spec span,.fact b,.linkrow__k,.film__meta,.foot__row,.sbtn__txt em,.crobar__kicker,
.rel__head,.rel__l,.rel__g,.rel__b,.rel__y,.date__d,.date__c,.date__s,
.copyrow__k,.kitrow__k,.bk__k,.news__k,.film__date,.tour__label{
  font-family:var(--f-mono);font-weight:400;letter-spacing:.14em;text-transform:uppercase;
}

/* ---------- 4. SPLASH ---------- */
#splash{
  position:fixed;inset:0;z-index:9000;background:var(--void);display:grid;place-items:center;
  animation:splashOut .7s var(--ease-out) 3.6s forwards;
}
#splash.is-gone{animation:splashOut .7s var(--ease-out) forwards}
@keyframes splashOut{to{opacity:0;visibility:hidden;pointer-events:none}}
.splash__inner{width:min(320px,72vw);text-align:center}
.splash__mark{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:24px}
.splash__kg{
  font-family:var(--f-disp);font-weight:800;font-size:52px;line-height:.8;color:var(--bone);
  animation:kgPulse 1.4s steps(2,end) infinite;
}
@keyframes kgPulse{0%,72%{opacity:1}73%,80%{opacity:.25}81%,100%{opacity:1}}
.splash__rule{width:48px;height:1px;background:var(--red)}
.splash__meta{display:flex;justify-content:space-between;font-family:var(--f-mono);
  font-size:9.5px;letter-spacing:.2em;color:var(--dim);text-transform:uppercase;margin-bottom:8px}
.splash__pct{color:var(--red)}
.splash__bar{height:1px;background:var(--line);overflow:hidden}
.splash__bar i{display:block;height:100%;width:0;background:var(--red);
  animation:splashBar 3.4s var(--ease) forwards}
@keyframes splashBar{to{width:100%}}

/* ---------- 5. TEXTURA ---------- */
#grid{position:fixed;inset:0;z-index:0;width:100%;height:100%;opacity:.55;pointer-events:none}
.grain{
  position:fixed;inset:-120px;z-index:60;pointer-events:none;opacity:.055;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grainShift 1.1s steps(5) infinite;will-change:transform;
}
@keyframes grainShift{
  0%{transform:translate(0,0)}20%{transform:translate(-16px,9px)}
  40%{transform:translate(11px,-14px)}60%{transform:translate(-9px,-7px)}
  80%{transform:translate(14px,12px)}100%{transform:translate(0,0)}
}
.vig{position:fixed;inset:0;z-index:55;pointer-events:none;
  background:radial-gradient(120% 80% at 50% 40%,transparent 40%,rgba(5,5,6,.55) 100%)}

/* ---------- 6. CURSOR ---------- */
#cursor{position:fixed;top:0;left:0;z-index:9500;pointer-events:none;opacity:0;transition:opacity .3s}
#cursor.is-on{opacity:1}
.cursor__dot,.cursor__ring{position:absolute;left:0;top:0;border-radius:50%;transform:translate(-50%,-50%)}
.cursor__dot{width:5px;height:5px;background:var(--red)}
.cursor__ring{width:28px;height:28px;border:1px solid rgba(237,234,237,.42);
  transition:width .25s var(--ease),height .25s var(--ease),border-color .25s,background-color .25s}
#cursor.is-hot .cursor__ring{width:50px;height:50px;border-color:var(--red);background:rgba(240,25,46,.09)}
#cursor.is-hot .cursor__dot{opacity:0}
@media (hover:none),(pointer:coarse){#cursor{display:none}}

/* ---------- 7. NAV ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:400;
  display:flex;align-items:center;gap:20px;padding:15px var(--pad);
  transition:background-color .4s,backdrop-filter .4s,border-color .4s,padding .4s;
  border-bottom:1px solid transparent;
}
.nav.is-stuck{
  background:rgba(5,5,6,.84);backdrop-filter:blur(14px) saturate(120%);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  border-bottom-color:var(--line-2);padding-top:10px;padding-bottom:10px;
}
.nav__brand{display:flex;align-items:flex-start;gap:3px;margin-right:auto}
.nav__brandmark{font-family:var(--f-disp);font-weight:800;font-size:18px;letter-spacing:.06em;line-height:1}
.nav__brand sup{font-family:var(--f-mono);font-size:8.5px;color:var(--red);letter-spacing:.1em}
.nav__links{display:flex;gap:26px}
.nav__links a{
  font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ash);position:relative;padding-bottom:3px;transition:color .3s;
}
.nav__links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;
  background:var(--red);transition:width .35s var(--ease)}
.nav__links a:hover{color:var(--bone)}
.nav__links a:hover::after{width:100%}

.lang{
  display:flex;align-items:center;gap:4px;
  font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;
  border:1px solid var(--line);padding:7px 11px;transition:border-color .3s;
}
.lang:hover{border-color:var(--red)}
.lang__a{color:var(--bone)}
.lang__b{color:var(--dim)}
.lang__sep{color:var(--dim);opacity:.5}
html[lang="en"] .lang__a{color:var(--dim)}
html[lang="en"] .lang__b{color:var(--bone)}

.nav__cta{
  font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  border:1px solid var(--line);padding:8px 16px;position:relative;overflow:hidden;
  transition:border-color .35s,color .35s;
}
.nav__cta span{position:relative;z-index:1}
.nav__cta::before{content:"";position:absolute;inset:0;background:var(--red);
  transform:translateY(101%);transition:transform .38s var(--ease)}
.nav__cta:hover{border-color:var(--red);color:#fff}
.nav__cta:hover::before{transform:translateY(0)}

.nav__burger{display:none;width:28px;height:18px;position:relative}
.nav__burger i{position:absolute;left:0;width:100%;height:1.5px;background:var(--bone);
  transition:transform .35s var(--ease),opacity .2s}
.nav__burger i:first-child{top:4px}
.nav__burger i:last-child{top:12px}
.nav__burger[aria-expanded="true"] i:first-child{transform:translateY(4px) rotate(45deg)}
.nav__burger[aria-expanded="true"] i:last-child{transform:translateY(-4px) rotate(-45deg)}

.drawer{
  position:fixed;inset:0;z-index:390;background:var(--void);
  display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0 var(--pad);
  clip-path:inset(0 0 100% 0);transition:clip-path .55s var(--ease-out);visibility:hidden;
}
.drawer.is-open{clip-path:inset(0 0 0 0);visibility:visible}
.drawer a{
  font-family:var(--f-disp);font-weight:700;font-size:clamp(22px,5.5vw,34px);
  line-height:1.15;text-transform:uppercase;border-bottom:1px solid var(--line-2);padding:9px 0;
}
.drawer a:active{color:var(--red)}

/* ---------- 8. HERO ---------- */
.hero{
  position:relative;z-index:1;min-height:100svh;min-height:100vh;
  display:grid;align-items:end;padding:0 var(--pad) clamp(44px,7vh,80px);overflow:hidden;
}
.hero__media{position:absolute;inset:0;z-index:-1;background:#000}
/* El archivo de desktop ya viene recortado a la franja visible (1080x800);
   el de mobile es 9:16 completo. */
.hero__video{
  width:100%;height:100%;object-fit:cover;object-position:center center;
  opacity:0;transition:opacity 1.2s var(--ease-out);filter:saturate(.72) contrast(1.06);
}
.hero__video.is-ready{opacity:.72}
.hero__wash{
  position:absolute;inset:0;
  background:
    linear-gradient(to top,var(--void) 2%,rgba(5,5,6,.55) 42%,rgba(5,5,6,.30) 72%,rgba(5,5,6,.62) 100%),
    linear-gradient(to right,rgba(5,5,6,.62),transparent 42%,transparent 62%,rgba(5,5,6,.5));
}
.hero__scan{position:absolute;inset:0;opacity:.38;
  background:repeating-linear-gradient(to bottom,rgba(0,0,0,0) 0 2px,rgba(0,0,0,.34) 2px 3px)}

.hero__hud{position:absolute;inset:clamp(14px,2.2vw,26px);pointer-events:none}
.hud__corner{position:absolute;width:14px;height:14px;border:1px solid rgba(237,234,237,.30)}
.hud__corner--tl{top:0;left:0;border-right:0;border-bottom:0}
.hud__corner--tr{top:0;right:0;border-left:0;border-bottom:0}
.hud__corner--bl{bottom:0;left:0;border-right:0;border-top:0}
.hud__corner--br{bottom:0;right:0;border-left:0;border-top:0}
.hero__rail{position:absolute;top:50%;font-family:var(--f-mono);font-size:8.5px;
  letter-spacing:.26em;color:var(--dim);white-space:nowrap}
.hero__rail--l{left:0;transform:rotate(-90deg) translateX(-50%);transform-origin:left center}
.hero__rail--r{right:0;transform:rotate(90deg) translateX(50%);transform-origin:right center}

.hero__body{position:relative;max-width:920px}
.hero__kicker{font-size:9.5px;color:var(--red);margin-bottom:clamp(12px,1.8vh,18px);
  opacity:0;transform:translateY(10px);animation:fadeUp .8s var(--ease-out) .25s forwards}
.hero__title{
  font-family:var(--f-disp);font-weight:800;font-size:clamp(52px,13vw,190px);
  line-height:.84;letter-spacing:-.012em;display:flex;align-items:flex-start;text-transform:uppercase;
}
.hero__kg{
  font-family:var(--f-mono);font-weight:500;font-size:clamp(11px,1.35vw,20px);
  letter-spacing:.05em;line-height:1;color:var(--red);margin:.16em 0 0 .1em;flex:none;
  opacity:0;animation:fadeUp .6s var(--ease-out) 1.15s forwards;
}
.glitch{position:relative;display:block}
.glitch__base,.glitch__layer{display:block;white-space:nowrap}
.glitch__layer{position:absolute;inset:0;pointer-events:none;opacity:0}
.glitch__base{clip-path:inset(0 100% 0 0);animation:scanIn .95s var(--ease-out) .35s forwards}
@keyframes scanIn{to{clip-path:inset(0 0 0 0)}}
.hero__title.is-live .glitch__layer{animation:glitchA 3.6s steps(1,end) infinite;color:var(--red);mix-blend-mode:screen}
.hero__title.is-live .glitch__layer--b{animation:glitchB 3.6s steps(1,end) infinite;color:#37D6FF}
@keyframes glitchA{
  0%,86%{opacity:0;transform:none;clip-path:inset(0 0 0 0)}
  87%{opacity:.85;transform:translate(-4px,2px);clip-path:inset(14% 0 62% 0)}
  89%{opacity:.85;transform:translate(5px,-2px);clip-path:inset(58% 0 20% 0)}
  91%{opacity:.7;transform:translate(-3px,0);clip-path:inset(32% 0 44% 0)}
  93%,100%{opacity:0;transform:none}
}
@keyframes glitchB{
  0%,86%{opacity:0;transform:none;clip-path:inset(0 0 0 0)}
  88%{opacity:.6;transform:translate(4px,-1px);clip-path:inset(40% 0 34% 0)}
  90%{opacity:.6;transform:translate(-5px,2px);clip-path:inset(8% 0 76% 0)}
  92%,100%{opacity:0;transform:none}
}
.hero__tag{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px 16px;margin-top:clamp(14px,2vh,22px);
  opacity:0;animation:fadeUp .8s var(--ease-out) 1s forwards}
.hero__tagline{font-family:var(--f-mono);font-weight:500;font-size:clamp(11px,1.1vw,13px);
  letter-spacing:.28em;text-transform:uppercase;border-left:2px solid var(--red);padding-left:11px}
.hero__tagsub{font-family:var(--f-serif);font-size:clamp(13.5px,1vw,16px);color:var(--ash);font-style:italic}
.hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(20px,3.2vh,34px);
  opacity:0;animation:fadeUp .8s var(--ease-out) 1.2s forwards}
@keyframes fadeUp{to{opacity:1;transform:none}}
.hero__scroll{position:absolute;right:var(--pad);bottom:clamp(44px,7vh,80px);
  display:flex;flex-direction:column;align-items:center;gap:9px;
  font-family:var(--f-mono);font-size:8.5px;letter-spacing:.28em;color:var(--dim);
  opacity:0;animation:fadeUp .8s var(--ease-out) 1.5s forwards}
.hero__scroll i{width:1px;height:38px;background:linear-gradient(var(--red),transparent);
  animation:scrollPulse 2s var(--ease) infinite}
@keyframes scrollPulse{0%,100%{transform:scaleY(.35);opacity:.4}50%{transform:scaleY(1);opacity:1}}

/* ---------- 9. BOTONES ---------- */
.btn{
  position:relative;display:inline-flex;align-items:center;gap:10px;
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  padding:13px 22px;overflow:hidden;transition:color .35s,border-color .35s;
}
.btn span,.btn i{position:relative;z-index:1;font-style:normal}
.btn i{transition:transform .35s var(--ease)}
.btn:hover i{transform:translateX(5px)}
.btn--solid{background:var(--red);color:#fff}
.btn--ghost{border:1px solid var(--line);color:var(--bone)}
.btn--solid::before,.btn--ghost::before{content:"";position:absolute;inset:0;background:var(--bone);
  transform:translateY(101%);transition:transform .4s var(--ease)}
.btn--solid:hover,.btn--ghost:hover{color:var(--void)}
.btn--ghost:hover{border-color:var(--bone)}
.btn--solid:hover::before,.btn--ghost:hover::before{transform:translateY(0)}
.btn--big{padding:16px 28px;font-size:11px}

/* ---------- 10. TICKER ---------- */
.ticker{position:relative;z-index:2;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--ink);overflow:hidden;padding:12px 0}
.ticker__track{display:flex;width:max-content;animation:tick 46s linear infinite}
.ticker:hover .ticker__track{animation-play-state:paused}
.ticker__set{display:flex;align-items:center;flex:none}
.ticker__set span{
  font-family:var(--f-disp);font-weight:700;font-size:clamp(14px,1.6vw,22px);
  letter-spacing:.04em;text-transform:uppercase;padding:0 clamp(12px,1.5vw,20px);
  color:var(--bone);white-space:nowrap;
}
.ticker__set .ticker__hl{color:var(--red-deep)}
.ticker__set b{width:4px;height:4px;background:var(--red);flex:none;transform:rotate(45deg)}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- 11. SECCIONES ---------- */
.sect{position:relative;z-index:2;padding:var(--sect-y) var(--pad);max-width:var(--maxw);margin:0 auto}
.sect__head{
  display:flex;align-items:baseline;gap:clamp(12px,1.6vw,20px);
  padding-bottom:16px;margin-bottom:clamp(24px,3.2vw,44px);border-bottom:1px solid var(--line);
}
.idx{font-size:9.5px;color:var(--red)}
.sect__label{font-family:var(--f-mono);font-weight:400;font-size:clamp(10.5px,1vw,12px);
  letter-spacing:.26em;text-transform:uppercase;color:var(--ash)}
.sect__side{margin-left:auto;font-size:9px;color:var(--dim);transition:color .3s;white-space:nowrap}
.sect__side:hover{color:var(--red)}
.sect__intro{font-size:clamp(14.5px,1.2vw,17px);color:var(--ash);max-width:48ch;
  margin-bottom:clamp(20px,2.6vw,32px)}

/* Reveal — regla defensiva primero */
.reveal[data-split]{opacity:1;transform:none}
.reveal{opacity:0;transform:translateY(22px);
  transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal.is-in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}
.split__line{display:block;overflow:hidden}
.split__inner{display:block;transform:translateY(105%);transition:transform .9s var(--ease-out)}
.is-in .split__inner{transform:translateY(0)}
.split__line:nth-child(2) .split__inner{transition-delay:.08s}
.split__line:nth-child(3) .split__inner{transition-delay:.16s}
.split__line:nth-child(4) .split__inner{transition-delay:.24s}

/* ---------- 12. FECHAS ---------- */
.dates{border-top:1px solid var(--line)}
.date{
  display:grid;grid-template-columns:88px 1fr 1fr auto;align-items:center;
  gap:clamp(12px,2vw,28px);padding:16px clamp(6px,1vw,14px);
  border-bottom:1px solid var(--line);position:relative;overflow:hidden;
  transition:padding-left .4s var(--ease);
}
.date--link::before{content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(90deg,var(--blood),transparent 78%);
  transform:translateX(-101%);transition:transform .5s var(--ease)}
.date--link:hover::before{transform:translateX(0)}
.date--link:hover{padding-left:clamp(16px,2.4vw,30px)}
.date > span{position:relative;z-index:1}
.date__d{font-size:12px;color:var(--bone)}
.date__c{font-size:10px;color:var(--ash)}
.date__v{font-family:var(--f-disp);font-weight:700;font-size:clamp(17px,1.9vw,26px);
  letter-spacing:.02em;text-transform:uppercase;line-height:1}
.date__s{font-size:9px;color:var(--red);border:1px solid rgba(240,25,46,.4);padding:5px 10px}
.date.is-out .date__s{color:var(--dim);border-color:var(--line)}
.date.is-out .date__v,.date.is-out .date__d{color:var(--dim)}

.dates__empty{
  border:1px solid var(--line);border-left:2px solid var(--red);
  padding:clamp(22px,3vw,38px);display:flex;flex-direction:column;
  gap:clamp(16px,2.2vw,26px);align-items:flex-start;
  background:linear-gradient(120deg,rgba(159,33,46,.09),transparent 60%);
}
.dates__msg{font-size:clamp(15px,1.4vw,19px);color:#C7C4CA;max-width:46ch}
.dates__cta{display:flex;flex-wrap:wrap;gap:10px}

/* ---------- 13. SONIDO ---------- */
.sonido__grid{
  display:grid;gap:clamp(24px,3vw,48px);grid-template-columns:1.15fr .85fr;
  grid-template-areas:"statement figure" "copy figure";align-items:start;
}
.sonido__statement{grid-area:statement}
.sonido__figure{grid-area:figure}
.sonido__copy{grid-area:copy;max-width:48ch}
.statement{font-family:var(--f-disp);font-weight:700;font-size:clamp(24px,3.2vw,50px);
  line-height:.98;letter-spacing:-.003em;text-transform:uppercase}
.sonido__copy p{margin-bottom:.95em;color:#C7C4CA}
.specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  background:var(--line-2);border:1px solid var(--line-2);margin-top:clamp(22px,3vw,36px)}
.spec{background:var(--void);padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.spec span{font-size:8.5px;color:var(--dim)}
.spec b{font-family:var(--f-disp);font-weight:700;font-size:clamp(13px,1.15vw,17px);
  letter-spacing:.02em;text-transform:uppercase;line-height:1.05}

.frame{position:relative;overflow:hidden;background:var(--ink)}
.frame img{width:100%;filter:grayscale(1) contrast(1.14) brightness(.94);
  transition:filter .7s var(--ease),transform 1.1s var(--ease)}
.frame:hover img{filter:grayscale(.15) contrast(1.05) brightness(1);transform:scale(1.03)}
.frame__tick{position:absolute;width:18px;height:18px;border:1px solid var(--red);z-index:1}
.frame__tick--tl{top:10px;left:10px;border-right:0;border-bottom:0}
.frame__tick--br{bottom:10px;right:10px;border-left:0;border-top:0}
.sonido__figure figcaption{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.22em;
  color:var(--dim);margin-top:10px;text-transform:uppercase}

/* ---------- 14. KINDERGARDEN ---------- */
.kg{overflow:hidden}
.kg__glow{position:absolute;left:26%;top:50%;width:min(760px,110vw);aspect-ratio:1;
  transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(circle,rgba(159,33,46,.22),transparent 62%);filter:blur(30px)}
.kg__layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(26px,4vw,60px);align-items:center}
.kg__stage{display:flex;flex-direction:column;align-items:center;gap:clamp(14px,2vw,24px)}
.kg__logo{width:min(330px,64vw);height:auto;filter:drop-shadow(0 0 40px rgba(240,25,46,.16))}
.kg__logo.is-in{animation:kgIn 1.1s var(--ease-out) forwards}
@keyframes kgIn{0%{clip-path:inset(0 0 100% 0);opacity:0}100%{clip-path:inset(0 0 0 0);opacity:1}}
.kg__type{font-family:var(--f-mono);font-size:clamp(8.5px,.95vw,10.5px);letter-spacing:.36em;
  text-transform:uppercase;color:var(--ash);text-align:center}
.lead{font-size:clamp(15.5px,1.35vw,20px);line-height:1.5;color:#D3D0D6;max-width:44ch}
.kg__facts{display:grid;gap:1px;background:var(--line-2);border:1px solid var(--line-2);
  margin-top:clamp(20px,2.6vw,32px)}
.fact{background:var(--void);padding:15px 17px;display:flex;flex-direction:column;gap:5px}
.fact b{font-size:8.5px;color:var(--red)}
.fact span{font-family:var(--f-serif);font-size:14.5px;color:#C7C4CA}

/* ---------- 15. TRAYECTORIA + CROBAR ---------- */
.tray__grid{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(26px,3.5vw,54px);align-items:start}
.venues{border-top:1px solid var(--line)}
.venue{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(12px,2vw,26px);
  padding:clamp(11px,1.5vw,18px) clamp(6px,1vw,14px);border-bottom:1px solid var(--line);
  position:relative;overflow:hidden;transition:padding-left .45s var(--ease);
}
.venue::before{content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(90deg,var(--blood),transparent 78%);
  transform:translateX(-101%);transition:transform .55s var(--ease)}
.venue > span{position:relative;z-index:1}
.venue:hover{padding-left:clamp(16px,2.4vw,30px)}
.venue:hover::before{transform:translateX(0)}
.venue__n{font-size:9px;color:var(--dim);transition:color .35s}
.venue:hover .venue__n{color:var(--red)}
.venue__name{font-family:var(--f-disp);font-weight:700;font-size:clamp(19px,2.4vw,34px);
  line-height:1;letter-spacing:.01em;text-transform:uppercase}
.venue__tag{font-size:8.5px;color:var(--dim)}

.tour{margin-top:clamp(28px,3.5vw,48px)}
.tour__label{font-family:var(--f-mono);font-weight:400;font-size:9.5px;letter-spacing:.26em;
  color:var(--red);margin-bottom:clamp(12px,1.8vw,20px)}
.tour__list{display:flex;flex-wrap:wrap;gap:clamp(8px,1vw,12px)}
.tour__item{font-family:var(--f-disp);font-weight:700;font-size:clamp(15px,1.7vw,26px);
  line-height:1;text-transform:uppercase;letter-spacing:.01em;border:1px solid var(--line);
  padding:.3em .55em .34em;color:var(--ash);
  transition:color .4s,border-color .4s,background-color .4s}
.tour__item:hover{color:var(--void);background:var(--bone);border-color:var(--bone)}

.crobar__plate{
  position:relative;padding:clamp(22px,2.8vw,36px);
  border:1px solid rgba(240,25,46,.28);overflow:hidden;
}
.crobar__bg{position:absolute;inset:0;
  background:radial-gradient(80% 120% at 12% 0%,rgba(159,33,46,.34),transparent 62%),
             linear-gradient(160deg,rgba(79,11,22,.55),rgba(5,5,6,.9))}
.crobar__plate > *:not(.crobar__bg):not(.hud__corner){position:relative}
.crobar__plate .hud__corner{border-color:rgba(240,25,46,.6);width:16px;height:16px;top:11px;left:11px}
.crobar__plate .hud__corner--tr{left:auto;right:11px}
.crobar__plate .hud__corner--bl{top:auto;bottom:11px}
.crobar__plate .hud__corner--br{top:auto;bottom:11px;left:auto;right:11px}
.crobar__kicker{font-size:9px;color:var(--red);margin-bottom:10px}
.crobar__title{font-family:var(--f-disp);font-weight:800;font-size:clamp(38px,4.6vw,76px);
  line-height:.86;letter-spacing:-.012em;text-transform:uppercase;margin-bottom:clamp(18px,2.2vw,28px)}
.crobar__stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(240,25,46,.2);
  border:1px solid rgba(240,25,46,.2);margin-bottom:clamp(16px,2vw,24px)}
.cstat{background:rgba(5,5,6,.72);padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.cstat b{font-family:var(--f-disp);font-weight:800;font-size:clamp(22px,2.4vw,34px);
  line-height:.9;letter-spacing:-.01em}
.cstat span{font-family:var(--f-mono);font-size:8px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ash);line-height:1.4}
.crobar__note{color:#C7C4CA;font-size:14px;line-height:1.5}

/* ---------- 16. RELEASES ---------- */
.rel{border-top:1px solid var(--line)}
.rel__head,.rel__row{
  display:grid;grid-template-columns:2fr 1.3fr 1.2fr .4fr .4fr;
  align-items:center;gap:clamp(10px,1.6vw,22px);
  padding:12px clamp(6px,1vw,14px);border-bottom:1px solid var(--line);
}
.rel__head{font-size:8.5px;color:var(--dim);letter-spacing:.2em;padding-top:9px;padding-bottom:9px}
.rel__row{position:relative;overflow:hidden;transition:padding-left .4s var(--ease)}
.rel__row::before{content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(90deg,var(--blood),transparent 78%);
  transform:translateX(-101%);transition:transform .5s var(--ease)}
.rel__row > span{position:relative;z-index:1}
.rel__row:hover{padding-left:clamp(14px,2vw,26px)}
.rel__row:hover::before{transform:translateX(0)}
.rel__t{font-family:var(--f-disp);font-weight:700;font-size:clamp(17px,1.8vw,25px);
  line-height:1.05;letter-spacing:.015em;text-transform:uppercase;
  display:flex;flex-direction:column;gap:2px}
.rel__t em{font-family:var(--f-mono);font-style:normal;font-weight:400;font-size:8.5px;
  letter-spacing:.12em;color:var(--dim);text-transform:uppercase}
.rel__l{font-size:9.5px;color:var(--bone)}
.rel__g{font-size:9px;color:var(--ash)}
.rel__b{font-size:9.5px;color:var(--dim)}
.rel__y{font-size:9.5px;color:var(--red);text-align:right}
.rel__foot{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(20px,3vw,44px);
  margin-top:clamp(20px,2.6vw,32px)}

.linkrow{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:14px;
  padding:15px 4px;border-bottom:1px solid var(--line);
  transition:padding-left .4s var(--ease),color .3s}
.linkrow:hover{padding-left:12px}
.linkrow__k{font-size:8.5px;color:var(--red)}
.linkrow__v{font-size:clamp(13.5px,1.1vw,16px);color:#C7C4CA;transition:color .3s}
.linkrow:hover .linkrow__v{color:var(--bone)}
.linkrow i{font-style:normal;color:var(--dim);transition:transform .35s var(--ease),color .3s}
.linkrow:hover i{transform:translate(4px,-4px);color:var(--red)}

/* ---------- 17. CABINA ---------- */
.artists{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));
  gap:1px;background:var(--line-2);border:1px solid var(--line-2)}
.artist{background:var(--void);padding:clamp(13px,1.6vw,20px) clamp(13px,1.4vw,20px);
  display:flex;align-items:center;position:relative;overflow:hidden;cursor:default;
  transition:background-color .4s}
.artist span{font-family:var(--f-disp);font-weight:700;font-size:clamp(15px,1.5vw,22px);
  line-height:1.02;letter-spacing:.015em;text-transform:uppercase;position:relative;
  transition:transform .3s var(--ease)}
.artist::after{content:"";position:absolute;left:0;top:0;width:2px;height:100%;background:var(--red);
  transform:scaleY(0);transform-origin:bottom;transition:transform .4s var(--ease)}
.artist:hover{background:var(--panel)}
.artist:hover::after{transform:scaleY(1)}
.artist:hover span{transform:translateX(7px)}
.artist span::before,.artist span::after{content:attr(data-t);position:absolute;left:0;top:0;
  opacity:0;pointer-events:none;transition:opacity .18s}
.artist:hover span::before{opacity:.85;color:var(--red);transform:translate(-2px,1px);
  mix-blend-mode:screen;animation:rgbA .45s steps(2,end) infinite}
.artist:hover span::after{opacity:.7;color:#37D6FF;transform:translate(2px,-1px);
  mix-blend-mode:screen;animation:rgbB .45s steps(2,end) infinite}
@keyframes rgbA{0%{transform:translate(-2px,1px)}50%{transform:translate(-3px,-1px)}100%{transform:translate(-1px,1px)}}
@keyframes rgbB{0%{transform:translate(2px,-1px)}50%{transform:translate(3px,1px)}100%{transform:translate(1px,-1px)}}

/* ---------- 18. GALERÍA (masonry por columnas) ----------
   4 columnas en pantallas anchas: mantiene el ritmo editorial
   pero acorta mucho el scroll frente a 3 columnas. */
.gal__grid{column-count:4;column-gap:clamp(8px,1vw,14px)}
@media (max-width:1200px){.gal__grid{column-count:3}}
.gcell{position:relative;overflow:hidden;background:var(--ink);
  break-inside:avoid;-webkit-column-break-inside:avoid;
  margin-bottom:clamp(8px,1vw,14px);display:block}
.gcell img{width:100%;height:auto;display:block;
  filter:grayscale(.85) contrast(1.1) brightness(.9);
  transition:filter .7s var(--ease),transform 1.2s var(--ease)}
.gcell::after{content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(237,234,237,.07);transition:box-shadow .4s}
.gcell:hover img{filter:grayscale(0) contrast(1.02) brightness(1);transform:scale(1.045)}
.gcell:hover::after{box-shadow:inset 0 0 0 1px rgba(240,25,46,.55)}
.gcell figcaption{position:absolute;left:10px;bottom:9px;z-index:1;
  font-family:var(--f-mono);font-size:8px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--bone);background:rgba(5,5,6,.6);padding:4px 7px;
  opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s var(--ease)}
.gcell:hover figcaption{opacity:1;transform:none}

/* ---------- 19. EN VIVO ---------- */
.film__layout{display:grid;grid-template-columns:1fr auto;gap:clamp(26px,4vw,60px);align-items:center}
.film__date{font-size:9.5px;color:var(--red);margin-bottom:10px}
.film__venue{font-family:var(--f-disp);font-weight:800;font-size:clamp(30px,3.8vw,58px);
  line-height:.9;letter-spacing:-.01em;text-transform:uppercase;
  display:flex;flex-direction:column;gap:8px;margin-bottom:clamp(14px,1.8vw,22px)}
.film__venue span{font-family:var(--f-mono);font-weight:400;font-size:10px;letter-spacing:.18em;
  color:var(--ash);text-transform:uppercase}
.film__desc{color:#C7C4CA;max-width:38ch;margin-bottom:clamp(16px,2vw,26px)}
.film__links{border-top:1px solid var(--line)}

.film__stage{position:relative;display:flex;flex-direction:column;align-items:center}
.film__blur{position:absolute;inset:-6% -4%;z-index:0;pointer-events:none;
  background:radial-gradient(60% 60% at 50% 45%,rgba(159,33,46,.28),transparent 70%);filter:blur(40px)}
.film__frame{position:relative;z-index:1;width:min(340px,84vw);aspect-ratio:9/16;
  background:#000;border:1px solid var(--line);overflow:hidden}
.film__frame .hud__corner{width:16px;height:16px;z-index:3;border-color:rgba(240,25,46,.65);
  top:9px;left:9px;position:absolute}
.film__frame .hud__corner--tr{left:auto;right:9px}
.film__frame .hud__corner--bl{top:auto;bottom:9px}
.film__frame .hud__corner--br{top:auto;bottom:9px;left:auto;right:9px}
.film__video{width:100%;height:100%;object-fit:cover;background:#000}
.film__scan{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.26;
  background:repeating-linear-gradient(to bottom,rgba(0,0,0,0) 0 2px,rgba(0,0,0,.4) 2px 3px)}
.film__play{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:12px;background:rgba(5,5,6,.34);color:var(--bone);
  font-family:var(--f-mono);font-size:9px;letter-spacing:.26em;text-transform:uppercase;
  transition:opacity .4s,background-color .4s}
.film__play svg{width:54px;height:54px;transition:transform .4s var(--ease),color .3s}
.film__play:hover{background:rgba(5,5,6,.12)}
.film__play:hover svg{transform:scale(1.1);color:var(--red)}
.film__play.is-hidden{opacity:0;pointer-events:none}
.film__meta{z-index:1;display:flex;justify-content:space-between;width:min(340px,84vw);
  margin-top:11px;font-size:8.5px;color:var(--dim)}

/* ---------- 20. BOOKING ---------- */
.booking__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);align-items:start}
.bk__k{font-size:9px;color:var(--red);padding-bottom:12px;border-bottom:1px solid var(--line);
  margin-bottom:clamp(18px,2.4vw,28px)}
.bk__wa{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;color:var(--ash);
  margin:12px 0 clamp(20px,2.6vw,30px)}
.bk__wa em{color:var(--dim);font-style:normal;font-size:9.5px}

.copyrow{display:grid;grid-template-columns:1fr auto;grid-template-areas:"k btn" "v btn";
  align-items:center;gap:2px 12px;padding:13px 4px;border-bottom:1px solid var(--line);
  position:relative}
.copyrow__k{grid-area:k;font-size:8.5px;color:var(--red)}
.copyrow__v{grid-area:v;font-family:var(--f-mono);font-size:clamp(11px,1.05vw,13.5px);
  letter-spacing:.02em;color:#C7C4CA;word-break:break-all}
.copyrow__btn{grid-area:btn;width:36px;height:36px;display:grid;place-items:center;
  border:1px solid var(--line);color:var(--ash);
  transition:color .3s,border-color .3s,background-color .3s}
.copyrow__btn svg{width:18px;height:18px}
.copyrow__btn:hover{color:var(--bone);border-color:var(--red);background:rgba(240,25,46,.08)}
.copyrow__fb{position:absolute;right:46px;top:50%;transform:translateY(-50%) translateX(6px);
  font-family:var(--f-mono);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--red);opacity:0;pointer-events:none;
  transition:opacity .25s,transform .25s var(--ease)}
.copyrow.is-copied .copyrow__fb{opacity:1;transform:translateY(-50%) translateX(0)}

.kitrow a{display:grid;grid-template-columns:1fr auto;grid-template-areas:"k i" "v i";
  align-items:center;gap:2px 12px;padding:13px 4px;border-bottom:1px solid var(--line);
  transition:padding-left .4s var(--ease)}
.kitrow a:hover{padding-left:12px}
.kitrow__k{grid-area:k;font-size:8.5px;color:var(--red)}
.kitrow__v{grid-area:v;font-size:14px;color:#C7C4CA}
.kitrow i{grid-area:i;font-style:normal;color:var(--dim);
  transition:transform .35s var(--ease),color .3s}
.kitrow a:hover i{transform:translateY(3px);color:var(--red)}

.social__head{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--dim);padding-bottom:11px;border-bottom:1px solid var(--line);margin-bottom:2px}
.social__head--alt{margin-top:clamp(20px,2.6vw,32px);color:var(--red)}
.sbtn{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;
  padding:12px 5px;border-bottom:1px solid var(--line-2);
  transition:padding-left .4s var(--ease),background-color .4s}
.sbtn:hover{padding-left:12px;background:rgba(237,234,237,.028)}
.sbtn__ico{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);
  color:var(--ash);position:relative;transition:color .35s,border-color .35s}
.sbtn__ico::before,.sbtn__ico::after{content:"";position:absolute;width:6px;height:6px;
  border:1px solid var(--red);opacity:0;transition:opacity .35s,transform .35s var(--ease)}
.sbtn__ico::before{top:-1px;left:-1px;border-right:0;border-bottom:0;transform:translate(4px,4px)}
.sbtn__ico::after{bottom:-1px;right:-1px;border-left:0;border-top:0;transform:translate(-4px,-4px)}
.sbtn:hover .sbtn__ico{color:var(--bone);border-color:rgba(240,25,46,.45)}
.sbtn:hover .sbtn__ico::before,.sbtn:hover .sbtn__ico::after{opacity:1;transform:translate(0,0)}
.sbtn__ico svg{width:22px;height:22px}
.sbtn__txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.sbtn__txt b{font-family:var(--f-disp);font-weight:700;font-size:clamp(13px,1.15vw,16px);
  letter-spacing:.02em;text-transform:uppercase;line-height:1}
.sbtn__txt em{font-size:8.5px;color:var(--dim);font-style:normal;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sbtn__arrow{font-style:normal;color:var(--dim);transition:transform .35s var(--ease),color .3s}
.sbtn:hover .sbtn__arrow{transform:translate(4px,-4px);color:var(--red)}

/* ---------- 21. NEWSLETTER ---------- */
.news{position:relative;z-index:2;border-top:1px solid var(--line);
  background:linear-gradient(160deg,rgba(159,33,46,.10),transparent 62%)}
.news__inner{max-width:var(--maxw);margin:0 auto;padding:clamp(38px,4.5vw,70px) var(--pad);
  display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.news__k{font-size:9px;color:var(--red)}
.news__t{font-family:var(--f-disp);font-weight:700;font-size:clamp(22px,2.8vw,42px);
  line-height:1;letter-spacing:.01em;text-transform:uppercase}
.news__form{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;width:min(560px,100%)}
.news__field{flex:1 1 240px;display:block}
.news__field input{
  width:100%;padding:14px 16px;background:rgba(5,5,6,.6);border:1px solid var(--line);
  font-family:var(--f-mono);font-size:12px;letter-spacing:.04em;color:var(--bone);
  transition:border-color .3s;
}
.news__field input::placeholder{color:var(--dim)}
.news__field input:focus{outline:none;border-color:var(--red)}
.news__field input[aria-invalid="true"]{border-color:var(--red)}
.news__msg{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ash);min-height:1.2em}
.news__msg.is-ok{color:var(--red)}

/* ---------- 22. FOOTER ---------- */
.foot{position:relative;z-index:2;padding:clamp(38px,5vw,72px) var(--pad) clamp(22px,3vw,36px);
  border-top:1px solid var(--line);text-align:center}
.foot__logo{width:min(340px,68vw);margin:0 auto clamp(24px,3vw,40px);opacity:.45;transition:opacity .5s}
.foot:hover .foot__logo{opacity:.8}
.foot__row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:9px clamp(16px,2.6vw,36px);font-size:8.5px;color:var(--dim)}
.foot__row a{transition:color .3s}
.foot__row a:hover{color:var(--red)}
.foot__by b{font-family:var(--f-disp);font-weight:700;font-size:11px;letter-spacing:.06em;
  color:var(--ash);transition:color .3s}
.foot__by:hover b{color:var(--red)}

/* ============================================================
   23. MOBILE — composición distinta, no un desktop aplastado
   ============================================================ */
@media (max-width:1080px){
  .sonido__grid{grid-template-columns:1fr;grid-template-areas:"statement" "figure" "copy"}
  .sonido__figure{max-width:460px}
  .kg__layout,.tray__grid,.booking__grid,.film__layout{grid-template-columns:1fr}
  .film__layout{justify-items:start}
  .film__stage{align-self:center}
  .gal__grid{column-count:3}
  .rel__foot{grid-template-columns:1fr}
}

@media (max-width:760px){
  .nav__links{display:none}
  .nav__cta{display:none}
  .nav__burger{display:block}
  .nav{padding-top:12px;padding-bottom:12px;gap:12px}

  .hero{align-items:end;padding-bottom:clamp(36px,9vh,64px)}
  .hero__video.is-ready{opacity:.62}
  .hero__wash{background:linear-gradient(to top,var(--void) 6%,rgba(5,5,6,.42) 52%,rgba(5,5,6,.58) 100%)}
  .hero__rail{display:none}
  .hero__title{font-size:clamp(46px,17vw,84px);line-height:.88}
  .hero__scroll{display:none}
  .hero__actions{width:100%}
  .hero__actions .btn{flex:1 1 auto;justify-content:center}

  .sect__head{flex-wrap:wrap;gap:6px 12px}
  .sect__side{margin-left:0;flex-basis:100%}
  .specs{grid-template-columns:1fr}
  .crobar__stats{grid-template-columns:1fr}
  .cstat{flex-direction:row;align-items:baseline;gap:12px}

  /* Fechas: ficha apilada, no tabla */
  .date{grid-template-columns:auto 1fr;grid-template-areas:"d s" "v v" "c c";gap:5px 12px;padding:14px 4px}
  .date__d{grid-area:d}
  .date__s{grid-area:s;justify-self:end}
  .date__v{grid-area:v;font-size:clamp(20px,6.5vw,30px)}
  .date__c{grid-area:c}

  /* Releases: ficha apilada */
  .rel__head{display:none}
  .rel__row{grid-template-columns:1fr auto;grid-template-areas:"t y" "l b" "g g";
    gap:4px 12px;padding:14px 4px}
  .rel__t{grid-area:t}
  .rel__y{grid-area:y;justify-self:end}
  .rel__l{grid-area:l}
  .rel__b{grid-area:b;justify-self:end}
  .rel__g{grid-area:g}
  .rel__row:hover{padding-left:4px}

  .venue{grid-template-columns:auto 1fr;grid-template-areas:"n tag" "name name";gap:5px 12px;padding:15px 4px}
  .venue__n{grid-area:n}
  .venue__tag{grid-area:tag;justify-self:end}
  .venue__name{grid-area:name;font-size:clamp(21px,7vw,32px)}
  .venue:hover{padding-left:4px}

  .artists{grid-template-columns:1fr}
  .artist{padding:13px 12px}
  .artist span{font-size:clamp(16px,5.4vw,22px)}

  .linkrow{grid-template-columns:1fr auto;gap:3px 12px}
  .linkrow__k{grid-column:1/-1}

  .gal__grid{column-count:2;column-gap:8px}
  .gcell{margin-bottom:8px}
  .gcell figcaption{opacity:1;transform:none;font-size:7.5px}

  .film__frame,.film__meta{width:min(100%,360px)}
  .film__venue{font-size:clamp(28px,9vw,44px)}

  .sbtn{gap:12px;padding:11px 4px}
  .sbtn__ico{width:34px;height:34px}
  .sbtn__ico svg{width:20px;height:20px}
  .copyrow__fb{display:none}

  .ticker__set span{font-size:clamp(13px,4.4vw,20px)}
  .tour__item{font-size:clamp(15px,5.4vw,24px)}
  .news__form{width:100%}
  .foot__row{flex-direction:column;gap:8px}
}

@media (max-width:420px){
  .hero__tag{flex-direction:column;gap:8px}
  .statement{font-size:clamp(22px,8vw,32px)}
  .crobar__title{font-size:clamp(34px,13vw,52px)}
}

/* ---------- 24. ACCESIBILIDAD ----------
   Sólo se apagan los efectos intrusivos: Windows suele venir con
   reduce activado y el sitio quedaría muerto.                      */
@media (prefers-reduced-motion:reduce){
  .grain{animation:none}
  .ticker__track{animation-duration:110s}
  .hero__title.is-live .glitch__layer{animation:none;opacity:0}
  .artist:hover span::before,.artist:hover span::after{animation:none}
  .splash__kg{animation:none}
}

@media print{
  #splash,#grid,.grain,.vig,#cursor,.hero__media,.ticker,.news{display:none}
  body{background:#fff;color:#000}
}
