html{scroll-behavior:smooth}body{overflow-x:hidden}.us_animate_this{opacity:1!important;animation:none!important}.l-header{position:sticky!important;top:0;z-index:50;background:white}.l-header .w-image img{width:65px;height:65px;object-fit:contain}.us_custom_32c1edd4{background:url(assets/hero-background.png) center/cover no-repeat!important;min-height:calc(100svh - 80px)}.us_custom_32c1edd4 .w-image img{width:320px;max-width:65vw;height:auto}.couple-names{font-family:Georgia,serif;font-size:64px;text-align:center;color:#35415b;margin:35px 0}.countdown{display:flex;justify-content:center;gap:44px;color:#7990a9;text-align:center;font-size:45px}.countdown small{display:block;font-size:18px}.w-slider{position:relative;aspect-ratio:1920/933;overflow:hidden}.w-slider .royalSlider,.w-slider .rsContent{height:100%}.w-slider .rsContent{display:none}.w-slider .rsContent.active{display:block}.w-slider .rsContent img{height:100%;width:100%;object-fit:cover}.w-slider>img{display:none}.slider-control{position:absolute;top:45%;background:none;border:0;color:white;font:60px Georgia;cursor:pointer;z-index:2}.slider-control.prev{left:20px}.slider-control.next{right:20px}.w-grid-list.owl-carousel{display:flex!important;overflow:auto;gap:8px;scroll-snap-type:x mandatory}.w-grid-list.owl-carousel article{min-width:25%;scroll-snap-align:start}.w-grid-list.owl-carousel img{width:100%;height:420px;object-fit:cover}.w-tabs-section-content{display:none}.w-tabs-section.active>.w-tabs-section-content{display:block}.w-tabs-section-header{width:100%;text-align:left;cursor:pointer}.map-button,#rsvp-form button{background:#7990a9;color:white;padding:14px 28px;display:inline-block;border:0;cursor:pointer}#rsvp-form{max-width:100%;padding:20px 0}#rsvp-form label{display:block;margin:0 0 20px;font-size:18px}#rsvp-form input{display:block;width:100%;margin-top:8px;background:#fff;border:1px solid #adb9c5;padding:12px;border-radius:0;color:#35415b}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}#form-status{font-size:16px;margin-top:15px}.w-toplink{display:block!important}.w-image img{height:auto}section[id]{scroll-margin-top:90px}.w-nav-control{cursor:pointer}.w-nav-list.level_1{display:flex}dialog{padding:0;border:0;background:transparent;max-width:90vw;max-height:90vh}dialog::backdrop{background:#000b}dialog img{max-height:85vh;max-width:90vw}dialog button{position:absolute;right:8px;top:8px;background:#fff;border:0;padding:8px 14px;cursor:pointer}@media(max-width:900px){.l-subheader-h{padding:0 20px!important}.w-nav-list.level_1{gap:10px}.w-nav-anchor.level_1{padding:10px!important;font-size:17px!important}}@media(max-width:600px){.l-header .w-image img{width:48px;height:48px}.l-subheader{height:65px!important}.w-nav-list.level_1{display:none!important;position:absolute;top:65px;left:0;width:100%;background:#fff;padding:15px}.w-nav.open .w-nav-list.level_1{display:block!important}.w-nav-control{display:block!important}.us_custom_32c1edd4{min-height:calc(100svh - 65px);background-position:center!important}.us_custom_32c1edd4 .w-image img{width:220px}.couple-names{font-size:40px}.countdown{font-size:32px;gap:22px}.countdown small{font-size:14px}.w-grid-list.owl-carousel article{min-width:65%}.w-grid-list.owl-carousel img{height:350px}.form-row{grid-template-columns:1fr;gap:0}.w-slider{aspect-ratio:1.2}.us_custom_4a53ba01,.us_custom_ef929af2,.us_custom_2844bfbb{font-size:40px!important}section[id]{scroll-margin-top:65px}}
@media(max-width:600px){.us_custom_32c1edd4{background-size:100% 100%!important}.l-header .w-image{display:block!important;visibility:visible!important}}
@media(max-width:600px){.w-nav.open .w-nav-list.level_1{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;transform:none!important;max-height:calc(100vh - 65px);overflow:auto}.l-header .w-nav{position:static!important}.l-header .w-image.hide_for_mobiles{display:block!important}}
/* Keep the header mark centered within the same row as navigation. */
.l-header .l-subheader-h,
.l-header .l-subheader-cell { align-items:center!important; }
.l-header .l-subheader-cell.at_left .w-image {
  display:flex!important;
  align-items:center;
  align-self:center!important;
  margin:0!important;
  padding:0!important;
  line-height:1;
  transform:none!important;
}
.l-header .l-subheader-cell.at_left .w-image-h {
  display:flex;
  align-items:center;
  line-height:1;
}
.l-header .l-subheader-cell.at_left .w-image img {
  display:block;
  margin:0!important;
  vertical-align:middle;
}
.l-header .l-subheader-cell.at_left .ush_image_1{height:65px!important}@media(max-width:600px){.l-header .l-subheader-cell.at_left .ush_image_1{height:48px!important}}

/* Soft blue announcement heading. */
.us_custom_1074516e, .us_custom_1074516e .w-text-value { color:#6f94b5!important; }
/* Static header: visible without the original WordPress sticky-header runtime. */
:root{--header-height:100px;--header-sticky-height:100px}
#page-header{display:block!important;position:sticky!important;top:0!important;left:0;width:100%;height:auto!important;transform:none!important;overflow:visible!important;z-index:100;background:#fff}
#page-header:before{display:none!important}
#page-header .l-subheader.at_middle{display:block!important;height:100px!important;line-height:normal!important;background:#fff}
#page-header .l-subheader-h{height:100%!important;display:flex!important;align-items:center!important;max-width:none;padding:0 40px!important}
#page-header .l-subheader-cell{display:flex;align-items:center;height:100%}
#page-header .l-subheader-cell.at_center{flex:1}
#page-header .w-nav-list.level_1{align-items:center;height:100%;visibility:visible;opacity:1}
#page-header .w-nav-anchor.level_1{display:flex;align-items:center;line-height:1.4}
#page-header .w-nav-control{display:none}
@media(max-width:600px){:root{--header-height:65px;--header-sticky-height:65px}#page-header .l-subheader.at_middle{height:65px!important}#page-header .l-subheader-h{padding:0 20px!important}#page-header .w-nav-control{display:block!important}#page-header .w-nav-list.level_1{height:auto}}
/* Reveal the fixed header after scrolling. */
#page-header{position:fixed!important;transform:translateY(-100%)!important;visibility:hidden;pointer-events:none;transition:transform .25s ease,visibility .25s ease}
#page-header.is-scrolled{transform:translateY(0)!important;visibility:visible;pointer-events:auto}
@media(prefers-reduced-motion:reduce){#page-header{transition:none}}
/* Gentle entrance reveals for wedding content. */
#page-content .wedding-reveal{opacity:0!important;transform:translateY(22px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}
#page-content .wedding-reveal.is-revealed{opacity:1!important;transform:translateY(0)}
#home .w-image img.wedding-reveal{transform:translateY(18px) scale(.94);transition-duration:1.25s}
#home .w-image img.wedding-reveal.is-revealed{transform:translateY(0) scale(1)}
@media(prefers-reduced-motion:reduce){#page-content .wedding-reveal,#home .w-image img.wedding-reveal{opacity:1!important;transform:none!important;transition:none!important}}
/* Match all main section headings to the soft blue announcement. */
#page-content h1.w-text { color:#6f94b5!important; }
/* Give the couple names the strongest size hierarchy. */
.couple-names{font-size:96px;line-height:1.15;overflow-wrap:normal}
.us_custom_1074516e{font-size:48px!important;line-height:1.2!important}
@media(max-width:900px){.couple-names{font-size:72px}.us_custom_1074516e{font-size:40px!important}}
@media(max-width:600px){.couple-names{font-size:48px}.us_custom_1074516e{font-size:28px!important}}
/* Preserve floral artwork proportions on portrait screens. */
@media(max-width:600px){
 .us_custom_32c1edd4{
  background-color:#fff!important;
  background-image:url(assets/hero-background.png),url(assets/hero-background.png)!important;
  background-size:100% auto,100% auto!important;
  background-position:center top,center bottom!important;
  background-repeat:no-repeat!important;
 }
}
/* Center the monogram within the floral hero, independent of theme spacing. */
#home{display:flex!important;align-items:center!important;justify-content:center!important;min-height:100svh!important;padding:0!important}
#home>.l-section-h{width:100%;margin:0!important;padding:0!important}
#home .g-cols{display:flex!important;align-items:center!important;justify-content:center!important}
#home .g-cols>.wpb_column:has(.vc_column-inner:empty){display:none!important}
#home .g-cols>.wpb_column{width:100%;margin:0!important;padding:0!important}
#home .vc_column-inner{margin:0!important;padding:0!important}
#home .w-image{margin:0!important;padding:0!important}
#home .w-image-h{display:flex;align-items:center;justify-content:center;line-height:0}
#home .w-image img{display:block;margin:0!important}
#home{position:relative}
#home .open-invitation{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;min-height:50px;width:280px;max-width:calc(100% - 48px);padding:12px 24px;border:1px solid #6f94b5;background:#ffffffed;color:#092b52;font-family:Georgia,serif;font-size:17px;letter-spacing:1px;text-decoration:none;box-shadow:0 4px 18px #092b5212;transition:background .2s,color .2s}
#home .open-invitation:hover{background:#6f94b5;color:#fff}
#home .open-invitation:focus-visible{outline:3px solid #092b52;outline-offset:4px}
@media(max-width:600px){#home .open-invitation{bottom:28px;width:240px;font-size:15px}}
#home .open-invitation{background:linear-gradient(135deg,#6f94b5 0%,#345f87 55%,#092b52 100%);color:#fff;border-color:#567fa3;box-shadow:0 6px 20px #092b5226}
#home .open-invitation:hover{background:linear-gradient(135deg,#5c83a6 0%,#294e73 55%,#071f3d 100%);color:#fff}

/* Soft pleated drapes animated by GSAP. */
.wedding-curtain{position:fixed;inset:0;z-index:1000;display:flex;pointer-events:none;overflow:hidden}
.wedding-curtain-panel{position:relative;width:50%;height:100%;background:repeating-linear-gradient(90deg,#577b9b 0px,#86a6c1 18px,#bdcedc 38px,#9ab6cc 56px,#6487a5 76px,#486e90 88px);box-shadow:0 0 35px #092b5255;will-change:transform}
.wedding-curtain-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#092b5238,transparent 28%,#ffffff10 60%,#092b5226);border-bottom:8px solid #547998}
.wedding-curtain-panel.left{transform-origin:left center;border-right:2px solid #c9d8e3}
.wedding-curtain-panel.right{transform-origin:right center;border-left:2px solid #c9d8e3;background-position:44px 0}
@media(prefers-reduced-motion:reduce){.wedding-curtain{display:none}}
/* Satin drapery: broad folds, soft sheen, and a weighted hem. */
.wedding-curtain-panel{background:repeating-linear-gradient(90deg,#819fb8 0px,#a8bfd1 20px,#d7e3ec 48px,#bcd0df 67px,#8daac1 89px,#6486a3 110px,#819fb8 132px);box-shadow:0 0 44px #183a5b40}
.wedding-curtain-panel:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 12%,#ffffff45,transparent 60%),linear-gradient(180deg,#25486732 0%,transparent 17%,#f5f9fc14 55%,#25486720 100%);opacity:.9}
.wedding-curtain-panel:after{border-bottom:10px double #86a5bd;background:linear-gradient(180deg,transparent 65%,#24476a18);box-shadow:inset 0 14px 22px #183a5b22}
.wedding-curtain-panel.left{border-right:1px solid #e3ecf2;background-position:0 0}
.wedding-curtain-panel.right{border-left:1px solid #e3ecf2;background-position:66px 0}
/* Supplied portrait floral background for mobile. */
@media(max-width:600px){#home.us_custom_32c1edd4{background-image:url(assets/hero-background-mobile.png)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}}
.couple-names-art{display:block;width:100%;max-width:1100px;height:auto;margin:10px auto 25px;object-fit:contain}
@media(max-width:600px){.couple-names-art{margin:12px auto 24px}}
/* Individual wedding countdown frames. */
.countdown{gap:18px;align-items:stretch;padding:8px 0}
.countdown>span{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;width:120px;min-height:126px;padding:20px 12px 16px;background:linear-gradient(145deg,#fff,#edf4fa);border:1px solid #b9ccdc;border-radius:18px;box-shadow:0 6px 20px #345f870c;color:#587d9e;font-size:46px;line-height:1.1;font-variant-numeric:tabular-nums}
.countdown>span:before{content:'';position:absolute;inset:6px;border:1px solid #d6e2ec;border-radius:13px;pointer-events:none}
.countdown small{margin-top:12px;font-size:17px;line-height:1.3;color:#6f94b5}
@media(max-width:600px){.countdown{gap:9px}.countdown>span{width:calc((100% - 27px)/4);max-width:94px;min-height:100px;padding:16px 6px 12px;font-size:32px;border-radius:14px}.countdown small{font-size:13px;margin-top:9px}.countdown>span:before{inset:4px;border-radius:10px}}
.countdown-date{text-align:center;color:#6f94b5;font-family:Georgia,serif;font-size:25px;line-height:1.4;margin:24px 0 0;letter-spacing:2px}
@media(max-width:600px){.countdown-date{font-size:20px;margin-top:20px;letter-spacing:1px}}
/* Formal invitation-style countdown frames. */
.countdown>span{background:#fff;border:1px solid #8ca5bc;border-radius:0;box-shadow:none}
.countdown>span:before{inset:5px;border:1px solid #e0e7ed;border-radius:0}
@media(max-width:600px){.countdown>span{border-radius:0}.countdown>span:before{inset:4px;border-radius:0}}
/* Center story copy to match the original invitation layout. */
#our-story .wpb_text_column .wpb_wrapper,
#our-story .wpb_text_column p{text-align:center}
#location .reception-venue{margin-top:32px!important}
