/* ICOM / SICOM — Opción A "Aurora cinematográfica" — base compartida */
:root{
  --bg:#0b0f17; --bg2:#070b12; --card:#121826;
  --azul:#2563EB; --lila:#7C3AED; --cian:#22d3ee; --agro:#f5b13d;
  --grad:linear-gradient(135deg,#2563EB,#7C3AED);
  --gris:#9db0c5; --blanco:#f1f5f9; --borde:rgba(255,255,255,.09);
  --glass:rgba(255,255,255,.045);
  --ease:cubic-bezier(.22,.85,.3,1);
  --f-display:'Nunito','Segoe UI Variable Display','Segoe UI',system-ui,sans-serif;
  --f-body:'Nunito Sans','Segoe UI',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--f-body);background:var(--bg);color:var(--blanco);min-height:100vh;overflow-x:hidden;line-height:1.5}
img,svg{max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid #a5b4fc;outline-offset:3px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:100;background:#fff;color:#0b0f17;padding:10px 16px;border-radius:10px;font-weight:800;text-decoration:none;transition:top .2s}
.skip:focus{top:12px}

/* Grano fino */
body::after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* Aurora: malla de manchas degradé en capas (solo transform/opacity) */
.aurora{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:
  radial-gradient(120% 80% at 50% 110%,rgba(124,58,237,.18),transparent 60%),var(--bg)}
.aurora i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;will-change:transform;mix-blend-mode:screen}
.aurora i:nth-child(1){width:60vmax;height:60vmax;left:-15vmax;top:-20vmax;background:radial-gradient(circle,#2563EB,transparent 65%);animation:drift1 26s ease-in-out infinite alternate}
.aurora i:nth-child(2){width:55vmax;height:55vmax;right:-18vmax;top:5vmax;background:radial-gradient(circle,#7C3AED,transparent 65%);animation:drift2 32s ease-in-out infinite alternate}
.aurora i:nth-child(3){width:45vmax;height:45vmax;left:20vw;bottom:-25vmax;background:radial-gradient(circle,#22d3ee,transparent 68%);opacity:.28;animation:drift3 38s ease-in-out infinite alternate}
.aurora i:nth-child(4){width:35vmax;height:35vmax;right:10vw;bottom:-10vmax;background:radial-gradient(circle,#c026d3,transparent 68%);opacity:.22;animation:drift1 44s ease-in-out infinite alternate-reverse}
@keyframes drift1{to{transform:translate3d(10vw,8vh,0) scale(1.15)}}
@keyframes drift2{to{transform:translate3d(-12vw,10vh,0) scale(.9)}}
@keyframes drift3{to{transform:translate3d(14vw,-8vh,0) scale(1.2)}}
.aurora::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,15,23,.0),rgba(11,15,23,.55))}

/* Cursor glow */
.cursor-glow{position:fixed;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;z-index:1;pointer-events:none;border-radius:50%;
  background:radial-gradient(circle,rgba(99,102,241,.22),transparent 62%);opacity:0;transition:opacity .4s;will-change:transform}
.cursor-glow.on{opacity:1}

/* Texto degradé */
.grad-text{background:linear-gradient(120deg,#60a5fa 0%,#a78bfa 55%,#e879f9 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}

/* Revelado al scroll (solo si hay JS) */
.js .reveal{opacity:0;transform:translateY(34px) scale(.985);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}

/* Wordmark */
.wordmark{display:block;overflow:visible}
.wm-text{fill:#f5f6f8}
.ico-dot{transform-box:fill-box;transform-origin:center bottom;animation:ico-bounce 2.4s cubic-bezier(.36,.07,.19,.97) .3s 1 both,ico-glow 5s ease-in-out 3.4s infinite}
.sic-dot{transform-box:fill-box;transform-origin:center bottom;animation:ico-bounce 2.4s cubic-bezier(.36,.07,.19,.97) .6s 1 both,ico-glow 5s ease-in-out 3.7s infinite}
.nav-dot{animation:ico-glow 5s ease-in-out 1s infinite}
@keyframes ico-bounce{
  0%{transform:translateY(-44px);opacity:0}
  7%{transform:translateY(-44px);opacity:1}
  16%{transform:translateY(8px) scaleX(1.55) scaleY(.36)}
  25%{transform:translateY(-19px) scaleX(.74) scaleY(1.32)}
  34%{transform:translateY(8px) scaleX(1.42) scaleY(.48)}
  42%{transform:translateY(-12px) scaleX(.8) scaleY(1.22)}
  50%{transform:translateY(8px) scaleX(1.3) scaleY(.6)}
  57%{transform:translateY(-6px) scaleX(.88) scaleY(1.13)}
  64%{transform:translateY(8px) scaleX(1.18) scaleY(.74)}
  70%{transform:translateY(-3px) scaleX(.93) scaleY(1.06)}
  76%{transform:translateY(8px) scaleX(1.1) scaleY(.87)}
  84%,100%{transform:none}
}
@keyframes ico-glow{
  0%,50%,100%{filter:drop-shadow(0 0 2px rgba(99,102,241,.35))}
  60%,85%{filter:drop-shadow(0 0 8px #7C3AED) drop-shadow(0 0 18px rgba(37,99,235,.55))}
}

/* Botones */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:100px;font-weight:800;font-size:14px;text-decoration:none;font-family:var(--f-display);transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 28px -8px rgba(124,58,237,.7)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px -8px rgba(124,58,237,.85)}
.btn-ghost{border:1px solid var(--borde);background:var(--glass);color:var(--blanco);backdrop-filter:blur(10px)}
.btn-ghost:hover{background:rgba(255,255,255,.1)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.001ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
  .cursor-glow{display:none}
}
