      .rotating-bg-div {
            position: relative;
            margin-top: -150px;
            width: 100%;
            height: 500px;                /* fixed height – you can adjust */
            border-radius: 40px;
            border-top-left-radius: 0px;
            border-top-right-radius: 0px;
            overflow: hidden;
            box-shadow: 0 20px 20px -10px rgba(0,0,0,0.6);
            border: 1px solid rgba(255,215,140,0.25);
            /* background-color: #1a2535;     fallback */
        }

        /* three background layers with crossfade + zoom */
        .rotating-bg-div .bg-layer {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            opacity: 0;
            transform: scale(1);
            animation: rotateZoom 24s infinite cubic-bezier(0.45, 0.05, 0.2, 0.99);
            will-change: transform, opacity;
        }

        .bg-layer:nth-child(1) {
          background-image: url("../img/team/DSC_6202.jpg");
        }
        .bg-layer:nth-child(2) {
           
            background-image: url("../img/team/classroom.png");
            animation-delay: 10s;
        }
        .bg-layer:nth-child(3) {
            
            background-image: url("../img/team/burner.jpeg");
            animation-delay: 18s;
        }

        /* keyframes: crossfade + slow zoom */
        @keyframes rotateZoom {
            0% { opacity: 0; transform: scale(1); }
            4% { opacity: 1; transform: scale(1); }
            28% { opacity: 1; transform: scale(1.15); }
            45% { opacity: 0.9; transform: scale(1.2); }
            55% { opacity: 0; transform: scale(1.25); }
            100% { opacity: 0; transform: scale(1); }
        }

        /* subtle dark overlay (optional – helps text pop) */
        .overlay-tint {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.25);
            z-index: 2;
            pointer-events: none;  
        }

        /* ---------- BLUR BACKGROUND TEXT (centered) ---------- */
        .blur-text-box {
            position: relative;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            z-index: 20;
            max-width: 700px;
            width: 90%;
            padding: 2.5rem 3rem;
            text-align: center;
            color: white;
            background: rgba(10, 20, 30, 0.3);        /* semi-transparent base */
            backdrop-filter: blur(12px) saturate(180%);
            -webkit-backdrop-filter: blur(12px) saturate(180%);
            border-radius: 70px 70px 70px 20px;       /* organic shape */
            border: 1px solid rgba(255, 220, 140, 0.5);
            box-shadow: 0 25px 40px -10px black;
            animation: softGlow 5s infinite alternate;
        }

        @keyframes softGlow {
            0% { box-shadow: 0 25px 40px -10px black; }
            100% { box-shadow: 0 25px 60px -5px #ffb86b80; }
        }

        .blur-text-box h1 {
            font-size: 4.5rem;
            font-weight: 800;
            margin-bottom: 0.5rem;
            text-shadow: 0 4px 15px black;
            letter-spacing: 2px;
            background: linear-gradient(145deg, #ffffff, #ffeedd);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
        }

        .blur-text-box p {
            font-size: 1.5rem;
            font-weight: 300;
            margin-bottom: 2rem;
            text-shadow: 0 2px 8px black;
            color: #f0f0f0;
        }

        .blur-text-box .highlight {
            background: rgba(255, 180, 80, 0.3);
            padding: 0.2rem 0.8rem;
            border-radius: 50px;
            display: inline-block;
            backdrop-filter: blur(4px);
            font-size: 1.2rem;
            border: 1px solid #ffb86b;
        }

        /* responsiveness */
        @media (max-width: 768px) {
            .rotating-bg-div {
                height: 500px;
            }
            .blur-text-box {
                padding: 1.8rem 1.5rem;
                margin-top: 4rem;
            }
            .blur-text-box h1 {
                font-size: 3rem;
            }
            .blur-text-box p {
                font-size: 1.3rem;
            }
            .cta-wrapper {
                flex-direction: column;
                text-align: center;
            }
            
            .cta-content h2 {
                font-size: 1.5rem;
            }
        }

        /* small demo badge (optional) */
        .image-tag {
            position: absolute;
            bottom: 20px;
            right: 20px;
            background: rgba(0,0,0,0.4);
            backdrop-filter: blur(5px);
            color: #ddd;
            padding: 6px 18px;
            border-radius: 60px;
            font-size: 0.9rem;
            z-index: 30;
            border: 1px solid #ffb86b;
            letter-spacing: 0.5px;
        }
        .image-tag span {
            color: #ffbc6e;
            font-weight: 600;
        }

        /* About */
    .agsa-meet-section {
      /* background-color: #f8fafc; */
      padding: 2rem 0;
      overflow-x: hidden; 
      margin: 4rem 0 4rem;
    }

    .custom-container {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 1.5rem;
    }

    .agsa-meet-section h2 {
      font-size: 2.4rem;
      font-weight: 800;
      color: #1f2937;
      letter-spacing: -0.02em;
      border-left: 5px solid #D8C32F;
      padding-left: 1rem;
    }

    .agsa-meet-section p {
      color: #2d3a4f;
      font-size: 1.3rem;
      line-height: 1.6;
      margin-bottom: 1.2rem;
    }

    .read-more-btn {
      display: inline-block;
      padding: 6px 18px;
      background-color: #D8C32F;
      color: white;
      text-decoration: none;
      border-radius: 40px;
      transition: background-color 0.3s, transform 0.2s;
      font-weight: 500;
      font-size: 0.9rem;
      margin-top: 0.5rem;
      border: none;
    }

    .read-more-btn:hover {
      background-color: #b8a525;
      color: white;
      transform: translateY(-2px);
    }

    .featured-circle {
      width: 260px;
      height: 260px;
      border-radius: 50%;
      background: white;
      box-shadow: 0 20px 35px -12px rgba(0, 0, 0, 0.15);
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      margin: 0 auto;
      border: 2px solid #D8C32F;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .featured-circle:hover {
      transform: scale(1.02);
      box-shadow: 0 25px 40px -12px rgba(50, 147, 69, 0.25);
      border-color: #b8a525;
    }

    .featured-text {
      font-size: 1.5rem;
      font-weight: 600;
      color: #1f2937;
      margin: 0;
      line-height: 1.3;
    }

    .featured-number {
      font-size: 4rem;
      font-weight: 800;
      color: #329345;
      display: block;
      line-height: 1;
      margin-bottom: 0.25rem;
    }

    .slide-from-left {
      opacity: 0;
      transform: translateX(-60px);
      transition: opacity 0.7s cubic-bezier(0.2, 0.9, 0.4, 1.1), transform 0.7s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    }

    .slide-from-right {
      opacity: 0;
      transform: translateX(60px);
      transition: opacity 0.7s cubic-bezier(0.2, 0.9, 0.4, 1.1), transform 0.7s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    }

    .slide-from-left.visible,
    .slide-from-right.visible {
      opacity: 1;
      transform: translateX(0);
    }

    /* responsive adjustments */
    @media (max-width: 992px) {
      .agsa-meet-section h2 {
        font-size: 2rem;
      }
      .featured-circle {
        width: 220px;
        height: 220px;
        margin-top: 2rem;
        margin-bottom: 1rem;
      }
      .featured-number {
        font-size: 3rem;
      }
      .featured-text {
        font-size: 1.3rem;
      }
      .custom-container {
        padding: 0 1rem;
      }
    }

    @media (max-width: 768px) {
      .agsa-meet-section {
        padding: 3rem 0;
      }
      .slide-from-left,
      .slide-from-right {
        transform: translateX(0); 
      }
      .slide-from-left {
        transform: translateX(-20px);
      }
      .slide-from-right {
        transform: translateX(20px);
      }
      .featured-circle {
        width: 200px;
        height: 200px;
      }
      .featured-number {
        font-size: 2.6rem;
      }
    }

    @media (max-width: 576px) {
      .agsa-meet-section h2 {
        font-size: 1.8rem;
        padding-left: 0.8rem;
      }
      .read-more-btn {
        padding: 5px 16px;
        font-size: 0.85rem;
      }
      .featured-circle {
        width: 180px;
        height: 180px;
      }
      .featured-number {
        font-size: 2.3rem;
      }
      .featured-text {
        font-size: 1.1rem;
      }
    }

    /* additional subtle spacing */
    .col-lg-6, .col-lg-4 {
      transition: all 0.2s;
    }

        .service-item {
                background-color: #fff;
                border-radius: 12px;
                padding: 30px 20px;
                text-align: center;
                transition: transform 0.3s ease, box-shadow 0.3s ease;
                box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
                position: relative;
                overflow: hidden;
                z-index: 1;
                color: #000;
            }
            
            .service-item::before {
                content: '';
                position: absolute;
                top: 100%;
                left: 0;
                width: 100%;
                height: 100%;
                z-index: -1;
                transition: top 0.3s ease;
                border-radius: 12px;
                background-color: transparent;
            }
            
            .service-item:hover {
                transform: translateY(-10px);
                box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
            }
            
            .service-item:hover::before {
                top: 0;
            }
            
            .service-item:hover h4,
            .service-item:hover p,
            .service-item:hover i {
                color: #fff !important;
                transition: color 0.3s ease;
            }
            /* Icon colors keep inline color when NOT hovered */
            
            .service-item .icon i {
                font-size: 2.5rem;
                margin-bottom: 15px;
                transition: color 0.3s ease;
            }
            
            .service-item:hover .icon i {
                color: #fff !important;
            }
            /* Hover background colors for each card */
            
            .col-xl-3:nth-child(1) .service-item::before {
                background-color: #D8C32F;
            }
            
            .col-xl-3:nth-child(2) .service-item::before {
                background-color: #329345;
            }
            
            .col-xl-3:nth-child(3) .service-item::before {
                background-color: #e9372e;
            }
            
            .col-xl-3:nth-child(4) .service-item::before {
                background-color: #17234A;
            }
        
    
       .stats {
                position: relative;
                padding: 120px 0;
            }
            
            .stats img {
                position: absolute;
                inset: 0;
                display: block;
                width: 1700px;
                height: 100%;
                object-fit: cover;
                z-index: 1;
            }
            
            .stats:before {
                content: " ";
                background: color-mix(in srgb, var(--background-color), transparent 30%);
                position: absolute;
                inset: 0;
                z-index: 2;
            }
            
            .stats .container {
                position: relative;
                z-index: 3;
            }
            
            .stats .stats-item {
                padding: 30px;
                width: 100%;
            }
            
            .stats .stats-item span {
                font-size: 48px;
                display: block;
                color: var(--default-color);
                font-weight: 700;
            }
            
            .stats .stats-item p {
                padding: 0;
                margin: 0;
                font-family: var(--heading-font);
                font-size: 16px;
                font-weight: 700;
                color: color-mix(in srgb, var(--default-color), transparent 40%);
            } 

            .container {
            max-width: 1300px;
            margin: 0 auto;
        }

        /* header */
        .page-header {
            margin-bottom: 3.5rem;
        }

        .page-header h1 {
            font-size: 3.2rem;
            font-weight: 800;
            color: #17234A;
            text-transform: uppercase;
            letter-spacing: -0.02em;
            border-left: 12px solid #329345;
            padding-left: 2rem;
        }

        .page-header p {
            font-size: 1.3rem;
            color: #2d3a4f;
            max-width: 700px;
            margin-top: 1rem;
            padding-left: 2rem;
        }

        /* SECTION TITLE (custom alignment matching original design but improved) */

        .choose-agsa {
      background-color: #f8fafc;
      padding: 3rem 0rem 4rem 0rem;
      border-radius: 0px;
      width: 100%;
    }

    .container {
      width: 90%;
      max-width: 1400px; 
      margin: 0 auto;
      padding: 0;
    }

    .section-title-wrapper {
      margin-bottom: 2.8rem;
    }
    .choose-header {
      margin-bottom: 3rem;
      text-align: center;
    }
    .choose-header h5 {
      color: #1f2937;
      font-size: 18px;
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      margin-bottom: 0.5rem;
    }
    .choose-header h2 {
      font-size: 42px;
      font-weight: 700;
      color: #1f2937;
      margin-bottom: 1rem;
      letter-spacing: -0.02em;
    }
    .choose-header p {
      font-size: 1.1rem;
      color: #2d3a4f;
      max-width: 780px;
      margin-left: auto;
      margin-right: auto;
      line-height: 1.5;
    }

    .card-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2rem;
      padding-bottom: 2rem;
    }

    .card-brutalist {
      background: white;
      border: 1.5px solid #329345;
      padding: 1.6rem 1.2rem;  
      position: relative;
      box-shadow: 8px 8px 0 #329345;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
      height: 100%;
      display: flex;
      flex-direction: column;
      /* initially hidden – will be animated via JS triggered class */
      opacity: 0;
      transform: translateY(-48px);
      will-change: transform, opacity;
    }

    /* slide-from-top animation keyframes */
    @keyframes slideFromTop {
      0% {
        opacity: 0;
        transform: translateY(-48px);
      }
      100% {
        opacity: 1;
        transform: translateY(0);
      }
    }

    /* class that triggers the entrance animation */
    .card-brutalist.animate-slide {
      animation: slideFromTop 0.55s cubic-bezier(0.2, 0.9, 0.3, 1.1) forwards;
    }

    /* hover effect: lift up-left + stronger shadow */
    .card-brutalist:hover {
      transform: translate(-4px, -4px) !important;
      box-shadow: 12px 12px 0 #329345;
      transition: transform 0.18s ease, box-shadow 0.2s ease;
    }

    /* ensure that after animation finishes, hover transform works cleanly */
    .card-brutalist.animate-slide:hover {
      transform: translate(-4px, -4px) !important;
    }

    .card-brutalist .icon-block {
      font-size: 2.5rem;
      color: #D8C32F;
      margin-bottom: 0.5rem;
      line-height: 1;
      border-bottom: 2px solid #329345;
      padding-bottom: 0.8rem;
      display: inline-block;
      width: fit-content;
    }

    .card-brutalist h4 {
      font-size: 1.8rem;
      font-weight: 700;
      margin: 0.8rem 0 0.7rem 0;
      color: #1f2937;
      letter-spacing: -0.3px;
      line-height: 1.3;
    }

    .card-brutalist p {
      color: #2d3a4f;
      border-left: 3px solid #D8C32F;
      padding-left: 0.9rem;
      margin-bottom: 0;
      flex: 1;
      line-height: 1.45;
      font-size: 1.3rem;
    }

    .card-brutalist.variant-green {
      border-color: #329345;
      box-shadow: 8px 8px 0 #329345;
    }
    .card-brutalist.variant-green:hover {
      box-shadow: 12px 12px 0 #329345;
    }
    .card-brutalist.variant-green .icon-block {
      color: #D8C32F;
      width: 40px;
      height: 40px;
    }

    .stretched-link {
      cursor: pointer;
    }

    @media (max-width: 992px) {
      .card-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
      }
      .choose-header h2 {
        font-size: 36px;
      }
      .card-brutalist {
        padding: 1.4rem 1.2rem;
      }
      .card-brutalist h4 {
        font-size: 1.3rem;
      }
      .card-brutalist .icon-block {
        font-size: 2.2rem;
      }
      .card-brutalist p {
        font-size: 0.85rem;
        padding-left: 0.8rem;
      }
    }

    @media (max-width: 640px) {
      .choose-agsa {
        padding: 2rem 0rem 3rem 0rem;
      }
      .card-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
      }
      .choose-header h2 {
        font-size: 32px;
      }
      .card-brutalist {
        padding: 1.3rem 1rem;
      }
      .card-brutalist h4 {
        font-size: 1.25rem;
      }
      .card-brutalist .icon-block {
        font-size: 2rem;
        padding-bottom: 0.6rem;
      }
      .choose-header p {
        font-size: 1rem;
      }
      .card-brutalist p {
        font-size: 0.85rem;
      }
    }

    /* extra slim for very small devices */
    @media (max-width: 480px) {
      .card-brutalist {
        padding: 1.2rem 0.9rem;
      }
      .card-brutalist h4 {
        font-size: 1.2rem;
        margin: 0.6rem 0 0.5rem 0;
      }
      .card-brutalist p {
        font-size: 0.82rem;
        padding-left: 0.7rem;
      }
    }
    .cta-section {
            background-color: #d7d7d7;
            padding: 30px 0;
            min-height: 150px;

        }

        .container2 {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 15px;
        }

        .cta-wrapper {
            display: flex;
            flex-wrap: wrap;
            text-align: center;
            gap: 10px;
        }

        .cta-content {
            flex: 1;
        }

        .cta-content h2 {
            margin: 0;
            font-size: 2.5rem;
            font-weight: 600;
            color: #333;
        }

        .cta-button {
            flex-shrink: 3;
        }

        
        .btn-contact {
            display: flex;
            background-color: #D8C32F;
            color: #000;
            text-decoration: none;
            margin-right: 30rem;
            padding: 12px 30px;
            border-radius: 5px;
            font-weight: 600;
            transition: all 0.3s ease;
            border: none;
            cursor: pointer;
            white-space: nowrap; /* Prevents button text from wrapping */
        }

        .btn-contact:hover {
            background-color: #c4b12a;
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        }
        /* optional: micro adjustment for icon spacing */
        .icon-block i {
            display: inline-block;
            
        }

         .accreditation-slider {
                padding: 5px 0 5px;
                position: relative;
            }

            .swiper-wrapper{
                
                margin-left: 1rem;
                margin-right: 1rem;
            }
            
            .accreditation-item {
                position: relative;
                border-radius: 12px;
                overflow: hidden;
                box-shadow: 0 5px 25px rgba(0, 0, 0, 0.05);
                transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
                height: 140px;
                width: 120px;
                display: flex;
                align-items: center;
                justify-content: center;
                background: white;
                padding: 10px;
                border: 1px solid rgba(0, 0, 0, 0.03);
            }
            
            .accreditation-img img {
                max-width: 100%;
                height: auto;
                max-height: 100px;
                object-fit: contain;
                transition: all 0.4s ease;
                opacity: 0.8;
            }
            
            .accreditation-item:hover {
                transform: translateY(-5px);
                box-shadow: 0 15px 30px rgba(37, 99, 235, 0.1);
            }
            
            .accreditation-item:hover img {
                opacity: 1;
                transform: scale(1.08);
            }
            
            .accreditation-overlay {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: linear-gradient(135deg, rgba(37, 99, 235, 0.08) 0%, rgba(37, 99, 235, 0) 100%);
                opacity: 0;
                transition: all 0.3s ease;
            } 
            
            .accreditation-item:hover .accreditation-overlay {
                opacity: 1;
            }
            

        @media (max-width: 768px) {
            .accreditations-section {
                padding: 48px 0 56px;
            }
            .section-title-2 h2 {
                font-size: 2rem;
            }
            .accreditation-item {
                width: 132px;
                height: 120px;
                padding: 12px;
            }
            .accreditation-img img {
                max-height: 70px;
            }
          
        }

        @media (max-width: 768px) {
            .accreditation-item {
                width: 120px;
                height: 110px;
                padding: 10px;
            }
            .accreditation-img img {
                max-height: 64px;
            }
            .btn-contact{
              margin-left: 4rem;
            }
        }

        /* a11y focus & user friendly */
        .accreditation-item:focus-visible {
            outline: 3px solid #329345;
            outline-offset: 2px;
            transform: scale(1.01);
        }
  
