/* Additive motion layer; the original BANIX styles and content are retained. */
.bx-motion,.motionBtn,.logoToggle{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:25px}
.siteHeader{position:relative!important;top:auto;z-index:20!important;transition:box-shadow .4s,background .4s}
.siteHeader.bx-scrolled{box-shadow:0 12px 40px #08142d20}
.siteHeader::after{content:"";position:absolute;bottom:0;left:0;height:2px;width:100%;background:linear-gradient(90deg,#4966dc,#8fcaff);transform:scaleX(var(--bx-progress,0));transform-origin:left;pointer-events:none}
.navlinks a{position:relative}.navlinks a::after{content:"";position:absolute;inset:auto 0 -8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.navlinks a:hover::after{transform:scaleX(1)}
.headerActions .menuBtn{display:grid!important;place-items:center;border:1px solid #7484ae40;border-radius:50%;width:44px;height:44px;transition:transform .3s,background .3s}
.headerActions .menuBtn:hover{background:#9aafe526;transform:rotate(5deg)}
.bx-menu-open{overflow:hidden}
.siteHeader .mobilePanel{display:block!important;position:fixed!important;top:100%;left:0;width:100%;height:calc(100dvh - 85px);background:radial-gradient(ellipse at 90% 90%,#263e69,#0b1427 65%)!important;color:#fff;overflow:auto;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-18px);transition:opacity .4s,transform .5s,visibility .4s;padding:clamp(25px,6vh,65px) 0}
.siteHeader .mobilePanel.open{visibility:visible;opacity:1;transform:none;pointer-events:auto}
.mobilePanel>.shell{display:grid!important;grid-template-columns:1fr 1fr;gap:0 70px;max-width:1050px}
.mobilePanel a{font-family:'Inter Tight',Inter,sans-serif;font-size:clamp(25px,3.6vw,49px)!important;line-height:1.25!important;padding:19px 0!important;color:#f3f6ff!important;border-bottom:1px solid #ffffff20!important;transition:padding .3s,color .3s,transform .5s,opacity .5s;transform:translateY(15px);opacity:0}
.mobilePanel.open a{opacity:1;transform:none;transition-delay:calc(var(--bx-index,0)*35ms)}
.mobilePanel a:hover{padding-left:13px!important;color:#a9c6ff!important}
.mobilePanel a::after{content:'↗';float:right;font-size:.55em;color:#99b9f3;padding-top:.5em}
.headerActions #langBtn{display:none}
.bx-language{position:fixed;bottom:25px;right:25px;z-index:120;font-family:Inter,Arial,sans-serif}
.bx-language>button,.bx-motion{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #c8d7fb60;border-radius:50px;background:#101d33e8;backdrop-filter:blur(18px);color:#fff;cursor:pointer;box-shadow:0 6px 30px #06132730}
.bx-language>button{min-width:64px;height:52px;padding:0 15px;font-size:11px;letter-spacing:.08em;transition:transform .25s}
.bx-language>button:hover{transform:translateY(-3px)}
.bx-language svg{width:20px;height:20px}
.bx-language-list{position:absolute;bottom:65px;right:0;min-width:180px;background:#101d33f5;padding:9px;border:1px solid #b8ccf93a;border-radius:18px;box-shadow:0 20px 65px #0004}
.bx-language-list[hidden]{display:none}.bx-language-list a{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;color:#f3f6ff;text-decoration:none;border-radius:10px;font-size:13px}.bx-language-list a:hover,.bx-language-list a[aria-current]{background:#354d79}
.bx-motion{position:fixed;bottom:26px;left:24px;width:43px;height:43px;z-index:90;font-size:16px}
.bx-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.cinematicContent,.cinematicBottom{z-index:2;position:relative}
.cinematicBottom{position:absolute}
.cinematicMedia video{transform:scale(1.035);animation:bx-breathe 24s ease-in-out infinite alternate}
.bx-reveal{transition:opacity .8s ease,translate .8s cubic-bezier(.16,1,.3,1);transition-delay:var(--bx-delay,0ms)}
.bx-reveal.bx-pending{opacity:0;translate:0 30px}
.categoryCard,.productCard{transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s!important}
.categoryCard:hover,.productCard:hover{transform:translateY(-9px);box-shadow:0 25px 55px #1a31591c}
.categoryImage img,.pimg img{transition:transform .8s cubic-bezier(.16,1,.3,1)!important}
.categoryCard:hover .categoryImage img,.productCard:hover .pimg img{transform:scale(1.06) rotate(-2deg)}
.arrowCircle,.homeNewsArrow,.ctaOrb{transition:transform .45s!important}.categoryCard:hover .arrowCircle,.homeNewsRow:hover .homeNewsArrow{transform:rotate(45deg)}
.ctaOrb:hover{transform:rotate(12deg) scale(1.06)}
@keyframes bx-breathe{to{transform:scale(1.12)}}
@media(max-width:1100px){.navlinks{display:none!important}}
@media(max-width:600px){.mobilePanel>.shell{grid-template-columns:1fr;gap:0}.mobilePanel a{font-size:27px!important;padding:14px 0!important}.bx-language{bottom:18px;right:16px}.bx-motion{bottom:21px;left:16px}.bx-language>button{height:48px}.siteHeader .mobilePanel{height:calc(100dvh - 76px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bx-reveal,.categoryCard,.productCard,.categoryImage img,.pimg img,.mobilePanel,.mobilePanel a{transition:none!important;translate:none!important}.bx-particles{display:none}.cinematicMedia video{animation:none}}
html.bx-still{scroll-behavior:auto}.bx-still .bx-reveal{opacity:1;translate:none;transition:none}.bx-still .cinematicMedia video{animation:none}.bx-still .bx-particles{visibility:hidden}.bx-still .logoTrack{animation-play-state:paused!important}
/* Reference motion: floating navigation, 900ms reveals, drawn icon strokes. */
.siteHeader .navlinks{display:none!important}.siteHeader::after{display:none}.siteHeader.bx-scrolled{box-shadow:none}
.bx-controls{position:fixed;right:24px;bottom:24px;z-index:120;display:flex;align-items:center;gap:10px;direction:ltr}
.bx-controls .bx-language{position:relative;inset:auto}
.bx-controls .menuBtn{display:grid!important;place-items:center;width:52px;height:52px;border:1px solid #c8d7fb60;border-radius:50%;background:#101d33ed;backdrop-filter:blur(18px);color:#fff;box-shadow:0 6px 30px #06132730;cursor:pointer;transition:transform .35s cubic-bezier(.2,.7,.1,1),background .35s}
.bx-controls .menuBtn svg{width:22px;height:22px}.bx-controls .menuBtn:hover{transform:translateY(-3px);background:#264360}
.bx-whatsapp{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:50%;background:#128c5e;color:#fff!important;border:1px solid #85e4bc70;box-shadow:0 6px 30px #06132730;text-decoration:none;transition:transform .3s,background .3s,box-shadow .3s}
.bx-whatsapp svg{width:27px;height:27px}.bx-whatsapp:hover{background:#0e7650;transform:translateY(-3px);box-shadow:0 9px 32px #128c5e44}.bx-whatsapp:focus-visible{outline:3px solid #91e7c5;outline-offset:4px}
@media(max-width:600px){.bx-whatsapp{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.bx-whatsapp{transition:none}.bx-whatsapp:hover{transform:none}}
/* Keep contact controls clear of the host's public badge when present. */
body:has(#nl-badge-frame) .bx-controls{bottom:78px}
body:has(#nl-badge-frame)>.mobilePanel{bottom:145px!important}
@media(max-width:600px){body:has(#nl-badge-frame) .bx-controls{bottom:72px}body:has(#nl-badge-frame)>.mobilePanel{bottom:134px!important}}
.bx-controls .menuBtn[aria-expanded=true]{background:#176c77;transform:rotate(90deg)}
body>.mobilePanel{display:block!important;position:fixed!important;inset:auto 24px 91px auto!important;width:min(390px,calc(100% - 32px));max-height:calc(100dvh - 120px);overflow:auto;padding:18px 26px!important;background:linear-gradient(145deg,#152c3bf5,#0b1729fa)!important;backdrop-filter:blur(24px);border:1px solid #b8ccf93a;border-radius:22px;box-shadow:0 24px 80px #04101b66;z-index:119;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(22px) scale(.96);transform-origin:bottom right;transition:opacity .35s,transform .5s cubic-bezier(.2,.7,.1,1),visibility .35s}
body>.mobilePanel.open{visibility:visible;opacity:1;transform:none;pointer-events:auto}
body>.mobilePanel>.shell{display:flex!important;flex-direction:column;gap:0;width:100%;padding:0}
body>.mobilePanel a{display:block;font-size:23px!important;padding:13px 0!important;line-height:1.2!important}
body>.mobilePanel a:last-child{border-bottom:0!important}
.bx-menu-open{overflow:visible}
.bx-reveal{transition:opacity .9s cubic-bezier(.2,.7,.1,1),translate .9s cubic-bezier(.2,.7,.1,1);transition-delay:var(--bx-delay,0ms)}
.bx-reveal.bx-pending{opacity:0;translate:0 34px}
.bx-reveal.scrollReveal{transform:none!important;transition:opacity .9s cubic-bezier(.2,.7,.1,1),translate .9s cubic-bezier(.2,.7,.1,1)!important;transition-delay:var(--bx-delay,0ms)!important}
.categoryCard,.productCard,.serviceItem{position:relative;isolation:isolate}
.categoryCard::after,.productCard::after,.serviceItem::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(360px circle at var(--bx-mx,50%) var(--bx-my,0%),#7bd7df26,transparent 60%);opacity:0;pointer-events:none;transition:opacity .4s;z-index:2}
.categoryCard:hover::after,.productCard:hover::after,.serviceItem:hover::after{opacity:1}
.categoryCard:hover,.productCard:hover{transform:perspective(900px) translateY(-6px) rotateX(var(--bx-rx,0deg)) rotateY(var(--bx-ry,0deg))}
.categoryImage,.pimg{position:relative;overflow:hidden}
.categoryImage::after,.pimg::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#ffffff65 50%,transparent 65%);transform:translateX(-135%);transition:transform .9s;pointer-events:none}
.categoryCard:hover .categoryImage::after,.productCard:hover .pimg::after{transform:translateX(135%)}
.bx-icon-stroke{fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.bx-trace-host{position:relative}.bx-trace-host>.bx-icon-stroke{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.bx-trace-host.bx-arrow-host{font-size:0!important}.bx-arrow-host .bx-icon-stroke{width:24px;height:24px;inset:50% auto auto 50%;transform:translate(-50%,-50%)}
.bx-draw-ready .bx-icon-stroke :is(path,circle,rect,line,polyline){stroke-dasharray:1;stroke-dashoffset:1}
.bx-draw-ready.bx-icon-in .bx-icon-stroke :is(path,circle,rect,line,polyline){animation:bx-draw 1.8s cubic-bezier(.2,.7,.1,1) forwards;animation-delay:calc(var(--bx-delay,0ms) + 200ms)}
.bx-icon-in .categoryImage img,.bx-icon-in .pimg img{animation:bx-image-in 1.2s cubic-bezier(.2,.7,.1,1) both;animation-delay:var(--bx-delay,0ms)}
.bx-draw-ready:not(.bx-icon-in) .categoryImage img,.bx-draw-ready:not(.bx-icon-in) .pimg img{opacity:0;translate:0 16px}
.bx-icon-in .number{animation:bx-number-in 1.8s cubic-bezier(.2,.7,.1,1) both;animation-delay:var(--bx-delay,0ms)}
.bx-icon-in .bx-pdf-outline{animation:bx-draw 1.8s cubic-bezier(.2,.7,.1,1) forwards,bx-icon-float 3.2s ease-in-out 2s infinite!important}
.cinematicMedia,.wideStory{overflow:hidden}.cinematicMedia video{animation:bx-breathe 32s ease-in-out infinite alternate}
.wideStory>.ambientMotion{scale:1.06;translate:0 var(--bx-parallax,0px)}
.wideStory .storyContent{position:relative;z-index:3}
@keyframes bx-draw{to{stroke-dashoffset:0}}
@keyframes bx-image-in{from{opacity:0;translate:0 20px;scale:.94}to{opacity:1;translate:0 0;scale:1}}
@keyframes bx-number-in{from{opacity:.1;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}
@keyframes bx-icon-float{50%{translate:0 -3px}}
@media(max-width:600px){.bx-controls{right:16px;bottom:18px;gap:8px}.bx-controls .menuBtn{width:48px;height:48px}body>.mobilePanel{right:16px!important;bottom:80px!important;padding:13px 22px!important;max-height:calc(100dvh - 100px)}body>.mobilePanel a{font-size:21px!important;padding:12px 0!important}}
@media(prefers-reduced-motion:reduce){.bx-reveal,.bx-reveal.scrollReveal{opacity:1!important;translate:none!important;transition:none!important}.bx-icon-stroke *{stroke-dashoffset:0!important;animation:none!important}.bx-icon-in img,.bx-icon-in .number,.cinematicMedia video{animation:none!important}.bx-draw-ready img{opacity:1!important;translate:none!important}.categoryCard:hover,.productCard:hover{transform:none!important}}
.bx-still .bx-icon-stroke *{animation:none!important;stroke-dashoffset:0!important}.bx-still .bx-draw-ready img{opacity:1;translate:none;animation:none!important}.bx-still .number{animation:none!important}
