

/* =========================================================
   GENERAL
========================================================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:Arial, Helvetica, sans-serif;
    background:#f5f8f5;
    color:#222;
}

img{
    max-width:100%;
    display:block;
}

button{
    font-family:inherit;
}



 :root {
            --primary: #1b014bfb;
            --primary-dark: #180036;
            --secondary: #f4f2f8;
            --secondary-dark: #d98200;
            --white: #ffffff;
            --light: #f5f7fa;
            --dark: #101828;
            --muted: #667085;
            --border: #e4e7ec;
            --success: #12b76a;
            --danger: #d92d20;
            --shadow: 0 10px 30px rgba(16, 24, 40, 0.08);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: "Inter", sans-serif;
            color: var(--dark);
            background: var(--white);
            line-height: 1.7;
        }

        a {
            text-decoration: none;
            color: inherit;
        }

        img {
            max-width: 100%;
            display: block;
        }

        button,
        input,
        textarea,
        select {
            font: inherit;
        }

        .container {
            width: min(1150px, 92%);
            margin: auto;
        }


        /* =========================================
           TOP BAR
        ========================================= */

        .top-bar {
            background: var(--primary-dark);
            color: var(--white);
            font-size: 14px;
        }

        .top-bar .container {
            min-height: 42px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px;
        }

        .top-left,
        .top-right {
            display: flex;
            align-items: center;
            gap: 18px;
        }

        .top-bar i {
            color: var(--secondary);
            margin-right: 5px;
        }


        /* =========================================
           HEADER
        ========================================= */

        header {
            background: var(--white);
            position: sticky;
            top: 0;
            z-index: 1000;
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
        }

        .navbar {
            min-height: 78px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 30px;
            position: relative;
        }

        .logo {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .logo-mark {
            width: 48px;
            height: 48px;
            border-radius: 12px;

            background:
                linear-gradient(
                    135deg,
                    var(--primary),
                    var(--secondary)
                );

            display: grid;
            place-items: center;

            color: var(--white);
            font-size: 19px;
            font-weight: 800;
        }

        .logo-text strong {
            display: block;
            font-family: "Poppins", sans-serif;
            font-size: 20px;
            line-height: 1.2;
            color: var(--primary-dark);
        }

        .logo-text span {
            display: block;
            font-size: 11px;
            color: var(--muted);
            letter-spacing: 1px;
        }

        .nav-links {
            display: flex;
            align-items: center;
            gap: 7px;
            list-style: none;
        }

        .nav-links a {
            display: block;
            padding: 10px 13px;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 600;
            transition: 0.3s ease;
        }

        .nav-links a:hover,
        .nav-links a.active {
            background: #eaf7f1;
            color: var(--primary);
        }

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

        .nav-cta:hover {
            background: var(--primary-dark) !important;
        }

        .menu-toggle {
            display: none;
            border: none;
            background: transparent;
            color: var(--primary);
            font-size: 26px;
            cursor: pointer;
        }


/* =========================================================
   HERO
========================================================= */

.hero{
    min-height:430px;

    background:
    linear-gradient(
        rgba(12, 1, 65, 0.575),
        rgba(8, 0, 53, 0.616)
    ),
    url("images/oval\ logo.jfif");

    background-size:cover;
    background-position:center;

    display:flex;
    align-items:center;
    justify-content:center;

    text-align:center;
    color:#fff;

    padding:60px 20px;
}

.hero-content{
    max-width:850px;
}

.hero h1{
    font-size:clamp(40px,6vw,70px);
    margin-bottom:20px;
}

.hero h1 span{
    color:#f58220;
}

.hero p{
    font-size:18px;
    line-height:1.7;
}

.hero-buttons{
    margin-top:30px;

    display:flex;
    justify-content:center;
    gap:15px;
    flex-wrap:wrap;
}

.hero-btn{
    padding:14px 28px;
    border-radius:30px;
    text-decoration:none;
    font-weight:bold;
}

.hero-btn.orange{
    background:#3b1601;
    color:#fff;
}

.hero-btn.white{
    background:#555454;
    color:#f9fdfb;
}


/* =========================================================
   SECTION
========================================================= */

.section{
    width:92%;
    max-width:1250px;
    margin:auto;
    padding:70px 0;
}

.title{
    text-align:center;
    margin-bottom:45px;
}

.title h2{
    color:#020203;
    font-size:38px;
    margin-bottom:10px;
}

.title h2 span{
    color:#070503;
}

.title p{
    color:#242323;
    max-width:750px;
    margin:auto;
}


/* =========================================================
   FILTER BUTTONS
========================================================= */

.filters{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:40px;
}

.filter{
    border:2px solid #5f2e01;
    background:#ffffff;
    color:#0a013f;
    padding:10px 20px;
    border-radius:30px;
    cursor:pointer;
    font-weight:bold;
}

.filter:hover,
.filter.active{
    background:#18005a;
    color:#fff;
}


/* =========================================================
   COURSE GRID
========================================================= */

.course-grid{
    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(300px,1fr));

    gap:30px;
}


/* =========================================================
   COURSE CARD
========================================================= */

.course-card{
    background:#6d6c6c;
    border-radius:18px;
    overflow:hidden;

    box-shadow:
    0 8px 25px rgba(252, 172, 0, 0.671);

    transition:.35s;
}

.course-card:hover{
    transform:translateY(-8px);

    box-shadow:
    0 15px 40px rgba(1, 231, 247, 0.623);
}


/* =========================================================
   MAIN COURSE IMAGE
========================================================= */

.course-image{
    height:260px;
    position:relative;
    overflow:hidden;
    cursor:pointer;
}

.course-image > img{
    width:100%;
    height:100%;
    object-fit:cover;

    transition:.6s;
}

.course-card:hover .course-image > img{
    transform:scale(1.12);
    filter:brightness(.55);
}


/* =========================================================
   COURSE LABEL
========================================================= */

.label{
    position:absolute;
    top:15px;
    left:15px;
    z-index:10;

    background:#70706fb0;
    color:#fff;

    padding:7px 14px;
    border-radius:20px;

    font-size:12px;
    font-weight:bold;
}


/* =========================================================
   HOVER OVERLAY
========================================================= */

.overlay{
    position:absolute;
    inset:0;

    z-index:5;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;

    background:
    linear-gradient(
        135deg,
        rgba(22, 11, 87, 0.37),
        rgba(245, 131, 32, 0.247)
    );

    opacity:0;

    transition:.4s;
}

.course-card:hover .overlay{
    opacity:1;
}

.camera{
    width:70px;
    height:70px;

    border-radius:50%;

    background:#fff;
    color:#f76504;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:32px;

    margin-bottom:12px;
}

.overlay h3{
    color:#fff;
    font-size:20px;
}

.overlay p{
    color:#fff;
    font-size:13px;
    margin-top:5px;
}


/* =========================================================
   COURSE CONTENT
========================================================= */

.course-content{
    padding:23px;
}

.course-content h3{
    color:#fc8803;
    margin-bottom:10px;
    font-size:21px;
}

.course-content p{
    color:#ebebeb;
    font-size:14px;
    line-height:1.6;
}

.buttons{
    margin-top:18px;

    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.btn{
    border:0;
    padding:10px 15px;
    border-radius:7px;
    cursor:pointer;
    font-weight:bold;
}

.gallery-btn{
    background:#0f0f0f;
    color:#fff;
}

.video-btn{
    background:#383838;
    color:#fff;
}


/* =========================================================
   PHOTO LIGHTBOX
========================================================= */

.lightbox{
    display:none;

    position:fixed;
    inset:0;

    z-index:9999;

    background:
    rgb(31, 30, 30);

    align-items:center;
    justify-content:center;

    padding:20px;
}

.lightbox.show{
    display:flex;
}

.lightbox-box{
    width:95%;
    max-width:1200px;

    text-align:center;
    position:relative;
}

.lightbox-title{
    color:#fff;
    font-size:25px;
    margin-bottom:15px;
}

.main-photo{
    max-width:100%;
    max-height:65vh;

    margin:auto;

    border-radius:12px;

    box-shadow:
    0 20px 70px rgb(8, 8, 8);
}


/* CLOSE */

.close{
    position:fixed;
    top:20px;
    right:25px;

    width:50px;
    height:50px;

    border-radius:50%;

    border:0;

    background:#100022;

    color:#fff;

    font-size:32px;

    cursor:pointer;

    z-index:10001;
}


/* =========================================================
   ARROWS
========================================================= */

.arrow{
    position:fixed;

    top:50%;

    transform:translateY(-50%);

    width:55px;
    height:55px;

    border-radius:50%;

    border:2px solid rgb(104, 46, 46);

    background:#7f807f;

    color:#fff;

    font-size:25px;

    cursor:pointer;

    z-index:10000;
}

.arrow:hover{
    background:#0a0a0a;
}

.prev{
    left:20px;
}

.next{
    right:20px;
}


/* =========================================================
   COUNTER
========================================================= */

.counter{
    display:inline-block;

    margin-top:12px;

    padding:7px 18px;

    background:#686868;

    color:#fff;

    border-radius:30px;

    font-size:14px;
}


/* =========================================================
   THUMBNAILS
========================================================= */

.thumbnails{
    display:flex;

    gap:8px;

    overflow-x:auto;

    justify-content:center;

    margin-top:15px;

    padding:5px;
}

.thumbnail{
    width:100px;
    height:90px;

    object-fit:cover;

    border-radius:7px;

    cursor:pointer;

    opacity:.45;

    border:2px solid transparent;

    flex-shrink:0;

    transition:.3s;
}

.thumbnail:hover{
    opacity:1;
}

.thumbnail.active{
    opacity:1;
    border-color:#e0dfde;
}


/* =========================================================
   VIDEO SECTION
========================================================= */

.video-section{
    background:#2e2d2d;
    color:#fff;
}

.video-section .title h2{
    color:#fff;
}

.video-section .title p{
    color:#ddd;
}

.video-container{
    max-width:1000px;
    margin:auto;
}

.video-container video{
    width:100%;
    border-radius:15px;
    background:#000;
}


/* =========================================================
   VIDEO MODAL
========================================================= */

.video-modal{
    display:none;

    position:fixed;
    inset:0;

    z-index:10000;

    background:rgba(39, 39, 39, 0.95);

    align-items:center;
    justify-content:center;

    padding:20px;
}

.video-modal.show{
    display:flex;
}

.video-box{
    width:95%;
    max-width:1000px;
}

.video-box video{
    width:100%;
    max-height:75vh;
    background:#000;
    border-radius:10px;
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:800px){

    nav{
        display:none;

        position:absolute;
        top:80px;
        left:0;

        width:100%;

        background:#fff;

        flex-direction:column;

        padding:25px;

        box-shadow:
        0 10px 20px rgba(0,0,0,.1);
    }

    nav.show{
        display:flex;
    }

    .menu{
        display:block;
    }

    .hero{
        min-height:400px;
    }

    .arrow{
        width:45px;
        height:45px;
        font-size:20px;
    }

    .prev{
        left:5px;
    }

    .next{
        right:5px;
    }

    .main-photo{
        max-height:58vh;
    }
}


@media(max-width:500px){

    .logo h2{
        font-size:16px;
    }

    .logo img{
        width:48px;
        height:48px;
    }

    .hero h1{
        font-size:38px;
    }

    .course-grid{
        grid-template-columns:1fr;
    }

    .buttons{
        flex-direction:column;
    }

    .btn{
        width:100%;
    }

}
 /* =========================================
           CTA
        ========================================= */

        .cta {
            background:
                linear-gradient(
                    120deg,
                    var(--primary-dark),
                    var(--primary)
                );

            color: var(--white);
        }

        .cta-content {
            max-width: 780px;

            margin: auto;

            text-align: center;
        }

        .cta-content h2 {
            font-family: "Poppins", sans-serif;

            font-size:
                clamp(30px, 4vw, 44px);

            line-height: 1.2;

            margin-bottom: 15px;
        }

        .cta-content p {
            color:
                rgba(255,255,255,0.82);

            margin-bottom: 28px;
        }

        .btn {
            display: inline-flex;

            align-items: center;
            justify-content: center;

            gap: 9px;

            padding: 13px 21px;

            border-radius: 8px;

            border: 2px solid transparent;

            font-weight: 700;

            font-size: 14px;

            transition: 0.3s ease;
        }

        .btn-primary {
            background: var(--secondary);

            color: var(--dark);
        }

        .btn-primary:hover {
            background: var(--secondary-dark);

            color: var(--white);
        }

        .btn-outline {
            border-color:
                rgba(255,255,255,0.65);

            color: var(--white);
        }

        .btn-outline:hover {
            background: var(--white);

            color: var(--primary);
        }


        /* =========================================
           FOOTER
        ========================================= */

        footer {
            background: #001b3d;

            color:
                rgba(255,255,255,0.75);

            padding-top: 65px;
        }

        .footer-grid {
            display: grid;

            grid-template-columns:
                1.5fr 1fr 1fr 1fr;

            gap: 45px;

            padding-bottom: 45px;
        }

        .footer-brand h3 {
            color: var(--white);

            font-family: "Poppins", sans-serif;

            margin-bottom: 12px;
        }

        .footer-brand p {
            font-size: 14px;
            line-height: 1.8;
        }

        .footer-column h4 {
            color: var(--white);

            margin-bottom: 17px;

            font-size: 16px;
        }

        .footer-column ul {
            list-style: none;
        }

        .footer-column li {
            margin-bottom: 9px;

            font-size: 14px;
        }

        .footer-column a:hover {
            color: var(--secondary);
        }

        .footer-contact li {
            display: flex;
            gap: 9px;
        }

        .footer-contact i {
            color: var(--secondary);

            margin-top: 5px;
        }

        .footer-bottom {
            border-top:
                1px solid
                rgba(255,255,255,0.1);

            padding: 20px 0;
        }

        .footer-bottom .container {
            display: flex;

            align-items: center;

            justify-content: space-between;

            gap: 20px;
        }
       
        .social-links {
            display: flex;
            gap: 9px;
        }

        .social-links a {
            width: 36px;
            height: 36px;

            border-radius: 50%;

            display: grid;
            place-items: center;

            background:
                rgba(255,255,255,0.08);

            color: var(--white);

            transition: 0.3s;
        }

        .social-links a:hover {
            background: var(--primary);
        }


        /* =========================================
           RESPONSIVE
        ========================================= */

        @media (max-width: 950px) {

            .nav-links {
                position: absolute;

                left: 0;
                right: 0;

                top: 100%;

                background: var(--white);

                flex-direction: column;

                align-items: stretch;

                padding: 15px 5%;

                box-shadow:
                    0 12px 20px
                    rgba(0,0,0,0.08);

                display: none;
            }

            .nav-links.show {
                display: flex;
            }

            .menu-toggle {
                display: block;
            }

            .nav-links a {
                padding: 13px;
            }

            .contact-grid {
                grid-template-columns: 1fr;
            }

            .quick-grid {
                grid-template-columns:
                    repeat(2, 1fr);
            }

            .footer-grid {
                grid-template-columns:
                    repeat(2, 1fr);
            }
        }


        @media (max-width: 650px) {

            .top-bar {
                display: none;
            }

            .navbar {
                min-height: 68px;
            }

            .logo-mark {
                width: 42px;
                height: 42px;
            }

            .logo-text strong {
                font-size: 17px;
            }

            .page-hero {
                min-height: 390px;
            }

            .hero-content p {
                font-size: 16px;
            }

            section {
                padding: 60px 0;
            }

            .form-grid {
                grid-template-columns: 1fr;
            }

            .form-group.full {
                grid-column: auto;
            }

            .quick-grid,
            .footer-grid {
                grid-template-columns: 1fr;
            }

            .contact-info,
            .contact-form-wrapper {
                padding: 25px;
            }

            .footer-bottom .container {
                flex-direction: column;

                text-align: center;
            }

        }

    /* =========================================
   HEADER
========================================= */

header {
    width: 100%;
    position: relative;
    z-index: 1000;
    background: #ffffff;
}

.navbar {
    min-height: 80px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    position: relative;
}


/* =========================================
   LOGO
========================================= */

.logo {
    display: flex;
    align-items: center;
    gap: 12px;

    text-decoration: none;
    color: inherit;
}

.logo-mark img {
    width: 55px;
    height: 55px;

    object-fit: contain;
    border-radius: 50%;
}

.logo-text {
    display: flex;
    flex-direction: column;
}

.logo-text strong {
    font-size: 18px;
    font-weight: 700;
}

.logo-text span {
    font-size: 10px;
    letter-spacing: 1.5px;
    margin-top: 3px;
}


/* =========================================
   NORMAL DESKTOP NAVIGATION
========================================= */

.nav-links {
    display: flex;
    align-items: center;
    gap: 25px;

    list-style: none;
    margin: 0;
    padding: 0;
}

.nav-links li {
    margin: 0;
    padding: 0;
}

.nav-links a {
    display: block;

    text-decoration: none;
    color: #222;

    font-weight: 500;

    transition: 0.3s ease;
}

.nav-links a:hover,
.nav-links a.active {
    color: #198754;
}


/* =========================================
   APPLY NOW BUTTON
========================================= */

.nav-links .nav-cta {
    background: #f58220;
    color: #ffffff;

    padding: 11px 20px;

    border-radius: 6px;
}

.nav-links .nav-cta:hover {
    background: #198754;
    color: #ffffff;
}


/* =========================================
   HAMBURGER BUTTON
========================================= */

.menu-toggle {
    display: none;

    width: 45px;
    height: 45px;

    padding: 8px;

    border: none;
    background: transparent;

    cursor: pointer;

    position: relative;
    z-index: 1100;
}


/* Hamburger lines */

.menu-toggle span {
    display: block;

    width: 28px;
    height: 3px;

    margin: 5px auto;

    background: #198754;

    border-radius: 5px;

    transition: all 0.3s ease;
}


/* =========================================
   TABLET + MOBILE
========================================= */

@media (max-width: 992px) {

    /* Show hamburger */
    .menu-toggle {
        display: block;
    }


    /* Navigation menu */

    .nav-links {
        position: absolute;

        top: 100%;
        left: 0;

        width: 80%;

        display: flex;
        flex-direction: column;
        align-items: stretch;

        background: #f1f1f1;

        margin: 0;
        padding: 10px 0;

        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);

        border-top: 1px solid #eeeeee;

        /* Hidden */
        opacity: 0;
        visibility: hidden;

        transform: translateY(-25px);

        /* Smooth slide */
        transition:
            opacity 0.35s ease,
            transform 0.35s ease,
            visibility 0.35s ease;

        z-index: 1000;
    }


    /* OPEN MENU */

    .nav-links.show {
        opacity: 1;
        visibility: visible;

        transform: translateY(0);
    }


    /* Menu items */

    .nav-links li {
        width: 100%;

        opacity: 0;

        transform: translateY(-10px);

        transition:
            opacity 0.3s ease,
            transform 0.3s ease;
    }


    /* Animate items */

    .nav-links.show li {
        opacity: 1;
        transform: translateY(0);
    }


    /* Animation delays */

    .nav-links.show li:nth-child(1) {
        transition-delay: 0.05s;
    }

    .nav-links.show li:nth-child(2) {
        transition-delay: 0.10s;
    }

    .nav-links.show li:nth-child(3) {
        transition-delay: 0.15s;
    }

    .nav-links.show li:nth-child(4) {
        transition-delay: 0.20s;
    }

    .nav-links.show li:nth-child(5) {
        transition-delay: 0.25s;
    }

    .nav-links.show li:nth-child(6) {
        transition-delay: 0.30s;
    }

    .nav-links.show li:nth-child(7) {
        transition-delay: 0.35s;
    }


    /* Navigation links */

    .nav-links a {
        width: 100%;

        padding: 14px 25px;

        font-size: 16px;
    }


    .nav-links a:hover,
    .nav-links a.active {
        background: #cccccc;
        color: #f07501;
    }


    /* Apply button */

    .nav-links .nav-cta {
        margin: 8px 20px;

        width: auto;

        text-align: center;
    }


    /* =================================
       HAMBURGER → X
    ================================= */

    .menu-toggle.active span:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }

    .menu-toggle.active span:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .navbar {
        min-height: 60px;
        padding: 8px 15px;
    }


    .logo-mark img {
        width: 45px;
        height: 45px;
    }


    .logo-text strong {
        font-size: 15px;
    }


    .logo-text span {
        font-size: 8px;
        letter-spacing: 1px;
    }


    .menu-toggle {
        width: 42px;
        height: 42px;
    }


    .menu-toggle span {
        width: 26px;
        height: 3px;
    }


    .nav-links a {
        padding: 13px 20px;

        font-size: 15px;
    }

}


/* =========================================
   VERY SMALL PHONES
========================================= */

@media (max-width: 400px) {

    .logo-mark img {
        width: 42px;
        height: 42px;
    }

    .logo-text strong {
        font-size: 13px;
    }

    .logo-text span {
        display: none;
    }

}