/* Luminara effects layer: additive only, content/SEO untouched */
@view-transition{navigation:auto}
.fx-prog{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--blue-700),var(--blue-300),#e0b23c);z-index:300;pointer-events:none}
.fx-aur{position:absolute;left:50%;top:-60px;width:min(1100px,150%);height:560px;transform:translateX(-50%);z-index:0;filter:blur(80px);opacity:.55;pointer-events:none;background:radial-gradient(40% 50% at 22% 40%,rgba(15,127,217,.55),transparent 70%),radial-gradient(35% 45% at 78% 30%,rgba(47,194,255,.4),transparent 70%),radial-gradient(28% 40% at 55% 80%,rgba(224,178,60,.28),transparent 70%);animation:fxdrift 15s ease-in-out infinite alternate}
.hero>.wrap{position:relative;z-index:1}
.hero h1{animation:fxwipe 1s .1s both}
.hero .lede,.hero-ctas,.hero .license-badge,.hero .eyebrow{animation:fxup .8s .3s both}
.hero h1 em{background:linear-gradient(100deg,var(--blue-500),var(--blue-300),#fff,var(--blue-300),var(--blue-500));background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:fxflow 8s linear infinite}
.hero-art{animation:fxfloat 7s ease-in-out infinite}
.hero-art::after{content:"";position:absolute;inset:14%;border-radius:50%;border:1px solid rgba(47,194,255,.35);animation:fxring 4s ease-out infinite;pointer-events:none}
.nav-links a{position:relative;transition:color .25s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--grad);transform:scaleX(0);transition:transform .3s}
.nav-links a.act{color:var(--silver-100)}.nav-links a.act::after,.nav-links a:hover::after{transform:scaleX(1)}
.btn-primary{position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}
.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-130%);animation:fxshine 4.5s 1.5s infinite}
.btn:hover{transform:translateY(-2px)}
.floating-whatsapp::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;animation:fxpulse 2.4s ease-out infinite}
h2.fx-h{position:relative;padding-bottom:14px}
h2.fx-h::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;border-radius:3px;background:var(--grad);transition:width .8s .5s cubic-bezier(.2,.8,.2,1)}
h2.fx-h.fx-in::after{width:64px}
h2.fx-pre{clip-path:inset(-15% 100% -15% 0);opacity:0;transform:translateY(20px)}
h2.fx-h.fx-in{clip-path:inset(-15% 0 -15% 0);opacity:1;transform:none;transition:clip-path .9s cubic-bezier(.2,.8,.2,1),opacity .5s,transform .9s cubic-bezier(.2,.8,.2,1)}
.section-head h2{text-align:inherit}
/* spotlight + tilt cards */
.fx-card{position:relative;transition:transform .25s ease-out,border-color .3s,box-shadow .3s;transform-style:preserve-3d}
.fx-card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%),rgba(47,194,255,.16),transparent 62%);opacity:0;transition:opacity .3s;pointer-events:none;z-index:0}
.fx-card:hover::before{opacity:1}
.fx-card:hover{border-color:rgba(47,194,255,.55);box-shadow:0 22px 46px -18px rgba(15,127,217,.5)}
.fx-rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--d,0)*70ms)}
.fx-rv.fx-in{opacity:1;transform:none}
/* dynamic images */
.fx{position:relative;overflow:hidden;clip-path:inset(0 0 0 0);transition:clip-path 1s cubic-bezier(.2,.8,.2,1)}
.fx.fx-pre{clip-path:inset(0 0 100% 0)}
.fx img{transition:transform 1.2s cubic-bezier(.2,.8,.2,1);will-change:transform}
.fx.fx-pre img{transform:scale(1.22)}
.fx:hover img{transform:scale(1.08) translate(var(--px,0),var(--py,0));transition-duration:.6s}
.fx::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 36%,rgba(255,255,255,.3) 50%,transparent 64%);transform:translateX(-130%);pointer-events:none}
.fx:hover::after{transform:translateX(130%);transition:transform 1s ease}
.fx::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(47,194,255,0);transition:box-shadow .4s;pointer-events:none;z-index:2}
.fx:hover::before{box-shadow:inset 0 0 0 2px rgba(47,194,255,.55),inset 0 -80px 80px -60px rgba(47,194,255,.35)}
.fx.kb img,.hero-art.kb img{animation:fxkb 20s ease-in-out infinite alternate}
.avatar-photo,.founder-photo-wrap{transition:box-shadow .4s,transform .4s}
.avatar-photo:hover{box-shadow:0 0 0 3px rgba(47,194,255,.8),0 0 30px rgba(47,194,255,.5);transform:scale(1.05)}
.avatar-photo img,.founder-photo{transition:transform .6s,filter .6s}
.avatar-photo:hover img{transform:scale(1.12)}
.founder-photo-wrap:hover .founder-photo{transform:translateY(-6px) scale(1.03);box-shadow:0 40px 70px -18px rgba(15,127,217,.6),0 0 0 2px rgba(47,194,255,.5)}
/* countries */
.fx-ticker{overflow:hidden;border-block:1px solid var(--line);background:rgba(255,255,255,.02);padding:16px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.fx-trk{display:flex;width:max-content;font-size:34px;line-height:1;animation:fxtk 90s linear infinite}
.fx-ticker:hover .fx-trk{animation-play-state:paused}
.fx-trk span{padding-right:44px;display:block;transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.fx-trk span:hover{transform:scale(1.4) rotate(-6deg)}
.flag-card{position:relative;overflow:hidden}
.flag-card i,.flag-card span{position:relative;z-index:1}
.flag-card:hover i{animation:fxwave .9s ease-in-out}
.flag-card:active{transform:scale(.96)!important}
.chk-item{transition:border-color .3s,box-shadow .3s}
.chk-item[open]{border-color:rgba(47,194,255,.5);box-shadow:0 18px 40px -22px rgba(15,127,217,.6)}
.chk-item[open] .chk-list li{animation:fxli .45s ease-out both;animation-delay:calc(var(--i,0)*55ms + 80ms)}
.chk-item:target{animation:fxtgt 1.8s ease-out}
.faq-item summary{transition:background .25s}.faq-item summary:hover{background:rgba(47,194,255,.06)}
.faq-item summary::after{transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.faq-item[open] summary::after{transform:rotate(135deg)}
@keyframes fxdrift{to{transform:translateX(-45%) translateY(26px) scale(1.1)}}
@keyframes fxwipe{from{clip-path:inset(-10% 100% -10% 0);opacity:0;transform:translateY(22px)}to{clip-path:inset(-10% 0 -10% 0);opacity:1;transform:none}}
@keyframes fxup{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fxflow{to{background-position:260% 0}}
@keyframes fxfloat{50%{transform:translateY(-10px)}}
@keyframes fxring{0%{transform:scale(.8);opacity:.9}100%{transform:scale(1.25);opacity:0}}
@keyframes fxshine{0%,55%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
@keyframes fxpulse{to{transform:scale(1.7);opacity:0}}
@keyframes fxkb{to{transform:scale(1.08)}}
@keyframes fxtk{to{transform:translateX(-50%)}}
@keyframes fxwave{0%,100%{transform:none}20%{transform:rotate(14deg) scale(1.3)}40%{transform:rotate(-10deg) scale(1.3)}60%{transform:rotate(8deg) scale(1.2)}80%{transform:rotate(-4deg) scale(1.1)}}
@keyframes fxli{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:none}}
@keyframes fxtgt{0%{box-shadow:0 0 0 0 rgba(47,194,255,.7)}100%{box-shadow:0 0 0 22px rgba(47,194,255,0)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.fx-rv,h2.fx-pre,.fx.fx-pre{opacity:1!important;transform:none!important;clip-path:none!important}.fx.fx-pre img{transform:none!important}}

/* banners with text: never crop or zoom */
.fx-svc{display:block;width:calc(100% + 56px);max-width:none;margin:-32px -28px 22px;aspect-ratio:2/1}
.fx-bnr{display:block;width:100%;aspect-ratio:5/2;border-radius:12px;margin-bottom:20px}
.fx>img{display:block;width:100%}
.fx-svc>img,.fx-bnr>img{height:100%;max-width:none;margin:0;aspect-ratio:auto;object-fit:cover;border-radius:0}
.fx-svc img,.fx-bnr img,.fx-svc:hover img,.fx-bnr:hover img{transform:none!important}
.fx-svc::after,.fx-bnr::after{animation:fxsheen 6s 2s infinite}
@keyframes fxsheen{0%,62%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
/* compact desktop menu */
.nav-links{gap:26px}
.nav-more{position:relative}
.more-btn{background:none;border:0;padding:0;font:inherit;font-size:15px;color:var(--silver-300);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:color .25s}
.more-btn::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .3s}
.nav-more:hover .more-btn,.nav-more.open .more-btn{color:var(--silver-100)}
.nav-more.open .more-btn::after,.nav-more:hover .more-btn::after{transform:rotate(225deg)}
.more-menu{position:absolute;top:100%;right:-18px;margin-top:14px;min-width:230px;padding:10px;display:grid;gap:2px;border-radius:18px;background:rgba(5,18,38,.97);border:1px solid rgba(47,194,255,.28);box-shadow:0 24px 50px -16px rgba(0,0,0,.7);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s,visibility .25s;z-index:5}
.more-menu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.nav-more:hover .more-menu,.nav-more.open .more-menu,.nav-more:focus-within .more-menu{opacity:1;visibility:visible;transform:none}
.more-menu a{padding:10px 14px;border-radius:12px;white-space:nowrap}
.more-menu a:hover,.more-menu a.act{background:rgba(47,194,255,.12);color:var(--silver-100)}
.more-menu a::after{display:none}
.more-btn.act{color:var(--silver-100)}
html{scroll-padding-top:92px}
/* compact mobile menu */
.mobile-menu a.mm-visa{color:var(--silver-100);font-weight:600;position:relative;padding-left:18px}
.mobile-menu a.mm-visa::before{content:"";position:absolute;left:2px;top:50%;width:7px;height:7px;border-radius:50%;background:var(--blue-300);transform:translateY(-50%);box-shadow:0 0 10px var(--blue-300)}
.mm-more-btn{width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:12px 0;font:inherit;font-size:15.5px;color:var(--silver-300);display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.mm-more-btn::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .3s;margin-right:4px}
.mm-more.open .mm-more-btn::after{transform:rotate(225deg)}
.mm-more-list{display:flex;flex-direction:column;max-height:0;overflow:hidden;visibility:hidden;padding-left:16px;transition:max-height .4s ease,visibility 0s .4s}
.mm-more.open .mm-more-list{max-height:520px;visibility:visible;transition:max-height .4s ease}
