*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:"Manrope", sans-serif;
    background:#FAF8F4;
    color:#1F2937;
}

.programme{
    overflow:hidden;
}

.programme-cover{
    min-height:100vh;
    padding:80px 24px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    color:white;
    background:
        linear-gradient(rgba(0,0,0,.58),rgba(0,0,0,.58)),
        url("../images/hero/hero.jpg");
    background-size:cover;
    background-position:center;
}

.programme-tag{
    color:#C8A96A;
    letter-spacing:8px;
    text-transform:uppercase;
    font-weight:700;
    margin-bottom:25px;
}

.programme-cover h1{
    font-family:"Cormorant Garamond", serif;
    font-size:clamp(4rem,11vw,9rem);
    font-weight:500;
    line-height:.95;
}

.programme-cover h1 span{
    color:#C8A96A;
}

.programme-line{
    width:130px;
    height:2px;
    background:#C8A96A;
    margin:35px auto;
}

.programme-date{
    letter-spacing:6px;
    text-transform:uppercase;
    font-size:.85rem;
}

.programme-note{
    max-width:560px;
    margin-top:30px;
    color:rgba(255,255,255,.8);
    line-height:1.9;
}

.programme-section{
    width:min(1000px,90%);
    margin:100px auto;
    padding:60px;
    border-radius:34px;
    background:white;
    box-shadow:0 30px 90px rgba(0,0,0,.09);
}

.programme-section h2{
    font-family:"Cormorant Garamond", serif;
    font-size:clamp(2.5rem,5vw,4rem);
    text-align:center;
    margin-bottom:45px;
}

.programme-section ol{
    list-style:none;
    counter-reset:item;
    display:grid;
    gap:18px;
}

.programme-section li{
    counter-increment:item;
    position:relative;
    padding:20px 24px 20px 78px;
    border-radius:18px;
    background:#FAF8F4;
    line-height:1.7;
}

.programme-section li::before{
    content:counter(item, decimal-leading-zero);
    position:absolute;
    left:22px;
    top:50%;
    transform:translateY(-50%);
    width:38px;
    height:38px;
    border-radius:50%;
    background:rgba(200,169,106,.18);
    color:#C8A96A;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:.8rem;
}

.programme-closing{
    padding:120px 24px;
    text-align:center;
    background:#111;
    color:white;
}

.programme-closing p{
    max-width:760px;
    margin:auto;
    font-family:"Cormorant Garamond", serif;
    font-size:clamp(2rem,5vw,4rem);
    line-height:1.25;
}

.programme-closing > span{
    display:block;
    margin-top:25px;
    color:#C8A96A;
    letter-spacing:4px;
    text-transform:uppercase;
    font-size:.8rem;
}

.programme-closing h2{
    margin-top:60px;
    font-family:"Cormorant Garamond", serif;
    font-size:clamp(3rem,7vw,6rem);
    font-weight:500;
}

.programme-closing h2 span{
    color:#C8A96A;
}

.programme-actions{
    position:fixed;
    top:24px;
    right:24px;
    z-index:99;
    display:flex;
    gap:12px;
}

.programme-actions a,
.programme-actions button{
    border:none;
    padding:13px 22px;
    border-radius:50px;
    background:rgba(255,255,255,.14);
    color:white;
    backdrop-filter:blur(14px);
    border:1px solid rgba(255,255,255,.22);
    cursor:pointer;
    text-decoration:none;
    font-weight:600;
}

.programme-actions button{
    background:#C8A96A;
}

@media(max-width:700px){
    .programme-section{
        padding:34px 22px;
        margin:70px auto;
    }

    .programme-section li{
        padding:18px 18px 18px 68px;
    }

    .programme-actions{
        left:18px;
        right:18px;
        justify-content:center;
        flex-wrap:wrap;
    }
}

@media print{
    .programme-actions{
        display:none;
    }

    .programme-cover{
        min-height:auto;
        padding:80px 24px;
    }

    .programme-section{
        box-shadow:none;
        break-inside:avoid;
    }
}