.page-hero{

    background:
    linear-gradient(
        rgba(0,0,0,.70),
        rgba(0,0,0,.70)
    ),
    url('/static/images/branding/ball.jpg');

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

    color:white;

    text-align:center;

    padding:140px 20px;
}

.hero-tag{

    display:inline-block;

    background:rgba(255,255,255,.15);

    color:white;

    padding:10px 20px;

    border-radius:30px;

    margin-bottom:20px;

    font-size:14px;

    backdrop-filter:blur(10px);
}

.page-hero h1{

    color:white;

    font-size:4rem;

    margin-bottom:20px;
}

.page-hero p{

    max-width:800px;

    margin:auto;

    font-size:1.15rem;
}

.intro-section{

    padding:80px 0;

    background:#fff;
}

.intro-content{

    max-width:900px;

    margin:auto;

    text-align:center;
}

.intro-content h2{

    margin-bottom:25px;
}

.intro-content p{

    color:#555;

    line-height:1.9;
}

.programmes-section{

    background:#f8f9fb;
}

.programmes-grid{

    display:grid;

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

    gap:30px;

    margin-top:50px;
}

.programme-card{

    background:white;

    padding:35px;

    border-radius:18px;

    box-shadow:
    0 10px 30px rgba(0,0,0,.06);

    transition:.3s ease;
}

.programme-card:hover{

    transform:translateY(-8px);
}

.programme-number{

    width:60px;
    height:60px;

    border-radius:50%;

    background:#FFA500;

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:700;

    margin-bottom:20px;
}

.programme-card h3{

    margin-bottom:15px;

    color:#111;
}

.programme-card p{

    color:#666;

    line-height:1.8;
}

.journey-section{

    padding:100px 0;

    background:
    linear-gradient(
        rgba(0,0,0,.75),
        rgba(0,0,0,.75)
    ),
    url('/static/images/branding/ball.jpg');

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

    text-align:center;

    color:white;
}

.journey-content{

    max-width:850px;

    margin:auto;
}

.journey-section h2{

    color:white;

    margin-bottom:20px;
}

.journey-section p{

    margin-bottom:20px;

    font-size:1.05rem;
}

.journey-btn{

    display:inline-block;

    margin-top:20px;

    background:#FFA500;

    color:white;

    text-decoration:none;

    padding:16px 35px;

    border-radius:10px;

    font-weight:600;
}

.journey-btn:hover{

    background:#e69500;
}

@media(max-width:768px){

    .page-hero{

        padding:100px 20px;
    }

    .page-hero h1{

        font-size:2.5rem;
    }

    .programmes-grid{

        grid-template-columns:1fr;
    }

    .programme-card{

        padding:25px;
    }

}