
:root{
  --navy:#061a33;--blue:#0753ad;--cobalt:#0b63ce;--sky:#5bb1ff;
  --ice:#eef6ff;--line:#d8e8fb;--ink:#10243f;--muted:#60738b;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Manrope",system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}
body::selection{background:#0b63ce;color:#fff}
.font-display{font-family:"DM Serif Display",Georgia,serif}
.text-gradient{background:linear-gradient(95deg,#fff 0%,#a9d7ff 58%,#5aaeff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.glass{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(16px)}
.nav-link{position:relative}.nav-link::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:#54a9ff;transition:.3s}.nav-link:hover::after,.nav-link.active::after{width:100%}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.25,1)}
.reveal-left{opacity:0;transform:translateX(-42px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.75,.25,1)}
.reveal-right{opacity:0;transform:translateX(42px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.75,.25,1)}
.reveal.is-visible,.reveal-left.is-visible,.reveal-right.is-visible{opacity:1;transform:none}
.card-lift{transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .45s,border-color .45s}
.card-lift:hover{transform:translateY(-10px);box-shadow:0 28px 80px rgba(2,52,110,.17);border-color:#9dcbff}
.media-zoom img{transition:transform 1s cubic-bezier(.2,.75,.25,1)}.media-zoom:hover img{transform:scale(1.08)}
.btn-shine{position:relative;overflow:hidden}.btn-shine::before{content:"";position:absolute;top:-80%;left:-40%;width:35%;height:260%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:rotate(24deg);transition:.7s}.btn-shine:hover::before{left:120%}
.hero-grid{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:42px 42px}
.floaty{animation:floaty 5.5s ease-in-out infinite}@keyframes floaty{50%{transform:translateY(-14px)}}
.pulse-ring{animation:pulseRing 2.2s ease-out infinite}@keyframes pulseRing{0%{box-shadow:0 0 0 0 rgba(45,145,245,.45)}70%{box-shadow:0 0 0 18px rgba(45,145,245,0)}100%{box-shadow:0 0 0 0 rgba(45,145,245,0)}}
.marquee{overflow:hidden;white-space:nowrap}.marquee-track{display:inline-flex;gap:4rem;animation:marquee 27s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}
.progress-bar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,#6bc0ff,#0753ad);z-index:100;width:0}
.parallax-img{will-change:transform}
.map-dot{animation:mapPulse 2s infinite}@keyframes mapPulse{50%{opacity:.35;transform:scale(1.7)}}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-item.open .faq-answer{max-height:220px}.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-icon{transition:.3s}
.mobile-menu{max-height:0;overflow:hidden;transition:max-height .45s ease}.mobile-menu.open{max-height:520px}
@media(max-width:768px){.marquee-track{gap:2rem}.hero-grid{background-size:30px 30px}}
