/* Advanced animated layer — mobile-first, no external library */
:root{--ease-out:cubic-bezier(.16,1,.3,1);--ease-elastic:cubic-bezier(.34,1.56,.64,1);--glow-blue:0 0 0 1px rgba(0,71,167,.08),0 24px 70px rgba(0,71,167,.18);--glow-gold:0 0 40px rgba(244,180,0,.28)}
body{overflow-x:hidden;background:radial-gradient(circle at var(--mx,50%) var(--my,12%),rgba(0,71,167,.11),transparent 22rem),radial-gradient(circle at 12% 16%,rgba(244,180,0,.12),transparent 20rem),radial-gradient(circle at 88% 10%,rgba(0,71,167,.10),transparent 22rem),linear-gradient(180deg,#fff 0%,#f7faff 44%,#fff 100%)}
body:before{content:"";position:fixed;inset:-20vmax;z-index:-3;pointer-events:none;background:radial-gradient(circle at 20% 30%,rgba(0,71,167,.20),transparent 17vmax),radial-gradient(circle at 80% 18%,rgba(244,180,0,.20),transparent 15vmax),radial-gradient(circle at 72% 78%,rgba(34,197,94,.10),transparent 18vmax),radial-gradient(circle at 14% 86%,rgba(0,43,104,.12),transparent 16vmax);filter:blur(28px) saturate(1.2);animation:auroraShift 18s var(--ease-out) infinite alternate}
body:after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.38;background-image:linear-gradient(rgba(0,71,167,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(0,71,167,.045) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,#000 0%,transparent 72%);animation:gridDrift 26s linear infinite}
@keyframes auroraShift{0%{transform:translate3d(-2%,-1%,0) rotate(0) scale(1)}50%{transform:translate3d(2%,1%,0) rotate(7deg) scale(1.05)}100%{transform:translate3d(3%,-2%,0) rotate(-6deg) scale(1.08)}}
@keyframes gridDrift{to{background-position:36px 72px}}
.scroll-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:left;transform:scaleX(0);z-index:99999;background:linear-gradient(90deg,var(--primary),var(--secondary));box-shadow:0 0 18px rgba(0,71,167,.36)}
.cursor-aura{position:fixed;width:240px;height:240px;border-radius:999px;pointer-events:none;z-index:9999;opacity:0;transform:translate3d(-50%,-50%,0) scale(.65);background:radial-gradient(circle,rgba(0,71,167,.18),rgba(244,180,0,.08) 35%,transparent 68%);filter:blur(8px);mix-blend-mode:multiply;transition:opacity .25s var(--ease-out),transform .25s var(--ease-out)}.cursor-aura.is-visible{opacity:1}
.motion-field{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.motion-orb{position:absolute;width:12px;height:12px;border-radius:999px;background:rgba(0,71,167,.15);box-shadow:0 0 28px rgba(0,71,167,.25);animation:orbFloat var(--orb-speed,12s) ease-in-out infinite alternate;opacity:.72}.motion-orb.gold{background:rgba(244,180,0,.17);box-shadow:0 0 28px rgba(244,180,0,.24)}@keyframes orbFloat{from{transform:translate3d(0,0,0) scale(.8)}to{transform:translate3d(var(--orb-x,40px),var(--orb-y,-80px),0) scale(1.35)}}
.site-header{transition:background .35s var(--ease-out),box-shadow .35s var(--ease-out),border-color .35s var(--ease-out),transform .35s var(--ease-out)}.site-header.is-scrolled{background:rgba(255,255,255,.76);box-shadow:0 16px 50px rgba(0,43,104,.12);border-bottom-color:rgba(219,228,240,.55)}
.brand-mark{position:relative;overflow:hidden}.brand-mark:after{content:"";position:absolute;inset:-70%;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.62),transparent 65%);transform:translateX(-80%) rotate(18deg);animation:brandSweep 4.8s ease-in-out infinite}@keyframes brandSweep{0%,55%{transform:translateX(-85%) rotate(18deg)}78%,100%{transform:translateX(85%) rotate(18deg)}}
.nav-link{position:relative;transition:color .22s var(--ease-out),background .22s var(--ease-out),transform .22s var(--ease-out)}.nav-link:after{content:"";position:absolute;left:14px;right:14px;bottom:7px;height:2px;border-radius:4px;background:linear-gradient(90deg,var(--primary),var(--secondary));transform:scaleX(0);transform-origin:left;transition:transform .28s var(--ease-out)}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.nav-link:hover{transform:translateY(-1px)}.nav-menu.is-open{animation:menuDrop .26s var(--ease-out) both}@keyframes menuDrop{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.btn{position:relative;isolation:isolate;overflow:hidden;transform:translateZ(0);transition:transform .22s var(--ease-elastic),box-shadow .25s var(--ease-out),border-color .25s var(--ease-out),color .25s var(--ease-out),background .25s var(--ease-out)}.btn:before{content:"";position:absolute;inset:-2px;z-index:-1;background:radial-gradient(circle at var(--btn-x,50%) var(--btn-y,50%),rgba(255,255,255,.65),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.18),transparent 42%);opacity:0;transition:opacity .25s var(--ease-out)}.btn:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.33),transparent 42%);transform:translateX(-120%);transition:transform .55s var(--ease-out)}.btn:hover{transform:translateY(-3px) scale(1.015)}.btn:hover:before{opacity:1}.btn:hover:after{transform:translateX(120%)}.btn:active{transform:translateY(0) scale(.985)}.btn-primary:hover{box-shadow:0 18px 42px rgba(0,71,167,.30),0 0 0 6px rgba(0,71,167,.08)}.btn-secondary:hover{border-color:rgba(0,71,167,.34);box-shadow:0 16px 34px rgba(0,43,104,.11)}
.hero,.page-hero{isolation:isolate}.hero:after,.page-hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 10% 22%,rgba(0,71,167,.06),transparent 12rem),radial-gradient(circle at 90% 55%,rgba(244,180,0,.09),transparent 14rem);animation:softPulse 8s ease-in-out infinite alternate}@keyframes softPulse{from{opacity:.65;transform:scale(1)}to{opacity:1;transform:scale(1.025)}}
.hero-media,.hero-visual{transform-style:preserve-3d;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}.hero-media:hover,.hero-visual:hover{transform:perspective(1200px) rotateX(1.6deg) rotateY(-2.2deg) translateY(-4px);box-shadow:0 30px 90px rgba(0,43,104,.18)}.hero-media:after,.hero-visual:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.48) 42%,transparent 58%);transform:translateX(-130%);animation:heroShine 7s ease-in-out infinite}@keyframes heroShine{0%,55%{transform:translateX(-130%)}75%,100%{transform:translateX(130%)}}.people-card{animation:floatPeople 5.4s ease-in-out infinite alternate}@keyframes floatPeople{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-12px,0)}}
.stat-card,.feature-card,.profile-card,.event-card,.news-card,.value-card,.info-card,.form-card,.timeline-item,.partner-card,.gallery-card,.metric-card,.contact-card,.auth-card,.auth-side,.map-card,.faq-item{position:relative;transition:transform .28s var(--ease-out),box-shadow .28s var(--ease-out),border-color .28s var(--ease-out),background .28s var(--ease-out);will-change:transform}.stat-card:before,.feature-card:before,.profile-card:before,.event-card:before,.news-card:before,.value-card:before,.info-card:before,.form-card:before,.timeline-item:before,.partner-card:before,.metric-card:before,.contact-card:before,.auth-card:before,.auth-side:before,.faq-item:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(0,71,167,0),rgba(0,71,167,.42),rgba(244,180,0,.36),rgba(0,71,167,0));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .28s var(--ease-out);pointer-events:none}.stat-card:hover,.feature-card:hover,.profile-card:hover,.event-card:hover,.news-card:hover,.value-card:hover,.info-card:hover,.timeline-item:hover,.partner-card:hover,.gallery-card:hover,.metric-card:hover,.contact-card:hover,.faq-item:hover{transform:translateY(-8px);box-shadow:var(--glow-blue);border-color:rgba(0,71,167,.22)}.stat-card:hover:before,.feature-card:hover:before,.profile-card:hover:before,.event-card:hover:before,.news-card:hover:before,.value-card:hover:before,.info-card:hover:before,.timeline-item:hover:before,.partner-card:hover:before,.metric-card:hover:before,.contact-card:hover:before,.faq-item:hover:before{opacity:1}
.card-img,.gallery-card{overflow:hidden}.card-img:after,.gallery-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--card-x,50%) var(--card-y,50%),rgba(255,255,255,.24),transparent 22%),linear-gradient(to top,rgba(0,26,63,.36),transparent 60%);opacity:0;transition:opacity .25s var(--ease-out)}.event-card:hover .card-img:after,.news-card:hover .card-img:after,.gallery-card:hover:after{opacity:1}.event-card:hover .card-img,.news-card:hover .card-img{transform:scale(1.035)}.card-img{transition:transform .45s var(--ease-out)}
.icon{transition:transform .35s var(--ease-elastic),box-shadow .35s var(--ease-out),background .35s var(--ease-out),color .35s var(--ease-out)}.stat-card:hover .icon,.feature-card:hover .icon,.value-card:hover .icon,.contact-card:hover .icon,.metric-card:hover .icon,.info-card:hover .icon{transform:translateY(-3px) rotate(-4deg) scale(1.08);background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 16px 30px rgba(0,71,167,.24)}.avatar{transition:transform .35s var(--ease-elastic),box-shadow .35s var(--ease-out)}.profile-card:hover .avatar{transform:scale(1.08) rotate(-3deg);box-shadow:0 14px 28px rgba(0,71,167,.18)}
.filter-chip,.page-btn{position:relative;overflow:hidden;transition:transform .22s var(--ease-elastic),box-shadow .22s var(--ease-out),border-color .22s var(--ease-out),background .22s var(--ease-out)}.filter-chip:hover,.page-btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,43,104,.12);border-color:rgba(0,71,167,.28)}.filter-chip.active{box-shadow:0 14px 30px rgba(0,71,167,.24)}
.field input,.field select,.field textarea,.searchbar,.newsletter input{transition:border-color .22s var(--ease-out),box-shadow .22s var(--ease-out),transform .22s var(--ease-out),background .22s var(--ease-out)}.field input:hover,.field select:hover,.field textarea:hover,.searchbar:hover,.newsletter input:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,43,104,.07)}.field input:focus,.field select:focus,.field textarea:focus,.searchbar:focus-within,.newsletter input:focus{transform:translateY(-2px);box-shadow:0 0 0 5px rgba(0,71,167,.10),0 18px 40px rgba(0,43,104,.10)}
.reveal{opacity:0;transform:translateY(22px) scale(.985);transition:opacity .72s var(--ease-out),transform .72s var(--ease-out)}.reveal.is-visible{opacity:1;transform:translateY(0) scale(1)}.reveal-stagger>*{opacity:0;transform:translateY(18px);transition:opacity .65s var(--ease-out),transform .65s var(--ease-out)}.reveal-stagger.is-visible>*{opacity:1;transform:translateY(0)}.reveal-stagger.is-visible>*:nth-child(2){transition-delay:.06s}.reveal-stagger.is-visible>*:nth-child(3){transition-delay:.12s}.reveal-stagger.is-visible>*:nth-child(4){transition-delay:.18s}.reveal-stagger.is-visible>*:nth-child(5){transition-delay:.24s}.reveal-stagger.is-visible>*:nth-child(6){transition-delay:.30s}.reveal-stagger.is-visible>*:nth-child(7){transition-delay:.36s}.reveal-stagger.is-visible>*:nth-child(8){transition-delay:.42s}
.cta-band{transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out)}.cta-band:hover{transform:translateY(-4px);box-shadow:0 28px 80px rgba(0,43,104,.22),var(--glow-gold)}.gallery-card:hover{transform:translateY(-8px) scale(1.015)}.gallery-card-content{transition:transform .35s var(--ease-out)}.gallery-card:hover .gallery-card-content{transform:translateY(-4px)}
.site-footer:before{content:"";position:absolute;right:0;bottom:0;width:min(720px,70vw);height:74%;opacity:.16;background:linear-gradient(90deg,transparent 0 8%,rgba(255,255,255,.55) 8.2% 8.4%,transparent 8.6% 18%,rgba(255,255,255,.45) 18.2% 18.4%,transparent 18.6%),linear-gradient(0deg,transparent 0 12%,rgba(255,255,255,.55) 12.2% 12.5%,transparent 12.7% 28%,rgba(255,255,255,.45) 28.2% 28.5%,transparent 28.7%);mask-image:linear-gradient(135deg,transparent 0%,#000 22%);animation:blueprintDrift 13s ease-in-out infinite alternate}@keyframes blueprintDrift{from{transform:translateX(0)}to{transform:translateX(24px)}}
@media (max-width:759px){.cursor-aura{display:none}}
@media (min-width:1020px){.tilt-card{transform-style:preserve-3d}.tilt-card:hover{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-8px)}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.cursor-aura,.motion-field,.scroll-progress{display:none!important}}
