500;600&family=DM+Sans:wght@400;500;600;700&display=swap");

#vaw-wedding-final,
#vaw-wedding-final *{
    box-sizing:border-box!important;
}

#vaw-wedding-final{
    --vine:#5b1e2d;
    --olive:#6b6f4e;
    --olive-dark:#555a3f;
    --stone:#d8cec2;
    --stone-soft:#e8e0d7;
    --cream:#f6f2ea;
    --paper:#fffdf8;
    --gold:#b89a5a;
    --ink:#302b28;

    --heading:"Cormorant Garamond",Georgia,serif;
    --body:"DM Sans",Arial,sans-serif;

    position:relative!important;
    left:50%!important;

    width:100vw!important;
    max-width:100vw!important;

    margin-left:-50vw!important;

    overflow:hidden!important;

    background:var(--cream)!important;

    color:var(--ink)!important;

    font-family:var(--body)!important;
}

#vaw-wedding-final a{
    text-decoration:none!important;
}

#vaw-wedding-final img{
    display:block!important;
    width:100%!important;
}


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

#vaw-wedding-final .vaw-wf-layout{
    display:grid!important;

    grid-template-columns:
        minmax(520px,1.04fr)
        minmax(500px,.96fr)!important;

    min-height:640px!important;
}


/* =========================================================
   IMAGE SIDE
========================================================= */

#vaw-wedding-final .vaw-wf-visual{
    position:relative!important;

    min-height:640px!important;

    overflow:hidden!important;

    background:var(--stone)!important;
}

#vaw-wedding-final .vaw-wf-image{
    position:absolute!important;

    inset:0!important;

    width:100%!important;
    height:100%!important;

    object-fit:cover!important;

    object-position:center 58%!important;

    transition:transform .9s ease!important;
}

#vaw-wedding-final:hover .vaw-wf-image{
    transform:scale(1.025)!important;
}


/* OVERLAY */

#vaw-wedding-final .vaw-wf-visual:after{
    position:absolute!important;

    inset:0!important;

    z-index:2!important;

    background:
        linear-gradient(
            180deg,
            rgba(48,43,40,.02) 35%,
            rgba(48,43,40,.68) 100%
        )!important;

    content:""!important;
}


/* FRAME */

#vaw-wedding-final .vaw-wf-frame{
    position:absolute!important;

    inset:23px!important;

    z-index:3!important;

    border:
        1px solid
        rgba(246,242,234,.65)!important;

    pointer-events:none!important;
}


/* IMAGE COPY */

#vaw-wedding-final .vaw-wf-image-copy{
    position:absolute!important;

    right:48px!important;
    bottom:42px!important;
    left:48px!important;

    z-index:4!important;

    max-width:680px!important;
}

#vaw-wedding-final .vaw-wf-image-copy span{
    display:block!important;

    margin-bottom:10px!important;

    color:var(--stone)!important;

    font:700 10px/1.2 var(--body)!important;

    letter-spacing:.18em!important;

    text-transform:uppercase!important;
}

#vaw-wedding-final .vaw-wf-image-copy strong{
    display:block!important;

    color:var(--cream)!important;

    font:400
        clamp(39px,4vw,58px)
        /.96
        var(--heading)!important;

    letter-spacing:-.025em!important;
}


/* =========================================================
   CONTENT SIDE
========================================================= */

#vaw-wedding-final .vaw-wf-content{
    position:relative!important;

    display:flex!important;

    align-items:center!important;

    padding:
        clamp(50px,6vw,85px)!important;

    background:var(--vine)!important;

    overflow:hidden!important;
}


/* DECORATIVE CIRCLES */

#vaw-wedding-final .vaw-wf-content:before{
    position:absolute!important;

    top:-210px!important;
    right:-210px!important;

    width:480px!important;
    height:480px!important;

    border:
        1px solid
        rgba(246,242,234,.10)!important;

    border-radius:50%!important;

    content:""!important;
}

#vaw-wedding-final .vaw-wf-content:after{
    position:absolute!important;

    right:80px!important;
    bottom:-300px!important;

    width:470px!important;
    height:470px!important;

    border:
        1px solid
        rgba(184,154,90,.14)!important;

    border-radius:50%!important;

    content:""!important;
}


/* INNER */

#vaw-wedding-final .vaw-wf-inner{
    position:relative!important;

    z-index:3!important;

    width:100%!important;

    max-width:650px!important;
}


/* EYEBROW */

#vaw-wedding-final .vaw-wf-eyebrow{
    display:flex!important;

    align-items:center!important;

    gap:14px!important;

    margin:0 0 18px!important;

    color:var(--stone)!important;

    font:700 10px/1.2 var(--body)!important;

    letter-spacing:.20em!important;

    text-transform:uppercase!important;
}

#vaw-wedding-final .vaw-wf-eyebrow:before{
    width:43px!important;
    height:1px!important;

    flex:0 0 43px!important;

    background:var(--gold)!important;

    content:""!important;
}


/* TITLE */

#vaw-wedding-final .vaw-wf-title{
    margin:0!important;

    color:var(--cream)!important;

    font:500
        clamp(48px,5vw,72px)
        /.94
        var(--heading)!important;

    letter-spacing:-.035em!important;

    text-wrap:balance!important;
}


/* BODY */

#vaw-wedding-final .vaw-wf-copy{
    max-width:600px!important;

    margin:23px 0 0!important;

    color:rgba(246,242,234,.74)!important;

    font:400 16px/1.8 var(--body)!important;
}


/* =========================================================
   ACTIONS
========================================================= */

#vaw-wedding-final .vaw-wf-actions{
    display:flex!important;

    flex-wrap:wrap!important;

    gap:11px!important;

    margin-top:34px!important;
}

#vaw-wedding-final .vaw-wf-primary,
#vaw-wedding-final .vaw-wf-secondary{
    display:inline-flex!important;

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

    min-height:55px!important;

    padding:16px 24px!important;

    font:700 10px/1 var(--body)!important;

    letter-spacing:.11em!important;

    text-transform:uppercase!important;

    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease,
        transform .25s ease!important;
}


/* PRIMARY */

#vaw-wedding-final .vaw-wf-primary{
    gap:15px!important;

    border:1px solid var(--cream)!important;

    background:var(--cream)!important;

    color:var(--vine)!important;
}

#vaw-wedding-final .vaw-wf-primary:after{
    content:"→"!important;

    font-size:18px!important;

    font-weight:400!important;
}

#vaw-wedding-final .vaw-wf-primary:hover{
    background:transparent!important;

    color:var(--cream)!important;

    transform:translateY(-2px)!important;
}


/* SECONDARY */

#vaw-wedding-final .vaw-wf-secondary{
    border:
        1px solid
        rgba(246,242,234,.38)!important;

    background:transparent!important;

    color:var(--cream)!important;
}

#vaw-wedding-final .vaw-wf-secondary:hover{
    border-color:var(--cream)!important;

    background:
        rgba(246,242,234,.07)!important;

    transform:translateY(-2px)!important;
}


/* =========================================================
   CONTACT DETAILS
========================================================= */

#vaw-wedding-final .vaw-wf-contact{
    display:grid!important;

    grid-template-columns:1fr 1fr!important;

    margin-top:41px!important;

    padding-top:27px!important;

    border-top:
        1px solid
        rgba(246,242,234,.18)!important;
}

#vaw-wedding-final .vaw-wf-contact-item{
    padding-right:20px!important;
}

#vaw-wedding-final .vaw-wf-contact-item + .vaw-wf-contact-item{
    padding-left:23px!important;

    border-left:
        1px solid
        rgba(246,242,234,.18)!important;
}

#vaw-wedding-final .vaw-wf-contact-label{
    display:block!important;

    margin-bottom:8px!important;

    color:rgba(246,242,234,.52)!important;

    font:700 10px/1.2 var(--body)!important;

    letter-spacing:.13em!important;

    text-transform:uppercase!important;
}

#vaw-wedding-final .vaw-wf-contact-value{
    display:block!important;

    color:var(--cream)!important;

    font:500 15px/1.5 var(--body)!important;

    overflow-wrap:anywhere!important;

    transition:color .2s ease!important;
}

#vaw-wedding-final .vaw-wf-contact-value:hover{
    color:var(--stone)!important;
}


/* =========================================================
   SMALL TRUST LINE
========================================================= */

#vaw-wedding-final .vaw-wf-trust{
    display:flex!important;

    align-items:center!important;

    gap:12px!important;

    margin-top:27px!important;

    color:rgba(246,242,234,.68)!important;

    font:400 14px/1.6 var(--body)!important;
}

#vaw-wedding-final .vaw-wf-trust-dot{
    display:block!important;

    flex:0 0 7px!important;

    width:7px!important;
    height:7px!important;

    border-radius:50%!important;

    background:var(--gold)!important;
}


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

@media(max-width:1000px){

    #vaw-wedding-final .vaw-wf-layout{
        grid-template-columns:1fr!important;

        min-height:0!important;
    }

    #vaw-wedding-final .vaw-wf-visual{
        min-height:540px!important;
    }

    #vaw-wedding-final .vaw-wf-content{
        padding:60px 38px 65px!important;
    }

    #vaw-wedding-final .vaw-wf-inner{
        max-width:760px!important;

        margin:0 auto!important;
    }

}


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

@media(max-width:640px){

    #vaw-wedding-final .vaw-wf-visual{
        min-height:430px!important;
    }

    #vaw-wedding-final .vaw-wf-image{
        object-position:center 62%!important;
    }

    #vaw-wedding-final .vaw-wf-frame{
        inset:13px!important;
    }

    #vaw-wedding-final .vaw-wf-image-copy{
        right:27px!important;
        bottom:26px!important;
        left:27px!important;
    }

    #vaw-wedding-final .vaw-wf-image-copy strong{
        font-size:34px!important;
    }


    /* CONTENT */

    #vaw-wedding-final .vaw-wf-content{
        padding:48px 21px 53px!important;
    }

    #vaw-wedding-final .vaw-wf-title{
        font-size:
            clamp(43px,12.5vw,56px)!important;
    }

    #vaw-wedding-final .vaw-wf-copy{
        font-size:15px!important;

        line-height:1.75!important;
    }


    /* BUTTONS */

    #vaw-wedding-final .vaw-wf-actions{
        display:grid!important;

        grid-template-columns:1fr!important;

        margin-top:28px!important;
    }

    #vaw-wedding-final .vaw-wf-primary,
    #vaw-wedding-final .vaw-wf-secondary{
        width:100%!important;
    }


    /* CONTACT */

    #vaw-wedding-final .vaw-wf-contact{
        grid-template-columns:1fr!important;

        margin-top:34px!important;
    }

    #vaw-wedding-final .vaw-wf-contact-item{
        padding:17px 0!important;
    }

    #vaw-wedding-final .vaw-wf-contact-item:first-child{
        padding-top:0!important;
    }

    #vaw-wedding-final .vaw-wf-contact-item + .vaw-wf-contact-item{
        padding-left:0!important;

        border-left:0!important;

        border-top:
            1px solid
            rgba(246,242,234,.18)!important;
    }

    #vaw-wedding-final .vaw-wf-contact-value{
        font-size:15px!important;
    }

    #vaw-wedding-final .vaw-wf-trust{
        align-items:flex-start!important;

        font-size:14px!important;
    }

}


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

@media(max-width:390px){

    #vaw-wedding-final .vaw-wf-visual{
        min-height:400px!important;
    }

    #vaw-wedding-final .vaw-wf-title{
        font-size:42px!important;
    }

}


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

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

    #vaw-wedding-final *,
    #vaw-wedding-final *:before,
    #vaw-wedding-final *:after{
        transition:none!important;
    }

}



@media(max-width:767px){body:has(.vaw-pyw-section-slot){overflow-x:clip} .vaw-pyw-section-slot{min-width:0;max-width:100%} .vaw-pyw-section-slot section[id^="vaw-"]{left:auto!important;width:100%!important;max-width:100%!important;margin-left:0!important} .vaw-pyw-section-slot img{max-width:100%} .vaw-pyw-section-slot a{overflow-wrap:anywhere}}
@media(max-width:767px){
.vaw-pyw-section-slot section[id^="vaw-"] *{min-width:0!important;}
#vaw-plan-wedding-hero .vaw-pwh-grid{grid-template-columns:minmax(0,1fr)!important;max-width:100%!important;}
#vaw-plan-wedding-hero .vaw-pwh-content,#vaw-plan-wedding-hero .vaw-pwh-visual{min-width:0!important;width:100%!important;}
}
@media(max-width:767px){#vaw-wedding-packages .vaw-wpk-grid{grid-template-columns:minmax(0,1fr)!important}#vaw-wedding-packages .vaw-wpk-card{min-width:0!important;max-width:100%!important}#vaw-wedding-packages .vaw-wpk-card-inner{min-width:0!important}#vaw-wedding-packages .vaw-wpk-features li{overflow-wrap:anywhere}}
@media(max-width:767px){#vaw-planning-steps .vaw-ps-top{grid-template-columns:minmax(0,1fr)!important;min-width:0!important}#vaw-planning-steps .vaw-ps-intro{width:100%!important;max-width:100%!important;min-width:0!important}}
@media(max-width:767px){#vaw-wedding-lookbook .vaw-wlb-panel{grid-template-columns:minmax(0,1fr)!important;min-width:0!important}#vaw-wedding-lookbook .vaw-wlb-content{min-width:0!important;max-width:100%!important}}
@media(max-width:767px){#vaw-wedding-final .vaw-wf-layout{grid-template-columns:minmax(0,1fr)!important;min-width:0!important}#vaw-wedding-final .vaw-wf-visual,#vaw-wedding-final .vaw-wf-content{min-width:0!important;max-width:100%!important}}
@media(max-width:767px){html:has(.vaw-pyw-section-slot),body:has(.vaw-pyw-section-slot){overflow-x:hidden!important;max-width:100%} .vaw-pyw-section-slot{overflow-x:hidden!important;max-width:100%!important;width:100%!important}}