/*==================================================
PROGRAM HERO
==================================================*/

.program-hero{

    display:grid;
    grid-template-columns:50% 50%;

    min-height:100vh;

    background:#f8f3eb;

    border-top:2px solid #111;
    border-bottom:2px solid #111;

}

/* LEFT */

.program-hero__left{

    display:flex;
    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:80px 70px;

    border-right:2px solid #111;

    position:relative;

}

/* Small Heading */

.program-hero__eyebrow{

    font-family:'Outfit',sans-serif;

    font-size:20px;

    font-weight:900;

    color:#111;

    letter-spacing:.5px;

    text-transform:uppercase;
    margin-top: 20px;
    margin-bottom:40px;

}

/* Main Heading */

.program-hero__title{

    font-family:'Cormorant Garamond',serif;

    font-weight:500;

    font-size:70px;

    line-height:.95;

    color:#6f217f;

    margin-bottom:40px;

}

.program-hero__title span{

    color:#6f217f;

}

/* Paragraph */

.program-hero__text{

    width:82%;

    font-family:'Cormorant Garamond',serif;

    font-size:34px;

    line-height:1.25;

    color:#6f217f;

    margin-bottom:55px;

}

/* Button */

.program-hero__btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:260px;

    height:72px;

    border-radius:100px;

    background:#cf295c;

    color:#fff;

    font-family:'Outfit',sans-serif;

    font-size:24px;

    font-weight:800;

    text-decoration:none;

    transition:.35s;

    border:2px solid #111;

}

.program-hero__btn:hover{

    transform:translateY(-5px);

}

/* RIGHT */

.program-hero__right{

    position:relative;

    overflow:hidden;

}

.program-hero__right img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

}
/*==================================================
CONFIDENCE MESSAGE
==================================================*/

.confidence-message{

    background:#ffffff;

    padding:140px 0;

}

.confidence-message__container{

    width:min(1400px,90%);
    margin-top: -60px;
    margin-bottom: -50px;
    display:grid;
    grid-template-columns:45% 55%;

    gap:90px;

    align-items:flex-start;

}

/* LEFT */

.confidence-message__left h2{

    font-family:'Cormorant Garamond',serif;

    font-size:74px;

    font-weight:500;

    line-height:.95;

    color:#6d247d;

    margin:0;

}

.confidence-message__left span{

    display:inline-block;

    margin-top:18px;

}

/* RIGHT */

.confidence-message__right h3{

    font-family:'Cormorant Garamond',serif;

    font-size:34px;

    font-weight:500;

    line-height:1.25;

    color:#6d247d;

    margin:0 0 30px;

}

.confidence-message__right p{

    font-family:'Outfit',sans-serif;

    font-size:24px;
    margin-right: 30px;
    line-height:1.3;

    color:#222;

    margin-bottom:20px;

}

.confidence-message__right p:last-child{

    margin-bottom:0;

}

/* ==========================================
   BLACK → WHITE DIVIDER
========================================== */
.v-divider-black{
    width:100%;
    line-height:0;
    background:#fff;
    overflow:hidden;
    margin-top: -50px;
}

.v-divider-black svg{
    display:block;
    width:100%;
    height:120px;
}

/* ==========================================
   GOAL SECTION
========================================== */

.goal-section{

    background:#fff;
    margin-top: -2px;
    padding:120px 0 140px;

}


.goal-section .container{

    width:min(1200px,92%);
    margin:auto;
    margin-bottom: -90px;
}


/* ==========================================
   TITLE
========================================== */

.goal-title{

    text-align:center;

    font-family:'Outfit',sans-serif;

    font-size:58px;

    font-weight:900;

    text-transform:uppercase;

    color:#111;

    letter-spacing:-2px;

    margin-bottom:80px;

    margin-top: -70px;

}


/* ==========================================
   GRID
========================================== */

.goal-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:28px;

}


/* ==========================================
   CARD
========================================== */

.goal-card{

    display:flex;

    align-items:center;

    gap:18px;

    padding:24px 30px;

    border:2px solid #e8e8e8;

    border-radius:18px;

    cursor:pointer;

    transition:.35s ease;

    background:#fff;

}


.goal-card:hover{

    transform:translateY(-6px);

    border-color:#ff3366;

    box-shadow:0 18px 45px rgba(0,0,0,.08);

}


/* Hide default checkbox */

.goal-card input{

    display:none;

}


/* ==========================================
   CUSTOM CHECKBOX
========================================== */

.goal-check{

    width:26px;

    height:26px;

    border:2px solid #111;

    border-radius:6px;

    flex-shrink:0;

    position:relative;

    transition:.3s;

}


/* Selected */

.goal-card input:checked + .goal-check{

    background:#ff3366;

    border-color:#ff3366;

}


.goal-card input:checked + .goal-check::after{

    content:"✓";

    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-54%);

    color:#fff;

    font-size:15px;

    font-weight:700;

}


/* ==========================================
   TEXT
========================================== */

.goal-text{

    font-family:'Outfit',sans-serif;

    font-size:24px;

    font-weight:700;

    color:#111;

}
/* ==========================================================
   WHITE → BLACK DIVIDER
========================================================== */

.v-divider-white{
    width:100%;
    line-height:0;
    overflow:hidden;
    background:#fff;
}

.v-divider-white svg{
    display:block;
    width:100%;
    height:120px;
    fill:#000;
}

/* ==========================================================
   JOURNEY SECTION
========================================================== */

.journey-section{

    background:#000;
    padding:140px 0;

}

.journey-container{

    width:min(1350px,92%);
    margin:auto;
    margin-bottom: -150px;
}

/* ==========================================================
   TITLE
========================================================== */

.journey-title{

    text-align:center;

    font-family:'Outfit',sans-serif;

    font-size:58px;

    font-weight:900;

    color:#fff;

    letter-spacing:-2px;

    text-transform:uppercase;

    margin-bottom:10px;

    margin-top: -80px;

}

/* ==========================================================
   EACH BOOK
========================================================== */

.journey-item{

    display:grid;

    grid-template-columns:360px 1fr;

    align-items:center;

    gap:90px;

    margin-bottom:-90px;

}

.journey-item:last-child{

    margin-bottom:0;

}

/* ==========================================================
   BOOK IMAGE
========================================================== */

.journey-book{

    display:flex;

    justify-content:center;

}

.journey-book img{

    width:350px;

    height: 630px;

    display:block;

    transition:.4s ease;

    filter:drop-shadow(0 20px 40px rgba(0,0,0,.35));

}

.journey-book img:hover{

    transform:translateY(-10px);

}

/* ==========================================================
   CONTENT
========================================================== */

.journey-content h3{

    font-family:'Outfit',sans-serif;

    font-size:52px;

    font-weight:900;

    color:#F4C430;

    margin-bottom:25px;

}

.journey-content p{

    font-family:'Outfit',sans-serif;

    font-size:23px;

    line-height:1.7;

    color:#ffffff;

    margin-bottom:22px;

    max-width:760px;

}

.journey-highlight{

    color:#ffffff !important;

    font-weight:700;

}

.journey-highlight strong{

    color:#1dd4c8;

}
.journey-highlight strong.purple{

    color:purple;

}
.journey-highlight strong.green{

    color:green;

}
.journey-content{
    position: relative;
    z-index: 2;
}

.journey-book{
    position: relative;
    z-index: 1;
}
