/* Reset & Fonts */
/* * { margin:0; padding:0; box-sizing:border-box; font-family:'Roboto', sans-serif;}
body { line-height:1.6; color:#333; scroll-behavior:smooth; } */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --primary: #f3f9f9;
    --secondary: #f6a156;
    --accent: #f59e0b;
    --dark: #1e293b;
    --light: #f8fafc;
    --success: #10b981;
    --danger: #ef4444;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
    color: var(--dark);
    background: var(--light);
}
/* Top Bar */
.top-bar { background:white; color:#fff; padding:0.5rem 2rem; text-align:center; font-size:0.9rem; }

/* Navbar */
.navbar { display:flex; justify-content:space-between; align-items:center; background:#2c3e50; padding:1rem 2rem; color:#fff; position:sticky; top:0; z-index:100;}
.navbar .logo { display:flex; align-items:center; font-weight:bold; font-size:1.5rem; }
.logo-badge { width:40px; height:40px; border-radius:50%; background:#e67e22; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:bold; font-size:1.2rem; margin-right:10px; border:2px solid #fff;}
.navbar .nav-links { list-style:none; display:flex; }
.navbar .nav-links li { margin-left:1.5rem; }
.navbar .nav-links li a { color:#fff; text-decoration:none; font-weight:500; transition:0.3s; }
.navbar .nav-links li a:hover { color:#e67e22; }
.navbar .menu-toggle { display:none; cursor:pointer; }


/* =============================================================== */

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ================= HEADER ================= */
.site-header {
    background: linear-gradient(135deg, var(--primary) 0%, #8b5cf6 100%);
    color: white;
    padding: 1.5rem 0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}

.logo-section h1 {
    font-size: 2rem;
    margin-bottom: 0.25rem;
    font-weight: 700;
}

.tagline {
    font-size: 0.85rem;
    opacity: 0.9;
    margin: 0;
}

.nav-list {
    list-style: none;
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
}

.nav-list a {
    color: white;
    text-decoration: none;
    font-weight: 600;
    position: relative;
    transition: all 0.3s ease;
    padding: 0.5rem 0;
}

.nav-list a::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--accent);
    transition: width 0.3s ease;
}

.nav-list a:hover::after {
    width: 100%;
}

/* ================= HERO ================= */

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        /* CSS Variables */
        :root {
            --primary: #1e3a5f;
            --secondary: #2c5282;
            --accent: #f59e0b;
            --dark: #0f172a;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            line-height: 1.6;
        }

        /* ================= HERO ================= */
        .hero {
            position: relative;
            width: 100%;
            height: 80vh;
            min-height: 500px;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        /* Video Wrapper */
        .hero-video-wrapper {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 0;
            overflow: hidden;
        }

        /* Video styling */
        .hero-video-wrapper video {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        /* Dark overlay for text readability */
        .hero::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.45);
            z-index: 1;
            pointer-events: none;
        }

        /* Text Content */
        .hero-content {
            position: relative;
            z-index: 2;
            text-align: center;
            color: white;
            padding: 2rem;
            max-width: 800px;
            margin: 0 auto;
        }

        .hero-title {
            font-size: 3.5rem;
            margin-bottom: 1rem;
            font-weight: 800;
            text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
            animation: slideInDown 0.8s ease;
        }

        .hero-motto {
            font-size: 1.5rem;
            margin-bottom: 2rem;
            text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
            animation: slideInUp 0.8s ease 0.2s both;
        }

        /* Buttons */
        .btn {
            display: inline-block;
            padding: 0.75rem 2rem;
            border-radius: 50px;
            text-decoration: none;
            font-weight: 600;
            transition: all 0.3s ease;
            border: 2px solid transparent;
            cursor: pointer;
            font-size: 1rem;
        }

        .btn-primary {
            background: var(--accent);
            color: white;
        }

        .btn-primary:hover {
            transform: translateY(-3px);
            box-shadow: 0 10px 25px rgba(245, 158, 11, 0.4);
            background: #e6900a;
        }

        /* Animations */
        @keyframes slideInDown {
            from {
                opacity: 0;
                transform: translateY(-40px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes slideInUp {
            from {
                opacity: 0;
                transform: translateY(40px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Responsive Design */
        @media (max-width: 768px) {
            .hero {
                height: 70vh;
                min-height: 400px;
            }
            
            .hero-title {
                font-size: 2.5rem;
            }
            
            .hero-motto {
                font-size: 1.2rem;
            }
        }

        @media (max-width: 480px) {
            .hero {
                height: 60vh;
                min-height: 350px;
            }
            
            .hero-title {
                font-size: 1.8rem;
            }
            
            .hero-motto {
                font-size: 1rem;
            }
            
            .btn {
                padding: 0.6rem 1.5rem;
                font-size: 0.9rem;
            }
        }

        /* Placeholder content after hero */
        .content {
            padding: 4rem 2rem;
            text-align: center;
        }

/* ================= SECTIONS ================= */
.section {
    padding: 4rem 2rem;
}

.section-header {
    text-align: center;
    margin-bottom: 3rem;
}

.section-header h2 {
    font-size: 2.5rem;
    margin-bottom: 0.75rem;
    color: var(--dark);
    font-weight: 700;
}

.section-header p {
    font-size: 1.1rem;
    color: #64748b;
}

/* ================= SPORTS SECTION ================= */
.sports-section {
    background: linear-gradient(135deg, #f0f9ff 0%, #fef3c7 100%);
}

.sports-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.sport-card {
    background: white;
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    border-left: 4px solid var(--primary);
}

.sport-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.sport-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.sport-emoji {
    font-size: 2.5rem;
}

.sport-header h3 {
    margin: 0;
    font-size: 1.5rem;
    color: var(--dark);
}

.sport-coach {
    color: var(--primary);
    font-weight: 600;
    margin: 0.5rem 0;
    font-size: 0.95rem;
}

.sport-info {
    background: #f8fafc;
    padding: 1rem;
    border-radius: 0.75rem;
    margin: 1rem 0;
    font-size: 0.9rem;
}

.sport-info p {
    margin: 0.5rem 0;
    color: #64748b;
}

.stats-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.stat-card {
    background: white;
    padding: 2rem;
    border-radius: 1rem;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    border-top: 4px solid var(--success);
}

.stat-card h4 {
    font-size: 2.5rem;
    color: var(--success);
    margin-bottom: 0.5rem;
}

.stat-card p {
    color: #64748b;
    margin: 0;
}

/* ================= EXAM SECTION ================= */
.exam-section {
    background: linear-gradient(135deg, #fef2f2 0%, #fef3c7 100%);
}

.exam-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.exam-card {
    background: white;
    padding: 2rem;
    border-radius: 1rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    border-left: 4px solid var(--secondary);
    position: relative;
    transition: all 0.3s ease;
}

.exam-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}

.exam-card.featured {
    background: linear-gradient(135deg, var(--secondary) 0%, #f43f5e 100%);
    color: white;
    border: none;
    padding: 2.5rem 2rem;
}

.exam-label {
    position: absolute;
    top: -12px;
    right: 20px;
    background: var(--accent);
    color: white;
    padding: 0.4rem 1rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 700;
}

.exam-card h3 {
    font-size: 1.3rem;
    margin-bottom: 1rem;
    font-weight: 700;
}

.exam-date,
.exam-time {
    margin: 0.75rem 0;
    font-weight: 500;
}

.exam-note {
    font-size: 0.9rem;
    opacity: 0.9;
    margin-top: 1rem;
}

.exam-checklist p {
    margin: 0.5rem 0;
    font-size: 0.95rem;
}

.tips-section {
    background: white;
    padding: 2rem;
    border-radius: 1rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

.tips-section h3 {
    text-align: center;
    margin-bottom: 2rem;
    font-size: 1.5rem;
}

.tips-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
}

.tip-box {
    background: linear-gradient(135deg, #f0fdf4 0%, #f0f9ff 100%);
    padding: 1.5rem;
    border-radius: 0.75rem;
    text-align: center;
    border: 2px solid #e2e8f0;
    transition: all 0.3s ease;
}

.tip-box:hover {
    border-color: var(--success);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.1);
}

.tip-icon {
    font-size: 2rem;
    display: block;
    margin-bottom: 0.75rem;
}

.tip-box h4 {
    margin-bottom: 0.5rem;
    color: var(--dark);
}

.tip-box p {
    font-size: 0.95rem;
    color: #64748b;
    margin: 0;
}

/* ================= CLUBS SECTION ================= */
.clubs-section {
    background: linear-gradient(135deg, #f3e8ff 0%, #fce7f3 100%);
}

.clubs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.5rem;
}

.club-card {
    background: white;
    padding: 2rem;
    border-radius: 1rem;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    border-bottom: 4px solid var(--secondary);
    transition: all 0.3s ease;
}

.club-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
}

.club-emoji {
    font-size: 2.5rem;
    display: block;
    margin-bottom: 1rem;
}

.club-card h3 {
    font-size: 1.2rem;
    margin-bottom: 0.75rem;
    color: var(--dark);
}

.club-card p {
    color: #64748b;
    font-weight: 500;
}

/* ================= EVENTS SECTION ================= */
.events-section {
    background: linear-gradient(135deg, #ecfdf5 0%, #eff6ff 100%);
}

.events-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

.event-box {
    background: white;
    padding: 2rem;
    border-radius: 1rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.event-box:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
}

.event-date-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    background: var(--accent);
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-weight: 700;
    font-size: 0.85rem;
}

.event-emoji {
    font-size: 3rem;
    display: block;
    margin-bottom: 1rem;
}

.event-box h3 {
    font-size: 1.4rem;
    margin-bottom: 1rem;
    color: var(--dark);
}

.event-box p {
    color: #64748b;
    margin: 0;
    line-height: 1.6;
}

/* ================= CONTACT SECTION ================= */
.contact-section {
    background: linear-gradient(135deg, var(--primary) 0%, #8b5cf6 100%);
    color: white;
}

.contact-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
}

.contact-info h2 {
    font-size: 2rem;
    margin-bottom: 1.5rem;
    color: white;
}

.contact-info p {
    font-size: 1.1rem;
    margin: 1rem 0;
    opacity: 0.95;
    color: white;
}

.contact-cta h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

.contact-buttons {
    display: flex;
    gap: 1rem;
    margin-top: 1.5rem;
}

.contact-buttons .btn {
    flex: 1;
}

/* ================= FOOTER ================= */
.footer {
    background: var(--dark);
    color: white;
    text-align: center;
    padding: 2rem;
    font-size: 0.95rem;
}

.footer p {
    margin: 0.5rem 0;
}

.social-emoji {
    font-size: 1.5rem;
    letter-spacing: 0.5rem;
    margin-top: 1rem;
}

/* ================= ANIMATIONS ================= */
@keyframes slideInDown {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ================= RESPONSIVE ================= */
@media (max-width: 768px) {
    .header-inner {
        flex-direction: column;
        gap: 1rem;
    }

    .logo-section h1 {
        font-size: 1.5rem;
    }

    .nav-list {
        justify-content: center;
        gap: 1rem;
        font-size: 0.9rem;
    }

    .hero h2 {
        font-size: 2rem;
    }

    .hero p {
        font-size: 1rem;
    }

    .section-header h2 {
        font-size: 2rem;
    }

    .sports-grid,
    .exam-grid,
    .clubs-grid,
    .events-grid {
        grid-template-columns: 1fr;
    }

    .contact-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .contact-buttons {
        flex-direction: column;
    }

    .stats-container {
        grid-template-columns: 1fr;
    }

    .sport-header {
        flex-direction: column;
        text-align: center;
    }

    .section {
        padding: 2rem 1rem;
    }
}

@media (max-width: 480px) {
    .logo-section h1 {
        font-size: 1.2rem;
    }

    .nav-list {
        gap: 0.5rem;
        font-size: 0.8rem;
    }

    .hero {
        padding: 3rem 1rem;
    }

    .hero h2 {
        font-size: 1.5rem;
    }

    .section-header h2 {
        font-size: 1.5rem;
    }

    .btn {
        width: 100%;
        text-align: center;
    }
}

.cards-grid,
.event-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    margin-top: 1.5rem;
}
.card,
.event-card {
    border: 1px solid #d0d0d0;
    background: #fff;
    padding: 1.5rem;
    border-radius: 0.65rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    cursor: pointer;
}
.card:hover,
.event-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    border-color: #00796b;
}
.card h3,
.event-card h4 {
    margin-top: 0;
    color: #004d40;
}

.subject-icon {
    font-size: 2.5rem;
    display: block;
    margin-bottom: 0.5rem;
}

.event-icon {
    font-size: 2.5rem;
    display: block;
    margin-bottom: 0.5rem;
}

.event-desc {
    font-size: 0.95rem;
    color: #666;
    margin: 0.5rem 0 0;
}

/* Enhanced Events Section */
.events-section {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.event-grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    margin-top: 2rem;
}

.event-card {
    border: 1px solid #e0e0e0;
    background: #fff;
    padding: 1.5rem;
    border-radius: 1rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.event-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
    border-color: #00796b;
}

.event-card.featured-event {
    border: 2px solid #f6a156;
    background: linear-gradient(135deg, #fff 0%, #fff9e6 100%);
}

.event-badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: #f6a156;
    color: #00332f;
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.event-icon {
    font-size: 3rem;
    display: block;
    margin-bottom: 1rem;
}

.event-date,
.event-location {
    font-size: 0.9rem;
    color: #00796b;
    font-weight: 600;
    margin: 0.5rem 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.event-details {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.detail-item {
    background: #f0f7f4;
    color: #004d40;
    padding: 0.25rem 0.5rem;
    border-radius: 0.5rem;
    font-size: 0.8rem;
    font-weight: 500;
}

.events-cta {
    text-align: center;
    margin-top: 3rem;
    padding: 2rem;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.events-cta p {
    margin-bottom: 1rem;
    color: #666;
}

/* Enhanced CTA Section */
.cta {
    background: linear-gradient(135deg, #00796b 0%, #009688 100%);
    color: #fff;
    padding: 4rem 0;
    margin-top: 3rem;
    position: relative;
    overflow: hidden;
}

.cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="75" cy="75" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="50" cy="10" r="0.5" fill="rgba(255,255,255,0.1)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
    opacity: 0.1;
}

.cta-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    position: relative;
    z-index: 1;
}

.cta-text h2 {
    margin-top: 0;
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.cta-text p {
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 2rem;
}

.cta-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: rgba(255, 255, 255, 0.1);
    padding: 0.75rem;
    border-radius: 0.5rem;
    backdrop-filter: blur(10px);
}

.feature-icon {
    font-size: 1.5rem;
}

.cta-actions {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.primary-btn,
.secondary-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 1.5rem;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 700;
    transition: all 0.3s ease;
    text-align: center;
    justify-content: center;
}

.primary-btn {
    background: #f6a156;
    color: #00332f;
}

.primary-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.secondary-btn {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.secondary-btn:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: translateY(-2px);
}

.btn-icon {
    font-size: 1.2rem;
}

.cta-info {
    background: rgba(255, 255, 255, 0.1);
    padding: 1.5rem;
    border-radius: 0.75rem;
    margin-top: 1rem;
    backdrop-filter: blur(10px);
    color: white;
}

.cta-info p {
    margin: 0.25rem 0;
    font-size: 0.9rem;
    
}

.cta-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 3rem;
    position: relative;
    z-index: 1;
}

.stat-box {
    text-align: center;
    background: rgba(255, 255, 255, 0.1);
    padding: 1.5rem;
    border-radius: 0.75rem;
    backdrop-filter: blur(10px);
}

.stat-number {
    display: block;
    font-size: 2.5rem;
    font-weight: 700;
    color: #f6a156;
    margin-bottom: 0.5rem;
}

.stat-text {
    font-size: 0.9rem;
    color: #e0f2f1;
    font-weight: 500;
}

/* Stats Grid */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
    text-align: center;
}

.stat-item {
    background: #fff;
    padding: 1.5rem;
    border-radius: 0.75rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    border: 2px solid #e0f2f1;
}

.stat-number {
    display: block;
    font-size: 2.5rem;
    font-weight: 700;
    color: #00796b;
    margin-bottom: 0.25rem;
}

.stat-label {
    font-size: 0.9rem;
    color: #666;
    font-weight: 500;
}

/* Results Section Styles */
.results-section {
    background: linear-gradient(135deg, #f0f7f4 0%, #e0f2f1 100%);
    
}

.results-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-top: 2rem;
    
}

.results-form {
    background: #fff;
    padding: 2rem;
    border-radius: 1rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    height: 300px;
}

.results-form h3 {
    color: #004d40;
    margin-top: 0;
    margin-bottom: 1.5rem;
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: #004d40;
}

.form-group input,
.form-group select {
    width: 100%;
    padding: 0.75rem;
    border: 2px solid #e0e0e0;
    border-radius: 0.5rem;
    font-size: 1rem;
    transition: border-color 0.3s ease;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.form-group input:focus,
.form-group select:focus {
    outline: none;
    border-color: #00796b;
    box-shadow: 0 0 0 3px rgba(0, 121, 107, 0.1);
}

.btn-search {
    width: 100%;
    margin-top: 1rem;
}

.results-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-content: start;
}

.info-card {
    background: #fff;
    padding: 1.5rem;
    border-radius: 0.75rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    border-left: 4px solid #00796b;
    transition: all 0.3s ease;
}

.info-card:hover {
    transform: translateX(4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.info-card h4 {
    color: #004d40;
    margin-top: 0;
    margin-bottom: 0.75rem;
}

.info-card p {
    margin: 0;
    color: #666;
    font-size: 0.95rem;
}

.cta {
    background: linear-gradient(120deg, #393e3d00, #172725);
    color: #fff;
    text-align: center;
    padding: 3rem 0;
    margin-top: 2rem;
}
.cta h2 {
    margin-top: 0;
}
.cta p {
    margin: 0.4rem 0 1rem;
    font-size: 1.1rem;
}

.cta-btn,
.button,
a.cta-btn {
    display: inline-block;
    background: #f6a156;
    color: #00332f;
    font-weight: 700;
    padding: 0.8rem 1.4rem;
    border-radius: 999px;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: none;
    cursor: pointer;
    font-size: 1rem;
}
.cta-btn:hover,
.cta-btn:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

/* credits section */
style
  .credits {
    margin-top: 1rem;
    font-size: 0.9rem;
    color: #90a4ae;
}

.hidden-names {
    display: none;
}

.show-more-btn {
    background: none;
    border: none;
    color: #80deea;
    cursor: pointer;
    font-size: 0.85rem;
    margin-left: 0.3rem;
}

.show-more-btn:hover {
    text-decoration: underline;
}style
/* footer section */

.footer {
    background: #263238;
    color: #cfd8dc;
    padding: 3rem 0 1rem;
    margin-top: 3rem;
}

/* .footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-bottom: 2rem;
} */
/* map map map */

.footer-content {
    display: grid;
    grid-template-columns: 1.2fr repeat(3, 1fr);
    gap: 2rem;
    margin-bottom: 2rem;
}


.map-section iframe {
    width: 100%;
    height: 200px;
}

@media (max-width: 768px) {
    .footer-content {
        grid-template-columns: 1fr;
    }
}

/* map endshere */
.footer-section h3 {
    color: #fff;
    margin-bottom: 1rem;
    font-size: 1.5rem;
}

.footer-section h4 {
    color: #80deea;
    margin-bottom: 1rem;
    font-size: 1.1rem;
}

.footer-section p {
    line-height: 1.6;
    margin-bottom: 1rem;
}

.social-links {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
}

.social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    text-decoration: none;
    font-size: 1.2rem;
    transition: all 0.3s ease;
}

.social-link:hover {
    background: #00796b;
    transform: translateY(-2px);
}

.contact-info p {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    font-size: 0.95rem;
}

.contact-icon {
    font-size: 1rem;
    flex-shrink: 0;
    margin-top: 0.1rem;
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
}

.footer-links li {
    margin-bottom: 0.5rem;
    text-align: center;
}

.footer-links a {
    color: #cfd8dc;
    text-decoration: none;
    transition: color 0.3s ease;
    font-size: 0.95rem;
    
}

.footer-links a:hover {
    color: #80deea;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 1.5rem;
}

.footer-bottom-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.footer-bottom p {
    margin: 0;
    font-size: 0.9rem;
    color: #90a4ae;
}

.footer-bottom-links {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.footer-bottom-links a {
    color: #90a4ae;
    text-decoration: none;
    font-size: 0.85rem;
    transition: color 0.3s ease;
}

.footer-bottom-links a:hover {
    color: #80deea;
}

/* Teachers Section */
.teachers-section {
    background: linear-gradient(135deg, #e8f5e8 0%, #f1f8e9 100%);
}

.teachers-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.teacher-card {
    background: #fff;
    padding: 2rem;
    border-radius: 1rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    text-align: center;
    transition: all 0.3s ease;
}

.teacher-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.teacher-avatar {
    font-size: 4rem;
    margin-bottom: 1rem;
}

.teacher-role {
    color: #00796b;
    font-weight: 600;
    margin: 0.5rem 0;
}

.teacher-desc {
    color: #666;
    font-size: 0.95rem;
    line-height: 1.5;
}

/* Facilities Section */
.facilities-section {
    background: linear-gradient(135deg, #fff3e0 0%, #fce4ec 100%);
}

.facilities-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.facility-card {
    background: #fff;
    padding: 2rem;
    border-radius: 1rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    text-align: center;
    transition: all 0.3s ease;
}

.facility-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
    border: 2px solid #00796b;
}

.facility-icon {
    font-size: 3rem;
    display: block;
    margin-bottom: 1rem;
}

.facility-card h4 {
    color: #004d40;
    margin-bottom: 1rem;
}

.facility-card p {
    color: #666;
    line-height: 1.5;
}

/* News Section */
.news-section {
    background: linear-gradient(135deg, #e3f2fd 0%, #f3e5f5 100%);
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.news-card {
    background: #fff;
    padding: 1.5rem;
    border-radius: 1rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-left: 4px solid #00796b;
    transition: all 0.3s ease;
}

.news-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.news-date {
    color: #00796b;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.news-card h4 {
    color: #004d40;
    margin-bottom: 1rem;
}

.news-card p {
    color: #666;
    line-height: 1.5;
    margin-bottom: 1rem;
}

.news-link {
    color: #00796b;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
}

.news-link:hover {
    text-decoration: underline;
}

/* Gallery Section */
.gallery-section {
    background: linear-gradient(135deg, #fce4ec 0%, #e8f5e8 100%);
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}

.gallery-item {
    background: #fff;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
}

.gallery-item:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.gallery-placeholder {
    width: 100%;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    background: linear-gradient(135deg, #00796b, #009688);
    color: white;
}

.gallery-item p {
    padding: 1rem;
    margin: 0;
    text-align: center;
    font-weight: 600;
    color: #004d40;
}

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Sports Section Styles */
.sports-section {
    background: linear-gradient(135deg, #f0f7f4 0%, #e0f2f1 100%);
}

.sports-grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    margin-top: 2rem;
}

.sports-card {
    background: #fff;
    padding: 2rem;
    border-radius: 1rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-top: 4px solid #00796b;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

.sports-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.sport-icon {
    font-size: 3.5rem;
    margin-bottom: 1rem;
}

.sports-card h3 {
    color: #004d40;
    margin: 0.5rem 0 1rem;
    font-size: 1.3rem;
}

.sport-description {
    color: #555;
    margin-bottom: 1rem;
    flex-grow: 1;
}

.sport-details {
    background: #f5f5f5;
    padding: 1rem;
    border-radius: 0.5rem;
    margin: 1rem 0;
    font-size: 0.9rem;
}

.sport-details p {
    margin: 0.5rem 0;
    color: #666;
}

.sport-details strong {
    color: #004d40;
}

.sport-btn {
    display: inline-block;
    background: #00796b;
    color: #fff;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    text-decoration: none;
    font-weight: 600;
    text-align: center;
    transition: all 0.3s ease;
    margin-top: auto;
}

.sport-btn:hover {
    background: #004d40;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.sports-stats {
    background: #fff;
    padding: 2rem;
    border-radius: 1rem;
    margin-top: 2rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    text-align: center;
}

.sports-stats h3 {
    color: #004d40;
    margin-bottom: 1.5rem;
}

.stats-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 2rem;
}

/* Exam Section Styles */
.exam-section {
    background: linear-gradient(135deg, #fff9e6 0%, #ffe0b2 100%);
}

.exam-schedule {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    margin-top: 2rem;
}

.exam-card {
    background: #fff;
    padding: 2rem;
    border-radius: 1rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-left: 5px solid #ff7043;
    position: relative;
    transition: all 0.3s ease;
}

.exam-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.exam-badge {
    position: absolute;
    top: -12px;
    right: 20px;
    background: #ff7043;
    color: #fff;
    padding: 0.4rem 1rem;
    border-radius: 1rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.exam-badge.featured {
    background: #f6a156;
    color: #333;
}

.exam-card h3 {
    color: #d84315;
    margin-top: 0.5rem;
    margin-bottom: 1rem;
    font-size: 1.3rem;
}

.exam-info {
    background: #f9f9f9;
    padding: 1rem;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
}

.exam-info p {
    margin: 0.5rem 0;
    color: #666;
    font-size: 0.95rem;
}

.exam-info strong {
    color: #d84315;
}

.exam-desc {
    color: #555;
    font-style: italic;
    margin: 1rem 0 !important;
}

.exam-requirements {
    background: #f0f7f4;
    padding: 1rem;
    border-radius: 0.5rem;
    border-left: 3px solid #00796b;
}

.exam-requirements h4 {
    color: #004d40;
    margin-top: 0;
    margin-bottom: 0.75rem;
}

.exam-requirements ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.exam-requirements li {
    color: #666;
    padding: 0.25rem 0;
    font-size: 0.9rem;
}

.exam-tips {
    background: #fff;
    padding: 2rem;
    border-radius: 1rem;
    margin-top: 2rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.exam-tips h3 {
    color: #004d40;
    text-align: center;
    margin-bottom: 1.5rem;
}

.tips-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
}

.tip {
    background: linear-gradient(135deg, #e8f5e9 0%, #f1f8e9 100%);
    padding: 1.5rem;
    border-radius: 0.75rem;
    text-align: center;
    transition: all 0.3s ease;
}

.tip:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}

.tip-icon {
    font-size: 2.5rem;
    display: block;
    margin-bottom: 0.75rem;
}

.tip h4 {
    color: #004d40;
    margin: 0 0 0.5rem;
}

.tip p {
    color: #666;
    margin: 0;
    font-size: 0.9rem;
}

/* Clubs Section Styles */
.clubs-section {
    background: linear-gradient(135deg, #f3e5f5 0%, #f0f4ff 100%);
}

.clubs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.club-card {
    background: #fff;
    padding: 1.5rem;
    border-radius: 1rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-bottom: 3px solid #9c27b0;
    text-align: center;
    transition: all 0.3s ease;
}

.club-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.club-icon {
    font-size: 2.5rem;
    display: block;
    margin-bottom: 1rem;
}

.club-card h3 {
    color: #6a1b9a;
    margin: 0.5rem 0 1rem;
}

.club-card p {
    color: #666;
    margin: 0.5rem 0;
}

.club-schedule {
    color: #9c27b0;
    font-weight: 600;
    margin-top: 1rem;
    font-size: 0.9rem;
}

/* Activities Section Styles */
.activities-section {
    background: linear-gradient(135deg, #e0f2f1 0%, #e8f5e9 100%);
}

.activities-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.activity-card {
    background: #fff;
    padding: 1.5rem;
    border-radius: 1rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-top: 4px solid #00796b;
    transition: all 0.3s ease;
}

.activity-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.activity-icon {
    font-size: 2.5rem;
    display: block;
    margin-bottom: 0.75rem;
}

.activity-card h3 {
    color: #004d40;
    margin: 0.5rem 0;
}

.activity-date {
    color: #00796b;
    font-weight: 600;
    margin: 0.75rem 0;
    font-size: 0.95rem;
}

.activity-card p {
    color: #666;
    line-height: 1.6;
    margin: 0;
}

/* Calendar Section Styles */
.calendar-section {
    background: linear-gradient(135deg, #eceff1 0%, #f5f5f5 100%);
}

.calendar-overview {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}

.month-block {
    background: #fff;
    padding: 1.5rem;
    border-radius: 1rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-left: 4px solid #00796b;
    transition: all 0.3s ease;
}

.month-block:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.12);
}

.month-block h3 {
    color: #004d40;
    margin-top: 0;
    margin-bottom: 1rem;
    font-size: 1.2rem;
}

.month-block ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.month-block li {
    color: #555;
    padding: 0.5rem 0;
    font-size: 0.95rem;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 0.5rem;
}

.month-block li:last-child {
    border-bottom: none;
}

/* Contact Options */
.contact-options {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 2rem;
}

@media (max-width: 768px) {
    .header-inner {
        flex-direction: column;
        gap: 1rem;
    }

    .nav-list {
        justify-content: center;
        font-size: 0.9rem;
        gap: 0.5rem;
    }

    .cta-content {
        grid-template-columns: 1fr;
    }

    .cta-features {
        grid-template-columns: 1fr;
    }

    .cta-stats {
        grid-template-columns: 1fr;
    }

    .hero {
        padding: 3rem 0;
    }

    .results-container {
        grid-template-columns: 1fr;
    }

    .results-info {
        grid-template-columns: 1fr;
    }

    .footer-bottom-content {
        flex-direction: column;
        text-align: center;
    }

    .section {
        padding: 2rem 0;
    }

    .card {
        padding: 1rem;
    }

    .sports-grid {
        grid-template-columns: 1fr;
    }

    .exam-schedule {
        grid-template-columns: 1fr;
    }

    .clubs-grid {
        grid-template-columns: 1fr;
    }

    .activities-grid {
        grid-template-columns: 1fr;
    }

    .contact-options {
        flex-direction: column;
    }

    .contact-options a {
        width: 100%;
    }

    .stats-row {
        grid-template-columns: 1fr;
    }

    .calendar-overview {
        grid-template-columns: 1fr;
    }

    .tips-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .header-inner {
        flex-wrap: wrap;
        justify-content: center;
    }
    .nav-list {
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.5rem;
    }
    .hero {
        padding: 4rem 0;
    }
    .results-container {
        grid-template-columns: 1fr;
    }
    .results-info {
        grid-template-columns: 1fr;
    }

    /* Mobile styles for enhanced sections */
    .event-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .event-card {
        padding: 1.25rem;
    }

    .cta-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .cta-features {
        grid-template-columns: 1fr;
    }

    .cta-stats {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .footer-content {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .footer-bottom-content {
        flex-direction: column;
        text-align: center;
        gap: 1rem;
    }

    .footer-bottom-links {
        justify-content: center;
        gap: 1rem;
    }

    /* Mobile styles for new sections */
    .teachers-grid,
    .facilities-grid,
    .news-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .gallery-grid {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 1rem;
    }

    .teacher-card,
    .facility-card,
    .news-card {
        padding: 1.25rem;
    }

    .teacher-avatar {
        font-size: 3rem;
    }

    .facility-icon {
        font-size: 2.5rem;
    }
}

/* _______________________________later added */

       /* GLOBAL */
section {
    padding: 60px 20px;
}

h2 {
    text-align: center;
    margin-bottom: 30px;
}

/* GRID SYSTEM */
/* .program-cards,
.features,
.activities,
.news-cards,
.testimonial-cards,
.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
} */

/* GRID SYSTEM */
/* GRID SYSTEM - Base styles (mobile) */

       /* GLOBAL */
section {
    padding: 60px 20px;
}

h2 {
    text-align: center;
    margin-bottom: 30px;
}

/* GRID SYSTEM */
.program-cards,
.features,
.activities,
.news-cards,
.testimonial-cards,
.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
}

/* CARD BASE STYLE */
.card,
.feature,
.activity-card,
.news-card,
.testimonial-card {
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    transition: 0.3s ease;
    text-align: center;
}

/* HOVER EFFECT */
.card:hover,
.feature:hover,
.activity-card:hover,
.news-card:hover,
.testimonial-card:hover {
    transform: translateY(-8px);
}

/* IMAGES */
.card img,
.feature img,
.activity-card img,
.news-card img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 10px;
    margin-bottom: 15px;
}

/* TEXT */
h3 {
    margin-bottom: 10px;
    color: #333;
}

p {
    color: #666;
    font-size: 14px;
}

/* TESTIMONIALS */
.testimonial-card p {
    font-style: italic;
    margin-bottom: 10px;
}

.testimonial-card h4 {
    color: #222;
    font-weight: bold;
}

/* RESPONSIVE TWEAK */
@media (max-width: 500px) {
    .card img,
    .feature img,
    .activity-card img,
    .news-card img {
        height: 150px;
    }
} 
/* __________________________________ carousel */

/* Carousel Section Styles */
.carousel-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.carousel-title {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 30px;
    color: #333;
    position: relative;
    display: inline-block;
    width: 100%;
}

.carousel-title::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, #667eea, #764ba2);
    border-radius: 2px;
}

/* Main Carousel Container */
.carousel {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200;
    gap: 40px;
    margin-top: 30px;
}

/* Viewport - visible window */
.viewport {
    width: 900px;
    overflow: hidden;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    background: #f5f5f5;
}

/* Track - holds all slides */
.track {
    display: flex;
    transition: transform 0.5s ease-in-out;
    cursor: grab;
}

.track:active {
    cursor: grabbing;
}

/* Individual Slide */
.slide {
    flex: 0 0 300px;
    height: 350px;
    position: relative;
    overflow: hidden;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.slide:hover {
    transform: translateY(-5px);
}

.slide img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.slide:hover img {
    transform: scale(1.05);
}

.slide span {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 15px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
    color: white;
    font-weight: 600;
    text-align: center;
    font-size: 1.1rem;
}

/* Navigation Buttons */
.nav {
    background: linear-gradient(135deg, #f8f7f9, #272728);
    color: white;
    border: none;
    font-size: 28px;
    font-weight: bold;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    z-index: 10;
}

.nav:hover {
    transform: scale(1.1);
    background: linear-gradient(135deg, #f35608, #2d2d2f);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
}

.nav:active {
    transform: scale(0.95);
}

/* Dots Navigation */
.dots-container {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 30px;
}

.dot {
    width: 12px;
    height: 12px;
    background-color: #bbb;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
}

.dot:hover {
    background-color: #667eea;
    transform: scale(1.2);
}

.dot.active {
    background: linear-gradient(135deg, #f8f7f9, #272728);
    width: 30px;
    border-radius: 6px;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .viewport {
        width: 700px;
    }
    
    .slide {
        flex: 0 0 280px;
        height: 330px;
    }
    
    .slide img {
        height: 260px;
    }
}

@media (max-width: 768px) {
    .viewport {
        width: 100%;
    }
    
    .slide {
        flex: 0 0 260px;
        height: 310px;
    }
    
    .slide img {
        height: 240px;
    }
    
    .nav {
        width: 40px;
        height: 40px;
        font-size: 20px;
    }
    
    .carousel-title {
        font-size: 2rem;
    }
}

@media (max-width: 480px) {
    .slide {
        flex: 0 0 240px;
        height: 290px;
    }
    
    .slide img {
        height: 220px;
    }
    
    .carousel-section {
        padding: 20px 10px;
    }
}

/* Optional: Add loading animation */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.slide {
    animation: fadeIn 0.5s ease-out;
}
/* ================= ANIMATIONS ================= */
@keyframes slideInDown {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}