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

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

#vaw-plan-wedding-hero{
    --vine:#5b1e2d;
    --olive:#6b6f4e;
    --olive-dark:#555a3f;
    --terracotta:#c37a5a;
    --stone:#d8cec2;
    --stone-soft:#e8e0d7;
    --cream:#f6f2ea;
    --paper:#fffdf8;
    --gold:#b89a5a;
    --ink:#302b28;
    --muted:#6f6761;
    --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-plan-wedding-hero a{
    text-decoration:none!important;
}

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


/* =========================================================
   HERO GRID
========================================================= */

#vaw-plan-wedding-hero .vaw-pwh-grid{
    display:grid!important;
    grid-template-columns:minmax(500px,.92fr) minmax(600px,1.08fr)!important;

    /* REDUCED HERO HEIGHT */
    min-height:clamp(590px,68vh,720px)!important;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

#vaw-plan-wedding-hero .vaw-pwh-content{
    position:relative!important;
    display:flex!important;
    align-items:center!important;

    /* REDUCED VERTICAL SPACE */
    padding:
        clamp(50px,5.5vw,78px)
        clamp(42px,5vw,85px)
        clamp(50px,5.5vw,78px)
        max(34px,calc((100vw - 1480px) / 2))!important;

    background:var(--cream)!important;
    z-index:3!important;
}

#vaw-plan-wedding-hero .vaw-pwh-inner{
    width:100%!important;
    max-width:700px!important;
}

#vaw-plan-wedding-hero .vaw-pwh-eyebrow{
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
    margin:0 0 18px!important;
    color:var(--olive)!important;
    font:700 10px/1.2 var(--body)!important;
    letter-spacing:.22em!important;
    text-transform:uppercase!important;
}

#vaw-plan-wedding-hero .vaw-pwh-eyebrow:before{
    width:46px!important;
    height:1px!important;
    flex:0 0 46px!important;
    background:var(--olive)!important;
    content:""!important;
}


/* =========================================================
   MAIN HEADING — REDUCED
========================================================= */

#vaw-plan-wedding-hero .vaw-pwh-title{
    max-width:680px!important;
    margin:0!important;
    color:var(--vine)!important;

    /* REDUCED FROM 54–86PX */
    font:500 clamp(44px,4.35vw,66px)/.96 var(--heading)!important;

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


/* =========================================================
   SUBTITLE
========================================================= */

#vaw-plan-wedding-hero .vaw-pwh-subtitle{
    max-width:600px!important;
    margin:21px 0 0!important;
    color:var(--olive-dark)!important;
    font:500 clamp(22px,1.8vw,29px)/1.1 var(--heading)!important;
}

#vaw-plan-wedding-hero .vaw-pwh-copy{
    max-width:610px!important;
    margin:17px 0 0!important;
    color:rgba(48,43,40,.70)!important;
    font:400 16px/1.75 var(--body)!important;
}


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

#vaw-plan-wedding-hero .vaw-pwh-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:12px!important;
    margin-top:27px!important;
}

#vaw-plan-wedding-hero .vaw-pwh-primary,
#vaw-plan-wedding-hero .vaw-pwh-secondary{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:52px!important;
    padding:15px 23px!important;
    font:700 10px/1 var(--body)!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
    transition:.25s ease!important;
}

#vaw-plan-wedding-hero .vaw-pwh-primary{
    gap:16px!important;
    background:var(--olive)!important;
    border:1px solid var(--olive)!important;
    color:var(--cream)!important;
}

#vaw-plan-wedding-hero .vaw-pwh-primary:after{
    content:"→"!important;
    font-size:18px!important;
    font-weight:400!important;
}

#vaw-plan-wedding-hero .vaw-pwh-primary:hover{
    background:transparent!important;
    color:var(--olive)!important;
    transform:translateY(-2px)!important;
}

#vaw-plan-wedding-hero .vaw-pwh-secondary{
    border:1px solid rgba(107,111,78,.38)!important;
    background:transparent!important;
    color:var(--olive-dark)!important;
}

#vaw-plan-wedding-hero .vaw-pwh-secondary:hover{
    border-color:var(--olive)!important;
    background:rgba(107,111,78,.06)!important;
    transform:translateY(-2px)!important;
}


/* =========================================================
   STATS
========================================================= */

#vaw-plan-wedding-hero .vaw-pwh-stats{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:0!important;
    margin-top:30px!important;
    border-top:1px solid rgba(107,111,78,.20)!important;
    border-bottom:1px solid rgba(107,111,78,.20)!important;
}

#vaw-plan-wedding-hero .vaw-pwh-stat{
    padding:17px 16px 17px 0!important;
}

#vaw-plan-wedding-hero .vaw-pwh-stat + .vaw-pwh-stat{
    padding-left:18px!important;
    border-left:1px solid rgba(107,111,78,.18)!important;
}

#vaw-plan-wedding-hero .vaw-pwh-stat strong{
    display:block!important;
    color:var(--vine)!important;
    font:500 27px/1 var(--heading)!important;
}

#vaw-plan-wedding-hero .vaw-pwh-stat span{
    display:block!important;
    margin-top:5px!important;
    color:rgba(48,43,40,.52)!important;
    font:700 10px/1.4 var(--body)!important;
    letter-spacing:.10em!important;
    text-transform:uppercase!important;
}


/* =========================================================
   RIGHT VISUAL
========================================================= */

#vaw-plan-wedding-hero .vaw-pwh-visual{
    position:relative!important;

    /* REDUCED IMAGE/HERO HEIGHT */
    min-height:clamp(590px,68vh,720px)!important;

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

#vaw-plan-wedding-hero .vaw-pwh-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;

    object-fit:cover!important;

    /*
     * MOVES IMAGE UP / CROPS MORE OF TOP WHITESPACE
     * Increase second value further if image still has too much sky/space.
     */
    object-position:center 72%!important;

    transform:scale(1.045)!important;
    transition:transform 1.2s ease!important;
}

#vaw-plan-wedding-hero.is-visible .vaw-pwh-image{
    transform:scale(1.015)!important;
}

#vaw-plan-wedding-hero .vaw-pwh-visual:after{
    position:absolute!important;
    inset:0!important;
    z-index:2!important;
    background:
        linear-gradient(
            180deg,
            rgba(48,43,40,.01) 35%,
            rgba(48,43,40,.58) 100%
        )!important;
    content:""!important;
}

#vaw-plan-wedding-hero .vaw-pwh-frame{
    position:absolute!important;
    inset:22px!important;
    z-index:3!important;
    border:1px solid rgba(246,242,234,.68)!important;
    pointer-events:none!important;
}


/* =========================================================
   IMAGE OVERLAY
========================================================= */

#vaw-plan-wedding-hero .vaw-pwh-overlay{
    position:absolute!important;
    right:40px!important;
    bottom:38px!important;
    left:40px!important;
    z-index:4!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:30px!important;
}

#vaw-plan-wedding-hero .vaw-pwh-overlay-copy{
    max-width:520px!important;
}

#vaw-plan-wedding-hero .vaw-pwh-overlay-label{
    display:block!important;
    margin-bottom:9px!important;
    color:var(--stone)!important;
    font:700 10px/1.2 var(--body)!important;
    letter-spacing:.18em!important;
    text-transform:uppercase!important;
}

#vaw-plan-wedding-hero .vaw-pwh-overlay-title{
    display:block!important;
    color:var(--cream)!important;
    font:400 clamp(34px,3.2vw,47px)/.98 var(--heading)!important;
    letter-spacing:-.025em!important;
}


/* =========================================================
   FLOATING PRICE CARD
========================================================= */

#vaw-plan-wedding-hero .vaw-pwh-price{
    position:absolute!important;
    top:35px!important;
    right:35px!important;
    z-index:5!important;
    width:170px!important;
    padding:20px!important;
    background:rgba(246,242,234,.93)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
    box-shadow:0 18px 45px rgba(48,43,40,.15)!important;
}

#vaw-plan-wedding-hero .vaw-pwh-price span{
    display:block!important;
    margin-bottom:7px!important;
    color:var(--olive)!important;
    font:700 10px/1.2 var(--body)!important;
    letter-spacing:.14em!important;
    text-transform:uppercase!important;
}

#vaw-plan-wedding-hero .vaw-pwh-price strong{
    display:block!important;
    color:var(--vine)!important;
    font:500 34px/1 var(--heading)!important;
}

#vaw-plan-wedding-hero .vaw-pwh-price small{
    display:block!important;
    margin-top:6px!important;
    color:rgba(48,43,40,.58)!important;
    font:500 10.5px/1.45 var(--body)!important;
}


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

@media(max-width:1180px){

    #vaw-plan-wedding-hero .vaw-pwh-grid{
        grid-template-columns:minmax(450px,.95fr) minmax(480px,1.05fr)!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-content{
        padding-left:32px!important;
        padding-right:38px!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-title{
        font-size:clamp(42px,4.25vw,59px)!important;
    }

}


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

@media(max-width:950px){

    #vaw-plan-wedding-hero .vaw-pwh-grid{
        grid-template-columns:1fr!important;
        min-height:0!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-visual{
        order:1!important;
        min-height:500px!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-content{
        order:2!important;
        padding:52px 34px 60px!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-inner{
        max-width:760px!important;
        margin:0 auto!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-image{
        object-position:center 72%!important;
    }

}


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

@media(max-width:640px){

    #vaw-plan-wedding-hero .vaw-pwh-visual{
        min-height:410px!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-image{
        object-position:center 70%!important;
        transform:scale(1.035)!important;
    }

    #vaw-plan-wedding-hero.is-visible .vaw-pwh-image{
        transform:scale(1.01)!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-frame{
        inset:13px!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-price{
        top:23px!important;
        right:23px!important;
        width:140px!important;
        padding:15px!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-price strong{
        font-size:28px!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-overlay{
        right:26px!important;
        bottom:24px!important;
        left:26px!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-overlay-title{
        font-size:32px!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-content{
        padding:43px 20px 50px!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-eyebrow{
        margin-bottom:16px!important;
        font-size:10px!important;
    }

    /* SMALLER MOBILE HEADING */
    #vaw-plan-wedding-hero .vaw-pwh-title{
        font-size:clamp(40px,11.7vw,52px)!important;
        line-height:.97!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-subtitle{
        margin-top:19px!important;
        font-size:23px!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-copy{
        margin-top:15px!important;
        font-size:15px!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-actions{
        display:grid!important;
        grid-template-columns:1fr!important;
        margin-top:24px!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-primary,
    #vaw-plan-wedding-hero .vaw-pwh-secondary{
        width:100%!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-stats{
        grid-template-columns:1fr!important;
        margin-top:25px!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-stat{
        padding:13px 0!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-stat + .vaw-pwh-stat{
        padding-left:0!important;
        border-left:0!important;
        border-top:1px solid rgba(107,111,78,.16)!important;
    }

}


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

@media(max-width:390px){

    #vaw-plan-wedding-hero .vaw-pwh-visual{
        min-height:385px!important;
    }

    #vaw-plan-wedding-hero .vaw-pwh-title{
        font-size:39px!important;
    }

}


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

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

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

    #vaw-plan-wedding-hero .vaw-pwh-image{
        transform: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}}