/* CulturaLAB · Sala de clientes v2. Galería editorial guiada por el scroll.
   Paleta CulturaLAB: carbón, papel, naranja y grises. Tipos: Majesti Banner (enunciados) y Visby CF (titulares y texto). */
:root{
  --negro:#1C1C1C; --carbon:#2A2A2A; --carbon-2:#333333; --gris:#666666; --gris-claro:#BDBDBD; --linea:#E2DFD6;
  --papel:#FCFBF8; --papel-2:#F1EFE9; --naranja:#FF5500; --naranja-texto:#C24100;
  --ok:#00FF97; --cambio:#D164F9;
  --serif:"Majesti Banner",Georgia,serif; --sans:"Visby CF",system-ui,sans-serif;
  --margen:clamp(20px,4vw,64px);
  --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--carbon);color:var(--papel);font:400 clamp(16px,1.1vw,19px)/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
body.cerrado{overflow:hidden}
img,video{display:block;max-width:100%}
a{color:inherit}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
:focus-visible{outline:2px solid var(--naranja);outline-offset:3px}
[hidden]{display:none!important}
h1,h2,h3{margin:0;font-weight:400}
.rotulo{font:400 clamp(56px,9vw,180px)/.92 var(--serif);letter-spacing:-.02em;margin:0 0 clamp(36px,6vh,72px)}

/* Botones */
.boton{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:999px;border:1px solid currentColor;background:none;font-weight:600;font-size:15px;text-decoration:none;transition:background .3s,color .3s,border-color .3s}
.boton:hover{background:var(--papel);color:var(--negro);border-color:var(--papel)}
.boton-marca{background:var(--naranja);border-color:var(--naranja);color:var(--negro)}
.boton-marca:hover{background:var(--papel);border-color:var(--papel)}
.boton-ok{background:var(--carbon);border-color:var(--carbon);color:var(--papel)}
.boton-sutil{border-color:transparent}
.boton-icono{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid rgba(252,251,248,.25);background:rgba(28,28,28,.6);backdrop-filter:blur(8px);color:var(--papel)}
.boton-icono:hover{border-color:var(--papel)}

/* Acceso */
.acceso{position:fixed;inset:0;z-index:50;background:var(--negro);display:grid;place-items:center;padding:24px;overflow:hidden}
.acceso-anillo{position:absolute;width:min(110vmin,980px);right:-40vmin;bottom:-42vmin;animation:girar 40s linear infinite}
@keyframes girar{to{rotate:360deg}}
.acceso-caja{position:relative;width:min(440px,100%)}
.acceso h1{font:400 clamp(48px,7vw,88px)/1 var(--serif);margin:40px 0 36px}
.acceso form{display:grid;gap:18px}
.acceso label{display:grid;gap:8px;font-size:13px;font-weight:600;color:var(--gris-claro)}
.acceso input{min-height:52px;padding:0 0 4px;border:0;border-bottom:1px solid #555;background:none;font-size:20px;color:var(--papel)}
.acceso input:focus{outline:0;border-color:var(--naranja)}
.acceso .boton{justify-self:start;margin-top:12px}
.acceso-error{color:#FF7A9A;margin:0}

/* Cabecera */
.cabecera{position:fixed;inset:0 0 auto 0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:14px var(--margen);color:#fff;transition:background .4s,backdrop-filter .4s,translate .5s var(--ease)}
.cabecera-acciones{justify-self:end;display:flex;align-items:center;gap:14px}
.cabecera.solida{background:rgba(28,28,28,.88);backdrop-filter:blur(18px) saturate(1.2)}
.cabecera.oculta{translate:0 -110%}
.menu-boton{display:none}
.cabecera-logo img{width:128px;height:auto}
.cabecera nav{display:flex;gap:28px;font-size:14px;font-weight:600}
.cabecera nav a{text-decoration:none}
.cabecera nav a:hover{text-decoration:underline;text-underline-offset:4px}
.cabecera-envio{border:1px solid #fff;background:none;border-radius:999px;min-height:40px;padding:0 18px;font-size:14px;font-weight:600;color:#fff}
.cabecera-envio span{font-variant-numeric:tabular-nums;margin-right:6px}

/* 1 · Inicio */
.inicio{position:relative;min-height:100svh;padding:120px var(--margen) 40px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--negro)}
.inicio-anillo{position:absolute;width:min(62vw,780px);right:-14vw;top:2vh;opacity:.95}
.inicio-titulo{position:relative;font:700 clamp(72px,14vw,260px)/.86 var(--sans);letter-spacing:-.04em;text-transform:lowercase}
.inicio-titulo .linea{display:block;white-space:nowrap}
.inicio-titulo .l2{padding-left:12vw;font-family:var(--serif);font-weight:400;letter-spacing:-.02em}
.inicio-titulo .l3{color:var(--naranja)}
.inicio-pie{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px;margin-top:48px;font-size:14px;color:var(--gris-claro)}
.inicio-pie p{margin:0}.desliza{text-align:right}

/* 2 · Manifiesto */
.manifiesto{background:var(--papel);color:var(--negro);padding:clamp(120px,18vh,220px) var(--margen)}
.manifiesto-texto{font:400 clamp(34px,5.4vw,96px)/1.05 var(--serif);letter-spacing:-.015em;margin:0;max-width:20ch}
.manifiesto-texto .w{opacity:.14}

/* 3 · Clientes */
.clientes{position:relative;background:var(--negro);padding:0 0 clamp(80px,12vh,140px)}
.clientes .rotulo,.indice{margin-left:var(--margen);margin-right:var(--margen)}
.cinta{overflow:hidden;padding-top:clamp(50px,8vh,90px);margin-bottom:clamp(60px,10vh,120px)}
.cinta-pista{display:flex;gap:.4em;white-space:nowrap;font:700 clamp(80px,15vw,280px)/.9 var(--sans);letter-spacing:-.05em;text-transform:lowercase;will-change:transform}
.cinta-pista span:nth-child(even){font-family:var(--serif);font-weight:400;color:var(--naranja)}
.indice{list-style:none;padding:0;border-top:1px solid #444}
.indice a{display:grid;grid-template-columns:80px 1.4fr 1fr 1fr;gap:24px;align-items:baseline;padding:28px 0;border-bottom:1px solid #444;text-decoration:none;transition:padding .5s var(--ease),color .3s}
.indice a:hover{padding-left:24px;color:var(--naranja)}
.indice b{font:400 clamp(32px,4vw,64px)/1 var(--serif)}
.indice span{font-size:14px;color:var(--gris-claro)}

/* 4 · Portada del cliente */
.portada-cliente{position:relative;height:100svh;overflow:hidden;background:var(--negro)}
.portada-marco{position:absolute;inset:0;display:grid;place-items:center}
.portada-marco img{width:100vw;height:100svh;max-width:none;object-fit:cover;will-change:transform}
.portada-texto{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:110px var(--margen) 40px;pointer-events:none}
.portada-titulo{display:flex;justify-content:space-between;font:700 clamp(56px,11vw,210px)/.85 var(--sans);letter-spacing:-.05em;text-transform:lowercase;text-shadow:0 4px 40px rgba(0,0,0,.35)}
.portada-titulo span:last-child{font-family:var(--serif);font-weight:400;font-size:.5em;align-self:flex-end}
.portada-sup,.portada-inf{margin:0;font-size:15px;font-weight:600;max-width:46ch;text-shadow:0 2px 20px rgba(0,0,0,.5)}
.portada-inf{align-self:flex-end;text-align:right}

/* 5 · Semanas y piezas */
.semana{position:relative;background:var(--papel);color:var(--negro);padding:clamp(80px,12vh,140px) var(--margen) 40px}
.semana:nth-child(even){background:var(--papel-2)}
.semana-num{position:sticky;top:0;height:0;overflow:visible;pointer-events:none;z-index:0}
.semana-num span{display:block;font:700 clamp(220px,48vw,860px)/.8 var(--sans);letter-spacing:-.07em;color:rgba(42,42,42,.045);padding-top:6vh;margin-left:-.04em}
.semana-cabeza{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(60px,10vh,120px)}
.semana-cabeza h2{font:400 clamp(44px,6.5vw,120px)/.95 var(--serif)}
.semana-cabeza p{margin:0;color:var(--gris);max-width:32ch}
.pieza{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,5vw,96px);align-items:center;min-height:86vh;padding:7vh 0;z-index:1}
.pieza:nth-of-type(even){grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.pieza:nth-of-type(even) .pieza-medio{order:2}
.pieza-medio{position:relative;justify-self:center;width:100%;display:grid;place-items:center}
.pieza-lienzo{position:relative;height:min(82vh,1000px);max-width:100%;aspect-ratio:var(--r);border:0;padding:0;background:var(--papel-2);border-radius:6px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.35);cursor:zoom-in}
.pieza-lienzo img,.pieza-lienzo video{width:100%;height:100%;object-fit:cover}
.marca-cinta{position:absolute;left:14px;top:14px;display:flex;gap:6px;z-index:2}
.etiqueta{font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;background:rgba(28,28,28,.78);color:#fff;backdrop-filter:blur(6px)}
.sonido{position:absolute;right:14px;bottom:14px;z-index:2}
.estado{position:absolute;right:14px;top:14px;z-index:2;font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;color:var(--negro)}
.estado.ok{background:var(--ok)}.estado.cambios{background:var(--cambio)}
.pieza-info{position:relative;max-width:560px}
.pieza-fecha{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:var(--gris);margin:0 0 18px}
.pieza-fecha i{width:12px;height:12px;border-radius:3px;background:var(--c)}
.pieza-titulo{font:400 clamp(36px,4.6vw,84px)/.98 var(--serif);letter-spacing:-.01em;margin-bottom:24px}
.pieza-copy{font-size:17px;line-height:1.55;color:#3A3A3A;margin:0 0 16px;max-width:52ch}
.pieza-tags{font-size:14px;font-weight:600;color:var(--naranja-texto);margin:0 0 28px}
.pieza-acciones{display:flex;flex-wrap:wrap;gap:10px}
.pieza-acciones .boton{min-height:44px;padding:0 20px;font-size:14px}
.pieza-acciones .boton:hover{background:var(--negro);color:var(--papel);border-color:var(--negro)}
.pieza-acciones .boton-ok:hover,.decision .boton-ok:hover{background:var(--naranja);border-color:var(--naranja);color:var(--negro)}

/* 6 · Extra: galería horizontal */
.extra{position:relative;background:var(--negro);overflow:hidden;overflow:clip}
.extra-cabeza{padding:clamp(80px,12vh,140px) var(--margen) 40px;display:flex;justify-content:space-between;gap:24px;align-items:flex-end}
.extra-cabeza .rotulo{margin:0}
.extra-cabeza p{margin:0;color:var(--gris-claro);max-width:36ch}
.extra-pista{display:flex;gap:clamp(16px,2vw,32px);padding:0 var(--margen) clamp(60px,10vh,100px);width:max-content;will-change:transform}
.extra-item{flex:none;width:auto;max-width:42vw;border:0;padding:0;background:none;text-align:left;color:var(--papel)}
.extra-item .marco{height:min(58vh,560px);aspect-ratio:var(--r);border-radius:6px;overflow:hidden;background:var(--carbon-2);cursor:zoom-in}
.extra-item img{width:100%;height:100%;object-fit:cover;transition:scale .8s var(--ease)}
.extra-item:hover img{scale:1.04}
.extra-item b{display:block;font:400 22px/1.15 var(--serif);margin:14px 0 4px}
.extra-item small{color:var(--gris-claro)}

/* 7 · Anuncios: paneles que se apilan */
.anuncios{background:var(--carbon);padding:clamp(80px,12vh,140px) var(--margen) 0}
.juego{position:sticky;top:0;min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,4vw,64px);align-items:center;padding:9vh 0 6vh;background:var(--carbon);border-top:1px solid #444}
.juego h3{font:400 clamp(40px,5.5vw,100px)/.95 var(--serif);margin-bottom:24px}
.juego p{color:#cfcfcf;max-width:52ch;margin:0 0 12px}
.juego p b{color:var(--papel)}
.juego-medios{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:14px;align-items:end}
.juego-medios button{border:0;padding:0;background:none;border-radius:6px;overflow:hidden;cursor:zoom-in}
.juego-medios img{width:100%;max-height:70vh;aspect-ratio:var(--r);object-fit:cover}
.legal{color:var(--gris-claro);font-size:13px;padding:24px 0 80px;margin:0}

/* 8 · Blog */
.blog .rotulo,.reserva .rotulo{color:var(--negro)}
.blog{background:var(--papel);color:var(--negro);padding:clamp(80px,12vh,140px) var(--margen)}
.blog-lista{list-style:none;margin:0;padding:0;border-top:1px solid var(--linea)}
.blog-lista button{width:100%;display:grid;grid-template-columns:120px 1fr 260px;gap:32px;align-items:center;padding:28px 0;border:0;border-bottom:1px solid var(--linea);background:none;text-align:left;color:inherit}
.blog-lista .n{font:700 clamp(48px,6vw,96px)/1 var(--sans);letter-spacing:-.05em;color:var(--naranja)}
.blog-lista b{font:400 clamp(26px,3vw,48px)/1.05 var(--serif)}
.blog-lista small{display:block;color:var(--gris);font-size:14px;margin-top:8px}
.blog-lista img{width:100%;aspect-ratio:1225/693;object-fit:cover;border-radius:4px;transition:scale .8s var(--ease)}
.blog-lista button:hover img{scale:1.05}

/* 9 · Reserva y equipo */
.reserva{background:var(--papel-2);color:var(--negro);padding:clamp(80px,12vh,140px) var(--margen)}
.reserva-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.reserva-rejilla button{border:0;padding:0;background:none;text-align:left;color:inherit}
.reserva-rejilla img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;border-radius:6px;cursor:zoom-in}
.reserva-rejilla b{display:block;font:400 20px/1.2 var(--serif);margin-top:10px}
.equipo{background:var(--negro);padding:clamp(80px,12vh,140px) var(--margen)}
.equipo-lista{list-style:none;margin:0;padding:0}
.equipo-lista li{display:flex;justify-content:space-between;align-items:baseline;gap:24px;border-bottom:1px solid #444;padding:18px 0}
.equipo-lista span{font:700 clamp(44px,8vw,150px)/.95 var(--sans);letter-spacing:-.05em;text-transform:lowercase}
.equipo-lista small{color:var(--gris-claro);font-size:15px;white-space:nowrap}
.pie{background:var(--naranja);color:var(--negro);padding:60px var(--margen) 0;overflow:hidden}
.pie-datos{display:flex;flex-wrap:wrap;gap:12px 40px;font-weight:600}
.pie-datos a{text-decoration:none}
.pie-marca{font:700 clamp(80px,22vw,420px)/.8 var(--sans);letter-spacing:-.06em;margin:40px 0 -.12em;white-space:nowrap}

/* Visor */
.visor{position:fixed;inset:0;z-index:40;display:grid;grid-template-columns:minmax(0,1fr) 420px;background:#161616;color:var(--papel)}
.visor.sin-ficha{grid-template-columns:minmax(0,1fr) 0}
.visor.sin-ficha .visor-ficha{display:none}
.visor-escena{position:relative;overflow:hidden;min-width:0}
.visor-pista{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior:contain}
.visor-pista::-webkit-scrollbar{display:none}
.lamina{flex:0 0 100%;height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr);place-items:center;padding:72px 84px 72px;scroll-snap-align:center;overflow:hidden}
.lamina img,.lamina video{max-width:100%;max-height:calc(100vh - 144px);object-fit:contain;border-radius:4px;cursor:zoom-in;transition:transform .5s var(--ease)}
.lamina.zoom img{cursor:zoom-out;transform:scale(2.2)}
.visor-flecha{position:absolute;top:50%;translate:0 -50%;width:56px;height:56px;border-radius:50%;border:1px solid rgba(252,251,248,.3);background:rgba(28,28,28,.6);display:grid;place-items:center;color:var(--papel)}
.visor-flecha.izq{left:20px}.visor-flecha.der{right:20px}
.visor-flecha:disabled{opacity:.25;cursor:default}
.visor-contador{position:absolute;left:24px;top:22px;margin:0;font:700 14px var(--sans)}
.visor-ayuda{position:absolute;left:50%;bottom:18px;translate:-50% 0;margin:0;font-size:13px;color:var(--papel);background:rgba(28,28,28,.75);padding:6px 14px;border-radius:999px;white-space:nowrap;max-width:calc(100% - 32px);overflow:hidden;text-overflow:ellipsis}
.visor-ficha{overflow:auto;background:var(--papel);color:var(--negro);padding:88px 32px 32px;overscroll-behavior:contain}
.visor-barra{position:fixed;right:20px;top:16px;display:flex;gap:8px;z-index:2}
.ficha-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none}
.ficha-meta li{font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;background:var(--papel-2)}
.ficha-meta li.m{background:var(--c);color:var(--t)}
.visor-ficha h2{font:400 38px/1 var(--serif);margin:0 0 20px}
.bloque{border-top:1px solid var(--linea);padding:16px 0}
.bloque h3{font:700 13px/1.2 var(--sans);display:flex;justify-content:space-between;align-items:center;margin:0 0 8px}
.bloque p{margin:0;white-space:pre-line;font-size:15px}
.copiar{border:0;background:none;color:var(--naranja-texto);font-weight:700;font-size:13px;min-height:36px;padding:0 4px}
.pestanas{display:flex;gap:6px;margin-bottom:12px}
.pestanas button{border:1px solid var(--linea);background:none;border-radius:999px;min-height:36px;padding:0 14px;font-size:13px;font-weight:700}
.pestanas button[aria-selected="true"]{background:var(--negro);color:var(--papel);border-color:var(--negro)}
.decision{border-top:1px solid var(--linea);padding-top:18px;display:grid;gap:12px}
.decision textarea{width:100%;min-height:90px;padding:12px;border:1px solid var(--linea);border-radius:6px;background:#fff;resize:vertical}
.decision .boton:hover{background:var(--negro);color:var(--papel);border-color:var(--negro)}
.sello{font-size:13px;font-weight:700}.sello.ok{color:#007A4D}.sello.cambios{color:#7E2BB8}

/* Lector */
.lector{position:fixed;inset:0;z-index:40;background:var(--papel);color:var(--negro);overflow:auto;overscroll-behavior:contain}
.lector-cerrar{position:fixed;right:20px;top:16px;z-index:2}
.lector-cuerpo{max-width:760px;margin:0 auto;padding:88px 24px 120px}
.lector-cuerpo .portada{width:100%;border-radius:6px;margin-bottom:32px}
.lector-cuerpo .seo{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14px;background:var(--papel-2);border-radius:8px;padding:16px 20px;margin-bottom:40px}
.lector-cuerpo .seo dt{font-weight:700}.lector-cuerpo .seo dd{margin:0;color:var(--gris)}
.prosa{font-size:18px;line-height:1.7;overflow-wrap:break-word}
.prosa h1{font:400 clamp(36px,5vw,60px)/1.02 var(--serif);margin:0 0 24px}
.prosa h2{font:400 32px/1.1 var(--serif);margin:44px 0 12px}.prosa h3{font:700 20px/1.3 var(--sans);margin:28px 0 8px}
.prosa table{display:block;overflow-x:auto;border-collapse:collapse;font-size:15px}.prosa td,.prosa th{border-bottom:1px solid var(--linea);padding:8px;text-align:left;vertical-align:top}
.prosa a{color:var(--naranja-texto)}

/* Envío y aviso */
.envio{width:min(560px,calc(100vw - 32px));border:0;border-radius:12px;padding:32px;background:var(--papel);color:var(--negro)}
.envio::backdrop{background:rgba(20,20,20,.7)}
.envio h2{font:400 36px/1 var(--serif);margin-bottom:16px}
.envio ul{padding-left:18px;max-height:40vh;overflow:auto}
.envio-acciones{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.envio .boton:hover{background:var(--negro);color:var(--papel)}
.aviso{position:fixed;left:50%;bottom:28px;z-index:60;translate:-50% 20px;opacity:0;background:var(--papel);color:var(--negro);padding:12px 20px;border-radius:999px;font-weight:700;font-size:14px;pointer-events:none;transition:opacity .3s,translate .3s var(--ease)}
.aviso.on{opacity:1;translate:-50% 0}

/* Pantallas pequeñas */
@media (max-width:900px){
  .cabecera{grid-template-columns:auto 1fr auto}
  .menu-boton{grid-column:3;grid-row:1;display:grid;place-items:center;justify-self:end;width:40px;height:40px;border-radius:50%;border:1px solid #fff;background:none;color:#fff}
  .cabecera nav{display:none;position:fixed;inset:0;z-index:-1;background:var(--negro);flex-direction:column;justify-content:center;padding:0 var(--margen);gap:6px}
  .cabecera.menu-abierto nav{display:flex}
  .cabecera.menu-abierto nav a{font:400 clamp(44px,12vw,72px)/1.1 var(--serif)}
  .cabecera-acciones{grid-column:2;grid-row:1;justify-self:end}.cabecera-mov{display:none}
  .inicio-titulo{font-size:15.5vw}.inicio-titulo .l2{padding-left:6vw}.cabecera-envio{white-space:nowrap;padding:0 14px;font-size:13px}.inicio-anillo{width:120vw;top:-20vw;right:-40vw}
  .somos-fantasma{display:none}
  .portada-marco img{clip-path:none!important}
  .extra-cabeza{flex-direction:column;align-items:flex-start}.extra-item{max-width:none}.extra-item .marco{height:auto;width:82vw}
  .lamina img,.lamina video{max-height:calc(62vh - 96px)}
  .inicio-pie{grid-template-columns:1fr}.desliza{text-align:left}
  .indice a{grid-template-columns:48px 1fr}.indice a span:nth-of-type(n+2){display:none}
  .pieza,.pieza:nth-of-type(even){grid-template-columns:1fr;min-height:auto;padding:5vh 0 9vh}
  .pieza:nth-of-type(even) .pieza-medio{order:0}
  .pieza-lienzo{height:auto;width:100%;max-height:78vh}
  .semana-cabeza{flex-direction:column;align-items:flex-start}
  .extra-pista{overflow-x:auto;width:auto;scroll-snap-type:x mandatory}.extra-item{scroll-snap-align:start;width:82vw}
  .juego{position:relative;grid-template-columns:1fr;min-height:auto}
  .blog-lista button{grid-template-columns:64px 1fr}.blog-lista img{display:none}
  .visor{grid-template-columns:1fr;grid-template-rows:62vh auto;overflow:auto}
  .visor.sin-ficha{grid-template-rows:100vh 0}
  .lamina{padding:56px 12px 40px}
  .visor-flecha{width:44px;height:44px}.visor-flecha.izq{left:8px}.visor-flecha.der{right:8px}
  .visor-ficha{padding:24px 20px 40px}
}
.sin-mov *,.sin-mov *::before,.sin-mov *::after{animation:none!important;transition:none!important}.sin-mov .manifiesto-texto .w{opacity:1}

/* ===== CulturaLAB: somos, método, arquetipo, qué hacemos ===== */
/* Somos: frases fantasma que se apartan y foto que se abre en círculo */
.somos{position:relative;background:#2D2D2D;min-height:100vh;overflow:hidden}
.somos-fantasma{position:absolute;inset:0;z-index:0;display:flex;flex-direction:column;justify-content:center;gap:2vh;pointer-events:none}
.somos-fantasma p{margin:0;white-space:nowrap;font:400 clamp(60px,10.5vw,200px)/.92 var(--serif);letter-spacing:-.02em;color:rgba(252,251,248,.06)}
.somos-fantasma .f2{padding-left:18vw}
.somos-escena{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:end;gap:clamp(24px,4vw,72px);padding:0 var(--margen)}
.somos-foto{align-self:end;width:100%;max-height:96vh;object-fit:cover;object-position:left top;-webkit-mask-image:radial-gradient(ellipse 70% 74% at 44% 44%,#000 50%,transparent 100%);mask-image:radial-gradient(ellipse 70% 74% at 44% 44%,#000 50%,transparent 100%)}
.somos-texto{padding-bottom:14vh;max-width:560px}
.somos-texto h2{font:400 clamp(44px,5.6vw,104px)/.95 var(--serif);margin-bottom:28px;color:var(--papel)}
.somos-texto p{color:var(--gris-claro);font-size:17px;margin:0 0 18px}
.somos-texto .lema{font:700 13px/1 var(--sans);color:var(--naranja);margin-top:30px}

/* Método: tres anillos de texto que giran con el scroll */
.metodo{background:var(--papel);color:var(--negro);padding:clamp(100px,16vh,180px) var(--margen)}
.metodo-titulo{font:400 clamp(44px,7vw,132px)/.92 var(--serif);letter-spacing:-.015em;max-width:12ch;margin-bottom:36px}
.metodo-intro{max-width:52ch;color:#4a4a4a;font-size:18px;margin:0 0 clamp(60px,10vh,110px) auto}
.anillos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,3vw,48px)}
.anillos li{position:relative;aspect-ratio:1;display:grid;place-items:center;text-align:center}
.anillos svg{position:absolute;inset:0;width:100%;height:100%;stroke:none}
.anillos text{font:700 15px var(--sans);letter-spacing:.18em;text-transform:uppercase;fill:var(--negro)}
.anillos li:nth-child(1) text{fill:#009E5E}.anillos li:nth-child(2) text{fill:#9B3FD1}.anillos li:nth-child(3) text{fill:var(--naranja-texto)}
.anillos b{font:700 clamp(48px,6vw,104px)/1 var(--sans);letter-spacing:-.05em;display:block}
.anillos li>b,.anillos li>span{grid-area:1/1}.anillos li>b{translate:0 -14px}.anillos li>span{translate:0 40px;font-size:15px;color:var(--gris)}

/* Arquetipo */
.arquetipo{background:#F4F0E8;color:var(--negro);padding:clamp(100px,14vh,160px) var(--margen) 0;overflow:hidden}
.arq-cabeza{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.6fr);align-items:end;gap:24px}
.arq-cabeza h2{font:400 clamp(56px,10vw,190px)/.9 var(--serif);letter-spacing:-.02em;padding-bottom:16vh;position:relative;z-index:1}
.arq-busto{width:100%;max-height:92vh;object-fit:contain;object-position:bottom;mix-blend-mode:multiply;-webkit-mask-image:radial-gradient(70% 80% at 55% 60%,#000 60%,transparent 100%);mask-image:radial-gradient(70% 80% at 55% 60%,#000 60%,transparent 100%)}
.arq-cabeza p{position:absolute;left:0;bottom:6vh;margin:0;max-width:42ch;color:#4a4a4a}
.dualidad{background:#2D2D2D;display:grid;grid-template-columns:1fr 1fr}
.perfil{min-height:100vh;padding:clamp(90px,14vh,160px) var(--margen);display:flex;flex-direction:column;justify-content:space-between;gap:40px;border-right:1px solid #444}
.perfil h3{font:400 clamp(72px,10vw,190px)/.9 var(--serif)}
.perfil-texto{font:400 clamp(20px,1.8vw,28px)/1.3 var(--serif);max-width:24ch;margin:0}
.perfil:nth-child(1) .perfil-texto{color:#33D18F}.perfil:nth-child(2) .perfil-texto{color:var(--naranja)}
.perfil-palabras li{position:relative;overflow:hidden;padding:.06em 0 .16em;margin-bottom:-.1em;display:flex;align-items:center;gap:16px}.perfil-palabras span{display:block}
.perfil-palabras li i{flex:1;height:1px;background:#4a4a4a;transform-origin:left;max-width:180px}
.perfil-linea{display:block;width:100%;height:1px;background:#4a4a4a;transform-origin:left;margin-top:-20px}
.perfil-palabras{list-style:none;margin:0;padding:0;font:400 clamp(30px,3.4vw,58px)/1.06 var(--sans);letter-spacing:-.02em}

/* Qué hacemos: foto fija y lista que corre */
.hacemos{position:relative;background:#F7F4EE;color:var(--negro);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.hac-foto{position:sticky;top:0;height:100vh;overflow:hidden}
.hac-foto img{width:100%;height:100%;object-fit:cover;object-position:top left;mix-blend-mode:multiply}
.hac-lista{padding:clamp(100px,16vh,180px) var(--margen) clamp(80px,12vh,140px) 0}
.hac-lista h2{font:400 clamp(52px,7vw,128px)/.92 var(--serif);letter-spacing:-.02em;margin-bottom:20px}
.hac-lema{font-size:18px;color:var(--gris);margin:0 0 clamp(50px,8vh,90px)}
.servicios{list-style:none;margin:0;padding:0;border-top:1px solid var(--linea);counter-reset:s}
.servicios li{counter-increment:s;display:grid;grid-template-columns:56px 1fr;gap:6px 18px;padding:26px 0;border-bottom:1px solid var(--linea)}
.servicios li::before{content:counter(s,decimal-leading-zero);grid-row:span 2;font:700 14px/2.4 var(--sans);color:var(--naranja-texto)}
.talleres-t{font:700 14px/1 var(--sans);color:var(--naranja-texto);margin:56px 0 18px}
.talleres{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.talleres li{border:1px solid var(--negro);border-radius:999px;padding:10px 18px;font-weight:600}

/* Diferentes: medusa que flota */
.diferentes{position:relative;background:#2D2D2D;min-height:100svh;overflow:hidden;display:grid;place-items:center}
.dif-texto{position:relative;z-index:1;margin:0;max-width:11ch;text-align:center;font:400 clamp(56px,9vw,170px)/.9 var(--serif);letter-spacing:-.02em;mix-blend-mode:difference;color:var(--papel)}
.medusa{position:absolute;left:62%;top:8%;width:clamp(220px,26vw,460px);mix-blend-mode:lighten;-webkit-mask-image:radial-gradient(closest-side,#000 70%,transparent);mask-image:radial-gradient(closest-side,#000 70%,transparent)}

/* Cita */
.cita{background:var(--negro);padding:clamp(100px,16vh,180px) var(--margen);display:grid;grid-template-columns:auto 1fr;gap:clamp(32px,6vw,120px);align-items:center}
.cita-anillo{width:clamp(160px,22vw,340px)}
.cita blockquote{margin:0}
.cita blockquote p{font:400 italic clamp(44px,6.5vw,124px)/.95 var(--serif);margin:0 0 20px}
.cita footer{color:var(--gris-claro);font-size:15px}

@media (max-width:900px){
  .somos-escena{grid-template-columns:1fr;align-items:start;padding-top:90px}
  .somos-foto{max-height:60vh}.somos-texto{padding-bottom:10vh}
  .anillos{grid-template-columns:1fr;max-width:340px;margin:0 auto}
  .arq-cabeza{grid-template-columns:1fr}.arq-cabeza h2{padding-bottom:0}.arq-cabeza p{position:static;margin:20px 0}.arq-busto{max-height:60vh;justify-self:end}
  .dualidad{grid-template-columns:1fr}.perfil{min-height:auto;border-right:0;border-bottom:1px solid #444}
  .hacemos{grid-template-columns:1fr}.hac-foto{position:relative;height:70vh}.hac-lista{padding:60px var(--margen)}
  .cita{grid-template-columns:1fr}
  .medusa{left:50%;translate:-50% 0}
}
.sin-mov .somos-foto{clip-path:none}

/* ===== Ronda 21: más interacción ===== */
/* Grano de película en toda la página: une las fotos texturizadas con los fondos planos */
body::after{content:"";position:fixed;inset:0;z-index:44;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1.6 -.3'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

/* Cursor con etiqueta sobre las piezas */
.cursor{position:fixed;left:0;top:0;z-index:46;pointer-events:none;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:50%;background:var(--naranja);color:var(--negro);display:grid;place-items:center;text-align:center;font:700 13px/1.1 var(--sans);scale:0;transition:scale .4s var(--ease)}
.cursor span{max-width:70px}
.cursor.on{scale:1}
.con-cursor [data-cursor],.con-cursor [data-cursor] *{cursor:none}

/* Brillo mate (tarjeta coleccionable) */
.brillo{position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;mix-blend-mode:soft-light;opacity:calc(var(--go,0) * .7);
  background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.6),rgba(255,255,255,.1) 38%,rgba(0,0,0,.2) 88%),
    linear-gradient(115deg,transparent 38%,rgba(255,255,255,.16) 50%,transparent 62%)}
.pieza-lienzo,.extra-item .marco{transform:perspective(1200px) rotateY(var(--rx,0deg)) rotateX(var(--ry,0deg));box-shadow:0 calc(40px + var(--go,0)*14px) calc(80px + var(--go,0)*30px) -30px rgba(0,0,0,.38)}
.extra-item .marco{position:relative}
.reserva-rejilla img{transform:perspective(900px) rotateY(var(--rx,0deg)) rotateX(var(--ry,0deg))}

/* Clientes → Coldecon: escena horizontal */
.puente{position:relative;overflow:hidden;overflow:clip;background:var(--negro)}
.puente-tren{display:flex;width:200vw;will-change:transform}
.puente .clientes{flex:none;width:100vw;height:100vh;padding:0;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.clientes-dentro{will-change:transform}
.puente .cinta{padding-top:0;margin-bottom:7vh}
.puente .cinta-pista{font-size:clamp(70px,11vw,210px)}
.puente .portada-cliente{flex:none;width:100vw;height:100vh}
.portada-marco{overflow:hidden;will-change:clip-path,transform}
.indice a.fila{position:relative;isolation:isolate;padding:34px 0;transition:padding .6s var(--ease),color .5s}
.fila-fondo{position:absolute;inset:0 calc(-1 * var(--margen));z-index:-1;background:var(--papel);transform:scaleY(0);transform-origin:bottom;transition:transform .7s var(--ease)}
.indice a.fila:hover,.indice a.fila:focus-visible{color:var(--negro);padding-left:28px}
.fila:hover .fila-fondo,.fila:focus-visible .fila-fondo{transform:scaleY(1)}
.fila:hover span,.fila:focus-visible span{color:var(--gris)}
.fila-dato{transition:opacity .4s}
.fila:hover .fila-dato.b,.fila:focus-visible .fila-dato.b{opacity:0}
.fila-vista{position:absolute;right:2%;top:50%;z-index:2;width:min(28vw,420px);aspect-ratio:16/10;border-radius:10px;overflow:hidden;translate:calc(var(--mx,0) * 60px) -50%;clip-path:inset(50% 50% 50% 50% round 10px);transition:clip-path .9s var(--ease),translate .6s var(--ease);box-shadow:0 30px 60px -20px rgba(0,0,0,.45)}
.fila:hover .fila-vista,.fila:focus-visible .fila-vista{clip-path:inset(0 0 0 0 round 10px)}
.fila-vista img{width:100%;height:100%;object-fit:cover;scale:1.35;transition:scale 1.4s var(--ease)}
.fila:hover .fila-vista img{scale:1}
.fila-vista em{position:absolute;left:18px;bottom:16px;display:flex;align-items:center;gap:8px;font:700 15px var(--sans);font-style:normal;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.6)}
.fila-vista em svg{width:18px;height:18px}

/* Semanas: escena fijada con piezas que pasan de lado */
.semana-cabeza p.semana-guia{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:700;color:var(--gris);max-width:none}
.semana-guia i{display:block;width:120px;height:2px;background:var(--naranja);transform:scaleX(0);transform-origin:left}
.pieza-n{font:700 clamp(40px,4vw,72px)/1 var(--sans);letter-spacing:-.05em;margin:0 0 14px;color:var(--naranja)}
.pieza-n small{font-size:.38em;color:var(--gris);letter-spacing:0;margin-left:4px}
@media (min-width:901px){
  .semana{height:100vh;padding:clamp(84px,11vh,120px) 0 4vh;display:flex;flex-direction:column;overflow:hidden;overflow:clip}
  .semana-num{position:absolute;inset:0;height:auto}
  .semana-cabeza{padding:0 var(--margen);margin-bottom:3vh;align-items:flex-end}
  .semana-cabeza h2{font-size:clamp(44px,5vw,96px)}
  .semana-tren{flex:1;min-height:0;display:flex;align-items:center;gap:13vw;width:max-content;padding:0 30vw 0 calc(var(--margen) + 4vw);will-change:transform}
  .pieza,.pieza:nth-of-type(even){flex:none;grid-template-columns:auto minmax(0,380px);gap:clamp(28px,3.4vw,56px);min-height:0;padding:0}
  .pieza:nth-of-type(even) .pieza-medio{order:0}
  .pieza-medio{will-change:transform}
  .pieza-info{z-index:2}
  .pieza-lienzo{height:min(64vh,740px)}
  .pieza-titulo{font-size:clamp(32px,3.1vw,58px)}
  .pieza-copy{font-size:16px}
}

/* Visor: la manito arrastra las láminas; doble clic amplía */
.visor-pista{display:block;overflow:hidden;touch-action:pan-y;scroll-snap-type:none;user-select:none;-webkit-user-select:none}
.visor-pista.varias{cursor:grab}
.visor-pista.ampliada{touch-action:none}
.visor-pista.arrastrando,.visor-pista.arrastrando *{cursor:grabbing!important}
.visor-tren{display:flex;height:100%;will-change:transform}
.lamina{perspective:1500px;scroll-snap-align:none}
.tarjeta{position:relative;max-width:100%;max-height:100%;border-radius:6px;overflow:hidden;transform:rotateY(var(--rx,0deg)) rotateX(var(--ry,0deg));box-shadow:0 calc(30px + var(--go,0)*24px) calc(70px + var(--go,0)*40px) -24px rgba(0,0,0,.75);transition:scale .8s var(--ease),opacity .8s}
.lamina:not(.activa) .tarjeta{scale:.94;opacity:.35}
.lamina img,.lamina video{cursor:inherit;border-radius:0}
.lamina img{transition:transform .55s var(--ease)}
.lamina.zoom,.lamina.zoom img{cursor:grab}
.visor-pista.arrastrando .lamina.zoom img{transition:none}
.lamina.es-video .tarjeta{cursor:default}

/* Qué hacemos: al pasar el mouse cada servicio se abre */
.servicios li{position:relative;isolation:isolate;cursor:default;outline-offset:-2px;transition:padding .6s var(--ease),color .5s}
.servicios li::after{content:"";position:absolute;inset:0 calc(-1 * var(--margen)) 0 -24px;z-index:-1;background:var(--negro);transform:scaleY(0);transform-origin:bottom;transition:transform .6s var(--ease)}
.servicios b{font:400 clamp(30px,3.4vw,58px)/1.05 var(--serif);transition:translate .6s var(--ease)}
.servicios span{color:#555;max-width:46ch;max-height:0;opacity:0;overflow:hidden;translate:0 12px;transition:max-height .7s var(--ease),opacity .5s,translate .7s var(--ease),color .5s}
.servicios li:hover,.servicios li:focus-visible{color:var(--papel);padding-left:20px}
.servicios li:hover::after,.servicios li:focus-visible::after{transform:scaleY(1)}
.servicios li:hover b,.servicios li:focus-visible b{translate:10px 0}
.servicios li:hover span,.servicios li:focus-visible span{max-height:6em;opacity:1;translate:0 0;color:var(--gris-claro)}
.servicios li:hover::before,.servicios li:focus-visible::before{color:var(--naranja)}
@media (hover:none){.servicios span{max-height:none;opacity:1;translate:0 0}}

/* Anuncios: paneles que se apilan y tira horizontal con la manito */
.juego{grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr);transform-origin:center top}
@media (min-width:901px){.juego{top:calc(var(--i,0) * 34px);min-height:calc(100vh - var(--i,0) * 34px);border-radius:28px 28px 0 0;border-top:0;padding-left:clamp(20px,3vw,48px);padding-right:clamp(20px,3vw,48px);box-shadow:0 -30px 60px -30px rgba(0,0,0,.7)}.juego:nth-child(2){background:#303030}.juego:nth-child(3){background:#363636}}
.juego-n{font:700 13px var(--sans)!important;color:var(--naranja)!important;margin-bottom:16px!important}
.juego-lado{min-width:0}
.juego-medios{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;cursor:grab;scroll-snap-type:x proximity;padding:4px 2px 6px}
.juego-medios::-webkit-scrollbar{display:none}
.juego-medios.arrastrando{cursor:grabbing;scroll-snap-type:none}
.juego-medios button{flex:none;display:grid;gap:10px;scroll-snap-align:start;cursor:inherit;color:var(--gris-claro);text-align:left;overflow:visible}
.juego-medios img{width:auto;height:min(62vh,620px);max-height:none;aspect-ratio:var(--r);object-fit:cover;border-radius:6px;transition:scale .8s var(--ease)}
.juego-medios button:hover img{scale:1.02}
.juego-medios small{font-size:13px;font-weight:600}
.tira-flechas{display:flex;gap:8px;margin-top:18px}
.e-estado{font-size:14px;color:var(--gris)}

@media (max-width:900px){
  body::after{opacity:.06}
  .puente-tren{flex-direction:column;width:auto}
  .puente .clientes{width:auto;height:auto;padding:0 0 clamp(60px,10vh,100px)}
  .puente .cinta{padding-top:clamp(50px,8vh,90px)}
  .puente .portada-cliente{width:auto;height:100svh}
  .fila-vista{display:none}
  .semana{padding:clamp(70px,10vh,110px) 0 30px}
  .semana-cabeza{padding:0 var(--margen);margin-bottom:28px}
  .semana-guia{display:none!important}
  .semana-tren{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--margen) 24px;scrollbar-width:none}
  .semana-tren::-webkit-scrollbar{display:none}
  .pieza,.pieza:nth-of-type(even){flex:none;width:84vw;scroll-snap-align:center;scroll-snap-stop:always;padding:0}
  .juego{grid-template-columns:1fr}
  .juego-medios img{height:52vh}
}
.sin-mov .servicios span{max-height:none;opacity:1;translate:0 0}

/* Sin animación (movimiento reducido o sin GSAP): todo se recorre con scroll nativo */
.sin-mov .semana{height:auto;display:block;overflow:visible}
.sin-mov .semana-tren{display:flex;gap:40px;width:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--margen) 40px}
.sin-mov .pieza{scroll-snap-align:start}
.sin-mov .semana-guia{display:none!important}
.sin-mov .puente-tren{flex-direction:column;width:auto}
.sin-mov .puente .clientes,.sin-mov .puente .portada-cliente{width:auto}
.sin-mov .extra-pista{width:auto;overflow-x:auto;scroll-snap-type:x mandatory}
.sin-mov .extra-item{scroll-snap-align:start}

/* Aviso de movimiento reducido y botón de animaciones */
.mov-aviso{position:fixed;left:16px;bottom:16px;z-index:47;display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:min(520px,calc(100vw - 32px));padding:12px 14px 12px 18px;border-radius:16px;background:var(--papel);color:var(--negro);font-size:14px;box-shadow:0 20px 50px -20px rgba(0,0,0,.6)}
.mov-aviso p{margin:0;flex:1 1 220px}
.mov-aviso .boton{min-height:40px;padding:0 16px;font-size:14px}
.mov-aviso .boton:hover{background:var(--negro);color:var(--papel)}
.cabecera-mov{border:0;background:none;color:inherit;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px;padding:0 4px;min-height:40px}
.cabecera-mov:hover{opacity:1}

/* ===== Ronda 22 ===== */
/* Logo animado (acceso) */
.logo-anim{width:min(260px,70vw);height:auto;display:block;overflow:visible}
.logo-anim path{transform-box:fill-box;transform-origin:50% 100%;animation:logo-sube 1s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i) * 70ms + 200ms)}
.logo-anim #lab path{transform-origin:50% 50%;animation-name:logo-pop;animation-duration:1.1s;animation-delay:calc(var(--i) * 90ms + 500ms)}
@keyframes logo-sube{from{opacity:0;transform:translateY(60%) rotate(8deg)}to{opacity:1;transform:none}}
@keyframes logo-pop{0%{opacity:0;transform:scale(0) rotate(-30deg)}60%{opacity:1;transform:scale(1.18) rotate(4deg)}100%{transform:none}}
.acceso-caja .logo-anim{margin-bottom:8px}

/* Hamburguesa y menú lateral */
.hamburguesa{display:grid;place-content:center;gap:5px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:none;color:#fff;padding:0}
.hamburguesa i{display:block;width:18px;height:1.6px;background:currentColor;border-radius:2px;transition:width .4s var(--ease)}
.hamburguesa i:nth-child(2){width:12px;justify-self:end}
.hamburguesa:hover i:nth-child(2){width:18px}
.cajon{position:fixed;inset:0;z-index:48}
.cajon-fondo{position:absolute;inset:0;background:rgba(15,15,15,.55);backdrop-filter:blur(6px)}
.cajon-panel{position:absolute;right:0;top:0;bottom:0;width:min(560px,100vw);background:var(--papel);color:var(--negro);overflow:auto;overscroll-behavior:contain;padding:84px clamp(24px,4vw,48px) 48px;box-shadow:-40px 0 80px -40px rgba(0,0,0,.6)}
.cajon-cerrar{position:absolute;right:20px;top:18px;background:var(--negro)}
.cajon-sup{font:700 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--naranja-texto);margin:0 0 14px}
.cajon-panel h2{font:400 clamp(40px,5vw,64px)/.95 var(--serif);margin:0 0 20px}
.cajon-panel h3{font:700 13px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--gris);margin:34px 0 12px}
.cajon-nav{display:flex;flex-direction:column;border-top:1px solid var(--linea);margin-bottom:34px}
.cajon-nav a{font:400 clamp(28px,3.4vw,40px)/1.15 var(--serif);text-decoration:none;padding:10px 0;border-bottom:1px solid var(--linea);transition:padding .5s var(--ease),color .3s}
.cajon-nav a:hover{padding-left:14px;color:var(--naranja-texto)}
.cajon-nav-chica a{font-size:22px;padding:8px 0}
.cajon-cliente{display:grid;gap:4px;padding:18px 20px;border-radius:14px;background:var(--negro);color:var(--papel);text-decoration:none;transition:background .3s}
.cajon-cliente span{font:400 28px/1.05 var(--serif)}.cajon-cliente small{color:var(--gris-claro)}
.cajon-cliente:hover{background:var(--naranja);color:var(--negro)}.cajon-cliente:hover small{color:var(--negro)}
.cajon-pie{margin-top:40px;font-size:14px;color:var(--gris);line-height:1.7}
.brief-razon{font-size:14px;color:var(--gris);margin:0 0 18px}
.brief-resumen{font:400 21px/1.35 var(--serif);margin:0 0 24px}
.brief-cifras{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--linea);border:1px solid var(--linea);border-radius:12px;overflow:hidden}
.brief-cifras li{background:var(--papel);padding:16px}
.brief-cifras b{display:block;font:700 clamp(28px,3vw,38px)/1 var(--sans);letter-spacing:-.04em;color:#122955}
.brief-cifras span{font-size:13px;color:var(--gris)}
.brief-nota{font-size:13px;color:var(--gris);margin:0}
.brief-proyectos{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.brief-proyectos li{border-left:4px solid var(--c);background:var(--papel-2);border-radius:0 10px 10px 0;padding:14px 16px}
.brief-proyectos b{font:400 24px/1.1 var(--serif)}.brief-proyectos small{display:block;font-weight:700;font-size:12px;color:var(--c);margin:2px 0 6px}
.brief-proyectos p{margin:0;font-size:15px}
.brief-lista{margin:0;padding-left:18px}.brief-lista li{margin:4px 0}

/* Telón entre páginas */
.telon{position:fixed;inset:0;z-index:80;background:var(--naranja);pointer-events:none;clip-path:inset(100% 0 0 0)}

/* Cabecera de la sesión */
.cabecera-sesion-t{margin:0;font-size:14px;color:#fff;justify-self:center}
.cabecera-sesion-t b{font:400 20px var(--serif);margin-right:6px}
.cabecera-acciones .cabecera-envio{text-decoration:none;display:inline-flex;align-items:center}
.portada-sesion{height:100svh}
.portada-sesion .portada-marco img{clip-path:none}
.portada-entrar{pointer-events:auto;align-self:flex-start;margin-top:-10px}
.portada-entrar svg{width:18px;height:18px}

/* Visor: láminas del mismo tamaño y modo «mover» */
.lamina{container-type:size}
.tarjeta{width:min(100cqw,calc(100cqh * var(--rn,.8)));aspect-ratio:var(--rn,.8);height:auto}
.tarjeta>img,.tarjeta>video{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;display:block}
.visor-pista.moviendo{cursor:grab}
#v-mover.on{background:var(--naranja);border-color:var(--naranja);color:var(--negro)}
.descargas-lista{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.descargas-lista .boton{min-height:42px;padding:0 18px;font-size:14px;text-decoration:none}
.descarga{display:grid;gap:2px;padding:8px 12px;border:1px solid var(--linea);border-radius:10px;text-decoration:none;font-size:13px;transition:border-color .3s,background .3s}
.descarga b{font-weight:700}.descarga small{color:var(--gris);font-size:11px}
.descarga:hover{border-color:var(--negro);background:#fff}
.descargas-nota{font-size:12px!important;color:var(--gris);margin-top:8px!important}

/* Talleres: tarjeta que se lanza */
.talleres button{border:1px solid var(--negro);border-radius:999px;padding:10px 18px;font-weight:600;background:none;transition:background .3s,color .3s}
.talleres button:hover{background:var(--negro);color:var(--papel)}
.talleres li{border:0;padding:0}
.talleres-nota{font-size:13px;color:var(--gris);margin:12px 0 0}
.taller-pop{position:fixed;inset:0;z-index:49;display:grid;place-items:center;padding:20px}
.taller-fondo{position:absolute;inset:0;background:rgba(15,15,15,.6);backdrop-filter:blur(8px)}
.taller-tarjeta{position:relative;width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--papel);color:var(--negro);border-radius:22px;padding:44px 36px 28px;box-shadow:0 50px 100px -30px rgba(0,0,0,.7);cursor:grab;touch-action:none;user-select:none}
.taller-tarjeta.arrastrando{cursor:grabbing}
.taller-agarre{position:absolute;top:12px;left:50%;translate:-50% 0;width:44px;height:4px;border-radius:4px;background:var(--linea)}
.taller-cerrar{position:absolute;right:14px;top:14px;background:var(--negro)}
.taller-n{font:700 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--naranja-texto);margin:0 0 10px}
.taller-tarjeta h2{font:400 clamp(36px,5vw,52px)/.98 var(--serif);margin:0 0 18px}
.taller-d{font-size:17px;line-height:1.55;margin:0 0 20px}
.taller-tarjeta dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14px;margin:0 0 24px}
.taller-tarjeta dt{font-weight:700}.taller-tarjeta dd{margin:0;color:#4a4a4a}
.taller-tarjeta .boton{text-decoration:none}
.taller-ayuda{font-size:12px;color:var(--gris);margin:18px 0 0;text-align:center}

/* Descargas de marca */
.recursos{background:var(--papel);color:var(--negro);padding:clamp(80px,12vh,140px) var(--margen)}
.recursos .rotulo{color:var(--negro);margin:0}
.recursos-cabeza{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(40px,7vh,80px)}
.recursos-cabeza p{margin:0;max-width:40ch;color:var(--gris)}
.recursos-lista{display:grid;gap:22px}
.recurso{border:1px solid var(--linea);border-radius:20px;overflow:hidden;background:#fff}
.recurso header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 24px;border-top:6px solid var(--c)}
.recurso h3{font:400 clamp(30px,3vw,44px)/1 var(--serif)}
.recurso-acciones{display:flex;flex-wrap:wrap;gap:8px}
.recurso-acciones .boton{min-height:42px;padding:0 18px;font-size:14px;text-decoration:none}
.recurso-acciones .boton:hover{background:var(--negro);color:var(--papel);border-color:var(--negro)}
.boton-sutil-borde{border-color:var(--linea)}
.recurso-logos{list-style:none;margin:0;padding:0 24px 24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.recurso-logos li{display:grid;gap:8px}
.recurso-vista{display:block;height:150px;border-radius:12px;background:var(--papel-2);padding:24px;overflow:hidden}
.recurso-logos li.oscuro .recurso-vista{background:var(--c)}
.recurso-vista img{width:100%;height:100%;object-fit:contain}
.recurso-logos li{min-width:0}
.recurso-logos b{font-size:14px}
.recurso-formatos{display:flex;gap:6px}
.recurso-formatos a{font-size:12px;font-weight:700;text-decoration:none;border:1px solid var(--linea);border-radius:999px;padding:6px 12px}
.recurso-formatos a:hover{background:var(--negro);color:var(--papel);border-color:var(--negro)}

@media (max-width:900px){
  .cabecera-sesion-t{display:none}
  .cabecera nav{display:none}
  .hamburguesa{width:40px;height:40px}
  .recursos-cabeza{flex-direction:column;align-items:flex-start}
  .juego{top:0}
}
.sin-mov .logo-anim path{animation:none}

@media (min-width:901px){
  .perfil{min-height:100vh;padding:clamp(80px,11vh,120px) var(--margen) 6vh;gap:22px;justify-content:flex-start}
  .perfil h3{font-size:clamp(64px,7.4vw,140px)}
  .perfil-palabras{font-size:clamp(24px,2.5vw,42px);margin-top:auto}
}

html{overflow-x:clip}
.somos-foto{-webkit-mask-image:radial-gradient(closest-side,#000 58%,transparent 100%);mask-image:radial-gradient(closest-side,#000 58%,transparent 100%)}
.arq-busto{-webkit-mask-image:radial-gradient(closest-side,#000 62%,transparent 100%);mask-image:radial-gradient(closest-side,#000 62%,transparent 100%)}
.sin-mov .semana-tren{scroll-snap-type:x proximity}
.pieza-n{color:var(--naranja-texto)}
.juego-n{color:#FF7A3D!important}
.cabecera nav a{padding-block:8px}
.mov-aviso{left:50%;translate:-50% 0;bottom:12px;padding:10px 12px 10px 16px;font-size:13px}
.mov-aviso .boton{min-height:36px}
.btn-mov-cajon{margin-top:28px;min-height:42px;font-size:14px}
.saltar{position:fixed;left:12px;top:-60px;z-index:90;background:var(--papel);color:var(--negro);padding:10px 16px;border-radius:999px;font-weight:700;text-decoration:none}
.saltar:focus{top:12px}
.descarga b::after{content:" "}
@media (max-width:900px){body::after{display:none}}

/* ===== Ronda 23 ===== */
/* Escala tipográfica única: todos los titulares serif iguales, todos los párrafos iguales */
:root{--t-titulo:clamp(48px,6.2vw,112px);--t-entrada:clamp(24px,2.3vw,38px);--t-parrafo:clamp(16px,1.12vw,18px)}
.rotulo,.somos-texto h2,.metodo-titulo,.arq-cabeza h2,.perfil h3,.hac-lista h2,.dif-texto,.cita blockquote p,.manifiesto-titulo,.semana-cabeza h2,.recursos .rotulo{font-size:var(--t-titulo)!important;line-height:.95!important;letter-spacing:-.02em}
.somos-texto p,.metodo-intro,.arq-cabeza p,.hac-lema,.servicios span,.extra-cabeza p,.semana-cabeza p,.recursos-cabeza p,.juego p,.pieza-copy,.cita footer{font-size:var(--t-parrafo)!important;line-height:1.6}
.perfil-texto,.manifiesto-texto{font-size:var(--t-entrada)!important;line-height:1.25!important}
/* Ningún titular más ancho que su columna */
.metodo-titulo,.arq-cabeza h2,.hac-lista h2,.somos-texto h2{max-width:13ch}
.dif-texto{max-width:12ch}
h1,h2,h3,p{overflow-wrap:normal;hyphens:manual}

/* Inicio: el lema se lee */
.inicio-pie p:first-child{font-size:clamp(18px,1.5vw,24px);color:var(--papel);font-weight:600;max-width:30ch;line-height:1.3}

/* Somos y arquetipo: bordes difuminados sin recortar la foto */
.somos-foto{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 14%,#000 78%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 12%,#000 84%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 14%,#000 78%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 12%,#000 84%,transparent 100%);mask-composite:intersect}
.arq-busto{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 16%,#000 84%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 10%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 16%,#000 84%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 10%);mask-composite:intersect}
.medusa{width:clamp(260px,30vw,520px);-webkit-mask-image:radial-gradient(ellipse 70% 72% at 50% 45%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 70% 72% at 50% 45%,#000 55%,transparent 100%)}

/* Método: la descripción va pegada al titular; números grandes y etiquetas con cuerpo */
.metodo-intro{margin:0 0 clamp(60px,10vh,110px)!important;max-width:48ch;color:#3f3f3f}
.anillos b{font-size:clamp(64px,8vw,140px)!important;translate:0 -22px!important}
.anillos li>span{translate:0 52px!important;font:700 clamp(13px,1vw,16px)/1 var(--sans)!important;letter-spacing:.16em;text-transform:uppercase;color:var(--negro)!important}

/* Sabio y Mago: el texto llena su mitad */
.perfil-texto{max-width:20ch!important}

/* Qué hacemos: el relleno es naranja para que el puntero no se pierda */
.servicios li::after{background:var(--naranja)!important}
.servicios li:hover,.servicios li:focus-visible{color:var(--negro)!important}
.servicios li:hover span,.servicios li:focus-visible span{color:var(--negro)!important}
.servicios li:hover::before,.servicios li:focus-visible::before{color:var(--negro)!important}

/* «Entendemos…» se escribe */
.caret{display:inline-block;width:.06em;height:.82em;background:var(--naranja);margin-left:.04em;vertical-align:-.06em;animation:parpadeo 1s steps(1) infinite}
@keyframes parpadeo{50%{opacity:0}}

/* Manifiesto: centrado en el bloque claro */
.manifiesto{min-height:100vh;display:grid;place-items:center;text-align:center}
.manifiesto-caja{max-width:min(1100px,100%);margin:0 auto}
.manifiesto-sup{font:700 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--naranja-texto);margin:0 0 28px}
.manifiesto-titulo{font-family:var(--serif);font-weight:400;margin:0 auto 32px;max-width:16ch}
.manifiesto-texto{max-width:34ch!important;margin:0 auto!important;font-family:var(--serif)}

/* Pie: los enlaces quedan encima de la palabra gigante y se ven como botones */
.pie-datos{position:relative;z-index:2;align-items:center}
.pie-marca{pointer-events:none}
.pie-datos a{position:relative;padding:6px 0}
.pie-datos a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.pie-datos a:hover::after,.pie-datos a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.pie-volver{display:inline-flex;align-items:center;gap:8px;padding:12px 22px!important;border-radius:999px;background:var(--negro);color:var(--papel);transition:background .3s,color .3s,translate .4s var(--ease)}
.pie-volver::after{display:none}
.pie-volver:hover,.pie-volver:focus-visible{background:var(--papel);color:var(--negro);translate:-4px 0}

/* Sin destello al entrar: el acceso no se pinta si ya hay nombre, y el telón cubre desde el primer cuadro */
.ya-dentro #acceso{display:none}
.ya-dentro body.cerrado{overflow:auto}
.con-telon #telon{clip-path:inset(0 0 0 0)}

/* Biblioteca de marca */
.recursos{padding-bottom:clamp(90px,14vh,160px)}
.biblio-filtros{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 clamp(40px,6vh,64px)}
.biblio-filtros button{min-height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--linea);background:none;font-weight:700;font-size:14px;transition:background .3s,color .3s,border-color .3s}
.biblio-filtros button[aria-pressed="true"]{background:var(--negro);color:var(--papel);border-color:var(--negro)}
.estante{position:relative;display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:clamp(20px,3vw,44px);align-items:end;margin-bottom:clamp(56px,9vh,96px)}
.estante-lomo{position:relative;display:grid;align-content:space-between;gap:22px;min-height:420px;padding:26px 24px;border-radius:18px;background:var(--c);color:#fff;overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.5)}
.estante-lomo::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.14),transparent 45%);pointer-events:none}
.lomo-n{font:700 14px var(--sans);opacity:.7}
.estante-lomo img{width:100%;max-height:90px;object-fit:contain;object-position:left center}
.estante-lomo h3{font:400 clamp(30px,2.6vw,42px)/1 var(--serif);margin:0 0 8px}
.estante-lomo p{margin:0;font-size:14px;opacity:.85}
.lomo-zip{border-color:rgba(255,255,255,.6);color:#fff;text-decoration:none;justify-self:start;gap:8px}
.lomo-zip small{font-weight:600;opacity:.75}
.lomo-zip:hover{background:#fff;color:var(--c);border-color:#fff}
.estante-fila{display:flex;gap:18px;overflow-x:auto;padding:16px 4px 22px;scrollbar-width:none;cursor:grab;scroll-snap-type:x proximity}
.estante-fila::-webkit-scrollbar{display:none}
.estante-fila.arrastrando{cursor:grabbing;scroll-snap-type:none}
.estante-repisa{position:absolute;left:0;right:0;bottom:-8px;height:10px;border-radius:6px;background:linear-gradient(var(--linea),transparent);pointer-events:none}
.libro{flex:none;width:clamp(180px,15vw,230px);scroll-snap-align:start;transition:translate .5s var(--ease)}
.libro:hover{translate:0 -10px}
.libro-tapa{position:relative;aspect-ratio:3/4;border-radius:10px;overflow:hidden;display:grid;place-items:center;background:var(--papel-2);box-shadow:0 18px 34px -18px rgba(0,0,0,.45);transition:box-shadow .5s var(--ease)}
.libro:hover .libro-tapa{box-shadow:0 30px 50px -20px rgba(0,0,0,.5)}
.libro-tapa.oscuro{background:var(--c)}
.libro-tapa.claro img{padding:22%}
.libro-tapa.oscuro img{padding:22%}
.libro-tapa img{width:100%;height:100%;object-fit:contain}
.libro-tapa.papel{background:#fff}.libro-tapa.papel img{object-fit:cover;object-position:top}
.libro-tipo{position:absolute;left:10px;top:10px;font:700 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:999px;background:rgba(28,28,28,.82);color:#fff}
.libro h4{font:400 19px/1.15 var(--serif);margin:14px 0 8px}
.libro-formatos{display:flex;flex-wrap:wrap;gap:6px}
.libro-formatos a{font-size:12px;text-decoration:none;border:1px solid var(--linea);border-radius:999px;padding:6px 11px;transition:background .3s,color .3s,border-color .3s}
.libro-formatos a b{font-weight:700;margin-right:2px}
.libro-formatos a:hover,.libro-formatos a:focus-visible{background:var(--negro);color:var(--papel);border-color:var(--negro)}
@media (max-width:900px){
  .estante{grid-template-columns:1fr}
  .estante-lomo{min-height:0;grid-template-columns:1fr;gap:14px}
  .libro{width:62vw}
  .manifiesto{min-height:80vh}
  .anillos li>span{translate:0 44px!important}
}
@media (min-width:901px){.medusa{left:66%;top:6%}.dif-texto{translate:-6vw 0}}
.lomo-zip{white-space:nowrap;font-size:13px;padding:0 16px}
/* Ronda 23 · ajustes de la auditoría */
:root{--t-sub:clamp(28px,2.6vw,44px);--t-item:clamp(18px,1.4vw,22px);--t-meta:13px}
.juego h3,.pieza-titulo,.blog-lista b,.estante-lomo h3,.indice b{font-size:var(--t-sub)!important;line-height:1.05!important}
.extra-item b,.reserva-rejilla b,.libro h4{font-size:var(--t-item)!important}
#v-texto,.visor-ficha .bloque p{font-size:var(--t-parrafo)!important}
.pieza-fecha,.pieza-tags,.talleres-nota,.estante-lomo p,.portada-sup,.portada-inf{font-size:var(--t-meta)!important}
.portada-sup,.portada-inf{font-size:15px!important}
.portada-titulo:focus{outline:none}
.libro-tapa.papel img{object-position:left top}
.estante-fila{-webkit-mask-image:linear-gradient(90deg,#000 86%,transparent);mask-image:linear-gradient(90deg,#000 86%,transparent);padding-right:12%}
.estante .tira-flechas{grid-column:2;margin-top:4px}
.semana-num span{color:rgba(42,42,42,.035)}
.pie-marca{font-size:min(21vw,310px)}
.dif-texto{translate:none!important;max-width:none;width:min(12.5ch,100%)}
.cabecera-logo{width:max-content}
.semana-cabeza,.extra-cabeza,.recursos-cabeza{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,44ch);column-gap:var(--margen);align-items:end}
.semana-cabeza .semana-guia{grid-column:2}
.visor-ficha .decision{border-top:0;padding-top:0;margin-bottom:18px}
@media (max-width:900px){
  .semana-cabeza,.extra-cabeza,.recursos-cabeza{grid-template-columns:1fr}
  .visor-ayuda{white-space:normal;text-align:center}
  .portada-titulo span:last-child{font-size:.32em;display:block;text-shadow:0 2px 20px rgba(0,0,0,.6)}
  .estante .tira-flechas{grid-column:1}
}

/* ===== Ronda 24 ===== */
:root{--naranja-texto:#FF5500;--degradado:linear-gradient(90deg,#D4155A,#FF5500 55%,#FF8309);--morado:#B26BEA}
.somos-foto,.arq-busto,.medusa{height:auto}
/* Un solo naranja de CulturaLAB en todos los acentos */
.juego-n{color:var(--naranja)!important}
.pieza-n,.servicios li::before,.talleres-t,.cajon-sup,.manifiesto-sup,.taller-n,.blog-lista .n,.sello{color:var(--naranja)}
/* Sabio en morado, Mago en naranja; descripciones al mismo tamaño */
.perfil:nth-child(1) .perfil-texto{color:var(--morado)!important}
.perfil:nth-child(2) .perfil-texto{color:var(--naranja)!important}
:root{--t-entrada:clamp(28px,2.7vw,44px)}
.perfil-texto{font-size:var(--t-entrada)!important;max-width:18ch!important}

/* Precarga con el degradado de la marca */
.carga{position:fixed;inset:0;z-index:85;display:none;place-items:center;background:var(--negro);color:var(--papel)}
.cargando .carga{display:grid}
.carga-caja{display:grid;gap:22px;justify-items:start;width:min(320px,70vw)}
.carga-logo{width:100%}
.carga-barra{width:100%;height:8px;border-radius:8px;background:rgba(252,251,248,.12);overflow:hidden}
.carga-barra i{display:block;height:100%;background:var(--degradado);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.carga-n{margin:0;font:700 13px/1 var(--sans);letter-spacing:.08em;color:var(--gris-claro);font-variant-numeric:tabular-nums}
.logo-anim .lg-cultura path{transform-box:fill-box;transform-origin:50% 100%;animation:logo-sube 1s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i) * 60ms + 100ms)}
.logo-anim .lg-lab path{transform-box:fill-box;transform-origin:50% 50%;animation:logo-pop 1.1s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i) * 80ms + 350ms)}
.cargando body{overflow:hidden}

/* Barra de avance de la página */
.progreso{position:fixed;left:0;right:0;top:0;height:4px;z-index:30;pointer-events:none}
.progreso i{display:block;height:100%;background:var(--degradado);transform:scaleX(0);transform-origin:left}

/* Barra «Sigue bajando» de cada semana: más gruesa y con degradado */
.semana-guia i{width:200px!important;height:8px!important;border-radius:8px;background:var(--degradado)!important;box-shadow:inset 0 0 0 0 transparent}
.semana-guia{position:relative}
.semana-guia::after{content:"";position:absolute;right:0;bottom:calc(50% - 4px);width:200px;height:8px;border-radius:8px;background:rgba(42,42,42,.1);z-index:-1}

/* Talleres: título visible, explicación y botones con puntero visible */
.talleres-t{font:700 clamp(28px,2.4vw,40px)/1.05 var(--sans)!important;letter-spacing:-.02em;margin:64px 0 12px!important}
.talleres-intro{font-size:var(--t-parrafo);color:#4a4a4a;max-width:48ch;margin:0 0 22px}
.talleres button{cursor:pointer}
.talleres button:hover,.talleres button:focus-visible{background:var(--naranja)!important;border-color:var(--naranja)!important;color:var(--negro)!important}

/* Cita centrada en el bloque negro */
.cita{grid-template-columns:1fr!important;justify-items:center;text-align:center;gap:40px!important}
.cita blockquote{max-width:18ch}

/* Pie: volver arriba y salir */
.pie-arriba{border:0;font:inherit;font-weight:600;cursor:pointer}
.pie-ir{background:var(--papel)!important;color:var(--negro)!important}
.pie-ir:hover{background:var(--negro)!important;color:var(--papel)!important}

/* Banda cinética */
.cinetica{background:var(--papel);padding:clamp(40px,7vh,80px) 0;overflow:hidden;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.cin{display:flex;gap:.35em;white-space:nowrap;margin:0;font:700 clamp(64px,10vw,180px)/.95 var(--sans);letter-spacing:-.05em;text-transform:lowercase;will-change:transform}
.cin span:nth-child(3n+1){color:#009E5E}.cin span:nth-child(3n+2){color:#9B3FD1}.cin span:nth-child(3n){color:var(--naranja)}
.cin-b span{color:transparent!important;-webkit-text-stroke:1.5px var(--negro)}

/* Coldecon en cifras: bloques con fuerza */
.cifras{background:var(--papel);color:var(--negro);padding:clamp(90px,13vh,150px) var(--margen)}
.cifras-cabeza{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,44ch);column-gap:var(--margen);align-items:end;margin-bottom:clamp(40px,7vh,72px)}
.cifras-cabeza .rotulo{margin:0;color:var(--negro)}
.cifras-cabeza p{margin:0;color:#4a4a4a;font-size:var(--t-parrafo)}
.cifras-rejilla{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(220px,auto);gap:14px}
.cifra{border-radius:20px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--linea)}
.cifra b{font:700 clamp(54px,6.4vw,118px)/.9 var(--sans);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.cifra span{font-size:15px;font-weight:600;max-width:20ch}
.cifra.c1{grid-column:span 2;grid-row:span 2;background:var(--degradado);color:#fff;border:0}
.cifra.c1 b{font-size:clamp(120px,15vw,260px)}
.cifra.c2{grid-column:span 2;background:var(--negro);color:var(--papel);border:0}
.cifra.c5{grid-column:span 2;background:var(--papel-2)}
.cifra.c5 span{font:400 var(--t-entrada)/1.2 var(--serif);max-width:none}

/* Animación suave: mismas reglas de recorrido que sin movimiento */
.mov-suave .semana{height:auto;display:block;overflow:visible}
.mov-suave .semana-tren{display:flex;gap:40px;width:auto;overflow-x:auto;scroll-snap-type:x proximity;padding:0 var(--margen) 40px}
.mov-suave .pieza{scroll-snap-align:start}
.mov-suave .semana-guia{display:none!important}
.mov-suave .puente-tren{flex-direction:column;width:auto}
.mov-suave .puente .clientes,.mov-suave .puente .portada-cliente{width:auto}
.mov-suave .extra-pista{width:auto;overflow-x:auto;scroll-snap-type:x mandatory}
.mov-suave .extra-item{scroll-snap-align:start}
.mov-suave .somos-fantasma{display:none}

@media (max-width:900px){
  .cifras-cabeza{grid-template-columns:1fr;row-gap:16px}
  .cifras-rejilla{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(160px,auto)}
  .cifra.c1,.cifra.c2,.cifra.c5{grid-column:span 2}
  .cifra.c1{grid-row:span 1}
  .cin{font-size:18vw}
}

.cita blockquote{max-width:none}
.cita blockquote p{max-width:13ch;margin-inline:auto}
/* Ronda 24 · auditoría */
.desplazando .servicios li{pointer-events:none}
.cifras-rejilla{grid-template-columns:repeat(4,minmax(0,1fr))}
.cifra{min-width:0}
.cifra.c5{grid-column:3 / span 2}
.carga-caja{justify-items:center;text-align:center}
.mov-aviso{left:16px!important;right:16px;margin-inline:auto;width:fit-content;max-width:min(560px,calc(100vw - 32px));translate:none!important}
.cita blockquote p{line-height:.98!important}
.cita footer{font:700 13px var(--sans)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--naranja)!important}
.manifiesto-texto .w{opacity:.3}
.perfil-texto{line-height:1.15!important}
.portada-cliente::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 28%,transparent 68%,rgba(0,0,0,.45))}
.portada-texto{z-index:1}
/* Botones del pie: píldora con flecha en círculo naranja */
.pie-volver{min-height:52px;padding:6px 8px 6px 22px!important;gap:14px!important;font-weight:700}
.pie-volver span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--naranja);color:var(--negro);transition:translate .4s var(--ease)}
.pie-volver:hover span{translate:4px 0}
.pie-arriba:hover span{translate:0 -4px}
.pie-arriba span{order:2}
.pie-volver:not(.pie-arriba):not(.pie-ir){padding:6px 22px 6px 8px!important}
.pie-volver:not(.pie-arriba):not(.pie-ir):hover span{translate:-4px 0}
@media (max-width:900px){
  .cifras-rejilla{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cifra b{font-size:clamp(40px,12vw,64px)}
  .cifra.c1 b{font-size:24vw}
  .cifra.c5{grid-column:span 2}
  .cin{font-size:22vw;letter-spacing:-.06em}
  .cajon-panel{width:88vw}
}
@media (max-width:600px){.pie-datos{display:grid;justify-items:stretch}.pie-volver{justify-content:space-between}}
.cifra b{font-size:clamp(44px,4.8vw,86px)}
.cifra.c1{grid-row:span 3}
.cifra.c1 b{font-size:clamp(110px,13vw,220px)}
@media (max-width:900px){.cifra b{font-size:clamp(30px,9vw,50px)}.cifra.c1{grid-row:span 1}.cifra.c1 b{font-size:22vw}}

/* Barra «Sigue bajando»: el riel gris es el contenedor y el degradado lo llena con el scroll */
.semana-guia::after{display:none!important}
.semana-guia i{position:relative;overflow:hidden;width:200px!important;height:8px!important;border-radius:8px;background:rgba(42,42,42,.1)!important;transform:none!important}
.semana-guia i::after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--degradado);transform:scaleX(var(--p,0));transform-origin:left}
