    .glow-border {
        border: 1px solid rgba(255, 255, 255, 0.2);
        box-shadow: 0 0 25px rgba(255, 255, 255, 0.15);
    }

    /* Slow Spin for gradient circles */
    .animate-spin-slow {
        animation: spin 12s linear infinite;
    }

    @keyframes spin {
        from {
            transform: rotate(0deg);
        }

        to {
            transform: rotate(360deg);
        }
    }

    /* Reduce video brightness */
.video-dimmed {
    filter: brightness(0.70) contrast(1.1);
}

/* Premium gradient overlay blend */
.mix-blend-overlay {
    mix-blend-mode: overlay;
}

.glow-text {
  font-family: 'Urbanist', sans-serif;
  font-weight: 800; /* bold for visibility */
  font-size: 1.875rem; /* Tailwind text-3xl */
  color: #1e40af; /* Stronger blue base color */
}
  
@keyframes pulseGlow {
  0% {
    text-shadow: 
      0 0 2px #60a5fa, 
      0 0 5px #3b82f6, 
      0 0 10px #2563eb, 
      0 0 15px #3b82f6;
  }
  50% {
    text-shadow: 
      0 0 4px #60a5fa, 
      0 0 10px #3b82f6, 
      0 0 20px #2563eb, 
      0 0 25px #3b82f6;
  }
  100% {
    text-shadow: 
      0 0 2px #60a5fa, 
      0 0 5px #3b82f6, 
      0 0 10px #2563eb, 
      0 0 15px #3b82f6;
  }
}

@keyframes pulse-soft { 
  0%,100%{opacity:0.7;} 
  50%{opacity:1;} 
}
.animate-pulse {
  animation: pulse-soft 4s ease-in-out infinite;
}

@keyframes spin-slow {
  from {transform: rotate(0deg);}
  to {transform: rotate(360deg);}
}
.animate-spin-slow {
  animation: spin-slow 20s linear infinite;
}

.input-field {
  width: 100%;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid #cbd5e1;
  background: #f8fafc;
  font-size: 15px;
  outline: none;
  transition: 0.25s;
}
.input-field:focus {
  border-color: #3b82f6;
  background: white;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}


/* RESPONSIVE */

/* ---------------- GLOBAL FIXES ---------------- */

/* prevent content hiding behind fixed header */
body {
    padding-top: 70px;
}

@media (max-width: 768px) {
    body {
        padding-top: 70px;
    }
}

/* Disable text selection shimmer on backgrounds */
img, video {
    max-width: 100%;
    height: auto;
    object-fit: cover;
}

/* spacing improvement for all sections */
section {
    scroll-margin-top: 90px;
}


/* ---------------- HEADER + LOGO ---------------- */

.logo-wrapper {
    position: relative; /* override absolute on mobile */
    left: 0 !important;
}

.logo-wrapper img {
    height: 80px;
    width: auto;
}

/* text fix */
.logo-wrapper span {
    font-size: 20px;
    position: relative;
    top: 4px;
    left: 4px;
    white-space: nowrap;
}

/* Tablet */
@media (max-width:1024px) {
    .logo-wrapper img { height: 70px; }
    .logo-wrapper span { font-size: 18px; top: 3px; left: 2px; }
}


/* ---------------- HERO SECTION ---------------- */

.video-dimmed {
    filter: brightness(0.88);
}

/* Make heading scale neatly */
h1, h2 {
    line-height: 1.2;
    word-break: break-word;
}

/* Mobile font adjustment */
@media (max-width:768px) {
    h1, h2 {
        font-size: clamp(1.9rem, 6vw, 2.8rem);
    }
    section.relative {
        min-height: 60vh;
    }
}


/* ---------------- GRID STACKING FIXES ---------------- */

/* 2 columns → 1 column mobile */
@media (max-width:768px) {
    .grid, .md\:grid-cols-2, .lg\:grid-cols-2 {
        grid-template-columns: 1fr !important;
        gap: 2rem;
    }
}

/* 3 or 4 column → 2 columns on medium */
@media (max-width:1024px) {
    .md\:grid-cols-3 { grid-template-columns: repeat(2,1fr)!important; }
    .md\:grid-cols-4 { grid-template-columns: repeat(2,1fr)!important; }
}

/* Small phones → single column */
@media (max-width:480px) {
    .swiper-slide { padding: 0 !important; }
}


/* ---------------- SWIPER FIXES ---------------- */

.swiper {
    overflow: hidden;
}

.swiper-button-next,
.swiper-button-prev {
    color: #1e3a8a !important;
    width: 34px !important;
    height: 34px !important;
}

@media(max-width:768px) {
    .swiper-button-next,
    .swiper-button-prev {
        display: none;
    }
}


/* ---------------- CTA & FORM FIXES ---------------- */

input, select, textarea {
    width: 100%;
    font-size: 15px;
}

button {
    cursor: pointer;
    white-space: nowrap;
}

@media(max-width:768px) {
    .grid.cols-2 {
        grid-template-columns: 1fr !important;
    }
}



/* ---------------- FOOTER RESPONSIVE ---------------- */

footer .flex {
    flex-direction: column;
    text-align: center;
    gap: 1rem;
}

@media(min-width:768px) {
    footer .flex {
        flex-direction: row;
        text-align: left;
    }
}

header > div {
    align-items: center !important;
}
.logo-wrapper img {
    height: 55px;  /* desktop */
}
@media (max-width: 768px) {
    .logo-wrapper img {
        height: 40px; /* mobile */
    }
}


/* Default: hide navigation menu on mobile */
@media (max-width: 768px) {
    #mainNav {
        display: none;
        position: absolute;
        top: 100%;           /* show just below header */
        left: 0;
        width: 100%;
        flex-direction: column;
        gap: 14px;
        background: rgba(255, 255, 255, 0.95);
        padding: 12px 0;
        border-bottom: 1px solid #ddd;
        z-index: 999;
        text-align: center;
    }

    #mainNav a {
        width: 100%;
        padding: 10px 0;
        display: block;
    }
}
