/* =========================
   ROOT VARIABLES
========================= */
:root {
    --maroon: #800000;
    --maroon-dark: #5a0000;
    --white: #ffffff;
    --light-gray: #f5f5f5;
    --text-dark: #222;
}

/* =========================
   RESET
========================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}

body {
    background: var(--white);
    color: var(--text-dark);
}

/* =========================
   CONTAINER
========================= */
.container {
    width: 95%;
    max-width: 1300px;
    margin: auto;
      overflow:visible;
}

/* =========================
   HEADER
========================= */
.header {
    width: 100%;
    background: var(--white);
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0;
}

/* Logo */
.logo img {
    height: 55px;
}

/* Navigation */
.nav-links {
    list-style: none;
    display: flex;
    gap: 25px;
}

.nav-links li a {
    text-decoration: none;
    color: var(--text-dark);
    font-weight: 500;
    transition: 0.3s;
    position: relative;
}

/* Hover + Active */
.nav-links li a:hover,
.nav-links li a.active {
    color: var(--maroon);
}

.nav-links li a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 0%;
    height: 2px;
    background: var(--maroon);
    transition: 0.3s;
}

.nav-links li a:hover::after {
    width: 100%;
}

/* Button */
.btn {
    padding: 10px 20px;
    background: var(--maroon);
    color: var(--white);
    text-decoration: none;
    border-radius: 25px;
    font-weight: 600;
    transition: 0.3s;
}

.btn:hover {
    background: var(--maroon-dark);
}

/* Mobile menu icon */
.menu-toggle {
    display: none;
    font-size: 24px;
    cursor: pointer;
}

/* =========================
   HERO SECTION
========================= */

.hero {
    background: linear-gradient(
        to right,
        var(--maroon),
        var(--maroon-dark)
    );
    color: var(--white);
    padding: 50px 0;
}

.hero-content {
    
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.hero h1 {
    font-size: 48px;
    font-weight: 700;
    margin-bottom: 20px;
}

.hero p {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 25px;
}





/* =========================
   HERO LAYOUT
========================= */
.hero .container {
    
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding:0 40px;
    gap: 60px;
    
}
/* Left Side */
.hero-left {
    flex: 1;
    color: var(--white);
}

.hero-left h1 {
    font-size: 52px;
    line-height: 1.2;
    font-weight: 800;
}

.hero-left h1 span {
    color: #ffd6d6;
}

.hero-left p {
    margin-top: 15px;
    font-size: 17px;
    opacity: 0.9;
    line-height: 1.6;
}

/* Buttons */
.hero-buttons {
    margin-top: 25px;
    display: flex;
    gap: 15px;
}

.primary-btn {
    background: var(--white);
    color: var(--maroon);
    font-weight: 600;
}

.primary-btn:hover {
    background: #f2f2f2;
}

.secondary-btn {
    background: transparent;
    border: 2px solid var(--white);
    color: var(--white);
}

.secondary-btn:hover {
    background: var(--white);
    color: var(--maroon);
}


/* =========================
   HERO RIGHT SIDE
========================= */
.hero-right {
    flex: 1;
    position: relative;
    display: flex;
    justify-content: flex-end;
    align-items:center;
    min-height:520px;
    padding-right:30px;
}

.hero-image {
    position:relative;
    justify-content: flex-end;
    width:50%;
    z-index:1;
    display:flex;
    padding:20px;
    left:-80px;
}

.hero-image img {
    width: 100%;
    max-width: 420px;
    animation: floatImage 4s ease-in-out infinite;
   
}



/* Floating Cards */
.floating-card {
    position: absolute;
    background: var(--white);
    color: var(--text-dark);
    padding: 20px 15px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 10px;
    width: 220px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
    animation: floatCard 3s ease-in-out infinite;
    z-index: 5;
}

.floating-card i {
    font-size: 35px;
    color: var(--maroon);
    margin-bottom: 5px;
}

.floating-card h4 {
    font-size: 18px;
    font-weight: 700;
    margin: 0;
}

.floating-card p {
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
    color: #666;
}
.card1 {
    top:30px;
    left:90px;
    left:-10px;
}

.card2 {
    top:auto;
 
    right:-80px;
    transform:none;
   
}

.card3 {
   bottom:30px;
   left:90px;
    left:-10px;
}



/* =========================
   STUDENT INFO - PREMIUM STYLE
========================= */
.student-info {
    margin-top: 30px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    position: relative;
    padding: 15px 20px;
    border-radius: 20px;

    /* soft glass effect */
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(8px);

    border: 1px solid rgba(255, 255, 255, 0.15);
}

/* Glow circle background */
.student-info::before {
    content: "";
    position: absolute;
    width: 120px;
    height: 120px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    top: -30px;
    left: -40px;
    filter: blur(10px);
    z-index: 0;
}

/* second soft circle */
.student-info::after {
    content: "";
    position: absolute;
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.10);
    border-radius: 50%;
    bottom: -20px;
    right: 10px;
    filter: blur(8px);
    z-index: 0;
}

/* images overlap style */
.student-info img {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: 2px solid var(--white);
    object-fit: cover;
    margin-left: -12px;   /* overlap effect */
    transition: 0.3s;
    position: relative;
    z-index: 2;
}

.student-info img:first-child {
    margin-left: 0;
}

/* hover effect */
.student-info img:hover {
    transform: scale(1.15);
    z-index: 5;
}

/* text */
.student-info p {
    font-size: 14px;
    opacity: 0.9;
    max-width: 280px;
    line-height: 1.4;
    position: relative;
    z-index: 2;
    margin-left: 10px;
}




/* Animations */
@keyframes floatImage {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}

@keyframes floatCard {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}


/* =========================
   HERO RESPONSIVE FIX
========================= */


/* Tablet Pro + Tablet */

@media(max-width:991px){

.hero .container{
    display:block;
    padding:0 30px;
}


.hero-content{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}


.hero-left{
    width:100%;
}


.hero-left h1{
    font-size:40px;
}


.hero-left p{
    max-width:600px;
    margin:15px auto;
}


.hero-buttons{
    justify-content:center;
}


.student-info{
    justify-content:center;
}


.hero-right{
    display:none;
}

}


/* Mobile */

@media(max-width:767px){

.hero{
    padding:50px 0;
}


.hero .container{
    padding:0 20px;
}


.hero-left h1{
    font-size:32px;
}


.hero-left p{
    font-size:15px;
}


.hero-buttons{
    flex-direction:column;
    align-items:center;
}


.hero-buttons .btn{
    width:220px;
    text-align:center;
}


.student-info{
    padding:15px 10px;
    justify-content:center;
}


.student-info img{
    width:38px;
    height:38px;
}


.student-info p{
    width:100%;
    margin:15px 0 0;
    text-align:center;
}

}



/* =========================
   RESPONSIVE (basic)
========================= */
@media (max-width: 768px) {

    .nav-links {
        display: none;
    }

    .menu-toggle {
        display: block;
    }

    .hero h1 {
        font-size: 32px;
    }

    .hero {
        text-align: center;
    }
}

/* =========================
   HERO RESPONSIVE FIX
========================= */


/* Tablet Pro + Tablet */

@media(max-width:991px){

.hero .container{
    display:block;
    padding:0 30px;
}


.hero-content{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}


.hero-left{
    width:100%;
}


.hero-left h1{
    font-size:40px;
}


.hero-left p{
    max-width:600px;
    margin:15px auto;
}


.hero-buttons{
    justify-content:center;
}


.student-info{
    justify-content:center;
}


.hero-right{
    display:none;
}

}


/* Mobile */

@media(max-width:767px){

.hero{
    padding:50px 0;
}


.hero .container{
    padding:0 20px;
}


.hero-left h1{
    font-size:32px;
}


.hero-left p{
    font-size:15px;
}


.hero-buttons{
    flex-direction:column;
    align-items:center;
}


.hero-buttons .btn{
    width:220px;
    text-align:center;
}


.student-info{
    padding:15px 10px;
    justify-content:center;
}


.student-info img{
    width:38px;
    height:38px;
}


.student-info p{
    width:100%;
    margin:15px 0 0;
    text-align:center;
}

}


/* Small Mobile */

@media(max-width:480px){

.hero-left h1{
    font-size:26px;
}


.hero-left p{
    font-size:14px;
}


.student-info img{
    width:35px;
    height:35px;
}

}

/* ========================
   TRUSTED SECTION
========================= */
.trusted {
    background:#ffffff;
    padding: 60px 0;
    text-align: center;
}

.trusted h2 {
    font-size: 32px;
    margin-bottom: 30px;
    color: var(--text-dark);
}

.trusted-text{
   display:flex;
   flex-direction:column;
}

.trusted-text p {
    margin:0;
    font-size:14px;
    color: var(--text-dark);
    opacity:0.8;
}

.trusted-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
}

.trusted-card{
   display:flex;
   align-items:center;
   gap:15px;
   text-align:left;
   padding:20px;
   border-radius:15px;
   background:#fff;
   border:2px solid;
   border color: color:var(--maroon);
   transistion:0.3s;
   position:relative;
}

/* glow effect */
.trusted-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 15px;
    padding: 2px;
    background: linear-gradient(45deg, #800000, transparent, #800000);
    -webkit-mask: 
        linear-gradient(#fff 0 0) content-box, 
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: 0.4s;
}

.trusted-card i{
   color:var(--maroon);
   font-size:34px;
   margin-bottom:8px;
   min-width:40px;
}

.trusted-card h3{
   color:var(--maroon);
   font-size:28px;
   font-weight:800;
   letter-spacing:1px;
   margin:0;
}

/* Example logo style (if you add images) */
.trusted-wrapper img {
    height: 50px;
    opacity: 0.7;
    transition: 0.3s;
    filter: grayscale(100%);
}

.trusted-wrapper img:hover {
    opacity: 1;
    filter: grayscale(0%);
    transform: scale(1.05);
}

/* =========================
   FEATURED COURSES
========================= */
/* =========================
   FEATURED COURSES
========================= */

.courses{
    padding:100px 0;
    background:#f8f9fc;
}

.section-title{
    text-align:center;
    margin-bottom:50px;
}

.section-title h2{
    font-size:40px;
    color:var(--text-dark);
    margin-bottom:15px;
    font-weight:700;
}

.section-title p{
    color:#666;
    font-size:17px;
}

/* Grid */

.course-wrapper{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    width:100%;
}

/* Card */

.course-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 12px 30px rgba(0,0,0,.08);
    transition:.4s;
    border-top:5px solid var(--maroon);
}

.course-card:hover{
    transform:translateY(-12px);
    box-shadow:0 20px 40px rgba(128,0,0,.20);
}

/* Image */

.course-card img{
    width:100%;
    height:220px;
    object-fit:cover;
    transition:.4s;
}

.course-card:hover img{
    transform:scale(1.08);
}

/* Content */

.course-content{
    padding:25px;
}

.course-content h3{
    font-size:22px;
    margin-bottom:12px;
    color:var(--maroon);
}

.course-content p{
    color:#666;
    line-height:1.7;
    margin-bottom:20px;
}

/* Learn More Button */

.course-btn{
    display:inline-block;
    background:var(--maroon);
    color:#fff;
    padding:12px 22px;
    border-radius:30px;
    text-decoration:none;
    transition:.3s;
}

.course-btn:hover{
    background:var(--maroon-dark);
    transform:translateY(-3px);
}

/* Extra Courses */

.more-courses{
    display:none;
    margin-top:30px;
    width:100%;
    grid-column:1/-1;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    
}

.more-courses.show{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    margin-top:30px;
    width:100%;
}

.more-courses {
    display: none;
    
}


.course-btn{
    display:inline-block;
    background:var(--maroon);
    color:#fff;
    padding:12px 22px;
    border-radius:30px;
    text-decoration:none;
    transition:background .3s ease, transform .3s ease;
    position: relative;
    z-index: 10;
}

.course-btn:hover{
    background:var(--maroon-dark);
    transform:translateY(-4px);
}
/* View Button */

.view-all{
    grid-column:1/-1;
    text-align:center;
    margin-top:20px;
}

#viewButton{
    padding:15px 35px;
    border:none;
    border-radius:35px;
    background:var(--maroon);
    color:#fff;
    font-size:16px;
    cursor:pointer;
    transition:.3s;
}

#viewButton:hover{
    background:var(--maroon-dark);
    transform:translateY(-3px);
    box-shadow:0 10px 25px rgba(128,0,0,.30);
}

/* =========================
   COURSE RESPONSIVE
========================= */


/* Tablet */

@media(max-width:1100px){

    .course-wrapper,
    .more-courses.show{

        grid-template-columns:repeat(2,1fr);

    }

}



/* Mobile */

@media(max-width:768px){

    .course-wrapper,
    .more-courses.show{

        grid-template-columns:1fr;

        width:100%;

    }


    .course-card{

        width:100%;

    }

}
/* =========================
   COURSE CARD GLOW EFFECT
========================= */

.course-card{
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    width:100%
}

.course-wrapper{
    width:100%;
}

/* Animated Glow Border */
.course-card::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 18px;
    padding: 2px;
    background: linear-gradient(
        45deg,
        transparent,
        var(--maroon),
        transparent,
        var(--maroon)
    );

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);

    -webkit-mask-composite: xor;
    mask-composite: exclude;

    opacity: 0;
    transition: .4s;
}

/* Hover Effect */
.course-card:hover::before{
    opacity: 1;
}

.course-card:hover{
    transform: translateY(-10px);
    box-shadow: 0 0 25px rgba(128,0,0,0.35);
}

.course-card img{
    transition: .5s;
}

.course-card:hover img{
    transform: scale(1.08);
}




/* =========================
   PREMIUM BADGE STYLE
========================= */

.course-badge {
    position: absolute;
    top: 15px;
    left: 15px;

    background: linear-gradient(135deg, #800000, #a52a2a);
    color: #fff;

    font-size: 11px;
    font-weight: 700;
    padding: 6px 14px;

    border-radius: 4px;
    letter-spacing: 1px;
    text-transform: uppercase;

    z-index: 10;

    box-shadow: 0 4px 12px rgba(128,0,0,0.35);

    border-left: 4px solid #ffd700;

    animation: badgePop 2s infinite;
}
/* Small attention animation */
@keyframes badgePop {

    0%,100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.08);
    }
}

.course-badge i {
    margin-right: 6px;
    font-size: 11px;
}

@keyframes pulseBadge{
    0%,100%{
        transform: rotate(45deg) scale(1);
    }
    50%{
        transform: rotate(45deg) scale(1.08);
    }
}


/* =========================
   WHY CHOOSE US
========================= */

.why-us{
    padding:90px 0;
    background:#fff;
}

.why-wrapper{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.why-box{
    background:#fff;
  
    padding:20px 18px;
    text-align:center;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;

    position:relative;
    overflow:hidden;
    transition:.4s;
    min-height:240px;
}


.why-box i{
    font-size:40px;
    color:var(--maroon);
    margin-bottom:15px;
}

.why-box h3{
    color:var(--maroon);
    font-size:19px;
    font-weight:700;
    margin-bottom:8px;
}

.why-box p{
    color:#666;
    font-size:14px;
    line-height:1.5;
}
/* Tablet */

@media(max-width:1100px){

    .why-wrapper{
        grid-template-columns:repeat(2,1fr);
    }

}

/* Mobile */

@media(max-width:768px){

    .why-wrapper{
        grid-template-columns:1fr;
    }

}


/* =========================
   TESTIMONIALS
========================= */

.testimonials{
    padding:90px 0;
    background:#f8f9fc;
}

.testimonial-wrapper{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.testimonial-card{
    background:#fff;
    padding:25px;
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    height:100%;
}


/* Student Image */

.testimonial-card img{
    width:90px;
    height:90px;

    object-fit:cover;
    border:none;
    margin-bottom:18px;
    transition:.4s;
}

.testimonial-card:hover img{
    transform:scale(1.08);
}

/* Student Name */

.testimonial-card h3{
    font-size:15px;
    color:var(--maroon);
    margin-bottom:5px;
}

/* Course Name */

.testimonial-card span{
    display:block;
    font-size:13px;
    color:#777;
    margin-bottom:18px;
}

/* Review */

.testimonial-card p{
    font-size:15px;
    color:#555;
    line-height:1.7;
    font-style:italic;
}

.testimonial-footer{
   display:flex;
    align-items:center;
    justify-content:space-between;
    margin-top:20px;
    gap:15px;
}

.testimonial-footer img{
    width:65px;
    height:65px;
    border-radius:50%;
    object-fit:cover;
    flex-shrink:0;
}

.student-details{
   flex:1;
    display:flex;
    flex-direction:column;
}

.student-details h3{
    font-size:16px;
    margin:0;
    color:var(--text-dark);
}

.student-details span{
    font-size:13px;
    color:#777;
    margin-top:3px;
}

.student-rating{
    display:flex;
    gap:3px;
    color:#FFD700;
    font-size:10px;
    flex-direction:row;
    flex-shrink:0;
}

.student-rating i{
    flex-shrink:0;
}

.quote-icon{
    font-size:30px;
    color:var(--maroon);
    opacity:.2;
    margin-bottom:10px;
}

.testimonial-text{
    font-style:italic;
    line-height:1.8;
    color:#555;
}

/* Responsive */

@media(max-width:992px){

    .testimonial-wrapper{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:768px){

    .testimonial-wrapper{
        grid-template-columns:1fr;
    }

}

/* =========================
   PREMIUM GALLERY
========================= */

.gallery{
    padding:100px 0;
    background:#f8f9fc;
}

.gallery-wrapper{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-top:40px;
}

/* Gallery Card */

.gallery-item{
    position:relative;
    overflow:hidden;
    border-radius:18px;
    cursor:pointer;
    background:#fff;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    transition:.4s;
}

/* Image */

.gallery-item img{
    width:100%;
    height:260px;
    object-fit:cover;
    transition:.5s;
}

/* Hover Zoom */

.gallery-item:hover img{
    transform:scale(1.12);
}

/* Overlay */

.gallery-overlay{
    position:absolute;
    inset:0;
    background:rgba(128,0,0,.60);
    display:flex;
    justify-content:center;
    align-items:center;
    opacity:0;
    transition:.4s;
}

/* View Image */

.view-image{
    color:#fff;
    font-size:18px;
    font-weight:600;
    border:2px solid #fff;
    padding:10px 22px;
    border-radius:30px;
    transition:.3s;
}

.view-image:hover{
    background:#fff;
    color:var(--maroon);
}

/* Hover */

.gallery-item:hover .gallery-overlay{
    opacity:1;
}

.gallery-item:hover{
    transform:translateY(-10px);
    box-shadow:0 0 25px rgba(128,0,0,.35);
}

/* Hidden Gallery */

.more-gallery{
    display:none;
    margin-top:30px;
}

.more-gallery.show{
    display:grid;
}

/* Button */

.gallery-btn{
    text-align:center;
    margin-top:40px;
}

#galleryButton{
    padding:15px 35px;
    border:none;
    border-radius:35px;
    background:var(--maroon);
    color:#fff;
    cursor:pointer;
    transition:.3s;
}

#galleryButton:hover{
    background:var(--maroon-dark);
    transform:translateY(-3px);
    box-shadow:0 10px 25px rgba(128,0,0,.30);
}

/* =========================
   LIGHTBOX
========================= */

.lightbox{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.92);
    z-index:9999;
    justify-content:center;
    align-items:center;
}

.lightbox-image{
    max-width:85%;
    max-height:85%;
    border-radius:12px;
    box-shadow:0 0 30px rgba(255,255,255,.15);
    object-fit:contain;
}

/* Close */

.close{
    position:absolute;
    top:25px;
    right:35px;
    color:#fff;
    font-size:45px;
    cursor:pointer;
    transition:.3s;
}

.close:hover{
    color:#ff3b30;
}

/* Prev & Next */

.prev,
.next{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    color:#fff;
    font-size:45px;
    cursor:pointer;
    padding:15px;
    transition:.3s;
    user-select:none;
}

.prev{
    left:30px;
}

.next{
    right:30px;
}

.prev:hover,
.next:hover{
    color:#ffd700;
}

/* Responsive */

@media(max-width:992px){

.gallery-wrapper{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.gallery-wrapper{
grid-template-columns:1fr;
}

.gallery-item img{
height:220px;
}

.lightbox-image{
max-width:95%;
}

.prev,
.next{
font-size:35px;
}

}

@media(max-width:768px){

.gallery-wrapper{
grid-template-columns:1fr;
}

.gallery-item img{
height:220px;
}


}


/* =========================
   FAQ SECTION
========================= */

.faq{
    padding:100px 0;
    background:#f8f9fc;
}

.faq-wrapper{
    max-width:900px;
    margin:50px auto 0;
}

/* FAQ Card */

.faq-item{
    background:#fff;
    border-radius:18px;
    margin-bottom:20px;
    overflow:hidden;
    box-shadow:0 12px 30px rgba(0,0,0,.08);
    border-left:5px solid var(--maroon);
    transition:.3s;
    position:relative;
}

/* Glow Effect */

.faq-item:hover{
    transform:translateY(-4px);
    box-shadow:0 15px 35px rgba(128,0,0,.18);
}

/* Question */

.faq-question{
    width:100%;
    background:none;
    border:none;
    padding:22px 28px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
    font-size:18px;
    font-weight:600;
    color:var(--text-dark);
    text-align:left;
}

/* Icon */

.faq-question i{
    color:var(--maroon);
    font-size:20px;
    transition:.3s;
}

/* Answer */

.faq-answer{
    max-height:0;
    overflow:hidden;
    transition:max-height .4s ease;
}

.faq-answer p{
    padding:0 28px 25px;
    color:#666;
    line-height:1.8;
    font-size:16px;
}

/* Active */

.faq-item.active .faq-answer{
    max-height:250px;
}

.faq-item.active .faq-question i{
    transform:rotate(45deg);
    color:var(--maroon);
}

/* Responsive */

@media(max-width:768px){

.faq-question{
    font-size:16px;
    padding:18px 20px;
}

.faq-answer p{
    padding:0 20px 20px;
    font-size:15px;
}

}

.faq-question i{
    transition:0.3s ease;
    color:var(--maroon);
}

.faq-item.active .faq-question i{
    transform:rotate(180deg);
}

/* =========================
   CTA SECTION
========================= */

.cta{
    padding:100px 0;
    background:linear-gradient(135deg,var(--maroon),var(--maroon-dark));
    position:relative;
    overflow:hidden;
}

/* Decorative circles */

.cta::before{
    content:"";
    position:absolute;
    width:280px;
    height:280px;
    background:rgba(255,255,255,.08);
    border-radius:50%;
    top:-100px;
    left:-100px;
}

.cta::after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    background:rgba(255,255,255,.06);
    border-radius:50%;
    bottom:-80px;
    right:-80px;
}

/* Content */

.cta-content{
    position:relative;
    z-index:2;
    max-width:850px;
    margin:auto;
    text-align:center;
    color:#fff;
}

.cta-content h2{
    font-size:42px;
    font-weight:700;
    margin-bottom:20px;
    line-height:1.3;
}

.cta-content p{
    font-size:18px;
    opacity:.9;
    line-height:1.8;
    margin-bottom:35px;
}

/* Button */

.cta .primary-btn{
    display:inline-block;
    background:#fff;
    color:var(--maroon);
    padding:16px 40px;
    border-radius:50px;
    text-decoration:none;
    font-size:17px;
    font-weight:700;
    transition:.35s;
    box-shadow:0 10px 30px rgba(0,0,0,.20);
}

.cta-small {
    margin-top: 18px;
    color: rgba(255,255,255,0.85);
    font-size: 8px;
}

/* Responsive */

@media(max-width:768px){

.cta{
    padding:70px 20px;
}

.cta-content h2{
    font-size:30px;
}

.cta-content p{
    font-size:16px;
}


}


/* Floating Icons */

.cta-icon{
    position:absolute;
    color:rgba(255,255,255,.08);
    z-index:1;
    animation:floatIcons 6s ease-in-out infinite;
}

.icon1{
    top:12%;
    left:8%;
    font-size:65px;
}

.icon2{
    top:20%;
    right:10%;
    font-size:55px;
    animation-delay:1s;
}

.icon3{
    bottom:18%;
    left:15%;
    font-size:60px;
    animation-delay:2s;
}

.icon4{
    bottom:12%;
    right:12%;
    font-size:65px;
    animation-delay:3s;
}

@keyframes floatIcons{

0%,100%{
    transform:translateY(0px);
}

50%{
    transform:translateY(-18px);
}

}


.cta .primary-btn{

    display:inline-block;
    background:#fff;
    color:var(--maroon);
    padding:16px 40px;
    border-radius:50px;
    font-weight:700;
    transition:.4s;
}

.cta .primary-btn:hover{

    background:#ffffff;

    color:var(--maroon);

    transform:translateY(-6px);

    box-shadow:
        0 0 15px rgba(255,255,255,.5),
        0 0 30px rgba(128,0,0,.45),
        0 0 45px rgba(128,0,0,.35);

}

.cta{
    border-bottom: 1px solid rgba(255,255,255,0.3);
}
/* =========================
   FOOTER
========================= */

.contact{
    background:Black;
    color:#fff;
    padding:80px 0 25px;
    position:relative;
    overflow:hidden;
    border-top: 1px solid rgba(255,255,255,0.2);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.15);
}

/* Background Glow */

.footer::before{
    content:"";
    position:absolute;
    width:300px;
    height:300px;
    background:rgba(255,255,255,.05);
    border-radius:50%;
    top:-120px;
    left:-120px;
}

.footer::after{
    content:"";
    position:absolute;
    width:250px;
    height:250px;
    background:rgba(255,255,255,.04);
    border-radius:50%;
    bottom:-100px;
    right:-100px;
}

/* Grid */

.footer-wrapper{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1.3fr;
    gap:45px;
    position:relative;
    z-index:2;
}

/* Logo */

.footer-logo{
    width:170px;
    margin:0 auto 20px;
    display:block;
}

/* Heading */

.footer-box h3{
    font-size:22px;
    margin-bottom:20px;
    position:relative;
}

.footer-box h3::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;
    width:50px;
    height:3px;
    background:#fff;
    border-radius:20px;
}

/* Paragraph */

.footer-box p{
    color:rgba(255,255,255,.85);
    line-height:1.8;
    margin-bottom:12px;
}

.phone{
    display:flex;
    flex-direction:column;
}
.phone p{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:8px;
}

.phone i{
    color:#ffd700;
    min-width:20px;
}
/* Lists */

.footer-box ul{
    list-style:none;
}

.footer-box ul li{
    margin-bottom:12px;
}

.footer-box ul li a{
    color:rgba(255,255,255,.85);
    text-decoration:none;
    transition:.3s;
}

.footer-box ul li a:hover{
    color:#fff;
    padding-left:8px;
}

/* Contact Icons */

.footer-box p i{
    color:#ffd700;
    width:25px;
}

.footer-box p{
    display: flex;
    align-items: center;
    gap: 10px;
}
/* Social */

.social-links{
    display:flex;
    gap:15px;
    margin-top:20px;
}

.social-links a{
    width:45px;
    height:45px;
    border-radius:50%;
    background:rgba(255,255,255,.12);
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    text-decoration:none;
    transition:.35s;
}

.social-links a:hover{
    background:#fff;
    color:var(--maroon);
    transform:translateY(-5px);
    box-shadow:0 0 20px rgba(255,255,255,.35);
}

/* Bottom */

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.15);
    margin-top:60px;
    padding-top:20px;
    text-align:center;
    color:rgba(255,255,255,.8);
    position:relative;
    z-index:2;
}

/* =========================
   SCROLL TO TOP
========================= */

#scrollTop{
    position:fixed;
    right:25px;
    bottom:25px;
    width:55px;
    height:55px;
    border:none;
    border-radius:50%;
    background:var(--maroon);
    color:#fff;
    font-size:20px;
    cursor:pointer;
    display:none;
    z-index:999;
    transition:.3s;
    box-shadow:0 8px 20px rgba(128,0,0,.35);
}

#scrollTop:hover{
    background:var(--maroon-dark);
    transform:translateY(-5px);
    box-shadow:0 0 25px rgba(128,0,0,.5);
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:992px){

.footer-wrapper{
    grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.footer-wrapper{
    grid-template-columns:1fr;
    text-align:center;
}

.footer-box h3::after{
    left:50%;
    transform:translateX(-50%);
}

.social-links{
    justify-content:center;
}

}


.whatsapp-float{
    position: fixed;
    width: 60px;
    height: 60px;
    bottom: 25px;
    right: 25px;
    background: #25D366;
    color: #fff;
    border-radius: 50%;
    text-align: center;
    font-size: 32px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.25);
    z-index: 9999;

    display: flex;
    align-items: center;
    justify-content: center;

    transition: 0.3s;
    animation: floatWA 2s infinite;

    text-decoration: none;
}

.whatsapp-float:hover{
    transform: scale(1.1);
}

/* Floating animation */
@keyframes floatWA{
    0%,100%{ transform: translateY(0); }
    50%{ transform: translateY(-8px); }
}

.footer-box p a{
    color: #fff;
    text-decoration: none;
}

.footer-box p a:hover{
    color: #ffd700;
}

@media(max-width:768px){

    .whatsapp-float{
        display:flex !important;
        position:fixed !important;

        width:55px !important;
        height:55px !important;

        right:15px !important;
        bottom:20px !important;

        background:#25D366 !important;
        color:white !important;

        z-index:999999 !important;

        border-radius:50%;
    }

}

/*about us*/

/* ===================================
        OUR STORY
=================================== */
/* =========================
   OUR STORY SECTION
========================= */

.our-story {

    position: relative;

    min-height: 700px;

    padding: 120px 8%;

    background-image: url("images/classroom.jpg");

    background-size: cover;

    background-position: center;

    background-repeat: no-repeat;

    display: flex;

    align-items: center;

}


/* Dark Maroon Overlay */

.story-overlay {

    position: absolute;

    inset: 0;

    background: rgba(90,0,0,0.75);

}


/* Content */

.story-container {

    position: relative;

    z-index: 2;

    width:100%;

}


.story-content {

    max-width:900px;

    color:var(--white);

}



/* Section Tag */

.section-tag {

    display:inline-block;

    color:#ffd6d6;

    font-size:15px;

    letter-spacing:3px;

    font-weight:600;

    margin-bottom:15px;

}



/* Heading */

.story-content h2 {

    font-size:48px;

    line-height:1.3;

    color:white;

    margin:20px 0;

}



/* Line */

.title-line {

    width:90px;

    height:4px;

    background:var(--maroon);

    background:#ffffff;

    border-radius:20px;

    margin-bottom:30px;

}



/* Paragraph */

.story-content p {

    color:#f3eeee;

    font-size:18px;

    line-height:1.8;

    margin-bottom:20px;

}

.story-features {

    display:flex;

    gap:25px;

    margin-top:45px;

    flex-wrap:wrap;

}



.feature-box {


    min-width:180px;

    padding:30px;

    text-align:center;


    background:rgba(255,255,255,0.15);


    backdrop-filter:blur(10px);


    border:1px solid rgba(255,255,255,0.3);


    border-radius:15px;


    transition:.4s;


}



.feature-box:hover {


    transform:translateY(-10px);


    background:white;


}



.feature-box h3 {


    font-size:38px;

    color:white;

    margin-bottom:10px;


}



.feature-box span {


    color:#f5dddd;

    font-size:15px;


}



/* Hover Text Change */

.feature-box:hover h3 {

    color:var(--maroon);

}


.feature-box:hover span {

    color:#555;

}

@media(max-width:768px){


.story-content h2{


    font-size:32px;


}


.story-content p{


    font-size:16px;


}


.feature-box{


    width:100%;


}


}

/* =========================
   MISSION & VISION
========================= */

.mission-vision{
    position: relative;
    padding: 110px 8%;
    background: linear-gradient(135deg, #5a0f1b 0%, #7a1f2c 50%, #963547 100%);
    overflow: hidden;
}

.mv-overlay{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.15);
}

/* Soft Maroon Glow */
.mission-vision::before{
    content: "";
    position: absolute;
    width: 450px;
    height: 450px;
    background: rgba(128, 0, 32, 0.10);
    border-radius: 50%;
    filter: blur(120px);
    top: -180px;
    right: -150px;
}

/* Bottom Glow */
.mission-vision::after{
    content: "";
    position: absolute;
    width: 350px;
    height: 350px;
    background: rgba(128, 0, 32, 0.08);
    border-radius: 50%;
    filter: blur(100px);
    bottom: -120px;
    left: -100px;
}

/* Optional Overlay */


.mission-vision .container{
    position: relative;
    z-index: 2;
}

/* Title */

.mv-title {


    position:relative;

    z-index:2;


    text-align:center;

    color:white;


    max-width:800px;

    margin:auto;


}



.mv-title span {


    color:#ffd6d6;

    letter-spacing:3px;

    font-size:15px;

    font-weight:600;


}



.mv-title h2 {


    font-size:45px;

    margin:15px 0;


}



.mv-title p {


    color:#f5dddd;

    font-size:17px;


}


.mv-cards {


    position:relative;

    z-index:2;


    display:flex;

    gap:35px;

    justify-content:center;


    margin-top:60px;


    flex-wrap:wrap;


}




.mv-card {


    width:420px;


    padding:45px 35px;


    text-align:center;


    background:

    rgba(255,255,255,0.15);



    backdrop-filter:blur(12px);



    border:

    1px solid rgba(255,255,255,0.3);



    border-radius:25px;



    color:white;



    transition:.4s;


}





.mv-card:hover {


    transform:translateY(-12px);


    background:white;


    color:#222;


}






.mv-icon {


    width:80px;

    height:80px;


    margin:auto;

    margin-bottom:25px;


    display:flex;

    justify-content:center;

    align-items:center;


    background:white;


    color:var(--maroon);


    border-radius:50%;


    font-size:32px;


}



.mv-card h3 {


    font-size:30px;


    margin-bottom:20px;


}



.mv-card p {


    line-height:1.8;


    color:#eeeeee;


}



.mv-card:hover p {


    color:#555;


}


@media(max-width:768px){


.mv-title h2{

    font-size:32px;

}


.mv-card{

    width:100%;

}


}

/* =========================
      CORE VALUES
========================= */


.core-values{

    padding:100px 8%;

    background:#fff;

}




.values-title{

    text-align:center;

    max-width:800px;

    margin:auto;

}



.values-title span{

    color:var(--maroon);

    font-weight:600;

    letter-spacing:3px;

}



.values-title h2{

    font-size:45px;

    margin:15px 0;

}



.values-title p{

    color:#666;

}

.values-timeline{


    position:relative;

    max-width:900px;

    margin:70px auto;


}



/* Middle Line */

.values-timeline::before{


    content:"";

    position:absolute;


    width:3px;


    background:var(--maroon);


    top:0;


    bottom:0;


    left:50%;


    transform:translateX(-50%);


}




.value-item{


    position:relative;


    width:50%;


    padding:25px 40px;


}



.value-item:nth-child(odd){


    left:0;


    text-align:right;


}



.value-item:nth-child(even){


    left:50%;


}





.value-icon{


    position:absolute;


    top:30px;


    width:55px;


    height:55px;


    background:var(--maroon);


    color:white;


    border-radius:50%;


    display:flex;


    justify-content:center;


    align-items:center;


    font-size:22px;


    z-index:2;


}



.value-item:nth-child(odd) .value-icon{


    right:-27px;


}



.value-item:nth-child(even) .value-icon{


    left:-27px;


}

.value-content{


    background:#f8f5f5;


    padding:25px 30px;


    border-left:4px solid var(--maroon);


    border-radius:10px;


    transition:.4s;


}






.value-content h3{


    color:var(--maroon);


    font-size:26px;


    margin-bottom:10px;


}



.value-content p{


    color:#666;


    line-height:1.8;


}

@media(max-width:768px){


.values-timeline::before{


left:25px;


}



.value-item,


.value-item:nth-child(even){


width:100%;


left:0;


padding-left:80px;


text-align:left;


}



.value-item:nth-child(odd) .value-icon,


.value-item:nth-child(even) .value-icon{


left:0;


right:auto;


}



}


/* =========================
      WHAT WE OFFER
========================= */


.what-offer{


    padding:100px 8%;


    background:#f8f5f5;


}





.offer-heading{


    text-align:center;


    max-width:800px;


    margin:auto;


}



.offer-heading span{


    color:var(--maroon);


    letter-spacing:3px;


    font-weight:600;


}



.offer-heading h2{


    font-size:45px;


    margin:15px 0;


    color:#222;


}



.offer-heading p{


    color:#666;


    line-height:1.7;


}

.offer-wrapper{


    display:flex;


    align-items:center;


    gap:60px;


    margin-top:70px;


}



.offer-content{


    flex:1;


}



.offer-item{


    display:flex;


    gap:25px;


    margin-bottom:35px;


}



.offer-icon{


    min-width:65px;


    height:65px;


    background:var(--maroon);


    color:white;


    border-radius:50%;


    display:flex;


    justify-content:center;


    align-items:center;


    font-size:25px;


}



.offer-item h3{


    color:var(--maroon);


    font-size:24px;


    margin-bottom:10px;


}



.offer-item p{


    color:#666;


    line-height:1.7;


}

.offer-image{


    flex:1;


    position:relative;


}



.offer-image img{


    width:100%;


    border-radius:20px;


    box-shadow:

    0 15px 40px rgba(0,0,0,.15);


}




.offer-badge{


    position:absolute;


    bottom:30px;


    left:30px;


    background:var(--maroon);


    color:white;


    padding:25px 35px;


    border-radius:15px;


    text-align:center;


}



.offer-badge h3{


    font-size:40px;


}



.offer-badge p{


    margin:0;


}

@media(max-width:900px){


.offer-wrapper{


flex-direction:column;


}



.offer-heading h2{


font-size:32px;


}



.offer-item{


gap:15px;


}



}


/* =========================
      FACILITIES
========================= */


.facilities{


    position:relative;


    padding:100px 8%;


    background-image:url("../images/facility-bg.jpg");


    background-size:cover;


    background-position:center;


}



.facility-overlay{


    position:absolute;


    inset:0;


    background:

    rgba(128,0,0,0.85);


}


.facility-heading{


    position:relative;


    z-index:2;


    text-align:center;


    color:white;


    max-width:800px;


    margin:auto;


}



.facility-heading span{


    color:#ffd6d6;


    letter-spacing:3px;


    font-weight:600;


}



.facility-heading h2{


    font-size:45px;


    margin:15px 0;


}



.facility-heading p{


    color:#eee;


    line-height:1.8;


}

.facility-list{


    position:relative;


    z-index:2;


    margin-top:60px;


    display:grid;


    grid-template-columns:repeat(2,1fr);


    gap:35px;


}




.facility-item{


    display:flex;


    gap:25px;


    align-items:flex-start;


    padding:30px;


    background:

    rgba(255,255,255,0.12);



    backdrop-filter:blur(10px);



    border-radius:15px;



    border:

    1px solid rgba(255,255,255,.25);



    transition:.4s;


}





.facility-item:hover{


    transform:translateY(-8px);


    background:white;


}



.facility-icon{


    min-width:65px;


    height:65px;


    border-radius:50%;


    background:white;


    color:var(--maroon);


    display:flex;


    align-items:center;


    justify-content:center;


    font-size:28px;


}





.facility-item h3{


    color:white;


    font-size:24px;


    margin-bottom:10px;


}



.facility-item p{


    color:#eee;


    line-height:1.7;


}




.facility-item:hover h3{


    color:var(--maroon);


}



.facility-item:hover p{


    color:#555;


}


@media(max-width:800px){


.facility-list{


grid-template-columns:1fr;


}



.facility-heading h2{


font-size:32px;


}



}

/* =========================
        TEAM SECTION
========================= */


.team-section{


    padding:100px 8%;


    background:#f8f5f5;


}




.team-heading{


    text-align:center;


    max-width:800px;


    margin:auto;


}




.team-heading span{


    color:var(--maroon);


    font-weight:600;


    letter-spacing:3px;


}



.team-heading h2{


    font-size:45px;


    margin:15px 0;


    color:#222;


}



.team-heading p{


    color:#666;


    line-height:1.8;


}


.team-wrapper{


    margin-top:60px;


    display:grid;


    grid-template-columns:repeat(3,1fr);


    gap:35px;


}




.team-member{


    background:white;


    border-radius:20px;


    overflow:hidden;


    box-shadow:

    0 10px 30px rgba(0,0,0,.08);


    transition:.4s;


}



.team-member:hover{


    transform:translateY(-12px);


    box-shadow:

    0 20px 40px rgba(128,0,0,.20);


}




.member-image {
    height: 330px;
    padding: 10px 10px 0;
    box-sizing: border-box;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    background: #fff;
}

.member-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center top;
    transition: transform .4s ease;
}

.team-member:hover img {
    transform: scale(1.03);
}


.member-info{


    padding:30px;


    text-align:center;


}




.member-info h3{


    color:var(--maroon);


    font-size:24px;


    margin-bottom:8px;


}




.member-info span{


    color:#777;


    font-weight:600;


}



.member-info p{


    margin-top:15px;


    color:#666;


    line-height:1.7;


}

/* =========================
   TEAM RESPONSIVE
========================= */


/* Tablet */

@media(max-width:900px){

    .team-wrapper{

        grid-template-columns:repeat(2,1fr);

        gap:25px;

    }

}


/* =========================
   TEAM RESPONSIVE
========================= */

/* Tablet */
@media (max-width: 900px) {

    .team-wrapper{
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }

}

/* Mobile */
@media (max-width: 600px) {

    .team-section{
        padding: 70px 20px;
    }

    .team-wrapper{
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 20px;
        width: 100%;
    }

    .team-member{
        width: 100%;
        max-width: 350px;
        margin: 0 auto;
    }

    .member-image{
        height: 280px;
    }

    .team-heading h2{
        font-size: 32px;
    }

}
/* =========================================================
   STAFF HIERARCHY / ORGANIZATION CHART
========================================================= */

.staff-hierarchy {
    padding: 100px 5%;
    background: #f8f5f5;
}

.organization-chart {
    max-width: 1500px;
    margin: 0 auto;
    position: relative;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.hierarchy-heading {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 70px;
}

.hierarchy-heading span {
    color: var(--maroon);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.hierarchy-heading h2 {
    margin: 15px 0;
    font-size: 45px;
    font-weight: 700;
    color: #222;
}

.hierarchy-heading p {
    margin: 0;
    color: #666;
    font-size: 16px;
    line-height: 1.8;
}


/* =========================================================
   COMMON ORGANIZATION BOX
========================================================= */

.org-box {
    background: #fff;
    border: 1px solid #eadede;
    border-radius: 14px;
    padding: 22px 18px;
    text-align: center;
    color: #444;
    font-size: 15px;
    line-height: 1.6;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.07);
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
}

.org-box strong {
    color: var(--maroon);
    font-size: 16px;
    font-weight: 700;
}

.org-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.10);
}


/* =========================================================
   LEVEL 1 - TOP MANAGEMENT
========================================================= */

.top-management {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 25px;
    position: relative;
    z-index: 2;
}

.top-management .org-box {
    width: 260px;
    min-height: 105px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}


/* Managing Director */

.org-box.main-box {
    background: var(--maroon);
    color: #fff;
    border-color: var(--maroon);
}

.org-box.main-box strong {
    color: #fff;
}


/* =========================================================
   TOP MANAGEMENT → DEPARTMENTS
========================================================= */

.top-vertical-line {
    width: 2px;
    height: 55px;
    background: var(--maroon);
    margin: 0 auto;
}


/* =========================================================
   DEPARTMENT SECTION
========================================================= */

.department-section {
    position: relative;
}


/* Main horizontal connector */

.department-horizontal-line {
    position: absolute;

    top: 0;

    /* Exact center of first column */
    left: calc((100% - 70px) / 6);

    /* Exact center of third column */
    right: calc((70% - 90px) / 6);

    height: 2px;

    background: var(--maroon);

    z-index: 1;
}

/* =========================================================
   3 DEPARTMENT COLUMNS
========================================================= */

.department-heads {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
    position: relative;
}


/* =========================================================
   DEPARTMENT COLUMN
========================================================= */

.department-column {
    position: relative;
}


/* Connector from horizontal line → department */

.department-column::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 2px;
    height: 35px;
    background: var(--maroon);
    transform: translateX(-50%);
    z-index: 2;
}

/* =========================================================
   DEPARTMENT HEAD
========================================================= */

.department-head {
    margin-top: 35px;
    min-height: 105px;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}


/* =========================================================
   DEPARTMENT HEAD → STAFF
========================================================= */

.department-vertical-line {
    width: 2px;
    height: 45px;
    background: var(--maroon);
    margin: 0 auto;
}


/* =========================================================
   STAFF SECTION
========================================================= */

.staff-section {
    position: relative;
}


/* Horizontal staff connector */

.staff-horizontal-line {
    position: absolute;
    top: 0;
    left: 8%;
    right: 8%;
    height: 2px;
    background: var(--maroon);
}


/* =========================================================
   STAFF LIST
========================================================= */

.staff-list {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 15px;
    padding-top: 30px;
}


/* Staff box */

.staff-list .org-box {
    flex: 1;
    min-width: 0;
    min-height: 105px;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}


/* Staff connector */

.staff-list .org-box::before {
    content: "";
    position: absolute;
    top: -30px;
    left: 50%;
    width: 2px;
    height: 30px;
    background: var(--maroon);
    transform: translateX(-50%);
}


/* =========================================================
   IT STAFF
========================================================= */

.department-column:nth-child(1) .staff-list .org-box {
    font-size: 14px;
}


/* =========================================================
   ACADEMIC STAFF
========================================================= */

.department-column:nth-child(2) .staff-list {
    gap: 10px;
}

.department-column:nth-child(2) .staff-list .org-box {
    font-size: 13px;
    padding: 18px 10px;
}


/* =========================================================
   MARKETING STAFF
========================================================= */

.department-column:nth-child(3) .staff-list .org-box {
    min-height: 115px;
}


/* =========================================================
   LARGE TABLET / SMALL DESKTOP
========================================================= */

@media (max-width: 1200px) {

    .top-management {
        gap: 15px;
    }

    .top-management .org-box {
        width: 220px;
    }

    .department-heads {
        gap: 20px;
    }

    .staff-list {
        gap: 8px;
    }

    .org-box {
        padding: 18px 12px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .staff-hierarchy {
        padding: 80px 5%;
    }

    .hierarchy-heading {
        margin-bottom: 55px;
    }

    .hierarchy-heading h2 {
        font-size: 38px;
    }


    /* -----------------------------------------
       TOP MANAGEMENT
       2 x 2
    ----------------------------------------- */

    .top-management {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
        max-width: 600px;
        margin: 0 auto;
    }

    .top-management .org-box {
        width: 100%;
        min-height: 100px;
    }


    /* -----------------------------------------
       Top → Department connector
    ----------------------------------------- */

    .top-vertical-line {
        height: 45px;
        margin: 0 auto;
    }


    /* -----------------------------------------
       Departments become vertical
    ----------------------------------------- */

    .department-horizontal-line {
        display: none;
    }

    .department-heads {
        display: flex;
        flex-direction: column;
        gap: 45px;
        max-width: 650px;
        margin: 0 auto;

        /* NEW */
        position: relative;
        padding-top: 45px;
    }


    /* NEW
       Assistant Manager → First Department
       connector
    */

    .department-heads::before {
        content: "";
        position: absolute;

        top: 0;
        left: 50%;

        width: 2px;
        height: 45px;

        background: var(--maroon);

        transform: translateX(-50%);

        z-index: 0;
    }


    .department-column {
        padding-top: 0;
        position: relative;
    }


    /* Remove desktop connector */

    .department-column::before {
        display: none;
    }


    /* -----------------------------------------
       Department head
    ----------------------------------------- */

    .department-head {
        margin-top: 0;
        min-height: 100px;
    }


    /* -----------------------------------------
       Department → Staff
    ----------------------------------------- */

    .department-vertical-line {
        height: 35px;
    }


    /* -----------------------------------------
       Staff
    ----------------------------------------- */

    .staff-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        padding-top: 28px;
    }

    .staff-list .org-box {
        min-height: 100px;
    }


    .staff-horizontal-line {
        left: 25%;
        right: 25%;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .staff-hierarchy {
        padding: 60px 18px;
    }


    /* -----------------------------------------
       Heading
    ----------------------------------------- */

    .hierarchy-heading {
        margin-bottom: 40px;
    }

    .hierarchy-heading span {
        font-size: 11px;
        letter-spacing: 2px;
    }

    .hierarchy-heading h2 {
        font-size: 30px;
        margin: 12px 0;
    }

    .hierarchy-heading p {
        font-size: 14px;
        line-height: 1.7;
    }


    /* -----------------------------------------
       Organization Chart
    ----------------------------------------- */

    .organization-chart {
        width: 100%;
    }


    /* -----------------------------------------
       TOP MANAGEMENT
       1 column
    ----------------------------------------- */

    .top-management {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        width: 100%;
        max-width: 340px;
    }

    .top-management .org-box {
        width: 100%;
        min-height: 90px;
        padding: 18px 15px;
    }


    /* -----------------------------------------
       Top vertical connector
    ----------------------------------------- */

    .top-vertical-line {
        height: 40px;
        margin: 0 auto;
    }


    /* -----------------------------------------
       DEPARTMENTS
    ----------------------------------------- */

    .department-heads {
        width: 100%;
        max-width: 100%;

        /* Keep the connector space */
        padding-top: 40px;

        gap: 50px;
    }


    /* -----------------------------------------
       Assistant Manager → Head of IT
       connector
    ----------------------------------------- */

    .department-heads::before {
        top: 0;
        left: 50%;

        width: 2px;
        height: 40px;

        transform: translateX(-50%);
    }


    .department-column {
        width: 100%;
    }


    /* -----------------------------------------
       Department Head
    ----------------------------------------- */

    .department-head {
        width: 100%;
        min-height: 90px;
        padding: 18px 15px;
    }


    .department-head strong {
        font-size: 15px;
    }


    /* -----------------------------------------
       Department → Staff connector
    ----------------------------------------- */

    .department-vertical-line {
        height: 35px;
    }


    /* -----------------------------------------
       Staff horizontal connector
    ----------------------------------------- */

    .staff-horizontal-line {
        left: 25%;
        right: 25%;
    }


    /* -----------------------------------------
       STAFF
    ----------------------------------------- */

    .staff-list {
        display: flex;
        flex-direction: column;
        gap: 12px;
        padding-top: 28px;
    }

    .staff-list .org-box {
        width: 100%;
        min-height: 85px;
        padding: 17px 15px;
        flex: none;
    }


 

    /* -----------------------------------------
       Academic Staff
    ----------------------------------------- */

    .department-column:nth-child(2) .staff-list .org-box {
        font-size: 14px;
        padding: 17px 15px;
    }


    /* -----------------------------------------
       Marketing
    ----------------------------------------- */

    .department-column:nth-child(3) .staff-list .org-box {
        min-height: 85px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

    .staff-hierarchy {
        padding-left: 14px;
        padding-right: 14px;
    }

    .hierarchy-heading h2 {
        font-size: 27px;
    }

    .org-box {
        font-size: 14px;
    }

    .org-box strong {
        font-size: 15px;
    }

}

/* =========================================================
   MOBILE & TABLET
   STAFF BOX → NEXT STAFF BOX CONNECTOR
========================================================= */

@media (max-width: 900px) {

    /* Staff boxes gap */
    .staff-list {
        gap: 0;
    }

    /* Every staff box except last */
    .staff-list .org-box:not(:last-child) {
        margin-bottom: 35px;
    }

    /* Vertical line from box bottom
       to next box top */
    .staff-list .org-box:not(:last-child)::after {
        content: "";

        position: absolute;

        left: 50%;
        bottom: -35px;

        width: 2px;
        height: 35px;

        background: var(--maroon);

        transform: translateX(-50%);

        z-index: 5;
    }

    /* Remove old connector */
    .staff-list .org-box::before {
        display: none;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .staff-list {
        gap: 0;
    }

    .staff-list .org-box:not(:last-child) {
        margin-bottom: 35px;
    }

    .staff-list .org-box:not(:last-child)::after {
        left: 50%;
        bottom: -35px;

        width: 2px;
        height: 35px;

        background: var(--maroon);

        transform: translateX(-50%);
    }

}


/* =========================================================
   DIRECTOR MESSAGE
========================================================= */

.director-message {
    padding: 110px 8%;
    background: #ffffff;
}

.director-wrapper {
    max-width: 1150px;
    margin: auto;

    display: grid;
    grid-template-columns: 380px 1fr;

    gap: 70px;

    align-items: center;
}


/* =========================================================
   DIRECTOR IMAGE
========================================================= */

.director-image {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 18px;
}

.director-image img {
    width: 100%;
    height: 500px;

    object-fit: cover;
    object-position: center top;

    border-radius: 18px;

    display: block;
}


/* Director Badge */

.director-badge {
    position: absolute;

    bottom: 25px;
    left: 25px;
    right: 25px;

    padding: 18px 20px;

    background: rgba(128, 0, 32, 0.95);

    color: #ffffff;

    border-radius: 12px;

    text-align: center;

    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.director-badge h3 {
    margin: 0 0 5px;
    font-size: 19px;
}

.director-badge span {
    font-size: 13px;
    opacity: 0.9;
}

/* =========================
   MESSAGE CONTENT
========================= */

.director-content {
    position: relative;
}

.director-label {
    color: var(--maroon);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;
}

.director-content h2 {
    font-size: 40px;

    line-height: 1.25;

    color: #222;

    margin: 14px 0 20px;
}


/* Quote Icon */

.quote-icon {
    color: var(--maroon);

    font-size: 28px;

    margin-bottom: 15px;
}


/* =========================
   MESSAGE TEXT
========================= */

.message-text p {
    color: #666;

    font-size: 15px;

    line-height: 1.85;

    margin-bottom: 18px;
}



/* =========================
   FULL MESSAGE
========================= */

.message-full {
    max-height: 0;

    overflow: hidden;

    opacity: 0;

    transition:
        max-height 0.7s ease,
        opacity 0.4s ease;
}

.message-full.show {
    max-height: 3000px;

    opacity: 1;
}


/* =========================
   READ MORE BUTTON
========================= */

.read-message-btn {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    margin-top: 5px;

    padding: 12px 22px;

    background: var(--maroon);

    color: #ffffff;

    border: none;

    border-radius: 7px;

    font-size: 14px;

    font-weight: 600;

    cursor: pointer;

    transition: all 0.3s ease;
}

.read-message-btn:hover {
    background: #600018;

    transform: translateY(-2px);
}


/* =========================
   SIGNATURE
========================= */

.director-sign {
    margin-top: 28px;

    padding-top: 20px;

    border-top: 1px solid #eeeeee;
}

.director-sign h3 {
    color: #333;

    font-size: 19px;

    margin: 0 0 5px;
}

.director-sign span {
    color: #888;

    font-size: 13px;
}


/* =========================
   TABLET
========================= */

@media (max-width: 992px) {

    .director-message {
        padding: 80px 6%;
    }

    .director-wrapper {
        display: grid;
        grid-template-columns: 300px 1fr;
        gap: 45px;
        align-items: center;
    }

    .director-image {
        width: 100%;
        max-width: 300px;
        margin: 0 auto;
        border-radius: 18px;
        overflow: hidden;
    }

    .director-image img {
        width: 100%;
        height: 420px;

        object-fit: cover;
        object-position: center top;

        display: block;
    }

    .director-content {
        width: 100%;
    }

    .director-content h2 {
        font-size: 32px;
        line-height: 1.3;
        margin: 12px 0 18px;
    }

    .message-text p {
        font-size: 14px;
        line-height: 1.8;
    }

    .director-badge {
        left: 15px;
        right: 15px;
        bottom: 15px;
        padding: 14px 15px;
    }
}


/* =========================
   MOBILE
========================= */

@media (max-width: 768px) {

    .director-message {
        padding: 55px 20px 65px;
    }

    .director-wrapper {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 32px;
    }

    /* IMAGE */
    .director-image {
        width: 100%;
        max-width: 360px;
        margin: 0 auto;
        overflow: hidden;
        border-radius: 18px;
    }

    .director-image img {
        width: 100%;
        height: auto;

        object-fit: contain;
        object-position: center;

        border-radius: 18px;
    }

    /* CONTENT */
    .director-content {
        width: 100%;
        text-align: center;
    }

    .director-label {
        display: block;

        font-size: 11px;
        letter-spacing: 2.5px;

        margin-bottom: 10px;
    }

    .director-content h2 {
        font-size: 27px;
        line-height: 1.3;

        margin: 10px 0 18px;
    }

    .quote-icon {
        font-size: 24px;
        margin-bottom: 10px;
    }

    /* TEXT */
    .message-text {
        text-align: left;
    }

    .message-text p {
        font-size: 14px;
        line-height: 1.8;
        margin-bottom: 15px;
    }

    /* BUTTON */
    .read-message-btn {
        margin-top: 8px;
        padding: 11px 20px;

        font-size: 13px;
        border-radius: 6px;
    }

    /* SIGNATURE */
    .director-sign {
        margin-top: 25px;
        padding-top: 18px;

        text-align: center;
    }

    /* BADGE */
    .director-badge {
        left: 12px;
        right: 12px;
        bottom: 12px;

        padding: 13px 14px;

        border-radius: 10px;
    }

    .director-badge h3 {
        font-size: 16px;
    }

    .director-badge span {
        font-size: 11px;
    }
}

/* =========================
   SMALL MOBILE
========================= */

@media (max-width: 480px) {

    .director-message {
        padding: 45px 18px 55px;
    }

    .director-wrapper {
        gap: 28px;
    }

    .director-image {
        width: 100%;
        max-width: 300px;

        border-radius: 16px;
    }

    .director-image img {
        height: 390px;
        object-fit: cover;
        object-position: center top;
    }

    .director-content h2 {
        font-size: 24px;
        line-height: 1.3;
    }

    .director-label {
        font-size: 10px;
        letter-spacing: 2px;
    }

    .message-text p {
        font-size: 13.5px;
        line-height: 1.75;
    }

    .director-badge {
        left: 10px;
        right: 10px;
        bottom: 10px;

        padding: 11px 12px;
    }

    .director-badge h3 {
        font-size: 15px;
    }

    .director-badge span {
        font-size: 10px;
    }
}


/* =========================
   TIMELINE HEADING
========================= */

.timeline-heading {
    text-align: center;

    max-width: 800px;

    margin: 30px auto 0;
}


.timeline-heading span {
    color: var(--maroon);

    letter-spacing: 3px;

    font-weight: 600;

    font-size: 14px;

    text-transform: uppercase;
}


.timeline-heading h2 {
    font-size: 45px;

    margin: 15px 0;

    color: #333;
}


.timeline-heading p {
    color: #666;

    line-height: 1.7;
}


/* =========================
   TIMELINE
========================= */

.timeline {
    position: relative;

    max-width: 950px;

    margin: 75px auto 0;
}


/* =========================
   CENTER LINE
========================= */

.timeline::before {
    content: "";

    position: absolute;

    width: 3px;

    background: var(--maroon);

    top: 0;

    bottom: 0;

    left: 50%;

    transform: translateX(-50%);
}


/* =========================
   TIMELINE ITEM
========================= */

.timeline-item {
    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 65px;

    position: relative;
}


/* =========================
   MONTH + YEAR CIRCLE
========================= */

.timeline-year {
    width: 100px;

    height: 100px;

    border-radius: 50%;

    background: var(--maroon);

    color: white;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    z-index: 2;

    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}


/* Month */

.timeline-year span {
    font-size: 12px;

    font-weight: 500;

    text-transform: uppercase;

    letter-spacing: 1.5px;

    margin-bottom: 5px;

    color: #fff;
}


/* Year */

.timeline-year strong {
    font-size: 24px;

    font-weight: 700;

    line-height: 1;

    color: #fff;
}


/* =========================
   TIMELINE CONTENT
========================= */

.timeline-content {
    width: 43%;

    background: #ffffff;

    padding: 30px;

    border-radius: 15px;

    border: 1px solid rgba(128, 0, 32, 0.08);

    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.07);

    transition: all 0.3s ease;
}


/* Alternate sides */

.timeline-item:nth-child(even) {
    flex-direction: row-reverse;
}


/* =========================
   HOVER EFFECT
========================= */

.timeline-content:hover {
    transform: translateY(-5px);

    box-shadow: 0 18px 35px rgba(0, 0, 0, 0.10);

    border-color: rgba(128, 0, 32, 0.20);
}


/* =========================
   CONTENT TITLE
========================= */

.timeline-content h3 {
    color: var(--maroon);

    font-size: 22px;

    line-height: 1.4;

    margin-bottom: 12px;

    font-weight: 700;
}


/* =========================
   CONTENT TEXT
========================= */

.timeline-content p {
    color: #666;

    line-height: 1.8;

    font-size: 15px;

    margin: 0;
}


/* Important text */




/* =========================
   LAST ITEM
========================= */

.timeline-item:last-child {
    margin-bottom: 0;
}


/* =========================
   TABLET
========================= */

@media (max-width: 900px) {

    .timeline-section {
        padding: 110px 6% 90px;
    }

    .timeline-heading h2 {
        font-size: 38px;
    }

    .timeline-content {
        width: 42%;

        padding: 25px;
    }
}


/* =========================
   MOBILE
========================= */

@media (max-width: 768px) {

    .timeline-section {
        padding: 90px 5% 70px;
    }


    .timeline-heading {
        margin-top: 20px;

        margin-bottom: 50px;
    }


    .timeline-heading h2 {
        font-size: 32px;
    }


    .timeline-heading p {
        font-size: 15px;
    }


    /* Timeline line */

    .timeline::before {
        left: 38px;

        transform: none;
    }


    /* Timeline items */

    .timeline-item,
    .timeline-item:nth-child(even) {

        flex-direction: row;

        justify-content: flex-start;

        align-items: flex-start;

        gap: 20px;

        margin-bottom: 40px;
    }


    /* Month + Year Circle */

    .timeline-year {

        flex-shrink: 0;

        width: 76px;

        height: 76px;
    }


    /* Month */

    .timeline-year span {
        font-size: 9px;

        letter-spacing: 1px;

        margin-bottom: 4px;
    }


    /* Year */

    .timeline-year strong {
        font-size: 18px;
    }


    /* Content */

    .timeline-content {

        width: calc(100% - 96px);

        padding: 22px;

        border-radius: 12px;
    }


    .timeline-content h3 {
        font-size: 18px;

        margin-bottom: 10px;
    }


    .timeline-content p {
        font-size: 14px;

        line-height: 1.7;
    }

}



/* =========================
   LOADING ANIMATION
========================= */

/* =========================
   LOADING ANIMATION
========================= */

.loader {
    position: fixed;
    inset: 0;

    width: 100%;
    height: 100vh;
    height: 100dvh;

    background: #800000;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    z-index: 99999;

    padding: 20px;

    box-sizing: border-box;

    overflow: hidden;
}


/* =========================
   LOADER LOGO
========================= */

.loader-logo {
    color: #ffffff;

    font-size: 48px;
    font-weight: 800;

    letter-spacing: 4px;

    line-height: 1.2;

    text-align: center;

    margin: 0 0 30px 0;

    width: 100%;
}


/* =========================
   SPINNER
========================= */

.spinner {
    width: 48px;
    height: 48px;

    border: 5px solid rgba(255, 255, 255, 0.25);

    border-top-color: #ffffff;

    border-radius: 50%;

    animation: spin 0.9s linear infinite;

    flex-shrink: 0;
}


/* =========================
   SPIN
========================= */

@keyframes spin {

    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }

}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 1024px) {

    .loader {
        padding: 30px;
    }

    .loader-logo {
        font-size: 38px;

        letter-spacing: 3px;

        margin-bottom: 25px;

        max-width: 90%;
    }

    .spinner {
        width: 44px;
        height: 44px;

        border-width: 4px;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 600px) {

    .loader {
        padding: 20px;
    }

    .loader-logo {
        font-size: 27px;

        font-weight: 800;

        letter-spacing: 1.5px;

        line-height: 1.3;

        width: 100%;

        max-width: 340px;

        margin-bottom: 22px;

        /* Important */
        overflow-wrap: break-word;

        word-wrap: break-word;
    }

    .spinner {
        width: 38px;
        height: 38px;

        border-width: 4px;
    }

}


/* ==================================================
   SMALL MOBILE
================================================== */

@media screen and (max-width: 400px) {

    .loader {
        padding: 15px;
    }

    .loader-logo {
        font-size: 23px;

        letter-spacing: 1px;

        line-height: 1.35;

        max-width: 300px;

        margin-bottom: 20px;
    }

    .spinner {
        width: 34px;
        height: 34px;

        border-width: 3px;
    }

}


/* ==================================================
   VERY SMALL MOBILE
================================================== */

@media screen and (max-width: 320px) {

    .loader-logo {
        font-size: 20px;

        letter-spacing: 0.5px;

        max-width: 280px;
    }

    .spinner {
        width: 30px;
        height: 30px;
    }

}

/* =========================
   SMALL MOBILE
========================= */

@media (max-width: 360px) {

    .loader-logo {
        font-size: 21px;
        letter-spacing: 1px;
    }

    .spinner {
        width: 32px;
        height: 32px;

        border-width: 3px;
    }

}
/* =========================================
   SAHA ALUMNI ASSOCIATION
   EXECUTIVE COMMITTEE
========================================= */

.alumni-association {
    padding: 100px 0;
    background: #faf7f8;
    position: relative;
    overflow: hidden;
}


/* =========================================
   SECTION HEADING
========================================= */

.alumni-association .section-title {
    max-width: 760px;
    margin: 0 auto 55px;
    text-align: center;
}

.association-label {
    display: inline-block;
    margin-bottom: 12px;

    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;

    color: #8b1e3f;
}

.alumni-association .section-title h2 {
    margin: 0 0 16px;

    font-size: 40px;
    line-height: 1.25;
    font-weight: 700;

    color: #222;
}

.alumni-association .section-title p {
    max-width: 680px;
    margin: 0 auto;

    font-size: 15px;
    line-height: 1.8;

    color: #777;
}


/* =========================================
   ASSOCIATION INTRO
========================================= */

.association-intro {
    max-width: 900px;

    margin: 0 auto 70px;

    padding: 28px 35px;

    display: flex;
    align-items: center;

    gap: 25px;

    background: #ffffff;

    border: 1px solid #eee;

    border-left: 5px solid #8b1e3f;

    border-radius: 14px;

    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.05);
}

.association-intro-icon {
    min-width: 65px;
    height: 65px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #f6e9ed;

    color: #8b1e3f;

    font-size: 25px;
}

.association-intro-content h3 {
    margin: 0 0 7px;

    font-size: 20px;
    font-weight: 700;

    color: #222;
}

.association-intro-content p {
    margin: 0;

    font-size: 14px;
    line-height: 1.7;

    color: #777;
}


/* =========================================
   COMMITTEE HEADING
========================================= */

.committee-heading {
    text-align: center;

    margin-bottom: 40px;
}

.committee-heading span {
    display: block;

    margin-bottom: 8px;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 2px;

    color: #8b1e3f;
}

.committee-heading h3 {
    margin: 0 0 10px;

    font-size: 30px;
    font-weight: 700;

    color: #222;
}

.committee-heading p {
    margin: 0;

    font-size: 14px;

    color: #777;
}


/* =========================================
   COMMITTEE GRID
========================================= */

.committee-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 28px;
}


/* =========================================
   COMMITTEE CARD
========================================= */

.committee-card {
    background: #ffffff;

    border: 1px solid #eeeeee;

    border-radius: 18px;

    overflow: hidden;

    text-align: center;

    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.055);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}

.committee-card:hover {
    transform: translateY(-8px);

    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.11);
}


/* =========================================
   PRESIDENT HIGHLIGHT
========================================= */

.committee-card.featured-member {
    border: 2px solid #8b1e3f;

    position: relative;
}

.committee-card.featured-member::before {
    content: "LEADERSHIP";

    position: absolute;

    top: 15px;
    left: 15px;

    z-index: 2;

    padding: 6px 12px;

    border-radius: 30px;

    background: #8b1e3f;

    color: #ffffff;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1px;
}


/* =========================================
   MEMBER IMAGE
========================================= */

.member-image {
    width: 100%;

    height: 280px;

    background: #f2f2f2;

    overflow: hidden;
}

.member-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform 0.5s ease;
}

.committee-card:hover .member-image img {
    transform: scale(1.05);
}


/* =========================================
   MEMBER CONTENT
========================================= */

.member-content {
    padding: 25px 20px 28px;
}

.member-position {
    display: inline-block;

    margin-bottom: 9px;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1.4px;

    color: #8b1e3f;
}

.member-content h3 {
    margin: 0 0 6px;

    font-size: 21px;
    font-weight: 700;

    color: #222;
}

.member-content p {
    margin: 0;

    font-size: 13px;

    color: #888;
}


/* =========================================
   SOCIAL ICONS
========================================= */

.member-social {
    display: flex;

    justify-content: center;

    align-items: center;

    gap: 9px;

    margin-top: 18px;
}

.member-social a {
    width: 34px;
    height: 34px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #f7eef1;

    color: #8b1e3f;

    text-decoration: none;

    font-size: 13px;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.member-social a:hover {
    background: #8b1e3f;

    color: #ffffff;

    transform: translateY(-3px);
}


/* =========================================
   ALUMNI CTA
========================================= */

.alumni-cta {
    margin-top: 70px;

    padding: 35px 40px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    border-radius: 18px;

    background: #8b1e3f;

    position: relative;

    overflow: hidden;
}


/* Decorative circle */

.alumni-cta::after {
    content: "";

    position: absolute;

    width: 220px;
    height: 220px;

    right: -80px;
    top: -100px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.07);
}


/* CTA Content */

.alumni-cta-content {
    position: relative;

    z-index: 1;
}

.alumni-cta-content span {
    display: block;

    margin-bottom: 7px;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1.8px;

    color: rgba(255, 255, 255, 0.75);
}

.alumni-cta-content h3 {
    margin: 0 0 8px;

    font-size: 24px;
    font-weight: 700;

    color: #ffffff;
}

.alumni-cta-content p {
    max-width: 650px;

    margin: 0;

    font-size: 13px;
    line-height: 1.7;

    color: rgba(255, 255, 255, 0.82);
}


/* =========================================
   CTA BUTTON
========================================= */

.alumni-cta-btn {
    position: relative;

    z-index: 1;

    flex-shrink: 0;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    padding: 13px 23px;

    border-radius: 8px;

    background: #ffffff;

    color: #8b1e3f;

    text-decoration: none;

    font-size: 13px;

    font-weight: 700;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.alumni-cta-btn:hover {
    transform: translateY(-3px);

    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.18);
}

.alumni-cta-btn i {
    font-size: 12px;

    transition: transform 0.3s ease;
}

.alumni-cta-btn:hover i {
    transform: translateX(4px);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 992px) {

    .alumni-association {
        padding: 80px 0;
    }

    .alumni-association .section-title h2 {
        font-size: 34px;
    }

    .committee-grid {
        grid-template-columns: repeat(2, 1fr);

        gap: 24px;
    }

    .member-image {
        height: 270px;
    }

    .alumni-cta {
        padding: 30px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 768px) {

    .alumni-association {
        padding: 65px 0;
    }

    .alumni-association .section-title {
        margin-bottom: 40px;
    }

    .alumni-association .section-title h2 {
        font-size: 29px;
    }

    .alumni-association .section-title p {
        font-size: 14px;
    }


    /* Intro */

    .association-intro {
        margin-bottom: 55px;

        padding: 25px;

        align-items: flex-start;

        gap: 18px;
    }

    .association-intro-icon {
        min-width: 55px;
        height: 55px;

        font-size: 21px;
    }


    /* Committee */

    .committee-heading h3 {
        font-size: 26px;
    }

    .committee-grid {
        grid-template-columns: 1fr;

        gap: 22px;
    }

    .member-image {
        height: 320px;
    }


    /* CTA */

    .alumni-cta {
        margin-top: 55px;

        padding: 28px 25px;

        flex-direction: column;

        align-items: flex-start;
    }

    .alumni-cta-content h3 {
        font-size: 21px;
    }

    .alumni-cta-btn {
        width: 100%;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    .alumni-association {
        padding: 55px 15px;
    }

    .alumni-association .section-title h2 {
        font-size: 25px;
    }

    .association-label {
        font-size: 11px;
        letter-spacing: 1.5px;
    }

    .association-intro {
        flex-direction: column;

        align-items: center;

        text-align: center;
    }

    .association-intro-content h3 {
        font-size: 18px;
    }

    .committee-heading h3 {
        font-size: 23px;
    }

    .member-image {
        height: 290px;
    }

    .member-content {
        padding: 22px 18px 25px;
    }

    .alumni-cta {
        border-radius: 14px;
    }

}


/* =====================================================
   FINAL RESPONSIVE DIRECTOR IMAGE FIX
   Put this at the VERY END of your CSS
===================================================== */

/* TABLET */
@media (min-width: 769px) and (max-width: 992px) {

    .director-wrapper {
        display: grid !important;
        grid-template-columns: 300px minmax(0, 1fr) !important;
        gap: 45px !important;
        align-items: center !important;
    }

    .director-image {
        width: 300px !important;
        max-width: 300px !important;
        height: 400px !important;
        min-height: 0 !important;

        margin: 0 auto !important;
        overflow: hidden !important;
        border-radius: 18px !important;
    }

    .director-image img {
        width: 100% !important;
        height: 400px !important;
        min-height: 0 !important;

        display: block !important;

        object-fit: cover !important;
        object-position: center top !important;

        border-radius: 18px !important;
    }
}


/* MOBILE */
@media (max-width: 768px) {

    .director-message {
        padding: 50px 20px 60px !important;
    }

    .director-wrapper {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 30px !important;
    }

    .director-image {
        width: 280px !important;
        max-width: 280px !important;

        height: 360px !important;
        min-height: 0 !important;

        margin: 0 auto !important;

        overflow: hidden !important;
        border-radius: 18px !important;

        box-shadow: 0 10px 30px rgba(0,0,0,0.12) !important;
    }

    .director-image img {
        width: 100% !important;
        height: 360px !important;
        min-height: 0 !important;

        display: block !important;

        object-fit: cover !important;
        object-position: center 10% !important;

        border-radius: 18px !important;
    }

    .director-content {
        width: 100% !important;
        text-align: center !important;
    }

    .director-content h2 {
        font-size: 27px !important;
        line-height: 1.3 !important;
        margin-top: 10px !important;
    }

    .message-text {
        text-align: left !important;
    }

    .message-text p {
        font-size: 14px !important;
        line-height: 1.8 !important;
    }

    .director-badge {
        left: 12px !important;
        right: 12px !important;
        bottom: 12px !important;
    }
}


/* SMALL MOBILE */
@media (max-width: 480px) {

    .director-message {
        padding: 40px 18px 50px !important;
    }

    .director-image {
        width: 250px !important;
        max-width: 250px !important;

        height: 325px !important;
        min-height: 0 !important;
    }

    .director-image img {
        width: 100% !important;
        height: 325px !important;
        min-height: 0 !important;

        object-fit: cover !important;
        object-position: center 8% !important;
    }

    .director-content h2 {
        font-size: 24px !important;
    }
}