*{font-family:"Urbanist",sans-serif;scroll-behavior:smooth}
body{background:#f7f8fb;color:#0f172a;overflow-x:hidden}
.soft-shadow{box-shadow:0 24px 70px rgba(15,23,42,.08)}
.deep-shadow{box-shadow:0 35px 100px rgba(15,23,42,.18)}
.glass{background:rgba(255,255,255,.78);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.55)}
.blue-gradient{background:linear-gradient(135deg,#2563eb,#0f172a)}
.dark-gradient{background:linear-gradient(135deg,#020617,#0f172a)}
.nav-link{position:relative}
.nav-link::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:#2563eb;transition:.3s ease}
.nav-link:hover::after{width:100%}
.dropdown{position:relative}
.dropdown-menu{position:absolute;top:145%;left:50%;transform:translateX(-50%) translateY(14px);min-width:320px;background:#fff;border-radius:24px;padding:14px;opacity:0;visibility:hidden;transition:all .35s ease;box-shadow:0 30px 90px rgba(15,23,42,.16);border:1px solid rgba(226,232,240,.8);z-index:999}
.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dropdown-item{display:block;padding:14px 16px;border-radius:16px;font-weight:800;color:#334155;transition:.3s ease;white-space:nowrap}
.dropdown-item:hover{background:#eff6ff;color:#2563eb;padding-left:22px}
.reveal{opacity:0;transform:translateY(38px);transition:all .85s ease}
.reveal.show{opacity:1;transform:translateY(0)}
.card-hover{transition:all .4s ease;transform-style:preserve-3d}
.card-hover:hover{transform:translateY(-10px) scale(1.015);box-shadow:0 35px 90px rgba(15,23,42,.14)}
.image-zoom{overflow:hidden}
.image-zoom img{transition:transform .8s ease}
.image-zoom:hover img{transform:scale(1.09)}
.shine{position:relative;overflow:hidden}
.shine::before{content:"";position:absolute;top:0;left:-120%;width:70%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-20deg);transition:.8s}
.shine:hover::before{left:130%}
.footer-orb{position:absolute;border-radius:999px;filter:blur(45px);opacity:.35;animation:orbMove 7s ease-in-out infinite alternate}
@keyframes orbMove{from{transform:translateY(0) translateX(0)}to{transform:translateY(-30px) translateX(30px)}}
.page-hero{position:relative;overflow:hidden;min-height:420px;background-size:cover;background-position:center}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,6,23,.86),rgba(2,6,23,.58),rgba(2,6,23,.22)),radial-gradient(circle at 18% 28%,rgba(37,99,235,.38),transparent 34%)}
.page-hero>*{position:relative;z-index:1}
.floating{animation:floating 4.5s ease-in-out infinite}
@keyframes floating{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}