/* Ostiz Audiovisuales — design system (adaptado de la referencia Apple a la marca Ostiz) */
@font-face{font-family:"Poppins";font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/poppins-500.woff) format("woff")}
@font-face{font-family:"Poppins";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/poppins-400.woff) format("woff")}
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/inter-400.woff) format("woff")}
@font-face{font-family:"Inter";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/inter-600.woff) format("woff")}

:root{
  --noche:#111A23; --pizarra:#152025; --grafito:#1F2C35; --linea:rgba(242,245,243,.14);
  --texto:#F2F5F3; --texto-2:#A9B4BB; --lima:#A9F00F; --lima-2:#BDF54A;
  --claro:#EEF1EC; --claro-2:#E2E7E1; --tinta:#152025; --tinta-2:#4A5760; --linea-claro:rgba(21,32,37,.14);
  --f-display:"Poppins",ui-sans-serif,system-ui,sans-serif; --f-texto:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --fs-hero:clamp(2.5rem,6.2vw,5.25rem); --fs-capitulo:clamp(2.1rem,4.6vw,4rem); --fs-seccion:clamp(1.75rem,3.2vw,3rem);
  --fs-lead:clamp(1.2rem,1.7vw,1.5rem); --fs-h3:1.25rem; --fs-body:1.0625rem; --fs-nota:.875rem;
  --pad-seccion:clamp(4.5rem,10vw,9rem); --pad-cierre:clamp(6rem,14vw,12rem);
  --ancho:1240px; --ancho-texto:720px; --gutter:clamp(1rem,4vw,2.5rem);
  --r-tarjeta:22px; --r-pill:999px; --ease:cubic-bezier(0,0,.5,1); --dur:.4s;
  --barra-movil:0px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--noche);color:var(--texto);font:400 var(--fs-body)/1.6 var(--f-texto);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding-bottom:var(--barra-movil)}
img,picture,video,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--lima)}
h1,h2,h3{font-family:var(--f-display);font-weight:500;line-height:1.08;letter-spacing:-.025em;margin:0 0 .5em;text-wrap:balance}
h3{font-size:var(--fs-h3);letter-spacing:-.01em;line-height:1.25}
p{margin:0 0 1em;text-wrap:pretty}
ul,ol{padding-left:1.2em;margin:0 0 1em}
strong{font-weight:600;color:var(--texto)}
:focus-visible{outline:3px solid var(--lima);outline-offset:3px;border-radius:4px}
.zona-clara :focus-visible,.clientes :focus-visible,.cookies :focus-visible{outline-color:var(--tinta)}
.nw{white-space:nowrap}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--lima);color:var(--noche);padding:.75rem 1rem;border-radius:8px;font-weight:600}
.saltar:focus{top:1rem}
.contenedor{width:min(100% - 2*var(--gutter),var(--ancho));margin-inline:auto}
.texto-ancho{max-width:var(--ancho-texto)}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:48px;padding:.75rem 1.35rem;border-radius:var(--r-pill);font:600 1rem/1.1 var(--f-texto);text-decoration:none;border:1.5px solid transparent;transition:background-color .12s linear,color .12s linear,border-color .12s linear;cursor:pointer;white-space:nowrap}
.btn svg{width:1.1em;height:1.1em;flex:none}
.btn-lima{background:var(--lima);color:var(--noche)}
.btn-lima:hover{background:var(--lima-2);color:var(--noche)}
.btn-borde{border-color:rgba(242,245,243,.45);color:var(--texto)}
.btn-borde:hover{border-color:var(--lima);color:var(--lima)}
.zona-clara .btn-borde{border-color:rgba(21,32,37,.35);color:var(--tinta)}
.zona-clara .btn-borde:hover{border-color:var(--tinta);background:var(--tinta);color:var(--claro)}
.zona-clara .btn-lima{background:var(--tinta);color:var(--claro)}
.zona-clara .btn-lima:hover{background:#0b1217;color:#fff}
.enlace{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration:underline;text-decoration-color:var(--lima);text-decoration-thickness:2px}

/* Cabecera y píldora */
.cabecera{position:fixed;inset:0 0 auto;z-index:50;transition:transform .3s var(--ease)}
.cabecera-int{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:76px;padding-inline:var(--gutter);max-width:1440px;margin-inline:auto;transition:all .3s var(--ease)}
.logo{display:block;width:118px;flex:none}
.logo img{width:100%}
.nav{display:flex;align-items:center;gap:.25rem}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:.6rem .8rem;border-radius:var(--r-pill);text-decoration:none;font-size:.95rem;color:var(--texto)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--lima)}
.nav .btn{margin-left:.6rem;min-height:42px;padding:.6rem 1.1rem;font-size:.95rem}
.idiomas{display:flex;gap:.25rem;margin-left:.5rem}
.idiomas a{font-size:.8rem;padding:.45rem .55rem;color:var(--texto-2)}
.cabecera.compacta .cabecera-int{height:60px;margin-top:10px;max-width:1080px;width:calc(100% - 20px);background:rgba(17,26,35,.78);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border:1px solid var(--linea);border-radius:var(--r-pill);padding-inline:1.1rem}
.cabecera.compacta .logo{width:92px}
.cabecera.solida{background:rgba(17,26,35,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.menu-btn{display:none;background:none;border:0;color:var(--texto);width:48px;height:48px;border-radius:50%;cursor:pointer}
.menu-btn svg{width:26px;height:26px;margin:auto}
@media (max-width:1000px){
  .nav{position:fixed;inset:0;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:96px var(--gutter) 2rem;background:var(--noche);transform:translateX(100%);transition:transform .3s var(--ease);visibility:hidden}
  .nav.abierta{transform:none;visibility:visible}
  .nav a{font:500 1.6rem/1.2 var(--f-display);padding:.9rem 0;border-bottom:1px solid var(--linea);border-radius:0}
  .nav .btn{margin:1.5rem 0 0;font:600 1.05rem/1 var(--f-texto);border-bottom:0;border-radius:var(--r-pill);padding:1rem}
  .idiomas{margin:1.5rem 0 0}
  .idiomas a{font:400 1rem var(--f-texto);border:0;padding:.5rem .9rem .5rem 0}
  .menu-btn{display:grid;position:relative;z-index:2}
  .cabecera.compacta .cabecera-int{margin-top:0;width:100%;border-radius:0;border-width:0 0 1px;height:64px}
}

/* Barra de acciones móvil */
.barra-movil{display:none}
@media (max-width:760px){
  :root{--barra-movil:72px}
  .barra-movil{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:8px;position:fixed;inset:auto 0 0;z-index:40;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:rgba(17,26,35,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--linea)}
  .barra-movil a{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:50px;border-radius:14px;text-decoration:none;font-weight:600;font-size:.95rem;background:var(--grafito);color:var(--texto)}
  .barra-movil a svg{width:20px;height:20px}
  .barra-movil a.principal{background:var(--lima);color:var(--noche)}
}

/* Hero */
.hero{position:relative;min-height:min(100svh,980px);display:grid;align-items:end;overflow:hidden;isolation:isolate}
.hero picture,.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(17,26,35,.9) 0%,rgba(17,26,35,.55) 42%,rgba(17,26,35,0) 75%),linear-gradient(180deg,rgba(17,26,35,.6) 0%,rgba(17,26,35,0) 25%,rgba(17,26,35,0) 60%,var(--noche) 100%)}
.hero img{object-position:72% 50%}
@media (max-width:760px){.hero::after{background:linear-gradient(180deg,rgba(17,26,35,.55) 0%,rgba(17,26,35,.35) 35%,rgba(17,26,35,.88) 70%,var(--noche) 100%)}.hero img{object-position:62% 50%}}
.hero-cont{padding:9rem 0 calc(clamp(3rem,7vw,6rem) + var(--barra-movil))}
.hero h1{font-size:var(--fs-hero);max-width:15ch;margin-bottom:.35em}
.hero .claim{font:400 var(--fs-lead)/1.35 var(--f-display);color:var(--texto);max-width:34ch;margin-bottom:1.75rem}
.hero .hechos{color:var(--texto-2);max-width:52ch;margin:1.75rem 0 0;font-size:.95rem}
.acciones{display:flex;flex-wrap:wrap;gap:.75rem}
.hero-interior{min-height:min(76svh,760px)}
.hero-interior::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(17,26,35,.38)}
.hero-interior h1{font-size:var(--fs-capitulo);max-width:20ch}
.hero-interior .claim{font-family:var(--f-texto);font-size:var(--fs-lead);max-width:46ch;color:#DDE3E6}
.migas{font-size:.875rem;color:var(--texto-2);margin-bottom:1.25rem}
.migas ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.35rem}
.migas li+li::before{content:"/";margin-right:.35rem;opacity:.5}
.migas a{color:var(--texto-2);text-decoration:none}
.migas a:hover{color:var(--lima)}
.hero .migas{color:#DDE3E6}
.hero .migas ol{display:inline-flex;background:rgba(17,26,35,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;padding:.15rem .9rem}
.hero .migas a{color:#DDE3E6}

/* Secciones */
.seccion{padding-block:var(--pad-seccion)}
.seccion-cierre{padding-bottom:var(--pad-cierre)}
.seccion h2{font-size:var(--fs-seccion);max-width:22ch}
.capitulo h2{font-size:var(--fs-capitulo)}
.lead{font-size:var(--fs-lead);line-height:1.4;color:var(--texto-2);max-width:46ch}
.lead strong{color:var(--texto);font-weight:400}
.zona-clara{background:var(--claro);color:var(--tinta)}
.zona-clara strong{color:var(--tinta)}
.zona-clara .lead{color:var(--tinta-2)}
.zona-clara a:hover{color:var(--tinta)}
.zona-pizarra{background:var(--pizarra)}
.cabecera-seccion{display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(2rem,4vw,3.5rem)}
.cabecera-seccion h2{margin:0}

/* Logos de clientes */
.clientes{background:#fff;color:var(--tinta);padding-block:2.75rem}
.clientes p{text-align:center;color:var(--tinta-2);font-size:.95rem;margin-bottom:1.25rem}
.clientes-logos{display:grid;gap:.25rem}
.clientes-logos img{width:100%;max-width:1100px;margin-inline:auto}
@media (max-width:760px){.clientes-logos{gap:.75rem}}

/* Líneas de negocio */
.lineas{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2vw,1.5rem)}
.linea{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:640px;padding:clamp(1.5rem,3vw,2.75rem);border-radius:var(--r-tarjeta);overflow:hidden;isolation:isolate;background:var(--pizarra)}
.linea picture,.linea>img{position:absolute;inset:0;z-index:-2}
.linea picture img{width:100%;height:100%;object-fit:cover}
.linea::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,26,35,.05) 10%,rgba(17,26,35,.75) 42%,rgba(17,26,35,.96) 70%)}
.linea h2,.linea h3{font-size:clamp(1.9rem,3vw,2.75rem);margin-bottom:.35em}
.linea p{color:#D5DCE0;max-width:40ch}
.linea ul{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-wrap:wrap;gap:.5rem}
.linea li a{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .95rem;border:1px solid rgba(242,245,243,.28);border-radius:var(--r-pill);text-decoration:none;font-size:.92rem;background:rgba(17,26,35,.35)}
.linea li a:hover{border-color:var(--lima);color:var(--lima)}
@media (max-width:860px){.lineas{grid-template-columns:1fr}.linea{min-height:560px}}

/* Capítulo fijo (scroll-telling) */
.fijo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.fijo-media{position:sticky;top:96px;height:calc(100svh - 128px);max-height:820px;border-radius:var(--r-tarjeta);overflow:hidden}
.fijo-media img{width:100%;height:100%;object-fit:cover}
.fijo-media figcaption{position:absolute;left:0;right:0;bottom:0;padding:3rem 1.25rem 1.1rem;font-size:.85rem;color:#DDE3E6;background:linear-gradient(0deg,rgba(17,26,35,.92),transparent)}
.pasos{list-style:none;padding:0;margin:0;counter-reset:paso}
.paso{counter-increment:paso;min-height:58svh;display:flex;flex-direction:column;justify-content:center;padding-block:2rem}
.paso::before{content:counter(paso);font:500 .95rem/1 var(--f-display);color:var(--noche);background:var(--lima);width:2.1rem;height:2.1rem;border-radius:50%;display:grid;place-items:center;margin-bottom:1.25rem}
.paso h3{font-size:clamp(1.6rem,2.6vw,2.35rem);letter-spacing:-.02em;margin-bottom:.5em}
.paso p{font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.5;color:var(--texto-2);max-width:40ch;transition:color .5s var(--ease)}
.js .paso h3,.js .paso::before{transition:opacity .5s var(--ease)}
.js .paso:not(.activo) h3,.js .paso:not(.activo)::before{opacity:.35}
.js .paso.activo p{color:var(--texto)}
@media (max-width:860px){.fijo{grid-template-columns:1fr}.fijo-media{position:relative;top:0;height:auto;aspect-ratio:4/5;max-height:none}.paso{min-height:auto;padding-block:1.75rem}.js .paso:not(.activo) h3,.js .paso:not(.activo)::before{opacity:1}}

/* Carrusel de proyectos */
.carrusel{display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,520px);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gutter) 1.25rem;margin-inline:calc(-1*var(--gutter));scrollbar-width:thin;scrollbar-color:var(--grafito) transparent}
.carrusel>*{scroll-snap-align:start}
.proyecto{position:relative;border-radius:var(--r-tarjeta);overflow:hidden;background:var(--pizarra);display:flex;flex-direction:column}
.proyecto picture img{aspect-ratio:3/2;width:100%;object-fit:cover}
.proyecto-info{padding:1.1rem 1.25rem 1.35rem}
.proyecto-info h3{font-size:1.15rem;margin-bottom:.25rem}
.proyecto-info p{margin:0;color:var(--texto-2);font-size:.95rem}
.proyecto .etiqueta{display:inline-block;font-size:.78rem;color:var(--lima);margin-bottom:.4rem}
.carrusel-ctrl{display:flex;gap:.5rem}
.ctrl{width:48px;height:48px;border-radius:50%;border:1px solid var(--linea);background:var(--pizarra);color:var(--texto);display:grid;place-items:center;cursor:pointer}
.ctrl:hover{border-color:var(--lima);color:var(--lima)}
.ctrl svg{width:20px;height:20px}
.rejilla-proyectos{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}
.filtros{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}
.filtro{min-height:44px;padding:.55rem 1.1rem;border-radius:var(--r-pill);border:1px solid var(--linea);background:transparent;color:var(--texto);font:600 .95rem var(--f-texto);cursor:pointer}
.filtro[aria-pressed="true"]{background:var(--texto);color:var(--noche);border-color:var(--texto)}

/* Página de servicio */
.puntos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem 2.5rem;margin:0;padding:0;list-style:none}
.puntos li{border-top:2px solid var(--lima);padding-top:1.1rem}
.puntos h3{font-size:1.15rem;margin-bottom:.4rem}
.puntos p{color:var(--texto-2);margin:0;font-size:1rem}
.cuerpo{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(2rem,6vw,6rem);align-items:start}
.cuerpo-aside{position:sticky;top:100px;display:grid;gap:1.25rem}
.indice{border-left:1px solid var(--linea);padding-left:1.1rem}
.indice p{font-size:.85rem;color:var(--texto-2);margin-bottom:.6rem}
.indice ol{list-style:none;padding:0;margin:0;display:grid;gap:.15rem}
.indice a{display:block;padding:.35rem 0;text-decoration:none;font-size:.95rem;color:var(--texto-2)}
.indice a:hover{color:var(--lima)}
.caja-cta{background:var(--pizarra);border:1px solid var(--linea);border-radius:var(--r-tarjeta);padding:1.4rem}
.caja-cta p{font-size:.95rem;color:var(--texto-2)}
.caja-cta .btn{width:100%;margin-top:.5rem}
.prosa{max-width:var(--ancho-texto)}
.prosa section+section{margin-top:clamp(3rem,6vw,4.5rem)}
.prosa h2{font-size:clamp(1.6rem,2.6vw,2.25rem);max-width:none}
.prosa h3{margin-top:1.6em}
.prosa p,.prosa li{color:#D3DADE}
.prosa li{margin-bottom:.45em}
.prosa a{text-decoration-color:var(--lima)}
.prosa table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}
.prosa th,.prosa td{text-align:left;padding:.7rem .6rem;border-bottom:1px solid var(--linea);vertical-align:top}
.prosa th{font-weight:600;color:var(--texto)}
.tabla-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.5rem 0}
.tabla-scroll table{margin:0;min-width:100%}
@media (max-width:520px){.prosa table{font-size:.88rem}.prosa th,.prosa td{padding:.6rem .45rem}}
.zona-clara .prosa p,.zona-clara .prosa li{color:var(--tinta-2)}
@media (max-width:960px){.cuerpo{grid-template-columns:1fr}.cuerpo-aside{position:static;order:-1}.indice{display:none}}

.proceso{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:p}
.proceso li{counter-increment:p;position:relative;padding-top:3.25rem}
.proceso li::before{content:counter(p);position:absolute;top:0;left:0;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--lima);color:var(--noche);display:grid;place-items:center;font:500 .95rem var(--f-display)}
.proceso li::after{content:"";position:absolute;top:1.1rem;left:2.9rem;right:-.8rem;height:1px;background:var(--linea)}
.proceso li:last-child::after{display:none}
.proceso h3{font-size:1.15rem}
.proceso p{color:var(--texto-2);font-size:1rem;margin:0}
@media (max-width:860px){.proceso{grid-template-columns:1fr 1fr}.proceso li::after{display:none}}
@media (max-width:520px){.proceso{grid-template-columns:1fr}}

/* FAQ */
.faq{max-width:860px}
.faq details{border-bottom:1px solid var(--linea)}
.zona-clara .faq details{border-color:var(--linea-claro)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding:1.35rem 0;font:500 clamp(1.05rem,1.5vw,1.25rem)/1.35 var(--f-display);min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-3px,-3px);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(225deg)}
.faq .respuesta{padding:0 0 1.5rem;color:var(--texto-2);max-width:70ch}
.zona-clara .faq .respuesta{color:var(--tinta-2)}

/* Servicios relacionados / hub */
.lista-servicios{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.lista-servicios a{display:flex;flex-direction:column;gap:.5rem;padding:1.6rem 1.5rem;background:var(--noche);border:1px solid var(--linea);border-radius:18px;text-decoration:none;min-height:190px;transition:background-color .15s linear}
.lista-servicios a:hover{background:var(--pizarra);color:var(--texto)}
.lista-servicios h3{font-size:1.3rem;margin:0}
.lista-servicios p{color:var(--texto-2);font-size:.98rem;margin:0}
.lista-servicios .ir{margin-top:auto;color:var(--lima);font-weight:600;font-size:.92rem}
.razones{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2rem}
.razones div{border-top:2px solid var(--lima);padding-top:1.1rem}
.razones h3{font-size:1.15rem}
.razones p{color:var(--texto-2);margin:0;font-size:1rem}

/* Banda CTA */
.banda-cta{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2rem;align-items:center}
.banda-cta h2{margin-bottom:.4em}
.banda-cta .acciones{justify-content:flex-end}
@media (max-width:860px){.banda-cta{grid-template-columns:1fr}.banda-cta .acciones{justify-content:flex-start}}

/* Contacto */
.contacto{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.form{display:grid;gap:1.1rem}
.form .fila{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.campo label,.campo legend{display:block;font-weight:600;font-size:.95rem;margin-bottom:.4rem}
.campo input,.campo select,.campo textarea{width:100%;min-height:50px;padding:.8rem .95rem;border-radius:12px;border:1.5px solid rgba(21,32,37,.55);background:#fff;color:var(--tinta);font:400 1rem/1.4 var(--f-texto)}
.campo textarea{min-height:130px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--tinta);box-shadow:0 0 0 3px rgba(169,240,15,.55)}
.selector{border:0;padding:0;margin:0;display:flex;gap:.6rem;flex-wrap:wrap}
.selector label{display:inline-flex;align-items:center;gap:.5rem;min-height:48px;padding:.6rem 1.1rem;border:1.5px solid rgba(21,32,37,.55);border-radius:var(--r-pill);background:#fff;cursor:pointer;font-weight:600;margin:0}
.selector input{accent-color:var(--tinta);width:18px;height:18px;min-height:0}
.selector label:has(input:checked){border-color:var(--tinta);background:var(--tinta);color:var(--claro)}
.check{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem;color:var(--tinta-2)}
.check input{width:20px;height:20px;margin-top:.15rem;accent-color:var(--tinta);flex:none}
.hp{position:absolute;left:-9999px}
.form-estado{font-weight:600;min-height:1.5em}
.datos-contacto{display:grid;gap:1.6rem}
.datos-contacto h3{font-size:1rem;font-family:var(--f-texto);font-weight:600;margin-bottom:.3rem;letter-spacing:0}
.datos-contacto p{margin:0;color:var(--tinta-2)}
.datos-contacto a{color:var(--tinta)}
.datos-contacto .tel{display:inline-flex;align-items:center;min-height:44px;font:500 clamp(1.6rem,2.6vw,2.1rem)/1.1 var(--f-display);text-decoration:none;letter-spacing:-.02em}
@media (max-width:860px){.contacto{grid-template-columns:1fr}.form .fila{grid-template-columns:1fr}}

/* Equipo */
.equipo{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1.25rem}
.persona picture img{aspect-ratio:4/5;object-fit:cover;border-radius:16px;width:100%;background:var(--pizarra)}
.persona h3{font-size:1.1rem;margin:.9rem 0 .15rem}
.persona p{margin:0;font-size:.92rem;color:var(--texto-2)}
.persona a{font-size:.92rem;color:var(--texto-2);overflow-wrap:normal}
.persona a:hover{color:var(--lima)}
@media (max-width:520px){.persona{display:grid;grid-template-columns:104px minmax(0,1fr);column-gap:1rem;align-items:start}.persona picture{grid-row:1/span 5}.persona picture img{border-radius:12px}.persona h3{margin-top:.2rem}.persona br{display:none}.persona a{font-size:.85rem}}

/* Blog */
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}
.post{background:var(--pizarra);border-radius:var(--r-tarjeta);padding:1.75rem;text-decoration:none;display:flex;flex-direction:column;gap:.6rem;min-height:240px}
.post:hover{color:var(--texto);background:var(--grafito)}
.post time{font-size:.85rem;color:var(--texto-2)}
.post h2{font-size:1.5rem;margin:0}
.post p{color:var(--texto-2);margin:0}

/* Pie */
.pie{background:var(--pizarra);padding:clamp(3.5rem,7vw,5.5rem) 0 2.5rem;font-size:.95rem;color:var(--texto-2)}
.pie-rejilla{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem}
.pie h2{font:600 .95rem var(--f-texto);letter-spacing:0;color:var(--texto);margin-bottom:.9rem}
.pie ul{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}
.pie a{color:var(--texto-2);text-decoration:none}
.pie a:hover{color:var(--lima)}
.pie address{font-style:normal;line-height:1.7}
.pie .logo{width:140px;margin-bottom:1.25rem}
.pie-legal{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--linea);display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;font-size:.85rem}
.pie-legal ul{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem}
.redes{display:flex;gap:.6rem;margin-top:1rem}
.pie-horario{margin:.75rem 0 0}
.pie-copy{margin:0}
/* WCAG 2.5.8: mínimo 24 px en escritorio */
.pie ul a,.pie-legal a,.pie address a,.datos-contacto p a,.migas a,.persona a{display:inline-flex;align-items:center;min-height:24px}
/* Objetivos táctiles ≥ 44 px en pantallas táctiles / móvil */
@media (max-width:1000px),(pointer:coarse){
  .pie-rejilla ul{gap:0}
  .pie-legal ul{gap:0 1.25rem}
  .pie ul a,.pie-legal a,.pie address a,.datos-contacto p a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
  .pie address{line-height:1.5}
  .migas ol{align-items:center;row-gap:0}
  .migas a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
  .migas{margin-bottom:.5rem}
  .indice a{min-height:44px;display:flex;align-items:center}
  .persona a{display:inline-flex;align-items:center;min-height:44px}
  .cookies p a,.check a{display:inline-block;padding-block:.8rem;margin-block:-.8rem}
}
.redes a{width:44px;height:44px;border-radius:50%;border:1px solid var(--linea);display:grid;place-items:center}
.redes svg{width:18px;height:18px}
@media (max-width:860px){.pie-rejilla{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pie-rejilla{grid-template-columns:1fr}}

/* Cookies */
.cookies{position:fixed;z-index:60;left:1rem;right:1rem;bottom:calc(1rem + var(--barra-movil));max-width:560px;background:var(--claro);color:var(--tinta);border-radius:18px;padding:1.25rem 1.35rem;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.cookies[hidden]{display:none}
.cookies p{font-size:.92rem;margin-bottom:.9rem;color:var(--tinta-2)}
.cookies p strong{color:var(--tinta)}
.cookies a{color:var(--tinta)}
.cookies .acciones{gap:.5rem}
.cookies .btn{min-height:44px;padding:.6rem 1rem;font-size:.92rem}
.cookies .btn-borde{border-color:rgba(21,32,37,.35);color:var(--tinta)}
.cookies .btn-lima{background:var(--tinta);color:var(--claro)}
@media (max-width:760px){.cookies{left:.6rem;right:.6rem;padding:1rem;bottom:calc(.6rem + var(--barra-movil))}.cookies p{font-size:.85rem;margin-bottom:.7rem}.cookies .btn{min-height:44px;padding:.5rem .85rem;font-size:.88rem}}
.cookies-panel{display:grid;gap:.6rem;margin:.25rem 0 1rem}
.cookies-panel label{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem}
.cookies-panel input{width:20px;height:20px;accent-color:var(--tinta);flex:none;margin-top:.1rem}

/* Utilidades */
.centro{text-align:center}
.mt-0{margin-top:0}
.nota{font-size:var(--fs-nota);color:var(--texto-2)}
.error-404{min-height:70svh;display:grid;align-content:center}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* =====================================================================
   v2 · 04/11/2026 — feedback Ostiz: más solidez, texto negro sobre lima,
   cursor temático, animaciones de scroll, timeline, marquee, portfolio
   ===================================================================== */
:root{--negro:#000;--noche-2:#0C141B;--superficie:#17242C;--superficie-2:#1C2B34;--brillo:rgba(169,240,15,.16);--sombra:0 24px 60px rgba(0,0,0,.45)}
/* Texto SIEMPRE negro sobre lima */
.btn-lima,.btn-lima:hover,.barra-movil a.principal,.saltar,.paso::before,.proceso li::before,.zona-clara .btn-lima,.cookies .btn-lima{color:var(--negro)!important}
.btn-lima,.zona-clara .btn-lima,.cookies .btn-lima{background:var(--lima)}
.btn-lima:hover,.zona-clara .btn-lima:hover,.cookies .btn-lima:hover{background:var(--lima-2)}
.btn-lima{box-shadow:0 8px 24px rgba(169,240,15,.22)}
.btn-negro{background:var(--negro);color:var(--lima);border-color:var(--negro)}
.btn-negro:hover{background:#111;color:#fff}
.btn-borde-negro{border-color:rgba(0,0,0,.7);color:var(--negro)}
.btn-borde-negro:hover{background:var(--negro);color:var(--lima)}
/* Fondo con textura técnica (rejilla tipo panel LED) */
body{background:var(--noche-2)}
.textura{position:relative;isolation:isolate}
.textura::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(242,245,243,.07) 1px,transparent 1.2px);background-size:22px 22px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(180deg,transparent,#000 15%,#000 85%,transparent)}
.zona-pizarra{background:linear-gradient(180deg,var(--pizarra),var(--noche-2))}
.zona-brillo{background:radial-gradient(1200px 500px at 85% 0%,rgba(169,240,15,.12),transparent 60%),radial-gradient(900px 500px at 0% 100%,rgba(56,120,160,.18),transparent 60%),var(--noche)}
/* La antigua zona clara pasa a ser oscura con brillo (sin gris plano) */
.zona-clara{background:radial-gradient(1000px 520px at 100% 0%,rgba(169,240,15,.13),transparent 62%),linear-gradient(160deg,#16232B,#0C141B 70%);color:var(--texto)}
.zona-clara strong{color:var(--texto)} .zona-clara .lead{color:var(--texto-2)} .zona-clara a:hover{color:var(--lima)}
.zona-clara .btn-borde{border-color:rgba(242,245,243,.45);color:var(--texto)} .zona-clara .btn-borde:hover{background:transparent;border-color:var(--lima);color:var(--lima)}
.zona-clara .faq details{border-color:var(--linea)} .zona-clara .faq .respuesta,.zona-clara .prosa p,.zona-clara .prosa li{color:var(--texto-2)}
.zona-clara :focus-visible{outline-color:var(--lima)}
/* Banda CTA sólida en lima con texto negro */
.banda-lima{background:var(--lima);color:var(--negro)}
.banda-lima h2,.banda-lima p,.banda-lima .lead{color:var(--negro)}
.banda-lima :focus-visible{outline-color:var(--negro)}
.banda-lima .banda-cta{position:relative}
/* Tarjetas con cuerpo */
.tarjeta{background:linear-gradient(180deg,var(--superficie-2),var(--superficie));border:1px solid var(--linea);border-radius:var(--r-tarjeta);box-shadow:var(--sombra)}
.lista-servicios a{background:linear-gradient(180deg,var(--superficie-2),var(--superficie));box-shadow:0 14px 34px rgba(0,0,0,.3);transition:transform .25s var(--ease),border-color .2s,box-shadow .25s}
.lista-servicios a:hover{transform:translateY(-4px);border-color:rgba(169,240,15,.55);box-shadow:0 18px 40px rgba(0,0,0,.45),0 0 0 1px rgba(169,240,15,.25)}
.caja-cta{background:linear-gradient(180deg,var(--superficie-2),var(--superficie));box-shadow:var(--sombra)}
.cookies{background:#0F1A21;color:var(--texto);border:1px solid rgba(169,240,15,.45)}
.cookies p,.cookies-panel label{color:var(--texto-2)} .cookies p strong,.cookies a{color:var(--texto)}
.cookies .btn-borde{border-color:rgba(242,245,243,.45);color:var(--texto)}
.cookies :focus-visible{outline-color:var(--lima)}
.cookies-panel input,.check input{accent-color:var(--lima)}
/* Formularios sobre fondo oscuro */
.campo input,.campo select,.campo textarea{background:#0C141B;color:var(--texto);border:1.5px solid rgba(242,245,243,.28)}
.campo input::placeholder,.campo textarea::placeholder{color:#7F8B93}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--lima);box-shadow:0 0 0 3px rgba(169,240,15,.35)}
.check{color:var(--texto-2)} .datos-contacto p{color:var(--texto-2)} .datos-contacto a{color:var(--texto)}
.opciones{display:flex;flex-wrap:wrap;gap:.5rem;border:0;padding:0;margin:0}
.opciones legend{display:block;font-weight:600;font-size:.95rem;margin-bottom:.5rem;width:100%}
.opciones label{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.5rem .95rem;border:1.5px solid rgba(242,245,243,.28);border-radius:var(--r-pill);cursor:pointer;font-size:.95rem;font-weight:600;transition:border-color .15s,background-color .15s}
.opciones input{accent-color:var(--lima);width:18px;height:18px}
.opciones label:has(input:checked){border-color:var(--lima);background:rgba(169,240,15,.14)}
.form .fila-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
@media (max-width:860px){.form .fila-3{grid-template-columns:1fr}}

/* Selector de tipo de proyecto (dos botones grandes) */
.elige{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0 2.5rem}
.elige button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto 1fr;gap:.35rem 1.1rem;align-items:center;padding:1.5rem 1.6rem;border-radius:var(--r-tarjeta);border:1.5px solid rgba(242,245,243,.22);background:linear-gradient(180deg,var(--superficie-2),var(--superficie));box-shadow:var(--sombra);transition:transform .2s var(--ease),border-color .2s,background .2s;min-height:120px}
.elige button:hover{transform:translateY(-3px);border-color:rgba(169,240,15,.6)}
.elige button:focus-visible{outline:3px solid var(--lima);outline-offset:3px}
.elige .ico{grid-row:1/span 2;width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:rgba(169,240,15,.14);color:var(--lima)}
.elige .ico svg{width:30px;height:30px}
.elige strong{font:500 clamp(1.25rem,2vw,1.6rem)/1.15 var(--f-display);color:var(--texto)}
.elige small{font-size:.95rem;color:var(--texto-2)}
.elige button[aria-pressed="true"]{background:var(--lima);border-color:var(--lima)}
.elige button[aria-pressed="true"] strong,.elige button[aria-pressed="true"] small{color:var(--negro)}
.elige button[aria-pressed="true"] .ico{background:var(--negro);color:var(--lima)}
.panel-form{animation:entra .45s var(--ease)}
@keyframes entra{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (max-width:700px){.elige{grid-template-columns:1fr}}

/* Marquee infinito de clientes */
.marquee{background:var(--noche);border-block:1px solid var(--linea);padding:2.25rem 0;overflow:hidden}
.marquee p{text-align:center;color:var(--texto-2);font-size:.95rem;margin:0 0 1.4rem}
.marquee-pista{display:flex;width:max-content;animation:marquee 46s linear infinite}
.marquee:hover .marquee-pista,.marquee:focus-within .marquee-pista{animation-play-state:paused}
.marquee ul{display:flex;align-items:center;gap:clamp(2.5rem,5vw,4.5rem);list-style:none;margin:0;padding:0 clamp(1.25rem,2.5vw,2.25rem)}
.marquee li{flex:none}
.marquee img{height:40px;width:auto;opacity:.78;transition:opacity .2s}
.marquee li:hover img{opacity:1}
.marquee-mask{-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-pista{width:auto;flex-wrap:wrap;justify-content:center}.marquee-pista ul[aria-hidden]{display:none}.marquee ul{flex-wrap:wrap;justify-content:center;row-gap:1.5rem}}

/* Timeline interactivo "Así trabajamos" */
.flujo{position:relative}
@keyframes eq{0%{height:12%}100%{height:100%}}
.linea-tiempo{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;list-style:none;margin:3rem 0 0;padding:0}
.linea-tiempo::before,.linea-tiempo .progreso{content:"";position:absolute;left:28px;right:28px;top:27px;height:3px;border-radius:3px;background:rgba(242,245,243,.14)}
.linea-tiempo .progreso{right:auto;width:calc((100% - 56px) * var(--p,0));background:linear-gradient(90deg,var(--lima),#E5FF8A);box-shadow:0 0 18px rgba(169,240,15,.6);transition:width .6s var(--ease)}
.linea-tiempo .progreso::after{content:"";position:absolute;right:-6px;top:-5px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(169,240,15,.45),0 0 22px var(--lima)}
.nodo{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:.9rem;align-items:flex-start;width:100%}
.nodo .ico{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--superficie-2);border:2px solid rgba(242,245,243,.22);color:var(--texto-2);transition:all .35s var(--ease)}
.nodo .ico svg{width:26px;height:26px}
.nodo .num{font:500 .85rem var(--f-display);color:var(--texto-2)}
.nodo .tit{font:500 clamp(1.05rem,1.6vw,1.3rem)/1.2 var(--f-display);color:var(--texto-2);transition:color .3s}
.nodo:hover .tit{color:var(--texto)}
.nodo:focus-visible{outline:3px solid var(--lima);outline-offset:6px;border-radius:12px}
.nodo[aria-selected="true"] .ico{background:var(--lima);border-color:var(--lima);color:var(--negro);box-shadow:0 0 0 8px rgba(169,240,15,.15),0 0 30px rgba(169,240,15,.45);transform:scale(1.06)}
.nodo[aria-selected="true"] .tit{color:var(--texto)}
.nodo[aria-selected="true"] .num{color:var(--lima)}
.detalle{margin-top:2.5rem;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);padding:clamp(1.5rem,3vw,2.5rem);align-items:start}
.detalle[hidden]{display:none}
.detalle h3{font-size:clamp(1.5rem,2.4vw,2.1rem);margin-bottom:.5rem}
.detalle p{color:var(--texto-2);font-size:1.08rem;margin:0}
.detalle ul{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.detalle li{display:flex;gap:.7rem;align-items:flex-start;color:var(--texto)}
.detalle li::before{content:"";flex:none;width:10px;height:10px;margin-top:.5rem;border-radius:2px;background:var(--lima);box-shadow:0 0 10px rgba(169,240,15,.6)}
.detalle .anim{animation:entra .45s var(--ease)}
.flujo-ctrl{display:flex;gap:.5rem;align-items:center;margin-top:1.25rem;color:var(--texto-2);font-size:.9rem}
.flujo-ctrl button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:0 .9rem;border-radius:var(--r-pill);border:1px solid var(--linea)}
.flujo-ctrl button:hover{border-color:var(--lima);color:var(--lima)}
.flujo-ctrl button:focus-visible{outline:3px solid var(--lima)}
@media (max-width:860px){
 .linea-tiempo{grid-template-columns:1fr;gap:0;margin-top:2rem}
 .linea-tiempo::before,.linea-tiempo .progreso{left:27px;right:auto;top:28px;bottom:28px;width:3px;height:auto}
 .linea-tiempo .progreso{height:calc((100% - 56px) * var(--p,0));width:3px;bottom:auto;transition:height .6s var(--ease)}
 .linea-tiempo .progreso::after{right:-5px;top:auto;bottom:-6px}
 .nodo{flex-direction:row;align-items:center;padding:.6rem 0}
 .nodo .num{display:none}
 .detalle{grid-template-columns:1fr}
}

/* Portfolio / casos de estudio */
.casos{display:grid;gap:1.25rem}
.caso{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);overflow:hidden;min-height:360px}
.caso:nth-child(even){grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.caso:nth-child(even) .caso-media{order:2}
.caso-media{position:relative;min-height:260px;background:var(--noche)}
.caso-media picture,.caso-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.caso-media.sin-foto{display:grid;place-items:center;background:radial-gradient(400px 260px at 30% 20%,rgba(169,240,15,.22),transparent 70%),repeating-linear-gradient(90deg,rgba(242,245,243,.05) 0 1px,transparent 1px 22px),repeating-linear-gradient(0deg,rgba(242,245,243,.05) 0 1px,transparent 1px 22px),#0D161D}
.caso-media.sin-foto svg{width:88px;height:88px;color:var(--lima);filter:drop-shadow(0 0 18px rgba(169,240,15,.5))}
.caso-cuerpo{padding:clamp(1.5rem,3vw,2.5rem);display:flex;flex-direction:column;gap:1rem}
.caso-meta{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{white-space:nowrap;display:inline-flex;align-items:center;min-height:30px;padding:.25rem .75rem;border-radius:var(--r-pill);font-size:.82rem;font-weight:600;background:rgba(242,245,243,.08);color:var(--texto)}
.chip-lima{background:var(--lima);color:var(--negro)}
.caso h2,.caso h3{font-size:clamp(1.4rem,2.3vw,2rem);margin:0}
.caso .cliente{color:var(--lima);font-weight:600;font-size:.95rem;margin:0}
.caso dl{display:grid;grid-template-columns:auto 1fr;gap:.55rem 1.25rem;margin:0}
.caso dt{font-weight:600;color:var(--texto);font-size:.95rem}
.caso dd{margin:0;color:var(--texto-2);font-size:.98rem}
.caso .servicios{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:auto}
.caso .servicios a{display:inline-flex;align-items:center;min-height:36px;padding:.3rem .8rem;border-radius:var(--r-pill);border:1px solid rgba(169,240,15,.45);text-decoration:none;font-size:.88rem;color:var(--texto)}
.caso .servicios a:hover{background:var(--lima);color:var(--negro);border-color:var(--lima)}
.ficha-datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:0;padding:0;list-style:none}
.ficha-datos li{padding:.75rem .9rem;border-radius:14px;background:rgba(0,0,0,.25);border:1px solid var(--linea);font-size:.92rem;color:var(--texto-2)}
.ficha-datos b{display:block;color:var(--texto);font-weight:600;font-size:.98rem}
@media (max-width:860px){.caso,.caso:nth-child(even){grid-template-columns:1fr}.caso:nth-child(even) .caso-media{order:0}.caso-media{min-height:220px}}
.rejilla-casos{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}
.rejilla-casos .caso{grid-template-columns:1fr;min-height:0}
.rejilla-casos .caso:nth-child(even) .caso-media{order:0}
.rejilla-casos .caso-media{min-height:200px;aspect-ratio:16/9}

/* Actualidad */
.noticias{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}
.noticia{display:flex;flex-direction:column;gap:.75rem;padding:1.6rem;text-decoration:none;min-height:260px;transition:transform .25s var(--ease),border-color .2s}
.noticia:hover{transform:translateY(-4px);border-color:rgba(169,240,15,.55);color:var(--texto)}
.noticia .fuente{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;color:var(--texto-2)}
.noticia h3{font-size:1.25rem;margin:0}
.noticia p{color:var(--texto-2);margin:0;font-size:.98rem}
.noticia .ir{margin-top:auto;color:var(--lima);font-weight:600;font-size:.92rem}

/* Equipo compacto con ficha al pasar el ratón */
.filtros-equipo{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem}
.equipo{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}
.persona{position:relative;border-radius:18px;overflow:hidden;background:var(--superficie);border:1px solid var(--linea);transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;outline:none}
.persona picture img{aspect-ratio:1/1;border-radius:0;filter:grayscale(.85) contrast(1.05);transition:filter .4s var(--ease),transform .6s var(--ease)}
.persona .base{padding:.7rem .8rem .85rem}
.persona h3{font-size:.98rem;margin:0}
.persona .rol{margin:.1rem 0 0;font-size:.82rem;color:var(--texto-2)}
.persona .ficha{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:.35rem;padding:.9rem;background:linear-gradient(180deg,rgba(12,20,27,.1) 0%,rgba(12,20,27,.92) 52%);opacity:0;transform:translateY(10px);transition:opacity .3s var(--ease),transform .3s var(--ease)}
.persona .ficha .area{align-self:flex-start;font-size:.72rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;background:var(--lima);color:var(--negro)}
.persona .ficha strong{font:500 1rem/1.2 var(--f-display)}
.persona .ficha span{font-size:.82rem;color:var(--texto-2)}
.persona .ficha .acc{display:flex;gap:.4rem;margin-top:.35rem}
.persona .ficha .acc a{width:40px;height:40px;min-height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(242,245,243,.12);color:var(--texto)}
.persona .ficha .acc a:hover{background:var(--lima);color:var(--negro)}
.persona .ficha .acc svg{width:18px;height:18px}
.persona:hover,.persona:focus-within{transform:translateY(-4px);border-color:rgba(169,240,15,.6);box-shadow:0 16px 36px rgba(0,0,0,.45)}
.persona:hover img,.persona:focus-within img{filter:none;transform:scale(1.05)}
.persona:hover .ficha,.persona:focus-within .ficha{opacity:1;transform:none}
@media (hover:none){.persona .ficha{position:static;opacity:1;transform:none;background:none;padding:0 .8rem .8rem}.persona .ficha strong,.persona .ficha span:not(.area){display:none}.persona picture img{filter:none}}
@media (max-width:520px){.persona{display:block}.persona picture{grid-row:auto}.equipo{grid-template-columns:repeat(2,1fr)}}

/* Historia (línea temporal vertical) */
.historia{list-style:none;margin:2rem 0 0;padding:0;position:relative;display:grid;gap:1.5rem}
.historia::before{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--lima),rgba(169,240,15,.1))}
.historia li{position:relative;padding-left:3rem}
.historia li::before{content:"";position:absolute;left:4px;top:.35rem;width:16px;height:16px;border-radius:50%;background:var(--noche-2);border:3px solid var(--lima);box-shadow:0 0 12px rgba(169,240,15,.5)}
.historia .anio{font:500 1.6rem/1 var(--f-display);color:var(--lima);display:block;margin-bottom:.35rem}
.historia h3{font-size:1.2rem;margin-bottom:.35rem}
.historia p{color:var(--texto-2);margin:0;max-width:62ch}
.cita{margin:2.5rem 0 0;padding:1.5rem 1.75rem;border-left:4px solid var(--lima);background:rgba(169,240,15,.06);border-radius:0 18px 18px 0;font:400 clamp(1.15rem,1.8vw,1.45rem)/1.4 var(--f-display)}
.cita footer{margin-top:.6rem;font:400 .9rem var(--f-texto);color:var(--texto-2)}

/* Animaciones de entrada al hacer scroll */
.js [data-rv]{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d,0s)}
.js [data-rv].visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js [data-rv]{opacity:1;transform:none}}

/* Cursor temático (auriculares) — solo ratón */
@media (max-width:860px){#historia-grid{grid-template-columns:1fr!important}}

.elige{margin-bottom:2rem}
.caso-cuerpo{min-width:0}.caso dd{overflow-wrap:break-word}
.rejilla-casos .caso dl{grid-template-columns:1fr;gap:.2rem}.rejilla-casos .caso dd{margin-bottom:.6rem}
.rejilla-casos .ficha-datos{grid-template-columns:1fr 1fr}
.rejilla-casos .caso-media{aspect-ratio:16/9;min-height:0}

/* =====================================================================
   Área INTEGRACIÓN — personalidad técnica / arquitectónica (plano)
   ===================================================================== */
.area-integracion{--plano:#0E1A22;--plano-linea:rgba(140,200,230,.09);--plano-linea-2:rgba(140,200,230,.18);--azul-tec:#8CC8E6}
.plano{position:relative;background-color:var(--plano);background-image:linear-gradient(var(--plano-linea) 1px,transparent 1px),linear-gradient(90deg,var(--plano-linea) 1px,transparent 1px),linear-gradient(var(--plano-linea-2) 1px,transparent 1px),linear-gradient(90deg,var(--plano-linea-2) 1px,transparent 1px);background-size:24px 24px,24px 24px,120px 120px,120px 120px;background-position:-1px -1px}
.plano-suave{background:linear-gradient(180deg,#0F1B23,#0C141B);background-image:linear-gradient(rgba(140,200,230,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(140,200,230,.05) 1px,transparent 1px);background-size:48px 48px}
.ai-hero{padding:clamp(7rem,12vw,9rem) 0 2.5rem;overflow:hidden}
.ai-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.ai-hero h1{font-size:clamp(2.4rem,5vw,4.4rem);max-width:12ch;margin-bottom:.4em}
.ai-lead{font-size:var(--fs-lead);line-height:1.4;color:#D6DEE2;max-width:40ch}
.ai-valor{display:flex;gap:.7rem;align-items:flex-start;margin:1.25rem 0 2rem;padding:.9rem 1rem;border:1px solid var(--plano-linea-2);border-left:3px solid var(--lima);border-radius:0 12px 12px 0;background:rgba(0,0,0,.25);max-width:44ch;font-weight:600}
.ai-valor svg{flex:none;width:22px;height:22px;color:var(--lima);margin-top:.1rem}
.ai-hero .migas ol{background:none;padding:0}
.ai-hero-media{position:relative;margin:0;border-radius:6px;padding:10px;border:1px solid var(--plano-linea-2);background:rgba(0,0,0,.2)}
.ai-hero-media picture,.ai-hero-media img{display:block;width:100%;height:auto;border-radius:3px}
.esquina{position:absolute;width:22px;height:22px;border:2px solid var(--lima)}
.e1{top:-1px;left:-1px;border-right:0;border-bottom:0}.e2{top:-1px;right:-1px;border-left:0;border-bottom:0}.e3{bottom:-1px;left:-1px;border-right:0;border-top:0}.e4{bottom:-1px;right:-1px;border-left:0;border-top:0}
.anotaciones{list-style:none;margin:0;padding:0;position:absolute;inset:10px}
.anotaciones li{position:absolute;left:var(--x);top:var(--y);display:flex;align-items:center;gap:.45rem;transform:translateY(-50%)}
.anotaciones i{width:12px;height:12px;border-radius:50%;background:var(--lima);box-shadow:0 0 0 4px rgba(169,240,15,.25);animation:latido 2.4s ease-in-out infinite}
.anotaciones li:nth-child(2) i{animation-delay:.6s}.anotaciones li:nth-child(3) i{animation-delay:1.2s}.anotaciones li:nth-child(4) i{animation-delay:1.8s}
.anotaciones span{font-size:.78rem;font-weight:600;color:#fff;background:rgba(12,20,27,.82);border:1px solid var(--plano-linea-2);padding:.25rem .55rem;border-radius:6px;white-space:nowrap;backdrop-filter:blur(6px)}
@keyframes latido{0%,100%{box-shadow:0 0 0 4px rgba(169,240,15,.25)}50%{box-shadow:0 0 0 10px rgba(169,240,15,0)}}
.ai-cross{display:flex;flex-wrap:wrap;gap:.35rem 1rem;align-items:center;justify-content:space-between;margin-top:2.5rem;padding:1rem 1.25rem;border:1px dashed var(--plano-linea-2);border-radius:12px;text-decoration:none;background:rgba(0,0,0,.2);transition:border-color .2s,background .2s}
.ai-cross:hover{border-color:var(--lima);background:rgba(169,240,15,.06);color:var(--texto)}
.ai-cross-q{color:var(--texto-2)}
.ai-cross-l{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:var(--lima)}
.ai-cross-l svg{width:18px;height:18px;transition:transform .2s}
.ai-cross:hover .ai-cross-l svg{transform:translateX(4px)}
.ai-cab{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;align-items:end;margin-bottom:2.5rem}
.ai-cab h2,.ai-cab .lead{margin:0}
.ai-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--plano-linea-2);border-left:1px solid var(--plano-linea-2)}
.ai-grid li{border-right:1px solid var(--plano-linea-2);border-bottom:1px solid var(--plano-linea-2)}
.ai-card{position:relative;display:flex;flex-direction:column;gap:.6rem;height:100%;padding:2rem 1.75rem 1.6rem;text-decoration:none;transition:background .25s}
.ai-card::before{content:"";position:absolute;left:0;top:0;width:0;height:3px;background:var(--lima);transition:width .35s var(--ease)}
.ai-card:hover{background:rgba(169,240,15,.05);color:var(--texto)}
.ai-card:hover::before{width:100%}
.ai-ico{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--plano-linea-2);border-radius:10px;color:var(--azul-tec);background:rgba(140,200,230,.06);margin-bottom:.5rem;transition:color .25s,border-color .25s}
.ai-ico svg{width:28px;height:28px}
.ai-card:hover .ai-ico{color:var(--lima);border-color:rgba(169,240,15,.5)}
.ai-card h3{font-size:1.25rem;margin:0}
.ai-card p{margin:0;color:var(--texto-2);font-size:.98rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ai-ir{margin-top:auto;padding-top:.8rem;display:inline-flex;align-items:center;gap:.45rem;color:var(--lima);font-weight:600;font-size:.92rem}
.ai-ir svg{width:16px;height:16px;transition:transform .2s}
a:hover .ai-ir svg{transform:translateX(4px)}
.ai-specs{border-block:1px solid var(--plano-linea-2);background:#0B151C}
.ai-specs-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:0}
.ai-specs-grid div{padding:2rem 1.5rem;border-right:1px solid var(--plano-linea-2)}
.ai-specs-grid div:last-child{border-right:0}
.ai-specs-grid dt{font:500 clamp(1.5rem,2.4vw,2.1rem)/1.1 var(--f-display);color:var(--lima);margin-bottom:.4rem}
.ai-specs-grid dd{margin:0;color:var(--texto-2);font-size:.95rem}
.ai-faq{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.6fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.ai-faq-lado{position:sticky;top:100px}
.ai-temas{display:grid;gap:.4rem;margin-top:1.5rem}
.ai-temas button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:52px;padding:.7rem 1rem;border:1px solid var(--plano-linea-2);border-radius:10px;font-weight:600;color:var(--texto-2);transition:all .2s}
.ai-temas button small{font-size:.8rem;min-width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:rgba(242,245,243,.08)}
.ai-temas button:hover{color:var(--texto);border-color:rgba(242,245,243,.35)}
.ai-temas button[aria-selected="true"]{background:var(--lima);border-color:var(--lima);color:var(--negro)}
.ai-temas button[aria-selected="true"] small{background:var(--negro);color:var(--lima)}
.ai-temas button:focus-visible{outline:3px solid var(--lima);outline-offset:3px}
.ai-faq-panel [role="tabpanel"]{display:grid;gap:1rem;animation:entra .4s var(--ease)}
.ai-qa{padding:1.5rem 1.6rem;border:1px solid var(--plano-linea-2);border-radius:14px;background:rgba(0,0,0,.22);position:relative}
.ai-qa::before{content:"";position:absolute;left:-1px;top:1.4rem;bottom:1.4rem;width:3px;background:var(--lima);border-radius:3px}
.ai-qa h3{font-size:1.15rem;margin:0 0 .5rem}
.ai-qa p{margin:0;color:var(--texto-2)}
.ai-rel{display:grid;grid-auto-flow:column;grid-auto-columns:min(86vw,520px);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gutter) 1rem;margin-inline:calc(-1*var(--gutter));scrollbar-width:thin;scrollbar-color:var(--grafito) transparent}
.ai-rel-card{scroll-snap-align:start;display:grid;grid-template-columns:42% 1fr;min-height:200px;text-decoration:none;border:1px solid var(--plano-linea-2);border-radius:16px;overflow:hidden;background:linear-gradient(180deg,var(--superficie-2),var(--superficie));transition:border-color .25s,transform .25s var(--ease)}
.ai-rel-card picture,.ai-rel-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.ai-rel-card>div{padding:1.25rem 1.3rem;display:flex;flex-direction:column;gap:.45rem}
.ai-rel-card h3{font-size:1.15rem;margin:0}
.ai-rel-card p{margin:0;color:var(--texto-2);font-size:.95rem}
.ai-rel-card:hover{border-color:rgba(169,240,15,.6);transform:translateY(-3px);color:var(--texto)}
.ai-rel-card:hover img{transform:scale(1.06)}
@media (max-width:960px){.ai-hero-grid{grid-template-columns:1fr}.ai-hero-media{order:-1}.ai-cab{grid-template-columns:1fr}.ai-grid{grid-template-columns:repeat(2,1fr)}.ai-specs-grid{grid-template-columns:repeat(2,1fr)}.ai-specs-grid div:nth-child(2){border-right:0}.ai-specs-grid div:nth-child(-n+2){border-bottom:1px solid var(--plano-linea-2)}.ai-faq{grid-template-columns:1fr}.ai-faq-lado{position:static}.ai-temas{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding-bottom:.4rem}}
@media (max-width:600px){.ai-grid{grid-template-columns:1fr}.anotaciones span{display:none}.ai-rel-card{grid-template-columns:1fr;grid-template-rows:160px auto}}
@media (prefers-reduced-motion:reduce){.anotaciones i{animation:none}}

/* Cursor v3: sin lag — solo transform (GPU), sin transición de posición */
.rejilla-casos .caso{grid-template-columns:minmax(0,1fr)!important}
.rejilla-casos{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
.ai-casos{grid-template-columns:repeat(2,minmax(0,1fr))}
.ai-casos .caso{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important}
.ai-casos .caso-media{aspect-ratio:auto;min-height:100%}
@media (max-width:1100px){.ai-casos{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.ai-casos .caso{grid-template-columns:minmax(0,1fr)!important}.ai-casos .caso-media{aspect-ratio:16/9}}
.ai-casos .caso{grid-template-columns:minmax(0,1fr)!important}
.ai-casos .caso-media{aspect-ratio:16/9;min-height:0}
.ai-faq-panel,.ai-faq-lado{min-width:0}
@media (max-width:960px){.ai-faq{grid-template-columns:minmax(0,1fr)}.ai-qa{padding:1.2rem 1.25rem}}

/* =====================================================================
   Área EVENTOS — personalidad escénica y emocional
   ===================================================================== */
.area-eventos{--escena:#07090C}
.area-eventos body,.area-eventos{background:var(--escena)}
.ev-hero{position:relative;min-height:min(100svh,940px);display:grid;align-items:end;overflow:hidden;isolation:isolate;background:#000}
.ev-hero picture,.ev-hero>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.ev-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(900px 600px at 80% 20%,transparent,rgba(0,0,0,.35) 70%),linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.05) 30%,rgba(0,0,0,.55) 62%,var(--escena) 100%)}
.ev-hero-cont{padding:9rem 0 calc(clamp(4.5rem,8vw,7rem) + var(--barra-movil))}
.ev-hero h1{font-size:clamp(2.8rem,8vw,7rem);line-height:.95;letter-spacing:-.04em;max-width:11ch;margin-bottom:.35em;text-shadow:0 4px 30px rgba(0,0,0,.5)}
.ev-lead{font-size:var(--fs-lead);line-height:1.4;max-width:42ch;color:#E8EDEF}
.ev-valor{display:inline-block;margin:.25rem 0 2rem;padding:.45rem .95rem;border-radius:999px;background:rgba(169,240,15,.14);border:1px solid rgba(169,240,15,.55);color:var(--lima);font-weight:600;font-size:.98rem}
.ev-hero .migas ol{background:rgba(0,0,0,.45)}
.onda{position:absolute;left:0;right:0;bottom:0;width:200%;height:80px;pointer-events:none}
.onda path{fill:none;stroke:var(--lima);stroke-width:2;opacity:.75;filter:drop-shadow(0 0 6px rgba(169,240,15,.7))}
.ev-onda{animation:onda 9s linear infinite}
@keyframes onda{to{transform:translateX(-50%)}}
.ev-ticker{background:var(--lima);color:var(--negro);overflow:hidden;border-block:1px solid #000}
.ev-ticker-pista{display:flex;width:max-content;animation:marquee 30s linear infinite}
.ev-ticker span{display:flex;align-items:center;gap:1.4rem;padding:.85rem 0 .85rem 1.4rem;font:500 clamp(1.05rem,1.8vw,1.4rem) var(--f-display);letter-spacing:-.01em;white-space:nowrap}
.ev-ticker i{font-style:normal;font-size:.8em}
.ev-fondo{background:radial-gradient(1000px 500px at 10% 0%,rgba(169,240,15,.08),transparent 60%),radial-gradient(900px 500px at 100% 100%,rgba(120,60,200,.12),transparent 60%),#090C10}
.ev-cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:2.25rem}
.ev-cab h2{margin:0;font-size:clamp(2rem,4.4vw,3.6rem);letter-spacing:-.03em}
.ev-cross{display:inline-flex;flex-direction:column;gap:.15rem;text-decoration:none;padding:.8rem 1.1rem;border-radius:14px;border:1px solid var(--linea);background:rgba(255,255,255,.03)}
.ev-cross span{font-size:.88rem;color:var(--texto-2)}
.ev-cross b{display:inline-flex;align-items:center;gap:.45rem;color:var(--lima)}
.ev-cross b svg{width:16px;height:16px;transition:transform .2s}
.ev-cross:hover{border-color:var(--lima);color:var(--texto)}
.ev-cross:hover b svg{transform:translateX(4px)}
.ev-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.ev-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:3/4;padding:1.25rem;border-radius:18px;overflow:hidden;isolation:isolate;text-decoration:none;background:#000}
.ev-card picture,.ev-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s var(--ease),filter .5s}
.ev-card img{filter:saturate(.85) brightness(.8)}
.ev-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.92) 100%)}
.ev-card::before{content:"";position:absolute;left:1.25rem;right:1.25rem;bottom:1rem;height:3px;background:var(--lima);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.ev-ico{position:absolute;top:1rem;left:1rem;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);color:var(--lima)}
.ev-ico svg{width:24px;height:24px}
.ev-card h3{font-size:1.3rem;margin:0 0 .3rem}
.ev-card p{margin:0 0 .6rem;color:#D7DDE0;font-size:.95rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ev-card:hover{color:var(--texto)}
.ev-card:hover img{transform:scale(1.07);filter:saturate(1.1) brightness(.95)}
.ev-card:hover::before{transform:scaleX(1)}
.ev-entrada{background:#0B0E12;border-block:1px dashed rgba(242,245,243,.18)}
.ev-entrada-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:0}
.ev-entrada-grid div{position:relative;padding:2rem 1.5rem;text-align:center}
.ev-entrada-grid div+div::before{content:"";position:absolute;left:0;top:18%;bottom:18%;border-left:2px dotted rgba(242,245,243,.25)}
.ev-entrada-grid dt{font:500 clamp(1.7rem,3vw,2.6rem)/1 var(--f-display);letter-spacing:-.03em;color:var(--texto);margin-bottom:.4rem}
.ev-entrada-grid div:nth-child(odd) dt{color:var(--lima)}
.ev-entrada-grid dd{margin:0;color:var(--texto-2);font-size:.95rem}
.ev-temas{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 2rem}
.ev-temas button{all:unset;cursor:pointer;min-height:46px;padding:.6rem 1.2rem;border-radius:999px;font-weight:600;border:1px solid rgba(242,245,243,.25);color:var(--texto-2);transition:all .2s}
.ev-temas button:hover{color:var(--texto);border-color:rgba(242,245,243,.6)}
.ev-temas button[aria-selected="true"]{background:var(--lima);border-color:var(--lima);color:var(--negro)}
.ev-temas button:focus-visible{outline:3px solid var(--lima);outline-offset:3px}
.ev-faq-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1rem;animation:entra .4s var(--ease)}
.ev-qa{padding:1.6rem;border-radius:18px;background:linear-gradient(160deg,rgba(169,240,15,.07),rgba(255,255,255,.02) 40%);border:1px solid var(--linea)}
.ev-qa h3{font-size:1.15rem;margin:0 0 .6rem}
.ev-qa p{margin:0;color:var(--texto-2)}
@media (max-width:1100px){.ev-grid{grid-template-columns:repeat(2,1fr)}.ev-entrada-grid{grid-template-columns:repeat(2,1fr)}.ev-entrada-grid div:nth-child(3)::before{display:none}}
@media (max-width:600px){.ev-grid{grid-template-columns:1fr 1fr;gap:.6rem}.ev-card{padding:.9rem}.ev-card h3{font-size:1.05rem}.ev-card p{display:none}.ev-ico{width:36px;height:36px}}
@media (prefers-reduced-motion:reduce){.ev-onda,.ev-ticker-pista{animation:none}}

/* =====================================================================
   Página de servicio v4 (ambas áreas)
   ===================================================================== */
.srv-hero.ai-hero{padding-bottom:clamp(3rem,6vw,5rem)}
.srv-hero.ev-hero{min-height:min(88svh,820px)}
.srv-hero.ev-hero h1{font-size:clamp(2.4rem,6.4vw,5.6rem);max-width:14ch}
.srv-puntos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.srv-puntos li{position:relative;padding:1.75rem 1.5rem;border-radius:16px;border:1px solid var(--linea);background:rgba(0,0,0,.22)}
.srv-n{display:block;font:500 .9rem var(--f-display);color:var(--lima);margin-bottom:.9rem}
.srv-puntos h3{font-size:1.25rem;margin:0 0 .35rem}
.srv-puntos p{margin:0;color:var(--texto-2)}
.area-integracion .srv-puntos li{border-radius:4px;border-color:rgba(140,200,230,.18)}
.area-eventos .srv-puntos li{background:linear-gradient(160deg,rgba(169,240,15,.08),rgba(255,255,255,.02) 50%)}
.srv-ficha-cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.25rem;margin-bottom:1.75rem}
.srv-ficha-cab h2{margin:0}
.srv-tabs{display:flex;flex-wrap:wrap;gap:.4rem}
.srv-tabs button{all:unset;cursor:pointer;min-height:44px;padding:.55rem 1rem;border-radius:10px;font-weight:600;font-size:.93rem;color:var(--texto-2);border:1px solid var(--linea);transition:all .2s}
.srv-tabs button:hover{color:var(--texto)}
.srv-tabs button[aria-selected="true"]{background:var(--texto);color:var(--negro);border-color:var(--texto)}
.area-eventos .srv-tabs button{border-radius:999px}
.area-eventos .srv-tabs button[aria-selected="true"]{background:var(--lima);border-color:var(--lima)}
.srv-tabs button:focus-visible{outline:3px solid var(--lima);outline-offset:3px}
.srv-panel-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.srv-panel{max-width:none;padding:clamp(1.5rem,3vw,2.25rem);border-radius:18px;border:1px solid var(--linea);background:linear-gradient(180deg,var(--superficie-2),var(--superficie));min-height:260px;animation:entra .35s var(--ease)}
.area-integracion .srv-panel{border-radius:6px;border-color:rgba(140,200,230,.2);background:#0D1820;background-image:linear-gradient(rgba(140,200,230,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(140,200,230,.05) 1px,transparent 1px);background-size:24px 24px}
.srv-panel h3{margin-top:0;font-size:1.4rem}
.srv-cta-lado{position:sticky;top:100px;padding:1.4rem;border-radius:18px;border:1px solid rgba(169,240,15,.4);background:rgba(169,240,15,.05)}
.srv-cta-lado p{font-size:.95rem;color:var(--texto-2)}
.srv-cta-lado .btn{width:100%;margin-top:.5rem}
.fs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(1.25rem,3vw,2.5rem);align-items:start;margin-top:1.75rem}
.fs-lista{display:grid;gap:.45rem}
.fs-lista button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:.9rem;align-items:flex-start;padding:1rem 1.1rem;border-radius:12px;border:1px solid var(--linea);font:500 1.02rem/1.35 var(--f-display);color:var(--texto-2);transition:all .2s}
.fs-n{flex:none;font-size:.82rem;padding-top:.15rem;color:var(--texto-2)}
.fs-lista button:hover{color:var(--texto);border-color:rgba(242,245,243,.35)}
.fs-lista button[aria-selected="true"]{color:var(--texto);border-color:var(--lima);background:rgba(169,240,15,.07)}
.fs-lista button[aria-selected="true"] .fs-n{color:var(--lima)}
.fs-lista button:focus-visible{outline:3px solid var(--lima);outline-offset:3px}
.fs-resp{position:sticky;top:100px}
.fs-resp [role="tabpanel"]{padding:clamp(1.5rem,3vw,2.25rem);border-radius:18px;background:var(--lima);color:var(--negro);animation:entra .35s var(--ease)}
.fs-resp h3{font-size:1.3rem;margin:0 0 .75rem;color:var(--negro)}
.fs-resp p{margin:0;font-size:1.05rem;line-height:1.55;color:var(--negro)}
.area-integracion .fs-resp [role="tabpanel"]{background:#0D1820;color:var(--texto);border:1px solid rgba(140,200,230,.25);border-left:4px solid var(--lima);border-radius:0 12px 12px 0}
.area-integracion .fs-resp h3,.area-integracion .fs-resp p{color:var(--texto)}
.area-integracion .fs-lista button{border-radius:4px;border-color:rgba(140,200,230,.18)}
@media (max-width:960px){.srv-panel-wrap{grid-template-columns:minmax(0,1fr)}.srv-cta-lado{position:static}.fs{grid-template-columns:minmax(0,1fr)}.fs-resp{position:static;order:-1}}
@media (max-width:760px){.srv-puntos{grid-template-columns:1fr}}
.ev-hero .migas ol{display:inline-flex;width:auto;background:rgba(10,14,18,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;padding:.15rem .8rem}
.ev-hero .migas,.ev-hero .migas a{color:#E4E9EC}
@media (max-width:760px){.ev-hero::after{background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.45) 35%,rgba(0,0,0,.72) 60%,var(--escena) 100%)}.ev-hero .migas{margin-bottom:.9rem}}


/* ===== v7: ajustes móvil ===== */
.btn-borde{background:transparent}
button.btn{font-family:var(--f-texto)}
@media (max-width:760px){
  /* Cookies compactas y legibles */
  .cookies{padding:.85rem .9rem;border-radius:14px}
  .cookies p{font-size:.8rem;line-height:1.45;margin-bottom:.6rem}
  .cookies .acciones{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:.4rem}
  .cookies .btn{min-height:42px;padding:.4rem .5rem;font-size:.82rem;width:100%}
  .cookies .btn[data-accion="guardar"]{grid-column:1/-1}
  /* Héroes: que el botón principal quede a la vista en la primera pantalla */
  .hero{min-height:auto}
  .hero-cont{padding:6.5rem 0 calc(2.5rem + var(--barra-movil))}
  .hero h1{font-size:clamp(2rem,9vw,2.4rem);line-height:1.05;max-width:none}
  .ev-hero,.srv-hero.ev-hero{min-height:auto}
  .ev-hero-cont{padding:6.25rem 0 calc(3.25rem + var(--barra-movil))}
  .ev-hero h1,.srv-hero.ev-hero h1{font-size:clamp(2.1rem,10vw,2.75rem);line-height:1.02;max-width:none}
  .ev-lead,.ai-lead{font-size:1rem;line-height:1.5}
  .ev-valor,.ai-valor{font-size:.88rem}
  .acciones{gap:.6rem}
  .hero .acciones .btn,.ev-hero .acciones .btn,.ai-hero .acciones .btn{min-height:46px;padding:.6rem 1.1rem}
  /* Integración: primero el texto, después la foto */
  .ai-hero{padding-top:5.75rem}
  .ai-hero-grid{gap:1.75rem}
  .ai-hero-media{order:0!important}
  .ai-hero h1{font-size:clamp(2.1rem,10vw,2.75rem);line-height:1.04}
  /* Servicios: la CTA lateral se repite en la banda final */
  .srv-cta-lado{display:none}
  .srv-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:.4rem;padding-bottom:.4rem;scrollbar-width:none;margin-inline:-1rem;padding-inline:1rem}
  .srv-tabs::-webkit-scrollbar{display:none}
  .srv-tabs button{flex:none;white-space:nowrap}
  .srv-puntos{gap:.75rem}
  /* Casos más compactos */
  .caso-cuerpo{padding:1.25rem 1.15rem 1.4rem;gap:.75rem}
  .caso h2,.caso h3{font-size:1.3rem}
  .caso dl{grid-template-columns:minmax(0,1fr);gap:.15rem}
  .caso dt{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--lima);margin-top:.5rem}
  .caso dd{font-size:.95rem;line-height:1.5}
  .ficha-datos{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
  .ficha-datos li{padding:.55rem .7rem;font-size:.8rem}
  .ficha-datos b{font-size:.9rem}
  .caso .servicios a{min-height:34px;font-size:.82rem}
  .caso-media{min-height:200px}
  /* Home: en móvil las tarjetas de división llevan directamente al botón */
  .linea ul{display:none}
  /* Pie más corto: columnas de enlaces a dos columnas */
  .pie-rejilla{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem 1.25rem}
  .pie-rejilla>div:first-child{grid-column:1/-1}
  .pie-rejilla>div:last-child{grid-column:1/-1}
  .pie h2{font-size:.9rem;margin-bottom:.4rem}
  .pie ul a{min-height:38px;font-size:.88rem}
  .pie-legal{gap:.5rem}
  /* Secciones algo menos altas */
  .seccion{padding-block:clamp(3rem,12vw,4rem)}
}

/* ===== v8 home: limpia y directa ===== */
/* Hero centrado */
.hero-centro{min-height:min(100svh,940px);align-items:center;text-align:center}
.hero-centro::after{background:radial-gradient(ellipse at 50% 50%,rgba(13,19,25,.6) 0%,rgba(13,19,25,.78) 60%,rgba(13,19,25,.92) 100%)}
.hero-centro .hero-cont{display:flex;flex-direction:column;align-items:center;padding:7rem 0 calc(4rem + var(--barra-movil))}
.hero-centro h1{max-width:18ch;margin-inline:auto}
.hero-centro .claim{max-width:36ch;margin-inline:auto}
.hero-centro .acciones{justify-content:center}

/* Divisiones: dos bloques de texto, sin imagen */
.divisiones{padding-block:clamp(3.5rem,7vw,6rem)}
.div-rejilla{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}
.div-link{position:relative;display:flex;flex-direction:column;gap:.9rem;padding:clamp(1.75rem,3.5vw,3rem);min-height:clamp(240px,26vw,320px);border-radius:24px;border:1px solid var(--linea);background:var(--superficie,#16222B);color:var(--texto);text-decoration:none;transition:border-color .25s,background-color .25s,transform .25s var(--ease)}
.div-link h2{font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.05;margin:0;max-width:14ch;transition:color .25s}
.div-link p{margin:0;color:var(--texto-2);max-width:38ch}
.div-num{font:500 .9rem var(--f-display);color:var(--lima)}
.div-ir{margin-top:auto;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--linea);transition:background-color .25s,border-color .25s,transform .25s var(--ease)}
.div-ir svg{width:22px;height:22px}
.div-link:hover,.div-link:focus-visible{border-color:var(--lima);transform:translateY(-3px)}
.div-link:hover h2,.div-link:focus-visible h2{color:var(--lima)}
.div-link:hover .div-ir,.div-link:focus-visible .div-ir{background:var(--lima);border-color:var(--lima);color:var(--negro);transform:translateX(4px)}
.div-link:focus-visible{outline:3px solid var(--lima);outline-offset:4px}

/* Así trabajamos: pasos que se activan con el scroll */
.metodo-rejilla{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.metodo-cab{position:sticky;top:clamp(6rem,22vh,12rem)}
.pasos-s{--p:0;position:relative;list-style:none;margin:0;padding:0;display:grid;gap:clamp(2.5rem,7vh,4.5rem)}
.pasos-s::before,.pasos-s::after{content:"";position:absolute;left:27px;top:28px;bottom:28px;width:2px;border-radius:2px;background:var(--linea)}
.pasos-s::after{bottom:auto;height:calc((100% - 56px) * var(--p));background:var(--lima);transition:height .15s linear}
.paso-s{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:1.4rem;opacity:.38;transition:opacity .4s var(--ease)}
.paso-s.activo,.paso-s.hecho{opacity:1}
.paso-ico{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--noche-2);border:1px solid var(--linea);color:var(--texto-2);transition:background-color .35s,border-color .35s,color .35s,box-shadow .35s}
.paso-ico svg{width:24px;height:24px}
.paso-s.activo .paso-ico{background:var(--lima);border-color:var(--lima);color:var(--negro);box-shadow:0 0 0 8px rgba(169,240,15,.14)}
.paso-s.hecho .paso-ico{border-color:var(--lima);color:var(--lima)}
.paso-num{font:500 .85rem var(--f-display);color:var(--lima);margin:0 0 .35rem}
.paso-s h3{font-size:clamp(1.35rem,2.2vw,1.85rem);margin:0 0 .5rem}
.paso-s p{color:var(--texto-2);margin:0 0 .9rem;max-width:52ch}
.paso-s ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.paso-s li{display:flex;gap:.6rem;color:var(--texto);font-size:.95rem}
.paso-s li::before{content:"";flex:none;width:8px;height:8px;margin-top:.5rem;border-radius:2px;background:var(--lima)}
@media (max-width:860px){
  .div-rejilla,.metodo-rejilla{grid-template-columns:minmax(0,1fr)}
  .metodo-cab{position:static}
  .pasos-s::before,.pasos-s::after{left:21px;top:22px}
  .pasos-s::after{height:calc((100% - 44px) * var(--p))}
  .paso-s{grid-template-columns:44px minmax(0,1fr);gap:1rem}
  .paso-ico{width:44px;height:44px}.paso-ico svg{width:20px;height:20px}
  .div-link{min-height:0}
}
@media (max-width:760px){
  .hero-centro{min-height:calc(100svh - var(--barra-movil))}
  .hero-centro .hero-cont{padding:6rem 0 3rem}
}
@media (prefers-reduced-motion:reduce){.paso-s{opacity:1}.pasos-s::after{transition:none}}

/* ===== v9 Integración: hub limpio ===== */
.ai-hero-c{padding:clamp(7rem,12vw,9rem) 0 clamp(2.5rem,5vw,4rem);background:radial-gradient(1200px 600px at 50% 0%,rgba(169,240,15,.06),transparent 60%),var(--noche)}
.ai-hero-centro{display:flex;flex-direction:column;align-items:center;text-align:center}
.ai-hero-centro .migas{margin-bottom:1.5rem}
.ai-hero-centro h1{font-size:clamp(2.4rem,5.4vw,4.6rem);line-height:1.02;max-width:16ch;margin:0 auto .5em}
.ai-hero-centro .ai-lead{max-width:56ch;margin:0 auto 1.4rem;color:var(--texto-2);font-size:clamp(1.05rem,1.4vw,1.2rem)}
.ai-valor-linea{margin:0 auto 2rem;padding:.65rem 1.25rem;border-radius:var(--r-pill);border:1px solid rgba(169,240,15,.45);background:rgba(169,240,15,.07);color:var(--lima);font-weight:600;font-size:clamp(.92rem,1.2vw,1.05rem)}
.ai-hero-centro .acciones{justify-content:center}
/* Imagen fundida con el fondo + puntos interactivos */
.ai-visor{margin-top:clamp(2.5rem,5vw,4rem);margin-bottom:0}
.ai-visor-img{position:relative;aspect-ratio:1.8333;border-radius:20px;overflow:visible}
.ai-visor-img picture,.ai-visor-img img{display:block;width:100%;height:100%;object-fit:cover;border-radius:20px}
.ai-visor-img img{filter:brightness(.7) saturate(.8) contrast(1.05);-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}
.ai-visor-img::after{content:"";position:absolute;inset:0;border-radius:20px;pointer-events:none;background:linear-gradient(180deg,rgba(17,26,35,.15),rgba(17,26,35,0) 30%),radial-gradient(ellipse at 50% 40%,transparent 50%,rgba(17,26,35,.55) 100%)}
.ai-visor-pie{text-align:center;color:var(--texto-2);font-size:.88rem;margin-top:-2rem;position:relative}
.hs{all:unset;box-sizing:border-box;position:absolute;z-index:2;left:var(--x);top:var(--y);width:44px;height:44px;margin:-22px 0 0 -22px;display:grid;place-items:center;cursor:pointer}
.hs::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--lima);box-shadow:0 0 0 4px rgba(169,240,15,.25),0 0 18px rgba(169,240,15,.6)}
.hs::after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid var(--lima);animation:hs-pulso 2.4s ease-out infinite}
@keyframes hs-pulso{0%{transform:scale(1);opacity:.9}100%{transform:scale(3);opacity:0}}
.hs-tip{position:absolute;left:50%;bottom:calc(100% + 6px);width:max-content;max-width:260px;padding:.8rem 1rem;border-radius:14px;background:rgba(12,20,27,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(169,240,15,.4);color:var(--texto-2);font-size:.86rem;line-height:1.45;text-align:left;box-shadow:0 14px 34px rgba(0,0,0,.4);opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none}
.hs-tip strong{display:block;color:var(--texto);font-weight:600;margin-bottom:.2rem}
.hs-tip.izq{left:auto;right:-10px;transform:translate(0,6px)}
.hs:hover .hs-tip,.hs:focus-visible .hs-tip,.hs:focus .hs-tip{opacity:1;visibility:visible;transform:translate(-50%,0)}
.hs:hover .hs-tip.izq,.hs:focus .hs-tip.izq{transform:translate(0,0)}
.hs:focus-visible::before{outline:3px solid #fff;outline-offset:3px}
/* Derivación a Eventos */
.ai-cruce{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1.25rem;margin-top:clamp(2rem,4vw,3rem);text-align:center}
.ai-cruce p{margin:0;color:var(--texto);font-weight:600}
.ai-cruce .btn svg{width:18px;height:18px}
/* Qué integramos: tarjetas compactas sin enlaces */
.ai-tit{text-align:center;margin-bottom:clamp(2rem,4vw,3rem)}
.ai-areas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.ai-area{padding:1.5rem;border-radius:18px;border:1px solid var(--linea);background:var(--superficie);transition:border-color .25s,transform .25s var(--ease)}
.ai-area:hover{border-color:rgba(169,240,15,.55);transform:translateY(-2px)}
.ai-area .ai-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(169,240,15,.1);color:var(--lima);margin-bottom:1rem}
.ai-area .ai-ico svg{width:22px;height:22px}
.ai-area h3{font-size:1.2rem;margin:0 0 .4rem}
.ai-area>p{color:var(--texto-2);font-size:.95rem;margin:0 0 1rem}
.ai-pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.ai-pills li{padding:.3rem .7rem;border-radius:var(--r-pill);border:1px solid var(--linea);font-size:.8rem;color:var(--texto);transition:border-color .2s,color .2s}
.ai-area:hover .ai-pills li{border-color:rgba(169,240,15,.4)}
/* Proyectos compactos con detalle al pasar el ratón */
.ai-proyectos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:1rem}
.ai-pr{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--linea);background:var(--superficie);outline:none}
.ai-pr-media{aspect-ratio:16/10;overflow:hidden}
.ai-pr-media picture,.ai-pr-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}
.ai-pr-txt{padding:.9rem 1.1rem 1.1rem}
.ai-pr-cli{margin:0 0 .2rem;color:var(--lima);font-size:.82rem;font-weight:600}
.ai-pr h3{font-size:1.02rem;line-height:1.3;margin:0}
.ai-pr-mas{position:absolute;inset:0;padding:1.2rem;display:flex;flex-direction:column;justify-content:flex-end;gap:.7rem;background:linear-gradient(180deg,rgba(12,20,27,.55),rgba(12,20,27,.96) 45%);opacity:0;transition:opacity .25s}
.ai-pr-mas p{margin:0;font-size:.88rem;line-height:1.45;color:var(--texto-2)}
.ai-pr-mas b{color:var(--texto)}
.ai-pr-mas ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.ai-pr-mas li{padding:.25rem .6rem;border-radius:var(--r-pill);background:rgba(169,240,15,.14);color:var(--lima);font-size:.76rem}
.ai-pr:hover .ai-pr-mas,.ai-pr:focus-visible .ai-pr-mas{opacity:1}
.ai-pr:hover img{transform:scale(1.04)}
.ai-pr:focus-visible{border-color:var(--lima);box-shadow:0 0 0 3px var(--lima)}
@media (hover:none){.ai-pr-mas{position:static;opacity:1;background:none;padding:0 1.1rem 1.1rem}}
/* CTA final neutro */
.banda-neutra{background:var(--noche-2);border-top:1px solid var(--linea)}
.banda-neutra h2{color:var(--texto)}.banda-neutra .lead{color:var(--texto-2)}
@media (max-width:960px){.ai-areas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){
  .ai-areas{grid-template-columns:minmax(0,1fr)}
  .ai-hero-c{padding-top:6rem}
  .ai-valor-linea{border-radius:14px}
  .ai-visor-img,.ai-visor-img picture,.ai-visor-img img,.ai-visor-img::after{border-radius:12px}
  .ai-visor-pie{margin-top:-1rem}
  .hs-tip{max-width:210px;font-size:.8rem}
}
.ai-tit{margin-inline:auto;max-width:none}
.ai-proyectos{display:flex;flex-wrap:wrap;justify-content:center}
.ai-proyectos>.ai-pr{flex:0 1 calc((100% - 2rem)/3);min-width:min(100%,260px)}
@media (max-width:860px){.ai-proyectos>.ai-pr{flex-basis:calc((100% - 1rem)/2)}}
@media (max-width:560px){.ai-proyectos>.ai-pr{flex-basis:100%}}
.ai-pr-mas{background:linear-gradient(180deg,rgba(12,20,27,.7),rgba(12,20,27,.98) 35%)}
@media (hover:none){.ai-pr-mas{background:none}}

/* ===== v10 Eventos: hub limpio ===== */
.ev-hero-c{min-height:min(88svh,820px);display:flex;flex-direction:column;justify-content:center;text-align:center}
.ev-hero-c::after{background:radial-gradient(ellipse at 50% 45%,rgba(10,14,18,.5),rgba(10,14,18,.82) 70%),linear-gradient(180deg,rgba(10,14,18,.3),rgba(10,14,18,.9))!important}
.ev-hero-centro{display:flex;flex-direction:column;align-items:center;padding:8rem 0 2rem;flex:1;justify-content:center}
.ev-hero-centro h1{font-size:clamp(2.6rem,6.4vw,5.6rem);line-height:1;max-width:14ch;margin:0 auto}
.ev-cinta{position:relative;overflow:hidden;padding:1.1rem 0;border-top:1px solid rgba(242,245,243,.12);border-bottom:1px solid rgba(242,245,243,.12);background:rgba(10,14,18,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ev-cinta-pista{display:flex;width:max-content;animation:ev-cinta 38s linear infinite}
.ev-cinta-pista span{display:flex;align-items:center;white-space:nowrap;font:500 clamp(1rem,1.6vw,1.3rem) var(--f-display);color:var(--texto)}
.ev-cinta-pista i{font-style:normal;color:var(--lima);margin:0 1.4rem}
@keyframes ev-cinta{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion:reduce){.ev-cinta-pista{animation:none}}
.ev-hero-c+.contenedor .ai-cruce{margin-top:clamp(1.75rem,3vw,2.5rem)}
.ai-areas-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ai-pr-media.sin-foto{display:grid;place-items:center;background:radial-gradient(300px 180px at 30% 20%,rgba(169,240,15,.2),transparent 70%),repeating-linear-gradient(90deg,rgba(242,245,243,.05) 0 1px,transparent 1px 22px),repeating-linear-gradient(0deg,rgba(242,245,243,.05) 0 1px,transparent 1px 22px),var(--noche-2)}
.ai-pr-media.sin-foto svg{width:64px;height:64px;color:var(--lima);filter:drop-shadow(0 0 14px rgba(169,240,15,.5))}
@media (max-width:1100px){.ai-areas-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ai-areas-4{grid-template-columns:minmax(0,1fr)}.ev-hero-c{min-height:72svh}.ev-hero-centro{padding-top:6.5rem}}
@media (max-width:600px){
  .ai-proyectos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
  .ai-proyectos>.ai-pr{min-width:0}
  .ai-pr-txt{padding:.6rem .7rem .75rem}
  .ai-pr-cli{font-size:.7rem}
  .ai-pr h3{font-size:.85rem}
  .ai-pr-mas,.ai-pr-mas{position:absolute;inset:0;opacity:0;padding:.7rem;background:linear-gradient(180deg,rgba(12,20,27,.6),rgba(12,20,27,.97) 30%)}
  .ai-pr:focus .ai-pr-mas,.ai-pr:focus-within .ai-pr-mas{opacity:1}
  .ai-pr-mas p{display:none}
  .ai-pr-mas li{font-size:.7rem}
  .ai-pr-media.sin-foto svg{width:40px;height:40px}
}

/* ===== v11 Empresa ===== */
.hero-empresa{min-height:min(78svh,760px)}
.hero-empresa h1{font-size:clamp(2.3rem,5.2vw,4.4rem);line-height:1.05;letter-spacing:-.02em;max-width:20ch}
.hero-empresa .claim{color:var(--texto-2);font-family:var(--f-texto)}
.hero-empresa .migas{margin-bottom:1.25rem}
/* Métricas */
.em-metricas{border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);background:var(--noche-2)}
.em-metricas-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}
.em-metricas-grid>div{padding:clamp(1.75rem,3.5vw,2.75rem) clamp(1rem,2vw,1.75rem);border-left:1px solid var(--linea)}
.em-metricas-grid>div:first-child{border-left:0}
.em-metricas-grid dt{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.6rem}
.em-n{font:500 clamp(2.4rem,4.4vw,3.6rem)/1 var(--f-display);color:var(--lima);letter-spacing:-.03em}
.em-u{font:500 .95rem var(--f-display);color:var(--texto)}
.em-metricas-grid dd{margin:0;color:var(--texto-2);font-size:.92rem;max-width:30ch}
/* Historia */
.em-hist-cab{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,5vw,5rem);align-items:end;margin-bottom:clamp(2.5rem,5vw,4rem)}
.em-hist-cab h2{margin:0}.em-hist-cab .lead{margin:0;max-width:48ch}
.em-linea{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem);position:relative}
.em-linea::before{content:"";position:absolute;left:0;right:0;top:1.35rem;height:1px;background:linear-gradient(90deg,var(--lima),rgba(169,240,15,.15))}
.em-cap{position:relative;padding-top:3.25rem}
.em-cap::before{content:"";position:absolute;left:0;top:calc(1.35rem - 6px);width:13px;height:13px;border-radius:50%;background:var(--noche);border:2px solid var(--lima)}
.em-cap:nth-child(3)::before{background:var(--lima);box-shadow:0 0 0 6px rgba(169,240,15,.15)}
.em-anio{position:absolute;top:0;left:1.6rem;margin:0;font:500 1.05rem var(--f-display);color:var(--texto);line-height:2.7rem;transform:translateY(-.65rem)}
.em-k{margin:0 0 .35rem;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lima)}
.em-cap h3{font-size:clamp(1.2rem,1.8vw,1.5rem);margin:0 0 .6rem}
.em-cap>p:last-child{margin:0;color:var(--texto-2);font-size:.95rem;line-height:1.6}
.em-cita{margin:clamp(3rem,6vw,5rem) auto 0;max-width:46rem;text-align:center}
.em-cita blockquote{margin:0;font:500 clamp(1.5rem,2.8vw,2.3rem)/1.25 var(--f-display);letter-spacing:-.01em}
.em-cita figcaption{margin-top:1rem;color:var(--texto-2);font-size:.9rem}
.em-cita a{color:var(--texto)}
/* Equipo */
.em-equipo{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}
.em-equipo .persona picture img{filter:saturate(1.08) contrast(1.03) sepia(.08) brightness(1.03)}
.em-equipo .persona:hover img,.em-equipo .persona:focus-within img{filter:saturate(1.12) contrast(1.04) sepia(.06) brightness(1.05)}
.em-equipo .persona .base{padding:.75rem .85rem .9rem}
.em-acc{position:absolute;top:.6rem;right:.6rem;display:flex;gap:.35rem;opacity:0;transform:translateY(-4px);transition:opacity .25s,transform .25s var(--ease)}
.em-acc a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(12,20,27,.8);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--texto)}
.em-acc a:hover{background:var(--lima);color:var(--negro)}
.em-acc svg{width:17px;height:17px}
.em-equipo .persona:hover .em-acc,.em-equipo .persona:focus-within .em-acc{opacity:1;transform:none}
@media (hover:none){.em-acc{opacity:1;transform:none}}
/* CTA final */
.em-cta{padding:clamp(5rem,11vw,9rem) 0;background:var(--noche-2);border-top:1px solid var(--linea);text-align:center}
.em-cta-in{display:flex;flex-direction:column;align-items:center;gap:2.25rem}
.em-cta h2{font-size:clamp(2.2rem,5.6vw,4.6rem);line-height:1.05;letter-spacing:-.03em;max-width:18ch;margin:0}
.em-cta h2 span{display:block;color:var(--lima)}
.em-cta-acc{display:flex;flex-direction:column;align-items:center;gap:1rem}
.em-boton{position:relative;display:inline-flex;align-items:center;gap:1rem;padding:.55rem .6rem .55rem 2rem;min-height:64px;border-radius:999px;background:var(--lima);color:var(--negro)!important;font:600 1.15rem var(--f-texto);text-decoration:none;overflow:hidden;isolation:isolate;box-shadow:0 0 0 0 rgba(169,240,15,.5);transition:transform .3s var(--ease),box-shadow .3s}
.em-boton::before{content:"";position:absolute;inset:0;z-index:-1;background:#fff;transform:translateX(-101%);transition:transform .45s var(--ease)}
.em-boton-ico{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--negro);color:var(--lima);transition:transform .35s var(--ease)}
.em-boton-ico svg{width:20px;height:20px}
.em-boton:hover,.em-boton:focus-visible{transform:translateY(-2px) scale(1.03);box-shadow:0 0 0 10px rgba(169,240,15,.12),0 18px 40px rgba(169,240,15,.25)}
.em-boton:hover::before,.em-boton:focus-visible::before{transform:none}
.em-boton:hover .em-boton-ico,.em-boton:focus-visible .em-boton-ico{transform:rotate(-45deg)}
.em-boton:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media (prefers-reduced-motion:no-preference){.em-boton{animation:em-latido 2.8s ease-out infinite}}
@keyframes em-latido{0%{box-shadow:0 0 0 0 rgba(169,240,15,.45)}70%,100%{box-shadow:0 0 0 18px rgba(169,240,15,0)}}
.em-boton:hover{animation:none}
.em-tel{color:var(--texto-2);font-size:.95rem}
.em-tel:hover{color:var(--lima)}
/* Responsive */
@media (max-width:1100px){.em-equipo{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:960px){
  .em-metricas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .em-metricas-grid>div:nth-child(3){border-left:0}
  .em-metricas-grid>div:nth-child(n+3){border-top:1px solid var(--linea)}
  .em-hist-cab{grid-template-columns:minmax(0,1fr)}
  .em-linea{grid-template-columns:minmax(0,1fr);gap:2rem}
  .em-linea::before{left:6px;right:auto;top:0;bottom:0;width:1px;height:auto;background:linear-gradient(180deg,var(--lima),rgba(169,240,15,.15))}
  .em-cap{padding:0 0 0 2.25rem}
  .em-cap::before{top:.35rem}
  .em-anio{position:static;transform:none;line-height:1.3;margin-bottom:.2rem}
}
@media (max-width:600px){
  .em-equipo{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
  .em-metricas-grid>div{padding:1.4rem 1rem}
  .em-boton{min-height:58px;font-size:1.05rem;padding-left:1.6rem}
  .em-boton-ico{width:44px;height:44px}
}

/* ===== v13: progreso de lectura, animaciones y CTA asimétrico ===== */
.progreso-lectura{position:fixed;top:0;left:0;right:0;height:3px;z-index:1000;pointer-events:none;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--lima),#E5FF8A 60%,#fff);box-shadow:0 0 10px rgba(169,240,15,.6);will-change:transform}
.js [data-rv]{opacity:0;transform:translateY(24px);transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:var(--d,0s)}
.js [data-rv].visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js [data-rv]{opacity:1;transform:none;transition:none}.progreso-lectura{display:none}}
/* CTA en caja, a dos columnas */
.em-cta{padding:clamp(3rem,7vw,6rem) 0;background:transparent;border-top:0;text-align:left}
.em-cta-caja{display:grid;grid-template-columns:minmax(0,1.5fr) auto;align-items:center;gap:clamp(2rem,5vw,4rem);padding:clamp(2.25rem,5vw,4.5rem);border-radius:32px;background:var(--lima);color:var(--negro);position:relative;overflow:hidden;isolation:isolate}
.em-cta-caja::after{content:"";position:absolute;right:-12%;top:-40%;width:55%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.45),transparent 65%);z-index:-1;pointer-events:none}
.em-cta-caja h2{font-size:clamp(2.2rem,5.2vw,4.4rem);line-height:.98;letter-spacing:-.035em;color:var(--negro);margin:0;max-width:14ch;text-align:left}
.em-cta-caja h2 span{display:block;color:var(--negro);opacity:.55}
.em-cta-caja .em-cta-acc{align-items:flex-end;justify-self:end}
.em-cta-caja .em-boton{background:var(--negro);color:var(--lima)!important;animation:none;box-shadow:0 14px 30px rgba(0,0,0,.25)}
.em-cta-caja .em-boton::before{background:#fff}
.em-cta-caja .em-boton:hover,.em-cta-caja .em-boton:focus-visible{color:var(--negro)!important;transform:translateY(-3px) rotate(-1.5deg);box-shadow:0 22px 40px rgba(0,0,0,.3)}
.em-cta-caja .em-boton-ico{background:var(--lima);color:var(--negro)}
.em-cta-caja .em-boton:hover .em-boton-ico{background:var(--negro);color:var(--lima);transform:rotate(-45deg) scale(1.08)}
.em-cta-caja .em-tel{color:rgba(0,0,0,.72);text-decoration:underline;text-underline-offset:3px}
.em-cta-caja .em-tel:hover{color:var(--negro)}
.em-cta-caja :focus-visible{outline-color:var(--negro)}
@media (max-width:760px){
  .em-cta-caja{grid-template-columns:minmax(0,1fr);border-radius:22px}
  .em-cta-caja .em-cta-acc{align-items:flex-start;justify-self:start}
}

/* ===== v14 Historia: línea del tiempo editorial ===== */
.hi-cab{display:flex;flex-direction:column;align-items:center;text-align:center;margin:0 auto clamp(3rem,6vw,5rem);max-width:46rem}
.hi-cab h2{margin:0 0 .75rem}
.hi-cab .lead{margin:0 0 1.75rem}
.hi-prensa{display:inline-flex;align-items:center;gap:.9rem;padding:.55rem .55rem .55rem 1.2rem;border-radius:999px;border:1px solid var(--linea);background:var(--superficie);color:var(--texto);text-decoration:none;text-align:left;transition:border-color .25s,transform .25s var(--ease),background-color .25s}
.hi-prensa-medio{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lima);white-space:nowrap}
.hi-prensa-t{font-size:.92rem;line-height:1.3}
.hi-prensa-ico{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--lima);color:var(--negro);transition:transform .3s var(--ease)}
.hi-prensa-ico svg{width:17px;height:17px}
.hi-prensa:hover,.hi-prensa:focus-visible{border-color:var(--lima);transform:translateY(-2px)}
.hi-prensa:hover .hi-prensa-ico{transform:rotate(-45deg)}
.hi-linea{list-style:none;margin:0 auto;padding:0;max-width:1080px;position:relative;display:grid;gap:clamp(1.5rem,3vw,2.5rem)}
.hi-linea::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;transform:translateX(-50%);background:linear-gradient(180deg,rgba(169,240,15,.1),var(--lima) 15%,var(--lima) 85%,rgba(169,240,15,.1))}
.hi-hito{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(2.5rem,6vw,5rem)}
.hi-hito::before{content:"";position:absolute;left:50%;top:2.1rem;width:15px;height:15px;border-radius:50%;transform:translateX(-50%);background:var(--noche);border:2px solid var(--lima);box-shadow:0 0 0 6px rgba(169,240,15,.1);z-index:1}
.hi-hito:nth-child(odd) .hi-tarjeta{grid-column:1}
.hi-hito:nth-child(even) .hi-tarjeta{grid-column:2}
.hi-hito:nth-child(3)::before{background:var(--lima)}
.hi-tarjeta{position:relative;overflow:hidden;padding:clamp(1.5rem,3vw,2.25rem);border-radius:20px;border:1px solid var(--linea);background:linear-gradient(180deg,var(--superficie-2),var(--superficie));transition:border-color .3s,transform .3s var(--ease)}
.hi-tarjeta:hover{border-color:rgba(169,240,15,.5);transform:translateY(-3px)}
.hi-meta{display:flex;justify-content:space-between;gap:1rem;margin:0 0 1.25rem;padding-bottom:.8rem;border-bottom:1px solid var(--linea);font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--texto-2)}
.hi-meta span:last-child{color:var(--lima)}
.hi-anio{position:absolute;right:1rem;bottom:-.9rem;margin:0;font:500 clamp(4.5rem,9vw,7rem)/1 var(--f-display);letter-spacing:-.05em;color:rgba(242,245,243,.05);pointer-events:none}
.hi-tarjeta h3{position:relative;font-size:clamp(1.35rem,2.2vw,1.8rem);line-height:1.15;margin:0 0 .7rem}
.hi-tarjeta>p:last-child{position:relative;margin:0;color:var(--texto-2);line-height:1.65;max-width:52ch}
@media (max-width:860px){
  .hi-linea::before{left:7px;transform:none}
  .hi-hito{grid-template-columns:minmax(0,1fr);padding-left:2.25rem}
  .hi-hito::before{left:0;transform:none;top:1.9rem}
  .hi-hito:nth-child(n) .hi-tarjeta{grid-column:1}
  .hi-prensa{border-radius:18px}
}

/* ===== v14 Equipo: rejilla simétrica y fotos uniformes ===== */
.em-equipo{max-width:1200px;margin-inline:auto;justify-content:center}
.em-equipo .persona{display:flex;flex-direction:column;text-align:center}
.em-equipo .persona picture{display:block;aspect-ratio:4/5;overflow:hidden}
.em-equipo .persona picture img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 22%;border-radius:0}
.em-equipo .persona .base{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;min-height:4.6rem}
.em-equipo .persona .rol{max-width:16ch}
@media (max-width:600px){.em-equipo .persona .base{min-height:5.2rem}}
.pie-rejilla{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
@media (max-width:760px){.pie-rejilla{grid-template-columns:minmax(0,1fr)}}

/* ===== v15 ===== */
/* Visor con puntos: relación de aspecto por imagen */
.ai-visor-img{aspect-ratio:var(--ar,1.8333)}
.hs-tip.der{left:-10px;transform:translate(0,6px)}
.hs:hover .hs-tip.der,.hs:focus .hs-tip.der{transform:translate(0,0)}
/* Eventos: cabecera limpia con cinta y visor */
.ev-hero-v{padding-bottom:clamp(2rem,4vw,3rem)}
.ev-hero-v .ai-hero-centro h1{max-width:14ch;margin-bottom:clamp(1.75rem,3.5vw,2.5rem)}
.ev-hero-v .ev-cinta{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.ev-hero-v .ai-visor{margin-top:clamp(2rem,4vw,3rem)}
.ev-hero-v+.contenedor .ai-cruce{margin-top:0}
/* Historia: enlace a la noticia en cada hito */
.hi-leer{position:relative;display:inline-flex;align-items:center;gap:.25rem;margin-top:1.1rem;padding-top:.9rem;border-top:1px solid var(--linea);width:100%;font-size:.88rem;font-weight:600;color:var(--lima);text-decoration:none}
.hi-leer span[aria-hidden]{display:inline-block;transition:transform .25s var(--ease)}
.hi-leer:hover{color:#E5FF8A}
.hi-leer:hover span[aria-hidden]{transform:translate(3px,-3px)}
.hi-tarjeta>p:last-of-type{position:relative;margin:0;color:var(--texto-2);line-height:1.65;max-width:52ch}
/* Equipo: retratos circulares con tratamiento unificado */
.em-equipo{gap:clamp(1.5rem,3vw,2.5rem) 1rem}
.eq-p{display:flex;flex-direction:column;align-items:center;text-align:center;outline:none;position:relative}
.eq-foto{position:relative;width:clamp(112px,11vw,150px);aspect-ratio:1;border-radius:50%;overflow:hidden;margin-bottom:1rem;background:#0c0c0c;box-shadow:0 0 0 1px var(--linea),0 0 0 6px var(--noche),0 0 0 7px rgba(242,245,243,.08);transition:box-shadow .35s var(--ease),transform .35s var(--ease)}
.eq-foto picture,.eq-foto img{display:block;width:100%;height:100%}
.eq-foto img{object-fit:cover;object-position:50% 40%;transform:scale(1.1);transform-origin:50% 40%;filter:none;transition:transform .5s var(--ease),filter .5s var(--ease)}
.eq-foto::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 50% 45%,transparent 60%,rgba(0,0,0,.25) 100%),linear-gradient(180deg,rgba(169,240,15,.06),rgba(15,24,31,.1));transition:opacity .5s var(--ease)}
.eq-p h3{font-size:1rem;margin:0 0 .2rem}
.eq-rol{margin:0;font-size:.82rem;color:var(--texto-2);max-width:16ch;line-height:1.35}
.eq-acc{display:flex;gap:.35rem;margin-top:.7rem;opacity:0;transform:translateY(-4px);transition:opacity .25s,transform .25s var(--ease)}
.eq-acc a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--linea);color:var(--texto)}
.eq-acc a:hover{background:var(--lima);border-color:var(--lima);color:var(--negro)}
.eq-acc svg{width:16px;height:16px}
.eq-p:hover .eq-foto,.eq-p:focus-within .eq-foto{transform:translateY(-4px);box-shadow:0 0 0 1px var(--lima),0 0 0 6px var(--noche),0 0 0 7px rgba(169,240,15,.5),0 18px 36px rgba(0,0,0,.4)}
.eq-p:hover .eq-foto img,.eq-p:focus-within .eq-foto img{transform:scale(1.17);filter:brightness(1.05)}
.eq-p:hover .eq-foto::after,.eq-p:focus-within .eq-foto::after{opacity:.55}
.eq-p:hover .eq-acc,.eq-p:focus-within .eq-acc{opacity:1;transform:none}
.eq-p:focus-visible .eq-foto{outline:3px solid var(--lima);outline-offset:8px}
@media (hover:none){.eq-acc{opacity:1;transform:none}}
@media (max-width:600px){.eq-foto{width:118px}}

/* ===== v18 Historia y Equipo sin portada ===== */
.em-cab{padding:clamp(8rem,13vw,10rem) 0 clamp(1.5rem,3vw,2.5rem);text-align:center}
.em-cab .migas{display:flex;justify-content:center;margin-bottom:1.25rem}
.em-cab h1{font-size:clamp(2.4rem,5vw,4.2rem);line-height:1.05;letter-spacing:-.02em;margin:0 auto .6rem;max-width:18ch}
.em-cab-lead{margin:0 auto;max-width:52ch;color:var(--texto-2);font-size:clamp(1.02rem,1.4vw,1.15rem)}
.em-cab+.seccion{padding-top:clamp(2rem,4vw,3.5rem)}
.hi-anio{font-size:clamp(3rem,6vw,4.6rem)}

/* ===== v19 Galería de eventos ===== */
.galeria{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.gal-item{all:unset;box-sizing:border-box;cursor:zoom-in;display:block;position:relative;width:100%;aspect-ratio:1;border-radius:16px;overflow:hidden;background:var(--superficie)}
.gal-item picture,.gal-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.gal-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,12,16,.85));opacity:.85;transition:opacity .3s}
.gal-t{position:absolute;left:1rem;right:1rem;bottom:.9rem;z-index:1;font:500 1rem/1.25 var(--f-display);color:#fff}
.gal-item:hover img,.gal-item:focus-visible img{transform:scale(1.04)}
.gal-item:focus-visible{outline:3px solid var(--lima);outline-offset:3px}
.lightbox{border:0;padding:0;margin:auto;max-width:min(92vw,1100px);max-height:92vh;background:transparent;color:var(--texto);overflow:visible}
.lightbox::backdrop{background:rgba(5,8,11,.92);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:.9rem}
.lightbox img{display:block;width:auto;height:auto;max-width:min(92vw,1100px);max-height:78vh;border-radius:10px;object-fit:contain}
.lightbox figcaption{text-align:center;max-width:60ch}
.lightbox figcaption strong{display:block;font:500 1.15rem var(--f-display)}
.lightbox figcaption span{display:block;margin-top:.25rem;color:var(--texto-2);font-size:.95rem}
.lb-cerrar,.lb-nav{all:unset;cursor:pointer;position:fixed;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(242,245,243,.1);color:#fff;font-size:1.9rem;line-height:1;transition:background-color .2s}
.lb-cerrar:hover,.lb-nav:hover{background:var(--lima);color:var(--negro)}
.lb-cerrar:focus-visible,.lb-nav:focus-visible{outline:3px solid var(--lima)}
.lb-cerrar{top:1rem;right:1rem}
.lb-prev{left:1rem;top:50%;transform:translateY(-50%)}
.lb-next{right:1rem;top:50%;transform:translateY(-50%)}
@media (max-width:860px){.galeria{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.gal-t{font-size:.85rem;left:.7rem;bottom:.6rem}.lb-nav{top:auto;bottom:1rem;transform:none}}

/* ===== v20 Eventos: cabecera modular ===== */
.ev-mods{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;max-width:1180px}
.ev-mods li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;text-align:center;padding:1.4rem 1rem;min-height:150px;border-radius:18px;border:1px solid var(--linea);background:var(--superficie);font:500 .98rem/1.3 var(--f-display);color:var(--texto);transition:border-color .25s,transform .25s var(--ease)}
.ev-mods li:hover{border-color:rgba(169,240,15,.55);transform:translateY(-2px)}
.ev-mod-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:rgba(169,240,15,.1);color:var(--lima)}
.ev-mod-ico svg{width:24px;height:24px}
@media (max-width:1100px){.ev-mods{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.ev-mods{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.ev-mods li{min-height:120px;padding:1rem .7rem;font-size:.88rem}}
.ai-areas:not(.ai-areas-4)>li:last-child:nth-child(3n+1){grid-column:1/-1}
@media (max-width:960px){.ai-areas:not(.ai-areas-4)>li:last-child:nth-child(3n+1){grid-column:auto}.ai-areas:not(.ai-areas-4)>li:last-child:nth-child(odd){grid-column:1/-1}}
@media (max-width:600px){.ai-areas:not(.ai-areas-4)>li:last-child:nth-child(odd){grid-column:auto}}
/* v21: módulos con detalle */
.ev-mods{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.ev-mods li{align-items:flex-start;justify-content:flex-start;text-align:left;gap:.7rem;padding:1.5rem;min-height:0}
.ev-mod-t{font:500 1.08rem/1.25 var(--f-display);margin:0;color:var(--texto)}
.ev-mods p{margin:0;font:400 .9rem/1.5 var(--f-texto);color:var(--texto-2)}
@media (max-width:1100px){.ev-mods{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ev-mods{grid-template-columns:minmax(0,1fr)}.ev-mods li{padding:1.2rem}}
.ev-hero-v .ai-visor{margin:clamp(1.5rem,3vw,2.5rem) auto clamp(1.5rem,3vw,2.5rem)}
.galeria{display:flex;flex-wrap:wrap;justify-content:center}.galeria>li{flex:0 1 calc((100% - 2rem)/3)}
@media (max-width:860px){.galeria>li{flex-basis:calc((100% - .6rem)/2)}}
.hs-tip.abajo{bottom:auto;top:calc(100% + 6px)}

/* ===== v23 Formulario sencillo ===== */
.fs-simple .fs-cab{margin-bottom:2rem}
.fs-form{display:grid;gap:1.1rem}
.fs-tipo{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.fs-tipo legend{font-weight:600;margin-bottom:.6rem;padding:0}
.fs-tipo label{position:relative;cursor:pointer}
.fs-tipo input{position:absolute;opacity:0;inset:0;cursor:pointer}
.fs-tipo span{display:flex;align-items:center;gap:.7rem;min-height:64px;padding:.9rem 1.1rem;border-radius:14px;border:1.5px solid rgba(242,245,243,.22);background:var(--superficie);font-weight:600;transition:border-color .2s,background-color .2s}
.fs-tipo span svg{width:24px;height:24px;color:var(--lima);flex:none}
.fs-tipo label:hover span{border-color:rgba(169,240,15,.6)}
.fs-tipo input:checked+span{border-color:var(--lima);background:rgba(169,240,15,.1)}
.fs-tipo input:focus-visible+span{outline:3px solid var(--lima);outline-offset:2px}
@media (max-width:600px){.fs-tipo{grid-template-columns:1fr}}
.solo-tactil{display:none}
@media (hover:none){.solo-tactil{display:inline}.solo-raton{display:none}}

/* ===== v25 Galería interactiva (paneles que se abren) ===== */
.galx{position:relative;width:100%}
.galx-lista{list-style:none;margin:0;padding:0;display:flex;gap:.6rem;height:clamp(380px,40vw,540px)}
.galx-p{flex:1 1 0;min-width:0;transition:flex-grow .7s var(--ease)}
.galx-p.activo{flex-grow:5.5}
.galx .gal-item{all:unset;box-sizing:border-box;cursor:pointer;display:block;position:relative;width:100%;height:100%;border-radius:18px;overflow:hidden;background:var(--superficie)}
.galx .gal-item picture,.galx .gal-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .5s}
.galx-p:not(.activo) .gal-item img{filter:grayscale(.65) brightness(.62)}
.galx-p.activo .gal-item:hover img{transform:scale(1.03)}
.galx .gal-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(8,12,16,.88));pointer-events:none}
.galx .gal-item:focus-visible{outline:3px solid var(--lima);outline-offset:3px}
.galx-n{position:absolute;top:1rem;left:1rem;z-index:1;font:600 .85rem/1 var(--f-display);color:#fff;background:rgba(8,12,16,.55);padding:.45rem .6rem;border-radius:999px;transition:background-color .3s,color .3s}
.galx-p.activo .galx-n{background:var(--lima);color:var(--negro)}
.galx-info{position:absolute;left:1.4rem;right:1.4rem;bottom:1.3rem;z-index:1;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.6rem 1rem;opacity:0;transform:translateY(10px);transition:opacity .35s .15s,transform .45s .15s var(--ease)}
.galx-p.activo .galx-info{opacity:1;transform:none}
.galx .gal-t{position:static;font:500 clamp(1.05rem,1.6vw,1.4rem)/1.2 var(--f-display);color:#fff;max-width:28ch}
.galx-ver{display:inline-flex;align-items:center;gap:.4rem;font:600 .85rem/1 var(--f-texto);color:var(--negro);background:var(--lima);padding:.6rem .85rem;border-radius:999px}
.galx-ctrl{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.2rem}
.galx-btn{all:unset;cursor:pointer;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--linea);color:var(--texto);font-size:1.6rem;line-height:1;transition:background-color .2s,color .2s,border-color .2s}
.galx-btn:hover{background:var(--lima);border-color:var(--lima);color:var(--negro)}
.galx-btn:focus-visible{outline:3px solid var(--lima);outline-offset:2px}
.galx-cont{font:500 .95rem var(--f-display);color:var(--texto-2);min-width:4.5em;text-align:center}
.galx-cont b{color:var(--texto);font-weight:600}
@media (max-width:860px){
 .galx-lista{height:auto;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.7rem;padding:0 7.5% .2rem;margin:0 calc(-1 * var(--gutter,1rem))}
 .galx-lista::-webkit-scrollbar{display:none}
 .galx-p,.galx-p.activo{flex:0 0 85%;scroll-snap-align:center;transition:none}
 .galx .gal-item{aspect-ratio:4/5;height:auto}
 .galx-p:not(.activo) .gal-item img{filter:none}
 .galx-info{opacity:1;transform:none;left:1rem;right:1rem;bottom:1rem}
 .galx-ver{padding:.5rem .7rem;font-size:.8rem}
}
@media (prefers-reduced-motion:reduce){.galx-p,.galx .gal-item img,.galx-info{transition:none}}

/* ===== v25 Historia: noticias de prensa ===== */
.hi-puntos{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:.65rem;position:relative}
.hi-puntos li{position:relative;padding-left:1.25rem;color:var(--texto-2);line-height:1.55}
.hi-puntos li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--lima)}
.hi-cita{position:relative;margin:0 0 1.2rem;padding:.2rem 0 .2rem 1rem;border-left:3px solid var(--lima);font:500 1.05rem/1.4 var(--f-display);color:var(--texto)}
.hi-cita footer{margin-top:.35rem;font:400 .85rem var(--f-texto);color:var(--texto-2)}

/* ===== v25 Eventos: tres formas de alquilar ===== */
.alq-cab{text-align:center;max-width:44rem;margin:0 auto clamp(2rem,4vw,3rem)}
.alq-cab .lead{margin:.6rem 0 0}
.alq-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;counter-reset:alq}
.alq-op{position:relative;display:flex;flex-direction:column;gap:.75rem;padding:clamp(1.4rem,2.5vw,2rem);border-radius:20px;border:1px solid var(--linea);background:var(--superficie);transition:border-color .25s,transform .25s var(--ease)}
.alq-op:hover{border-color:rgba(169,240,15,.55);transform:translateY(-3px)}
.alq-dest{border-color:var(--lima);background:linear-gradient(180deg,rgba(169,240,15,.09),var(--superficie) 60%)}
.alq-top{display:flex;align-items:center;justify-content:space-between}
.alq-n{font:600 .78rem/1 var(--f-texto);letter-spacing:.08em;text-transform:uppercase;color:var(--lima)}
.alq-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:rgba(169,240,15,.1);color:var(--lima)}
.alq-ico svg{width:24px;height:24px}
.alq-op h3{margin:.2rem 0 0;font:500 clamp(1.15rem,1.6vw,1.35rem)/1.25 var(--f-display)}
.alq-op>p{margin:0;color:var(--texto-2);line-height:1.55}
.alq-inc{list-style:none;margin:auto 0 0;padding:.9rem 0 0;border-top:1px solid var(--linea);display:grid;gap:.45rem}
.alq-inc li{display:flex;align-items:center;gap:.5rem;font-size:.92rem;color:var(--texto)}
.alq-inc svg{width:16px;height:16px;color:var(--lima);flex:none}
.alq-pie{text-align:center;margin:clamp(1.5rem,3vw,2.2rem) 0 0}
@media (max-width:900px){.alq-lista{grid-template-columns:minmax(0,1fr)}}

/* ===== v29 Menú móvil: panel opaco a pantalla completa y enlaces claros ===== */
@media (max-width:1000px){
  html.menu-abierto{overflow:hidden}
  html.menu-abierto .cabecera,html.menu-abierto .cabecera-int{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transform:none!important}
  html.menu-abierto .cabecera-int{background:var(--noche)!important}
  .nav{background:var(--noche);height:100dvh;overflow-y:auto;padding-top:88px;counter-reset:mnav}
  .nav>a:not(.btn){counter-increment:mnav;display:flex;align-items:center;gap:1rem;font:500 1.75rem/1.2 var(--f-display);color:#fff;padding:1.05rem .25rem;border-bottom:1px solid rgba(242,245,243,.14)}
  .nav>a:not(.btn)::before{content:"0" counter(mnav);font:600 .8rem/1 var(--f-texto);color:var(--lima);min-width:1.6rem}
  .nav>a:not(.btn)::after{content:"→";margin-left:auto;font-size:1.3rem;color:rgba(242,245,243,.5)}
  .nav>a[aria-current="page"]{color:var(--lima)}
  .nav>a[aria-current="page"]::after{color:var(--lima)}
  .nav .idiomas{display:flex;gap:.5rem}
  .nav .idiomas a{border:1px solid rgba(242,245,243,.25);border-radius:999px;padding:.55rem 1rem;color:#fff;font:600 .9rem var(--f-texto);min-height:44px}
  .nav .idiomas a[aria-current],.nav .idiomas a.activo{background:var(--lima);border-color:var(--lima);color:var(--negro)}
}

/* v29 enlace a la página de cada servicio */
.ai-area{display:flex;flex-direction:column}
.ai-mas{margin-top:auto;padding-top:1rem;align-self:flex-start;font:600 .92rem var(--f-texto);color:var(--lima);text-decoration:none;border-bottom:1px solid transparent}
.ai-mas:hover{border-bottom-color:var(--lima)}
.ai-mas:focus-visible{outline:3px solid var(--lima);outline-offset:3px;border-radius:4px}

/* v30 Contacto: pregunta a clientes */
.pregunta-cliente{margin:0 0 2.5rem;padding:clamp(1.3rem,3vw,2rem);border-radius:20px;border:2px solid var(--lima);background:linear-gradient(135deg,rgba(169,240,15,.16),rgba(169,240,15,.04));max-width:760px}
.pc-paso{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem}
.pc-paso[hidden]{display:none}
.pc-paso[data-pc-paso="gracias"]{display:block}
.pc-paso[data-pc-paso="gracias"][hidden]{display:none}
.pc-tit{margin:0;font:600 clamp(1.15rem,2vw,1.4rem)/1.3 var(--f-display);color:inherit}
.pc-txt{margin:.6rem 0 0}
.pc-botones{display:flex;gap:.7rem}
.pc-botones .btn{min-width:7rem;justify-content:center}
.fs-tipo-resalta{animation:fsResalta 1.2s ease 2}
@keyframes fsResalta{0%,100%{box-shadow:0 0 0 0 rgba(169,240,15,0)}50%{box-shadow:0 0 0 6px rgba(169,240,15,.55)}}
@media (max-width:560px){.pc-botones{width:100%}.pc-botones .btn{flex:1}}
