/* FINXARIA V60 R11 | banner compacto de altura aproximada a 3 pulgadas en desktop.
   Basado en R10: solo se ajustan dimensiones, no animaciones ni marca.
   FINXARIA V60 R10 | cabecera espacial real integrada a V60 R9.
   No afecta dashboards, modelos 3D, Voyager ni chatbot. */
.site-header.fx-cosmic-header{
 --fx-cosmic-brand-height:clamp(184px,16vw,206px);
 position:sticky!important;
 top:calc(-1 * var(--fx-cosmic-brand-height))!important;
 height:auto!important;
 min-height:0!important;
 z-index:215!important;
 padding:0!important;
 background:transparent!important;
 border:0!important;
 overflow:visible!important;
 backdrop-filter:none!important;
 box-shadow:none!important;
 isolation:isolate;
}
.site-header.fx-cosmic-header::before,
.site-header.fx-cosmic-header::after{display:none!important;content:none!important}
.fx-cosmic-brandstage{
 position:relative;
 height:var(--fx-cosmic-brand-height);
 width:100%;
 overflow:hidden;
 isolation:isolate;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:clamp(6px,.75vw,12px);
 background:#020a17;
 border-bottom:1px solid rgba(76,231,226,.25);
}
.fx-cosmic-brandstage::before{
 content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
 background:linear-gradient(180deg,rgba(3,9,21,.08),rgba(3,9,21,.38) 87%),url('/assets/cosmic/nebula_original_sin_textos.webp') center/cover no-repeat;
}
.fx-cosmic-bg,.fx-cosmic-canvas,.fx-cosmic-gas,.fx-cosmic-shade{position:absolute;inset:0;pointer-events:none}
.fx-cosmic-bg{z-index:1;opacity:.03;background:radial-gradient(ellipse 60% 70% at 50% 40%,rgba(16,88,144,.35),transparent 80%)}
.fx-cosmic-canvas{z-index:1;width:100%;height:100%;display:block;background:transparent}
.fx-cosmic-gas{
 z-index:2;
 inset:-6%;
 width:112%;height:112%;
 background-size:100% 100%;background-position:center;
 background-repeat:no-repeat;
 mix-blend-mode:screen;
 will-change:transform,opacity;
 filter:saturate(1.15);
}
.fx-gas-north{background-image:url('/assets/cosmic/gas_norte.webp');opacity:.68;animation:fxNebulaNorth 36s ease-in-out infinite alternate}
.fx-gas-south{background-image:url('/assets/cosmic/gas_sur.webp');opacity:.60;animation:fxNebulaSouth 43s ease-in-out infinite alternate}
/* Gas moves slowly, but clearly: drift, expansion and opacity on independent layers. */
@keyframes fxNebulaNorth{
 0%{transform:translate3d(-3.3%,-1.1%,0) scale(1.05);opacity:.47}
 33%{transform:translate3d(.3%,1.0%,0) scale(1.075);opacity:.66}
 67%{transform:translate3d(2.1%,-.7%,0) scale(1.06);opacity:.55}
 100%{transform:translate3d(3.6%,1.2%,0) scale(1.085);opacity:.71}
}
@keyframes fxNebulaSouth{
 0%{transform:translate3d(3.0%,1.5%,0) scale(1.06);opacity:.53}
 40%{transform:translate3d(-1%,.1%,0) scale(1.10);opacity:.7}
 75%{transform:translate3d(-2.7%,-1.0%,0) scale(1.075);opacity:.52}
 100%{transform:translate3d(-3.7%,-1.2%,0) scale(1.11);opacity:.75}
}
.fx-cosmic-brandstage.fx-gpu-active .fx-cosmic-gas{opacity:.32}
.fx-cosmic-shade{z-index:3;background:radial-gradient(ellipse 48% 54% at 50% 47%,rgba(1,8,21,.7) 0%,rgba(1,8,21,.24) 72%,transparent 100%)}
.fx-cosmic-wordmark{
 display:block;position:relative;z-index:5;
 width:min(60vw,820px);max-width:calc(100% - 44px);
 text-decoration:none;
 color:#f4fbff;
 filter:drop-shadow(0 3px 15px rgba(0,0,0,.28));
 line-height:0;
}
.fx-cosmic-wordmark:hover{filter:drop-shadow(0 2px 22px rgba(86,224,216,.17))}
.fx-cosmic-logo-svg{width:100%;height:auto;display:block;overflow:visible;shape-rendering:geometricPrecision}
.fx-cosmic-wordmark .glyph-x,
.fx-cosmic-wordmark .glyph-i-last,
.fx-cosmic-wordmark .glyph-a-last{will-change:filter}
.fx-cosmic-wordmark .glyph-x{animation:fxLetterX 12.8s ease-in-out infinite}
.fx-cosmic-wordmark .glyph-i-last{animation:fxLetterI 12.8s ease-in-out infinite}
.fx-cosmic-wordmark .glyph-a-last{animation:fxLetterA 12.8s ease-in-out infinite}
/* independent glints; increase glow without changing the approved vectors */
@keyframes fxLetterX{
 0%,7%,12%,100%{filter:drop-shadow(0 0 1px transparent)}
 8.7%{filter:brightness(1.7) drop-shadow(0 0 11px #b9ffee) drop-shadow(0 0 24px #1fffe4)}
 10.3%{filter:brightness(1.17) drop-shadow(0 0 6px #72ffdc)}
}
@keyframes fxLetterI{
 0%,31%,36%,100%{filter:drop-shadow(0 0 1px transparent)}
 32.7%{filter:brightness(1.57) drop-shadow(0 0 10px #e8ffff) drop-shadow(0 0 22px #63dfff)}
 34.2%{filter:brightness(1.12) drop-shadow(0 0 5px #9de7ff)}
}
@keyframes fxLetterA{
 0%,62%,67%,100%{filter:drop-shadow(0 0 1px transparent)}
 63.7%{filter:brightness(1.57) drop-shadow(0 0 10px #f3ffff) drop-shadow(0 0 22px #64deff)}
 65.2%{filter:brightness(1.12) drop-shadow(0 0 5px #9de7ff)}
}
.fx-cosmic-tagline{
 z-index:5;
 position:relative;
 display:flex;align-items:center;justify-content:center;
 gap:clamp(10px,1.5vw,26px);
 width:min(84%,1100px);
 margin:0!important;
 color:#d6e5f3!important;
 font:500 clamp(11px,1vw,16px)/1.5 Arial,Helvetica,sans-serif!important;
 letter-spacing:clamp(.14em,.34vw,.36em)!important;
 white-space:nowrap;
 text-align:center;
 text-shadow:0 0 15px rgba(26,179,236,.18);
}
.fx-cosmic-tagline::before,.fx-cosmic-tagline::after{content:"";height:1px;flex:1;min-width:25px;background:linear-gradient(90deg,transparent,#31e6df);box-shadow:0 0 14px #39ffe260}
.fx-cosmic-tagline::after{transform:rotate(180deg)}
.fx-cosmic-navrow.shell{
 position:relative;
 margin:0 auto!important;
 width:min(96%,1850px)!important;
 max-width:none!important;
 min-height:82px!important;
 height:auto!important;
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
 gap:clamp(8px,1vw,22px)!important;
 padding:8px clamp(14px,1.6vw,28px)!important;
 border:1px solid rgba(82,207,226,.64)!important;
 border-radius:999px!important;
 background:linear-gradient(180deg,rgba(7,26,44,.97),rgba(2,13,28,.98))!important;
 backdrop-filter:blur(18px)!important;
 box-shadow:inset 0 0 0 1px rgba(113,242,222,.05),0 12px 46px rgba(0,0,0,.65),0 0 25px rgba(37,211,215,.15)!important;
}
.fx-cosmic-navrow::after{
 content:""!important;
 position:absolute!important;inset:auto 5% -2px!important;height:2px!important;
 background:linear-gradient(90deg,transparent,#2acfd1 15%,#6bffe7 52%,#28aefa 85%,transparent)!important;
 opacity:.67!important;filter:blur(2px)!important;
 pointer-events:none!important;
}
.fx-cosmic-nav{display:flex!important;align-items:center!important;justify-content:space-between!important;flex:1 1 auto!important;gap:clamp(4px,.55vw,12px)!important;margin:0!important;min-width:0}
.fx-cosmic-header .nav-desktop a.fx-cosmic-link{
 display:inline-flex!important;position:relative!important;
 align-items:center;justify-content:center;
 flex:1 1 auto;min-width:0;
 padding:13px clamp(7px,.8vw,18px)!important;
 border:1px solid transparent!important;border-radius:999px;
 background:transparent;
 text-decoration:none;
 color:#e5f1ff!important;
 font:700 clamp(15px,1.2vw,19px)/1.25 Arial,Helvetica,sans-serif!important;
 letter-spacing:-.015em;
 white-space:nowrap;
 transition:color .25s ease,background .25s ease,border-color .25s ease,text-shadow .25s ease,box-shadow .25s ease;
}
.fx-cosmic-header .nav-desktop a.fx-cosmic-link::after{
 content:"";position:absolute;left:24%;right:24%;bottom:8px;height:3px;
 border-radius:99px;
 background:linear-gradient(90deg,#2cfce8,#83ffcf);
 box-shadow:0 0 9px rgba(68,255,222,.8),0 0 22px rgba(36,220,203,.5);
 opacity:0;transform:scaleX(.5);transition:opacity .24s ease,transform .3s ease;
}
/* All 6 links match the Inicio state on hover, focus and active section. */
.fx-cosmic-header .nav-desktop a.fx-cosmic-link:hover,
.fx-cosmic-header .nav-desktop a.fx-cosmic-link:focus-visible,
.fx-cosmic-header .nav-desktop a.fx-cosmic-link.active{
 color:#66f9de!important;
 background:radial-gradient(ellipse at 50% 80%,rgba(35,232,208,.23),transparent 80%),linear-gradient(180deg,rgba(23,76,82,.56),rgba(5,48,63,.3))!important;
 border-color:rgba(65,236,207,.7)!important;
 text-shadow:0 0 16px rgba(20,237,218,.56)!important;
 box-shadow:inset 0 0 19px rgba(31,239,213,.2),0 0 24px rgba(24,228,216,.3)!important;
}
.fx-cosmic-header .nav-desktop a.fx-cosmic-link:hover::after,
.fx-cosmic-header .nav-desktop a.fx-cosmic-link:focus-visible::after,
.fx-cosmic-header .nav-desktop a.fx-cosmic-link.active::after{opacity:1;transform:scaleX(1)}
.fx-cosmic-header .nav-cta.fx-cosmic-cta{
 flex:0 0 auto;
 min-height:58px!important;
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 padding:12px clamp(18px,1.7vw,28px)!important;
 margin:0!important;
 border:1px solid #65f9d1!important;border-radius:999px!important;
 color:#dcffef!important;
 font:770 clamp(15px,1.2vw,19px)/1.2 Arial,Helvetica,sans-serif!important;
 background:linear-gradient(135deg,rgba(3,63,55,.92),rgba(12,95,82,.74),rgba(5,35,52,.92))!important;
 box-shadow:inset 0 1px rgba(174,255,237,.32),0 0 20px rgba(32,222,175,.25)!important;
 transition:box-shadow .24s ease,background .24s ease,color .24s ease,transform .24s ease!important;
 white-space:nowrap;
}
.fx-cosmic-header .nav-cta.fx-cosmic-cta:hover,
.fx-cosmic-header .nav-cta.fx-cosmic-cta:focus-visible{
 color:#01231c!important;background:linear-gradient(100deg,#8cffe0,#36e6bc)!important;
 box-shadow:0 0 22px rgba(79,255,223,.8),0 0 42px rgba(23,210,163,.5)!important;
 transform:translateY(-1px);
}
.fx-cosmic-mobile-logo{display:none}
.fx-cosmic-header #mobileMenu{z-index:220!important;top:100%!important}
/* Desktop: navigation remains available when the large cosmic logo scrolls away. */
@media(max-width:1200px){
 .fx-cosmic-navrow.shell{min-height:78px!important;padding:8px 14px!important}
 .fx-cosmic-header .nav-desktop a.fx-cosmic-link{font-size:clamp(14px,1.25vw,18px)!important;padding:12px 7px!important}
 .fx-cosmic-header .nav-cta.fx-cosmic-cta{font-size:clamp(14px,1.2vw,18px)!important;min-height:54px!important;padding:9px 18px!important}
}
@media(max-width:980px){
 .site-header.fx-cosmic-header{--fx-cosmic-brand-height:clamp(160px,20vw,182px)}
 .fx-cosmic-navrow.shell{border-radius:30px!important;min-height:72px!important}
 .fx-cosmic-nav{display:none!important}
 .fx-cosmic-mobile-logo{display:flex;flex:1 1 auto;align-items:center;min-width:0}
 .fx-cosmic-mobile-logo img{display:block;width:min(42vw,260px);height:43px;object-fit:contain}
 .fx-cosmic-header .mobile-toggle{display:flex!important;align-items:center;justify-content:center;margin-left:10px!important;min-width:49px;height:49px}
 .fx-cosmic-header .nav-cta.fx-cosmic-cta{min-height:51px!important;order:1}
 .fx-cosmic-header .mobile-toggle{order:2}
 .fx-cosmic-mobile-menu{background:linear-gradient(145deg,rgba(4,22,38,.98),rgba(4,13,29,.98))!important;top:100%!important}
 .fx-cosmic-mobile-menu a{font-size:17px!important;font-weight:700!important;padding:13px 8px!important;transition:color .2s,background .2s;text-align:center;border-radius:10px}
 .fx-cosmic-mobile-menu a:hover,.fx-cosmic-mobile-menu a:focus-visible{background:rgba(49,207,180,.15);color:#78ffe0}
}
@media(max-width:540px){
 .site-header.fx-cosmic-header{--fx-cosmic-brand-height:142px}
 .fx-cosmic-brandstage{gap:9px}
 .fx-cosmic-wordmark{width:92vw;max-width:calc(100% - 24px)}
 .fx-cosmic-tagline{font-size:clamp(9px,2.3vw,13px)!important;letter-spacing:.08em!important;gap:8px!important;width:95%}
 .fx-cosmic-tagline::before,.fx-cosmic-tagline::after{min-width:8px}
 .fx-cosmic-navrow.shell{width:96%!important;min-height:64px!important;padding:7px!important;gap:5px!important;border-radius:24px!important}
 .fx-cosmic-mobile-logo img{width:34vw;max-height:38px}
 .fx-cosmic-header .nav-cta.fx-cosmic-cta{font-size:13px!important;min-height:43px!important;padding:9px 11px!important;gap:5px!important}
 .fx-cosmic-header .mobile-toggle{min-width:41px;height:43px;font-size:21px;padding:6px!important;margin-left:0!important}
 .fx-cosmic-mobile-menu a{font-size:16px!important}
}
@media(prefers-reduced-motion:reduce){
 .fx-cosmic-gas,.fx-cosmic-wordmark .glyph-x,.fx-cosmic-wordmark .glyph-i-last,.fx-cosmic-wordmark .glyph-a-last{animation:none!important}
 .fx-cosmic-header .nav-desktop a.fx-cosmic-link,.fx-cosmic-header .nav-cta.fx-cosmic-cta{transition:none!important}
}


/* FINXARIA V60 R12 · Ajuste de proporciones y desplazamiento.
   1 cm es una referencia física aproximada: a CSS 96 px/pulgada equivale a 37.8px.
   Compensa cabecera sticky, portada y secciones sin modificar motores WebGL. */
.site-header.fx-cosmic-header{
 --fx-cosmic-brand-height:clamp(146px, calc(16vw - 38px), 168px);
}
/* Scroll por anclas: solo el alto real del menú fijo, sin sumar 80px dos veces. */
html{scroll-padding-top:94px!important}
#inicio,#tierra,#servicios,#visualizaciones,#soluciones,#filosofia,#metodo,#nosotros,#contacto,
.service-grid .service-card{scroll-margin-top:0!important}
/* Primera escena: portada y galaxia empiezan antes y se elimina el vacío bajo el banner. */
.hero.shell{
 min-height:clamp(650px, calc(100svh - 250px), 860px)!important;
 padding-top:clamp(52px,6.6vh,78px)!important;
 padding-bottom:clamp(76px,9vh,110px)!important;
 align-items:flex-start!important;
}
.hero.shell .hero-copy{transform:translate3d(0,-30px,0)!important}
.hero.shell .hero-visual{
 top:-48px!important;
 bottom:0!important;
 height:calc(100% + 48px)!important;
 transform:none!important;
}
/* El pie de portada no debe superponerse a los CTA. */
.hero.shell .hero-bottom{bottom:17px!important}
@media(max-width:1200px){
 .site-header.fx-cosmic-header{--fx-cosmic-brand-height:clamp(140px,calc(18vw - 38px),160px)}
 .hero.shell{min-height:clamp(650px,calc(100svh - 235px),820px)!important}
 .hero.shell .hero-copy{transform:translate3d(0,-23px,0)!important}
}
@media(max-width:980px){
 .site-header.fx-cosmic-header{--fx-cosmic-brand-height:clamp(128px,calc(20vw - 38px),144px)}
 html{scroll-padding-top:88px!important}
 .hero.shell{min-height:clamp(680px,calc(100svh - 210px),810px)!important}
 .hero.shell .hero-copy{transform:translate3d(0,-14px,0)!important}
 .hero.shell .hero-visual{top:-34px!important;height:calc(100% + 34px)!important}
}
@media(max-width:760px){
 /* La portada en teléfonos es una columna: subir el texto sin forzar traslaciones. */
 .hero.shell{min-height:810px!important;height:auto!important;padding:52px 22px 88px!important;align-items:flex-start!important}
 .hero.shell .hero-copy{transform:none!important;margin-top:0!important}
 .hero.shell .hero-visual{top:28%!important;bottom:auto!important;height:72%!important;transform:none!important}
 .hero.shell .hero-bottom{bottom:15px!important}
}
@media(max-width:540px){
 .site-header.fx-cosmic-header{--fx-cosmic-brand-height:120px}
 html{scroll-padding-top:78px!important}
 .fx-cosmic-brandstage{gap:6px!important}
 .fx-cosmic-wordmark{width:min(90vw,440px)!important}
 .hero.shell{min-height:760px!important;padding-top:43px!important;padding-bottom:76px!important}
 .hero.shell .hero-visual{top:30%!important;height:70%!important}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
}


/* R15 — brillo más lento y más frecuente; I y A finales adoptan la tonalidad de la X. */
.fx-cosmic-wordmark .glyph-i-last,.fx-cosmic-wordmark .glyph-a-last{fill:url(#x-fin)!important}
.fx-cosmic-wordmark .glyph-x{animation:fxLetterXSlow 5s ease-in-out infinite!important}
.fx-cosmic-wordmark .glyph-i-last{animation:fxLetterISlow 5s ease-in-out infinite!important}
.fx-cosmic-wordmark .glyph-a-last{animation:fxLetterASlow 5s ease-in-out infinite!important}
.fx-cosmic-wordmark .fx-x-intersection{animation:fxXCorePulse 5s ease-in-out infinite;transform-origin:center center}
@keyframes fxLetterXSlow{0%,8%,100%{filter:drop-shadow(0 0 1px transparent)}10%,14%{filter:brightness(1.45) drop-shadow(0 0 10px #baffef) drop-shadow(0 0 24px #2fffe7)}24%,28%{filter:brightness(1.42) drop-shadow(0 0 10px #baffef) drop-shadow(0 0 22px #2fffe7)}40%,44%{filter:brightness(1.36) drop-shadow(0 0 8px #acffef) drop-shadow(0 0 20px #35f0ff)}56%,60%{filter:brightness(1.48) drop-shadow(0 0 11px #c1fff1) drop-shadow(0 0 26px #30ffe5)}72%,76%{filter:brightness(1.4) drop-shadow(0 0 9px #a6fff0) drop-shadow(0 0 18px #2bdaf6)}}
@keyframes fxLetterISlow{0%,16%,100%{filter:drop-shadow(0 0 1px transparent)}20%,26%{filter:brightness(1.32) drop-shadow(0 0 8px #bcfff0) drop-shadow(0 0 18px #36efe6)}58%,64%{filter:brightness(1.36) drop-shadow(0 0 10px #b0fff0) drop-shadow(0 0 22px #36efe6)}}
@keyframes fxLetterASlow{0%,26%,100%{filter:drop-shadow(0 0 1px transparent)}30%,36%{filter:brightness(1.32) drop-shadow(0 0 8px #bcfff0) drop-shadow(0 0 18px #36efe6)}68%,74%{filter:brightness(1.36) drop-shadow(0 0 10px #b0fff0) drop-shadow(0 0 22px #36efe6)}}
@keyframes fxXCorePulse{0%,8%,100%{opacity:.42;filter:drop-shadow(0 0 2px transparent)}10%,14%{opacity:.98;filter:drop-shadow(0 0 10px #d6fff5) drop-shadow(0 0 24px #33fee9)}24%,28%{opacity:.86;filter:drop-shadow(0 0 8px #c4fff3) drop-shadow(0 0 18px #39f0ff)}56%,60%{opacity:1;filter:drop-shadow(0 0 12px #efffff) drop-shadow(0 0 28px #36f9ec)}72%,76%{opacity:.84;filter:drop-shadow(0 0 8px #c1fff4) drop-shadow(0 0 18px #37e4fb)}}
