/*====================================================
        PIANO TUTORIALS WITH CHRIS EBUTE
                INDEX V2
=====================================================*/

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

    font-family:'Poppins',sans-serif;

}

:root{

    --gold:#FFD54A;

    --gold-dark:#d4a800;

    --black:#090909;

    --dark:#121212;

    --card:#1b1b1b;

    --white:#ffffff;

    --text:#dddddd;

    --shadow:
    0 20px 50px rgba(0,0,0,.28);

}

html{

    scroll-behavior:smooth;

}

body{

    background:#090909;

    color:white;

    overflow-x:hidden;

    line-height:1.7;

}

img{

    max-width:100%;

    display:block;

}

a{

    text-decoration:none;

}

section{

    padding:110px 8%;

}



/*====================================================
                HERO
=====================================================*/

.hero{

    position:relative;

    height:100vh;

    overflow:hidden;

}

.hero-video{

    position:absolute;

    width:100%;

    height:100%;

    object-fit:cover;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:

    linear-gradient(

    rgba(0,0,0,.72),

    rgba(0,0,0,.78)

    );

}



/*====================================================
                NAVBAR
=====================================================*/

.navbar{

    position:absolute;

    top:0;

    left:0;

    width:100%;

    padding:22px 8%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    z-index:100;

    background:rgba(0,0,0,.28);

    backdrop-filter:blur(12px);

}

.logo img{

    width:170px;

}

.navbar ul{

    display:flex;

    list-style:none;

    gap:35px;

}

.navbar a{

    color:white;

    font-weight:600;

    transition:.35s;

}

.navbar a:hover,

.navbar .active{

    color:var(--gold);

}



/*====================================================
                HERO CONTENT
=====================================================*/

.hero-content{

    position:relative;

    z-index:2;

    max-width:950px;

    margin:auto;

    padding-top:140px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

}

.hero{

    position:relative;

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:70px 4% 50px;

    overflow:hidden;

}

.hero-content h1{

    font-size:72px;

    line-height:1.15;

    margin-bottom:25px;

}

.hero-content p{

    font-size:20px;

    color:#e5e5e5;

    max-width:820px;

}



/*====================================================
                HERO BUTTONS
=====================================================*/

.hero-buttons{

    display:flex;

    gap:20px;

    margin-top:45px;

    flex-wrap:wrap;

}

.primary-btn{

    display:inline-block;

    padding:18px 42px;

    border-radius:45px;

    background:

    linear-gradient(

    135deg,

    var(--gold),

    var(--gold-dark)

    );

    color:#111;

    font-weight:bold;

    transition:.35s;

}

.primary-btn:hover{

    transform:translateY(-6px);

    box-shadow:

    0 18px 35px rgba(255,213,74,.30);

}

.secondary-btn{

    display:inline-block;

    padding:18px 42px;

    border:2px solid white;

    color:white;

    border-radius:45px;

    transition:.35s;

}

.secondary-btn:hover{

    background:white;

    color:#111;

}



/*====================================================
                HERO STATS
=====================================================*/

.hero-stats{

    display:flex;

    gap:60px;

    margin-top:70px;

}

.hero-stats h2{

    font-size:42px;

    color:var(--gold);

}

.hero-stats p{

    font-size:16px;

    color:#dddddd;

}



/*====================================================
                SECTION TITLES
=====================================================*/

.section-title{

    text-align:center;

    margin-bottom:70px;

}

.section-badge{

    display:inline-block;

    background:rgba(255,213,74,.12);

    color:var(--gold);

    padding:10px 22px;

    border-radius:40px;

    margin-bottom:20px;

    font-weight:700;

}

.section-title h2{

    font-size:52px;

    margin-bottom:20px;

}

.section-title p{

    color:#cfcfcf;

    max-width:750px;

    margin:auto;

}



/*====================================================
                TRUSTED
=====================================================*/

.trusted{

    background:#101010;

}

.trusted-grid{

    margin-top:5px;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.trusted-card{

    background:var(--card);

    border-radius:22px;

    padding:45px;

    text-align:center;

    transition:.35s;

    box-shadow:var(--shadow);

}

.trusted-card:hover{

    transform:translateY(-10px);

}

.trusted-card h1{

    font-size:50px;

    color:var(--gold);

    margin-bottom:10px;

}



/*====================================================
                PROBLEMS
=====================================================*/

.problem-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.problem-card{

    background:var(--card);

    padding:20px;

    border-radius:22px;

    transition:.35s;

    box-shadow:var(--shadow);

}

.problem-card:hover{

    transform:translateY(-8px);

}

.problem-card i{

    color:#ff4f4f;

    font-size:34px;

    margin-bottom:0px;

}

.problem-card p{

    color:#d6d6d6;

}

/*====================================================
            STORY SECTION
=====================================================*/

.story{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.story-image img{

    width:100%;

    border-radius:30px;

    box-shadow:var(--shadow);

}

.story-content h2{

    font-size:48px;

    margin-bottom:25px;

}

.story-content p{

    color:#d5d5d5;

    margin-bottom:25px;

    line-height:1.9;

}



/*====================================================
            INSTRUCTOR
=====================================================*/

.instructor{

    display:grid;

    grid-template-columns:420px 1fr;

    gap:80px;

    align-items:center;

    background:#101010;

}

.instructor-image{

    text-align:center;

}

.instructor-image img{

    width:100%;

    border-radius:30px;

    box-shadow:var(--shadow);

}

.instructor-content h2{

    font-size:52px;

    margin:20px 0;

}

.instructor-content p{

    color:#d7d7d7;

    margin-bottom:20px;

    line-height:1.9;

}

.instructor-content ul{

    list-style:none;

    margin:35px 0;

}

.instructor-content li{

    margin-bottom:16px;

    color:#eeeeee;

    font-size:18px;

}



/*====================================================
            LEARNING PATHS
=====================================================*/

.learning-paths{

    background:#090909;

}

.roadmap{
    display:flex;
    justify-content:space-between;
    align-items:stretch;
    gap:25px;
    flex-wrap:nowrap;
}

.path-card{
    flex:1;
    width:auto;
    min-width:0;

    background:var(--card);
    border-radius:30px;
    padding:30px;
    box-shadow:var(--shadow);
    transition:.4s;
    position:relative;
    overflow:hidden;
}
.path-card:hover{

    transform:translateY(-12px);

}

.path-icon{

    width:10px;

    height:90px;

    margin:auto;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:42px;

    border-radius:50%;

    background:rgba(255,213,74,.15);

    margin-bottom:30px;

}

.path-card h3{

    font-size:34px;

    margin-bottom:20px;

}

.path-card p{

    color:#d6d6d6;

    margin-bottom:30px;

    line-height:1.8;

}

.path-card a{

    color:var(--gold);

    font-weight:700;

    transition:.3s;

}

.path-card a:hover{

    letter-spacing:1px;

}

.beginner{

    border-top:5px solid #16a34a;

}

.intermediate{

    border-top:5px solid #f59e0b;

}

.advanced{

    border-top:5px solid #dc2626;

}



/*====================================================
            ACADEMY PREVIEW
=====================================================*/

.academy-preview{

    background:#101010;

}

.title-row{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:35px;

}

.title-row h2{

    font-size:42px;

}

.title-row a{

    color:var(--gold);

    font-weight:700;

}

.course-track{

    display:flex;

    gap:28px;

    overflow-x:auto;

    overflow-y:hidden;

    padding:10px 5px 20px;

    scroll-snap-type:x proximity;

    -webkit-overflow-scrolling:touch;

}

.course-track::-webkit-scrollbar{

    display:none;

}



/*====================================================
            COURSE CARD
=====================================================*/

.course-card{

    flex:0 0 340px;

    width:340px;

    background:var(--card);

    border-radius:24px;

    overflow:hidden;

    transition:.35s;

    box-shadow:var(--shadow);
    scroll-snap-align:start;

}

.course-card:hover{

    transform:translateY(-10px);

}

.thumbnail{

    position:relative;

    width:100%;

    height:210px;

    overflow:hidden;

}
}

.thumbnail a{

    display:block;

    width:100%;

    height:100%;

}

.thumbnail img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

}

.course-card:hover .thumbnail img{

    transform:scale(1.08);

}

.overlay{

    position:absolute;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(0,0,0,.58);

    color:white;

    font-size:22px;

    font-weight:bold;

    opacity:0;

    transition:.35s;

}

.course-card:hover .overlay{

    opacity:1;

}

.course-info{

    padding:25px;

}

.course-info h3{

    font-size:26px;

    margin-bottom:15px;

}

.course-info p{

    color:#d5d5d5;

    line-height:1.7;

}



/*====================================================
            BENEFITS
=====================================================*/

.benefits{

    background:#090909;

}

.benefits-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.benefit-card{

    background:var(--card);

    border-radius:22px;

    padding:45px;

    text-align:center;

    transition:.35s;

    box-shadow:var(--shadow);

}

.benefit-card:hover{

    transform:translateY(-10px);

}

.benefit-card i{

    font-size:55px;

    color:var(--gold);

    margin-bottom:25px;

}

.benefit-card h3{

    font-size:28px;

}



/*====================================================
            BEHIND THE SCENES
=====================================================*/

.behind-scenes{

    background:#101010;

}

.video-box{

    max-width:1000px;

    margin:50px auto;

    border-radius:30px;

    overflow:hidden;

    box-shadow:var(--shadow);

}

.video-box video{

    width:100%;

    display:block;

}

.center-btn{

    text-align:center;

    margin-top:40px;

}

/*====================================================
                LEARNING ROADMAP
=====================================================*/

.learning-paths{

    background:#101010;

}



/*====================================================
                ROADMAP
=====================================================*/

.roadmap{

    display:flex;

    justify-content:center;

    align-items:flex-start;

    gap:10px;

    margin-top:20px;

    flex-wrap:wrap;

}



/*====================================================
                ROADMAP ARROW
=====================================================*/

.road-arrow{

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:50px;

    color:var(--gold);

    margin-top:180px;

}



/*====================================================
                PATH CARD
=====================================================*/

.path-card{

    width:350px;

    background:var(--card);

    border-radius:30px;

    padding:40px;

    box-shadow:var(--shadow);

    transition:.4s;

    position:relative;

    overflow:hidden;

}

.path-card:hover{

    transform:translateY(-15px);

}



/*====================================================
                TOP BORDER
=====================================================*/

.beginner{

    border-top:8px solid #16a34a;

}

.intermediate{

    border-top:8px solid #f59e0b;

}

.advanced{

    border-top:8px solid #dc2626;

}



/*====================================================
                LEVEL TITLE
=====================================================*/

.level-title{

    text-align:center;

    margin-bottom:25px;

}

.level-title span{

    display:inline-block;

    padding:8px 20px;

    border-radius:30px;

    background:rgba(255,213,74,.12);

    color:var(--gold);

    font-weight:bold;

    margin-bottom:20px;

}

.level-title h3{

    font-size:36px;

}



/*====================================================
                DURATION
=====================================================*/

.duration{

    background:#262626;

    border-radius:15px;

    padding:5px;

    text-align:center;

    margin-bottom:10px;

    color:#dddddd;

}

.duration i{

    color:var(--gold);

    margin-right:8px;

}



/*====================================================
                COURSE LIST
=====================================================*/

.path-card ul{

    list-style:none;

    margin-bottom:35px;

}

.path-card li{

    margin-bottom:18px;

    color:#dddddd;

    font-size:17px;

    padding-left:5px;

}



/*====================================================
                LESSON INFO
=====================================================*/

.lesson-info{

    text-align:center;

    background:rgba(255,213,74,.12);

    color:var(--gold);

    padding:14px;

    border-radius:30px;

    font-size:20px;

    font-weight:bold;

    margin-bottom:30px;

}



/*====================================================
                BUTTON
=====================================================*/

.path-btn{

    display:block;

    text-align:center;

    padding:18px;

    border-radius:45px;

    background:

    linear-gradient(

    135deg,

    var(--gold),

    var(--gold-dark)

    );

    color:#111;

    font-weight:bold;

    transition:.35s;

}

.path-btn:hover{

    transform:translateY(-5px);

    box-shadow:

    0 15px 30px rgba(255,213,74,.30);

}



/*====================================================
        MASTER GOSPEL PIANIST
=====================================================*/

.master-goal{

    margin-top:0px;

    text-align:center;

}

.master-circle{

    width:220px;

    height:220px;

    margin:auto;

    border-radius:50%;

    background:

    linear-gradient(

    135deg,

    var(--gold),

    var(--gold-dark)

    );

    display:flex;

    justify-content:center;

    align-items:center;

    flex-direction:column;

    color:#111;

    font-weight:bold;

    box-shadow:

    0 25px 45px rgba(255,213,74,.30);

}

.master-circle i{

    font-size:60px;

    margin-bottom:15px;

}

.master-circle h2{

    font-size:24px;

    line-height:1.3;

}



/*====================================================
            ROADMAP CONNECTOR
=====================================================*/

.learning-paths::after{

    content:"";

    display:block;

    width:70%;

    height:4px;

    margin:80px auto 0;

    background:

    linear-gradient(

    90deg,

    #16a34a,

    #f59e0b,

    #dc2626,

    var(--gold)

    );

    border-radius:30px;

}



/*====================================================
            ROADMAP HOVER
=====================================================*/

.path-card::before{

    content:"";

    position:absolute;

    left:-100%;

    top:0;

    width:100%;

    height:5px;

    background:var(--gold);

    transition:.5s;

}

.path-card:hover::before{

    left:100%;

}

/*====================================================
                TESTIMONIALS
=====================================================*/

.testimonials{

    background:#090909;

}

.testimonial-slider{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:35px;

}

.testimonial-card{

    background:var(--card);

    border-radius:25px;

    padding:40px;

    text-align:center;

    box-shadow:var(--shadow);

    transition:.35s;

}

.testimonial-card:hover{

    transform:translateY(-10px);

}

.testimonial-card img{

    width:90px;

    height:90px;

    border-radius:50%;

    object-fit:cover;

    margin:auto;

    margin-bottom:20px;

}

.testimonial-card h3{

    margin-bottom:10px;

}

.stars{

    color:gold;

    font-size:20px;

    margin-bottom:20px;

}

.testimonial-card p{

    color:#d5d5d5;

    line-height:1.8;

}



/*====================================================
                PRICING
=====================================================*/

.pricing{

    background:#101010;

}

.pricing-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:35px;

}

.price-card{

    background:var(--card);

    border-radius:30px;

    padding:45px;

    text-align:center;

    box-shadow:var(--shadow);

    transition:.35s;

    position:relative;

}

.price-card:hover{

    transform:translateY(-10px);

}

.featured{

    border:3px solid var(--gold);

    transform:scale(1.05);

}

.popular{

    position:absolute;

    top:-15px;

    left:50%;

    transform:translateX(-50%);

    background:var(--gold);

    color:#111;

    padding:8px 20px;

    border-radius:30px;

    font-weight:bold;

}

.price-card h1{

    font-size:58px;

    color:var(--gold);

    margin:20px 0;

}

.price-card ul{

    list-style:none;

    margin:30px 0;

}

.price-card li{

    margin-bottom:15px;

}



/*====================================================
                FAQ
=====================================================*/

.faq{

    background:#090909;

}

.faq-container{

    max-width:900px;

    margin:auto;

}

details{

    background:var(--card);

    border-radius:18px;

    padding:25px;

    margin-bottom:20px;

}

summary{

    cursor:pointer;

    font-size:22px;

    font-weight:bold;

}

details p{

    margin-top:18px;

    color:#d5d5d5;

}



/*====================================================
                NEWSLETTER
=====================================================*/

.newsletter{

    background:#101010;

}

.newsletter-box{

    max-width:900px;

    margin:auto;

    background:var(--card);

    padding:60px;

    border-radius:30px;

    text-align:center;

    box-shadow:var(--shadow);

}

.newsletter-box h2{

    font-size:48px;

    margin-bottom:20px;

}

.newsletter-box p{

    margin-bottom:30px;

    color:#d5d5d5;

}

.newsletter form{

    display:flex;

    justify-content:center;

}

.newsletter input{

    width:65%;

    padding:18px;

    border:none;

    border-radius:45px 0 0 45px;

    outline:none;

    font-size:17px;

}

.newsletter button{

    border:none;

    background:var(--gold);

    color:#111;

    padding:18px 35px;

    cursor:pointer;

    border-radius:0 45px 45px 0;

    font-weight:bold;

}



/*====================================================
                FOOTER
=====================================================*/

footer{

    background:#050505;

    padding:80px 8% 30px;

}

.footer-container{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:45px;

}

.footer-logo{

    width:170px;

    margin-bottom:20px;

}

.footer-container h3{

    color:var(--gold);

    margin-bottom:20px;

}

.footer-container ul{

    list-style:none;

}

.footer-container li{

    margin-bottom:12px;

}

.footer-container a{

    color:#d5d5d5;

    transition:.3s;

}

.footer-container a:hover{

    color:var(--gold);

    padding-left:8px;

}

.social-links{

    display:flex;

    gap:15px;

    margin-top:20px;

}

.social-links a{

    width:45px;

    height:45px;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#1d1d1d;

    border-radius:50%;

}

.social-links a:hover{

    background:var(--gold);

    color:#111;

}

.footer-bottom{

    border-top:1px solid rgba(255,255,255,.08);

    margin-top:50px;

    padding-top:25px;

    text-align:center;

    color:#999;

}



/*====================================================
                RESPONSIVE
=====================================================*/

@media(max-width:992px){

.hero-content h1{

font-size:52px;

}

.story,

.instructor{

grid-template-columns:1fr;

}

.problem-grid,

.trusted-grid,

.path-grid,

.benefits-grid{

grid-template-columns:repeat(2,1fr);

}

.footer-container{

grid-template-columns:repeat(2,1fr);

}

.hero-stats{

flex-wrap:wrap;

justify-content:center;

}

}



@media(max-width:768px){

section{

padding:80px 20px;

}

.navbar{

flex-direction:column;

gap:20px;

}

.navbar ul{

flex-wrap:wrap;

justify-content:center;

gap:18px;

}

.hero-content h1{

font-size:40px;

}

.hero-buttons{

flex-direction:column;

align-items:center;

}

.hero-stats{

flex-direction:column;

gap:25px;

}

.problem-grid,

.trusted-grid,

.path-grid,

.benefits-grid,

.pricing-grid,

.testimonial-slider{

grid-template-columns:1fr;

}

.newsletter form{

flex-direction:column;

gap:15px;

}

.newsletter input,

.newsletter button{

width:100%;

border-radius:45px;

}

.footer-container{

grid-template-columns:1fr;

text-align:center;

}

.social-links{

justify-content:center;

}

.road-arrow{

display:none;

}

}



/*====================================================
                SCROLLBAR
=====================================================*/

::-webkit-scrollbar{

width:10px;

height:10px;

}

::-webkit-scrollbar-thumb{

background:var(--gold);

border-radius:20px;

}



/*====================================================
                TEXT SELECTION
=====================================================*/

::selection{

background:var(--gold);

color:#111;

}

/*=========================================
        FADE UP
==========================================*/

.fade-up{

opacity:0;

transform:translateY(50px);

transition:all .8s ease;

}

.fade-up.show{

opacity:1;

transform:translateY(0);

}


.primary-btn,
.secondary-btn{

position:relative;

overflow:hidden;

}

.ripple{

position:absolute;

border-radius:50%;

background:rgba(255,255,255,.4);

transform:scale(0);

animation:ripple .6s linear;

pointer-events:none;

}

@keyframes ripple{

to{

transform:scale(4);

opacity:0;

}

}


.scrollTop{

position:fixed;

bottom:30px;

right:30px;

width:55px;

height:55px;

border:none;

border-radius:50%;

background:var(--gold);

color:#111;

font-size:22px;

cursor:pointer;

opacity:0;

pointer-events:none;

transition:.35s;

z-index:999;

}

.showTop{

opacity:1;

pointer-events:auto;

}