:root {
      --primary: #00587c;
      --secondary: #1c8bcb;
      --dark-text: #002f43;
      --accent: #ffffff;
      --black: #000000;
      --lime: #9fb815;
      --gold: #e7a305;
      --purple: #a32990;
      --light-bg: #f1f6d7;
      --cream: #fef0d0;
      --lime-green: #bad036;
      --pale-blue: #e9f4fa;
      --bg-off-white: #f5f5f5;
    }

    html {
      scroll-behavior: smooth;
      scroll-padding-top: 100px;
    }

    body {
      font-family: "Inter", sans-serif;
      color: var(--dark-text);
      background-color: var(--accent);
      overflow-x: hidden;
      margin: 0;
      padding: 0;
    }

    ::-webkit-scrollbar {
      width: 8px;
    }

    ::-webkit-scrollbar-track {
      background: #f1f1f1;
    }

    ::-webkit-scrollbar-thumb {
      background: var(--primary);
      border-radius: 4px;
    }

    ::-webkit-scrollbar-thumb:hover {
      background: var(--dark-text);
    }

    #scrollTopBtn {
      position: fixed;
      bottom: 125px;
      right: 30px;
      z-index: 999;
      background-color: var(--primary);
      color: white;
      width: 60px;
      height: 60px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
      cursor: pointer;
      border: none;
      opacity: 0;
      visibility: hidden;
      transform: translateY(40px);
    }

    #scrollTopBtn.show {
      opacity: 1;
      visibility: visible;
    }

    #scrollTopBtn:hover {
      background-color: var(--dark-text);
      box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
    }

    /* Fix for Tablet & Laptop Spacing */
    @media (min-width: 768px) and (max-width: 1280px) {
      h1 {
        font-size: 4rem !important;
        line-height: 1.1 !important;
      }

      #main-header nav {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
      }

      .header-nav-link {
        font-size: 0.7rem !important;
      }

      .lg\:flex.flex-1.justify-center.space-x-6 {
        gap: 1rem !important;
      }
    }

    /* Custom Navigation Arrow Styles */
    .custom-nav-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 48px;
      height: 48px;
      border: 1px solid rgba(0, 0, 0, 0.1);
      border-radius: 50%;
      cursor: pointer;
      transition: all 0.3s ease;
      background: white;
    }

    .custom-nav-btn:hover {
      background: var(--primary);
      color: white !important;
    }

    /* Tablet and Mobile adjustments */
    @media screen and (max-width: 768px) {
      #scrollTopBtn {
        right: 30px;
        bottom: 70px;
        width: 50px;
        height: 50px;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
      }
    }

    /* Small mobile devices */
    @media screen and (max-width: 480px) {
      #scrollTopBtn {
        right: 30px;
        bottom: 80px;
        transform: translateY(20px);
      }

      #scrollTopBtn.show {
        transform: translateY(0);
      }
    }

    header {
      top: 0;
      left: 0;
      transition:
        transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),
        background 0.3s ease,
        color 0.3s ease;
    }

    header.hide {
      transform: translateY(-100%);
    }

    header.scrolled {
      background: rgba(255, 255, 255, 0.95);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid rgba(0, 0, 0, 0.05);
      /* Ensure it stays fixed while scrolled */
      position: fixed;
    }

    .header-nav-link {
      font-size: 0.75rem;
      text-transform: capitalize;
      letter-spacing: 0.02em;
      color: inherit;
      font-weight: 500;
      transition: opacity 0.3s ease;
      white-space: nowrap !important;
    }

    .header-nav-link:hover {
      opacity: 0.7;
      color: var(--secondary);
    }

    #whatsapp-btn {
      position: fixed;
      bottom: 20px;
      right: 30px;
    }

    @media (max-width: 480px) {
      #main-header {
        height: 70px !important;
      }

      .px-10 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
      }

      h1 {
        font-size: 1.8rem !important;
        line-height: 1.1 !important;
        letter-spacing: -0.02em !important;
        margin-bottom: 1.5rem !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
      }

      h1 br {
        display: none !important;
      }

      .hero-container {
        display: flex !important;
        flex-direction: column !important;
        gap: 2rem !important;
      }

      .relative.h-screen {
        height: auto !important;
        min-height: 70vh;
        padding-top: 90px;
        padding-bottom: 30px;
      }

      .module-card {
        width: 100% !important;
        height: 200px !important;
      }

      .module-slider-container {
        padding-top: 50px;
      }

      .active-module-pill {
        width: 240px !important;
        padding: 8px 16px !important;
        font-size: 0.6rem !important;
      }

      .module-detail-card {
        padding: 1.5rem !important;
        margin-top: 15px !important;
        max-width: 100% !important;
      }

      .module-name-below {
        font-size: 0.9rem !important;
        margin-top: 1rem !important;
      }

      .stat-number {
        font-size: 2.6rem !important;
      }

      .stat-line {
        padding-bottom: 1rem !important;
        margin-bottom: 0 !important;
      }
    }

    @media (max-width: 768px) {
      .empathy-scroll-container {
        height: 300vh !important;
      }

      .empathy-slide {
        min-width: 85vw !important;
        margin-right: 5vw !important;
      }

      .empathy-slide h2 {
        font-size: 1.75rem !important;
        padding: 0 20px;
      }
    }

    @media (max-width: 768px) {
      #different {
        padding-top: 4rem;
        padding-bottom: 4rem;
      }

      #different h2 {
        font-size: 2.25rem !important;
        margin-bottom: 3rem !important;
        line-height: 1.2;
      }

      #different .grid-cols-12 {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.5rem !important;
        width: 100% !important;
      }

      .col-span-12.md\:col-span-6 {
        padding-top: 0 !important;
        text-align: center;
        width: 100% !important;
        max-width: 100% !important;
      }

      #different .black-action-btn {
        width: 100% !important;
        max-width: 280px;
        margin: 0 auto;
      }

      .collage-container {
        display: flex !important;
        flex-direction: column-reverse !important;
        align-items: center;
        gap: 15px;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden;
      }

      .collage-main {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 4/3 !important;
        position: relative;
        overflow: hidden;
        border-radius: 8px;
        background: #eee;
      }

      .collage-main img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
      }

      .collage-side {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        gap: 8px;
        padding: 4px 0;
        justify-content: center;
      }

      .collage-side::-webkit-scrollbar {
        display: none;
      }

      .collage-side img {
        width: 70px !important;
        height: 70px !important;
        aspect-ratio: 1/1;
        flex-shrink: 0;
        object-fit: cover;
      }

      /* Extra small devices fix */
      @media (max-width: 380px) {
        #different {
          overflow-x: hidden;
          padding-left: 0 !important;
          padding-right: 0 !important;
        }

        #different .max-w-\[1600px\] {
          padding-left: 15px !important;
          padding-right: 15px !important;
        }

        #different h2 {
          font-size: 1.4rem !important;
          padding: 0;
          line-height: 1.2;
        }

        #different h2 br,
        #different h3 br {
          display: none !important;
        }

        #different .bg-gray-100.p-3.px-6 {
          padding: 10px 15px !important;
          gap: 10px !important;
          width: auto !important;
          max-width: 100% !important;
          margin: 0 auto;
          display: inline-flex !important;
          align-items: center;
          justify-content: center;
          border-radius: 50px;
        }

        #different .bg-gray-100.p-3.px-6>* {
          margin: 0 !important;
        }

        #diff-label {
          font-size: 0.8rem !important;
          white-space: nowrap;
        }

        #diff-title {
          font-size: 1.4rem !important;
          line-height: 1.2;
        }

        #diff-desc {
          font-size: 0.8rem !important;
          line-height: 1.5;
        }

        .collage-side img {
          width: 50px !important;
          height: 50px !important;
        }

        #different .black-action-btn {
          padding: 14px 20px !important;
          font-size: 0.75rem !important;
        }

        h1 {
          font-size: 1.5rem !important;
        }

        .hero-container {
          padding-left: 15px !important;
          padding-right: 15px !important;
        }
      }


      .px-10 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
      }
    }

    .login-btn {
      border: 1px solid rgba(0, 0, 0, 0.1);
      background: rgba(0, 0, 0, 0.05);
      padding: 10px 20px;
      font-size: 0.7rem;
      color: inherit;
      display: flex;
      align-items: center;
      border-radius: 6px;
      font-weight: 600;
      transition: all 0.3s ease;
    }

    .login-btn:hover {
      background: var(--primary);
      color: white;
      border-color: var(--primary);
    }

    .hero-bg-overlay {
      background: linear-gradient(to bottom,
          rgba(0, 88, 124, 0.4),
          rgba(0, 47, 67, 0.8));
    }

    .stat-line {
      border-top: 1px solid rgba(255, 255, 255, 0.4);
      padding-top: 1rem;
      padding-bottom: 2rem;
      width: 100%;
    }

    .stat-number {
      font-size: 3.5rem;
      font-weight: 300;
      line-height: 1;
      color: white;
      font-variant-numeric: tabular-nums;
    }

    .stat-label {
      font-size: 0.65rem;
      text-transform: capitalize;
      color: rgba(255, 255, 255, 0.7);
      display: block;
    }

    .module-slider-container {
      position: relative;
      padding: 60px 0 20px 0;
    }

    .active-module-pill {
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      background: white;
      padding: 10px 24px;
      border-radius: 6px;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
      z-index: 20;
      display: flex;
      justify-content: space-between;
      width: 280px;
      font-size: 0.7rem;
      font-weight: 700;
      color: var(--dark-text);
      border: 1px solid #eaeaea;
    }

    .module-card {
      width: 450px;
      height: 320px;
      border-radius: 8px;
      overflow: hidden;
      transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
      filter: grayscale(1) opacity(0.5);
      transform: scale(0.9);
      cursor: pointer;
    }

    .swiper-slide-active .module-card {
      filter: grayscale(0) opacity(1);
      transform: scale(1);
      box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
    }

    .module-card img {
      width: 100%;
      height: 100%;
      object-fit: fill;
    }

    .module-name-below {
      margin-top: 1.5rem;
      font-size: 1rem;
      font-weight: 500;
      color: var(--primary);
      transition: color 0.3s ease;
      text-align: left;
    }

    .swiper-slide-active .module-name-below {
      color: var(--dark-text);
      font-weight: 700;
    }

    .module-detail-card {
      background: white;
      padding: 2.5rem;
      border-radius: 12px;
      max-width: 450px;
      margin: 20px auto 0;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
      border: 1px solid #f0f0f0;
      transition:
        opacity 0.4s ease,
        transform 0.4s ease;
    }

    #particle-canvas {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 0;
      background: radial-gradient(circle at center, #00587c 0%, #002f43 100%);
    }

    .video-demo-section {
      position: relative;
      height: 70vh;
      background: #000;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .video-frame-container {
      width: 100%;
      height: 100%;
    }

    .empathy-scroll-container {
      position: relative;
      height: 400vh;
    }

    .empathy-sticky-wrapper {
      position: sticky;
      top: 0;
      height: 100vh;
      width: 100%;
      display: flex;
      align-items: center;
      overflow: hidden;
      background: black;
    }

    .empathy-horizontal-content {
      display: flex;
      align-items: center;
      padding-left: 50vw;
      white-space: nowrap;
      will-change: transform;
      height: 100%;
    }

    .empathy-slide {
      min-width: 60vw;
      margin-right: 15vw;
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      transition:
        filter 0.1s linear,
        opacity 0.1s linear;
      opacity: 0.2;
      filter: none !important;
      /* Force remove any blur */
      transition: opacity 0.2s ease;
    }

    .collage-container {
      display: flex;
      gap: 12px;
    }

    .collage-side {
      display: flex;
      flex-direction: column;
      gap: 12px;
      width: 120px;
      height: auto;
    }

    .collage-side img {
      width: 100%;
      height: 100%;
      object-fit: fill;
      border-radius: 4px;
      border: 2px solid transparent;
    }

    .collage-main {
      width: 600px;
      height: 400px;
    }

    .collage-main img {
      width: 100%;
      height: 100%;
      object-fit: fill;
      border-radius: 4px;
    }

    .specialist-card {
      transition: all 0.5s ease;
      height: 500px;
      width: 100%;
    }

    .specialist-card:hover {
      transform: translateY(-5px);
    }

    .specialist-card:hover .spec-img {
      filter: grayscale(0%);
      transform: scale(1.05);
    }

    .spec-img {
      transition: all 0.5s ease;
      filter: grayscale(100%);
    }

    .spec-overlay {
      background: linear-gradient(to top, rgba(0, 47, 67, 0.9), transparent);
    }

    .blog-card {
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      height: 100%;
      display: flex;
      flex-direction: column;
    }

    .blog-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    }

    .blog-card:hover .blog-arrow {
      transform: translateX(5px);
      color: var(--secondary);
    }

    .blog-img-container {
      overflow: hidden;
    }

    .blog-card:hover .blog-img {
      transform: scale(1.1);
    }

    .block-image img {
      width: 100%;
      height: 100%;
      object-fit: fill;
      object-position: top;
      transition: transform 1s ease;
    }

    .blog-img {
      transition: transform 0.6s ease;
    }

    .reveal-on-scroll {
      opacity: 0;
      transform: translateY(30px);
      transition: all 0.8s ease-out;
    }

    .reveal-on-scroll.visible {
      opacity: 1;
      transform: translateY(0);
    }

    .swiper-button-next-c,
    .swiper-button-prev-c {
      transition: all 0.3s;
    }

    .swiper-button-next-c:hover,
    .swiper-button-prev-c:hover {
      background-color: var(--primary);
      border-color: var(--primary);
      color: white;
    }

    .mobile-drawer {
      background-color: #002f43;
      color: white;
      visibility: hidden;
      pointer-events: none;
    }

    .drawer-link {
      font-size: 2rem;
      font-weight: 600;
      line-height: 1.2;
      transition: color 0.3s;
    }

    .drawer-link:hover {
      color: var(--secondary);
    }

    .drawer-login-box {
      background-color: white;
      color: var(--dark-text);
      padding: 20px;
      border-radius: 4px;
      font-weight: 600;
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: auto;
    }

    /* Dropdown Styles for Homepage */
    .nav-dropdown {
      position: relative;
    }

    .nav-dropdown-menu {
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%) translateY(10px);
      background: white;
      border-radius: 12px;
      padding: 8px 0;
      min-width: 240px;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12);
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease;
      border: 1px solid rgba(0, 0, 0, 0.05);
      z-index: 200;
    }

    .nav-dropdown:hover .nav-dropdown-menu {
      opacity: 1;
      visibility: visible;
      transform: translateX(-50%) translateY(0);
    }

    .nav-dropdown-menu a {
      display: block;
      padding: 10px 20px;
      font-size: 0.8rem;
      color: var(--dark-text);
      text-decoration: none;
      transition: all 0.2s;
      font-weight: 500;
      text-align: left;
    }

    .nav-dropdown-menu a:hover {
      background: var(--pale-blue);
      color: var(--primary);
      padding-left: 24px;
    }

    /* Mobile Drawer Dropdown Styles */
    .drawer-dropdown {
      margin-bottom: 8px;
    }

    .drawer-dropdown-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 16px 0;
      cursor: pointer;
      border-bottom: 1px solid rgba(255, 255, 255, 0.05);
      transition: all 0.3s ease;
    }

    .drawer-dropdown-header span {
      font-size: 0.75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      color: var(--secondary);
    }

    .drawer-dropdown-header svg {
      color: rgba(255, 255, 255, 0.4);
      transition: transform 0.3s ease;
    }

    .drawer-dropdown.active .drawer-dropdown-header svg {
      transform: rotate(180deg);
      color: white;
    }

    .drawer-dropdown-content {
      max-height: 0;
      overflow: hidden;
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      padding-left: 16px;
    }

    .drawer-dropdown.active .drawer-dropdown-content {
      max-height: 1000px;
      padding-top: 8px;
      padding-bottom: 16px;
    }

    .drawer-sub-link {
      font-size: 1rem;
      font-weight: 500;
      color: rgba(255, 255, 255, 0.7);
      text-decoration: none;
      display: block;
      padding: 10px 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.05);
      transition: all 0.3s ease;
    }

    .drawer-sub-link:hover {
      color: white;
      padding-left: 10px;
    }

    .drawer-sub-link:last-child {
      border-bottom: none;
    }

    /* ===== TESTIMONIAL READ MORE SYSTEM ===== */
    .testimonial-text-wrapper {
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
      height: 5.5rem; /* Exactly 3 lines of text-lg (18px) leading-relaxed (1.625) */
      transition: height 0.3s ease;
    }

    .testimonial-text-wrapper.expanded {
      display: block;
      height: auto;
      overflow: visible;
    }

    /* ===== BLOG CARD UNIFORM HEIGHT SYSTEM ===== */
    .blog-card-title {
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      height: 4rem; /* Exactly 2 lines of text-2xl */
      margin-bottom: 1rem;
    }

    .blog-card-desc {
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      height: 2.85rem; /* Exactly 2 lines of text-sm leading-relaxed */
      margin-bottom: 1.5rem;
    }