/* Galaxia negra y azul CONSBI. Movimiento ambiental sin librerías. */
.consbi-galaxy{position:relative;isolation:isolate;background:#030609;color:#fff;height:100svh;min-height:0;overflow:hidden;scroll-margin-top:-88px}
/* Anula el padding:42px!important de main>section en refinements.css.
   El escenario debe tocar el borde real de la sección, no el del contenido. */
main>section.consbi-galaxy{padding:0!important}
.consbi-galaxy::before{content:"";display:block;position:absolute;inset:-28px;width:auto;height:auto;border-radius:0;background:url('assets/galaxy-stars.svg') center/1200px 800px;filter:none;opacity:.65;pointer-events:none;z-index:-1;animation:galaxyStarDrift 90s ease-in-out infinite alternate}
.consbi-galaxy::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 73% 76%,rgba(53,92,125,.29),transparent 59%)}
.galaxy-layout{position:relative;z-index:1;height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,.35fr) minmax(0,.65fr);gap:4%;align-items:center;padding-top:84px;padding-bottom:0}
.galaxy-copy{position:relative;z-index:3;align-self:center;padding-bottom:20px}
.galaxy-copy .eyebrow{color:#b9ccd9}
.galaxy-copy h2{font:700 clamp(35px,4.85vw,57px)/1.08 var(--display);letter-spacing:-.055em;color:#fff;margin:20px 0 23px}
.galaxy-copy h2 em{display:block;font-family:var(--serif);font-weight:400;color:#9fc2db}
.galaxy-copy>p{font-size:13px;line-height:1.8;color:#a3b6c5;max-width:350px;margin:0}
.galaxy-copy>p strong{color:#c8dcea;font-weight:600}
.galaxy-hint{display:inline-flex;align-items:center;gap:20px;margin-top:30px;font-size:8px;letter-spacing:.15em;color:#cbd8e1;font-weight:700}
.galaxy-hint>span{font-size:15px;color:#e8c26b}
.galaxy-scene{position:relative;align-self:stretch;min-width:0;min-height:0;isolation:isolate;overflow:visible;mask-image:none}
.galaxy-orbits{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}
.galaxy-horizon{position:absolute;left:50%;top:76%;width:80%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse at 50% -12%,rgba(218,231,239,.4),transparent 40%),radial-gradient(circle at 47% 8%,#406b8e 0%,#1c3755 24%,#09131f 47%,#030609 72%);box-shadow:0 -3px 8px rgba(147,201,239,.52),0 -12px 36px rgba(53,113,161,.28),inset 0 4px 10px rgba(186,216,237,.36);z-index:0}
.galaxy-horizon::before,.planet-sphere::after{content:"";position:absolute;inset:0;border-radius:inherit;background:url('assets/galaxy-noise.svg') center/cover;mix-blend-mode:soft-light;opacity:.48;pointer-events:none}
.galaxy-horizon-label{position:absolute;top:8.5%;left:50%;transform:translateX(-50%);display:grid;justify-items:center;gap:8px;opacity:1}
.galaxy-horizon-label img{width:100px;height:auto;filter:brightness(0) invert(1) drop-shadow(0 0 2px rgba(255,255,255,.9)) drop-shadow(0 0 7px rgba(235,247,255,.7)) drop-shadow(0 0 16px rgba(196,226,247,.45))}
.galaxy-horizon-label span{font-size:6px;color:#eff8ff;letter-spacing:.18em;white-space:nowrap;text-shadow:0 0 5px rgba(255,255,255,.55)}
.galaxy-planet{--planet-size:60px;position:absolute;left:var(--planet-x);top:var(--planet-y);width:164px;max-width:29%;display:flex;flex-direction:column;align-items:center;text-align:center;transform:translateX(-50%);z-index:2;outline-offset:6px;border-radius:16px}
.planet-sphere{position:relative;display:block;flex:none;width:var(--planet-size);height:var(--planet-size);border-radius:50%;background:radial-gradient(circle at 30% 20%,rgba(160,204,234,.3),transparent 55%),radial-gradient(circle at 35% 30%,var(--planet-color,#355c7d),#10253d 56%,#02070d 91%);box-shadow:inset 1px 1px 3px rgba(173,214,244,.52),inset -7px -7px 15px rgba(0,0,0,.7),0 0 22px rgba(75,133,176,.2);transition:box-shadow .3s,scale .3s;overflow:hidden;animation:galaxyPlanetFloat var(--planet-period,9s) ease-in-out infinite;animation-delay:var(--planet-delay,0s)}
.planet-sphere::before{content:"";position:absolute;inset:-20%;border-radius:50%;background:repeating-linear-gradient(125deg,transparent 0 7px,rgba(138,193,228,.12) 9px 11px,transparent 14px 22px);opacity:.6;transform:rotate(var(--planet-stripe,0deg));mix-blend-mode:screen}
.galaxy-planet strong{font-size:12px;line-height:1.3;font-weight:700;color:#e5eff6;margin-top:12px;text-shadow:0 1px 8px #030609}
.galaxy-planet strong i{font-size:10px;font-style:normal;color:#e4c37a;margin-left:3px}
.galaxy-planet small{display:block;font-size:10px;line-height:1.55;font-weight:400;color:#a5b9c9;margin-top:5px;text-shadow:0 1px 7px #030609}
.planet-aidia{--planet-x:27%;--planet-y:7%;--planet-size:clamp(44px,8svh,68px);--planet-color:#4c7fa4;--planet-stripe:15deg}
.planet-capaya{--planet-x:76%;--planet-y:6%;--planet-size:clamp(52px,10svh,84px);--planet-color:#355c7d;--planet-stripe:-65deg}
.planet-actia{--planet-x:15%;--planet-y:48%;--planet-size:clamp(44px,8svh,65px);--planet-color:#234e73;--planet-stripe:70deg}
.planet-firma{--planet-x:83%;--planet-y:51%;--planet-size:clamp(36px,6.7svh,53px);--planet-color:#6893ae;--planet-stripe:25deg}
.planet-ia{--planet-x:51%;--planet-y:35%;--planet-size:clamp(35px,6svh,49px);--planet-color:#3e6b8d;--planet-stripe:-25deg}
@media(hover:hover){.galaxy-planet:hover .planet-sphere{scale:1.06;animation-play-state:paused;box-shadow:inset 1px 1px 4px rgba(255,227,161,.7),inset -7px -7px 15px rgba(0,0,0,.6),0 0 18px rgba(216,154,20,.5),0 0 38px rgba(216,154,20,.25)}.galaxy-planet:hover strong{color:#fff}}
.galaxy-planet:focus-visible{outline:2px solid #e7c371;background:rgba(53,92,125,.12)}
.galaxy-planet:focus-visible .planet-sphere{animation-play-state:paused;box-shadow:inset 1px 1px 4px rgba(255,227,161,.7),inset -7px -7px 15px rgba(0,0,0,.6),0 0 18px rgba(216,154,20,.5),0 0 38px rgba(216,154,20,.25)}
@media(max-width:1000px) and (min-width:681px){.galaxy-layout{grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);gap:2%}.galaxy-planet{width:135px;max-width:30%}.galaxy-planet small{font-size:9px}.galaxy-planet strong{font-size:11px}.galaxy-copy h2{font-size:clamp(35px,4.85vw,57px)}}
@media(max-width:680px){.consbi-galaxy{height:auto;min-height:100svh;scroll-margin-top:-70px}.galaxy-layout{height:auto;grid-template-columns:1fr;gap:15px;padding-top:80px;padding-bottom:15px}.galaxy-copy{padding:0}.galaxy-copy h2{font-size:clamp(34px,9.5vw,47px);margin:14px 0}.galaxy-copy h2 em{display:inline}.galaxy-copy>p{font-size:13px;max-width:100%}.galaxy-hint{margin-top:15px}.galaxy-scene{height:510px}.galaxy-planet{width:125px;max-width:34%}.galaxy-planet small{font-size:9px}.galaxy-planet strong{font-size:11px}.planet-firma{--planet-x:82%}.planet-actia{--planet-x:16%}.galaxy-horizon{width:100%}.galaxy-horizon-label img{width:80px}}
@media(min-width:681px) and (max-height:550px){.galaxy-layout{padding-top:74px;padding-bottom:12px}.galaxy-planet strong{margin-top:7px;font-size:10px}.galaxy-planet small{font-size:9px;line-height:1.4}.planet-sphere{width:calc(var(--planet-size)*.85);height:calc(var(--planet-size)*.85)}.galaxy-hint{margin-top:18px}}
.consbi-galaxy .galaxy-layout{padding-bottom:0}
/* Una sola escala para las descripciones y otra para los dos rótulos. */
.consbi-galaxy{--galaxy-description-size:13px;--galaxy-caption-size:8px}
.consbi-galaxy .galaxy-copy>p{font-size:var(--galaxy-description-size)}
.consbi-galaxy .galaxy-hint,.consbi-galaxy .galaxy-horizon-label span{font-size:var(--galaxy-caption-size)}
@media(min-width:681px){.consbi-galaxy .galaxy-planet{width:190px;max-width:32%}}
.planet-aidia{--planet-period:9s;--planet-delay:-2s}
.planet-capaya{--planet-period:11s;--planet-delay:-5s}
.planet-actia{--planet-period:10s;--planet-delay:-7s}
.planet-firma{--planet-period:12s;--planet-delay:-3s}
.planet-ia{--planet-period:8s;--planet-delay:-4s}
.planet-sphere::before{animation:galaxyTextureTurn 70s linear infinite}
.galaxy-meteors{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.galaxy-meteors i{position:absolute;left:var(--meteor-x,20%);top:var(--meteor-y,15%);display:block;width:105px;height:1px;background:linear-gradient(90deg,transparent,rgba(199,223,241,.15),#dcebf6);opacity:0;animation:galaxyMeteor var(--meteor-period,16s) linear infinite;animation-delay:var(--meteor-delay,1s)}
.galaxy-meteors i::after{content:"";position:absolute;right:0;top:-1px;width:3px;height:3px;border-radius:50%;background:#e8f4fc;box-shadow:0 0 7px #b4d6ef}
.galaxy-meteors i:nth-child(1){--meteor-x:13%;--meteor-y:18%;--meteor-period:16s;--meteor-delay:1s}
.galaxy-meteors i:nth-child(2){--meteor-x:52%;--meteor-y:9%;--meteor-period:21s;--meteor-delay:6s}
.galaxy-meteors i:nth-child(3){--meteor-x:69%;--meteor-y:31%;--meteor-period:24s;--meteor-delay:12s}
.galaxy-meteors i:nth-child(4){--meteor-x:30%;--meteor-y:56%;--meteor-period:27s;--meteor-delay:18s}
@keyframes galaxyPlanetFloat{0%,100%{transform:translate3d(-2px,3px,0)}50%{transform:translate3d(3px,-6px,0)}}
@keyframes galaxyTextureTurn{to{transform:rotate(calc(var(--planet-stripe,0deg) + 360deg))}}
@keyframes galaxyStarDrift{from{transform:translate3d(-10px,-8px,0);opacity:.5}to{transform:translate3d(10px,12px,0);opacity:.78}}
@keyframes galaxyMeteor{0%{opacity:0;transform:translate3d(0,0,0) rotate(31deg)}3%{opacity:.8}11%{opacity:0;transform:translate3d(290px,174px,0) rotate(31deg)}100%{opacity:0;transform:translate3d(290px,174px,0) rotate(31deg)}}
@media(prefers-reduced-motion:reduce){.planet-sphere{transition:none;animation:none}.planet-sphere::before,.consbi-galaxy::before{animation:none}.galaxy-meteors{display:none}.galaxy-planet:hover .planet-sphere{scale:1}}

/* Circular orbits share the horizon's size and center without SVG stretching. */
.galaxy-concentric-orbits{position:absolute;left:50%;top:76%;width:80%;height:auto;aspect-ratio:1;transform:translateX(-50%);overflow:visible;pointer-events:none;z-index:-1;filter:blur(.45px)}
@media(max-width:680px){.galaxy-concentric-orbits{width:100%}}
