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

#vaw-planning-steps,
#vaw-planning-steps *{
    box-sizing:border-box!important;
}

#vaw-planning-steps{
    --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;

    /*
     * IMPORTANT:
     * sticky needs overflow visible
     */
    overflow:visible!important;

    padding:clamp(75px,8vw,120px) 0!important;

    background:var(--paper)!important;
    color:var(--ink)!important;
    font-family:var(--body)!important;
}

#vaw-planning-steps a{
    text-decoration:none!important;
}

#vaw-planning-steps .vaw-ps-wrap{
    width:min(calc(100% - 48px),1400px)!important;
    margin:0 auto!important;
}


/* =========================================================
   MAIN TWO COLUMN AREA
========================================================= */

#vaw-planning-steps .vaw-ps-top{
    display:grid!important;

    /*
     * LEFT intentionally narrower.
     * RIGHT carries the longer timeline.
     */
    grid-template-columns:
        minmax(330px,.72fr)
        minmax(560px,1.28fr)!important;

    align-items:start!important;
    gap:clamp(65px,9vw,145px)!important;

    position:relative!important;
    overflow:visible!important;
}


/* =========================================================
   LEFT — STICKY INTRO
========================================================= */

#vaw-planning-steps .vaw-ps-intro{
    position:-webkit-sticky!important;
    position:sticky!important;

    /*
     * Change this if your actual header is taller/shorter.
     */
    top:105px!important;

    align-self:start!important;

    width:100%!important;
    max-width:520px!important;

    z-index:5!important;
}

#vaw-planning-steps .vaw-ps-eyebrow{
    display:flex!important;
    align-items:center!important;
    gap:14px!important;

    margin:0 0 17px!important;

    color:var(--olive)!important;

    font:700 10px/1.2 var(--body)!important;
    letter-spacing:.20em!important;
    text-transform:uppercase!important;
}

#vaw-planning-steps .vaw-ps-eyebrow:before{
    width:44px!important;
    height:1px!important;

    flex:0 0 44px!important;

    background:var(--olive)!important;

    content:""!important;
}

#vaw-planning-steps .vaw-ps-title{
    max-width:510px!important;

    margin:0!important;

    color:var(--vine)!important;

    font:500 clamp(46px,4.7vw,68px)/.96 var(--heading)!important;

    letter-spacing:-.035em!important;
    text-wrap:balance!important;
}

#vaw-planning-steps .vaw-ps-lead{
    max-width:510px!important;

    margin:23px 0 0!important;

    color:rgba(48,43,40,.70)!important;

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


/* =========================================================
   LEFT FEATURE BOX
========================================================= */

#vaw-planning-steps .vaw-ps-note{
    position:relative!important;

    margin-top:31px!important;

    padding:24px 25px!important;

    border-left:2px solid var(--gold)!important;

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

#vaw-planning-steps .vaw-ps-note span{
    display:block!important;

    margin-bottom:8px!important;

    color:var(--olive)!important;

    font:700 10px/1.2 var(--body)!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
}

#vaw-planning-steps .vaw-ps-note strong{
    display:block!important;

    color:var(--vine)!important;

    font:500 27px/1.08 var(--heading)!important;
}

#vaw-planning-steps .vaw-ps-note p{
    margin:10px 0 0!important;

    color:rgba(48,43,40,.68)!important;

    font:400 15px/1.72 var(--body)!important;
}


/* =========================================================
   QUICK CONTACT INSIDE STICKY AREA
========================================================= */

#vaw-planning-steps .vaw-ps-mini-contact{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;

    gap:9px 18px!important;

    margin-top:24px!important;

    padding-top:21px!important;

    border-top:1px solid rgba(107,111,78,.18)!important;
}

#vaw-planning-steps .vaw-ps-mini-contact span{
    width:100%!important;

    color:rgba(48,43,40,.50)!important;

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

    letter-spacing:.13em!important;
    text-transform:uppercase!important;
}

#vaw-planning-steps .vaw-ps-mini-contact a{
    color:var(--olive-dark)!important;

    font:600 14px/1.5 var(--body)!important;

    transition:color .2s ease!important;
}

#vaw-planning-steps .vaw-ps-mini-contact a:hover{
    color:var(--vine)!important;
}

#vaw-planning-steps .vaw-ps-mini-divider{
    width:1px!important;
    height:15px!important;

    background:rgba(107,111,78,.25)!important;
}


/* =========================================================
   RIGHT — TIMELINE
========================================================= */

#vaw-planning-steps .vaw-ps-list{
    position:relative!important;

    width:100%!important;

    padding-bottom:5px!important;
}


/* VERTICAL LINE */

#vaw-planning-steps .vaw-ps-list:before{
    position:absolute!important;

    top:31px!important;
    bottom:35px!important;
    left:31px!important;

    width:1px!important;

    background:
        linear-gradient(
            180deg,
            rgba(107,111,78,.34),
            rgba(107,111,78,.13)
        )!important;

    content:""!important;
}


/* =========================================================
   TIMELINE ITEM
========================================================= */

#vaw-planning-steps .vaw-ps-item{
    position:relative!important;

    display:grid!important;

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

    gap:28px!important;

    padding:0 0 48px!important;
}

#vaw-planning-steps .vaw-ps-item:last-child{
    padding-bottom:0!important;
}


/* NUMBER */

#vaw-planning-steps .vaw-ps-number{
    position:relative!important;
    z-index:3!important;

    display:grid!important;
    place-items:center!important;

    width:64px!important;
    height:64px!important;

    border:1px solid rgba(107,111,78,.33)!important;
    border-radius:50%!important;

    background:var(--paper)!important;

    color:var(--olive)!important;

    font:500 19px/1 var(--heading)!important;

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


/* ITEM BODY */

#vaw-planning-steps .vaw-ps-item-content{
    position:relative!important;

    min-height:175px!important;

    padding:
        4px
        15px
        37px
        0!important;

    border-bottom:1px solid rgba(107,111,78,.18)!important;
}

#vaw-planning-steps .vaw-ps-item:last-child .vaw-ps-item-content{
    border-bottom:0!important;
}


/* LABEL */

#vaw-planning-steps .vaw-ps-step-label{
    display:block!important;

    margin-bottom:7px!important;

    color:rgba(107,111,78,.78)!important;

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

    letter-spacing:.13em!important;
    text-transform:uppercase!important;
}


/* TITLE */

#vaw-planning-steps .vaw-ps-item h3{
    margin:0!important;

    color:var(--vine)!important;

    font:500 clamp(33px,3vw,45px)/1 var(--heading)!important;

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


/* PARAGRAPH */

#vaw-planning-steps .vaw-ps-item p{
    max-width:720px!important;

    margin:15px 0 0!important;

    color:rgba(48,43,40,.70)!important;

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


/* HOVER */

#vaw-planning-steps .vaw-ps-item:hover .vaw-ps-number{
    border-color:var(--olive)!important;
    background:var(--olive)!important;
    color:var(--cream)!important;
}


/* =========================================================
   FINAL CTA
========================================================= */

#vaw-planning-steps .vaw-ps-cta{
    display:grid!important;

    grid-template-columns:minmax(0,1fr) auto!important;

    align-items:center!important;

    gap:45px!important;

    margin-top:80px!important;

    padding:clamp(34px,4vw,50px)!important;

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

#vaw-planning-steps .vaw-ps-cta-eyebrow{
    display:block!important;

    margin-bottom:9px!important;

    color:var(--olive)!important;

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

    letter-spacing:.14em!important;
    text-transform:uppercase!important;
}

#vaw-planning-steps .vaw-ps-cta h3{
    margin:0!important;

    color:var(--vine)!important;

    font:500 clamp(35px,3.6vw,51px)/.98 var(--heading)!important;

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

#vaw-planning-steps .vaw-ps-cta p{
    max-width:730px!important;

    margin:13px 0 0!important;

    color:rgba(48,43,40,.68)!important;

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


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

#vaw-planning-steps .vaw-ps-actions{
    display:flex!important;
    flex-direction:column!important;

    gap:10px!important;

    min-width:230px!important;
}

#vaw-planning-steps .vaw-ps-primary,
#vaw-planning-steps .vaw-ps-secondary{
    display:inline-flex!important;

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

    min-height:54px!important;

    padding:16px 23px!important;

    white-space:nowrap!important;

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

    letter-spacing:.11em!important;
    text-transform:uppercase!important;

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


/* PRIMARY */

#vaw-planning-steps .vaw-ps-primary{
    gap:15px!important;

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

    background:var(--olive)!important;

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

#vaw-planning-steps .vaw-ps-primary:after{
    content:"→"!important;

    font-size:18px!important;
    font-weight:400!important;
}

#vaw-planning-steps .vaw-ps-primary:hover{
    background:transparent!important;
    color:var(--olive)!important;
    transform:translateY(-2px)!important;
}


/* SECONDARY */

#vaw-planning-steps .vaw-ps-secondary{
    border:1px solid rgba(107,111,78,.35)!important;

    background:transparent!important;

    color:var(--olive-dark)!important;
}

#vaw-planning-steps .vaw-ps-secondary:hover{
    border-color:var(--olive)!important;

    background:rgba(107,111,78,.06)!important;

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


/* =========================================================
   CONTACT STRIP
========================================================= */

#vaw-planning-steps .vaw-ps-contact{
    position:relative!important;

    left:50%!important;

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

    margin:
        0
        0
        0
        -50vw!important;

    display:flex!important;

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

    flex-wrap:wrap!important;

    gap:15px 34px!important;

    padding:26px 20px!important;

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

#vaw-planning-steps .vaw-ps-contact-label{
    color:rgba(246,242,234,.60)!important;

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

    letter-spacing:.14em!important;
    text-transform:uppercase!important;
}

#vaw-planning-steps .vaw-ps-contact a{
    color:var(--cream)!important;

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

#vaw-planning-steps .vaw-ps-contact a:hover{
    color:var(--stone)!important;
}

#vaw-planning-steps .vaw-ps-contact-divider{
    width:1px!important;
    height:17px!important;

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


/* =========================================================
   LAPTOP
========================================================= */

@media(max-width:1180px){

    #vaw-planning-steps .vaw-ps-top{
        grid-template-columns:
            minmax(300px,.72fr)
            minmax(500px,1.28fr)!important;

        gap:55px!important;
    }

    #vaw-planning-steps .vaw-ps-intro{
        top:95px!important;
    }

}


/* =========================================================
   TABLET
   STICKY DISABLED BELOW 950PX
========================================================= */

@media(max-width:950px){

    #vaw-planning-steps .vaw-ps-top{
        grid-template-columns:1fr!important;

        gap:52px!important;
    }

    #vaw-planning-steps .vaw-ps-intro{
        position:relative!important;

        top:auto!important;

        max-width:760px!important;
    }

    #vaw-planning-steps .vaw-ps-lead{
        max-width:700px!important;
    }

    #vaw-planning-steps .vaw-ps-note{
        max-width:650px!important;
    }

    #vaw-planning-steps .vaw-ps-mini-contact{
        max-width:650px!important;
    }

}


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

@media(max-width:640px){

    #vaw-planning-steps{
        padding:65px 0 0!important;
    }

    #vaw-planning-steps .vaw-ps-wrap{
        width:calc(100% - 28px)!important;
    }


    /* TITLE */

    #vaw-planning-steps .vaw-ps-title{
        font-size:clamp(43px,12vw,56px)!important;
    }


    /* NORMAL TEXT */

    #vaw-planning-steps .vaw-ps-lead{
        font-size:15px!important;
        line-height:1.75!important;
    }

    #vaw-planning-steps .vaw-ps-note p{
        font-size:15px!important;
    }


    /* TIMELINE */

    #vaw-planning-steps .vaw-ps-list:before{
        left:24px!important;

        top:24px!important;
        bottom:27px!important;
    }

    #vaw-planning-steps .vaw-ps-item{
        grid-template-columns:49px 1fr!important;

        gap:17px!important;

        padding-bottom:30px!important;
    }

    #vaw-planning-steps .vaw-ps-number{
        width:49px!important;
        height:49px!important;

        font-size:15px!important;
    }

    #vaw-planning-steps .vaw-ps-item-content{
        min-height:0!important;

        padding:
            1px
            0
            27px!important;
    }

    #vaw-planning-steps .vaw-ps-item h3{
        font-size:31px!important;
    }

    #vaw-planning-steps .vaw-ps-item p{
        margin-top:12px!important;

        font-size:15px!important;
        line-height:1.72!important;
    }


    /* CTA */

    #vaw-planning-steps .vaw-ps-cta{
        grid-template-columns:1fr!important;

        gap:28px!important;

        margin-top:50px!important;

        padding:29px 22px!important;
    }

    #vaw-planning-steps .vaw-ps-cta p{
        font-size:15px!important;
    }

    #vaw-planning-steps .vaw-ps-actions{
        width:100%!important;
        min-width:0!important;
    }

    #vaw-planning-steps .vaw-ps-primary,
    #vaw-planning-steps .vaw-ps-secondary{
        width:100%!important;
    }


    /* CONTACT */

    #vaw-planning-steps .vaw-ps-contact{
        flex-direction:column!important;

        gap:11px!important;

        text-align:center!important;
    }

    #vaw-planning-steps .vaw-ps-contact-divider{
        display:none!important;
    }

}


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

@media(max-width:390px){

    #vaw-planning-steps .vaw-ps-title{
        font-size:42px!important;
    }

    #vaw-planning-steps .vaw-ps-item h3{
        font-size:29px!important;
    }

}


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

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

    #vaw-planning-steps *,
    #vaw-planning-steps *:before,
    #vaw-planning-steps *: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}}