/*==================================================
    MUSIC ADVENTURE
    Page-specific styles
==================================================*/

/* First section sits directly below the fixed navbar. */
#music-adventure-intro{
    padding-top:50px;
}

.adventure-intro-actions{
    display:flex;
    align-items:center;
    gap:24px;
    flex-wrap:wrap;
    margin-top:28px;
}

.adventure-text-link{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:#E15027;
    font-weight:700;
    text-decoration:none;
}

.adventure-text-link i{
    transition:transform .25s ease;
}

.adventure-text-link:hover i{
    transform:translateX(5px);
}


/*==================================================
    PARALLAX INTERACTION SECTION
    Uses .customer-section / .customer-paralax*
    so the existing customer parallax code in main.js
    can drive the motion.
==================================================*/

.adventure-parallax-section{
    position:relative;
    overflow:hidden;
    padding:115px 0;
    background:#FFF8F3;
}

.adventure-parallax-section .section-heading{
    position:relative;
    z-index:10;
    max-width:760px;
    margin:0 auto 55px;
}

.adventure-parallax-layer{
    position:absolute;
    left:-10%;
    width:120%;
    height:160px;
    display:flex;
    align-items:center;
    justify-content:space-around;
    pointer-events:none;
    white-space:nowrap;
    z-index:0;
    will-change:transform;
}

.adventure-parallax-layer span{
    display:block;
    font-family:"Poppins",sans-serif;
    line-height:1;
    user-select:none;
}

.adventure-layer-one{
    top:55px;
    opacity:.09;
}

.adventure-layer-one span{
    font-size:80px;
    color:#E15027;
}

.adventure-layer-two{
    top:360px;
    left:-5%;
    opacity:.09;
}

.adventure-layer-two span{
    font-size:64px;
    color:#F5A605;
}

.adventure-layer-three{
    bottom:45px;
    left:-15%;
    opacity:.07;
}

.adventure-layer-three span{
    font-size:92px;
    color:#7FA630;
}

.adventure-photo-wrapper{
    position:relative;
    z-index:10;
    padding:22px;
    border-radius:38px;
    background:rgba(255,255,255,.78);
    border:1px solid rgba(225,80,39,.08);
    box-shadow:0 24px 70px rgba(0,0,0,.07);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.adventure-photo-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr .85fr;
    grid-template-rows:300px 300px;
    gap:18px;
}

.adventure-photo{
    position:relative;
    overflow:hidden;
    margin:0;
    border-radius:26px;
    min-width:0;
    background:#f2ede8;
}

.adventure-photo-large{
    grid-row:1 / 3;
}

.adventure-photo-wide{
    grid-column:2 / 4;
}

.adventure-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .55s ease;
}

.adventure-photo::after{
    content:"";
    position:absolute;
    inset:38% 0 0;
    background:linear-gradient(
        to bottom,
        rgba(0,0,0,0),
        rgba(0,0,0,.62)
    );
    pointer-events:none;
}

.adventure-photo figcaption{
    position:absolute;
    left:22px;
    right:22px;
    bottom:20px;
    z-index:2;
    color:#fff;
}

.adventure-photo figcaption strong{
    display:block;
    margin-bottom:5px;
    font-family:"Poppins",sans-serif;
    font-size:19px;
    font-weight:700;
}

.adventure-photo figcaption span{
    display:block;
    font-size:13px;
    line-height:1.55;
    opacity:.92;
}

@media (hover:hover) and (pointer:fine){
    .adventure-photo:hover img{
        transform:scale(1.045);
    }
}


/*==================================================
    CLASS FLOW
==================================================*/

.adventure-flow-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.adventure-flow-card{
    position:relative;
    padding:32px 28px 28px;
    border-radius:28px;
    background:#fff;
    border:1px solid rgba(225,80,39,.08);
    box-shadow:0 15px 40px rgba(0,0,0,.05);
    overflow:hidden;
}

.adventure-step{
    position:absolute;
    top:18px;
    right:22px;
    font-family:"Poppins",sans-serif;
    font-size:42px;
    line-height:1;
    font-weight:800;
    color:rgba(225,80,39,.08);
}

.adventure-flow-card .philosophy-icon{
    margin-bottom:22px;
}

.adventure-flow-card h3{
    margin-bottom:11px;
    font-size:21px;
    font-weight:700;
}

.adventure-flow-card p{
    margin:0;
    color:#666;
    line-height:1.75;
}


/*==================================================
    SMALL PAGE ADJUSTMENTS
==================================================*/

.adventure-details-section .philosophy-card,
.adventure-faq-section .philosophy-card{
    height:100%;
}

.adventure-progress-image .values-image img{
    object-position:center;
}


/*==================================================
    RESPONSIVE
==================================================*/

@media (max-width:991px){

    .adventure-parallax-section{
        padding:95px 0;
    }

    .adventure-photo-grid{
        grid-template-columns:1fr 1fr;
        grid-template-rows:380px 260px 260px;
    }

    .adventure-photo-large{
        grid-column:1 / 3;
        grid-row:auto;
    }

    .adventure-photo-wide{
        grid-column:1 / 3;
    }

    .adventure-flow-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .adventure-layer-one{
        top:80px;
    }

    .adventure-layer-two{
        top:470px;
    }
}

@media (max-width:767px){

    #music-adventure-intro{
        padding-top:30px;
    }

    .adventure-intro-actions{
        gap:16px;
    }

    .adventure-parallax-section{
        padding:80px 0;
    }

    .adventure-parallax-section .section-heading{
        margin-bottom:35px;
    }

    .adventure-photo-wrapper{
        padding:12px;
        border-radius:25px;
    }

    .adventure-photo-grid{
        display:grid;
        grid-template-columns:1fr;
        grid-template-rows:none;
        gap:12px;
    }

    .adventure-photo,
    .adventure-photo-large,
    .adventure-photo-wide{
        grid-column:auto;
        grid-row:auto;
        aspect-ratio:4/3;
        border-radius:20px;
    }

    .adventure-photo figcaption{
        left:16px;
        right:16px;
        bottom:15px;
    }

    .adventure-photo figcaption strong{
        font-size:17px;
    }

    .adventure-flow-grid{
        grid-template-columns:1fr;
        gap:16px;
    }

    .adventure-flow-card{
        padding:26px 22px 23px;
    }

    .adventure-parallax-layer{
        width:150%;
    }

    .adventure-parallax-layer span{
        font-size:52px;
    }
}

@media (prefers-reduced-motion:reduce){

    .adventure-photo img,
    .adventure-text-link i{
        transition:none;
    }
}
