:root { --bg:#07070a; --panel:#0d0f14; --ink:#e6f1ff; --ink-dim:#9fb3c8; --line:rgba(158,216,255,.12); --accent:#7df9ff; --accent-2:#ff6ec7; --accent-green:#9bffb1; --accent-purple:#a78bfa; --accent-amber:#ffd6a5; --accent-gray:#cbd5e1; }
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial;color:var(--ink);background:var(--bg);scroll-behavior:smooth}
.container{width:100%;max-width:1140px;margin:0 auto;padding:0 16px}
.has-fixed-header{padding-top:var(--header-h,56px)}
.site-header{position:fixed;left:0;right:0;top:0;z-index:40;backdrop-filter:saturate(1.2) blur(12px);background:rgba(10,12,16,.18);border-bottom:1px solid var(--line);transition:backdrop-filter .3s ease}
.site-header.menu-open{backdrop-filter:none}
@media(max-width:767px){
  .site-header{backdrop-filter:none;background:rgba(10,12,16,.8)}
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{font-weight:700;letter-spacing:.3px}
/* Botón hamburguesa */
.hamburger{display:flex;flex-direction:column;justify-content:space-around;width:24px;height:20px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1102;position:relative}
.hamburger-line{width:100%;height:2px;background:var(--ink);transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);transform-origin:center}
.hamburger:hover .hamburger-line{background:var(--accent)}
.hamburger.active .hamburger-line:nth-child(1){transform:rotate(45deg) translate(5px, 5px)}
.hamburger.active .hamburger-line:nth-child(2){opacity:0;transform:translateX(20px)}
.hamburger.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(7px, -6px)}

/* Nav responsive */
.nav{display:none;gap:18px}
@media(min-width:768px){
  .hamburger{display:none}
  .nav{display:flex}
  .nav a{color:var(--ink-dim);text-decoration:none;font-size:14px;position:relative;transition:color .3s ease, transform .2s ease;padding:8px 12px;border-radius:8px}
  .nav a:hover{color:var(--ink);transform:translateY(-1px)}
  .nav a.active{color:var(--ink);background:rgba(125,249,255,.08);border:1px solid rgba(125,249,255,.2)}
  .nav a.active::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:-8px;height:2px;width:28px;background:var(--accent);border-radius:2px;box-shadow:0 0 14px rgba(125,249,255,.7)}
}
@media(max-width:767px){
  .nav{position:fixed;top:0;right:0;width:280px;height:100vh;background:rgba(7,8,12,1);border-left:1px solid var(--line);transform:translateX(100%);transition:transform .4s cubic-bezier(0.4, 0, 0.2, 1);z-index:1100;padding:80px 0 40px 0;flex-direction:column;justify-content:flex-start;align-items:center;gap:24px;display:flex;box-shadow:-4px 0 20px rgba(0,0,0,.3)}
  .nav.open{transform:translateX(0)}
  .nav a{color:var(--ink-dim);text-decoration:none;font-size:16px;position:relative;transition:all .3s ease;padding:12px 20px;border-radius:12px;width:200px;text-align:center;border:1px solid transparent;z-index:1101}
  .nav a:hover{color:var(--ink);background:rgba(125,249,255,.1);border-color:rgba(125,249,255,.2);transform:translateY(-2px)}
  .nav a.active{color:var(--ink);background:rgba(125,249,255,.15);border-color:var(--accent);box-shadow:0 0 20px rgba(125,249,255,.3)}
  .nav a.active::after{display:none}
}

/* Overlay para cerrar menú */
.nav-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);backdrop-filter:blur(8px);z-index:39;opacity:0;visibility:hidden;transition:all .3s ease}
.nav-overlay.open{opacity:1;visibility:visible}
.hero-cyber{position:relative;min-height:96vh;display:grid;place-items:center;overflow:hidden;border-bottom:0;background:var(--bg)}
.hero-cyber .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.08);z-index:0}
.hero-cyber .hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(7,8,12,0) 0%, rgba(7,8,12,.5) 40%, rgba(7,8,12,.96) 70%, var(--bg) 80%, var(--bg) 100%)}
.hero-cyber .hero-content{position:relative;z-index:2;text-align:left;padding:300px 0}
.hero-cyber h1{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:clamp(30px,6.6vw,60px);margin:0 0 12px 0;text-shadow:0 0 24px rgba(125,249,255,.15)}
.hero-cyber .lede{color:var(--ink-dim);margin:0;max-width:58ch}
.hero-cyber .lede #hero-rotator{display:inline-block; transition:opacity .18s ease}
.hero-cyber .lede #hero-rotator{font-family:Kalam,"Comic Sans MS","Bradley Hand",cursive; font-weight:700; color:var(--accent); text-shadow:0 0 10px rgba(125,249,255,.25)}
.glow{text-shadow:0 0 12px rgba(125,249,255,.6)}
.cta-row{margin-top:18px;display:flex;gap:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;text-decoration:none;font-weight:700;font-size:14px}
.btn-primary{color:#001417;background:var(--accent);box-shadow:0 0 0 rgba(125,249,255,0);transition:box-shadow .2s ease,transform .2s ease}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 24px rgba(125,249,255,.45), 0 0 2px var(--accent)}
.cy-card.open .cy-toggle{box-shadow:0 0 22px var(--hr-color, var(--accent));}
.btn-secondary{color:var(--ink);background:transparent;border:1px solid var(--line)}
.btn-secondary:hover{box-shadow:0 0 16px rgba(255,255,255,.08), inset 0 0 0 1px rgba(255,255,255,.06)}
.cy-block{padding:52px 0;border-top:0}
.cy-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:center}
@media(min-width:900px){.cy-grid{grid-template-columns:1fr 1fr}}
.cy-copy h2{margin:0 0 6px 0;font-size:22px}
.cy-copy p{margin:0;color:var(--ink-dim)}
.cy-media img{width:100%;height:380px;object-fit:cover;border-radius:16px;border:1px solid var(--line);display:block}
.cy-themes h2{margin:0 0 16px 0;font-size:24px;font-family:"DM Serif Display",Georgia,serif;font-weight:400}
.cy-themes-grid{display:flex;flex-direction:column;gap:40px}
@media(min-width:900px){.cy-themes-grid{gap:56px}}
.cy-themes-dots{position:sticky;top:80px;display:none;flex-direction:column;gap:8px;margin-left:auto;margin-right:0}
@media(min-width:900px){.cy-themes-dots{display:flex}}
.cy-dot{width:16px;height:16px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid var(--line); cursor:pointer; transition:box-shadow .25s ease, transform .2s ease}
.cy-dot:hover{transform:translateY(-1px); box-shadow:0 0 12px var(--dot-accent, var(--accent))}
.cy-dot.active{background:var(--accent);box-shadow:0 0 10px var(--dot-accent, rgba(125,249,255,.6))}
.cy-dot{position:relative}
/* (sin iconos) */
.cy-dot::after{content:attr(data-tooltip); position:absolute; right:16px; top:50%; transform:translateY(-50%); background:rgba(13,15,20,.9); color:var(--ink); border:1px solid var(--line); border-radius:8px; padding:4px 6px; font-size:12px; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .2s ease}
.cy-dot:hover::after, .cy-dot:focus-visible::after{opacity:1}
.cy-theme{display:grid;grid-template-columns:1fr;gap:20px;align-items:stretch;min-height:620px;border:0;border-radius:16px;overflow:hidden;background:transparent;transform:translateY(10px);opacity:0;transition:transform .45s ease,opacity .45s ease}
@media(min-width:900px){
  .cy-theme{grid-template-columns:1.5fr 1fr}
  .cy-theme.alt{grid-template-columns:1fr 1.5fr}
  .cy-theme.alt figure{order:2}
  .cy-theme.alt .cy-theme-body{order:1}
}
.cy-theme.is-visible{transform:translateY(0);opacity:1}
/* Microinteracciones */
.cy-theme{transition:transform .45s ease,opacity .45s ease, box-shadow .35s ease, border-color .35s ease}
.cy-theme:hover{transform:translateY(-2px); box-shadow:0 18px 48px rgba(0,0,0,.28), 0 0 0 1px rgba(125,249,255,.06); border-color:rgba(125,249,255,.16)}
@media (prefers-reduced-motion: reduce){
  .cy-theme, .cy-theme:hover{transition:none}
}
.cy-theme figure{margin:0;position:relative;height:100%;overflow:hidden}
.cy-theme img{width:100%;height:100%;max-height:none;object-fit:cover;display:block;filter:saturate(1.02);transform:scale(1.25);transition:transform .6s ease, filter .3s ease;border-radius:16px}
.cy-theme:not(.alt) img{object-position:left center}
.cy-theme.alt img{object-position:right center}
.cy-theme:hover img{transform:scale(1.28)}
.cy-theme .fade-right{position:absolute;right:0;top:0;bottom:0;width:65%;background:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(7,8,12,.5) 25%, rgba(7,8,12,.85) 50%, rgba(7,8,12,.95) 75%, var(--bg) 100%)}
.cy-theme .fade-left{position:absolute;left:0;top:0;bottom:0;width:65%;background:linear-gradient(270deg, rgba(0,0,0,0) 0%, rgba(7,8,12,.5) 25%, rgba(7,8,12,.85) 50%, rgba(7,8,12,.95) 75%, var(--bg) 100%)}
.cy-theme .fade-right,.cy-theme .fade-left{transition:opacity .35s ease, transform .35s ease}
.cy-theme:hover .fade-right{transform:translateX(4px); opacity:.95}
.cy-theme:hover .fade-left{transform:translateX(-4px); opacity:.95}
@media (prefers-reduced-motion: reduce){
  .cy-theme .fade-right,.cy-theme .fade-left{transition:none}
}
/* Ajustes responsivos de blur/shift */
@media(max-width:640px){
  .cy-theme:hover .fade-right{transform:translateX(3px)}
  .cy-theme:hover .fade-left{transform:translateX(-3px)}
  .cy-theme{min-height:540px}
  .cy-theme img{transform:scale(1.3)}
  .cy-theme:hover img{transform:scale(1.32)}
  .cy-theme .fade-right,.cy-theme .fade-left{width:80%;opacity:.85}
}
@media(min-width:900px){
  .cy-theme:hover .fade-right{transform:translateX(6px)}
  .cy-theme:hover .fade-left{transform:translateX(-6px)}
}
.cy-theme.alt{grid-template-columns:1fr 1.4fr}
.cy-theme .cy-theme-body{padding:20px;display:flex;flex-direction:column;justify-content:center;height:100%}
.cy-theme h3{margin:0 0 8px 0;font-size:clamp(20px, 2.6vw, 30px);font-family:"Space Grotesk",system-ui,sans-serif}
.cy-theme p{margin:0;color:var(--ink-dim);font-size:14px}
/* Badge temática */
.cy-badge{display:inline-block; padding:6px 10px; border-radius:999px; font-size:11px; font-weight:700; letter-spacing:.3px; margin-bottom:10px; color:#001417; background:var(--theme-accent, var(--accent)); border:1px solid var(--line); box-shadow:0 0 0 1px rgba(255,255,255,.06); transition:box-shadow .25s ease, transform .2s ease}
.cy-theme:hover .cy-badge{box-shadow:0 0 0 1px rgba(255,255,255,.08), 0 0 18px var(--theme-accent, var(--accent)), 0 0 2px var(--theme-accent, var(--accent)); transform:translateY(-1px)}
@media (prefers-reduced-motion: reduce){
  .cy-badge{transition:none}
  .cy-theme:hover .cy-badge{transform:none}
}
.cy-lecturas{padding:64px 0;border-top:1px solid var(--line)}
.cy-lecturas h2{margin:0 0 16px 0;font-size:24px;font-family:"DM Serif Display",Georgia,serif;font-weight:400}
.cy-lecturas-list{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:768px){.cy-lecturas-list{grid-template-columns:repeat(2,1fr);gap:22px}}
.cy-card{background:linear-gradient(180deg, rgba(13,15,20,1) 0%, rgba(13,15,20,.94) 100%);border:1px solid var(--line);border-radius:18px;padding:20px;transform:translateY(10px);opacity:0;transition:transform .35s ease,opacity .35s ease, box-shadow .3s ease, border-color .3s ease}
.cy-card.is-visible{transform:translateY(0);opacity:1}
.cy-card:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(0,0,0,.28), 0 0 0 1px rgba(125,249,255,.08);border-color:rgba(125,249,255,.18)}
.cy-author{margin:0 0 6px 0;font-size:18px;font-weight:600}
.cy-course{margin:0 0 8px 0;color:var(--ink-dim);font-size:13px}
.cy-goal{margin:0 0 12px 0;color:var(--ink-dim);font-size:14px;font-style:italic}
.cy-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px 0}
.chip{background:rgba(125,249,255,.08);border:1px solid var(--line);color:var(--ink-dim);padding:4px 8px;border-radius:999px;font-size:11px}
.cy-quote{margin:8px 0 12px 0}
.cy-toggle{display:inline-flex;align-items:center;gap:8px;color:#001417;font-size:14px;cursor:pointer;background:var(--accent);border:1px solid var(--line);padding:12px 16px;border-radius:12px;font-weight:700;transition:transform .2s ease,box-shadow .2s ease; margin-top:6px}
.cy-toggle:hover{transform:translateY(-1px);box-shadow:0 0 22px rgba(125,249,255,.35)}
.cy-toggle::after{content:"⌄";font-size:12px;transform:rotate(0deg);transition:transform .25s ease}
.cy-card.open .cy-toggle::after{transform:rotate(180deg)}
.cy-extract{font-family:Kalam,"Comic Sans MS","Bradley Hand",cursive;font-size:19px;line-height:1.5;color:var(--ink)}
.cy-quote{font-family:Kalam,"Comic Sans MS","Bradley Hand",cursive;font-size:clamp(18px,5vw,24px);line-height:1.6;color:var(--ink);position:relative;padding:12px 14px;border-left:3px solid var(--accent);background:rgba(125,249,255,.06);border-radius:12px;transition:background .25s ease,border-color .25s ease}
.cy-quote .open{margin-right:6px;color:var(--ink-dim)}
.cy-quote .close{margin-left:6px;color:var(--ink-dim)}
.cy-card:hover .cy-quote{background:rgba(125,249,255,.08);border-color:rgba(125,249,255,.7)}
.cy-card.open .cy-quote{background:rgba(125,249,255,.12);border-left-width:4px;box-shadow:0 0 24px rgba(125,249,255,.12), inset 0 0 0 1px rgba(255,255,255,.03)}
.cy-body{max-height:0;overflow:hidden;transition:max-height .35s ease;white-space:pre-wrap;font-family:Kalam,"Comic Sans MS","Bradley Hand",cursive;font-size:20px;line-height:1.55}
.cy-card.open{padding-top:42px;padding-bottom:28px}
.cy-card.open .cy-body{max-height:1200px}
.cy-card.open .cy-body{margin-top:12px}
.cy-card.open .cy-body::before{content:"";display:block;border-top:2px solid var(--hr-color,var(--line));opacity:.9;margin:20px 0 16px 0}
.cy-card.open .cy-extract{display:none}
.cy-galeria{padding:48px 0;border-top:0}
.cy-galeria h2{margin:0 0 12px 0;font-size:22px}
.cy-gallery{column-count:1;column-gap:12px}
@media(min-width:640px){.cy-gallery{column-count:2;column-gap:12px}}
@media(min-width:1024px){.cy-gallery{column-count:3;column-gap:14px}}
.cy-gallery figure{break-inside:avoid;margin:0 0 12px 0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#0c0f14;position:relative;opacity:1;transform:translateY(0) scale(1);transition:opacity .35s ease,transform .35s ease, box-shadow .3s ease; will-change: transform}
.cy-gallery img{width:100%;height:auto;display:block;transition:transform .4s ease,filter .3s ease,opacity .35s ease; cursor: zoom-in; will-change: transform}
.cy-gallery figure:hover{transform:translateY(-2px); box-shadow:0 12px 36px rgba(0,0,0,.28), 0 0 0 1px rgba(125,249,255,.06)}
.cy-gallery figure:hover img{transform:scale(1.04);filter:saturate(1.08)}
.cy-gallery figure::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,rgba(255,255,255,.02) 0 2px,transparent 2px 4px);mix-blend-mode:overlay;opacity:.25;transition:opacity .3s ease; pointer-events:none}
.cy-gallery figure:hover::after{opacity:0}
.cy-gallery figcaption{position:absolute;left:8px;right:8px;bottom:8px;background:rgba(7,8,12,.5);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:10px;padding:6px 8px;font-size:12px;color:var(--ink);opacity:.92; transform:translateY(4px); transition:transform .25s ease, opacity .25s ease; pointer-events:none}
.cy-gallery figure:hover figcaption, .cy-gallery figure:focus-within figcaption{transform:translateY(0); opacity:.98}
/* Accesibilidad: foco visible */
.cy-gallery a{display:block; position:relative; z-index:1; cursor:zoom-in}
.cy-gallery a:focus{outline:none}
.cy-gallery figure:focus-within{box-shadow:0 0 0 1px rgba(255,255,255,.06), 0 0 0 2px var(--accent), 0 12px 36px rgba(0,0,0,.28)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;padding:16px}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:86vh;border-radius:12px;box-shadow:0 20px 80px rgba(0,0,0,.6);transform:scale(.98);transition:transform .25s ease, opacity .25s ease}
.lightbox.open img{transform:scale(1)}
/* GLightbox theme tweaks - Centrado perfecto */
.glightbox-container .gdesc-inner{font-size:14px}
.glightbox-clean .gslide-title{font-family:"DM Serif Display",Georgia,serif}
.glightbox-clean .gdesc-inner, .glightbox-clean .gslide-description{color:var(--ink)}
.glightbox-open .ginner{animation:gbx-zoom-in .25s ease}
@keyframes gbx-zoom-in{from{transform:scale(.98); opacity:.85} to{transform:scale(1); opacity:1}}

/* Contenedor principal del lightbox - Centrado perfecto */
.glightbox-container{display:flex !important;align-items:center !important;justify-content:center !important;min-height:100vh !important;width:100% !important}
.glightbox-container .gcontainer{padding:2px;display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;position:relative}
.glightbox-container .goverlay{background:rgba(0,0,0,.95) !important; backdrop-filter:blur(16px) saturate(.6)}

/* Media del lightbox - Centrado perfecto */
.glightbox-clean .gslide-media{max-width:min(92vw,1200px); max-height:88vh; border-radius:12px; overflow:hidden; box-shadow:0 20px 80px rgba(0,0,0,.6); background:transparent; border:none; padding:0; margin:0 auto; display:block; position:relative}
.glightbox-clean .gslide-media img{border-radius:12px; width:100%; height:100%; object-fit:contain; display:block; margin:0; padding:0; border:none; position:relative}
.glightbox-clean .gdesc, .glightbox-clean .gslide-title, .glightbox-clean .gslide-description{display:none !important}
@media(max-width:640px){ 
  .glightbox-container .gcontainer{padding:2px;min-height:100vh}
}

/* Fallback lightbox coherente - Optimizado */
.lightbox{backdrop-filter:blur(16px) saturate(.6);padding:2px;display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%}
.lightbox img{border-radius:12px;max-width:92vw;max-height:88vh;object-fit:contain;display:block;margin:0;padding:0;border:none;background:transparent;box-shadow:0 20px 80px rgba(0,0,0,.6)}
.lightbox-principal{z-index:1000}
.lightbox-miradas{z-index:1001}
@media(max-width:640px){
  .lightbox{padding:2px;min-height:100vh}
  .lightbox img{max-width:96vw;max-height:90vh}
}

/* Sección Miradas Estudiantiles */
.cy-miradas{padding:48px 0;border-top:1px solid var(--line)}
.cy-miradas-hero{position:relative;min-height:60vh;display:grid;place-items:center;overflow:hidden;border-radius:18px;margin-bottom:32px;background:var(--bg)}
.cy-miradas-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:saturate(1.05) contrast(1.08);z-index:0}
.cy-miradas-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(7,8,12,0) 0%, rgba(7,8,12,.4) 20%, rgba(7,8,12,.7) 40%, rgba(7,8,12,.9) 60%, rgba(7,8,12,.98) 75%, var(--bg) 85%, var(--bg) 100%)}
.cy-miradas-hero-content{position:relative;z-index:2;text-align:center;padding:120px 0;max-width:600px}
.cy-miradas-hero-content h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:clamp(28px,5vw,42px);margin:0 0 12px 0;text-shadow:0 0 20px rgba(125,249,255,.15), 0 2px 8px rgba(0,0,0,.3)}
.cy-miradas-hero-content .lede{color:var(--ink-dim);margin:0;font-size:16px;line-height:1.6;text-shadow:0 1px 4px rgba(0,0,0,.2)}
/* Slider de Miradas Estudiantiles - Múltiples imágenes */
.cy-miradas-slider{margin-top:32px;position:relative}
.cy-slider-container{position:relative;overflow:hidden;border-radius:0;background:transparent;border:none}
.cy-slider-track{display:flex;transition:transform .5s cubic-bezier(0.4, 0, 0.2, 1);will-change:transform}
.cy-slider-group{flex:0 0 100%;display:grid;grid-template-columns:repeat(5, 1fr);gap:16px;padding:0}
.cy-slider-slide{position:relative;aspect-ratio:1;overflow:hidden;border-radius:18px;cursor:pointer;background:transparent;transition:box-shadow .3s ease}
.cy-slider-slide a{display:block;width:100%;height:100%;position:relative;z-index:1}
.cy-slider-slide img{width:100%;height:100%;object-fit:cover;object-position:center center;border-radius:18px;transition:transform .8s cubic-bezier(0.4, 0, 0.2, 1),filter .6s ease-out,box-shadow .6s ease-out;cursor:zoom-in;box-shadow:0 6px 24px rgba(0,0,0,.2);background:var(--bg)}
.cy-slider-slide:hover{box-shadow:0 8px 32px rgba(0,0,0,.3), 0 0 0 1px rgba(125,249,255,.1)}
/* Zoom interno forzado para miradas estudiantiles */
.cy-miradas-slider .cy-slider-slide:hover img{
  transform: scale(1.15) !important;
  filter: saturate(1.1) contrast(1.05) brightness(1.02) !important;
  box-shadow: 0 12px 48px rgba(0,0,0,.4), 0 0 0 2px rgba(125,249,255,.2) !important;
}

/* Transición de salida más suave */
.cy-miradas-slider .cy-slider-slide img{
  transition: transform .8s cubic-bezier(0.4, 0, 0.2, 1), filter .6s ease-out, box-shadow .6s ease-out !important;
}
.cy-slider-slide::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,rgba(255,255,255,.02) 0 2px,transparent 2px 4px);mix-blend-mode:overlay;opacity:.3;transition:opacity .3s ease;pointer-events:none;border-radius:18px}
.cy-slider-slide:hover::after{opacity:0}

/* Controles del slider */
.cy-slider-controls{display:flex;align-items:center;justify-content:space-between;margin-top:20px;gap:16px}
.cy-slider-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(13,15,20,.8);border:1px solid var(--line);color:var(--ink);cursor:pointer;transition:all .25s ease;backdrop-filter:blur(8px)}
.cy-slider-btn:hover{background:rgba(125,249,255,.1);border-color:var(--accent);box-shadow:0 0 16px rgba(125,249,255,.2);transform:translateY(-1px)}
.cy-slider-btn:active{transform:translateY(0)}
.cy-slider-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.cy-slider-btn i{font-size:18px}

/* Dots de navegación */
.cy-slider-dots{display:flex;gap:8px;flex:1;justify-content:center;align-items:center}
.cy-slider-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);border:1px solid var(--line);cursor:pointer;transition:all .25s ease;position:relative}
.cy-slider-dot:hover{background:rgba(125,249,255,.4);transform:scale(1.2)}
.cy-slider-dot.active{background:var(--accent);box-shadow:0 0 12px rgba(125,249,255,.4);transform:scale(1.3)}

/* Contador de slides */
.cy-slider-counter{text-align:center;margin-top:16px;font-size:14px;color:var(--ink-dim);font-weight:600}

/* Accesibilidad: foco visible */
.cy-slider-slide a:focus{outline:none}
.cy-slider-slide:focus-within{box-shadow:0 0 0 1px rgba(255,255,255,.06), 0 0 0 2px var(--accent), 0 12px 36px rgba(0,0,0,.28)}

/* Responsive adjustments para múltiples imágenes */
@media(min-width:1024px){
  .cy-slider-group{grid-template-columns:repeat(5, 1fr);gap:18px;padding:0}
}
@media(min-width:768px) and (max-width:1023px){
  .cy-slider-group{grid-template-columns:repeat(3, 1fr);gap:14px;padding:0}
  .cy-miradas-hero-img{object-position:center 28%}
  .cy-miradas-hero-overlay{background:linear-gradient(180deg, rgba(7,8,12,0) 0%, rgba(7,8,12,.4) 18%, rgba(7,8,12,.7) 38%, rgba(7,8,12,.9) 58%, rgba(7,8,12,.98) 72%, var(--bg) 82%, var(--bg) 100%)}
}
@media(max-width:767px){
  .cy-slider-group{grid-template-columns:repeat(2, 1fr);gap:12px;padding:0}
}

/* Mobile adjustments para miradas */
@media(max-width:640px){
  .cy-miradas-hero{min-height:50vh;margin-bottom:24px}
  .cy-miradas-hero-content{padding:80px 0}
  .cy-miradas-hero-content h2{margin-bottom:8px}
  .cy-miradas-hero-content .lede{font-size:14px}
  .cy-miradas-hero-img{object-position:center 25%}
  .cy-miradas-hero-overlay{background:linear-gradient(180deg, rgba(7,8,12,0) 0%, rgba(7,8,12,.5) 15%, rgba(7,8,12,.8) 35%, rgba(7,8,12,.95) 55%, rgba(7,8,12,.98) 70%, var(--bg) 80%, var(--bg) 100%)}
  .cy-miradas-slider{margin-top:24px}
  .cy-slider-group{grid-template-columns:repeat(2, 1fr);gap:10px;padding:0}
  .cy-slider-controls{margin-top:16px;gap:12px}
  .cy-slider-btn{width:40px;height:40px}
  .cy-slider-btn i{font-size:16px}
  .cy-slider-dots{gap:6px}
  .cy-slider-dot{width:6px;height:6px}
  .cy-slider-counter{font-size:12px;margin-top:12px}
}

.site-footer{border-top:0;color:var(--ink-dim);padding:24px 0;position:relative;overflow:hidden}
.site-footer::before{content:"";position:absolute;inset:0;background-image:var(--footer-bg);background-size:cover;background-position:center;filter:blur(20px) saturate(0.7);opacity:.06;}
.site-footer > *{position:relative}

/* Glitch effect (sutil) */
.glitch{position:relative;display:inline-block}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;left:0;top:0;opacity:.08;mix-blend-mode:screen;pointer-events:none}
.glitch::before{color:var(--accent);transform:translate(1px,0)}
.glitch::after{color:var(--accent-2);transform:translate(-1px,0)}
@keyframes glitch-x{0%{transform:translate(0,0)}20%{transform:translate(1px,-0.5px)}40%{transform:translate(-1px,0.5px)}60%{transform:translate(0.5px,0)}80%{transform:translate(-0.5px,0)}100%{transform:translate(0,0)}}
.glitch::before,.glitch::after{animation:glitch-x 2.2s infinite steps(2,end)}
@media (prefers-reduced-motion: reduce){.glitch::before,.glitch::after{animation:none}}

/* Mobile tweaks */
@media(max-width:640px){
  /* Colocar textos del banner abajo; mostrar la imagen completa (contain) */
  .hero-cyber{min-height:70vh}
  .hero-cyber .hero-img{object-fit:contain; object-position:center top}
  .hero-cyber .hero-content{position:absolute;left:0;right:0;bottom:0;padding:28px 16px 24px 16px}
  /* Oscurecido móvil: máximo para fusión perfecta */
  .hero-cyber .hero-overlay{background:
    linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.5) 15%, rgba(0,0,0,.8) 30%, rgba(0,0,0,.95) 40%, #000 50%, #000 100%),
    linear-gradient(0deg, rgba(7,8,12,.4), rgba(7,8,12,.4))}
  .hero-cyber h1{margin-bottom:12px}
  .hero-cyber .lede{margin-top:8px;margin-bottom:12px}
  .chips{margin-top:10px;gap:6px}
  .cta-row{margin-top:14px;flex-direction:column;align-items:flex-start;gap:10px}
  .cy-media img{height:260px}
  .cy-theme{min-height:420px}
  .cy-theme .cy-theme-body{padding:12px}
  /* Eliminar cortes visuales y unificar fondo debajo del héroe */
  .hero-cyber{border-bottom:0}
  .cy-block{border-top:0;background:#000}
}

/* Mobile header spacing and themes stacking */
@media(max-width:640px){
  /* Más aire en sticky header y texto de marca en mobile */
  .header-inner{padding:22px 8px 22px 16px}
  .brand{letter-spacing:.5px}
  .cy-themes-grid{gap:52px}
  .cy-theme{grid-template-columns:1fr !important}
  .cy-theme figure{margin-bottom:8px}
  .cy-theme .cy-theme-body{margin-top:10px}
  .cy-theme .fade-right,.cy-theme .fade-left{width:75%;opacity:.8}
}

/* Style switcher */
/* (selector eliminado) */

