/* =========================================================================
   SNDR© — Sound Republic Group · hoja de estilos compartida (v2)
   Concepto: "La República". Base de interfaz de Warm & Fuzzy: fondo blanco,
   tipografía grande en azul eléctrico SNDR y tinta, columnas etiqueta/contenido
   separadas por filetes. Sin bloques de color: el azul vive en la letra y el
   isotipo. Un único acento lima, heredado de la web pública, para el CTA.
   ========================================================================= */
:root{
  --soft:#F4F4F8;--r:18px;--r-s:12px;
  --blue:#1F22E0;           /* azul eléctrico SNDR (campo principal) */
  --ink:#09090D;            /* negro del roster */
  --white:#FFFFFF;
  --lime:#E4FF57;           /* solo CTA "Envíanos tu música" */
  --line:rgba(9,9,13,.14);
  --line-ink:rgba(9,9,13,.16);
  --dim:rgba(9,9,13,.56);

  --f-display:"Archivo","Arial Black","Helvetica Neue",Arial,sans-serif;
  --f-sans:"Geist","Helvetica Neue",Helvetica,Arial,sans-serif;

  --t-label:.78rem;                                   /* etiquetas en mayúsculas */
  --t-body:clamp(1rem,.95rem + .2vw,1.12rem);
  --t-lead:clamp(1.6rem,1rem + 2.6vw,4.2rem);         /* párrafos grandes */
  --t-h:clamp(2.6rem,1.2rem + 5.4vw,6.4rem);          /* titulares de sección */

  --gut-l:max(16px,env(safe-area-inset-left,0px),2.2vw);
  --gut-r:max(16px,env(safe-area-inset-right,0px),2.2vw);
  --ease:cubic-bezier(.22,.8,.1,1);
  --ease-io:cubic-bezier(.75,0,.2,1);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--white);-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--f-sans);font-size:var(--t-body);line-height:1.45;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:95;background:var(--white)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
img,video,canvas{display:block;max-width:100%}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.wrap{padding-left:var(--gut-l);padding-right:var(--gut-r)}
.label{font-size:var(--t-label);font-weight:500;letter-spacing:.04em;text-transform:uppercase;line-height:1.25}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:10px;z-index:300;background:var(--lime);color:var(--ink);padding:.6em 1em}
.skip:focus{left:16px}

/* ---------- texto que rueda (hover de W&F) ---------- */
.roll{position:relative;display:inline-block;overflow:hidden;vertical-align:top;line-height:1.2}
.roll>span{display:block;transition:transform .55s var(--ease)}
.roll>span+span{position:absolute;left:0;top:100%}
a:hover>.roll>span,button:hover>.roll>span,.roll-host:hover .roll>span{transform:translateY(-100%)}

/* ---------- HEADER: logo SNDR© plano + pastillas con contorno sobre trama de puntos ---------- */
.hdr{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:90;color:var(--blue);transition:transform .6s var(--ease)}
.hdr::before{content:"";position:absolute;inset:0 0 -14px;background-color:rgba(255,255,255,.9);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  -webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent);pointer-events:none}
.hdr.is-hidden{transform:translateY(-130%)}
.hdr__row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;height:76px}
.logo{display:inline-flex;align-items:flex-start;font-family:var(--f-display);font-weight:900;font-size:1.8rem;line-height:1;letter-spacing:-.045em;color:var(--blue);flex:none}
.logo span{font-size:1em;margin-left:.02em}
.logo:hover{animation:wob .6s var(--ease)}
@keyframes wob{30%{transform:scale(1.06,.94)}60%{transform:scale(.97,1.04)}}
.pills{display:flex;align-items:center;gap:clamp(8px,1vw,16px);flex-wrap:nowrap}
.op{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5em;height:42px;padding:0 18px;border:1.5px solid var(--blue);border-radius:999px;color:var(--blue);font-size:.95rem;font-weight:500;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;isolation:isolate;background:rgba(255,255,255,.6);transition:color .45s var(--ease)}
.op::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--blue);border-radius:inherit;transform:translateY(102%);transition:transform .5s var(--ease)}
.op:hover,.op[aria-current="page"],.op.is-solid{color:var(--white)}
.op:hover::before,.op[aria-current="page"]::before,.op.is-solid::before{transform:none}
.op svg{width:17px;height:17px}
.op--icon{width:42px;padding:0}
.op--cta{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.op--cta::before{background:var(--ink)}
.op--cta:hover{color:var(--lime)}
.op--menu{display:none}
.op--menu i{display:inline-grid;gap:4px}
.op--menu i::before,.op--menu i::after{content:"";display:block;width:16px;height:1.5px;background:currentColor}
@media (max-width:1100px){.pills .op--nav{display:none}.op--menu{display:inline-flex}}
@media (max-width:640px){.pills .op--cta,.pills .op--icon{display:none}.logo{font-size:1.6rem}.hdr__row{height:68px}}

/* ---------- MENÚ: pantalla blanca con trama de puntos y pastillas grandes ---------- */
.menu{position:fixed;inset:0;z-index:120;color:var(--ink);visibility:hidden;pointer-events:none}
.menu__bg{position:absolute;inset:0;background-color:var(--white);clip-path:circle(0% at var(--mx,100%) var(--my,0%));transition:clip-path .9s var(--ease-io)}
.menu.is-open{visibility:visible;pointer-events:auto}
.menu.is-open .menu__bg{clip-path:circle(150% at var(--mx,100%) var(--my,0%))}
.menu__in{position:relative;height:100%;display:grid;grid-template-rows:auto 1fr auto;padding-block:calc(18px + env(safe-area-inset-top,0px)) calc(22px + env(safe-area-inset-bottom,0px))}
.menu__top{display:flex;justify-content:space-between;align-items:center;height:56px}
.menu__list{list-style:none;margin:0;padding:0;align-self:center;display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:clamp(10px,1.4vw,22px)}
.menu__list li{opacity:0;transform:translateY(30px) scale(.9);transition:opacity .5s,transform .7s var(--ease)}
.menu.is-open .menu__list li{opacity:1;transform:none}
.menu.is-open .menu__list li:nth-child(2){transition-delay:.05s}.menu.is-open .menu__list li:nth-child(3){transition-delay:.1s}.menu.is-open .menu__list li:nth-child(4){transition-delay:.15s}.menu.is-open .menu__list li:nth-child(5){transition-delay:.2s}.menu.is-open .menu__list li:nth-child(6){transition-delay:.25s}.menu.is-open .menu__list li:nth-child(7){transition-delay:.3s}
.menu__list .op{height:clamp(50px,5.4vw,70px);padding:0 clamp(20px,2.2vw,34px);font-size:clamp(1.3rem,.9rem + 1.5vw,2.4rem);letter-spacing:-.025em}
.menu__list .op small{font-size:.32em;letter-spacing:.04em;align-self:flex-start;margin-top:1.6em;opacity:.7}
.menu__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}
.menu__foot nav{display:flex;flex-wrap:wrap;gap:.5rem}


/* ---------- BUSCADOR ---------- */
.search{position:fixed;inset:0;z-index:125;background:var(--white);display:flex;flex-direction:column;padding-block:calc(20px + env(safe-area-inset-top,0px)) 24px;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.search.is-open{opacity:1;visibility:visible}
.search__top{display:flex;justify-content:space-between;align-items:center;height:56px}
.search__field{display:flex;align-items:center;gap:1rem;color:var(--ink);border-bottom:1.5px solid var(--ink);margin-top:6vh;padding-bottom:.6rem}
.search__field svg{width:clamp(28px,4vw,52px);height:auto;flex:none}
.search input{flex:1;min-width:0;background:none;border:0;outline:0;font-family:var(--f-display);font-weight:900;font-size:clamp(2rem,7vw,6rem);letter-spacing:-.04em;text-transform:uppercase;color:var(--ink)}
.search input::placeholder{color:rgba(9,9,13,.25)}
.search__res{display:grid;margin-top:2rem;overflow:auto}
.search__res a{display:grid;grid-template-columns:8rem minmax(0,1fr) auto;gap:1rem;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line);font-size:clamp(1.2rem,1rem + 1vw,2rem);font-weight:500;letter-spacing:-.02em}
.search__res a span{font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);font-weight:500}
.search__res a:hover{color:var(--ink)}
.search__sugg{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}

/* ---------- PASTILLAS DE BÚSQUEDA (heros de la web pública) ---------- */
.pill{display:inline-flex;align-items:center;gap:.55em;height:44px;padding:0 20px 0 18px;border-radius:999px;background:var(--white);color:var(--ink);border:1px solid var(--line);font-size:1.02rem;font-weight:500;letter-spacing:-.01em;white-space:nowrap;box-shadow:0 10px 30px rgba(9,9,13,.18);transition:transform .45s var(--ease),background .3s,color .3s}
.pill svg{width:17px;height:17px;flex:none}
.pill .arr{font-size:.9em;transition:transform .45s var(--ease)}
.pill:hover{background:var(--lime)}
.pill:hover .arr{transform:translate(2px,-2px) rotate(45deg)}
.pill__t::after{content:"";display:inline-block;width:1px;height:1em;margin-left:2px;vertical-align:-.12em;background:currentColor;opacity:0}
.pill.is-typing .pill__t::after{opacity:1;animation:caret .7s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.pill--ghost{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}
.pill--ghost:hover{background:var(--lime);border-color:var(--lime)}
.pill--ghost[aria-pressed="true"]{background:var(--blue);color:var(--white);border-color:var(--blue)}

/* ---------- HERO "palabra + fotos flotantes" ---------- */
.hx{position:relative;height:100svh;min-height:600px;max-height:1100px;overflow:hidden;isolation:isolate}
.hx__stage{position:absolute;inset:0}
.hx__w{position:absolute;left:50%;top:52%;z-index:2;transform:translate(-50%,-50%);pointer-events:none}
.hx__word{margin:0;color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(4rem,17vw,19rem);line-height:.8;letter-spacing:-.045em;text-transform:uppercase;white-space:nowrap;user-select:none;pointer-events:none}
.hx__word sup{font-family:var(--f-sans);font-weight:500;font-size:.12em;letter-spacing:0;vertical-align:4.6em;margin-left:.1em}
.hx__word .ch{display:inline-block;will-change:transform}
.fl{position:absolute;left:var(--x);top:var(--y);width:var(--w);aspect-ratio:var(--ar,.82);z-index:1;border-radius:14px;overflow:hidden;background:#E9EAF7;box-shadow:0 18px 40px rgba(9,9,13,.14);transform:rotate(var(--r,0deg));will-change:transform}
.fl--front{z-index:3}
.fl img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fl img.next{clip-path:inset(100% 0 0 0);transition:clip-path .9s var(--ease-io)}
.fl img.next.in{clip-path:inset(0 0 0 0)}
.hx .pill{position:absolute;left:var(--x);top:var(--y);z-index:4}
.hx__foot{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding-bottom:22px}
.hx__foot p{margin:0;max-width:34ch}
.scrollcue{display:inline-flex;align-items:center;gap:.6rem}
.scrollcue i{position:relative;width:1px;height:38px;background:var(--line);overflow:hidden}
.scrollcue i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--ink);animation:cue 1.8s var(--ease-io) infinite}
@keyframes cue{to{top:100%}}
@media (max-width:760px){
  .hx{height:auto;min-height:0;max-height:none;padding-block:110px 26px;display:flex;flex-direction:column;gap:22px}
  .hx__stage{position:relative;height:118vw}
  .fl{width:calc(var(--w) * 2.1)}
  .hx .pill{height:38px;font-size:.9rem;padding:0 14px}
  .hx__foot{position:relative;padding-bottom:0}
}

/* ---------- módulo texto (etiqueta | contenido) ---------- */
.row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:1.5rem 2.2vw;padding-block:clamp(70px,9vw,140px);border-top:1px solid var(--line)}
.row2--tight{padding-block:clamp(40px,5vw,72px)}
.row2>.label{padding-top:.5em}
.lead{margin:0;font-size:var(--t-lead);font-weight:500;line-height:1.02;letter-spacing:-.035em;text-wrap:balance;max-width:24ch}
.lead--wide{max-width:30ch}
.lead .w{opacity:.22;transition:opacity .2s}
.lead .w.on{opacity:1}
.lead em{font-style:normal;color:var(--ink)}
.more{display:inline-flex;margin-top:2.4rem;font-size:var(--t-label);font-weight:500;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px}
.body{max-width:58ch;color:var(--dim);margin:1.4rem 0 0}
.body strong{color:var(--ink);font-weight:500}
@media (max-width:760px){.row2{grid-template-columns:1fr}}

/* ---------- titular de sección ---------- */
.sh{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding-block:28px 22px}
.sh h2{margin:0;color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:var(--t-h);line-height:.84;letter-spacing:-.045em;text-transform:uppercase}
.sh .label{border-bottom:1px solid currentColor;padding-bottom:3px}
.kicker{display:block;padding-top:22px;border-top:1px solid var(--line)}

/* ---------- ROSTER en carrusel (tarjetas de Virgin Music, más grandes) ---------- */
.car{position:relative}
.car__track{display:flex;gap:clamp(14px,1.6vw,26px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--gut-l);padding-inline:var(--gut-l) var(--gut-r);padding-bottom:6px;cursor:grab;scrollbar-width:none;overscroll-behavior-x:contain}
.car__track::-webkit-scrollbar{display:none}
.car__track.is-drag{cursor:grabbing;scroll-snap-type:none}
.car__track.is-drag a{pointer-events:none}
.vc{flex:none;width:clamp(280px,38vw,620px);scroll-snap-align:start;display:grid;gap:14px;user-select:none}
.vc__img{position:relative;aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#E9EAF7}
.vc__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),opacity .5s;-webkit-user-drag:none}
.vc:hover .vc__img img{transform:scale(1.035)}
.vc__img .tag{position:absolute;left:14px;top:14px;z-index:2}
.vc__play{position:absolute;right:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:.5em;height:44px;padding:0 18px;border-radius:999px;background:var(--white);color:var(--ink);font-weight:500;font-size:.92rem;opacity:0;transform:translateY(8px);transition:opacity .35s,transform .45s var(--ease)}
.vc:hover .vc__play,.vc:focus-within .vc__play{opacity:1;transform:none}
.vc__name{margin:0;font-family:var(--f-display);font-weight:900;font-size:clamp(2.4rem,1.2rem + 4vw,6rem);line-height:.86;letter-spacing:-.045em;text-transform:uppercase;color:var(--ink)}
.vc__meta{display:flex;justify-content:space-between;gap:1rem;color:var(--dim)}
.car__bar{display:flex;align-items:center;gap:1.4rem;padding-block:26px 0}
.car__count{font-variant-numeric:tabular-nums}
.car__prog{flex:1;height:2px;background:var(--line);border-radius:2px;overflow:hidden}
.car__prog i{display:block;height:100%;width:20%;background:var(--ink);border-radius:2px;transform-origin:left}
.car__btns{display:flex;gap:.4rem}
.car__btns button{width:54px;height:54px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:1.2rem;transition:background .3s,color .3s,border-color .3s}
.car__btns button:hover{background:var(--blue);color:var(--white);border-color:var(--blue)}
.car__btns button:disabled{opacity:.35;pointer-events:none}
@media (max-width:760px){.vc{width:82vw}}

/* ---------- estadísticas / declaración ---------- */
.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.stat{padding:22px 18px 30px 0;border-right:1px solid var(--line);display:grid;gap:.5rem;align-content:start;min-width:0}
.stat:last-child{border-right:0}
.stat b{color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(2.4rem,5.6vw,6.2rem);line-height:.85;letter-spacing:-.05em;white-space:nowrap;font-variant-numeric:tabular-nums}
.stat span{color:var(--dim);max-width:24ch}
@media (max-width:760px){.stat-row{grid-template-columns:1fr 1fr}.stat:nth-child(2n){border-right:0}.stat{border-bottom:1px solid var(--line)}}

/* ---------- lista de servicios ---------- */
.svc{list-style:none;margin:0;padding:0;display:grid}
.svc li{display:grid;grid-template-columns:3rem minmax(0,1fr);align-items:baseline;gap:1rem;font-size:clamp(1.5rem,1rem + 1.6vw,2.8rem);font-weight:500;letter-spacing:-.03em;line-height:1.15;padding-block:.2em}
.svc li i{font-style:normal;font-size:var(--t-label);letter-spacing:.06em;color:var(--dim);font-variant-numeric:tabular-nums}
.svc li span{transition:transform .5s var(--ease),color .3s}
.svc li:hover span{transform:translateX(.3em);color:var(--ink)}

/* ---------- ESCUCHA: imágenes recortadas con las letras S N D R ---------- */
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.tile{position:relative;display:grid;gap:12px;padding:18px 18px 22px 0;border-right:1px solid var(--line);text-align:left;min-width:0}
.tile:last-child{border-right:0}
.tile__art{position:relative;aspect-ratio:1;display:grid;place-items:center}
.tile__ring{position:absolute;inset:6%;border:1px solid var(--line);border-radius:50%;transition:transform .8s var(--ease)}
.tile:hover .tile__ring{transform:scale(1.06)}
.tile svg{position:relative;width:86%;height:86%;overflow:visible;transition:transform .5s var(--ease)}
.tile:hover svg{transform:rotate(-4deg) scale(1.03)}
.tile__meta{display:flex;justify-content:space-between;gap:1rem}
.tile__meta b{font-weight:500}
.tile__state{display:inline-flex;align-items:center;gap:.5em;color:var(--dim)}
.tile[aria-pressed="true"] .tile__state{color:var(--ink)}
.eq{display:inline-flex;gap:2px;align-items:flex-end;height:11px}
.eq i{width:2px;height:3px;background:currentColor}
.tile[aria-pressed="true"] .eq i{animation:eq .8s ease-in-out infinite}
.tile[aria-pressed="true"] .eq i:nth-child(2){animation-delay:-.25s}.tile[aria-pressed="true"] .eq i:nth-child(3){animation-delay:-.5s}
@keyframes eq{0%,100%{height:3px}50%{height:11px}}
@media (max-width:900px){.tiles{grid-template-columns:1fr 1fr}.tile:nth-child(2n){border-right:0}.tile{border-bottom:1px solid var(--line)}}

/* ---------- banda de vídeo + marquee final ---------- */
.band{position:relative;height:min(92svh,62vw);min-height:360px;overflow:hidden;background:var(--ink);color:var(--white)}
.band video,.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band__cap{position:absolute;left:0;right:0;bottom:20px;display:flex;justify-content:space-between;gap:1rem;z-index:2}
.mq{background:var(--white);color:var(--blue);overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mq__track{display:flex;width:max-content;will-change:transform}
.mq__item{display:flex;align-items:center;gap:.4em;padding:.12em .3em .1em 0;font-family:var(--f-display);font-weight:900;font-size:clamp(3rem,9vw,9rem);line-height:1;letter-spacing:-.04em;text-transform:uppercase;white-space:nowrap}
.mq__badge{display:inline-grid;place-items:center;width:.82em;height:.82em;border-radius:.16em;background:var(--blue);color:var(--white);font-size:.62em;letter-spacing:-.06em;transform:rotate(-8deg)}
.mq__badge span{font-size:.36em}

/* ---------- FOOTER: titular, tres columnas e isotipo flotando por todo el pie ---------- */
.ft{position:relative;background:var(--white);color:var(--ink);overflow:hidden;min-height:min(100svh,1000px);isolation:isolate}
/* v3: el isotipo va por delante de los textos; el lienzo no captura el ratón, el footer reenvía los eventos */
.stage{position:absolute;inset:0;z-index:3;pointer-events:none}
.ft.is-over{cursor:grab}.ft.is-over:active{cursor:grabbing}
.stage canvas{width:100%!important;height:100%!important;display:block}
.stage__fb{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-display);font-weight:900;font-size:clamp(5rem,20vw,18rem);letter-spacing:-.05em;color:var(--blue)}
.ft__in{position:relative;z-index:2;min-height:inherit;display:grid;grid-template-rows:auto 1fr auto;gap:clamp(40px,6vw,90px);padding-block:clamp(70px,9vw,140px) 26px;pointer-events:none}
.ft__in a,.ft__in button{pointer-events:auto}
.ft__head{margin:0;font-size:clamp(2.4rem,1rem + 5.4vw,7.6rem);font-weight:500;line-height:1;letter-spacing:-.045em;text-wrap:balance}
.ft__head a,.ft__cols a.u{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1.5px no-repeat;padding-bottom:.08em;transition:background-size .6s var(--ease),color .3s}
.ft__head a:hover,.ft__cols a.u:hover{background-size:0 1.5px;background-position:100% 100%;color:var(--ink)}
.ft__cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr) minmax(0,1.3fr);gap:2rem;align-items:start;font-size:clamp(1.25rem,.85rem + 1.15vw,2.2rem);font-weight:500;line-height:1.18;letter-spacing:-.025em}
.ft__cols p{margin:0;max-width:17ch}
.ft__cols .r{justify-self:start;grid-column:3;display:grid;gap:clamp(30px,4vw,70px)}
.ft__cols .r div{display:grid;justify-items:start}
.ft__cols .copy span{overflow-wrap:anywhere}
.ft__cols .copy small{display:block;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--dim);font-weight:500;margin-top:.3em}
.ft__bot{display:flex;flex-wrap:wrap;gap:.6rem 1.8rem;align-items:center;font-size:.95rem;font-weight:500}
.ft__bot a:hover{color:var(--ink)}
.ft__bot .coords{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--dim)}
.stage__hint{position:absolute;z-index:2;left:50%;bottom:70px;transform:translateX(-50%);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);pointer-events:none;transition:opacity .4s;white-space:nowrap}
@media (max-width:860px){.ft{min-height:0}.ft__cols{grid-template-columns:1fr;gap:1.6rem}.ft__cols .r{grid-column:auto}.ft__in{grid-template-rows:auto auto auto;gap:36px}.ft__cols .gap{height:62vw}.ft__bot .coords{margin-left:0}}

/* ---------- ARTISTAS (cuadrícula de Virgin Music) ---------- */
.fbar{position:sticky;top:76px;z-index:20;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding-block:14px;background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fbar .label{margin-right:auto}
.grid-a{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3vw,48px) clamp(14px,1.6vw,24px);padding-block:clamp(30px,4vw,60px) clamp(80px,9vw,140px)}
.ac{display:grid;gap:12px;align-content:start;transition:opacity .5s}
.ac.is-off{display:none}
.ac__img{position:relative;aspect-ratio:3/4;border-radius:16px;overflow:hidden;background:#E9EAF7}
.ac__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),opacity .5s}
.ac:hover .ac__img img{transform:scale(1.04)}
.ac__badge{position:absolute;left:14px;top:14px;z-index:2}
.ac__dots{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;display:flex;gap:6px;opacity:0;transition:opacity .4s}
.ac__dots i{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.45);transition:background .3s}
.ac__dots i.on{background:#fff}
.ac:hover .ac__dots{opacity:1}
.ac__row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:4px;border-top:1px solid var(--line)}
.ac__name{margin:0;color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(1.9rem,1.2rem + 1.9vw,3.4rem);line-height:.9;letter-spacing:-.045em;text-transform:uppercase;padding-top:10px}
.ac__go{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1.5px solid var(--blue);border-radius:50%;color:var(--blue);font-size:1.05rem;transition:background .4s var(--ease),color .4s,transform .5s var(--ease)}
.ac:hover .ac__go{background:var(--blue);color:#fff;transform:rotate(45deg)}
.ac__meta{display:flex;justify-content:space-between;gap:1rem;color:var(--dim)}
@media (max-width:1000px){.grid-a{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.grid-a{grid-template-columns:1fr}}
.tag{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:var(--lime);color:var(--ink);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}

/* ---------- ficha de artista ---------- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:1px solid var(--line)}
.kpi{padding:22px 18px 28px 0;border-right:1px solid var(--line);display:grid;gap:.5rem;align-content:start}
.kpi:last-child{border-right:0}
.kpi b{color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(2.6rem,5vw,5.4rem);line-height:.85;letter-spacing:-.05em;white-space:nowrap}
.kpi span{color:var(--dim)}
.bars{list-style:none;margin:0;padding:0;display:grid}
.bars li{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;gap:.4rem 1rem;align-items:baseline;padding-block:14px;border-bottom:1px solid var(--line)}
.bars li:first-child{border-top:1px solid var(--line)}
.bars b{font-size:clamp(1.2rem,1rem + .8vw,2rem);font-weight:500;letter-spacing:-.02em;min-width:0;overflow-wrap:anywhere}
.bars em{font-style:normal;font-variant-numeric:tabular-nums;font-weight:500}
.bars .g{grid-column:2/-1;height:4px;border-radius:4px;background:var(--line);overflow:hidden}
.bars .g i{display:block;height:100%;width:0;background:var(--ink);border-radius:4px;transition:width 1.4s var(--ease)}
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gal__i{display:block;padding:0;border:0;background:none;border-radius:14px;overflow:hidden;cursor:zoom-in}
.gal__i img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .9s var(--ease)}
.gal__i:hover img{transform:scale(1.05)}
.next{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding-block:clamp(50px,7vw,110px);border-top:1px solid var(--line)}
.next b{min-width:0;color:var(--ink);text-align:right;font-family:var(--f-display);font-weight:900;font-size:clamp(2.4rem,7.4vw,9rem);line-height:.82;letter-spacing:-.05em;text-transform:uppercase;transition:transform .6s var(--ease)}
.next:hover b{transform:translateX(.08em)}
.src{font-size:.78rem;color:var(--dim);margin-top:1.4rem}
@media (max-width:760px){.gal{grid-template-columns:1fr 1fr}.gal__i:first-child{grid-column:1/-1}}

/* ---------- método D-14 → D+11 ---------- */
/* ---------- lista numerada (índice de W&F) ---------- */
.idx{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.idx>li{border-bottom:1px solid var(--line)}
.idx__row{display:grid;grid-template-columns:4rem minmax(0,1fr) 12rem 8rem 2rem;gap:1rem;align-items:baseline;width:100%;text-align:left;padding-block:20px}
.idx__n{font-variant-numeric:tabular-nums;color:var(--dim);font-size:var(--t-label)}
.idx__t{font-size:clamp(1.3rem,1rem + 1.4vw,2.6rem);font-weight:500;letter-spacing:-.03em;line-height:1.05;transition:transform .5s var(--ease)}
.idx__row:hover .idx__t{transform:translateX(.3em)}
.idx__c,.idx__d{color:var(--dim);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase}
.idx__x{justify-self:end;transition:transform .5s var(--ease)}
.idx>li.is-open .idx__x{transform:rotate(45deg)}
.idx__body{display:grid;grid-template-columns:4rem minmax(0,1.3fr) minmax(0,1fr);gap:1rem;overflow:hidden;height:0;transition:height .6s var(--ease)}
.idx__body>div{padding-bottom:26px}
.idx__body img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.idx__body p{margin:0;max-width:52ch;font-size:1.1rem}
.idx>li.is-off{display:none}
.peek{position:fixed;left:0;top:0;z-index:60;width:clamp(180px,17vw,260px);aspect-ratio:4/5;border-radius:12px;overflow:hidden;pointer-events:none;opacity:0;transform:scale(.7);transition:opacity .3s,transform .5s var(--ease)}
.peek.on{opacity:1}
.peek img{width:100%;height:100%;object-fit:cover}
@media (max-width:760px){.idx__row{grid-template-columns:2.4rem minmax(0,1fr) 1.4rem}.idx__c,.idx__d{display:none}.idx__body{grid-template-columns:1fr}.idx__body>span{display:none}.peek{display:none}}

/* ---------- formularios ---------- */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.2vw}
.fld{display:grid;gap:.4rem;padding-block:16px;border-bottom:1px solid var(--line)}
.fld--full{grid-column:1/-1}
.fld label{font-size:var(--t-label);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.fld input,.fld select,.fld textarea{background:none;border:0;outline:0;color:var(--ink);font-size:clamp(1.2rem,1rem + .8vw,1.8rem);font-weight:500;letter-spacing:-.02em;padding:4px 0;width:100%}
.fld select option{color:var(--ink)}
.fld textarea{min-height:120px;resize:vertical}
.fld:focus-within{border-color:var(--ink)}
.fld input::placeholder,.fld textarea::placeholder{color:rgba(9,9,13,.28)}
.form__foot{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:24px}
.form__msg{color:var(--ink);font-weight:500}
.form__msg.err{color:#C4162A}
.bigmail{color:var(--ink);display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;max-width:100%;font-family:var(--f-display);font-weight:900;font-size:clamp(1.5rem,4.2vw,5.2rem);line-height:.95;letter-spacing:-.045em;text-align:left}
.bigmail>span{max-width:100%;overflow-wrap:anywhere}
.bigmail small{font-family:var(--f-sans);font-size:var(--t-label);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
@media (max-width:760px){.form{grid-template-columns:1fr}}

/* ---------- requisitos (envíanos tu música) ---------- */
.reqs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.req{display:grid;gap:.8rem;align-content:start;width:100%;text-align:left;padding:22px 18px 26px 0;border-right:1px solid var(--line)}
.reqs li:last-child .req{border-right:0}
.req__box{width:30px;height:30px;border:1.5px solid var(--ink);border-radius:8px;display:grid;place-items:center;transition:background .3s}
.req__box svg{opacity:0;transform:scale(.4);transition:all .35s var(--ease)}
.req[aria-pressed="true"] .req__box{background:var(--blue);border-color:var(--blue)}
.req[aria-pressed="true"] .req__box svg{opacity:1;transform:none}
.req b{color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(1.8rem,3vw,3rem);line-height:.9;letter-spacing:-.04em;text-transform:uppercase}
.req span{color:var(--dim)}
.verdict{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-block:22px;border-top:1px solid var(--line)}
@media (max-width:760px){.reqs{grid-template-columns:1fr 1fr}.reqs li:nth-child(2n) .req{border-right:0}.req{border-bottom:1px solid var(--line)}}

/* ---------- puertas ---------- */
.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.door{display:flex;flex-direction:column;justify-content:space-between;gap:3rem;min-height:clamp(260px,26vw,380px);padding:22px 18px 26px 0;border-right:1px solid var(--line)}
.door:last-child{border-right:0}
.door h3{margin:0;color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(2.2rem,4vw,4.4rem);line-height:.86;letter-spacing:-.045em;text-transform:uppercase;transition:transform .6s var(--ease)}
.door:hover h3{transform:translateX(.08em)}
.door p{margin:.8rem 0 0;color:var(--dim);max-width:32ch}
@media (max-width:760px){.doors{grid-template-columns:1fr}.door{border-right:0;border-bottom:1px solid var(--line);min-height:0}}

/* ---------- vídeo vertical + texto ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:2.2vw;align-items:end}
.vcard{position:relative;aspect-ratio:9/16;max-height:80vh;border-radius:16px;overflow:hidden;background:var(--ink);color:var(--white)}
.vcard video{width:100%;height:100%;object-fit:cover}
.vcard .label{position:absolute;left:14px;bottom:14px}
@media (max-width:760px){.split{grid-template-columns:1fr}.vcard{max-width:420px}}

/* ---------- títulos hero 3D ---------- */
.hx__gl{position:absolute;inset:0;z-index:2;pointer-events:none}
.hx__gl canvas{width:100%!important;height:100%!important;display:block}
.hx__w.is-3d .hx__word{color:transparent}
.hx.is-over{cursor:grab}.hx.is-over:active{cursor:grabbing}
.fl{cursor:grab;touch-action:none;transition:scale .3s var(--ease),box-shadow .3s}
.fl.is-drag{cursor:grabbing;z-index:6;scale:1.06;box-shadow:0 30px 60px rgba(9,9,13,.25)}
.vc__img,.ac__img,.gal__i,.vcard,.vid,.feed__i{transition:transform .5s var(--ease);transform-style:preserve-3d}
.is-tilt{transition:transform .12s linear}
/* cursor con etiqueta */
.cur{position:fixed;left:0;top:0;z-index:300;pointer-events:none}
.cur__dot{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--ink);transition:transform .3s var(--ease),opacity .3s}
.cur.is-link .cur__dot{transform:scale(2.6);opacity:.18}
.cur.is-down .cur__dot{transform:scale(.6)}
.cur__lbl{position:absolute;left:14px;top:12px;padding:7px 12px;border-radius:999px;background:var(--ink);color:var(--white);font-size:.8rem;font-weight:500;white-space:nowrap;opacity:0;transform:scale(.6);transform-origin:0 0;transition:opacity .25s,transform .35s var(--ease)}
.cur.is-lbl .cur__lbl{opacity:1;transform:none}
.cur.is-lbl .cur__dot{transform:scale(.6)}
.cur.is-out{opacity:0}
@media (hover:none),(pointer:coarse){.cur{display:none}}

/* ---------- transición entre páginas (la salida no depende de JS) ---------- */
.pt{position:fixed;inset:0;z-index:200;background:var(--white);color:var(--ink);display:grid;place-items:center;transform:translateY(-100%);pointer-events:none}
.pt b{font-family:var(--f-display);font-weight:900;font-size:clamp(3rem,10vw,10rem);letter-spacing:-.05em;line-height:.8;color:var(--blue)}
.pt small{position:absolute;left:var(--gut-l);bottom:24px;font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase}
html.pt-enter .pt{animation:ptOut .9s .25s var(--ease-io) both}
@keyframes ptOut{from{transform:none}to{transform:translateY(100%)}}

/* ---------- utilidades ---------- */
.pad{padding-block:clamp(70px,9vw,140px)}
.center{text-align:center}
.mt{margin-top:2.4rem}
.btns{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}
.btn{display:inline-flex;align-items:center;gap:.5em;height:52px;padding:0 24px;border-radius:999px;border:1px solid var(--ink);font-weight:500;transition:background .3s,color .3s,border-color .3s}
.btn:hover{background:var(--ink);color:var(--white)}
.btn--solid{background:var(--blue);color:var(--white);border-color:var(--blue)}
.btn--solid:hover{background:var(--lime);color:var(--ink);border-color:var(--lime)}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---------- ficha de artista: subnavegación, vídeos, redes, novedades, visor ---------- */
.subnav{position:sticky;top:76px;z-index:20;display:flex;gap:8px;overflow-x:auto;padding-block:14px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);scrollbar-width:none}
.subnav::-webkit-scrollbar{display:none}
.subnav .op{flex:none;height:38px;font-size:.9rem}
.vids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.vid{position:relative;display:block;width:100%;padding:0;border:0;font:inherit;text-align:left;margin:0;aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:var(--ink);color:#fff;cursor:pointer}
.vid--main{grid-column:1/-1;aspect-ratio:16/8}
.vid video,.vid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.vid:hover img,.vid:hover video{transform:scale(1.05)}
.vid::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(9,9,13,.7));pointer-events:none}
.vid figcaption,.vid__cap{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;display:grid;gap:4px}
.vid figcaption .label,.vid__cap .label{color:rgba(255,255,255,.78)}
.vid b{font-family:var(--f-display);font-weight:900;font-size:clamp(1.3rem,1rem + 1.4vw,2.6rem);line-height:.92;letter-spacing:-.03em;text-transform:uppercase}
.vid__play{position:absolute;left:50%;top:50%;z-index:2;display:grid;place-items:center;width:clamp(56px,6vw,84px);height:clamp(56px,6vw,84px);border-radius:50%;background:var(--blue);color:#fff;font-size:1.2rem;transform:translate(-50%,-50%) scale(.9);transition:transform .5s var(--ease)}
.vid:hover .vid__play{transform:translate(-50%,-50%) scale(1.08)}
.vid__snd{position:absolute;right:14px;top:14px;z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:#fff;font-size:1rem;cursor:pointer}
.soc{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.soc .op b{font-weight:600}
.soc__h{opacity:.7}
.feed{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.feed__i{position:relative;display:block;padding:0;border:0;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:#E9EAF7;cursor:zoom-in}
.feed__i img,.feed__i video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.feed__i:hover img{transform:scale(1.06)}
.feed__ic{position:absolute;left:8px;top:8px;z-index:2;padding:3px 8px;border-radius:999px;background:#fff;color:var(--ink);font-size:.62rem}
.nws{display:grid;border-top:1px solid var(--line)}
.nw{display:grid;grid-template-columns:12rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:20px 0;border-bottom:1px solid var(--line);transition:padding .5s var(--ease)}
.nw b{color:var(--ink);font-size:clamp(1.15rem,1rem + .8vw,1.8rem);font-weight:500;letter-spacing:-.02em;line-height:1.15}
.nw .label{color:var(--dim)}
.nw__go{display:grid;place-items:center;width:42px;height:42px;border:1.5px solid var(--blue);border-radius:50%;color:var(--blue);transition:background .4s,color .4s,transform .5s var(--ease)}
a.nw:hover{padding-left:12px}
a.nw:hover .nw__go{background:var(--blue);color:#fff;transform:rotate(45deg)}
.lb{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:rgba(255,255,255,.96);opacity:0;transition:opacity .35s}
.lb[hidden]{display:none}
.lb.is-open{opacity:1}
.lb__m{width:min(86vw,1100px);height:min(80svh,900px);display:grid;place-items:center}
.lb__m img,.lb__m video{width:auto;height:auto;max-width:min(86vw,1100px);max-height:min(80svh,900px);border-radius:16px;object-fit:contain}
.lb__x{position:absolute;right:20px;top:20px}
.lb__p,.lb__n{position:absolute;top:50%;transform:translateY(-50%)}
.lb__p{left:20px}.lb__n{right:20px}
.lb__c{position:absolute;left:20px;bottom:20px;color:var(--dim)}
@media (max-width:900px){.feed{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.vids{grid-template-columns:1fr}.vid--main{aspect-ratio:4/5}.nw{grid-template-columns:minmax(0,1fr) auto}.nw .label{grid-column:1/-1}.subnav{top:64px}.lb__p,.lb__n{top:auto;bottom:16px;transform:none}.lb__p{left:auto;right:76px}}

/* ---------- lanzamientos ---------- */
.rels{padding-block:clamp(20px,3vw,40px) clamp(70px,8vw,130px)}
.rf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,70px);align-items:center;padding-block:clamp(20px,3vw,40px) clamp(40px,5vw,70px);border-bottom:1px solid var(--line)}
.rf__cv,.rc__cv{position:relative;aspect-ratio:1;cursor:pointer}
.rf__cv{max-width:620px;width:88%}
.rf__cv>img,.rc__cv>img{position:relative;z-index:2;display:block;width:100%;height:100%;object-fit:cover;border-radius:10px;box-shadow:0 30px 60px -30px rgba(9,9,13,.45);transition:transform .7s var(--ease)}
.vinyl{position:absolute;z-index:1;top:3%;left:3%;width:94%;height:94%;border-radius:50%;
  background:radial-gradient(circle,#fff 0 3%,transparent 3.2%),radial-gradient(circle,transparent 0 17%,#09090D 17.4%),var(--cv) center/34% no-repeat,repeating-radial-gradient(circle,#111 0 2px,#1b1b20 2px 3px);
  transition:transform 1s var(--ease)}
.vinyl::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 30deg,transparent 0 10%,rgba(255,255,255,.12) 14%,transparent 20% 60%,rgba(255,255,255,.08) 64%,transparent 70%)}
.rf__cv:hover .vinyl,.rf.is-play .vinyl{transform:translateX(42%)}
.rc__cv:hover .vinyl{transform:translateX(30%)}
.rf__cv:hover .vinyl::after,.rc__cv:hover .vinyl::after{animation:spin 2.2s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.rf__cv:hover>img{transform:translateX(-6%) rotate(-2deg)}
.rc__cv:hover>img{transform:translateX(-4%) rotate(-1.5deg)}
.rf__play{position:absolute;z-index:3;left:24px;bottom:24px;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--blue);color:#fff;font-size:1.1rem;transition:transform .5s var(--ease)}
.rf__cv:hover .rf__play{transform:scale(1.1)}
.rf__in{display:grid;gap:14px;align-content:center;min-width:0}
.rf__in>.label{color:var(--dim)}
.rf__t{margin:0;color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(3rem,1.4rem + 5.2vw,7.6rem);line-height:.84;letter-spacing:-.05em;text-transform:uppercase;overflow-wrap:anywhere}
.rf__a{color:var(--ink);font-size:clamp(1.2rem,1rem + .8vw,1.8rem);font-weight:500;letter-spacing:-.02em}
.rf__a:hover,.rc__a:hover{color:var(--blue)}
.rf__p{margin:0;max-width:44ch;color:var(--dim);font-size:1.05rem;line-height:1.5}
.rf__p span{display:block;color:var(--ink);font-weight:500}
.rf__d{color:var(--dim)}
.rf__b,.rc__b{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.cd{display:flex;gap:clamp(14px,2vw,28px);margin-top:6px}
.cd div{display:grid;gap:4px}
.cd b{color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(2.4rem,1.4rem + 3vw,4.6rem);line-height:.85;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.cd b.flip{animation:flip .45s var(--ease)}
@keyframes flip{from{transform:translateY(-35%);opacity:.2}to{transform:none;opacity:1}}
.cd span{color:var(--dim);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.rl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,44px) clamp(14px,1.6vw,24px);padding-top:clamp(30px,4vw,56px)}
.rl--a{padding-top:0;grid-template-columns:repeat(3,minmax(0,1fr))}
.rc{display:grid;gap:10px;align-content:start;min-width:0}
.rc__cv{width:86%}
.rc__cv .tag{position:absolute;z-index:3;left:12px;top:12px}
.rc__d{color:var(--dim);margin-top:6px}
.rc__t{margin:0;color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(1.8rem,1.1rem + 1.8vw,3rem);line-height:.88;letter-spacing:-.04em;text-transform:uppercase}
.rc__a{color:var(--ink);font-weight:500}
.op.is-done{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.op.is-done::before{display:none}
.op.is-off{opacity:.38;border-color:var(--ink);color:var(--ink);text-decoration:line-through;cursor:not-allowed}
.op.is-off::before{display:none}
.op.is-ghost{border-color:var(--line);color:var(--ink);background:transparent}
.op.is-ghost::before{display:none}
.calm{position:relative;display:inline-flex}
.calm__m{position:absolute;left:0;top:calc(100% + 6px);z-index:30;display:grid;min-width:220px;padding:6px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 20px 40px -20px rgba(9,9,13,.35);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s,transform .35s var(--ease),visibility .25s}
.calm.is-open .calm__m{opacity:1;visibility:visible;transform:none}
.calm__m a{padding:10px 12px;border-radius:10px;color:var(--ink);font-size:.92rem;white-space:nowrap}
.calm__m a:hover{background:#F1F1FB;color:var(--blue)}
.ev__b .calm__m{left:auto;right:0}
.ps{position:fixed;inset:0;z-index:320;display:grid;place-items:center;padding:16px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .3s}
.ps[hidden]{display:none}.ps.is-open{opacity:1}
.ps__in{position:relative;display:grid;gap:10px;justify-items:start;width:min(520px,100%);padding:clamp(22px,3vw,36px);border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 40px 80px -40px rgba(9,9,13,.4);transform:translateY(20px) scale(.97);transition:transform .45s var(--ease)}
.ps.is-open .ps__in{transform:none}
.ps__x{position:absolute;right:16px;top:16px;height:38px;font-size:.88rem}
.ps__cv{width:120px;height:120px;object-fit:cover;border-radius:10px;margin-bottom:6px}
.ps__in>.label{color:var(--dim)}
.ps h3{margin:0;color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(2.2rem,1.6rem + 2vw,3.4rem);line-height:.86;letter-spacing:-.045em;text-transform:uppercase}
.ps__a{margin:0;font-weight:500}
.ps__p{margin:4px 0 8px;color:var(--dim)}
.ps__pl{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
.ps__pl .op{justify-content:space-between}
.toast{position:fixed;left:50%;bottom:24px;z-index:400;padding:12px 20px;border-radius:999px;background:var(--ink);color:#fff;font-size:.95rem;transform:translate(-50%,140%);transition:transform .5s var(--ease);pointer-events:none}
.toast.on{transform:translate(-50%,0)}

/* ---------- agenda ---------- */
.ag__bar{position:sticky;top:76px;z-index:20;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding-block:14px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.seg{display:inline-flex;gap:6px}
.seg .op{height:38px;font-size:.9rem}
.ag__pills{display:flex;flex-wrap:wrap;gap:6px}
.ag__pills .pill{height:38px;font-size:.9rem;padding:0 14px;box-shadow:none}
.ag__pills .pill[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.ag__out{min-height:40vh;padding-bottom:20px}
.ag__m{padding-top:clamp(30px,4vw,60px)}
.ag__mh{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:10px}
.ag__mh h3{margin:0;color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(2.4rem,1.4rem + 4vw,6rem);line-height:.85;letter-spacing:-.05em;text-transform:uppercase}
.ag__mh .label{color:var(--dim)}
.evs{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.ev{position:relative;display:grid;grid-template-columns:10.5rem minmax(0,1.6fr) minmax(0,1fr) 20rem;gap:clamp(12px,2vw,30px);align-items:center;padding:clamp(18px,2vw,26px) 0;border-bottom:1px solid var(--line);transition:background .4s}
.ev::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--blue);transition:width .7s var(--ease)}
.ev:hover::before{width:100%}
.ev__d{display:grid;gap:4px}
.ev__d b{color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(3rem,2rem + 2.6vw,5rem);line-height:.8;letter-spacing:-.05em;transition:color .3s}
.ev:hover .ev__d b{color:var(--blue)}
.ev__d .label{color:var(--dim)}
.ev__d em{font-style:normal;font-size:.82rem;color:var(--ink);font-weight:500}
.ev__w{display:grid;gap:6px;min-width:0}
.ev__a{color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(1.5rem,1rem + 1.4vw,2.6rem);line-height:.9;letter-spacing:-.035em;text-transform:uppercase}
a.ev__a:hover{color:var(--blue)}
.ev__t{color:var(--dim);font-size:1.02rem}
.ev__p{display:grid;gap:3px;min-width:0}
.ev__p b{color:var(--ink);font-weight:600;font-size:1.05rem}
.ev__p span{color:var(--dim);font-size:.92rem}
.ev__p .ev__type{justify-self:start;margin-bottom:4px;padding:3px 10px;border:1px solid var(--ink);border-radius:999px;color:var(--ink);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.ev__b{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.evs--compact .ev{grid-template-columns:9rem minmax(0,1.6fr) minmax(0,1fr) 20rem}
.evs--compact .ev__d b{font-size:clamp(2.4rem,1.6rem + 2vw,3.8rem)}
.ev__empty{display:grid;gap:12px;justify-items:start;padding-block:clamp(30px,4vw,60px)}
.cal{padding-top:clamp(24px,3vw,44px)}
.cal__h{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:16px}
.cal__h h3{margin:0;color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(2rem,1.2rem + 3vw,4.4rem);line-height:.85;letter-spacing:-.05em;text-transform:uppercase;text-align:center}
.cal__g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--line)}
.cal__w{padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--dim)}
.cal__c{position:relative;display:flex;flex-direction:column;gap:4px;align-items:stretch;min-height:clamp(70px,8vw,120px);padding:8px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;color:var(--dim);text-align:left;font:inherit;cursor:default}
.cal__c b{font-weight:500;font-size:.95rem}
.cal__c.has{cursor:pointer;color:var(--ink)}
.cal__c.has b{font-weight:700}
.cal__c.has:hover{background:#F4F4FC}
.cal__c.is-today b{display:grid;place-items:center;width:28px;height:28px;border:1.5px solid var(--blue);border-radius:50%;color:var(--blue)}
.cal__c.has.is-sel,.cal__c.has.is-sel:hover{background:var(--blue);color:#fff}
.cal__c.is-sel .cal__ev{background:#fff;color:var(--blue)}
.cal__ev{display:block;overflow:hidden;padding:3px 8px 3px 24px;border-radius:999px;background:var(--ink) var(--cv) no-repeat 3px center/16px 16px;color:#fff;font-size:.7rem;font-weight:600;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.02em}
.cal__sel{min-height:120px;padding-block:24px}
.cal__sel>.label{color:var(--dim)}
@media (max-width:1000px){.ev,.evs--compact .ev{grid-template-columns:8rem minmax(0,1fr)!important}.rl{grid-template-columns:repeat(2,minmax(0,1fr))}.ev,.evs--compact .ev{grid-template-columns:minmax(110px,.7fr) minmax(0,2fr)}.ev__p{grid-column:2}.ev__b{grid-column:2;justify-content:flex-start}}
@media (max-width:760px){.rels .sh .label{display:none}.rf{grid-template-columns:1fr}.rf__cv{width:78%}.rl,.rl--a{grid-template-columns:1fr}.ps__pl{grid-template-columns:1fr}
  .ev,.evs--compact .ev{grid-template-columns:5.2rem minmax(0,1fr)!important;gap:10px 14px;align-items:start}.ev__d b{font-size:2.8rem!important}.ev__p,.ev__b{grid-column:2}
  .ag__bar{top:64px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.ag__bar::-webkit-scrollbar{display:none}.ag__pills{flex-wrap:nowrap}.ag__pills .pill,.seg .op{flex:none}
  .cal__c{min-height:54px;padding:5px}.cal__ev{padding:0;width:8px;height:8px;font-size:0;background:var(--ink)}.cal__c.is-sel .cal__ev{background:#fff}}

.lb__yt{position:relative;width:min(86vw,1100px);aspect-ratio:16/9;max-height:80svh;border-radius:16px;overflow:hidden;background:var(--ink)}
.lb__yt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;border-radius:0}
.lb__ytc{position:absolute;left:clamp(18px,3vw,40px);bottom:clamp(18px,3vw,40px);display:grid;gap:10px;justify-items:start;color:#fff}
.lb__ytc .label{color:rgba(255,255,255,.75)}
.lb__ytc b{font-family:var(--f-display);font-weight:900;font-size:clamp(2rem,1.2rem + 3vw,4.4rem);line-height:.86;letter-spacing:-.045em;text-transform:uppercase}
.lb__fr{width:min(86vw,1100px);aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000}
.lb__fr iframe{width:100%;height:100%;border:0}
.lb.is-open .lb__m>*{animation:lbIn .5s var(--ease)}
@keyframes lbIn{from{transform:scale(.94);opacity:0}}

/* =========================================================================
   Esquinas redondeadas sutiles: bloques como paneles suaves, no cajas planas
   ========================================================================= */
.band{margin-inline:clamp(12px,1.6vw,24px);border-radius:22px}
.kpis{gap:10px;border-top:0}
.kpi{padding:22px 22px 26px;border-right:0;border-radius:var(--r);background:var(--soft)}
.bars{padding:4px 22px;border-radius:var(--r);background:var(--soft)}
.bars li:first-child{border-top:0}.bars li:last-child{border-bottom:0}
.tiles{gap:10px;border-top:0}
.tile{padding:18px;border-right:0;border-radius:var(--r);background:var(--soft);transition:background .4s}
.tile:hover,.tile[aria-pressed="true"]{background:#ECECF6}
.idx{display:grid;gap:8px;border-top:0}
.idx>li{border:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:var(--r);padding-inline:20px;transition:border-color .4s}
.idx>li:hover,.idx>li.is-open{border-color:rgba(9,9,13,.32)}
.idx__row{padding-block:18px}
.form{gap:10px}
.fld{padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:border-color .3s,box-shadow .3s}
.fld:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,34,224,.12)}
.reqs{gap:10px;border-top:0}
.req{padding:22px;border:1px solid transparent;border-right:1px solid transparent;border-radius:var(--r);background:var(--soft);transition:border-color .3s,background .3s}
.reqs li:last-child .req{border-right:1px solid transparent}
.req[aria-pressed="true"]{border-color:var(--blue);background:#fff}
.doors{gap:10px;border-top:0}
.door{padding:24px;border-right:0;border-radius:20px;background:var(--soft);transition:background .4s}
.door:last-child{border-right:0}
.door:hover{background:#ECECF6}
.fbar{padding:10px 12px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.fbar .label{padding-left:8px}
.ag__bar{padding:10px 12px;border:1px solid var(--line);border-radius:20px}
.evs{display:grid;gap:10px;border-top:0}
.ev{padding:18px 22px;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:border-color .4s,box-shadow .5s var(--ease)}
.ev::before{display:none}
.ev:hover{border-color:var(--blue);box-shadow:0 18px 40px -28px rgba(31,34,224,.45)}
.nws{gap:8px;border-top:0}
.nw{padding:16px 20px;border:1px solid var(--line);border-radius:16px;transition:border-color .4s}
a.nw:hover{padding-left:20px;border-color:var(--blue)}
.cal__g{gap:6px;border:0}
.cal__w{border:0;padding:6px 8px}
.cal__c{border:0;border-radius:var(--r-s);background:var(--soft)}
.cal__c.is-pad{background:transparent}
.cal__c.has{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.rf__cv>img{border-radius:var(--r)}
.rc__cv>img{border-radius:14px}
.peek{border-radius:16px}
.btn{border-color:var(--blue);color:var(--blue)}
.btn:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.btn--solid{color:#fff}
.ag__m{padding-top:clamp(30px,4vw,56px)}
@media (max-width:760px){.ev{padding:16px}.idx>li{padding-inline:14px}.kpi{padding:18px}.bars{padding:4px 14px}.band{margin-inline:12px;border-radius:18px}}

/* =========================================================================
   AGENDA v2: entrada destacada, calendario fijo y entradas troqueladas
   ========================================================================= */
.ag__intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.6fr);gap:2.2vw;align-items:baseline;padding-block:clamp(40px,5vw,80px) clamp(24px,3vw,40px)}
.ag__intro .lead{margin:0}
/* entrada grande */
.tkx{--cut:calc(100% - clamp(260px,24vw,340px));position:relative;display:grid;grid-template-columns:clamp(160px,17vw,250px) minmax(0,1fr) clamp(260px,24vw,340px);min-height:clamp(260px,24vw,330px);border-radius:26px;background:var(--ink);color:#fff;overflow:hidden;
  -webkit-mask:radial-gradient(circle 16px at var(--cut) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 16px at var(--cut) 100%,#0000 98%,#000) bottom/100% 51% no-repeat;
  mask:radial-gradient(circle 16px at var(--cut) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 16px at var(--cut) 100%,#0000 98%,#000) bottom/100% 51% no-repeat}
.tkx__img{position:relative;display:flex;overflow:hidden}
.tkx__img img{flex:1;min-width:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.15)}
.tkx__in{display:grid;gap:10px;align-content:center;padding:clamp(22px,3vw,44px)}
.tkx__in .label{color:rgba(255,255,255,.6)}
.tkx__a{margin:0;font-family:var(--f-display);font-weight:900;font-size:clamp(2.6rem,1.4rem + 4vw,6.4rem);line-height:.84;letter-spacing:-.05em;text-transform:uppercase}
.tkx__t{margin:0;color:rgba(255,255,255,.75);font-size:clamp(1.05rem,1rem + .4vw,1.4rem)}
.cd--inv b{color:#fff}.cd--inv span{color:rgba(255,255,255,.55)}
.tkx__stub{position:relative;display:grid;gap:6px;align-content:center;justify-items:start;padding:clamp(22px,2.6vw,36px);border-left:2px dashed rgba(255,255,255,.22)}
.tkx__stub .label{color:rgba(255,255,255,.6)}
.tkx__d{font-family:var(--f-display);font-weight:900;font-size:clamp(4.6rem,3rem + 4vw,8rem);line-height:.78;letter-spacing:-.06em}
.tkx__m{font-weight:500}
.tkx__c{color:rgba(255,255,255,.7)}
.tkx__b{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tkx__b .op:not(.is-solid){color:#fff;border-color:rgba(255,255,255,.5);background:transparent}
.tkx__code{position:absolute;right:-34px;top:50%;transform:rotate(90deg);font-size:.64rem;letter-spacing:.3em;color:rgba(255,255,255,.3)}
/* filtros */
.ag__fil{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;align-items:start;gap:14px 34px;margin-block:clamp(24px,3vw,40px) clamp(20px,2.4vw,32px);padding:16px 18px;border:1px solid var(--line);border-radius:20px}
.ag__grp{display:grid;gap:8px}
.ag__grp>.label{color:var(--dim)}
.ag__pills{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:.88rem;font-weight:500;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.chip:hover{border-color:var(--ink)}
.chip.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.chip--img{padding-left:4px}
.chip--img img{width:28px;height:28px;border-radius:50%;object-fit:cover}
/* calendario + lista */
.ag__main{display:grid;grid-template-columns:clamp(300px,27vw,400px) minmax(0,1fr);gap:clamp(20px,2.6vw,40px);align-items:start;padding-bottom:20px}
.ag__cal{position:sticky;top:96px}
.mc{padding:18px;border-radius:22px;background:var(--soft)}
.mc__h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:14px}
.mc__h>div{display:grid;justify-items:center;gap:4px}
.mc__h h3{margin:0;color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(1.8rem,1.2rem + 1.4vw,2.6rem);line-height:.85;letter-spacing:-.045em;text-transform:uppercase}
.mc__h .label{color:var(--dim)}
.mc__h .op{background:#fff}
.mc__w,.mc__g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.mc__w span{padding:6px 0;text-align:center;color:var(--dim);font-size:.72rem;font-weight:600;letter-spacing:.06em}
.cd__day{position:relative;aspect-ratio:1;display:grid;place-items:center;border:0;border-radius:12px;background:transparent;color:rgba(9,9,13,.4);font:inherit;font-size:.88rem;cursor:default}
.cd__day b{font-weight:500}
.cd__day.has{background:#fff;color:var(--ink);cursor:pointer;box-shadow:0 1px 0 rgba(9,9,13,.04);transition:transform .35s var(--ease),background .3s,color .3s}
.cd__day.has b{font-weight:700;transform:translateY(-6px)}
.cd__faces{position:absolute;left:50%;bottom:5px;display:flex;transform:translateX(-50%)}
.cd__faces img{width:14px;height:14px;border-radius:50%;object-fit:cover;border:1.5px solid #fff}
.cd__faces img+img{margin-left:-5px}
.cd__day.has:hover,.cd__day.is-hot{transform:scale(1.08);background:var(--ink);color:#fff}
.cd__day.is-hot .cd__faces img,.cd__day.has:hover .cd__faces img{border-color:var(--ink)}
.cd__day.is-sel{background:var(--blue);color:#fff}
.cd__day.is-sel .cd__faces img{border-color:var(--blue)}
.cd__day.is-today::after{content:"";position:absolute;inset:3px;border:1.5px solid var(--blue);border-radius:10px}
.mc__months{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.mc__months .chip{height:32px;font-size:.82rem}
.mc__tip{margin:12px 0 0;color:var(--dim)}
.mc__tip .u{border:0;background:none;padding:0;color:var(--blue);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ag__list .ag__m{padding-top:0;margin-bottom:clamp(30px,4vw,56px)}
.ag__list .ag__mh{display:flex;justify-content:space-between;align-items:baseline;padding:0 4px 12px}
.ag__list .ag__mh h3{font-size:clamp(2.2rem,1.4rem + 2.6vw,4.4rem)}
.tks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tk{--stub:clamp(120px,11vw,150px);border-radius:22px;background:var(--soft);transition:background .4s,box-shadow .5s var(--ease),transform .5s var(--ease);
  -webkit-mask:radial-gradient(circle 11px at calc(100% - var(--stub)) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 11px at calc(100% - var(--stub)) 100%,#0000 98%,#000) bottom/100% 51% no-repeat;
  mask:radial-gradient(circle 11px at calc(100% - var(--stub)) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 11px at calc(100% - var(--stub)) 100%,#0000 98%,#000) bottom/100% 51% no-repeat}
.tk.is-open{-webkit-mask:none;mask:none;background:#fff;box-shadow:inset 0 0 0 1.5px var(--ink)}
.tk:hover{background:#ECECF6}
.tk.is-open:hover{background:#fff}
.tk__main{display:grid;grid-template-columns:clamp(74px,7vw,96px) minmax(0,1fr) var(--stub);align-items:stretch;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.tk__img{display:flex;margin:12px 0 12px 12px;border-radius:14px;overflow:hidden;aspect-ratio:1;align-self:center}
.tk__img img{flex:1;min-width:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.tk:hover .tk__img img{transform:scale(1.08)}
.tk__info{display:grid;gap:4px;align-content:center;padding:16px clamp(14px,2vw,26px);min-width:0}
.tk__meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.tk__meta .label{color:var(--dim)}
.tk__type{padding:3px 10px;border:1px solid var(--ink);border-radius:999px;color:var(--ink);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.tk__a{color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(1.5rem,1rem + 1.4vw,2.5rem);line-height:.9;letter-spacing:-.04em;text-transform:uppercase;transition:color .3s}
.tk:hover .tk__a{color:var(--blue)}
.tk__t{color:var(--ink);font-size:1rem}
.tk__p{color:var(--dim);font-size:.92rem}
.tk__p b{color:var(--ink);font-weight:600}
.tk__stub{display:grid;align-content:center;justify-items:center;gap:2px;padding:14px 8px;border-left:2px dashed rgba(9,9,13,.16);text-align:center}
.tk__stub b{color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(2.8rem,2rem + 2vw,4.2rem);line-height:.82;letter-spacing:-.05em}
.tk__stub .label{color:var(--dim)}
.tk__more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.tk.is-open .tk__more{grid-template-rows:1fr}
.tk__mi{overflow:hidden;display:grid;gap:16px;padding:0 clamp(16px,2vw,26px)}
.tk.is-open .tk__mi{padding-bottom:22px}
.tk__mi>p{margin:0;max-width:60ch;font-size:1.08rem;line-height:1.5;color:var(--ink)}
.tk__dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}
.tk__dl div{padding:12px 14px;border-radius:14px;background:var(--soft)}
.tk__dl dt{color:var(--dim);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.tk__dl dd{margin:4px 0 0;color:var(--ink);font-weight:500}
.tk__b{display:flex;flex-wrap:wrap;gap:8px}
.ag__empty{display:grid;gap:12px;justify-items:start;padding:clamp(30px,4vw,50px);border-radius:22px;background:var(--soft)}
.ag__empty b{color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(1.8rem,1.2rem + 1.6vw,3rem);line-height:.9;letter-spacing:-.04em;text-transform:uppercase}
@media (max-width:1100px){.ag__fil{grid-template-columns:1fr}.tkx{grid-template-columns:150px minmax(0,1fr) 270px;--cut:calc(100% - 270px)}}
@media (max-width:900px){.ag__main{grid-template-columns:1fr}.ag__cal{position:relative;top:0}.mc{max-width:520px}.tk__dl{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.ag__intro{grid-template-columns:1fr}
  .tkx{grid-template-columns:1fr;-webkit-mask:none;mask:none}.tkx__img{height:180px}.tkx__stub{border-left:0;border-top:2px dashed rgba(255,255,255,.22)}.tkx__code{display:none}
  .ag__fil{padding:12px}.ag__pills{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-12px;padding-inline:12px}.ag__pills::-webkit-scrollbar{display:none}.chip{flex:none}
  .tk{--stub:84px}.tk__main{grid-template-columns:62px minmax(0,1fr) var(--stub)}.tk__img{margin:10px 0 10px 10px}.tk__info{padding:12px}.tk__stub b{font-size:2.4rem}.tk__p{font-size:.85rem}}

/* =========================================================================
   Lanzamientos (Home) — versión minimalista
   ========================================================================= */
.rels .rf{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(24px,5vw,90px);padding-block:clamp(16px,2vw,28px) clamp(30px,4vw,56px);border-bottom:0}
.rels .rf__cv{width:min(100%,440px);justify-self:start}
.rels .rf__cv>img{border-radius:14px;box-shadow:0 24px 50px -34px rgba(9,9,13,.5)}
.rels .rf__play{left:16px;bottom:16px;width:46px;height:46px;font-size:.9rem}
.rels .rf__in{gap:12px}
.rf__k{color:var(--dim)}
.rels .rf__t{font-size:clamp(2.6rem,1.4rem + 3.6vw,5.6rem)}
.rels .rf__a{display:flex;flex-wrap:wrap;gap:.3em 1em;align-items:baseline;margin:0;font-size:1.1rem}
.rels .rf__a a{color:var(--ink);font-weight:600}
.rels .rf__a a:hover{color:var(--blue)}
.rels .rf__a span{color:var(--dim)}
.rels .rf__p{font-size:1rem}
.rf__when{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;justify-self:start}
.rf__when>.label{color:var(--ink)}
.cd--line{display:inline-flex;gap:12px;margin:0;font-size:.8rem;color:var(--dim);letter-spacing:.04em}
.cd--line span{display:inline-flex;align-items:baseline;gap:2px}
.cd--line b{font-family:var(--f-sans);font-size:1.15rem;font-weight:600;line-height:1;letter-spacing:0;color:var(--ink)}
.rr{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rr__i{display:grid;grid-template-columns:64px minmax(0,1fr) 7rem 9rem auto;gap:clamp(12px,2vw,28px);align-items:center;padding:10px 14px 10px 10px;border:1px solid var(--line);border-radius:var(--r);transition:border-color .4s}
.rr__i:hover{border-color:rgba(9,9,13,.32)}
.rr__cv{position:relative;width:64px;aspect-ratio:1;padding:0;border:0;background:none;cursor:pointer}
.rr__cv img{position:relative;z-index:2;display:block;width:100%;height:100%;object-fit:cover;border-radius:10px;transition:transform .6s var(--ease)}
.rr__cv .vinyl{top:4%;left:4%;width:92%;height:92%}
.rr__i:hover .rr__cv .vinyl{transform:translateX(38%)}
.rr__i:hover .rr__cv .vinyl::after{animation:spin 2.2s linear infinite}
.rr__i:hover .rr__cv img{transform:translateX(-8%) rotate(-3deg)}
.rr__t{display:grid;gap:2px;min-width:0}
.rr__t b{color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:clamp(1.3rem,1rem + 1vw,2rem);line-height:.95;letter-spacing:-.035em;text-transform:uppercase}
.rr__t a{color:var(--dim);font-size:.95rem}
.rr__t a:hover{color:var(--blue)}
.rr__k,.rr__d{color:var(--dim)}
.rr__b{justify-self:end}
.rr__b .op{height:38px;font-size:.88rem}
@media (max-width:760px){.rels .rf{grid-template-columns:1fr}.rels .rf__cv{width:72%}.rr__i{grid-template-columns:56px minmax(0,1fr) auto}.rr__cv{width:56px}.rr__k{display:none}.rr__d{grid-column:2;grid-row:2;margin-top:-6px}.rr__b{grid-column:3;grid-row:1/3}}

/* =========================================================================
   Reels (ficha de artista): 9:16, reproducción automática
   ========================================================================= */
.reels{position:relative}
.reels__track{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(170px,15vw,230px);gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px;overscroll-behavior-x:contain}
.reels__track::-webkit-scrollbar{display:none}
.reel{position:relative;display:block;aspect-ratio:9/16;padding:0;border:0;border-radius:16px;overflow:hidden;background:var(--ink);color:#fff;text-align:left;font:inherit;cursor:pointer;scroll-snap-align:start;isolation:isolate}
.reel video,.reel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reel img{transform-origin:var(--o);animation:kb var(--d) ease-in-out infinite alternate;animation-play-state:paused}
.reel.is-on img{animation-play-state:running}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.18) translate(-2%,-2%)}}
.reel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,9,13,.45),transparent 22%,transparent 60%,rgba(9,9,13,.7));z-index:1;pointer-events:none}
.reel__bar{position:absolute;left:10px;right:10px;top:10px;z-index:2;height:3px;border-radius:3px;background:rgba(255,255,255,.35);overflow:hidden}
.reel__bar i{display:block;height:100%;background:#fff;transform:scaleX(0);transform-origin:left}
.reel.is-on img~.reel__bar i{animation:rbar var(--d) linear infinite}
@keyframes rbar{to{transform:scaleX(1)}}
.reel__top{position:absolute;left:10px;right:10px;top:22px;z-index:2;display:flex;align-items:center;gap:7px;font-size:.78rem;font-weight:600}
.reel__av{width:24px;height:24px;border-radius:50%;background:center/cover;box-shadow:0 0 0 1.5px #fff}
.reel__cap{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;display:grid;gap:3px}
.reel__cap .label{color:rgba(255,255,255,.75)}
.reel__cap b{font-size:.98rem;font-weight:600;line-height:1.2}
.reel:hover video,.reel:hover img{filter:brightness(1.08)}
.reels__nav{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.lb__reel{position:relative;height:min(80svh,900px);aspect-ratio:9/16;border-radius:16px;overflow:hidden;background:var(--ink)}
.lb__reel img{width:100%;height:100%;object-fit:cover;border-radius:0;animation:kb 6s ease-in-out forwards;max-width:none!important;max-height:none!important}
.lb__reel .reel__bar i{animation:rbar 6s linear forwards}
.lb__m video.is-reel{height:min(80svh,900px);width:auto;aspect-ratio:9/16;object-fit:cover}
@media (max-width:760px){.reels__track{grid-auto-columns:44vw;margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px}.reels__nav{display:none}.lb__reel,.lb__m video.is-reel{height:72svh}}
.row2>*{min-width:0}
.reels,.reels__track{min-width:0;max-width:100%}
.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
.tile{border-bottom:0!important;min-width:0}
@media (max-width:900px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.tile{padding:12px}.calm__m{position:fixed;left:16px;right:16px;top:auto;bottom:16px;min-width:0;transform:translateY(12px)}.calm.is-open .calm__m{transform:none}}
.tile{overflow:hidden}
.reqs li,.req{min-width:0}
@media (max-width:760px){.reqs{grid-template-columns:1fr 1fr!important}.req b{font-size:1.5rem;overflow-wrap:anywhere}}
@media (max-width:760px){.req{border-bottom:1px solid transparent}.req[aria-pressed="true"]{border-color:var(--blue)}}
@media (max-width:760px){.soc{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}.soc::-webkit-scrollbar{display:none}.soc .op{flex:none}}

a.tk__main{color:inherit;text-decoration:none}
.rr__t>span{color:var(--dim);font-size:.95rem}
.door h3{font-size:clamp(1.8rem,1rem + 2.4vw,3.6rem);overflow-wrap:anywhere}
.verdict{margin-top:10px;padding:14px 18px!important;border:1px solid var(--line)!important;border-radius:16px}
@media (max-width:760px){.stage__hint{display:none}.tile__state{display:none}}
.calm__m{display:none}
.calm.is-open .calm__m{display:grid;animation:calmIn .3s var(--ease)}
@keyframes calmIn{from{opacity:0;transform:translateY(-6px)}}
.rf__b .calm__m,.tkx__b .calm__m,.tk__b .calm__m{left:auto;right:0}

.fld--hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fld--check{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:14px;color:var(--dim);font-size:.92rem;line-height:1.45;cursor:pointer}
.fld--check input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--blue)}
.fld--check a{color:var(--ink)}

/* Cabeceras de sección: misma tipografía y medida que la cabecera del footer */
.sh h2,.ag__list .ag__mh h3,.ag__mh h3,.next b{font-family:var(--f-sans);font-weight:500;font-size:clamp(2.4rem,1rem + 5.4vw,7.6rem);line-height:1;letter-spacing:-.045em;text-transform:none;text-wrap:balance}
.sh{align-items:flex-end}

/* preguntas frecuentes */
.faq{display:grid;gap:8px}
.faq__i{border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:border-color .4s}
.faq__i[open],.faq__i:hover{border-color:rgba(9,9,13,.32)}
.faq__i summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:18px 20px;cursor:pointer;list-style:none;color:var(--ink);font-size:clamp(1.1rem,1rem + .6vw,1.5rem);font-weight:500;letter-spacing:-.02em}
.faq__i summary::-webkit-details-marker{display:none}
.faq__i summary i{flex:none;display:grid;place-items:center;width:36px;height:36px;border:1.5px solid var(--blue);border-radius:50%;color:var(--blue);font-style:normal;transition:transform .4s var(--ease),background .3s,color .3s}
.faq__i[open] summary i{transform:rotate(45deg);background:var(--blue);color:#fff}
.faq__i p{margin:0;padding:0 20px 20px;max-width:62ch;color:var(--dim);font-size:1.02rem;line-height:1.55}

.svc--div li span{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2em .8em}
.svc--div li em{font-style:normal;color:var(--dim);font-size:.52em;letter-spacing:0;font-weight:400}
@media (max-width:760px){.svc--div li span{display:grid}.svc--div li em{font-size:.62em}}
