.luxury-program{
    padding:10px 0;
}

.program-container{
    width:85%;
    margin:auto;
    position:relative;
}

.program-main-title{
    text-align:center;
    font-family:'Cinzel', serif;
    font-size:34px;
    letter-spacing:2px;
    margin-bottom:120px;
    color:#2d2d2d;
}

/* ================= TIMELINE ================= */

.timeline{
    position:relative;
}

/* Center Gold Line */
.timeline::before{
    content:"";
    position:absolute;
    left:50%;
    top:0;
    transform:translateX(-50%);
    width:1px;
    height:100%;
    background:#c6a55c;
}

/* Timeline Item */
.timeline-item{
    width:50%;
    padding:40px 70px;
    position:relative;
    min-height:500px;
}

.timeline-item.left{
    left:0;
    text-align:right;
}

.timeline-item.right{
    left:50%;
}

/* ================= ICON ON SPINE ================= */

.timeline-icon{
    position:absolute;
    top:60px;
    left:100%;
    transform:translate(-50%,0);
    width:60px;
    height:60px;
    background:#ffffff;
    border:2px solid #c6a55c;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    color:#c6a55c;
    z-index:3;
}

.timeline-item.right .timeline-icon{
    left:0;
}

.timeline-icon.gold{
    background:#c6a55c;
    color:#ffffff;
}

/* ================= CARD ================= */

.timeline-content{
    background:#ffffff;
    padding:50px;
    border:1px solid #ddd5c8;
    box-shadow:0 20px 40px rgba(0,0,0,0.05);
}

.timeline-content.dark{
    background:#535353fc;
    border:1px solid #c6a55c;
    color:#ffffff;
}

.timeline-day{
    font-family:'Cinzel', serif;
    font-size:14px;
    letter-spacing:3px;
    color:#777;
    text-transform:uppercase;
}

.timeline-day.gold{
    color:#c6a55c;
}

.timeline-content h3{
    font-family:'Cinzel', serif;
    font-size:26px;
    margin:20px 0 30px;
}

/* ================= LIST ================= */

.timeline-content ul{
    list-style:none;
    padding:0;
}

.timeline-content ul li{ 
    font-family:'Cormorant Garamond', serif;
    font-size:19px;
    margin-bottom:16px;
    display:flex;
    align-items:center;
    gap:12px;
}

.timeline-content ul li i{
    color:#c6a55c;
    font-size:16px;
    min-width:20px;
}

.timeline-highlight{
    margin-top:30px;
    font-style:italic;
    font-size:20px;
}

/* ================= DAY 2 DETAILED STYLE ================= */

.program-intro{
    font-family:'Cormorant Garamond', serif;
    font-size:20px;
    margin-bottom:35px;
    color:#d8cfc2;
    line-height:1.6;
}

.intervention-heading{
    font-family:'Cinzel', serif;
    font-size:15px;
    letter-spacing:3px;
    text-transform:uppercase;
    margin-bottom:30px;
    color:#c6a55c;
}

.detailed-list{
    list-style:none;
    padding:0;
}

.detailed-list li{
    display:flex;
    align-items:flex-start;
    gap:18px;
    margin-bottom:28px;
}

.detailed-list li i{
    color:#c6a55c;
    font-size:18px;
    margin-top:6px;
    min-width:22px;
}

.detailed-list li strong{
    display:block;
    font-family:'Cinzel', serif;
    font-size:16px;
    margin-bottom:6px;
}

.detailed-list li p{
    font-family:'Cormorant Garamond', serif;
    font-size:18px;
    line-height:1.6;
    color:#e6e6e6;
}

/* ================= SIDE IMAGES ================= */

.timeline-image{
    position:absolute;
    top:0;
    width:66%;
    display:flex;
    align-items:center;
    justify-content:center;
}

.timeline-image img{
    width:100%;
    height:420px;
    object-fit:cover;
    border:1px solid #d8d2c8;
    box-shadow:0 25px 60px rgba(0,0,0,0.08);
}

/* Day 1 image right side */
.timeline-item.left .image-right{
    right:-100%;
}

/* Day 2 image left side */
.timeline-item.right .image-left{
    left:-100%;
}

/* ================= RESPONSIVE ================= */

@media(max-width:992px){

    .timeline::before{
        left:20px;
    }

    .timeline-item{
        width:100%;
        padding-left:70px;
        padding-right:20px;
        margin-bottom:70px;
        text-align:left;
    }

    .timeline-item.left,
    .timeline-item.right{
        left:0;
    }

    .timeline-icon{
        left:20px !important;
    }

    .timeline-image{
        display:none;
    }

}
