/* ════════════════════════════════════════════════════════
   HEKA · SPACE PAGE CSS  v7
   Paleta principal: NEGRO + DORADO
   - Textos blancos (no todo dorado)
   - Submenú visible
   - Ecuador cards: fondo negro puro + estrellas blancas
   - Pilares 2×2
   - Sección News
   - Loader con logo + cohete
   - Theme toggle (gold / blue) funcional
════════════════════════════════════════════════════════ */
:root {
  --sp-accent:   #C8D1DB;
  --sp-accent-l: #F2F6FB;
  --sp-accent-rgb: 200,209,219;
  --sp-secondary-rgb: 96,123,168;
  --sp-gold:     #E7EEF5;
  --sp-border:   rgba(var(--sp-accent-rgb),.18);
  --sp-serif:    'IBM Plex Sans', 'Poppins', sans-serif;
  --sp-display:  'IBM Plex Sans', 'Poppins', sans-serif;
  --sp-body:     'Work Sans', 'Poppins', sans-serif;
  --sp-ease:     cubic-bezier(0.22,1,0.36,1);
  /* Colores de texto base */
  --sp-text-h:   rgba(255,255,255,.92);   /* headings */
  --sp-text-b:   rgba(255,255,255,.72);   /* body     */
  --sp-text-m:   rgba(255,255,255,.45);   /* muted    */
  /* Submenu: visible sobre fondo oscuro */
  --sp-subnav-surface: rgba(0,0,0,.94);
  --sp-subnav-top: 96px;
  --sp-subnav-border-color: rgba(var(--sp-accent-rgb),.22);
  --sp-subnav-link-color: #E7EEF5;
  --sp-subnav-link-hover: #ffffff;
  --sp-subnav-link-active: #ffffff;
  --sp-subnav-star-color: #E7EEF5;
  --sp-subnav-cta-color: #E7EEF5;
  --sp-subnav-cta-border: rgba(var(--sp-accent-rgb),.34);
  --sp-subnav-cta-hover-bg: rgba(var(--sp-accent-rgb),.12);
  /* ── Planet rendering defaults ── */
  --sp-planet-surface: url('../media/moon/moon2.webp');
  --sp-planet-overlay: radial-gradient(circle at 52% 47%, rgba(255,255,255,.12), transparent 28%);
  --sp-planet-blend: normal, screen;
  --sp-planet-left: 72%;
  --sp-planet-size: min(820px, 88vw);
  --sp-planet-max-size: 820px;
  --sp-planet-top: 10%;
  --sp-planet-shift-y: -10%;
  --sp-moon-scale: 1;
  --sp-planet-radius: 50%;
  --sp-planet-texture-size: cover;
  --sp-planet-aura: radial-gradient(circle at 50% 50%, rgba(var(--sp-accent-rgb),.22) 54%, rgba(var(--sp-accent-rgb),.10) 63%, rgba(var(--sp-accent-rgb),0) 76%);
  --sp-planet-aura-opacity: .36;
  --sp-planet-aura-blur: 28px;
  --sp-planet-animation: spPlanetSpin2d 80s linear infinite;
  --sp-planet-perspective: 1100px;
  --sp-planet-tilt-x: 12deg;
  --sp-planet-tilt-y: -18deg;
  --sp-planet-wobble-x: 10deg;
  --sp-planet-wobble-y: 18deg;
  --sp-planet-spin-start: 0deg;
  --sp-planet-spin-end: 360deg;
}

body[data-sp-font="inter"] {
  --sp-display: 'Inter', 'Poppins', sans-serif;
  --sp-body: 'Source Sans 3', 'Poppins', sans-serif;
}
body[data-sp-font="plex"] {
  --sp-display: 'IBM Plex Sans', 'Poppins', sans-serif;
  --sp-body: 'Work Sans', 'Poppins', sans-serif;
}
body[data-sp-font="exo"] {
  --sp-display: 'Exo 2', 'Poppins', sans-serif;
  --sp-body: 'Public Sans', 'Poppins', sans-serif;
}

/* ────────────────── Fondo estrellado global ──────────────── */
#globalStarCanvas {
  position: fixed; inset: 0; width: 100%; height: 100%;
  pointer-events: none; z-index: -2; background: #000;
}
/* ────────────────── Planeta / cuerpo celeste ──────────────── */
.space-page::before {
  content: '';
  position: fixed;
  left: var(--sp-planet-left);
  top: var(--sp-planet-top);
  width: var(--sp-planet-size);
  height: var(--sp-planet-size);
  max-width: var(--sp-planet-max-size);
  max-height: var(--sp-planet-max-size);
  transform: translateX(-50%) translateY(var(--sp-planet-shift-y)) scale(var(--sp-moon-scale, 1));
  pointer-events: none;
  z-index: -1;
  border-radius: var(--sp-planet-radius);
  background-color: transparent;
  overflow: hidden;
  background-image: var(--sp-planet-surface);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: var(--sp-planet-texture-size);
  background-blend-mode: normal;
  box-shadow: none;
  filter: none;
  animation: var(--sp-planet-animation);
  transform-origin: center;
  will-change: auto;
}
.space-page::after {
  content: '';
  position: fixed;
  left: var(--sp-planet-left);
  top: var(--sp-planet-top);
  width: var(--sp-planet-size);
  height: var(--sp-planet-size);
  max-width: var(--sp-planet-max-size);
  max-height: var(--sp-planet-max-size);
  transform: translateX(-50%) translateY(var(--sp-planet-shift-y)) scale(calc(var(--sp-moon-scale, 1) * 1.08));
  pointer-events: none;
  z-index: -2;
  border-radius: 50%;
  background: var(--sp-planet-aura);
  mix-blend-mode: screen;
  filter: blur(var(--sp-planet-aura-blur));
  opacity: var(--sp-planet-aura-opacity);
  animation: spPlanetAuraPulse 16s ease-in-out infinite;
}
/* ═══ PLANET SWITCHER — per-planet CSS variables ═══════════════════ */
body.space-page[data-sp-planet="moon"] {
  --sp-planet-surface: url('../media/moon/moon2.webp');
  --sp-planet-overlay: radial-gradient(circle at 52% 47%, rgba(255,255,255,.12), transparent 28%);
  --sp-planet-blend: normal, screen;
  --sp-planet-size: min(820px, 88vw);
  --sp-planet-max-size: 820px;
  --sp-planet-top: 10%;
  --sp-planet-shift-y: -10%;
  --sp-planet-radius: 50%;
  --sp-planet-texture-size: cover;
  --sp-planet-core-shadow: 0 44px 126px rgba(0,0,0,.44), 0 0 80px rgba(220,228,239,.12);
  --sp-planet-aura-opacity: .58;
  --sp-planet-aura-blur: 24px;
  --sp-planet-filter: contrast(1.05) saturate(1.04) brightness(1.04);
  --sp-planet-shadow: 0 0 52px rgba(255,255,255,.05);
  --sp-planet-rotate-x-start: 10deg;
  --sp-planet-rotate-y-start: -16deg;
  --sp-planet-rotate-z-start: 0deg;
  --sp-planet-rotate-x-end: 370deg;
  --sp-planet-rotate-y-end: 344deg;
  --sp-planet-rotate-z-end: 360deg;
  --sp-planet-animation: spPlanetSpin2d 80s linear infinite;
}
body.space-page[data-sp-planet="mercury"] {
  --sp-planet-surface: url('../media/moon/mercurio.webp');
  --sp-planet-overlay: radial-gradient(circle at 72% 72%, rgba(32,24,20,.16), transparent 24%);
  --sp-planet-blend: normal, screen;
  --sp-planet-size: min(760px, 82vw);
  --sp-planet-max-size: 760px;
  --sp-planet-top: 14%;
  --sp-planet-shift-y: -10%;
  --sp-planet-radius: 50%;
  --sp-planet-texture-size: cover;
  --sp-planet-filter: saturate(.94) brightness(.98);
  --sp-planet-shadow: 0 0 34px rgba(193,150,104,.10);
  --sp-planet-rotate-x-start: 18deg;
  --sp-planet-rotate-y-start: -22deg;
  --sp-planet-rotate-z-start: 0deg;
  --sp-planet-rotate-x-end: 378deg;
  --sp-planet-rotate-y-end: 338deg;
  --sp-planet-rotate-z-end: 360deg;
  --sp-planet-animation: spPlanetSpin2d 110s linear infinite;
}
body.space-page[data-sp-planet="venus"] {
  --sp-planet-surface: url('../media/moon/venus.webp');
  --sp-planet-overlay: radial-gradient(circle at 44% 60%, rgba(255,244,214,.10), rgba(124,74,30,.12) 58%, transparent 72%);
  --sp-planet-blend: normal, screen;
  --sp-planet-size: min(800px, 85vw);
  --sp-planet-max-size: 800px;
  --sp-planet-top: 11%;
  --sp-planet-shift-y: -10%;
  --sp-planet-radius: 50%;
  --sp-planet-texture-size: cover;
  --sp-planet-filter: saturate(1.08) brightness(1.01);
  --sp-planet-shadow: 0 0 38px rgba(231,170,87,.12);
  --sp-planet-rotate-x-start: 12deg;
  --sp-planet-rotate-y-start: -14deg;
  --sp-planet-rotate-z-start: 0deg;
  --sp-planet-rotate-x-end: 372deg;
  --sp-planet-rotate-y-end: 346deg;
  --sp-planet-rotate-z-end: 360deg;
  --sp-planet-animation: spPlanetSpin2d 100s linear infinite;
}
body.space-page[data-sp-planet="earth"] {
  --sp-planet-surface: url('../media/moon/tierra.webp');
  --sp-planet-overlay: radial-gradient(circle at 28% 26%, rgba(255,255,255,.10), transparent 24%);
  --sp-planet-blend: normal, screen;
  --sp-planet-size: min(860px, 90vw);
  --sp-planet-max-size: 860px;
  --sp-planet-top: 10%;
  --sp-planet-shift-y: -10%;
  --sp-planet-radius: 50%;
  --sp-planet-texture-size: cover;
  --sp-planet-filter: saturate(1.06) brightness(1.01);
  --sp-planet-shadow: 0 0 46px rgba(68,160,255,.12);
  --sp-planet-rotate-x-start: 23deg;
  --sp-planet-rotate-y-start: -12deg;
  --sp-planet-rotate-z-start: 0deg;
  --sp-planet-rotate-x-end: 383deg;
  --sp-planet-rotate-y-end: 348deg;
  --sp-planet-rotate-z-end: 360deg;
  --sp-planet-animation: spPlanetSpin2d 90s linear infinite;
}
body.space-page[data-sp-planet="mars"] {
  --sp-planet-surface: url('../media/moon/marte.webp');
  --sp-planet-overlay: radial-gradient(circle at 36% 26%, rgba(255,246,236,.10), transparent 22%);
  --sp-planet-blend: normal, screen;
  --sp-planet-size: min(790px, 84vw);
  --sp-planet-max-size: 790px;
  --sp-planet-top: 13%;
  --sp-planet-shift-y: -10%;
  --sp-planet-radius: 50%;
  --sp-planet-texture-size: cover;
  --sp-planet-filter: saturate(1.04) brightness(.99);
  --sp-planet-shadow: 0 0 36px rgba(213,92,47,.14);
  --sp-planet-rotate-x-start: 16deg;
  --sp-planet-rotate-y-start: -26deg;
  --sp-planet-rotate-z-start: 0deg;
  --sp-planet-rotate-x-end: 376deg;
  --sp-planet-rotate-y-end: 334deg;
  --sp-planet-rotate-z-end: 360deg;
  --sp-planet-animation: spPlanetSpin2d 96s linear infinite;
}
body.space-page[data-sp-planet="jupiter"] {
  --sp-planet-surface: url('../media/moon/jupiter.webp');
  --sp-planet-overlay: radial-gradient(circle at 70% 58%, rgba(120,64,44,.18), transparent 20%);
  --sp-planet-blend: normal, soft-light;
  --sp-planet-size: min(980px, 100vw);
  --sp-planet-max-size: 980px;
  --sp-planet-top: 11%;
  --sp-planet-shift-y: -10%;
  --sp-planet-radius: 50%;
  --sp-planet-texture-size: cover;
  --sp-planet-filter: saturate(1.02) brightness(1.01);
  --sp-planet-shadow: 0 0 48px rgba(234,196,145,.12);
  --sp-planet-rotate-x-start: 9deg;
  --sp-planet-rotate-y-start: -18deg;
  --sp-planet-rotate-z-start: 0deg;
  --sp-planet-rotate-x-end: 369deg;
  --sp-planet-rotate-y-end: 342deg;
  --sp-planet-rotate-z-end: 360deg;
  --sp-planet-animation: spPlanetSpin2d 130s linear infinite;
}
body.space-page[data-sp-planet="saturn"] {
  --sp-planet-surface: url('../media/moon/saturno.webp');
  --sp-planet-overlay: none;
  --sp-planet-blend: normal;
  --sp-planet-size: min(1080px, 110vw);
  --sp-planet-max-size: 1080px;
  --sp-planet-top: 11%;
  --sp-planet-shift-y: 0%;
  --sp-planet-radius: 0;
  --sp-planet-texture-size: contain;
  --sp-planet-rim-light: none;
  --sp-planet-color-layer: none;
  --sp-planet-highlight: none;
  --sp-planet-shade-layer: none;
  --sp-planet-object-shadow: none;
  --sp-planet-core-shadow: 0 26px 88px rgba(0,0,0,.28);
  --sp-planet-aura-opacity: .34;
  --sp-planet-aura-blur: 18px;
  --sp-planet-tilt-x: 18deg;
  --sp-planet-tilt-y: -8deg;
  --sp-planet-wobble-x: 4deg;
  --sp-planet-wobble-y: 6deg;
  --sp-planet-spin-start: -27deg;
  --sp-planet-spin-end: 333deg;
  --sp-planet-filter: saturate(1.02) brightness(.98);
  --sp-planet-shadow: none;
  --sp-planet-rotate-x-start: 74deg;
  --sp-planet-rotate-y-start: -12deg;
  --sp-planet-rotate-z-start: -27deg;
  --sp-planet-rotate-x-end: 434deg;
  --sp-planet-rotate-y-end: 348deg;
  --sp-planet-rotate-z-end: 333deg;
  --sp-planet-animation: spPlanetSpin2d 180s linear infinite;
}
body.space-page[data-sp-planet="uranus"] {
  --sp-planet-surface: url('../media/moon/urano.webp');
  --sp-planet-overlay: radial-gradient(circle at 56% 56%, rgba(255,255,255,.08), rgba(100,157,167,.10) 56%, transparent 72%);
  --sp-planet-blend: normal, screen;
  --sp-planet-size: min(880px, 92vw);
  --sp-planet-max-size: 880px;
  --sp-planet-top: 10%;
  --sp-planet-shift-y: -10%;
  --sp-planet-radius: 50%;
  --sp-planet-texture-size: cover;
  --sp-planet-filter: saturate(1.04) brightness(1.03);
  --sp-planet-shadow: 0 0 42px rgba(176,236,239,.16);
  --sp-planet-rotate-x-start: 28deg;
  --sp-planet-rotate-y-start: -20deg;
  --sp-planet-rotate-z-start: 0deg;
  --sp-planet-rotate-x-end: 388deg;
  --sp-planet-rotate-y-end: 340deg;
  --sp-planet-rotate-z-end: 360deg;
  --sp-planet-animation: spPlanetSpin2d 120s linear infinite;
}
body.space-page[data-sp-planet="neptune"] {
  --sp-planet-surface: url('../media/moon/neptuno.webp');
  --sp-planet-overlay: radial-gradient(circle at 54% 60%, rgba(255,255,255,.10), transparent 24%);
  --sp-planet-blend: normal, screen;
  --sp-planet-size: min(900px, 94vw);
  --sp-planet-max-size: 900px;
  --sp-planet-top: 10%;
  --sp-planet-shift-y: -10%;
  --sp-planet-radius: 50%;
  --sp-planet-texture-size: cover;
  --sp-planet-filter: saturate(1.08) brightness(1.02);
  --sp-planet-shadow: 0 0 44px rgba(104,179,255,.18);
  --sp-planet-rotate-x-start: 20deg;
  --sp-planet-rotate-y-start: -24deg;
  --sp-planet-rotate-z-start: 0deg;
  --sp-planet-rotate-x-end: 380deg;
  --sp-planet-rotate-y-end: 336deg;
  --sp-planet-rotate-z-end: 360deg;
  --sp-planet-animation: spPlanetSpin2d 116s linear infinite;
}
body.space-page[data-sp-planet="sun"] {
  --sp-planet-surface: url('../media/moon/Sol.webp');
  --sp-planet-overlay: radial-gradient(circle at 50% 50%, rgba(255,240,180,.18), transparent 42%);
  --sp-planet-blend: normal, screen;
  --sp-planet-size: min(1220px, 128vw);
  --sp-planet-max-size: 1220px;
  --sp-planet-top: 4%;
  --sp-planet-shift-y: -10%;
  --sp-planet-radius: 50%;
  --sp-planet-texture-size: cover;
  --sp-planet-highlight: radial-gradient(circle at 34% 30%, rgba(255,255,255,.18), rgba(255,226,120,.12) 20%, rgba(255,255,255,0) 42%);
  --sp-planet-shade-layer: radial-gradient(circle at 72% 54%, rgba(255,160,0,0) 42%, rgba(180,40,0,.12) 66%, rgba(90,0,0,.26) 100%);
  --sp-planet-object-shadow: inset -48px -40px 108px rgba(120,20,0,.26), inset 20px 18px 48px rgba(255,255,255,.06);
  --sp-planet-core-shadow: 0 34px 112px rgba(0,0,0,.24), 0 0 120px rgba(255,176,48,.32);
  --sp-planet-aura-opacity: .96;
  --sp-planet-aura-blur: 40px;
  --sp-planet-tilt-x: 8deg;
  --sp-planet-tilt-y: -10deg;
  --sp-planet-wobble-x: 5deg;
  --sp-planet-wobble-y: 10deg;
  --sp-planet-filter: saturate(1.08) brightness(1.08);
  --sp-planet-shadow: 0 0 90px rgba(255,176,48,.34);
  --sp-planet-rotate-x-start: 12deg;
  --sp-planet-rotate-y-start: -10deg;
  --sp-planet-rotate-z-start: 0deg;
  --sp-planet-rotate-x-end: 372deg;
  --sp-planet-rotate-y-end: 350deg;
  --sp-planet-rotate-z-end: 360deg;
  --sp-planet-animation: spPlanetSpin2d 150s linear infinite;
}
/* Per-planet accent colours have been removed intentionally.
   Colour theming is handled exclusively by the palette selector. */

.space-page .sp-hero-orbit { display: none !important; }

@keyframes spPlanetSpin2d {
  from { transform: translateX(-50%) translateY(var(--sp-planet-shift-y)) scale(var(--sp-moon-scale, 1)) rotate(0deg); }
  to   { transform: translateX(-50%) translateY(var(--sp-planet-shift-y)) scale(var(--sp-moon-scale, 1)) rotate(360deg); }
}
@keyframes moonRotate {
  from { transform: perspective(var(--sp-planet-perspective)) translateX(-50%) translateY(var(--sp-planet-shift-y)) scale(var(--sp-moon-scale, 1)) rotateX(var(--sp-planet-tilt-x)) rotateY(var(--sp-planet-tilt-y)) rotateZ(var(--sp-planet-spin-start)); }
  25%  { transform: perspective(var(--sp-planet-perspective)) translateX(-50%) translateY(var(--sp-planet-shift-y)) scale(var(--sp-moon-scale, 1)) rotateX(calc(var(--sp-planet-tilt-x) + var(--sp-planet-wobble-x))) rotateY(calc(var(--sp-planet-tilt-y) - calc(var(--sp-planet-wobble-y) * .55))) rotateZ(90deg); }
  50%  { transform: perspective(var(--sp-planet-perspective)) translateX(-50%) translateY(var(--sp-planet-shift-y)) scale(var(--sp-moon-scale, 1)) rotateX(calc(var(--sp-planet-tilt-x) + var(--sp-planet-wobble-x))) rotateY(calc(var(--sp-planet-tilt-y) - var(--sp-planet-wobble-y))) rotateZ(180deg); }
  75%  { transform: perspective(var(--sp-planet-perspective)) translateX(-50%) translateY(var(--sp-planet-shift-y)) scale(var(--sp-moon-scale, 1)) rotateX(calc(var(--sp-planet-tilt-x) - calc(var(--sp-planet-wobble-x) * .85))) rotateY(calc(var(--sp-planet-tilt-y) + var(--sp-planet-wobble-y))) rotateZ(270deg); }
  to   { transform: perspective(var(--sp-planet-perspective)) translateX(-50%) translateY(var(--sp-planet-shift-y)) scale(var(--sp-moon-scale, 1)) rotateX(calc(var(--sp-planet-tilt-x) * -0.9)) rotateY(calc(var(--sp-planet-tilt-y) * -1.1)) rotateZ(var(--sp-planet-spin-end)); }
}
@keyframes spPlanetAuraPulse {
  0%, 100% { opacity: var(--sp-planet-aura-opacity); transform: translateX(-50%) translateY(var(--sp-planet-shift-y)) scale(calc(var(--sp-moon-scale, 1) * 1.06)); }
  50%       { opacity: calc(var(--sp-planet-aura-opacity) + .08); transform: translateX(-50%) translateY(calc(var(--sp-planet-shift-y) + 1%)) scale(calc(var(--sp-moon-scale, 1) * 1.11)); }
}

.space-page { background: transparent; position: relative; z-index: 1; }
body.space-page { background: transparent !important; }
.space-page section { background: transparent; position: relative; z-index: 1; }

/* Fondos de sección — oscuros por defecto */
#sp-value     { background: transparent; }
#sp-ecuador   { background: transparent; }
#sp-pillars   { background: transparent; }
#sp-taskforce { background: transparent; }
#sp-contact   { background: transparent; }
#sp-news      { background: transparent; }

/* ════════════════════════════════════════════════════════
   THEME TOGGLE — variante HEKA (azul)
   Se activa con [data-sp-theme="heka"] en body
════════════════════════════════════════════════════════ */
[data-sp-theme]:not([data-sp-theme="space"]) {
  --sp-subnav-link-hover: #ffffff;
  --sp-subnav-link-active: #ffffff;
}

body.finance-page {
  --sp-accent: #258DD6;
  --sp-accent-l: #FFFFFF;
  --sp-accent-rgb: 37,141,214;
  --sp-secondary-rgb: 31,166,122;
  --sp-gold: #D6D8D9;
  --sp-border: rgba(37,141,214,.22);
  --sp-text-h: rgba(255,255,255,.95);
  --sp-text-b: rgba(214,216,217,.84);
  --sp-text-m: rgba(214,216,217,.58);
  --sp-subnav-surface: rgba(0,0,0,.94);
  --sp-subnav-border-color: rgba(37,141,214,.28);
  --sp-subnav-link-color: #D6D8D9;
  --sp-subnav-link-hover: #FFFFFF;
  --sp-subnav-link-active: #FFFFFF;
  --sp-subnav-star-color: #1FA67A;
  --sp-subnav-cta-color: #FFFFFF;
  --sp-subnav-cta-border: rgba(31,166,122,.34);
  --sp-subnav-cta-hover-bg: rgba(37,141,214,.14);
}

.finance-page #globalStarCanvas {
  background:
    radial-gradient(circle at 18% 18%, rgba(37,141,214,.12), transparent 0 24%),
    radial-gradient(circle at 82% 26%, rgba(31,166,122,.10), transparent 0 22%),
    #000000;
}

.finance-page .sp-btn-gold {
  background: #258DD6;
  color: #FFFFFF;
  box-shadow: 0 10px 24px rgba(37,141,214,.24);
}
.finance-page .sp-btn-gold:hover {
  background: #1FA67A;
  color: #FFFFFF;
}
.finance-page .sp-btn-ghost:hover,
.finance-page .sp-btn-ghost-light:hover {
  border-color: #1FA67A;
  color: #FFFFFF;
}
.finance-page .sp-ec-badge,
.finance-page .sp-stat {
  border-color: rgba(31,166,122,.34);
}

/* Navbar en Space — logo y selector de idioma alineados con la paleta activa */
.space-page #mainNav {
  border-bottom: 1px solid rgba(var(--sp-accent-rgb), .12);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .22);
}
.space-page #mainNav > a:first-of-type img,
.space-page #mainNav > a > img {
  filter:
    var(--sp-logo-filter, grayscale(1) brightness(1.26) contrast(1.05))
    drop-shadow(0 0 10px rgba(var(--sp-accent-rgb), .22));
  opacity: .96;
  transition: filter .25s ease, opacity .25s ease, transform .25s ease;
}
.space-page #mainNav > a:first-of-type:hover img,
.space-page #mainNav > a:hover > img {
  filter:
    var(--sp-logo-filter-hover, grayscale(1) brightness(1.36) contrast(1.08))
    drop-shadow(0 0 14px rgba(var(--sp-accent-rgb), .34));
  transform: translateY(-1px);
}
.space-page .lang-toggle,
.space-page .nav-links .lang-toggle {
  background: rgba(var(--sp-accent-rgb), .08);
  border-color: rgba(var(--sp-accent-rgb), .20);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}
.space-page .lang-pill,
.space-page .nav-links .lang-pill {
  background: linear-gradient(
    135deg,
    rgba(var(--sp-accent-rgb), .88),
    rgba(var(--sp-secondary-rgb), .92)
  );
  box-shadow:
    0 8px 20px rgba(var(--sp-accent-rgb), .26),
    inset 0 1px 0 rgba(255,255,255,.18);
}
.space-page .lang-toggle-switching .lang-pill,
.space-page .nav-links .lang-toggle-switching .lang-pill {
  box-shadow:
    0 0 0 8px rgba(var(--sp-accent-rgb), .12),
    0 8px 18px rgba(var(--sp-accent-rgb), .36),
    inset 0 1px 0 rgba(255,255,255,.22);
}
.space-page .lang-btn,
.space-page .nav-links .lang-btn {
  color: rgba(231, 238, 245, .78);
}
.space-page .lang-btn:hover,
.space-page .nav-links .lang-btn:hover {
  color: #ffffff;
}
.space-page .lang-btn.lang-active,
.space-page .nav-links .lang-btn.lang-active,
.space-page .lang-btn:hover,
.space-page .nav-links .lang-btn:hover {
  color: #ffffff;
  background: rgba(var(--sp-accent-rgb), .16);
  border-color: rgba(var(--sp-accent-rgb), .34);
  box-shadow: 0 0 12px rgba(var(--sp-accent-rgb), .18);
}
.space-page .lang-sep,
.space-page .nav-links .lang-sep {
  color: rgba(var(--sp-accent-rgb), .34);
}

/* WhatsApp + Cookies con temática Space */
.space-page .wa-btn {
  position: fixed;
  overflow: visible;
  isolation: isolate;
  background:
    radial-gradient(circle at 30% 24%, rgba(255,255,255,.42), transparent 30%),
    linear-gradient(
      145deg,
      rgba(255,255,255,.92) 0%,
      rgba(var(--sp-accent-rgb), .94) 45%,
      rgba(var(--sp-secondary-rgb), .96) 100%
    );
  border: 1px solid rgba(var(--sp-accent-rgb), .42);
  box-shadow:
    0 10px 30px rgba(0,0,0,.32),
    0 0 22px rgba(var(--sp-accent-rgb), .28),
    inset 0 1px 0 rgba(255,255,255,.45);
}
.space-page .wa-btn::before {
  content: "";
  position: absolute;
  inset: -7px;
  border-radius: 50%;
  border: 1px solid rgba(var(--sp-accent-rgb), .30);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08),
    inset 0 0 14px rgba(var(--sp-accent-rgb), .08);
  transform: rotate(-28deg) scaleX(1.28) scaleY(.82);
  animation: spWaDiagonalOrbit 6.5s linear infinite;
}
.space-page .wa-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  margin: -4px 0 0 -4px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow:
    0 0 0 2px rgba(var(--sp-secondary-rgb), .62),
    0 0 14px rgba(var(--sp-accent-rgb), .45);
  transform-origin: center;
  animation: spWaSatellite 4.6s linear infinite;
}
.space-page .wa-btn:hover {
  box-shadow:
    0 14px 34px rgba(0,0,0,.36),
    0 0 28px rgba(var(--sp-accent-rgb), .34),
    0 0 16px rgba(var(--sp-secondary-rgb), .18),
    inset 0 1px 0 rgba(255,255,255,.55);
}
.space-page .wa-btn svg {
  position: relative;
  z-index: 2;
  color: #ffffff;
  fill: currentColor;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.22));
}

.space-page #mainNav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 6%;
  min-height: 88px;
}
.space-page #mainNav > * {
  flex-shrink: 0;
}
.space-page .nav-primary a {
  color: rgba(242, 246, 251, .86);
  text-shadow: 0 0 1px rgba(0,0,0,.35);
}
.space-page .nav-primary a::after {
  background: linear-gradient(
    90deg,
    rgba(var(--sp-accent-rgb), 0),
    rgba(var(--sp-accent-rgb), .95),
    rgba(var(--sp-secondary-rgb), .58),
    rgba(var(--sp-accent-rgb), 0)
  );
}
.space-page .nav-primary a:hover,
.space-page .nav-primary a:focus-visible,
.space-page .nav-primary a.active,
.space-page .nav-primary .nav-space-link.active {
  color: var(--sp-accent-l);
  text-shadow: 0 0 12px rgba(var(--sp-accent-rgb), .18);
}
.space-page .nav-primary a:focus-visible {
  outline: 1px solid rgba(var(--sp-accent-rgb), .42);
  outline-offset: 6px;
  border-radius: 4px;
}
.space-page .nav-menu-btn {
  border-color: rgba(var(--sp-accent-rgb), .22);
  background: rgba(var(--sp-accent-rgb), .07);
  color: rgba(242, 246, 251, .88);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.space-page .nav-menu-btn:hover,
.space-page .nav-menu-btn:focus-visible {
  border-color: rgba(var(--sp-accent-rgb), .42);
  background: rgba(var(--sp-accent-rgb), .14);
  color: var(--sp-accent-l);
  box-shadow: 0 12px 28px rgba(0,0,0,.18), 0 0 16px rgba(var(--sp-accent-rgb), .12);
}
.space-page .nav-menu-btn:focus-visible {
  outline: 1px solid rgba(var(--sp-accent-rgb), .42);
  outline-offset: 3px;
}
.space-page .nav-menu-icon span {
  background: currentColor;
}
.space-page .nav-theme-toggle,
.space-page .lang-toggle {
  margin-left: 12px;
}

@media(max-width:1100px) {
  .space-page #mainNav .nav-links {
    max-width: calc(100% - 360px);
  }
}

@keyframes spWaDiagonalOrbit {
  from { transform: rotate(-28deg) scaleX(1.28) scaleY(.82) rotate(0deg); opacity: .58; }
  to { transform: rotate(-28deg) scaleX(1.28) scaleY(.82) rotate(360deg); opacity: .9; }
}
@keyframes spWaSatellite {
  from { transform: rotate(-28deg) translateX(38px) translateY(-16px); }
  to { transform: rotate(332deg) translateX(38px) translateY(-16px); }
}
body.space-page #cookie-overlay,
body.space-page #config-modal,
body.space-page #privacy-modal {
  background: rgba(3, 7, 12, .72);
  backdrop-filter: blur(10px);
}
body.space-page #cookie-banner,
body.space-page .modal-box,
body.space-page .pm-box {
  background: linear-gradient(160deg, rgba(4,8,14,.98) 0%, rgba(8,14,24,.98) 58%, rgba(4,7,12,.98) 100%);
  border: 1px solid rgba(var(--sp-accent-rgb), .18);
  box-shadow: 0 18px 50px rgba(0,0,0,.38), 0 0 30px rgba(var(--sp-accent-rgb), .08);
}
body.space-page .cb-top,
body.space-page .modal-hd,
body.space-page .pm-hd {
  background: linear-gradient(90deg, rgba(6,10,16,.98) 0%, rgba(10,19,32,.98) 50%, rgba(6,10,16,.98) 100%);
  border-bottom: 1px solid rgba(var(--sp-accent-rgb), .22);
}
body.space-page .cb-icon,
body.space-page .pm-hd-icon {
  background: rgba(var(--sp-accent-rgb), .10);
  border-color: rgba(var(--sp-accent-rgb), .24);
  color: var(--sp-accent-l);
  box-shadow: 0 0 14px rgba(var(--sp-accent-rgb), .12);
}
body.space-page .cb-icon {
  font-size: 0;
  position: relative;
}
body.space-page .cb-icon::before,
body.space-page #manage-btn::before {
  content: '☾';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Times New Roman', serif;
  line-height: 1;
  color: var(--sp-accent-l);
}
body.space-page .cb-icon::before {
  font-size: 1.5rem;
}
body.space-page #manage-btn::before {
  font-size: 1rem;
}
body.space-page .cb-body a,
body.space-page .pm-toc h4,
body.space-page .pm-sec-num,
body.space-page .pm-section ul li::before {
  color: var(--sp-accent-l);
}
body.space-page .chip-anal {
  border-color: rgba(var(--sp-accent-rgb), .32);
  color: var(--sp-accent-l);
  background: rgba(var(--sp-accent-rgb), .06);
}
body.space-page .cb-primary {
  background: linear-gradient(135deg, rgba(231,238,245,.95), rgba(160,180,210,.92));
  color: #08101a;
}
body.space-page .cb-outline:hover,
body.space-page .cb-outline:focus-visible {
  border-color: rgba(var(--sp-accent-rgb), .34);
  color: #fff;
  background: rgba(var(--sp-accent-rgb), .08);
}
body.space-page .modal-close:hover,
body.space-page .pm-close:hover {
  background: rgba(var(--sp-accent-rgb), .14);
  color: var(--sp-accent-l);
}
body.space-page .toggle input:checked + .toggle-trk {
  background: rgba(var(--sp-accent-rgb), .82);
}
body.space-page #manage-btn {
  background: linear-gradient(145deg, #06101a 0%, #0d1825 100%) !important;
  border: 1px solid rgba(var(--sp-accent-rgb), .28) !important;
  color: transparent !important;
  font-size: 0 !important;
  box-shadow: 0 4px 18px rgba(0,0,0,.42), 0 0 14px rgba(var(--sp-accent-rgb), .12) !important;
  font-family: var(--sp-body) !important;
}
body.space-page #manage-btn::after {
  content: 'Cookies';
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--sp-accent-l);
}
body.space-page #manage-btn:hover {
  border-color: rgba(var(--sp-accent-rgb), .40) !important;
  color: transparent !important;
}
body.space-page #manage-btn:hover::after {
  color: #fff;
}
body.space-page #toast {
  background: linear-gradient(145deg, rgba(6,10,16,.98), rgba(10,18,30,.98));
  border-color: rgba(var(--sp-accent-rgb), .22);
  color: rgba(231,238,245,.82);
}

/* Sistema de tipografias para Space */
.space-page .sl-tagline,
.space-page .sp-serif-title,
.space-page .sp-hero-title,
.space-page .sp-value-title,
.space-page .sp-value-lead,
.space-page .sp-pillar-num,
.space-page .sp-pillar-title,
.space-page .sp-stat-n,
.space-page .sp-ec-symbol,
.space-page .sp-ec-card h3,
.space-page .sp-nc-title {
  font-family: var(--sp-display) !important;
}
.space-page,
.space-page .sl-logo-tagline,
.space-page .sl-label,
.space-page .sl-meta,
.space-page .sl-status,
.space-page .sp-subnav-link,
.space-page .sp-section-label,
.space-page .sp-btn-gold,
.space-page .sp-btn-ghost,
.space-page .sp-btn-ghost-light,
.space-page .sp-hero-eyebrow,
.space-page .sp-hero-sub,
.space-page .sp-hero-scroll span,
.space-page .sp-artemis-ribbon,
.space-page .sp-value-body,
.space-page .sp-stat-l,
.space-page .sp-pillars-intro,
.space-page .sp-pillar-sub,
.space-page .sp-pillar-desc,
.space-page .sp-pillar-list li,
.space-page .sp-tf-body,
.space-page .sp-tf-tag,
.space-page .sp-ec-card p,
.space-page .sp-ec-badge,
.space-page .sp-news-all,
.space-page .sp-nc-cat,
.space-page .sp-nc-excerpt,
.space-page .sp-nc-date,
.space-page .sp-news-error,
.space-page .sp-ct-sub,
.space-page .sp-ct-offices {
  font-family: var(--sp-body) !important;
}

/* ════════════════════════════════════════════════════════
   LOADER — COHETE + LOGO HEKA SPACE
════════════════════════════════════════════════════════ */
#spaceLoader {
  position: fixed; inset: 0; z-index: 99999;
  background:
    radial-gradient(circle at 50% 35%, rgba(var(--sp-accent-rgb),.10), transparent 34%),
    radial-gradient(circle at 50% 80%, rgba(var(--sp-secondary-rgb),.08), transparent 38%),
    #000;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
#starCanvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.sl-earth {
  position: absolute; bottom: -90px; left: 8%; right: 8%; height: 240px;
  background:
    radial-gradient(ellipse 70% 55% at 50% 100%, rgba(var(--sp-accent-rgb),.08) 0%, rgba(var(--sp-secondary-rgb),.05) 42%, transparent 76%);
  border-radius: 50%; pointer-events: none;
  opacity: .9;
}
.sl-content {
  position: relative; z-index: 2;
  display: flex; flex-direction: column; align-items: center;
  width: min(620px, 92vw);
  padding: 40px 0;
}

.sl-launch-row {
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 42px;
  width: 100%;
}

.sl-orbit-stage {
  position: relative;
  width: 260px;
  height: 260px;
  justify-content: center;
  transition: transform 1s ease, opacity .8s ease, filter .8s ease;
  animation: slStageEnter 1s var(--sp-ease) both;
}
.sl-orbit-stage.sl-complete {
  transform: scale(1.07);
  filter: blur(.3px);
}
@keyframes slStageEnter {
  from { opacity: 0; transform: scale(.94) translateY(10px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.sl-orbit-core {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 118px;
  height: 118px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 45%, rgba(255,255,255,.1), rgba(255,255,255,.02) 48%, rgba(0,0,0,.45) 100%);
  border: 1px solid rgba(var(--sp-accent-rgb),.22);
  box-shadow:
    0 0 40px rgba(var(--sp-accent-rgb),.10),
    inset 0 0 30px rgba(255,255,255,.03);
  display: flex;
  align-items: center;
  justify-content: center;
}
.sl-heka-logo {
  width: 84px; height: auto;
  transform: scale(.92);
  filter:
    drop-shadow(0 0 22px rgba(var(--sp-accent-rgb),.26))
    drop-shadow(0 0 10px rgba(255,255,255,.06));
  opacity: 0;
}
.sl-rocket-orbit {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 0;
  height: 0;
  transform: translate(-50%, -50%);
  animation: slRocketOrbit 8.4s linear infinite;
  pointer-events: none;
  z-index: 3;
}
.sl-rocket {
  position: absolute;
  left: 0;
  top: 0;
  width: 44px;
  height: 44px;
  transform: translateY(-98px) rotate(90deg);
  transform-origin: 50% 98px;
  opacity: .92;
  filter: drop-shadow(0 0 10px rgba(var(--sp-accent-rgb),.16));
}
.sl-rocket-trail {
  position: absolute;
  left: 50%;
  top: 28px;
  width: 2px;
  height: 24px;
  transform: translateX(-50%);
  background: linear-gradient(to bottom, rgba(255,255,255,.48), rgba(var(--sp-accent-rgb),.16), rgba(255,255,255,0));
  border-radius: 999px;
  filter: blur(.4px);
}
.sl-rocket-svg {
  display: block;
  width: 100%;
  height: 100%;
}
.sl-rocket-body,
.sl-rocket-fin {
  fill: var(--sp-accent);
}
.sl-rocket-window {
  fill: rgba(6,8,12,.92);
  stroke: rgba(255,255,255,.18);
  stroke-width: 2;
}
.sl-rocket-flame {
  fill: var(--sp-accent-l);
  opacity: .65;
  transform-origin: 36px 66px;
  animation: slRocketFlame .42s ease-in-out infinite alternate;
}
.sl-orbit-ring,
.sl-orbit-axis {
  position: absolute;
  inset: 50% auto auto 50%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.sl-orbit-ring {
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 0 18px rgba(255,255,255,.015);
}
.sl-orbit-ring-1 {
  width: 240px; height: 240px;
  animation: slOrbitSpin 18s linear infinite;
}
.sl-orbit-ring-2 {
  width: 196px; height: 196px;
  border-color: rgba(var(--sp-accent-rgb),.18);
  animation: slOrbitSpinReverse 13s linear infinite;
}
.sl-orbit-ring-3 {
  width: 150px; height: 150px;
  border-color: rgba(255,255,255,.12);
  animation: slOrbitPulse 4.8s ease-in-out infinite;
}
.sl-orbit-axis {
  width: 262px;
  height: 120px;
  border: 1px solid rgba(var(--sp-accent-rgb),.16);
  transform: translate(-50%, -50%) rotate(-20deg);
}
.sl-orbit-dot {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.sl-orbit-dot-1 {
  width: 8px; height: 8px;
  background: var(--sp-accent);
  box-shadow: 0 0 16px rgba(var(--sp-accent-rgb),.8);
  animation: slOrbitDot 9s linear infinite;
}
.sl-orbit-dot-2 {
  width: 6px; height: 6px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 0 16px rgba(255,255,255,.45);
  animation: slOrbitDotReverse 12s linear infinite;
}
@keyframes slOrbitSpin { to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes slOrbitSpinReverse { to { transform: translate(-50%, -50%) rotate(-360deg); } }
@keyframes slOrbitPulse { 0%,100%{ transform:translate(-50%, -50%) scale(1);} 50%{ transform:translate(-50%, -50%) scale(1.03);} }
@keyframes slRocketOrbit { to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes slRocketFlame {
  0% { transform: scaleY(.82); opacity: .38; }
  100% { transform: scaleY(1.08); opacity: .78; }
}
@keyframes slOrbitDot {
  from { transform: translate(-50%, -50%) rotate(0deg) translateX(120px); }
  to   { transform: translate(-50%, -50%) rotate(360deg) translateX(120px); }
}
@keyframes slOrbitDotReverse {
  from { transform: translate(-50%, -50%) rotate(360deg) translateX(98px); }
  to   { transform: translate(-50%, -50%) rotate(0deg) translateX(98px); }
}
.sl-orbit-stage.sl-complete .sl-rocket-orbit {
  animation-duration: 6s;
  opacity: .72;
}

/* Loader texto */
.sl-text { text-align: center; width: 100%; max-width: 620px; }
.sl-label {
  font-size: .52rem;
  letter-spacing: 6px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--sp-accent);
  margin-bottom: 14px;
  font-family: 'Poppins', sans-serif;
  opacity: 0;
  animation: fadeInUp .8s ease .25s forwards;
}
.sl-tagline {
  font-family: var(--sp-serif);
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 400;
  color: rgba(255,255,255,.9);
  letter-spacing: .2px;
  margin-bottom: 14px;
  opacity: 0;
  animation: fadeInUp .9s ease .42s forwards;
}
.sl-meta {
  font-size: .58rem;
  letter-spacing: 3.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,.42);
  font-weight: 600;
  font-family: 'Poppins', sans-serif;
  margin-bottom: 30px;
  opacity: 0;
  animation: fadeInUp .9s ease .56s forwards;
}
@keyframes fadeInUp { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
.sl-bar-wrap {
  width: min(320px, 72vw);
  height: 1px;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(var(--sp-accent-rgb),.24), rgba(255,255,255,0));
  margin: 0 auto 16px;
  overflow: hidden;
}
.sl-bar {
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, rgba(var(--sp-accent-rgb),.2), var(--sp-accent), rgba(255,255,255,.65));
  transition: width .55s var(--sp-ease);
  box-shadow: 0 0 14px rgba(var(--sp-accent-rgb),.4);
}
.sl-status {
  font-size: .54rem;
  letter-spacing: 3px;
  color: rgba(var(--sp-accent-rgb),.52);
  text-transform: uppercase;
  font-family: 'Poppins', sans-serif;
  min-height: 1em;
}

/* Refinamiento visual — Lunar orbital HUD */
#spaceLoader {
  background:
    radial-gradient(circle at 50% 34%, rgba(var(--sp-accent-rgb),.16) 0%, rgba(var(--sp-accent-rgb),.08) 16%, transparent 42%),
    radial-gradient(circle at 18% 18%, rgba(var(--sp-secondary-rgb),.10) 0%, transparent 42%),
    radial-gradient(circle at 82% 20%, rgba(255,255,255,.06) 0%, transparent 34%),
    linear-gradient(145deg, #02050b 0%, #06101a 44%, #02040a 100%);
  isolation: isolate;
}
#spaceLoader::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 0%, rgba(255,255,255,.025) 49.5%, transparent 50.5%),
    linear-gradient(0deg, transparent 0%, rgba(255,255,255,.018) 49.5%, transparent 50.5%);
  background-size: 180px 180px;
  opacity: .18;
  pointer-events: none;
}
#spaceLoader::after {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: -24%;
  height: 44%;
  background: radial-gradient(ellipse at center, rgba(var(--sp-secondary-rgb),.16) 0%, rgba(var(--sp-accent-rgb),.08) 34%, transparent 72%);
  filter: blur(22px);
  opacity: .85;
  pointer-events: none;
}
#starCanvas {
  opacity: .92;
  mix-blend-mode: screen;
}
.sl-earth {
  bottom: -110px;
  left: 6%;
  right: 6%;
  height: 270px;
  background:
    radial-gradient(ellipse 70% 55% at 50% 100%, rgba(var(--sp-accent-rgb),.11) 0%, rgba(var(--sp-secondary-rgb),.08) 38%, transparent 76%);
}
.sl-orbit-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 284px;
  height: 284px;
  filter: drop-shadow(0 0 28px rgba(var(--sp-accent-rgb),.08));
}
.sl-orbit-stage::before,
.sl-orbit-stage::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  pointer-events: none;
}
.sl-orbit-stage::before {
  width: 244px;
  height: 244px;
  border: 1px solid rgba(255,255,255,.05);
  box-shadow: inset 0 0 30px rgba(var(--sp-accent-rgb),.04);
}
.sl-orbit-stage::after {
  width: 168px;
  height: 168px;
  background: radial-gradient(circle, rgba(255,255,255,.05) 0%, rgba(var(--sp-accent-rgb),.03) 45%, transparent 78%);
}
.sl-mission-grid,
.sl-orbit-sweep,
.sl-signal-beacon,
.sl-core-pulse {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  pointer-events: none;
}
.sl-mission-grid {
  width: 214px;
  height: 214px;
  border: 1px dashed rgba(255,255,255,.08);
  box-shadow: inset 0 0 24px rgba(var(--sp-accent-rgb),.05);
  opacity: .42;
  animation: slGridRotate 28s linear infinite;
}
.sl-orbit-sweep {
  width: 248px;
  height: 248px;
  background: conic-gradient(from 120deg, rgba(255,255,255,0) 0deg, rgba(var(--sp-accent-rgb),0) 230deg, rgba(var(--sp-accent-rgb),.24) 292deg, rgba(255,255,255,.62) 316deg, rgba(255,255,255,0) 344deg);
  -webkit-mask: radial-gradient(circle, transparent 63%, #000 64%, #000 70%, transparent 72%);
  mask: radial-gradient(circle, transparent 63%, #000 64%, #000 70%, transparent 72%);
  opacity: .82;
  animation: slSweepTurn 6.6s linear infinite;
}
.sl-signal-beacon {
  width: 132px;
  height: 132px;
  background: radial-gradient(circle, rgba(var(--sp-accent-rgb),.16) 0%, rgba(var(--sp-accent-rgb),.06) 44%, rgba(255,255,255,0) 74%);
  animation: slBeaconPulse 3.6s ease-in-out infinite;
}
.sl-core-pulse-1 {
  width: 136px;
  height: 136px;
  border: 1px solid rgba(var(--sp-accent-rgb),.18);
  animation: slPulseRing 3.8s ease-out infinite;
}
.sl-core-pulse-2 {
  width: 136px;
  height: 136px;
  border: 1px solid rgba(255,255,255,.14);
  animation: slPulseRing 3.8s ease-out 1.25s infinite;
}
.sl-orbit-stage.sl-complete {
  transform: scale(1.06);
  filter: drop-shadow(0 0 34px rgba(var(--sp-accent-rgb),.16)) brightness(1.05);
}
.sl-orbit-core {
  width: 124px;
  height: 124px;
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(13,18,28,.72) 55%, rgba(4,7,12,.95));
  border: 1px solid rgba(var(--sp-accent-rgb),.26);
  box-shadow:
    0 0 48px rgba(var(--sp-accent-rgb),.14),
    inset 0 0 30px rgba(255,255,255,.05);
  backdrop-filter: blur(4px);
}
.sl-orbit-core::before {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.10);
}
.sl-heka-logo {
  width: 86px;
  transform: scale(.94);
  filter:
     var(--sp-logo-filter, grayscale(1) brightness(1.24) contrast(1.05))
    drop-shadow(0 0 26px rgba(var(--sp-accent-rgb),.24));
  animation: slLogoFloat 4.8s ease-in-out infinite;
}
.sl-heka-logo.is-live {
  filter:
     var(--sp-logo-filter-hover, grayscale(1) brightness(1.30) contrast(1.08))
    drop-shadow(0 0 30px rgba(var(--sp-accent-rgb),.30));
}
.sl-rocket {
  width: 52px;
  height: 52px;
  transform: translateY(-110px) rotate(92deg);
  transform-origin: 50% 110px;
  opacity: .96;
  filter: drop-shadow(0 0 18px rgba(var(--sp-accent-rgb),.20));
  animation: slRocketBob 3.2s ease-in-out infinite;
}
.sl-rocket-trail {
  top: 30px;
  width: 3px;
  height: 36px;
  background: linear-gradient(to bottom, rgba(255,255,255,.84), rgba(var(--sp-accent-rgb),.30), rgba(var(--sp-secondary-rgb),0));
  box-shadow: 0 0 14px rgba(var(--sp-accent-rgb),.18);
}
.sl-rocket-svg {
  overflow: visible;
}
.sl-rocket-shadow {
  fill: rgba(8,12,20,.28);
}
.sl-rocket-body-shell {
  fill: url(#slRocketShell);
  stroke: rgba(255,255,255,.42);
  stroke-width: 1.15;
}
.sl-rocket-body-panel {
  fill: url(#slRocketPanel);
  opacity: .96;
}
.sl-rocket-fin {
  fill: #dce5ef;
  stroke: rgba(118,134,156,.42);
  stroke-width: 1;
}
.sl-rocket-nose {
  fill: rgba(255,255,255,.78);
}
.sl-rocket-window-ring {
  fill: rgba(228,236,246,.20);
  stroke: rgba(255,255,255,.38);
  stroke-width: 1;
}
.sl-rocket-window {
  fill: url(#slRocketWindowFill);
  stroke: rgba(216,232,248,.72);
  stroke-width: .9;
}
.sl-rocket-band {
  fill: rgba(var(--sp-secondary-rgb),.34);
}
.sl-rocket-engine {
  fill: #bac6d4;
}
.sl-rocket-flame-outer {
  fill: url(#slRocketFlameOuter);
  opacity: .92;
}
.sl-rocket-flame-core {
  fill: url(#slRocketFlameCore);
  opacity: .96;
  animation-duration: .28s;
}
@keyframes slRocketBob {
  0%, 100% { transform: translateY(-110px) rotate(92deg); }
  50% { transform: translateY(-114px) rotate(93deg); }
}
.sl-orbit-ring {
  border-color: rgba(255,255,255,.09);
  box-shadow: inset 0 0 20px rgba(255,255,255,.02);
}
.sl-orbit-ring-2,
.sl-orbit-axis {
  border-color: rgba(var(--sp-accent-rgb),.22);
}
.sl-orbit-dot-1 {
  background: var(--sp-accent-l);
  box-shadow: 0 0 18px rgba(var(--sp-accent-rgb),.72);
}
.sl-bar-wrap {
  position: relative;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(var(--sp-accent-rgb),.28), rgba(255,255,255,0));
}
.sl-bar {
  position: relative;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(var(--sp-accent-rgb),.25), rgba(242,246,251,.92), rgba(var(--sp-secondary-rgb),.65));
  box-shadow: 0 0 16px rgba(var(--sp-accent-rgb),.28);
}
.sl-bar::after {
  content: "";
  position: absolute;
  inset: -1px auto -1px 0;
  width: 64px;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.65), rgba(255,255,255,0));
  filter: blur(3px);
  animation: slBarSweep 2.1s linear infinite;
}
.sl-label {
  color: rgba(var(--sp-accent-rgb),.88);
}
.sl-meta {
  color: rgba(230,237,247,.5);
}
.sl-status {
  color: rgba(var(--sp-accent-rgb),.68);
  letter-spacing: 3.4px;
}
@keyframes slGridRotate {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes slSweepTurn {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes slBeaconPulse {
  0%, 100% { opacity: .45; transform: translate(-50%, -50%) scale(.96); }
  50% { opacity: .82; transform: translate(-50%, -50%) scale(1.04); }
}
@keyframes slPulseRing {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.82); }
  25% { opacity: .72; }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.28); }
}
@keyframes slLogoFloat {
  0%, 100% { transform: scale(.94) translateY(0); }
  50% { transform: scale(.98) translateY(-4px); }
}
@keyframes slBarSweep {
  from { transform: translateX(-100%); }
  to { transform: translateX(320px); }
}

/* ════════════════════════════════════════════════════════
   SUBMENÚ — letras visibles
════════════════════════════════════════════════════════ */
#sp-subnav {
  position: fixed; top: var(--sp-subnav-top); left: 0; right: 0; z-index: 9400;
  background: rgba(0,0,0,.88); backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--sp-subnav-border-color);
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
  /* Oculto por defecto — aparece después del hero */
  opacity: 0;
  pointer-events: none;
  transform: translateY(-100%);
  transition: opacity .35s ease, transform .35s cubic-bezier(.22,1,.36,1),
              background .3s ease, border-color .3s ease;
}
#sp-subnav.sp-subnav-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.sp-subnav-inner {
  display: flex; align-items: center; padding: 0 4%;
  min-height: 54px;
  overflow-x: auto; scrollbar-width: none;
}
.sp-subnav-inner::-webkit-scrollbar { display: none; }

.sp-subnav-link {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 12px 14px 11px;
  font-size: .66rem; font-weight: 700; letter-spacing: 3px;
  line-height: 1;
  text-transform: uppercase;
  color: var(--sp-subnav-link-color) !important;
  -webkit-text-fill-color: currentColor;
  opacity: 1 !important;
  text-decoration: none; font-family: 'Poppins', sans-serif;
  transition: color .25s ease, border-color .25s ease, background .25s ease;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
}
.sp-subnav-link:hover { color: var(--sp-subnav-link-hover) !important; }
.sp-subnav-link.sp-subnav-active {
  color: var(--sp-subnav-link-active) !important;
  border-bottom-color: var(--sp-subnav-link-active);
}
.sp-subnav-star {
  font-size: .72rem;
  color: var(--sp-subnav-star-color) !important;
  opacity: 1 !important;
}
.sp-subnav-cta {
  margin-left: auto;
  border: 1px solid var(--sp-subnav-cta-border);
  padding: 10px 18px 9px; margin-top: 6px; margin-bottom: 6px;
  color: var(--sp-subnav-cta-color) !important;
  border-bottom: 1px solid var(--sp-subnav-cta-border) !important;
  border-radius: 1px;
  transition: background .3s, border-color .3s, color .3s;
}
.sp-subnav-cta:hover,
.sp-subnav-cta.sp-subnav-active {
  background: var(--sp-subnav-cta-hover-bg);
  border-color: var(--sp-subnav-link-active) !important;
  color: var(--sp-subnav-link-active) !important;
}

/* ════════════════════════════════════════════════════════
   SHARED UTILITIES
════════════════════════════════════════════════════════ */
.sp-gold { color: var(--sp-accent); }
.sp-section-label {
  display: inline-flex; align-items: center; font-size: 1.52rem; letter-spacing: 5px; font-weight: 700;
  text-transform: uppercase; color: var(--sp-accent-l); margin-bottom: 20px;
  font-family: 'Poppins', sans-serif;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(var(--sp-accent-rgb), .20);
  background: linear-gradient(135deg, rgba(5,8,14,.78), rgba(10,16,26,.64));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 0 18px rgba(var(--sp-accent-rgb), .08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  text-shadow: 0 1px 8px rgba(0,0,0,.28);
}
/* Títulos de sección — blancos con em dorado */
.sp-serif-title {
  font-family: var(--sp-serif);
  font-size: clamp(2.8rem,5.5vw,6rem);
  font-weight: 300; line-height: 1; letter-spacing: -1px;
  color: var(--sp-text-h);
  text-shadow: 0 1px 16px rgba(0,0,0,.20);
}
.sp-serif-title em { font-style: italic; color: var(--sp-accent); }

.reveal-space { opacity:0;transform:translateY(36px);transition:opacity .9s var(--sp-ease),transform .9s var(--sp-ease); }
.reveal-space.revealed { opacity:1;transform:translateY(0); }
.reveal-space:nth-child(2){transition-delay:.10s}
.reveal-space:nth-child(3){transition-delay:.18s}
.reveal-space:nth-child(4){transition-delay:.26s}

/* Botones */
.sp-btn-gold {
  display:inline-block;padding:16px 40px;background:var(--sp-accent);color:#000;
  text-decoration:none;font-size:.62rem;font-weight:700;letter-spacing:4px;
  text-transform:uppercase;font-family:'Poppins',sans-serif;
  transition:background .3s,transform .3s;
}
.sp-btn-gold:hover { background:var(--sp-accent-l);transform:translateY(-2px); }
.sp-btn-gold.sp-btn-large { padding:20px 52px;font-size:.68rem; }
.sp-btn-ghost {
  display:inline-block;padding:15px 40px;
  border:1px solid rgba(255,255,255,.22);
  color:rgba(255,255,255,.75);
  text-decoration:none;font-size:.62rem;font-weight:700;letter-spacing:4px;
  text-transform:uppercase;font-family:'Poppins',sans-serif;
  transition:border-color .4s,color .4s;
}
.sp-btn-ghost:hover { border-color:var(--sp-accent);color:var(--sp-accent); }
.sp-btn-ghost-light {
  display:inline-flex;align-items:center;gap:8px;font-size:.65rem;letter-spacing:3px;
  color:rgba(var(--sp-accent-rgb),.60);text-decoration:none;font-weight:600;
  font-family:'Poppins',sans-serif;transition:color .4s;
  border-bottom:1px solid transparent;padding-bottom:2px;
}
.sp-btn-ghost-light:hover { color:var(--sp-accent);border-color:var(--sp-accent); }

/* ════════════════════════════════════════════════════════
   HERO
════════════════════════════════════════════════════════ */
#sp-hero {
  background: transparent;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 160px 7% 100px;
  position: relative;
  overflow: visible;
  box-sizing: border-box;
}
.sp-hero-orbit { position:absolute;inset:0;pointer-events:none; }
.sp-orbit { position:absolute;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid var(--sp-border); }
.sp-orbit-1{width:500px;height:500px;animation:orbitRotate 40s linear infinite}
.sp-orbit-2{width:780px;height:780px;animation:orbitRotate 65s linear infinite reverse}
.sp-orbit-3{width:1100px;height:1100px;animation:orbitRotate 90s linear infinite}
@keyframes orbitRotate{to{transform:translate(-50%,-50%) rotate(360deg)}}
.sp-orbit-dot{position:absolute;border-radius:50%;background:var(--sp-accent);top:50%;left:50%;}
.sp-orbit-dot-1{width:6px;height:6px;box-shadow:0 0 14px rgba(var(--sp-accent-rgb),.9);animation:orbitDot1 40s linear infinite}
.sp-orbit-dot-2{width:4px;height:4px;box-shadow:0 0 10px rgba(var(--sp-accent-rgb),.7);animation:orbitDot2 65s linear infinite reverse}
@keyframes orbitDot1{from{transform:translate(-50%,-50%) rotate(0deg) translateX(250px)}to{transform:translate(-50%,-50%) rotate(360deg) translateX(250px)}}
@keyframes orbitDot2{from{transform:translate(-50%,-50%) rotate(0deg) translateX(390px)}to{transform:translate(-50%,-50%) rotate(360deg) translateX(390px)}}
.sp-hero-content{position:relative;z-index:2;max-width:min(900px,100%);}
.sp-hero-eyebrow{display:flex;align-items:center;gap:16px;font-size:.58rem;letter-spacing:5px;font-weight:700;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:28px;font-family:'Poppins',sans-serif;opacity:0;animation:fadeInUp .8s ease .2s forwards;}
.sp-gold-line{display:inline-block;width:40px;height:1px;background:var(--sp-accent);}
.sp-hero-title{font-family:var(--sp-serif);font-size:clamp(3.75rem,9vw,9.5rem);font-weight:300;line-height:.92;letter-spacing:-2px;color:var(--sp-text-h);margin-bottom:32px;opacity:0;animation:fadeInUp 1s var(--sp-ease) .4s forwards;}
.sp-hero-title em{font-style:italic;color:var(--sp-accent);}
.sp-hero-sub{font-size:1rem;font-weight:300;line-height:1.9;color:rgba(255,255,255,.55);max-width:540px;margin-bottom:48px;font-family:'Poppins',sans-serif;opacity:0;animation:fadeInUp .8s ease .65s forwards;}
.sp-hero-ctas{display:flex;gap:16px;flex-wrap:wrap;opacity:0;animation:fadeInUp .8s ease .85s forwards;}
.sp-hero-scroll{position:absolute;right:7%;bottom:48px;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:2;}
.sp-scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,transparent,rgba(var(--sp-accent-rgb),.65));animation:scrollPulse 2s ease-in-out infinite;}
@keyframes scrollPulse{0%,100%{opacity:.3}50%{opacity:1}}
.sp-hero-scroll span{font-size:.46rem;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,.30);font-family:'Poppins',sans-serif;font-weight:700;writing-mode:vertical-rl;}
.sp-artemis-ribbon{position:absolute;top:100px;right:0;background:rgba(0,0,0,.55);border:1px solid var(--sp-border);border-right:none;padding:10px 24px 10px 18px;display:flex;align-items:center;gap:10px;font-size:.5rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.50);font-family:'Poppins',sans-serif;font-weight:600;z-index:3;animation:fadeInUp .6s ease 1.2s backwards;}
.sp-ar-dot{width:6px;height:6px;border-radius:50%;background:var(--sp-accent);box-shadow:0 0 8px rgba(var(--sp-accent-rgb),.85);flex-shrink:0;animation:dotPulse 1.5s ease-in-out infinite;}
@keyframes dotPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}

/* ════════════════════════════════════════════════════════
   THE PRACTICE — texto BLANCO (no dorado)
════════════════════════════════════════════════════════ */
#sp-value { padding:120px 7%;border-top:1px solid rgba(255,255,255,.06); }
.sp-value-inner { display:grid;grid-template-columns:1fr 1.5fr;gap:100px;align-items:start; }
.sp-value-right {
  position: relative;
  padding: 28px 32px;
  border: 1px solid rgba(var(--sp-accent-rgb), .16);
  border-radius: 22px;
  background:
    linear-gradient(160deg, rgba(5, 8, 14, .84) 0%, rgba(8, 13, 22, .78) 58%, rgba(5, 8, 14, .72) 100%),
    radial-gradient(circle at top right, rgba(var(--sp-accent-rgb), .10), transparent 38%);
  box-shadow:
    0 24px 60px rgba(0,0,0,.20),
    0 0 24px rgba(var(--sp-accent-rgb), .08),
    inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Título blanco con em dorado */
.sp-value-title {
  font-family: var(--sp-serif);
  font-size: clamp(2.8rem,5.5vw,6rem);
  font-weight: 300; line-height: 1; letter-spacing: -1px;
  color: var(--sp-text-h);    /* BLANCO */
  margin-top: 8px;
}
.sp-value-title em { font-style: italic; color: var(--sp-accent); }

/* Quote — blanco con borde dorado */
.sp-value-lead {
  font-family: var(--sp-serif); font-size: 1.32rem;
  font-weight: 400; line-height: 1.65; font-style: italic;
  color: rgba(255,255,255,.94);
  border-left: 2px solid var(--sp-accent);
  padding-left: 24px; margin-bottom: 28px;
  text-shadow: 0 1px 10px rgba(0,0,0,.18);
}
/* Body — blanco legible */
.sp-value-body {
  font-size: .90rem; font-weight: 300; line-height: 2;
  color: rgba(242,246,251,.86);
  font-family: 'Poppins', sans-serif; margin-bottom: 16px;
  text-shadow: 0 1px 8px rgba(0,0,0,.14);
}
.sp-key-phrase {
  margin: 28px 0 0;
  padding: 16px 18px;
  border: 1px solid rgba(var(--sp-accent-rgb), .30);
  border-left: 3px solid var(--sp-accent);
  background: linear-gradient(90deg, rgba(var(--sp-accent-rgb), .14), rgba(255,255,255,.04));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  color: rgba(248,250,252,.96);
  font-size: .96rem;
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: .01em;
  text-shadow: 0 1px 10px rgba(0,0,0,.16);
}
.sp-value-stats { display:flex;gap:48px;margin-top:48px;padding-top:40px;border-top:1px solid rgba(255,255,255,.08); }
.sp-stat { display:flex;flex-direction:column;gap:4px; }
.sp-stat-n { font-family:var(--sp-serif);font-size:3rem;font-weight:300;line-height:1;color:var(--sp-text-h); }
.sp-stat-l { font-size:.52rem;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.40);font-weight:700;font-family:'Poppins',sans-serif; }

/* ════════════════════════════════════════════════════════
   PILLARS — GRID 2×2
════════════════════════════════════════════════════════ */
#sp-pillars { padding:120px 7%;border-top:1px solid rgba(255,255,255,.06); }
.sp-pillars-header { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:64px; }
.sp-pillars-intro { font-size:1rem;font-weight:300;line-height:2;color:rgba(255,255,255,.50);font-family:'Poppins',sans-serif;align-self:end; }
.sp-pillars-accordion { display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(255,255,255,.06);align-items:start; }
.sp-pillar-item {
  position:relative;
  isolation:isolate;
  background:linear-gradient(180deg, rgba(8,8,8,.95) 0%, rgba(6,8,12,.97) 100%);
  border:1px solid rgba(255,255,255,.03);
  overflow:hidden;
  scroll-margin-top:140px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
  transition:transform .4s var(--sp-ease), border-color .4s var(--sp-ease), background .4s var(--sp-ease), box-shadow .4s var(--sp-ease);
}
.sp-pillar-item::before {
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top left, rgba(var(--sp-accent-rgb),.12), transparent 46%);
  opacity:0;
  pointer-events:none;
  transition:opacity .4s ease;
}
.sp-pillar-item::after {
  content:'';
  position:absolute;
  inset:-24%;
  background:linear-gradient(118deg,
    transparent 26%,
    rgba(var(--sp-accent-rgb),0) 38%,
    rgba(var(--sp-accent-rgb),.05) 45%,
    rgba(255,255,255,.14) 50%,
    rgba(var(--sp-accent-rgb),.10) 54%,
    transparent 64%);
  opacity:0;
  pointer-events:none;
  transform:translate3d(-88%,0,0) skewX(-16deg);
}
.sp-pillar-item:hover {
  transform:translateY(-5px);
  border-color:rgba(var(--sp-accent-rgb),.28);
  background:linear-gradient(180deg, rgba(10,14,20,.98) 0%, rgba(8,8,8,.97) 100%);
  box-shadow:0 22px 46px rgba(0,0,0,.24), 0 0 24px rgba(var(--sp-accent-rgb),.09), inset 0 1px 0 rgba(255,255,255,.04);
}
.sp-pillar-item:hover::before,
.sp-pillar-item.open::before { opacity:1; }
.sp-pillar-item:hover::after {
  opacity:1;
  animation:spPillarSweep 1.9s linear infinite;
}
.sp-pillar-item.open::after {
  opacity:.38;
  transform:translate3d(18%,0,0) skewX(-16deg);
}
.sp-pillar-item.open {
  border-color:rgba(var(--sp-accent-rgb),.38);
  background:linear-gradient(180deg, rgba(10,14,20,.98) 0%, rgba(8,8,8,.97) 100%);
  box-shadow:0 18px 40px rgba(0,0,0,.20), 0 0 22px rgba(var(--sp-accent-rgb),.08), inset 0 1px 0 rgba(255,255,255,.04);
}
.sp-pillar-toggle { width:100%;display:flex;align-items:center;justify-content:space-between;padding:32px 40px;cursor:pointer;background:transparent;border:none;text-align:left;gap:20px;position:relative;transition:background .3s var(--sp-ease); }
.sp-pillar-toggle:hover { background:rgba(255,255,255,.018); }
.sp-pillar-toggle:focus-visible { outline:1px solid rgba(var(--sp-accent-rgb),.35);outline-offset:-1px;background:rgba(var(--sp-accent-rgb),.05); }
.sp-pillar-toggle::before {
  content:'';
  position:absolute;
  top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg, transparent 0%, rgba(var(--sp-accent-rgb),.15) 18%, rgba(var(--sp-accent-rgb),.95) 50%, rgba(var(--sp-accent-rgb),.15) 82%, transparent 100%);
  background-size:220% 100%;
  background-position:100% 0;
  transform:scaleX(.42);
  transform-origin:center;
  opacity:.5;
  transition:transform .45s var(--sp-ease), opacity .45s ease;
}
.sp-pillar-item:hover .sp-pillar-toggle::before,
.sp-pillar-item.open .sp-pillar-toggle::before {
  transform:scaleX(1);
  opacity:1;
  animation:spPillarLineFlow 1.8s linear infinite;
}
.sp-pillar-toggle-left { display:flex;gap:20px;align-items:flex-start;flex:1; }
.sp-pillar-toggle-info { display:flex;flex-direction:column;gap:4px; }
.sp-pillar-num { font-family:var(--sp-serif);font-size:2.8rem;font-weight:300;color:var(--sp-accent);line-height:1;flex-shrink:0;margin-top:-4px;transition:transform .4s var(--sp-ease), text-shadow .4s ease, color .4s ease; }
.sp-pillar-title { font-family:var(--sp-serif);font-size:1.45rem;font-weight:400;color:var(--sp-text-h);line-height:1.2;margin:0;transition:color .35s ease, letter-spacing .35s ease, transform .35s ease; }
.sp-pillar-item:hover .sp-pillar-num,
.sp-pillar-item.open .sp-pillar-num {
  transform:translateY(-2px) scale(1.02);
  color:var(--sp-accent-l);
  text-shadow:0 0 16px rgba(var(--sp-accent-rgb),.18);
}
.sp-pillar-toggle:hover .sp-pillar-title,
.sp-pillar-item.open .sp-pillar-title {
  color:var(--sp-accent);
  letter-spacing:.012em;
  transform:translateX(2px);
}
.sp-pillar-sub { font-size:.55rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.38);font-weight:700;font-family:'Poppins',sans-serif;margin:0;transition:color .35s ease, opacity .35s ease; }
.sp-pillar-item:hover .sp-pillar-sub,
.sp-pillar-item.open .sp-pillar-sub { color:rgba(255,255,255,.52); }
.sp-pillar-chevron { width:24px;height:24px;flex-shrink:0;color:var(--sp-accent);transition:transform .4s var(--sp-ease),color .3s var(--sp-ease), opacity .3s ease; }
.sp-pillar-item:hover .sp-pillar-chevron { color:var(--sp-accent-l); opacity:1; transform:translateY(1px) scale(1.05); }
.sp-pillar-item.open .sp-pillar-chevron { transform:rotate(180deg) scale(1.05);color:var(--sp-accent-l); }
.sp-pillar-chevron svg { width:24px;height:24px; }
@keyframes spPillarSweep {
  0% { transform:translate3d(-88%,0,0) skewX(-16deg); }
  100% { transform:translate3d(88%,0,0) skewX(-16deg); }
}
@keyframes spPillarLineFlow {
  0% { background-position:200% 0; }
  100% { background-position:0 0; }
}
.sp-pillar-body { max-height:0;overflow:hidden;opacity:0;transition:max-height .58s var(--sp-ease),opacity .24s ease; }
.sp-pillar-item.open .sp-pillar-body { opacity:1; }
.sp-pillar-body-inner { padding:0 40px 36px;transform:translateY(-10px);opacity:0;transition:transform .42s var(--sp-ease),opacity .3s ease; }
.sp-pillar-item.open .sp-pillar-body-inner { transform:translateY(0);opacity:1; }
.sp-pillar-desc { font-size:.86rem;font-weight:300;line-height:2;color:rgba(255,255,255,.55);margin-bottom:24px;font-family:'Poppins',sans-serif;padding-left:calc(2.8rem + 20px); }
.sp-pillar-list { list-style:none;display:flex;flex-direction:column;gap:10px;padding-left:calc(2.8rem + 20px); }
.sp-pillar-list li { font-size:.82rem;font-weight:300;color:rgba(255,255,255,.55);padding-left:16px;position:relative;line-height:1.6;font-family:'Poppins',sans-serif; }
.sp-pillar-list li::before { content:'›';position:absolute;left:0;color:rgba(var(--sp-accent-rgb),.7);font-size:.9rem; }

/* ════════════════════════════════════════════════════════
   TASK FORCE
════════════════════════════════════════════════════════ */
#sp-taskforce { padding:120px 7%;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06); }
.sp-tf-inner { display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start; }
.sp-tf-body { font-size:1.02rem;font-weight:300;line-height:1.95;color:rgba(255,255,255,.72);font-family:'Poppins',sans-serif;margin-top:20px; }
.sp-tf-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  align-items:start;
}
.sp-tf-item {
  position:relative;
  align-self:start;
  height:fit-content;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(var(--sp-accent-rgb),.16);
  background:linear-gradient(180deg, rgba(4,8,14,.92), rgba(7,12,20,.82));
  box-shadow:0 18px 44px rgba(0,0,0,.18);
  transition:transform .35s var(--sp-ease), border-color .35s ease, box-shadow .35s ease, background .35s ease;
}
.sp-tf-item::before {
  content:'';
  position:absolute;
  z-index:2;
  top:-1px;
  left:-30%;
  width:30%;
  height:2px;
  opacity:0;
  pointer-events:none;
  background:linear-gradient(90deg, transparent 0%, rgba(var(--sp-accent-rgb),.92) 35%, #fff 50%, rgba(var(--sp-accent-rgb),.92) 65%, transparent 100%);
  box-shadow:0 0 10px rgba(var(--sp-accent-rgb),.92), 0 0 20px rgba(var(--sp-accent-rgb),.34);
}
.sp-tf-item::after {
  content:'';
  position:absolute;
  inset:-22%;
  background:radial-gradient(circle at center, rgba(var(--sp-accent-rgb),.18) 0%, transparent 62%);
  opacity:0;
  pointer-events:none;
  transform:scale(.82);
  filter:blur(18px);
  transition:opacity .35s ease, transform .35s ease;
}
.sp-tf-item:hover,
.sp-tf-item[open] {
  transform:translateY(-4px);
  border-color:rgba(var(--sp-accent-rgb),.42);
  background:linear-gradient(180deg, rgba(7,12,20,.98), rgba(10,18,30,.9));
  box-shadow:0 24px 54px rgba(0,0,0,.28), 0 0 36px rgba(var(--sp-accent-rgb),.18), inset 0 0 22px rgba(var(--sp-accent-rgb),.05);
}
.sp-tf-item:hover::before,
.sp-tf-item[open]::before {
  opacity:1;
  animation:spTfBorderTravel 2.4s linear infinite;
}
.sp-tf-item:hover::after,
.sp-tf-item[open]::after {
  opacity:.9;
  transform:scale(1);
}
.sp-tf-item-summary {
  position:relative;
  z-index:1;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:15px 16px;
  cursor:pointer;
  font-size:.68rem;
  letter-spacing:2.4px;
  text-transform:uppercase;
  font-weight:700;
  color:rgba(255,255,255,.82);
  font-family:'Poppins',sans-serif;
  transition:background .35s ease,color .35s ease, letter-spacing .35s ease;
}
.sp-tf-item-summary::-webkit-details-marker { display:none; }
.sp-tf-item-summary::after {
  content:'▾';
  font-size:.95rem;
  line-height:1;
  color:var(--sp-accent);
  transition:transform .3s var(--sp-ease), color .3s ease;
}
.sp-tf-item:hover .sp-tf-item-summary,
.sp-tf-item[open] .sp-tf-item-summary,
.sp-tf-item-summary:hover {
  background:rgba(var(--sp-accent-rgb),.06);
  color:#fff;
  letter-spacing:2.6px;
}
.sp-tf-item:hover .sp-tf-item-summary::after,
.sp-tf-item[open] .sp-tf-item-summary::after { color:#fff; }
.sp-tf-item[open] .sp-tf-item-summary {
  border-bottom:1px solid rgba(var(--sp-accent-rgb),.12);
}
.sp-tf-item[open] .sp-tf-item-summary::after { transform:rotate(-180deg); }
.sp-tf-item-desc {
  position:relative;
  z-index:1;
  margin:0;
  padding:15px 16px 18px;
  font-size:.92rem;
  line-height:1.8;
  color:rgba(255,255,255,.76);
  font-family:'Poppins',sans-serif;
  transition:color .35s ease;
}
.sp-tf-item:hover .sp-tf-item-desc,
.sp-tf-item[open] .sp-tf-item-desc { color:rgba(255,255,255,.88); }
@keyframes spTfBorderTravel {
  0% {
    top:-1px; left:-30%; width:30%; height:2px;
    background:linear-gradient(90deg, transparent 0%, rgba(var(--sp-accent-rgb),.92) 35%, #fff 50%, rgba(var(--sp-accent-rgb),.92) 65%, transparent 100%);
  }
  24.9% {
    top:-1px; left:100%; width:30%; height:2px;
    background:linear-gradient(90deg, transparent 0%, rgba(var(--sp-accent-rgb),.92) 35%, #fff 50%, rgba(var(--sp-accent-rgb),.92) 65%, transparent 100%);
  }
  25% {
    top:-1px; left:calc(100% - 2px); width:2px; height:30%;
    background:linear-gradient(180deg, transparent 0%, rgba(var(--sp-accent-rgb),.92) 35%, #fff 50%, rgba(var(--sp-accent-rgb),.92) 65%, transparent 100%);
  }
  49.9% {
    top:100%; left:calc(100% - 2px); width:2px; height:30%;
    background:linear-gradient(180deg, transparent 0%, rgba(var(--sp-accent-rgb),.92) 35%, #fff 50%, rgba(var(--sp-accent-rgb),.92) 65%, transparent 100%);
  }
  50% {
    top:calc(100% - 2px); left:100%; width:30%; height:2px;
    background:linear-gradient(270deg, transparent 0%, rgba(var(--sp-accent-rgb),.92) 35%, #fff 50%, rgba(var(--sp-accent-rgb),.92) 65%, transparent 100%);
  }
  74.9% {
    top:calc(100% - 2px); left:-30%; width:30%; height:2px;
    background:linear-gradient(270deg, transparent 0%, rgba(var(--sp-accent-rgb),.92) 35%, #fff 50%, rgba(var(--sp-accent-rgb),.92) 65%, transparent 100%);
  }
  75% {
    top:100%; left:-1px; width:2px; height:30%;
    background:linear-gradient(0deg, transparent 0%, rgba(var(--sp-accent-rgb),.92) 35%, #fff 50%, rgba(var(--sp-accent-rgb),.92) 65%, transparent 100%);
  }
  100% {
    top:-30%; left:-1px; width:2px; height:30%;
    background:linear-gradient(0deg, transparent 0%, rgba(var(--sp-accent-rgb),.92) 35%, #fff 50%, rgba(var(--sp-accent-rgb),.92) 65%, transparent 100%);
  }
}

/* ════════════════════════════════════════════════════════
   WHY ECUADOR — fondo NEGRO puro, estrellas blancas
════════════════════════════════════════════════════════ */
#sp-ecuador { padding:120px 7%;border-top:1px solid rgba(255,255,255,.06); }
.sp-ec-header { margin-bottom:72px; }
.sp-ec-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px;background:rgba(255,255,255,.05); }

.sp-ec-card {
  background: linear-gradient(180deg, rgba(5,8,12,.88) 0%, rgba(0,0,0,.68) 100%);
  padding: 52px 40px; position: relative;
  border: 1px solid rgba(255,255,255,.06);
  border-top: 1px solid rgba(var(--sp-accent-rgb),.10);
  backdrop-filter: blur(2px);
  transition: border-color .45s var(--sp-ease), transform .45s var(--sp-ease), background .45s var(--sp-ease), box-shadow .45s var(--sp-ease);
  overflow: hidden;
  isolation:isolate;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}
.sp-ec-card::before {
  content:'';
  position:absolute;
  z-index:2;
  top:-1px;
  left:-30%;
  width:30%;
  height:2px;
  opacity:0;
  pointer-events:none;
  background:linear-gradient(90deg, transparent 0%, rgba(var(--sp-accent-rgb),.95) 35%, #fff 50%, rgba(var(--sp-accent-rgb),.95) 65%, transparent 100%);
  box-shadow:0 0 10px rgba(var(--sp-accent-rgb),.95), 0 0 22px rgba(var(--sp-accent-rgb),.34);
}
.sp-ec-card::after {
  content:'';
  position:absolute;
  inset:-24%;
  background:
    radial-gradient(circle at 18% 14%, rgba(var(--sp-accent-rgb),.16), transparent 0 36%),
    linear-gradient(118deg,
      transparent 28%,
      rgba(var(--sp-accent-rgb),0) 40%,
      rgba(var(--sp-accent-rgb),.08) 47%,
      rgba(255,255,255,.14) 50%,
      rgba(var(--sp-accent-rgb),.10) 53%,
      transparent 62%);
  opacity:0;
  pointer-events:none;
  transform:translate3d(-86%,0,0) skewX(-16deg) scale(.96);
  filter:blur(.5px);
  transition:opacity .35s ease, transform .45s ease;
}

/* Usa el fondo estrellado global de la página, sin textura artificial */
.sp-ec-card-stars {
  background: linear-gradient(180deg, rgba(3,6,10,.84) 0%, rgba(0,0,0,.62) 100%);
}
.sp-ec-card-stars::before {
  display:block;
}
.sp-ec-card:hover {
  border-color:rgba(var(--sp-accent-rgb),.34);
  border-top-color: var(--sp-accent-l);
  transform: translateY(-8px) scale(1.012);
  background: linear-gradient(180deg, rgba(8,13,19,.98) 0%, rgba(3,6,10,.94) 100%);
  box-shadow:0 28px 60px rgba(0,0,0,.30), 0 0 30px rgba(var(--sp-accent-rgb),.14), inset 0 1px 0 rgba(255,255,255,.05);
}
.sp-ec-card:hover::before {
  opacity:1;
  animation:spEcBorderTravel 2.35s linear infinite;
}
.sp-ec-card:hover::after {
  opacity:1;
  transform:translate3d(38%,0,0) skewX(-16deg) scale(1);
}
.sp-ec-symbol { font-family:var(--sp-serif);font-size:3.5rem;font-weight:300;color:var(--sp-accent);line-height:1;margin-bottom:20px;letter-spacing:-2px;position:relative;z-index:1;transition:transform .4s var(--sp-ease), text-shadow .4s ease, color .4s ease; }
.sp-ec-card h3 { font-family:var(--sp-serif);font-size:1.2rem;font-weight:600;color:var(--sp-text-h);margin-bottom:14px;position:relative;z-index:1;transition:color .4s ease, transform .4s var(--sp-ease), letter-spacing .4s ease; }
.sp-ec-card p  { font-size:.82rem;font-weight:300;line-height:1.9;color:rgba(255,255,255,.65);font-family:'Poppins',sans-serif;position:relative;z-index:1;transition:color .4s ease, transform .4s var(--sp-ease); }
.sp-ec-card:hover .sp-ec-symbol {
  transform:translateY(-3px) scale(1.03);
  color:var(--sp-accent-l);
  text-shadow:0 0 18px rgba(var(--sp-accent-rgb),.22);
}
.sp-ec-card:hover h3 {
  color:var(--sp-accent);
  transform:translateX(3px);
  letter-spacing:.01em;
}
.sp-ec-card:hover p {
  color:rgba(255,255,255,.80);
  transform:translateY(1px);
}

/* Card "No Space Law — Yet" */
.sp-ec-card-highlight {
  background: rgba(0,0,0,.54) !important;
  background-image: none !important;
  border-left: 3px solid rgba(var(--sp-accent-rgb),.35);
}
.sp-ec-card-highlight::before { display:none; }
.sp-ec-card-highlight h3 { color: var(--sp-accent); }
.sp-ec-card-highlight p  { color: rgba(255,255,255,.72); }
.sp-ec-badge { display:inline-block;margin-top:20px;padding:6px 14px;border:1px solid rgba(var(--sp-accent-rgb),.30);font-size:.5rem;letter-spacing:3px;text-transform:uppercase;color:var(--sp-accent);font-weight:700;font-family:'Poppins',sans-serif;position:relative;z-index:1;transition:border-color .35s ease, color .35s ease, box-shadow .35s ease, transform .35s var(--sp-ease); }
.sp-ec-card:hover .sp-ec-badge {
  border-color:rgba(var(--sp-accent-rgb),.52);
  color:var(--sp-accent-l);
  box-shadow:0 0 16px rgba(var(--sp-accent-rgb),.12);
  transform:translateY(-1px);
}
@keyframes spEcBorderTravel {
  0% {
    top:-1px; left:-30%; width:30%; height:2px;
    background:linear-gradient(90deg, transparent 0%, rgba(var(--sp-accent-rgb),.95) 35%, #fff 50%, rgba(var(--sp-accent-rgb),.95) 65%, transparent 100%);
  }
  24.9% {
    top:-1px; left:100%; width:30%; height:2px;
    background:linear-gradient(90deg, transparent 0%, rgba(var(--sp-accent-rgb),.95) 35%, #fff 50%, rgba(var(--sp-accent-rgb),.95) 65%, transparent 100%);
  }
  25% {
    top:-1px; left:calc(100% - 2px); width:2px; height:30%;
    background:linear-gradient(180deg, transparent 0%, rgba(var(--sp-accent-rgb),.95) 35%, #fff 50%, rgba(var(--sp-accent-rgb),.95) 65%, transparent 100%);
  }
  49.9% {
    top:100%; left:calc(100% - 2px); width:2px; height:30%;
    background:linear-gradient(180deg, transparent 0%, rgba(var(--sp-accent-rgb),.95) 35%, #fff 50%, rgba(var(--sp-accent-rgb),.95) 65%, transparent 100%);
  }
  50% {
    top:calc(100% - 2px); left:100%; width:30%; height:2px;
    background:linear-gradient(270deg, transparent 0%, rgba(var(--sp-accent-rgb),.95) 35%, #fff 50%, rgba(var(--sp-accent-rgb),.95) 65%, transparent 100%);
  }
  74.9% {
    top:calc(100% - 2px); left:-30%; width:30%; height:2px;
    background:linear-gradient(270deg, transparent 0%, rgba(var(--sp-accent-rgb),.95) 35%, #fff 50%, rgba(var(--sp-accent-rgb),.95) 65%, transparent 100%);
  }
  75% {
    top:100%; left:-1px; width:2px; height:30%;
    background:linear-gradient(0deg, transparent 0%, rgba(var(--sp-accent-rgb),.95) 35%, #fff 50%, rgba(var(--sp-accent-rgb),.95) 65%, transparent 100%);
  }
  100% {
    top:-30%; left:-1px; width:2px; height:30%;
    background:linear-gradient(0deg, transparent 0%, rgba(var(--sp-accent-rgb),.95) 35%, #fff 50%, rgba(var(--sp-accent-rgb),.95) 65%, transparent 100%);
  }
}

/* ════════════════════════════════════════════════════════
   NEWS SECTION
════════════════════════════════════════════════════════ */
#sp-news { padding:120px 7%;border-top:1px solid rgba(255,255,255,.06); }
.sp-news-header {
  display: grid; grid-template-columns: 1fr auto 1fr;
  align-items: end; margin-bottom: 64px; gap: 40px;
  padding: 28px 32px;
  border: 1px solid rgba(var(--sp-accent-rgb), .16);
  border-radius: 24px;
  background:
    linear-gradient(160deg, rgba(5,8,14,.84) 0%, rgba(8,13,22,.76) 58%, rgba(5,8,14,.70) 100%),
    radial-gradient(circle at top right, rgba(var(--sp-accent-rgb), .10), transparent 42%);
  box-shadow: 0 24px 60px rgba(0,0,0,.18), 0 0 24px rgba(var(--sp-accent-rgb), .08), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.sp-news-header .sp-section-label { margin-bottom: 12px; }
.sp-news-all {
  font-size:.58rem;letter-spacing:3px;font-weight:600;
  text-transform:uppercase;color:rgba(248,250,252,.84);
  text-decoration:none;font-family:'Poppins',sans-serif;
  transition:color .3s, text-shadow .3s;align-self:flex-end;padding-bottom:6px;
  grid-column:3;text-align:right;
  text-shadow: 0 1px 10px rgba(0,0,0,.22);
}
.sp-news-all:hover { color:var(--sp-accent-l); text-shadow: 0 0 14px rgba(var(--sp-accent-rgb), .16); }

.sp-news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  background: transparent;
}

.sp-news-cards {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 16px;
  background: transparent;
}
.sp-news-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  background: transparent;
  border: 1px solid var(--sp-border);
  border-radius: 16px;
  overflow: hidden;
  transition: transform .35s cubic-bezier(.22,1,.36,1),
              border-color .35s ease,
              box-shadow .35s ease;
  box-shadow: none;
}
.sp-news-card:hover {
  transform: translateY(-5px);
  border-color: rgba(var(--sp-accent-rgb), .55);
  box-shadow: 0 16px 48px rgba(0,0,0,.42),
              0 0 0 1px rgba(var(--sp-accent-rgb), .15),
              0 0 32px rgba(var(--sp-accent-rgb), .06);
}
.sp-nc-img-wrap {
  width: 100%;
  height: 220px;
  overflow: hidden;
  position: relative;
  background: rgba(var(--sp-accent-rgb), .04);
  flex-shrink: 0;
}
.sp-nc-img-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(2,4,12,.65) 100%);
  pointer-events: none;
}
.sp-nc-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(.22,1,.36,1), filter .4s;
  filter: grayscale(.15) brightness(.92);
}
.sp-news-card:hover .sp-nc-img {
  transform: scale(1.06);
  filter: grayscale(0) brightness(1);
}
.sp-nc-cat-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  background: rgba(var(--sp-accent-rgb), .20);
  border: 1px solid rgba(var(--sp-accent-rgb), .40);
  color: var(--sp-accent);
  font-size: .42rem;
  letter-spacing: 3px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 999px;
  backdrop-filter: blur(8px);
  font-family: 'Poppins', sans-serif;
}
.sp-nc-img-placeholder {
  width:100%;height:220px;background:rgba(var(--sp-accent-rgb),.06);
  display:flex;align-items:center;justify-content:center;
}
.sp-nc-img-placeholder span { font-size:2.5rem;color:rgba(var(--sp-accent-rgb),.35); }
.sp-nc-body {
  padding: 24px 28px 28px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sp-nc-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.sp-nc-cat, .sp-n-cat { font-size:.44rem;letter-spacing:3.5px;font-weight:700;text-transform:uppercase;color:var(--sp-accent);font-family:'Poppins',sans-serif; }
.sp-nc-title { font-family:var(--sp-serif);font-size:1.15rem;font-weight:400;color:rgba(255,255,255,.92);line-height:1.35;flex:1;transition:color .3s; }
.sp-news-card:hover .sp-nc-title { color: #fff; }
.sp-nc-excerpt { display:none; }
.sp-nc-date, .sp-n-date { font-size:.44rem;letter-spacing:2px;color:rgba(255,255,255,.28);font-family:'Poppins',sans-serif;text-transform:uppercase; }
.sp-nc-footer { display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.06); }
.sp-nc-arrow, .sp-n-arrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .50rem;
  letter-spacing: 2.5px;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(var(--sp-accent-rgb), .65);
  font-family: 'Poppins', sans-serif;
  transition: color .3s, gap .3s;
  margin-top: auto;
  padding-top: 14px;
}
.sp-news-card:hover .sp-nc-arrow,
.sp-news-card:hover .sp-n-arrow { color: var(--sp-accent); gap: 10px; }
/* Placeholder skeleton */
.sp-news-placeholder { display:flex;gap:16px; }
.sp-news-card-skeleton { flex:1;height:380px;background:linear-gradient(90deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.04) 100%);background-size:200% 100%;animation:skeletonPulse 1.5s ease-in-out infinite;border-radius:16px; }
@keyframes skeletonPulse{0%{background-position:200% 0}100%{background-position:-200% 0}}
.sp-news-error { color:rgba(248,250,252,.82);font-size:.82rem;font-family:'Poppins',sans-serif;padding:40px 28px;text-shadow:0 1px 8px rgba(0,0,0,.18); }

.sp-pillars-header,
.sp-tf-left,
.sp-ec-header {
  position: relative;
  padding: 26px 30px;
  border: 1px solid rgba(var(--sp-accent-rgb), .14);
  border-radius: 22px;
  background:
    linear-gradient(160deg, rgba(5,8,14,.78) 0%, rgba(8,13,22,.68) 58%, rgba(5,8,14,.62) 100%),
    radial-gradient(circle at top right, rgba(var(--sp-accent-rgb), .08), transparent 44%);
  box-shadow: 0 22px 52px rgba(0,0,0,.14), 0 0 22px rgba(var(--sp-accent-rgb), .06), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.sp-pillars-intro,
.sp-tf-body {
  color: rgba(242,246,251,.82);
  text-shadow: 0 1px 10px rgba(0,0,0,.18);
}

/* ════════════════════════════════════════════════════════
   CONTACT
════════════════════════════════════════════════════════ */
#sp-contact { padding:140px 7%;border-top:1px solid rgba(255,255,255,.06); }
.sp-ct-inner { position:relative;z-index:2;max-width:800px; }
.sp-ct-sub { font-size:.92rem;font-weight:300;line-height:2;color:rgba(255,255,255,.55);max-width:520px;margin:28px 0 52px;font-family:'Poppins',sans-serif; }
.sp-ct-actions { display:flex;gap:20px;flex-wrap:wrap;margin-bottom:56px; }
.sp-ct-offices { display:flex;gap:16px;align-items:center;font-size:.56rem;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,.25);font-weight:600;font-family:'Poppins',sans-serif; }
.sp-ct-div { color:rgba(255,255,255,.20); }

/* ════════════════════════════════════════════════════════
   FOOTER — tema space
════════════════════════════════════════════════════════ */
.space-page footer {
  position: relative; z-index: 2;
  background: rgba(0,0,0,.97) !important;
  border-top: 1px solid rgba(var(--sp-accent-rgb),.12);
}
.space-page footer .footer-main { border-bottom-color: rgba(255,255,255,.06) !important; }
.space-page footer .footer-col h4 { color: rgba(255,255,255,.30) !important; }
.space-page footer .footer-contact-label { color: var(--sp-accent) !important; }
.space-page footer .footer-nav-link:hover,
.space-page footer .footer-contact-val:hover,
.space-page footer .footer-social-link:hover { color: var(--sp-accent) !important; }
.space-page footer .footer-legal-links a:hover { color: var(--sp-accent) !important; }
.space-page footer .footer-bot { border-top-color: rgba(255,255,255,.06) !important; }

/* ════════════════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════════════ */
@media(max-width:1100px) {
  .sp-ec-grid         { grid-template-columns:1fr 1fr; }
  .sp-pillars-accordion { grid-template-columns:1fr 1fr; }
  .sp-news-cards      { grid-template-columns:1fr 1fr; }
}
@media(max-width:768px) { .sp-ec-grid { grid-template-columns:1fr; } .sp-pillars-accordion { grid-template-columns:1fr; } .sp-news-cards { grid-template-columns:1fr; } } @media(max-width:900px) {
  :root { --sp-subnav-top: 96px; }
  #sp-hero            { padding:140px 6% 96px; }
  .sp-value-inner     { grid-template-columns:1fr;gap:48px; }
  .sp-value-right     { padding:24px 24px; border-radius:18px; }
  .sp-pillars-header,
  .sp-tf-left,
  .sp-ec-header,
  .sp-news-header { padding:22px 24px; border-radius:18px; }
  .sp-pillars-header  { grid-template-columns:1fr;gap:24px; }
  .sp-pillars-accordion { grid-template-columns:1fr; }
  .sp-tf-inner        { grid-template-columns:1fr;gap:52px; }
  .sp-ec-grid         { grid-template-columns:1fr 1fr; }
  .sp-news-cards      { grid-template-columns:1fr; }
  .sp-news-header     { grid-template-columns:1fr;gap:16px; }
  .sp-news-all        { grid-column:1;text-align:left; }
  .sp-artemis-ribbon  { top:auto;bottom:40px; }
  .sp-pillar-toggle   { padding:24px 24px; }
  .sp-pillar-body-inner { padding:0 24px 28px; }
  .sp-pillar-desc,.sp-pillar-list { padding-left:0; }
  .sp-subnav-cta      { margin-left:0; }
  .sp-hero-title      { font-size:clamp(3.2rem,10vw,7rem); letter-spacing:-1.5px; }
  .sp-hero-sub        { max-width:460px; }
  .sl-launch-row      { margin-bottom:34px; }
  .sl-orbit-stage     { width:230px;height:230px; }
  .sl-rocket          { width:40px;height:40px;transform:translateY(-88px) rotate(90deg);transform-origin:50% 88px; }
}
@media(max-width:640px) {
  #sp-hero            { padding:132px 5% 80px; min-height:auto; align-items:flex-start; }
  #sp-value,#sp-pillars,#sp-taskforce,
  #sp-ecuador,#sp-news,#sp-contact { padding:80px 5%; }
  .sp-value-right     { padding:20px 18px; border-radius:16px; }
  .sp-pillars-header,
  .sp-tf-left,
  .sp-ec-header,
  .sp-news-header { padding:18px 18px; border-radius:16px; }
  .sp-hero-eyebrow    { gap:12px; font-size:.5rem; letter-spacing:3px; margin-bottom:20px; }
  .sp-hero-title      { font-size:clamp(2.8rem,15vw,4.9rem); line-height:.96; letter-spacing:-1px; margin-bottom:24px; }
  .sp-hero-sub        { font-size:.95rem; line-height:1.75; margin-bottom:32px; }
  .sp-hero-ctas       { gap:12px; }
  .sp-ec-grid         { grid-template-columns:1fr; }
  .sp-pillars-accordion { grid-template-columns:1fr; }
  .sp-tf-grid         { grid-template-columns:1fr; }
  .sp-value-stats     { flex-direction:column;gap:28px; }
  .sp-hero-scroll     { display:none; }
  .sl-orbit-stage     { width:198px;height:198px; }
  .sl-orbit-ring-1    { width:184px;height:184px; }
  .sl-orbit-ring-2    { width:154px;height:154px; }
  .sl-orbit-ring-3    { width:122px;height:122px; }
  .sl-orbit-axis      { width:198px;height:92px; }
  .sl-orbit-core      { width:98px;height:98px; }
  .sl-heka-logo       { width:68px; }
  .sl-rocket          { width:34px;height:34px;transform:translateY(-74px) rotate(90deg);transform-origin:50% 74px; }
  .sl-rocket-trail    { height:18px; top:22px; }
  .sl-meta            { font-size:.5rem; letter-spacing:2.2px; }
}

/* ════════════════════════════════════════════════════════
   PALETTE SELECTOR — FAB + PANEL FLOTANTE
════════════════════════════════════════════════════════ */

/* ── Variables del FAB (actualizadas por JS al cambiar tema) ── */
#spPalFab {
  --fab-color: #C8D1DB;
}

/* ── Botón flotante ── */
#spPalFab {
  position: fixed;
  bottom: 90px;
  right: 22px;
  z-index: 9100;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,.15);
  background: rgba(5,8,15,.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--fab-color, #C8D1DB);
  box-shadow:
    0 4px 24px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,255,255,.05),
    0 0 18px rgba(0,0,0,.3);
  transition:
    color .35s ease,
    border-color .35s ease,
    box-shadow .35s ease,
    transform .22s cubic-bezier(.22,1,.36,1);
}
#spPalFab:hover {
  border-color: var(--fab-color, #C8D1DB);
  box-shadow:
    0 6px 30px rgba(0,0,0,.6),
    0 0 0 1px rgba(255,255,255,.08),
    0 0 20px rgba(0,0,0,.4);
  transform: translateY(-3px) scale(1.07);
}
#spPalFab[aria-expanded="true"] {
  border-color: var(--fab-color, #C8D1DB);
  transform: translateY(-2px) scale(1.04);
}
#spPalFab svg {
  pointer-events: none;
  transition: transform .35s cubic-bezier(.22,1,.36,1);
}
#spPalFab[aria-expanded="true"] svg {
  transform: rotate(30deg);
}

/* ── Panel ── */
#spPalPanel {
  position: fixed;
  /* top y right los inyecta openSpacePalPanel() según la posición del botón del nav */
  top: -9999px;
  right: 22px;
  z-index: 9500;
  width: 256px;
  background: rgba(5,8,14,.97);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 16px;
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  box-shadow:
    0 24px 64px rgba(0,0,0,.65),
    0 0 0 1px rgba(255,255,255,.04);
  overflow: hidden;

  /* Oculto por defecto */
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px) scale(.97);
  transform-origin: top right;
  transition:
    opacity .24s ease,
    transform .24s cubic-bezier(.22,1,.36,1);
}
#spPalPanel.sp-pal-open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

/* Header */
.sp-pal-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px 11px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.sp-pal-title {
  font-size: .47rem;
  letter-spacing: 3.5px;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(255,255,255,.35);
  font-family: 'Poppins', sans-serif;
}
.sp-pal-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 3px 5px;
  color: rgba(255,255,255,.25);
  font-size: .78rem;
  line-height: 1;
  border-radius: 4px;
  transition: color .2s ease, background .2s ease;
}
.sp-pal-close:hover {
  color: rgba(255,255,255,.7);
  background: rgba(255,255,255,.07);
}

/* Grid de swatches */
.sp-pal-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2px;
  padding: 10px 10px 13px;
}

/* Swatch individual */
.sp-pal-sw {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 11px;
  border-radius: 9px;
  background: transparent;
  border: 1px solid transparent;
  cursor: pointer;
  text-align: left;
  transition:
    background .18s ease,
    border-color .18s ease;
}
.sp-pal-sw:hover {
  background: rgba(255,255,255,.055);
  border-color: rgba(255,255,255,.09);
}
.sp-pal-sw-active {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.18) !important;
}

/* Dot de color */
.sp-pal-dot {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 0 6px rgba(0,0,0,.35);
  transition: transform .2s ease;
}
.sp-pal-sw:hover .sp-pal-dot {
  transform: scale(1.22);
}
.sp-pal-sw-active .sp-pal-dot {
  outline: 2px solid rgba(255,255,255,.55);
  outline-offset: 2.5px;
}

/* Nombre del tema */
.sp-pal-name {
  font-size: .5rem;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  font-weight: 600;
  color: rgba(255,255,255,.42);
  font-family: 'Poppins', sans-serif;
  transition: color .18s ease;
}
.sp-pal-sw:hover .sp-pal-name {
  color: rgba(255,255,255,.82);
}
.sp-pal-sw-active .sp-pal-name {
  color: rgba(255,255,255,.9);
}

/* Responsive */
@media (max-width: 640px) {
  #spPalFab  { bottom: 78px; right: 14px; width: 44px; height: 44px; }
  #spPalPanel { bottom: 136px; right: 14px; width: 228px; }
}
