/* XAE Landing v1.4 — UI-017..UI-026: mobile-first UX; scoped visual tokens. */
body[data-xae-landing]{--xae-foreground:#f1f6ff;--xae-subtitle:#cedcf0;--xae-panel:#102b50;--xae-panel-border:#7da7eb68;--xae-tab:#0c2344a6;max-width:100%;overflow-x:clip}
body[data-xae-landing] #main,body[data-xae-landing] main{max-width:100%;min-width:0}
body[data-xae-landing] .wrap,body[data-xae-landing] .flow-board{min-width:0}
body[data-xae-landing] .hero,body[data-xae-landing] .architecture,body[data-xae-landing] #soluciones{overflow-x:clip}
/* UI-019: no full-width sticky panel. Each button carries its own contrast. */
body[data-xae-landing] .xae-sticky{
 background:transparent!important;border:0!important;
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
 box-shadow:none!important;
}
body[data-xae-landing] .xae-sticky-track{background:transparent!important;isolation:isolate;max-width:100vw}
body[data-xae-landing] .xae-sticky a{
 color:#f4f8ff!important;background:var(--xae-tab);
 text-shadow:0 1px 2px #082042ae;backdrop-filter:blur(8px);
 -webkit-backdrop-filter:blur(8px);font-size:clamp(12px,2.1vw,15px);
 border:1px solid #9dc7ff1c;border-radius:13px;
}
body[data-xae-landing] .xae-sticky a[aria-current="location"]{
 color:#fff!important;background:#2359beef!important;border-color:#8dbaff66;
 box-shadow:0 5px 15px #143b8266;text-shadow:none;
}
body[data-xae-landing] .xae-sticky a[aria-current="location"]::after{background:#9dd2ff;box-shadow:0 0 9px #81c4ff}
/* UI-026: Hero retains the existing technological grid, turquoise/blue gradients, orbit motion. */
body[data-xae-landing] .hero{isolation:isolate}
body[data-xae-landing] .xae-hero-depth{overflow:hidden;contain:paint}
body[data-xae-landing] .xae-depth-halo{
 background:radial-gradient(ellipse at 78% 40%,#296eee67,transparent 45%),radial-gradient(ellipse at 20% 85%,#25cbbb34,transparent 40%);
}
body[data-xae-landing] .hero::before{transform:translate3d(0,var(--xae-depth-a,0px),0);will-change:transform}
body[data-xae-landing] .hero p,body[data-xae-landing] .section-copy{font-size:clamp(16px,2.25vw,18px);line-height:1.55;max-width:620px}
body[data-xae-landing] .micro{font-size:14px;line-height:1.45}
body[data-xae-landing] .eyebrow{font-size:13px;line-height:1.5}
body[data-xae-landing] .hero .actions .btn{font-size:16px}
/* UI-020: one protagonist — the accessible 3D flip; no rotating polygons or card floats. */
body[data-xae-landing] #soluciones{
 position:relative;background:linear-gradient(145deg,#102747,#0c203f 65%,#101e39)!important;
}
body[data-xae-landing] #soluciones::before,body[data-xae-landing] #soluciones::after{content:none!important}
body[data-xae-landing] .card.xae-capability{
 animation:none!important;translate:none!important;transform:none!important;
 overflow:hidden!important;min-height:228px!important;padding:0!important;
 background:#142c4c!important;perspective:1100px;border-color:#6d99d077;
 box-shadow:0 4px 18px #061a363e!important;
}
body[data-xae-landing] .card.xae-capability::before,body[data-xae-landing] .card.xae-capability::after{
 content:none!important;display:none!important;animation:none!important;
}
body[data-xae-landing] .card.xae-capability:hover,body[data-xae-landing] .card.xae-capability:focus-within{
 transform:none!important;border-color:#93bdff!important;box-shadow:0 4px 21px #3572d249!important;
}
body[data-xae-landing] .xae-flip-control{height:228px;display:block;touch-action:manipulation}
body[data-xae-landing] .xae-flip-inner{transform-style:preserve-3d;-webkit-transform-style:preserve-3d}
body[data-xae-landing] .xae-flip-front,body[data-xae-landing] .xae-flip-back{
 -webkit-backface-visibility:hidden;backface-visibility:hidden;
}
body[data-xae-landing] .xae-flip-hint,body[data-xae-landing] .xae-flip-return{
 font-size:14px;color:#c6dcff;font-weight:600;
}
body[data-xae-landing] .xae-flip-front .xae-flip-title{font-size:clamp(14px,2.25vw,17px);line-height:1.3;font-weight:700}
body[data-xae-landing] .xae-flip-back-title{font-size:15px;line-height:1.25}
body[data-xae-landing] .xae-flip-list > span{
 font-size:14px;line-height:1.25;padding:5px 7px;
}
body[data-xae-landing] .xae-flip-front{background:linear-gradient(160deg,#18345e,#0b1e3a)!important}
body[data-xae-landing] .xae-flip-back{background:linear-gradient(150deg,#225fc1,#17396f)!important}
/* UI-017/018: nodes are CREATED visually, not merely dimmed. */
body[data-xae-landing] .steps.xae-workflow{height:570px!important}
body[data-xae-landing] .steps.xae-workflow.xae-full-workflow{height:990px!important}
body[data-xae-landing] .xae-graph.is-enhanced .xae-node{
 opacity:0!important;visibility:hidden;
 transform:translate(-50%,calc(-50% + 18px)) scale(.86)!important;
 transition:opacity .28s,transform .4s,visibility .4s,border-color .35s,box-shadow .35s!important;
}
body[data-xae-landing] .xae-graph.is-enhanced .xae-node.is-revealed{
 opacity:1!important;visibility:visible;
 transform:translate(-50%,-50%) scale(1)!important;
}
body[data-xae-landing] .xae-graph .xae-flow-links path.xae-edge-base{
 stroke:#90add1;animation:none!important;transition:opacity .15s;
}
body[data-xae-landing] .xae-graph .xae-flow-links path.xae-edge-draw{stroke:#2d76dd;animation:none!important;stroke-width:4}
body[data-xae-landing] .steps.xae-workflow.xae-full-workflow .xae-node{
 width:min(30%,188px);min-height:66px;max-height:94px;padding:6px 5px;
}
body[data-xae-landing] .steps.xae-workflow.xae-full-workflow .xae-node[data-center=true]{width:min(37%,212px)}
body[data-xae-landing] .steps.xae-workflow .xae-node strong{font-size:14px;line-height:1.25}
body[data-xae-landing] .steps.xae-workflow .xae-node small{font-size:12px;line-height:1.2}
body[data-xae-landing] .xae-flow-success{
 position:absolute;z-index:4;left:50%;bottom:9px;max-width:90%;
 transform:translateX(-50%) translateY(7px);display:flex;justify-content:center;
 align-items:center;gap:7px;white-space:nowrap;
 color:#096b43;background:#e3f9ee;border:1px solid #4cbb88;
 border-radius:24px;box-shadow:0 6px 20px #258d582e;
 padding:6px 10px;font-size:13px;font-weight:800;
 opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;
}
body[data-xae-landing] .xae-flow-complete .xae-flow-success{opacity:1;transform:translateX(-50%) translateY(0)}
body[data-xae-landing] .xae-success-icon{
 display:grid;place-items:center;flex:0 0 20px;height:20px;border-radius:50%;
 background:#0c9360;color:#fff;font-size:14px;
}
body[data-xae-landing] .xae-flow-complete .xae-node[data-final=true]{
 opacity:1!important;visibility:visible;
 border-color:#11a26e!important;box-shadow:0 0 0 3px #3ed0a348,0 7px 30px #17a37355!important;
}
body[data-xae-landing] .flow-head strong{font-size:clamp(17px,2.2vw,21px)}
body[data-xae-landing] .flow-head span{font-size:13px}
body[data-xae-landing] .flow-caption{font-size:15px;line-height:1.45}
body[data-xae-landing] .flow-tabs button{font-size:14px}
body[data-xae-landing] .xae-flow-depth{background-size:26px 26px}
/* UI-025/026: tall 3D layers with subtle depth; no carousel. */
body[data-xae-landing] #ecosistema{
 position:relative;isolation:isolate;
 background:linear-gradient(155deg,#08182f,#12315e 62%,#071b37);
 overflow-x:clip;
}
body[data-xae-landing] #ecosistema .xae-eco-depth{
 position:absolute;inset:-12%;z-index:0;pointer-events:none;overflow:hidden;
 background:radial-gradient(ellipse at 78% 24%,#287cdd44,transparent 46%),radial-gradient(ellipse at 17% 78%,#32c6b01c,transparent 40%);
 transform:translate3d(0,var(--xae-eco-shift,0px),0);will-change:transform;
}
body[data-xae-landing] #ecosistema>.wrap{position:relative;z-index:1}
body[data-xae-landing] #ecosistema .arch-grid{display:block}
body[data-xae-landing] #ecosistema .layers{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
 gap:20px 18px;padding:14px 5px;max-width:970px;margin-inline:auto;
}
body[data-xae-landing] #ecosistema .layer.xae-layer{
 position:relative;display:block!important;min-width:0;height:clamp(220px,25vw,280px)!important;min-height:0!important;
 padding:0!important;margin:0;overflow:visible;
 perspective:1100px;background:transparent!important;box-shadow:none!important;
 border:0!important;border-radius:18px;transform:none!important;
}
body[data-xae-landing] #ecosistema .xae-layer-flip{
 position:relative;display:block;height:100%;width:100%;transform-style:preserve-3d;
 transition:transform .65s cubic-bezier(.2,.7,.2,1);border-radius:18px;
}
body[data-xae-landing] #ecosistema .xae-layer[aria-expanded=true] .xae-layer-flip{transform:rotateY(180deg)}
body[data-xae-landing] #ecosistema .xae-layer-face{
 position:absolute;inset:0;border:1px solid #7196c885;border-radius:18px;
 display:flex;flex-direction:column;justify-content:center;text-align:center;align-items:center;
 gap:12px;padding:20px 13px;color:#f0f6ff;
 -webkit-backface-visibility:hidden;backface-visibility:hidden;
}
body[data-xae-landing] #ecosistema .xae-layer-front{background:linear-gradient(145deg,#183762,#0d2244)}
body[data-xae-landing] #ecosistema .xae-layer-back{background:linear-gradient(140deg,#235ab3,#123a71);transform:rotateY(180deg)}
body[data-xae-landing] #ecosistema .xae-layer-tag{
 color:#97c3ff;font-size:14px!important;letter-spacing:.12em;font-weight:800
}
body[data-xae-landing] #ecosistema .xae-layer-face strong{
 font-size:clamp(15px,2vw,20px);line-height:1.26;font-weight:800
}
body[data-xae-landing] #ecosistema .xae-layer-teaser,body[data-xae-landing] #ecosistema .xae-layer-extra{
 color:#ccdef5!important;font-size:clamp(13px,1.8vw,16px)!important;
 line-height:1.4!important;overflow-wrap:anywhere
}
body[data-xae-landing] #ecosistema .xae-layer-cue,body[data-xae-landing] #ecosistema .xae-layer-return{font-size:23px;color:#a9d2ff;line-height:1}
body[data-xae-landing] #ecosistema .arch-mark{width:79px;height:79px;z-index:3;pointer-events:none}
body[data-xae-landing] #ecosistema .arch-mark img{width:65px;height:65px}
/* UI-021/022: one personalized commercial headline and a salient green CTA. */
body[data-xae-landing] #contacto .contact-layout{max-width:920px}
body[data-xae-landing] #contacto h2{font-size:clamp(30px,4.2vw,49px);line-height:1.16;max-width:900px;overflow-wrap:break-word}
body[data-xae-landing] #contacto p{font-size:17px;line-height:1.5;max-width:720px}
body[data-xae-landing] #direct-contact.xae-cta-green{
 background:#0a9f65!important;color:#fff!important;border:1px solid #27c38b!important;
 box-shadow:0 9px 24px #07885654,0 0 0 0 #18bb7d50;
 font-size:clamp(16px,2.2vw,19px);min-height:58px;padding:15px 24px;
 animation:xae-cta-breathe 2.9s ease-in-out infinite;
}
body[data-xae-landing] #direct-contact.xae-cta-green:hover{background:#087a52!important;transform:translateY(-2px)}
@keyframes xae-cta-breathe{50%{box-shadow:0 11px 25px #0788566b,0 0 0 9px #18bb7d00}}
/* Global readable copy */
body[data-xae-landing] .section-copy,body[data-xae-landing] .arch-copy{font-size:16px;line-height:1.5}
body[data-xae-landing] .xp-footer-choices button{font-size:14px}
body[data-xae-landing] .xp-legal a,body[data-xae-landing] .xp-copyright{font-size:13px}
/* UI-024: semantic contrast for the entire LIGHT experience. */
html[data-theme="light"] body[data-xae-landing]{
 --xae-foreground:#103057;--xae-subtitle:#385675;--xae-panel:#f8fbff;
 --xae-panel-border:#84a6cf;--xae-tab:#f7fbffe8;
 color:#12345d;
}
html[data-theme="light"] body[data-xae-landing] .bar{background:#f7faffef;color:#13365e}
html[data-theme="light"] body[data-xae-landing] .xae-sticky a{
 background:#f1f7ffe9!important;color:#204675!important;
 text-shadow:none;box-shadow:0 2px 6px #345d8623;
 border-color:#9bb8da80;
}
html[data-theme="light"] body[data-xae-landing] .xae-sticky a[aria-current="location"]{
 background:#245ac5!important;color:#fff!important;border-color:#245ac5;
}
html[data-theme="light"] body[data-xae-landing] .hero{
 background:radial-gradient(ellipse at 80% 35%,#71a7f766,transparent 58%),radial-gradient(ellipse at 15% 75%,#3fc3b824,transparent 42%),linear-gradient(135deg,#f8fbff,#e1efff)!important;
 color:#113358;
}
html[data-theme="light"] body[data-xae-landing] .hero p,html[data-theme="light"] body[data-xae-landing] .hero .micro{color:#395a7e}
html[data-theme="light"] body[data-xae-landing] .hero .eyebrow{color:#20529e}
html[data-theme="light"] body[data-xae-landing] #soluciones{
 background:linear-gradient(135deg,#eaf3ff,#dceafe)!important;color:#10345e;
}
html[data-theme="light"] body[data-xae-landing] #soluciones h2,html[data-theme="light"] body[data-xae-landing] #soluciones .section-copy{color:#163d6b!important;opacity:1}
html[data-theme="light"] body[data-xae-landing] .card.xae-capability{background:#fff!important;border-color:#a1bddc}
html[data-theme="light"] body[data-xae-landing] .xae-flip-front{background:linear-gradient(145deg,#fff,#edf5ff)!important;color:#153960}
html[data-theme="light"] body[data-xae-landing] .xae-flip-hint{color:#335d88}
html[data-theme="light"] body[data-xae-landing] .xae-flip-back{background:linear-gradient(150deg,#205bbd,#1c457f)!important;color:#fff}
html[data-theme="light"] body[data-xae-landing] .flow-sec{background:linear-gradient(145deg,#eff6ff,#d9e9fe)!important}
html[data-theme="light"] body[data-xae-landing] .flow-sec h2{color:#102f59}
html[data-theme="light"] body[data-xae-landing] .flow-sec .section-copy,html[data-theme="light"] body[data-xae-landing] .flow-caption{color:#355777}
html[data-theme="light"] body[data-xae-landing] #ecosistema{
 background:linear-gradient(155deg,#e7f1ff,#d0e3fa)!important;color:#11335e!important;
}
html[data-theme="light"] body[data-xae-landing] #ecosistema h2,html[data-theme="light"] body[data-xae-landing] #ecosistema .section-copy{color:#12365e!important;opacity:1}
html[data-theme="light"] body[data-xae-landing] #ecosistema .xae-layer-front{background:linear-gradient(140deg,#fff,#f3f8ff);border-color:#9bbadd}
html[data-theme="light"] body[data-xae-landing] #ecosistema .xae-layer-front strong{color:#193d68}
html[data-theme="light"] body[data-xae-landing] #ecosistema .xae-layer-front .xae-layer-teaser{color:#385a7d!important}
html[data-theme="light"] body[data-xae-landing] #ecosistema .xae-layer-back{background:linear-gradient(145deg,#245eb8,#163e80);border-color:#5085cb;color:#fff}
html[data-theme="light"] body[data-xae-landing] #ecosistema .xae-layer-back .xae-layer-extra{color:#eef6ff!important}
html[data-theme="light"] body[data-xae-landing] #ecosistema .xae-layer-tag{color:#2762b7}
html[data-theme="light"] body[data-xae-landing] #ecosistema .xae-layer-back .xae-layer-tag{color:#b9d5ff}
html[data-theme="light"] body[data-xae-landing] #contacto{
 background:radial-gradient(ellipse at 70% 0%,#76aaf568,transparent 64%),linear-gradient(135deg,#eaf3ff,#cee1fa)!important;color:#12365f;
}
html[data-theme="light"] body[data-xae-landing] #contacto h2,html[data-theme="light"] body[data-xae-landing] #contacto p{color:#173e6b!important;opacity:1}
html[data-theme="light"] body[data-xae-landing] .xp-footer{background:#e5effd;color:#244768}
html[data-theme="light"] body[data-xae-landing] .xp-footer strong,html[data-theme="light"] body[data-xae-landing] .xp-foot-brand strong{color:#173c69}
html[data-theme="light"] body[data-xae-landing] .xp-footer-choices button{color:#194270;background:#f5f9ff;border-color:#9ab9db}
html[data-theme="light"] body[data-xae-landing] .xp-summary-icon{color:#2459c5;background:#d7e8ff}
html[data-theme="light"] body[data-xae-landing] .xp-legal a,html[data-theme="light"] body[data-xae-landing] .xp-copyright,html[data-theme="light"] body[data-xae-landing] .xp-foot-brand small{color:#33577b}
@media(max-width:690px){
 body[data-xae-landing] .xae-sticky a{padding:9px 11px;font-size:12px}
 body[data-xae-landing] .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 body[data-xae-landing] .card.xae-capability{min-height:210px!important}
 body[data-xae-landing] .xae-flip-control{height:210px}
 body[data-xae-landing] .xae-flip-front .xae-flip-title{font-size:14px}
 body[data-xae-landing] .xae-flip-hint,body[data-xae-landing] .xae-flip-return{font-size:12px}
 body[data-xae-landing] .xae-flip-back-title{font-size:14px}
 body[data-xae-landing] .xae-flip-list > span{font-size:12px;line-height:1.24;padding:4px}
 body[data-xae-landing] .steps.xae-workflow{height:565px!important}
 body[data-xae-landing] .steps.xae-workflow.xae-full-workflow{height:980px!important}
 body[data-xae-landing] .steps.xae-workflow.xae-full-workflow .xae-node{width:45%;min-height:70px;padding:7px 4px}
 body[data-xae-landing] .steps.xae-workflow.xae-full-workflow .xae-node[data-center=true]{width:53%}
 body[data-xae-landing] .steps.xae-workflow .xae-node strong{font-size:13px}
 body[data-xae-landing] .steps.xae-workflow .xae-node small{font-size:12px}
 body[data-xae-landing] .flow-head span{font-size:12px}
 body[data-xae-landing] .xae-flow-success{font-size:12px;white-space:normal;text-align:center;min-width:0;width:max-content}
 body[data-xae-landing] #ecosistema .layers{gap:19px 15px;padding:14px 0}
 body[data-xae-landing] #ecosistema .layer.xae-layer{height:clamp(232px,32vh,270px)!important}
 body[data-xae-landing] #ecosistema .xae-layer-face{gap:9px;padding:16px 9px}
 body[data-xae-landing] #ecosistema .xae-layer-face strong{font-size:15px}
 body[data-xae-landing] #ecosistema .xae-layer-teaser,body[data-xae-landing] #ecosistema .xae-layer-extra{font-size:13px!important}
 body[data-xae-landing] #ecosistema .arch-mark{width:65px;height:65px}
 body[data-xae-landing] #ecosistema .arch-mark img{width:55px;height:55px}
 body[data-xae-landing] #contacto h2{font-size:clamp(29px,7.5vw,40px)}
 body[data-xae-landing] #contacto p{font-size:16px}
 body[data-xae-landing] .xp-footer-choices button{font-size:12px}
}
@media(max-width:375px){
 body[data-xae-landing] #ecosistema .layer.xae-layer{height:244px!important}
 body[data-xae-landing] .steps.xae-workflow.xae-full-workflow .xae-node{width:45%;min-height:72px}
 body[data-xae-landing] .xae-flip-list > span{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
 body[data-xae-landing] #direct-contact.xae-cta-green{animation:none!important}
 body[data-xae-landing] .hero::before,body[data-xae-landing] #ecosistema .xae-eco-depth{transform:none!important;will-change:auto}
 body[data-xae-landing] .xae-graph.is-enhanced .xae-node{opacity:1!important;visibility:visible!important;transform:translate(-50%,-50%)!important;transition:none!important}
 body[data-xae-landing] #ecosistema .xae-layer-flip,body[data-xae-landing] .xae-flip-inner{transition:none!important}
 body[data-xae-landing] .xae-flow-success{transition:none!important}
}
