:root{
  --blue:#0b5ed7; --dark:#0b2545; --muted:#6b7280; --card:#fff;
  --container:1200px;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:linear-gradient(180deg,#f8fafc 0%,#eef2ff 100%);color:var(--dark);overflow-x:hidden}
.container{max-width:var(--container);margin:0 auto;padding:0 18px}

.site-header{background:#fff;position:sticky;top:0;z-index:120;border-bottom:1px solid rgba(11,37,69,0.04)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand-wrap{display:flex;align-items:center;gap:16px}
.site-logo{height:48px;border-radius:6px}
.brand-text .brand{font-weight:700}
.brand-text .sub{font-size:10px;color:var(--muted)}

.main-nav ul{display:flex;gap:16px;align-items:center;list-style:none;padding:0;margin:0}
.main-nav a{color:var(--dark);text-decoration:none;font-weight:600}
.main-nav .cta{background:var(--blue);color:#fff;padding:8px 14px;border-radius:8px}

/* ===== NAVIGATION ===== */
nav ul {
  display: flex;
  list-style: none;
  gap: 16px;              /* 🔹 Added little more spacing between menu items */
  padding: 0;
  margin: 0;
}

nav a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: var(--dark);
  font-weight: 600;
  letter-spacing: 0.3px;
  padding: 10px 0;        /* 🔹 Adds top-bottom breathing space */
  transition: color 0.3s ease;
}

/* 🔵 Animated Underline Effect */
nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;              /* places underline below text */
  width: 0%;
  height: 2px;
  background: var(--blue);
  transition: width 0.3s ease-in-out;
}

nav a:hover {
  color: var(--blue);
}

nav a:hover::after {
  width: 100%;            /* 🔹 Expands underline smoothly */
}

/* 🔹 Active page link style */
nav a.active {
  color: var(--blue);
}

nav a.active::after {
  width: 100%;
}


.hamburger{display:none;background:transparent;border:0;font-size:26px;cursor:pointer}

/* HERO */
.hero{padding:42px 0}
.hero-inner{display:flex;gap:25px;align-items:flex-start;position:relative}
.hero-text{flex:1;min-width:250px}
.hero-text h1{font-size:36px;margin:0 0 14px;color:#002d62}
.lead{color: #3b4b62;line-height:1.6;margin-bottom:18px}
.invite-card{background:#fff;padding:22px;border-radius:12px;box-shadow:0 8px 24px rgba(11,37,69,0.06);margin-bottom:18px}
.invite-card h2{color:#f28c2e;margin:0 0 8px}


/* preview aside - right aligned on desktop */
.hero-aside{flex:0 0 370px;display:flex;justify-content:flex-end}
.preview-card{width:100%;max-width:360px;background:#fff;border-radius:12px;padding:18px;box-shadow:0 12px 30px rgba(11,37,69,0.06);text-align:center}
.preview-img{width:100%;height:auto;object-fit:contain;border-radius:8px}
.muted{text-align:center;color:var(--muted);margin-top:10px}



/* SCROLL BOX */
.scroll-box{margin-top:14px;background:rgba(255,255,255,0.9);padding:12px;border-radius:12px;overflow:hidden;box-shadow:0 8px 22px rgba(11,37,69,0.04)}
.scroll-track{display:flex;gap:24px;align-items:center;animation:scrollLeft 28s linear infinite}
.scroll-track img{height:64px;width:auto;object-fit:contain;transition:transform .25s}
.scroll-track img:hover{transform:scale(1.1)}
@keyframes scrollLeft{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* SERVICES */
.section h2{font-size:24px;color:var(--dark);margin:28px 0}
.services{display:flex;flex-wrap:wrap;gap:18px}
.svc{flex:1 1 220px;background:#fff;padding:18px;border-radius:12px;box-shadow:0 8px 22px rgba(11,37,69,0.04);display:flex;gap:12px;align-items:flex-start}
.svc .ico img{width:56px;height:auto;object-fit:contain}
.svc h4{margin:0;margin-bottom:6px;color:var(--blue)}
.svc p{margin:0;color:var(--muted)}

/* LEVELS */
.levels{display:flex;gap:18px;flex-wrap:wrap}
.level{flex:1 1 320px;padding:18px;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 10px 28px rgba(11,37,69,0.04);text-align:center}
.level-icon{height:140px;width:auto;margin-bottom:8px;animation:float 4s ease-in-out infinite}
@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}100%{transform:translateY(0)}}
.join-btn{background:var(--blue);color:#fff;border:0;padding:10px 14px;border-radius:8px;cursor:pointer}

/* WHITE LABEL */
.wl{display:flex;gap:24px;align-items:center;background:linear-gradient(90deg,#f8fbff,#eef5ff);padding:20px;border-radius:12px;box-shadow:0 8px 20px rgba(11,37,69,0.04)}
.wl-left{flex:0 0 300px}
.wl-img{width:100%;height:auto;border-radius:8px}
.wl-right{flex:1}

/* PORTALS */
.service-portals{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}
.portal-btn{min-width:140px;padding:10px 14px;border-radius:10px;background:linear-gradient(90deg,#f4f7ff,#e6ecff);text-decoration:none;color:var(--dark);display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(11,37,69,0.06)}

/* POLICIES */
.policy-content{
  background:#fff;
  padding:24px;
  border-radius:12px;
  box-shadow:0 8px 22px rgba(11,37,69,0.06);
  max-width:900px;
  margin:0 auto;
}
.policy-content h3{
  color:var(--blue);
  font-size:18px;
  margin:20px 0 10px;
  padding-top:16px;
  border-top:1px solid rgba(11,37,69,0.1);
}
.policy-content h3:first-child{
  margin-top:0;
  padding-top:0;
  border-top:none;
}
.policy-content p{
  color:var(--muted);
  line-height:1.7;
  margin:0 0 16px;
}

/* FOOTER */
.site-footer{background:linear-gradient(180deg,#f8faff,#eaf1ff);padding:36px 0;border-top:1px solid rgba(11,37,69,0.06)}
.footer-grid{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start}
.footer-col{flex:1;min-width:220px}
.footer-col h3{color:var(--blue);margin-bottom:10px}

/* Quick Links Two Column Layout */
.quick-links-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.quick-links-grid ul{
  list-style:none;
  padding:0;
  margin:0;
}
.quick-links-grid ul li{
  margin-bottom:8px;
}
@media (max-width:768px){
  .quick-links-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
}

/* Combined Office Box - Compact Premium Style */
.footer-col.office-combined{
  background:linear-gradient(135deg,#fff,#e8f2ff,#fff);
  border:2px solid var(--blue);
  border-radius:10px;
  padding:16px;
  box-shadow:0 8px 24px rgba(11,94,215,0.2);
  flex:1;
  min-width:260px;
  position:relative;
  animation:pulse-glow-premium 4s ease-in-out infinite;
  overflow:hidden;
}
.footer-col.office-combined::before{
  content:"";
  position:absolute;
  top:-50%;
  left:-50%;
  width:200%;
  height:200%;
  background:radial-gradient(circle,rgba(11,94,215,0.06) 0%,transparent 70%);
  animation:rotate-gradient 15s linear infinite;
}
@keyframes rotate-gradient{
  0%{transform:rotate(0deg)}
  100%{transform:rotate(360deg)}
}
@keyframes pulse-glow-premium{
  0%,100%{box-shadow:0 8px 24px rgba(11,94,215,0.2),0 0 20px rgba(11,94,215,0.08)}
  50%{box-shadow:0 12px 32px rgba(11,94,215,0.3),0 0 35px rgba(11,94,215,0.15)}
}
.footer-col.office-combined h3{
  font-size:16px;
  font-weight:700;
  color:var(--blue);
  margin:0 0 8px;
  position:relative;
  z-index:1;
}
.footer-col.office-combined>p{
  font-size:14px;
  font-weight:700;
  color:var(--dark);
  margin:0 0 10px;
  position:relative;
  z-index:1;
}
.office-addresses{
  display:flex;
  flex-direction:column;
  gap:8px;
  position:relative;
  z-index:1;
  margin-bottom:10px;
}
.address-item{
  padding:10px;
  background:rgba(255,255,255,0.95);
  border-left:3px solid var(--blue);
  border-radius:6px;
  box-shadow:0 2px 6px rgba(11,94,215,0.08);
}
.address-item h4{
  font-size:13px;
  font-weight:700;
  color:var(--blue);
  margin:0 0 4px;
}
.address-item p{
  font-size:12px;
  color:var(--dark);
  line-height:1.4;
  margin:0;
}
.contact-info{
  position:relative;
  z-index:1;
  padding-top:8px;
  border-top:1px solid rgba(11,94,215,0.2);
}
.contact-info p{
  font-size:13px;
  margin:3px 0;
  font-weight:600;
}
.contact-info a{
  color:var(--blue);
  text-decoration:none;
  transition:all 0.3s;
}
.contact-info a:hover{
  color:#084ac3;
  text-decoration:underline;
}
@media (max-width:768px){
  .footer-col.office-combined{
    min-width:auto;
  }
}

.footer-socials img{width:44px;height:44px;border-radius:6px;filter:grayscale(100%);transition:all .2s}
.footer-socials img:hover{filter:none;transform:scale(1.05)}
.footer-bottom{text-align:center;background:linear-gradient(90deg,var(--blue),#6c9eff);color:#fff;padding:12px;margin-top:20px;border-radius:6px}

/* MODAL */
.modal-back{position:fixed;inset:0;background:rgba(4,8,30,0.55);display:none;align-items:center;justify-content:center;z-index:999}
.modal{background:#fff;padding:18px;border-radius:10px;width:100%;max-width:420px;position:relative}
.modal input,.modal select,.modal textarea{width:100%;padding:10px;margin:8px 0;border-radius:6px;border:1px solid #e6e6e6}
.modal-close{position:absolute;right:8px;top:8px;background:transparent;border:0;font-size:18px;cursor:pointer}
.modal-actions{text-align:right;display:flex;gap:8px;justify-content:flex-end}

/* POLICY MODAL */
.policy-modal{
  max-width:800px;
  max-height:85vh;
  overflow-y:auto;
  padding:24px;
}
.policy-modal h3{
  color:var(--blue);
  font-size:24px;
  margin:0 0 20px;
  border-bottom:2px solid var(--blue);
  padding-bottom:10px;
}
.policy-modal-content{
  line-height:1.7;
  color:var(--dark);
}
.policy-modal-content h4{
  color:var(--blue);
  font-size:16px;
  margin:18px 0 8px;
  font-weight:700;
}
.policy-modal-content p{
  margin:0 0 12px;
  color:var(--muted);
  font-size:14px;
  text-align:justify;
}

/* RESPONSIVE: <= 900px */
@media (max-width:900px){
  .main-nav{position:fixed;inset:72px 0 auto 0;display:none;background:#fff;z-index:999;padding:18px;border-top:1px solid rgba(11,37,69,0.04)}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:12px}
  .hamburger{display:block}
  .brand-text .sub{display:none}
  .hero-inner{flex-direction:column-reverse;align-items:center}
  .hero-aside{order:2;flex:0 0 auto;width:100%;display:flex;justify-content:center;margin-bottom:18px}
  .preview-card{max-width:360px}
  .scroll-track{animation-duration:40s}
  .scroll-track img{height:52px}
  .wl{flex-direction:column;align-items:center}
  .wl-left{width:85%}
  .wl-img{width:100%}
  .services{flex-direction:column}
  .levels{flex-direction:column}
  .footer-grid{flex-direction:column}
  .site-logo{height:44px}
}

/* small phones */
@media (max-width:420px){
  .hero-text h1{font-size:20px}
  .scroll-track img{height:40px}
  .svc{flex-direction:row;gap:8px}
}
@media (max-width: 920px) {
  nav ul {
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 20px 0;               /* 🔹 Adds space above and below items */
    margin-top: 8px;               /* 🔹 Keeps distance from header logo */
  }

  nav a {
    font-size: 16px;
    padding: 8px 0;               /* 🔹 Improves touch spacing */
  }
}

/* 🔄 Preview Image Floating Animation */
.preview-img {
  width: 100%;
  max-width: 360px;
  height: auto;
  border-radius: 12px;
  object-fit: cover;
  margin: 0 auto 10px;
  display: block;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
  animation: floatPreview 4.5s ease-in-out infinite; /* 💫 Floating animation added */
  transition: transform 0.4s ease-in-out;
}

/* 🪄 Hover effect (slight zoom) */
.preview-img:hover {
  transform: scale(1.03);
}

/* ✨ Keyframes for soft float */
@keyframes floatPreview {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px); /* move slightly up */
  }
  100% {
    transform: translateY(0);
  }
}

/* 📱 Mobile responsive adjustments */
@media (max-width: 768px) {
  .preview-img {
    max-width: 280px;
    animation: floatPreview 5s ease-in-out infinite;
  }
}
/* ✅ Hamburger menu functional behavior only */
@media (max-width: 920px) {
  #navMenu {
    display: none;
    flex-direction: column;
    align-items: center;
    background: #fff;
    position: absolute;
    top: 70px;
    left: 0;
    width: 100%;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    z-index: 999;
  }

  #navMenu.active {
    display: flex;
    animation: fadeSlide 0.3s ease;
  }

  @keyframes fadeSlide {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
  }

  .hamburger {
    display: block;
    font-size: 28px;
    cursor: pointer;
    color: var(--dark);
  }

  nav ul {
    flex-direction: column;
    gap: 14px;
    list-style: none;
    padding: 0;
    margin: 0;
  }
}
/* ✅ MOBILE MENU FIXED AND ALIGNED */
@media (max-width: 920px) {
  .hamburger {
    display: block;
    font-size: 26px;
    cursor: pointer;
    color: var(--dark);
    user-select: none;
    position: absolute;
    right: 22px;
    top: 20px;
    z-index: 1001;
  }

  #navMenu {
    display: none;
    position: absolute;
    top: 70px;
    left: 0;
    width: 100%;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    text-align: center;
    z-index: 1000;
  }

  #navMenu.show {
    display: block;
    animation: dropdown 0.3s ease;
  }

  @keyframes dropdown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
  }

  #navMenu ul {
    flex-direction: column;
    list-style: none;
    padding: 10px 0;
    margin: 0;
  }

  #navMenu ul li {
    margin: 10px 0;
  }

  #navMenu ul li a {
    font-size: 16px;
    color: var(--dark);
    text-decoration: none;
  }

  #navMenu ul li a:hover {
    color: var(--blue);
    border-bottom: 2px solid var(--blue);
    transition: 0.3s;
  }

  /* Keep logo centered */
  .logo {
    flex-direction: row;
    align-items: center;
  }

  /* Hide default desktop nav alignment */
  .nav {
    position: relative;
  }
}

/* ✅ Desktop normal view safe */
@media (min-width: 921px) {
  .hamburger {
    display: none;
  }

  #navMenu {
    display: block !important;
    position: static;
    background: transparent;
    box-shadow: none;
  }
}
/* 📱 FIX: Mobile hero alignment (no change for desktop) */
@media (max-width: 768px) {
  .hero {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 20px !important;
    padding: 40px 15px !important;
  }

  .hero-text {
    order: 1 !important;
    width: 100% !important;
  }

  .hero-invite {
    order: 2 !important;
    width: 100% !important;
    margin: 10px auto !important;
    text-align: center !important;
  }

  .hero-img {
    order: 3 !important;
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }

  .hero-img img {
    max-width: 300px !important;
    width: 90% !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block !important;
  }

  /* Smooth image floating animation */
  .hero-img img {
    animation: floatPreview 4s ease-in-out infinite;
  }

  @keyframes floatPreview {
    0% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
    100% { transform: translateY(0); }
  }
}
/* ✅ FINAL FIX for hero section wrapping and alignment (mobile safe) */
@media (max-width: 768px) {

  /* Fix container and hero alignment */
  .hero, .hero.section, .hero-inner {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 18px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }

  /* Text wrapping */
  .hero-text, .hero-text p, .invite-card p {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
    line-height: 1.6 !important;
    margin: 0 auto !important;
  }

  /* Headings */
  .hero-text h1 {
    font-size: 1.4rem !important;
    line-height: 1.3 !important;
    text-align: center !important;
    margin-bottom: 10px !important;
  }

  .invite-card {
    display: block !important;
    width: 100% !important;
    background: linear-gradient(90deg, #ffffff, #f8fbff);
    border-top: 3px solid var(--blue);
    border-radius: 10px;
    margin: 16px auto !important;
    padding: 16px 18px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .invite-card h2 {
    color: #f8810b;
    text-align: center !important;
    font-size: 1.3rem !important;
    font-weight: 700;
    margin-bottom: 8px;
    text-shadow: 0 0 8px rgba(255, 140, 0, 0.6);
  }

  /* Prevent cut or zoom on text */
  body {
    overflow-x: hidden !important;
  }
}
/* ✅ Web/Desktop fix for "Become A Part Of Us" alignment & color */
@media (min-width: 769px) {
  .invite-card {
    display: inline-block;
    background: linear-gradient(90deg, #ffffff, #f8fbff);
    border-left: 4px solid var(--blue);
    border-radius: 12px;
    padding: 20px 24px;
    margin-top: 18px;
    max-width: 90%;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    text-align: center;
  }

  .invite-card h2 {
    font-size: 24px;
    font-weight: 800;
    color: #f8810b; /* 🟠 restored bright orange */
    text-align: center;
    margin-bottom: 10px;
    text-shadow: 0 0 10px rgba(255, 140, 0, 0.8), 0 0 20px rgba(255, 140, 0, 0.6);
    animation: glowText 2s ease-in-out infinite alternate;
  }

  .invite-card p {
    color: var(--muted);
    font-size: 16px;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 800px;
  }

  @keyframes glowText {
    0% {
      text-shadow: 0 0 10px rgba(255, 140, 0, 0.5),
                   0 0 15px rgba(255, 140, 0, 0.4);
    }
    100% {
      text-shadow: 0 0 20px rgba(255, 140, 0, 0.9),
                   0 0 30px rgba(255, 140, 0, 0.7);
    }
  }
}
/* 🌟 White Label Image Animation (FINAL FIX) */
.wl-img {
  width: 100%;
  border-radius: 10px;
  animation: floatWL 5s ease-in-out infinite;
  transition: transform 0.3s ease;
}

/* 🔄 Floating animation (smooth up & down motion) */
@keyframes floatWL {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0px);
  }
}

/* 🖱️ Zoom effect on hover for premium feel */
.wl-img:hover {
  transform: scale(1.04);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.15);
}
/* ✅ Responsive Fix: White Label Section - Perfect Mobile & Web Alignment */
@media (max-width: 768px) {
  .wl {
    flex-direction: column !important;
    text-align: center !important;
    padding: 20px !important;
    gap: 20px !important;
    background: linear-gradient(180deg, #ffffff, #f6f9ff) !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  }

  .wl-left, .wl-right {
    width: 100% !important;
    max-width: 100% !important;
  }

  .wl-img {
    width: 100% !important;
    max-width: 340px !important;
    height: auto !important;
    margin: 0 auto 10px !important;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  }

  .wl-right h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--blue);
    margin-bottom: 10px;
  }

  .wl-right p, 
  .wl-right ul {
    text-align: center !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    margin: 0 auto 14px !important;
    padding: 0 12px;
  }

  .wl-right ul li {
    margin-bottom: 6px !important;
    list-style: none !important;
  }

  .btn-demo {
    display: inline-block !important;
    background: var(--blue);
    color: #fff !important;
    padding: 12px 22px !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 10px rgba(11,94,215,0.2);
  }

  .btn-demo:hover {
    background: #094ac3 !important;
    transform: translateY(-2px);
  }
}
/* ✅ Smooth Fade-In + Upward Float Animation for White Label Section */
@keyframes fadeUpWL {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Apply animation to White Label section */
.wl {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* When visible */
.wl.visible {
  opacity: 1;
  transform: translateY(0);
  animation: fadeUpWL 1.2s ease forwards;
}
/* ✅ Clean bullet list spacing inside White Label section */
.wl-right ul {
  list-style-type: disc;
  margin: 12px auto;
  padding-left: 22px; /* Proper left space for bullets */
  text-align: left; 
  max-width: 420px; /* keeps text neat */
}

.wl-right ul li {
  margin-bottom: 8px; /* proper gap between points */
  line-height: 1.6;
  color: var(--muted);
  font-size: 15px;
}
/* 🌈 Premium Animated "Request White-Label Demo" Button */
.btn-demo {
  background: linear-gradient(270deg, #0b5ed7, #6c9eff, #0b5ed7);
  background-size: 400% 400%;
  color: #fff;
  padding: 12px 28px;
  border: none;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  margin-top: 14px;
  box-shadow: 0 4px 12px rgba(11, 94, 215, 0.35);
  transition: all 0.4s ease;
  position: relative;
  overflow: hidden;
  animation: gradientFlow 4s ease infinite, softPulse 3s ease-in-out infinite;
  text-shadow: 0 0 6px rgba(255,255,255,0.6);
}

/* ✨ Gradient Animation Movement */
@keyframes gradientFlow {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

/* 💫 Soft Glow Pulse */
@keyframes softPulse {
  0% {
    box-shadow: 0 0 10px rgba(11, 94, 215, 0.3);
  }
  50% {
    box-shadow: 0 0 25px rgba(11, 94, 215, 0.6);
  }
  100% {
    box-shadow: 0 0 10px rgba(11, 94, 215, 0.3);
  }
}

/* 🖱️ Hover Interaction */
.btn-demo:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 8px 20px rgba(11, 94, 215, 0.5);
  background-size: 200% 200%;
}
.btn-demo::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75px;
  width: 50px;
  height: 100%;
  background: rgba(255, 255, 255, 0.4);
  transform: skewX(-20deg);
  animation: shineMove 4s infinite;
}

@keyframes shineMove {
  0% { left: -75px; opacity: 0; }
  50% { left: 120%; opacity: 1; }
  100% { left: 120%; opacity: 0; }
}
/* 🌐 Service Portals Grid Layout */
.service-portals {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  justify-items: center;
  margin-top: 25px;
}

/* ✨ Animated Portal Buttons */
.portal-btn {
  position: relative;
  padding: 14px 28px;
  border-radius: 12px;
  background: linear-gradient(90deg, #f4f7ff, #e6ecff);
  color: var(--dark);
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(11, 37, 69, 0.08);
  box-shadow: 0 4px 10px rgba(11, 37, 69, 0.08);
  transition: all 0.3s ease;
  text-align: center;
  font-size: 15px;
  min-width: 210px;
}

/* 🖱️ Hover (color glow) */
.portal-btn:hover {
  background: linear-gradient(90deg, #0b5ed7, #6c9eff);
  color: #fff;
  transform: translateY(-4px) scale(1.03);
  box-shadow: 0 8px 18px rgba(11, 94, 215, 0.3);
}

/* 🖱️ Click animation effect */
.portal-btn:active {
  transform: scale(0.97);
  box-shadow: 0 0 0 rgba(11, 94, 215, 0.4);
  background: linear-gradient(90deg, #084ac3, #569aff);
}

/* 🌈 Small shimmer effect */
.portal-btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -80px;
  width: 60px;
  height: 100%;
  background: rgba(255, 255, 255, 0.4);
  transform: skewX(-20deg);
  transition: 0.5s;
}

.portal-btn:hover::after {
  left: 110%;
}
/* 🌍 Footer Section (Upgraded) */
.footer {
  background: linear-gradient(180deg, #f8faff, #eaf1ff);
  padding: 50px 0 0;
  color: var(--dark);
  border-top: 1px solid rgba(11, 37, 69, 0.08);
  font-size: 15px;
}

.footer-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 40px;
  gap: 40px;
}

.footer-col {
  flex: 1;
  min-width: 250px;
}

/* 💬 Headings */
.footer-col h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--blue);
  margin-bottom: 14px;
  position: relative;
}

.footer-col h3::after {
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  background: var(--blue);
  border-radius: 4px;
  margin-top: 6px;
}

/* 📞 Contact Details */
.footer-col p, .footer-col a {
  color: var(--dark);
  text-decoration: none;
  line-height: 1.6;
  transition: 0.3s;
}

.footer-col a:hover {
  color: var(--blue);
  text-decoration: underline;
}

/* 📎 Quick Links */
.footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-col ul li {
  margin-bottom: 10px;
}

/* 🌐 Social Icons */
.footer-socials {
  display: flex;
  gap: 12px;
  margin-top: 10px;
}

.footer-socials img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  transition: 0.3s;
  filter: grayscale(100%);
}

.footer-socials img:hover {
  filter: grayscale(0%);
  transform: scale(1.1);
}

/* 🦶 Footer Bottom Bar */
.footer-bottom {
  background: linear-gradient(90deg, #0b5ed7, #6c9eff);
  text-align: center;
  padding: 14px 0;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.3px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}

/* 📱 Responsive Footer */
@media (max-width: 768px) {
  .footer-container {
    flex-direction: column;
    text-align: center;
  }

  .footer-socials {
    justify-content: center;
  }
}
