/*=========================================================
HOME - INTRO
=========================================================*/

.home_intro
{
    padding:var(--space_3xl) 0;

    background:var(--aob-ivory);

    border-bottom:1px solid var(--aob-gold);
}


/*=========================================================
INTRO HEADER
=========================================================*/

.home_intro_header
{
    width:100%;
    max-width:52rem;

    margin:0 auto var(--space_2xl);

    text-align:center;
}

.home_intro_header h2
{
    margin:0;

    color:var(--aob-text);

    font-family:var(--font_display);
    font-size:clamp(3.4rem,11vw,5rem);
    font-weight:500;
    letter-spacing:-0.025em;
    line-height:0.9;
}

.home_intro_heading_accent
{
    display:block;

    margin-top:0.1rem;

    color:var(--aob-champagne-gold);

    font-family:var(--font_script);
    font-size:1.08em;
    font-weight:400;
    letter-spacing:0;
    line-height:0.9;
}


/*=========================================================
INTRO LAYOUT
=========================================================*/

.home_intro_layout
{
    display:grid;

    grid-template-columns:1fr;

    gap:var(--space_xl);

    align-items:center;
}


/*=========================================================
INTRO IMAGE
=========================================================*/

.home_intro_image
{
    position:relative;

    width:100%;

    overflow:hidden;

    background:var(--aob-black);

    border:1px solid var(--aob-gold);

    box-shadow:
        0 1.7rem 3.5rem rgba(31,21,14,0.18),
        0 0.4rem 1rem rgba(31,21,14,0.12);
}

.home_intro_image img
{
    display:block;

    width:100%;
    height:auto;

    transition:
        transform 450ms ease,
        filter 450ms ease;
}


/*=========================================================
INTRO COPY
=========================================================*/

.home_intro_copy
{
    width:100%;
    max-width:42rem;
}

.home_intro_copy p
{
    max-width:39rem;

    color:var(--aob-text-soft);

    line-height:1.75;
}

.home_intro_copy p strong
{
    color:var(--aob-text);
    font-weight:700;
}

.home_intro_lead
{
    margin-top:0;
    margin-bottom:var(--space_lg);

    color:var(--aob-text);

    font-size:1.05rem;
    line-height:1.7;
}

.home_intro_reassurance
{
    margin-bottom:0;
}


/*=========================================================
INTRO LIST
=========================================================*/

.home_intro_list
{
    display:grid;

    margin:var(--space_lg) 0;

    padding:0;

    gap:0.75rem;

    list-style:none;
}

.home_intro_list li
{
    position:relative;

    padding-left:1.75rem;

    color:var(--aob-text-soft);

    line-height:1.55;
}

.home_intro_list li::before
{
    content:"♡";

    position:absolute;

    top:-0.05rem;
    left:0;

    color:var(--aob-champagne-gold);

    font-family:var(--font_display);
    font-size:1.1rem;
}


/*=========================================================
INTRO CTA
=========================================================*/

.home_intro_cta
{
    display:flex;

    width:100%;
    max-width:52rem;

    margin:var(--space_2xl) auto 0;

    flex-direction:column;
    align-items:center;

    text-align:center;
}

.home_intro_signature
{
    margin:0;

    color:var(--aob-champagne-gold);

    font-family:var(--font_script);
    font-size:clamp(3.2rem,9vw,5.25rem);
    font-weight:400;
    line-height:0.9;
}


/*=========================================================
INTRO CTA DIVIDER
=========================================================*/

.home_intro_cta_divider
{
    display:flex;

    width:min(100%,26rem);

    margin:1.25rem auto 1rem;

    align-items:center;
    justify-content:center;

    gap:0.75rem;
}

.home_intro_cta_divider span:not(.home_intro_cta_heart)
{
    display:block;

    height:1px;

    flex:1 1 auto;

    background:var(--aob-gold);
}

.home_intro_cta_heart
{
    display:block;

    color:var(--aob-champagne-gold);

    font-family:var(--font_display);
    font-size:1.15rem;
    line-height:1;
}


/*=========================================================
INTRO BUTTON
=========================================================*/

.home_intro_button
{
    min-width:17rem;

    margin-top:0;
}


/*=========================================================
TABLET
=========================================================*/

@media (min-width:48rem)
{
    .home_intro
    {
        padding:var(--space_4xl) 0;
    }

    .home_intro_layout
    {
        gap:var(--space_2xl);
    }

    .home_intro_image
    {
        max-width:52rem;

        margin:0 auto;
    }

    .home_intro_copy
    {
        margin:0 auto;

        text-align:center;
    }

    .home_intro_copy p
    {
        margin-right:auto;
        margin-left:auto;
    }

    .home_intro_list
    {
        width:min(100%,35rem);

        margin-right:auto;
        margin-left:auto;

        text-align:left;
    }
}


/*=========================================================
DESKTOP
=========================================================*/

@media (min-width:68rem)
{
    .home_intro_header
    {
        max-width:44rem;

        margin-bottom:2.75rem;
    }

    .home_intro_layout
    {
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);

        gap:clamp(3rem,4.5vw,5rem);

        align-items:center;
    }

    .home_intro_image
    {
        max-width:none;

        margin:0;
    }

    .home_intro_copy
    {
        max-width:42rem;

        margin:0;

        text-align:left;
    }

    .home_intro_copy p
    {
        margin-right:0;
        margin-left:0;
    }

    .home_intro_list
    {
        width:100%;

        margin-right:0;
        margin-left:0;
    }

    .home_intro_cta
    {
        max-width:60rem;

        margin-top:2.75rem;
    }
}


/*=========================================================
LARGE DESKTOP
=========================================================*/

@media (min-width:90rem)
{
    .home_intro_header
    {
        max-width:52rem;
    }

    .home_intro_header h2
    {
        font-size:5.25rem;
    }

    .home_intro_signature
    {
        font-size:5.5rem;
    }
}


/*=========================================================
IMAGE HOVER - POINTER DEVICES ONLY
=========================================================*/

@media (hover:hover) and (pointer:fine)
{
    .home_intro_image:hover img
    {
        filter:brightness(1.035);
        transform:scale(1.015);
    }
}


/*=========================================================
SMALL MOBILE
=========================================================*/

@media (max-width:29.99rem)
{
    .home_intro
    {
        padding:var(--space_2xl) 0;
    }

    .home_intro_header
    {
        margin-bottom:var(--space_lg);
    }

    .home_intro_header h2
    {
        font-size:clamp(2.9rem,14vw,3.8rem);
    }

    .home_intro_layout
    {
        gap:var(--space_xl);
    }

    .home_intro_cta
    {
        margin-top:var(--space_xl);
    }

    .home_intro_signature
    {
        font-size:clamp(2.8rem,14vw,3.7rem);
    }

    .home_intro_button
    {
        width:100%;
        min-width:0;
    }
}


/*=========================================================
REDUCED MOTION
=========================================================*/

@media (prefers-reduced-motion:reduce)
{
    .home_intro_image img
    {
        transition:none;
    }

    .home_intro_image:hover img
    {
        filter:none;
        transform:none;
    }
}