/* ── HERO ── */
.cs-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--cs-grad-h);padding:4rem 1rem}
.cs-hero__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.cs-hero__orb{position:absolute;border-radius:50%;filter:blur(80px);animation:cs-glow-pulse 4s ease-in-out infinite}
.cs-hero__orb--1{width:500px;height:500px;top:-100px;left:-100px;background:radial-gradient(circle,rgba(79,110,247,.25) 0%,transparent 70%);animation-delay:0s}
.cs-hero__orb--2{width:400px;height:400px;bottom:-80px;right:-80px;background:radial-gradient(circle,rgba(0,212,170,.20) 0%,transparent 70%);animation-delay:2s}
.cs-hero__orb--3{width:300px;height:300px;top:40%;left:50%;transform:translateX(-50%);background:radial-gradient(circle,rgba(79,110,247,.12) 0%,transparent 70%);animation-delay:1s}
.cs-hero__content{position:relative;z-index:2;text-align:center;max-width:780px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1.5rem}
.cs-hero__badge{animation:cs-fade-up .6s ease both}
.cs-hero__title{font-family:var(--cs-font-d);font-size:clamp(1.875rem,6vw,3.75rem);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--cs-text);margin:0;animation:cs-fade-up .6s ease .1s both}
.cs-hero__title span{background:var(--cs-grad-p);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.cs-hero__subtitle{font-size:clamp(1rem,2.5vw,1.125rem);color:var(--cs-text-m);max-width:600px;line-height:1.7;margin:0;animation:cs-fade-up .6s ease .2s both}
.cs-hero__roles{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;animation:cs-fade-up .6s ease .3s both}
.cs-hero__rol{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .875rem;background:rgba(255,255,255,.04);border:1px solid var(--cs-border-card);border-radius:var(--cs-r-ful);font-size:.8rem;color:var(--cs-text-m);font-weight:500}
.cs-hero__ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;animation:cs-fade-up .6s ease .4s both}
.cs-hero__metricas{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem;width:100%;max-width:520px;animation:cs-fade-up .6s ease .5s both}
@media(min-width:480px){.cs-hero__metricas{grid-template-columns:repeat(4,1fr)}}
.cs-hero__metrica{text-align:center;padding:.875rem;background:rgba(255,255,255,.03);border:1px solid var(--cs-border-card);border-radius:var(--cs-r-md)}
.cs-hero__metrica-valor{display:block;font-family:var(--cs-font-d);font-size:1.4rem;font-weight:700;color:var(--cs-text);line-height:1;margin-bottom:4px}
.cs-hero__metrica-label{font-size:.7rem;color:var(--cs-text-m);line-height:1.3}

/* ── SERVICIOS ── */
.cs-servicios{padding:4rem 1rem}
.cs-servicios__titulo{font-family:var(--cs-font-d);font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;text-align:center;margin:0 0 2.5rem;color:var(--cs-text)}
.cs-servicios__grid{display:grid;grid-template-columns:1fr;gap:1.25rem;max-width:1100px;margin:0 auto}
@media(min-width:640px){.cs-servicios__grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.cs-servicios--col-3.cs-servicios__grid{grid-template-columns:repeat(3,1fr)}}
.cs-servicio-card{background:var(--cs-bg-card);border:1px solid var(--cs-border-card);border-radius:var(--cs-r-lg);padding:1.5rem;display:flex;flex-direction:column;gap:.875rem;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:var(--cs-shadow)}
.cs-servicio-card:hover{border-color:var(--cs-border-h);box-shadow:var(--cs-glow);transform:translateY(-4px)}
.cs-servicio-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}
.cs-servicio-card__icono{font-size:2rem;line-height:1}
.cs-servicio-card__precio{font-size:.7rem;color:var(--cs-accent);background:rgba(0,212,170,.10);border:1px solid rgba(0,212,170,.20);border-radius:var(--cs-r-ful);padding:2px 8px;font-weight:500;white-space:nowrap}
.cs-servicio-card__titulo{font-family:var(--cs-font-d);font-size:1.125rem;font-weight:700;color:var(--cs-text);margin:0;line-height:1.3}
.cs-servicio-card__subtitulo{font-size:.875rem;color:var(--cs-text-m);margin:0;line-height:1.5}
.cs-servicio-card__beneficios{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;flex:1}
.cs-servicio-card__beneficio{display:flex;align-items:flex-start;gap:.5rem;font-size:.8rem;color:var(--cs-text-m);line-height:1.5}
.cs-servicio-card__tags{display:flex;flex-wrap:wrap;gap:5px}
.cs-servicio-card__cta{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;font-weight:600;color:var(--cs-primary-l);text-decoration:none;padding:.625rem 0;border-top:1px solid var(--cs-border-card);transition:color .15s ease,gap .15s ease;margin-top:auto}
.cs-servicio-card__cta:hover{color:var(--cs-primary);gap:.75rem;text-decoration:none}
.cs-servicios__vacio{text-align:center;padding:3rem;color:var(--cs-text-m)}

/* ── EVENTOS ── */
.cs-eventos{padding:4rem 1rem;background:var(--cs-bg-sec)}
.cs-eventos__header{text-align:center;max-width:600px;margin:0 auto 2rem}
.cs-eventos__titulo{font-family:var(--cs-font-d);font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;color:var(--cs-text);margin:0 0 .5rem}
.cs-eventos__subtitulo{font-size:1rem;color:var(--cs-text-m)}
.cs-eventos__filtros{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2rem}
.cs-eventos__filtro{padding:.35rem 1.25rem;background:transparent;border:1px solid var(--cs-border-card);border-radius:var(--cs-r-ful);color:var(--cs-text-m);font-size:.8rem;font-family:var(--cs-font-b);cursor:pointer;transition:all .25s ease}
.cs-eventos__filtro:hover,.cs-eventos__filtro.activo{background:var(--cs-primary);border-color:var(--cs-primary);color:#fff}
.cs-eventos__masonry{columns:1;column-gap:1rem;max-width:1200px;margin:0 auto}
@media(min-width:600px){.cs-eventos__masonry{columns:2}}
@media(min-width:900px){.cs-eventos__masonry.cs-col-3{columns:3}.cs-eventos__masonry.cs-col-4{columns:4}}
.cs-eventos__item{break-inside:avoid;margin-bottom:1rem;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}
.cs-eventos__item.cs-visible{opacity:1;transform:translateY(0)}
.cs-eventos__item.cs-oculto{display:none}
.cs-eventos__card{background:var(--cs-bg-card);border:1px solid var(--cs-border-card);border-radius:var(--cs-r-lg);overflow:hidden;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1)}
.cs-eventos__card:hover{border-color:var(--cs-border-h);box-shadow:var(--cs-glow);transform:translateY(-3px)}
.cs-eventos__img-wrap{position:relative;overflow:hidden}
.cs-eventos__img{width:100%;height:auto;display:block;transition:transform .5s ease;aspect-ratio:4/3;object-fit:cover}
.cs-eventos__card:hover .cs-eventos__img{transform:scale(1.04)}
.cs-eventos__overlay{position:absolute;inset:0;background:rgba(10,10,15,.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease}
.cs-eventos__card:hover .cs-eventos__overlay{opacity:1}
.cs-eventos__ver{color:#fff;font-size:.8rem;font-weight:600;padding:.5rem 1.25rem;border:1.5px solid rgba(255,255,255,.4);border-radius:var(--cs-r-ful);backdrop-filter:blur(8px)}
.cs-eventos__info{padding:1rem}
.cs-eventos__meta{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.5rem}
.cs-eventos__tipo-badge{display:inline-block;padding:2px 8px;background:rgba(79,110,247,.15);border:1px solid rgba(79,110,247,.25);border-radius:var(--cs-r-ful);font-size:11px;color:var(--cs-primary-l);font-weight:500}
.cs-eventos__rol-badge{display:inline-block;padding:2px 8px;background:rgba(0,212,170,.12);border:1px solid rgba(0,212,170,.20);border-radius:var(--cs-r-ful);font-size:11px;color:var(--cs-accent);font-weight:500}
.cs-eventos__nombre{font-size:.9375rem;font-weight:600;color:var(--cs-text);margin:0 0 .35rem;line-height:1.4}
.cs-eventos__detalles{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.7rem;color:var(--cs-text-m)}
.cs-eventos__vacio{text-align:center;padding:3rem;color:var(--cs-text-m)}

/* ── LIGHTBOX ── */
.cs-lightbox{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:1rem}
.cs-lightbox__backdrop{position:absolute;inset:0;background:rgba(5,5,10,.95);backdrop-filter:blur(8px)}
.cs-lightbox__container{position:relative;z-index:1;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:1rem}
.cs-lightbox__img-wrap{max-width:100%;max-height:75vh;overflow:hidden;border-radius:var(--cs-r-lg);border:1px solid var(--cs-border-card)}
.cs-lightbox__img{max-width:85vw;max-height:75vh;width:auto;height:auto;object-fit:contain;display:block;transition:opacity .2s ease}
.cs-lightbox__cerrar,.cs-lightbox__prev,.cs-lightbox__next{position:absolute;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;cursor:pointer;border-radius:var(--cs-r-ful);transition:background .15s ease;line-height:1;display:flex;align-items:center;justify-content:center}
.cs-lightbox__cerrar:hover,.cs-lightbox__prev:hover,.cs-lightbox__next:hover{background:rgba(79,110,247,.5)}
.cs-lightbox__cerrar{top:-44px;right:0;width:36px;height:36px;font-size:1rem}
.cs-lightbox__prev{left:-52px;top:50%;transform:translateY(-50%);width:42px;height:42px;font-size:1.5rem}
.cs-lightbox__next{right:-52px;top:50%;transform:translateY(-50%);width:42px;height:42px;font-size:1.5rem}
.cs-lightbox__footer{display:flex;justify-content:space-between;align-items:center;width:100%;gap:1rem}
.cs-lightbox__titulo{font-size:.8rem;color:var(--cs-text-m);flex:1}
.cs-lightbox__contador{font-size:.7rem;color:var(--cs-text-s);white-space:nowrap}
@media(max-width:600px){
  .cs-lightbox__prev{left:-8px;bottom:-52px;top:auto;transform:none}
  .cs-lightbox__next{right:-8px;bottom:-52px;top:auto;transform:none}
}

/* ── RESPONSIVE GENERAL ── */
@media(max-width:480px){
  .cs-eventos,.cs-servicios{padding:2.5rem .75rem}
  .cs-servicio-card{padding:1.25rem}
  .cs-lightbox__container{max-width:95vw}
}
