/* A restrained, shared visual language for the public invitation. */
.wedding-body .welcome-editorial{max-width:1320px;padding-block:100px 115px;position:relative}
.welcome-heading{text-align:center;margin-bottom:38px}
.welcome-heading .eyebrow{color:#806b44}
.welcome-heading-line{display:block;width:36px;height:1px;background:#a68b5b;margin:12px auto 16px}
.wedding-body .welcome-heading h2{font-size:clamp(29px,3vw,42px);line-height:1.2;letter-spacing:-.8px;margin:0}
.welcome-heading h2>em{display:block;font-size:.7em;line-height:1.4;margin-top:8px;font-weight:400}
.welcome-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(40px,6vw,90px);align-items:center;text-align:left}
.welcome-visual{position:relative;padding:20px 48px 105px 8px;isolation:isolate}
.welcome-photo-outline{position:absolute;top:2px;left:-8px;width:calc(100% - 48px);aspect-ratio:1;border:1px solid #a68b5b77;border-radius:50%;z-index:-1}
.welcome-visual figure{margin:0;overflow:hidden}
.welcome-photo-main{background:#e4ded2;border:8px solid #fffdf9;border-radius:50%;aspect-ratio:1;box-shadow:0 16px 35px #162b3a12;padding:0}
.welcome-photo-main img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;object-position:center 40%;border-radius:50%}
.welcome-photo-main figcaption{display:none}
.welcome-photo-detail{position:absolute;right:0;bottom:48px;width:46%;aspect-ratio:1;border:7px solid #fffdf9;border-radius:50%;box-shadow:0 12px 30px #162b3a20}
.welcome-photo-detail img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;object-position:center 40%;border-radius:50%}
.welcome-photo-extra{position:absolute;aspect-ratio:1;border:5px solid #fffdf9;border-radius:50%;background:#e4ded2;box-shadow:0 8px 24px #162b3a18}
.welcome-photo-extra img{width:100%;height:100%;object-fit:cover;object-position:center 40%;border-radius:50%}
.welcome-photo-small{width:29%;left:0;bottom:43px;z-index:2}
.welcome-photo-tiny{width:21%;right:0;top:0;z-index:2}
@media(max-width:767px){.welcome-photo-extra{border-width:4px}.welcome-photo-small{bottom:36px}.welcome-photo-tiny{top:0}}
.welcome-photo-note{position:absolute;bottom:0;left:25px;font:italic 20px/1.5 var(--serif);color:#806b44}
.welcome-copy{min-width:0}.welcome-copy-mark{display:block;font:italic 66px/1 var(--serif);color:#a68b5b;margin-bottom:18px}
.wedding-body .welcome-copy>p{font-size:17px;line-height:1.95;color:#48515a;white-space:pre-line;overflow-wrap:break-word;width:100%;margin:0}
.welcome-signature{margin-top:30px;padding-top:26px;border-top:1px solid #dcd3c2}
.welcome-signature>span{display:block;font-size:13px;letter-spacing:.3px;color:#64675f}
.welcome-signature>strong{display:block;font:italic 29px/1.4 var(--serif);color:#162b3a;margin-top:7px}
.welcome-copy .wedding-music{margin-top:25px}
.wedding-body .welcome-copy .wedding-music .button{border-radius:999px}
.welcome-editorial:not(.welcome-with-photos) .welcome-layout{grid-template-columns:minmax(0,720px);justify-content:center}
.welcome-editorial:not(.welcome-with-photos) .welcome-copy{text-align:center}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.welcome-photo-main,.welcome-photo-detail{transition:transform .5s ease}.welcome-visual:hover .welcome-photo-main{transform:translateY(-3px)}.welcome-visual:hover .welcome-photo-detail{transform:translateY(-7px)}}
@media(max-width:767px){.wedding-body .welcome-editorial{padding:65px 24px 70px}.welcome-heading{margin-bottom:28px}.wedding-body .welcome-heading h2{font-size:clamp(28px,7vw,34px);letter-spacing:-.6px}.welcome-heading h2>em{font-size:.72em}.welcome-heading-line{margin:10px auto 14px}.welcome-layout{grid-template-columns:minmax(0,1fr);gap:36px}.welcome-visual{width:100%;max-width:440px;margin:auto;padding:16px 40px 86px 8px}.welcome-photo-detail{bottom:38px;border-width:5px}.welcome-photo-main{border-width:6px}.welcome-photo-note{font-size:18px;left:12px}.welcome-photo-main figcaption{font-size:17px;padding:12px 4px}.welcome-copy-mark{font-size:49px;margin-bottom:14px}.wedding-body .welcome-copy>p{font-size:16px;line-height:1.85}.welcome-signature{margin-top:25px;padding-top:22px}.welcome-signature>strong{font-size:27px}}
.wedding-body{--cream:#f7f5f0;--navy:#162b3a;--gold:#a68b5b;--gold-light:#e6d8bd;--ink:#162b3a;--muted:#48515a;background:var(--cream);color:var(--ink)}
.wedding-body p{overflow-wrap:break-word}
/* Bounded sections must not inherit gutters calculated from the entire viewport.
   At wide viewports those gutters can consume their complete content width. */
.wedding-body .welcome,.wedding-body .story-section{
    width:100%;
    padding-inline:clamp(24px,4vw,64px);
    margin-inline:auto;
}
.wedding-body .welcome>p{width:100%;min-width:0;margin-inline:auto}
.wedding-body .story-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.wedding-body .story-section>div{min-width:0}
@media(max-width:767px){.wedding-body .story-section{grid-template-columns:minmax(0,1fr)}}
.wedding-body .eyebrow,.wedding-body .hero-eyebrow{font-size:11px;letter-spacing:2px;line-height:1.7}
.wedding-body .button{font-size:13px;letter-spacing:.3px;border-radius:3px;box-shadow:none;min-height:48px}
.wedding-body .button:focus-visible,.wedding-body a:focus-visible,.wedding-body button:focus-visible{outline:3px solid #a68b5b;outline-offset:5px}
.wedding-nav{background:#f7f5f0f5;min-height:80px;border-color:#ded8cb;backdrop-filter:blur(10px)}
.wedding-logo{font-size:25px;max-width:30%}.wedding-logo:before{display:none}
.wedding-nav nav{gap:20px;font-size:12px;letter-spacing:.2px}
.wedding-nav .nav-rsvp{border-color:#162b3a;padding:11px 15px}
.wedding-body #inicio{min-height:690px;height:calc(100svh - 80px);max-height:920px;padding:85px 30px 115px;background:#162b3a}
.wedding-body #inicio>img.hero-photo{filter:brightness(.8) saturate(.95)!important;object-position:center 40%}
.wedding-body #inicio>.hero-image-shade{background:linear-gradient(180deg,#08152155,#08152170 48%,#081521bb)}
.hero-border,.hero-botanical,.recipient-botanical,.recipient-seal,.hero-rule,.gold-divider,.scroll-cue{display:none}
.hero-content{max-width:1000px}.hero-content h1{font-size:clamp(56px,7.6vw,106px);line-height:1.1;letter-spacing:-2px;margin:20px 0}
.wedding-intro{font-size:27px;margin-top:20px}.wedding-body #inicio .hero-description{font-size:16px;line-height:1.8;color:#fffaf2}
.wedding-date{margin:30px 0 20px}.wedding-date>span{font-size:12px;letter-spacing:1px}.wedding-date>strong{font-size:48px}
.hero-slide.is-active{transform:none}.hero-slider-controls{background:#162b3acc;border:1px solid #ffffff55;bottom:24px}
.wedding-section{padding-top:88px;padding-bottom:88px}.wedding-section h2{font-size:clamp(32px,3.5vw,48px);line-height:1.25;letter-spacing:-.8px}
.wedding-section h2 em{color:#806b44}.welcome>p,.story-section>div>p,.family-message,.detail-grid p,.guest-memories-intro,.rsvp-cta>p,.public-invite-note>p{font-size:16px;line-height:1.9;color:#48515a}
.welcome>p{max-width:720px}.family-grid{gap:40px}.family-grid article:before{display:none}.family-grid h3{font-size:12px;color:#806b44}.family-grid p,.family-names{font-size:25px;color:#162b3a}
.countdown-section,#padrinos,#indicaciones,.celebration,.details-section,.guest-memories-section,.rsvp-cta{background:#eeebe4;border-color:#ded8cb}
.countdown-section h2{color:#48515a;font-size:28px}.countdown strong{font-size:58px;color:#162b3a}.countdown span{font-size:11px;letter-spacing:1.5px;color:#48515a}
.recipient-section{background:#162b3a;padding:80px 30px}.recipient-section:before{display:none}.recipient-section .recipient-name{color:#fffaf2;font-size:clamp(38px,5.5vw,70px)}.recipient-message{font-size:16px;line-height:1.8}.recipient-seats{font-size:15px}.recipient-members{font-size:15px;line-height:1.8}
.story-section{gap:65px;align-items:center}.story-emblem{border:0;border-radius:3px;box-shadow:none;overflow:hidden;background:#e7e1d5;min-height:400px}.story-emblem>img.story-photo{position:static;width:100%;height:480px;object-fit:cover;display:block}.story-emblem>span{font-size:120px;color:#a68b5b}
.venue-grid{gap:28px}.venue-card{border:1px solid #d9d1c2;background:#fffdf9;padding:40px;box-shadow:none;border-radius:3px}.venue-card:before{display:none}.venue-card h3{font-size:30px}.venue-card>p:not(.eyebrow):not(.venue-time):not(.venue-subtitle){font-size:16px;color:#48515a}.venue-card>.eyebrow,.venue-moments .eyebrow{font-size:11px}.venue-subtitle{font-size:18px}.venue-card .button{font-size:13px}
.wedding-itinerary time{font-size:27px;color:#806b44}.wedding-itinerary time small{font-size:10px}.wedding-itinerary h3{font-size:25px}.wedding-itinerary p{font-size:16px;color:#48515a;line-height:1.8}
.photo-gallery{gap:20px}.photo-gallery a{box-shadow:none;border-radius:3px}.photo-gallery a:nth-child(n){margin-top:0}.photo-gallery img{height:360px;object-fit:cover;filter:none}.detail-grid{gap:50px}.detail-grid h3{font-size:27px}
.rsvp-dialog{background:#f7f5f0;border-radius:4px}.rsvp-dialog label,.rsvp-dialog legend,.rsvp-dialog .response-options label{font-size:15px}.rsvp-dialog input,.rsvp-dialog select,.rsvp-dialog textarea{font-size:16px}.guest-upload-form>label,.guest-photo-consent{font-size:15px}.guest-upload-note,.guest-upload-closed{font-size:14px;color:#48515a}
.wedding-footer{background:#162b3a;padding-top:65px}.wedding-footer>p:not(.footer-names),.wedding-footer>a{font-size:15px}.footer-bottom{font-size:12px}.footer-heart{display:none}.music-widget{width:210px;bottom:24px}.music-widget-bar{box-shadow:0 3px 15px #162b3a15}.music-panel-toggle small{font-size:11px}
@media(hover:hover){.wedding-body .button:hover,.venue-card:hover{transform:none;box-shadow:none}}
@media(max-width:1100px){.wedding-nav{flex-wrap:wrap;justify-content:center;padding:16px 24px;gap:12px}.wedding-logo{max-width:100%}.wedding-nav nav{max-width:100%;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:5px}.story-section{gap:35px}}
@media(max-width:767px){.wedding-nav{position:relative;min-height:100px;padding:16px 20px}.wedding-logo{font-size:25px}.wedding-nav nav{font-size:12px;gap:20px;width:100%}.wedding-body #inicio{height:auto;min-height:650px;padding:65px 22px 90px}.wedding-body #inicio.has-slider{padding-bottom:115px}.hero-content h1{font-size:clamp(43px,11vw,64px);letter-spacing:-1.2px}.wedding-body .hero-eyebrow{font-size:10px}.wedding-intro{font-size:24px}.wedding-body #inicio .hero-description{font-size:16px}.wedding-date{gap:8px}.wedding-date>span{width:90px;font-size:11px}.wedding-date>strong{font-size:40px;padding:0 14px}.wedding-section{padding:60px 24px}.wedding-section>.eyebrow{font-size:11px;letter-spacing:1.6px}.wedding-section h2{font-size:33px}.family-grid{gap:24px}.family-grid p,.family-names{font-size:23px}.recipient-section{padding:60px 24px}.recipient-message{font-size:16px}.recipient-seats{font-size:14px}.countdown-section{padding:48px 20px}.countdown-section h2{font-size:25px}.countdown{gap:10px}.countdown>div{min-width:47px}.countdown strong{font-size:36px}.countdown span{font-size:10px;letter-spacing:.5px}.story-emblem{max-width:100%;min-height:260px}.story-emblem>img.story-photo{height:340px}.venue-card{padding:30px 23px}.venue-card h3{font-size:27px}.venue-grid{margin-top:30px}.wedding-itinerary{padding-left:28px}.wedding-itinerary li{gap:18px}.wedding-itinerary li:before{left:-25px}.wedding-itinerary time{min-width:78px;font-size:23px}.wedding-itinerary h3{font-size:23px}.photo-gallery img{height:230px}.photo-gallery{gap:12px}.detail-grid{gap:30px}.wedding-footer{padding:50px 24px 0}.footer-names{font-size:36px}.footer-bottom{font-size:11px}.music-widget{width:185px;right:12px;bottom:12px}.music-panel-toggle strong{font-size:16px}.music-panel-toggle small{font-size:10px}.guest-upload-form{padding:24px 20px}}

/* Countdown composition based on the approved wedding reference. */
.wedding-body .countdown-section{position:relative;isolation:isolate;overflow:hidden;margin:24px 18px;padding:36px 4% 28px 51%;min-height:450px;background:#f8f1e7;color:#102c3a;border:1px solid #b69a65;box-shadow:0 0 0 4px #f8f1e7,0 0 0 5px #b69a6544}
.wedding-body .countdown-section>.countdown-background{position:absolute;inset:0;width:52%;height:100%;max-width:none;object-fit:cover;object-position:left bottom;z-index:-3;pointer-events:none}
.wedding-body .countdown-section:before{content:'';position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,transparent 18%,#173a4b00 25%,#173a4b9c 36%,#173a4b70 42%,#f8f1e7d9 50%,#f8f1e7 57%)}
.wedding-body .countdown-section:after{content:'';position:absolute;inset:3px;border:1px solid #b69a6570;pointer-events:none;z-index:-1;background:radial-gradient(circle at 0 0,transparent 12px,#b69a65 13px,transparent 14px) top left/18px 18px no-repeat,radial-gradient(circle at 100% 0,transparent 12px,#b69a65 13px,transparent 14px) top right/18px 18px no-repeat,radial-gradient(circle at 0 100%,transparent 12px,#b69a65 13px,transparent 14px) bottom left/18px 18px no-repeat,radial-gradient(circle at 100% 100%,transparent 12px,#b69a65 13px,transparent 14px) bottom right/18px 18px no-repeat}
.countdown-content{max-width:850px;margin:auto;text-align:center}
.countdown-rings{display:flex;align-items:center;justify-content:center;gap:18px;color:#a68b5b;margin-bottom:14px}
.countdown-rings svg{width:43px;height:31px;stroke:currentColor;stroke-width:2.2}
.countdown-rings>span{height:1px;width:58px;background:linear-gradient(90deg,transparent,#a68b5b)}
.countdown-rings>span:last-child{transform:rotate(180deg)}
.wedding-body .countdown-section .eyebrow{font:400 12px/1.6 var(--serif);letter-spacing:3px;color:#292b29}
.wedding-body .countdown-section h2{font:italic 400 clamp(28px,2.7vw,46px)/1.2 var(--serif);color:#102c3a;letter-spacing:-.8px;margin:18px 0 22px;text-shadow:none;text-wrap:balance}
.countdown-event-date{display:flex;align-items:center;justify-content:center;gap:20px;font:italic 21px/1.4 var(--serif);color:#102c3a;margin:0 0 27px}
.countdown-event-date>span{width:65px;height:1px;background:#b69a6588}
.wedding-body .countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 auto;max-width:850px;border-block:1px solid #b69a6599;padding:18px 0 20px;align-items:stretch}
.wedding-body .countdown>div{position:relative;min-width:0;padding:0 8px;background:none;border:0;border-radius:0;box-shadow:none}
.wedding-body .countdown>div+div:before{content:'';position:absolute;left:0;top:12%;height:73%;width:1px;background:#b69a6580}
.wedding-body .countdown strong{display:block;font:400 clamp(43px,4.5vw,76px)/1.15 var(--serif);font-variant-numeric:tabular-nums;letter-spacing:-1.8px;color:#102c3a;text-shadow:none;white-space:nowrap}
.wedding-body .countdown span{display:block;font:400 11px/1.5 var(--serif);letter-spacing:2.3px;margin-top:8px;color:#252b2a}
.wedding-body .countdown>div:last-child strong{color:#a68b5b}
.wedding-body .countdown>b{display:none}
.countdown-flourish{display:flex;align-items:center;justify-content:center;gap:9px;color:#a68b5b;margin-top:14px;height:28px}
.countdown-flourish>span{font:32px/1 var(--serif);transform:rotate(180deg)}
.countdown-flourish>span:last-child{transform:scaleX(-1) rotate(180deg)}
.countdown-flourish .icon{width:20px;height:20px;stroke-width:1.3}
@media(min-width:1600px){.wedding-body .countdown-section{padding-block:44px 30px;min-height:475px}}
@media(max-width:1050px) and (min-width:768px){.wedding-body .countdown-section{padding-left:44%;padding-right:3%;min-height:430px}.wedding-body .countdown-section h2{font-size:31px}.wedding-body .countdown strong{font-size:51px}.wedding-body .countdown span{font-size:10px;letter-spacing:1px}.countdown-event-date{font-size:18px;gap:12px}.countdown-event-date>span{width:30px}}
@media(max-width:767px){.wedding-body .countdown-section{margin:18px 12px;padding:250px 20px 28px;min-height:0}.wedding-body .countdown-section>.countdown-background{width:100%;height:270px;object-position:left 80%}.wedding-body .countdown-section:before{background:linear-gradient(180deg,transparent 0,transparent 110px,#173a4b33 160px,#f8f1e7d9 225px,#f8f1e7 270px)}.countdown-rings{gap:12px;margin-bottom:12px}.countdown-rings>span{width:38px}.countdown-rings svg{width:36px;height:27px}.wedding-body .countdown-section .eyebrow{font-size:10px;letter-spacing:2px}.wedding-body .countdown-section h2{font-size:31px;max-width:360px;margin:15px auto 18px;letter-spacing:-.5px}.countdown-event-date{font-size:18px;gap:12px;margin-bottom:24px}.countdown-event-date>span{width:30px}.wedding-body .countdown{padding:17px 0}.wedding-body .countdown strong{font-size:clamp(31px,9vw,51px);letter-spacing:-1px}.wedding-body .countdown span{font-size:9px;letter-spacing:1px}.wedding-body .countdown>div{padding:0 4px}.countdown-flourish{margin-top:12px}}
@media(max-width:359px){.wedding-body .countdown-section{padding-inline:12px}.wedding-body .countdown span{letter-spacing:.3px;font-size:8px}.wedding-body .countdown strong{font-size:32px}}
/* Match the supplied reference with its full-width photographic composition. */
.wedding-body .countdown-section{margin:38px 18px;padding:30px 5.5% 22px 52%;min-height:440px;background:#faf2e7;display:flex;align-items:center}
.wedding-body .countdown-section>.countdown-background{width:100%;height:100%;object-fit:cover;object-position:center}
.wedding-body .countdown-section:before{display:none}
.countdown-content{width:100%;max-width:none;margin:0}
.countdown-rings{margin-bottom:13px;gap:17px}.countdown-rings svg{width:45px;height:32px}.countdown-rings>span{width:64px}
.wedding-body .countdown-section h2{font-size:clamp(31px,3vw,49px);line-height:1.15;letter-spacing:-1px;margin:18px -28px 22px}
.wedding-body .countdown-section .eyebrow{font-size:12px;letter-spacing:3px}
.countdown-event-date{font-size:21px;margin-bottom:27px;gap:23px}
.wedding-body .countdown{padding:17px 0 21px}
.wedding-body .countdown strong{font-size:clamp(51px,4.4vw,74px)}
.countdown-flourish{margin-top:15px}
@media(min-width:1600px){.wedding-body .countdown-section{min-height:0;aspect-ratio:3.55;padding-top:30px;padding-bottom:26px}.wedding-body .countdown-section h2{font-size:clamp(44px,3vw,59px)}.wedding-body .countdown strong{font-size:clamp(70px,4.4vw,88px)}}
@media(max-width:1100px) and (min-width:768px){.wedding-body .countdown-section{padding-left:49%;padding-right:4%;min-height:420px}.wedding-body .countdown-section h2{font-size:31px;margin-inline:0}.wedding-body .countdown-section .eyebrow{font-size:10px;letter-spacing:2px}.wedding-body .countdown strong{font-size:49px}.countdown-event-date{font-size:18px;gap:12px}.countdown-event-date>span{width:30px}}
@media(max-width:767px){.wedding-body .countdown-section{display:block;margin:20px 12px;padding:240px 20px 28px;min-height:0;aspect-ratio:auto;background:#faf2e7}.wedding-body .countdown-section>.countdown-background{width:100%;height:270px;object-fit:cover;object-position:left center}.wedding-body .countdown-section:before{display:block;background:linear-gradient(180deg,transparent 135px,#faf2e7bb 220px,#faf2e7 270px)}.wedding-body .countdown-section h2{font-size:31px;margin:15px auto 18px;letter-spacing:-.5px}.wedding-body .countdown-section .eyebrow{font-size:10px;letter-spacing:2px}.countdown-event-date{font-size:18px;margin-bottom:24px;gap:12px}.wedding-body .countdown strong{font-size:clamp(31px,9vw,51px)}}
/* Edge-to-edge countdown panel at every viewport size. */
.wedding-body .countdown-section{margin:0;width:100%;box-shadow:none}
@media(max-width:767px){.wedding-body .countdown-section{margin:0;width:100%}}
/* Countdown without decorative frame. */
.wedding-body .countdown-section{border:0;outline:0;box-shadow:none}
.wedding-body .countdown-section:after{display:none}
/* Welcome composition matching the floral invitation reference. */
.wedding-body .welcome-editorial{max-width:none;width:100%;padding:38px max(28px,calc((100vw - 1320px)/2)) 54px;background:#faf5ec url('../images/welcome-floral.png') center/cover no-repeat;isolation:isolate}
.welcome-editorial:before{content:'';position:absolute;inset:20px;border:1px solid #b69a6580;pointer-events:none;z-index:-1;border-radius:12px 0 12px 0}
.welcome-heading{margin-bottom:30px}.welcome-heading-line{display:none}
.welcome-heading .eyebrow{display:flex;align-items:center;justify-content:center;gap:16px;color:#96763e;font-size:12px;letter-spacing:3px}
.welcome-heading .eyebrow:before,.welcome-heading .eyebrow:after{content:'';width:48px;height:1px;background:linear-gradient(90deg,transparent,#b69a65)}
.welcome-heading .eyebrow:after{transform:rotate(180deg)}
.wedding-body .welcome-heading h2{font-size:clamp(35px,3.6vw,57px);line-height:1.15;letter-spacing:-1.3px;margin:15px 0 0;color:#102c3a}
.wedding-body .welcome-heading h2>em{font-size:.62em;line-height:1.3;color:#967d4d;margin-top:6px}
.welcome-layout{max-width:1280px;margin:auto;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:65px;align-items:center}
.welcome-visual{padding:12px 48px 66px 8px;max-width:560px;width:100%;margin:auto}
.welcome-photo-outline{top:0;left:-4px;width:calc(100% - 40px);border-color:#b69a6588}
.welcome-photo-main{border:7px solid #fffaf2;box-shadow:0 10px 24px #60471c1c}
.welcome-photo-detail{width:46%;right:0;bottom:48px;border:6px solid #fffaf2;z-index:3}
.welcome-photo-small{width:30%;left:0;bottom:48px;border-color:#fffaf2}
.welcome-photo-tiny{width:21%;right:0;top:12px;border-color:#fffaf2}
.welcome-photo-note{display:flex;align-items:center;justify-content:center;gap:16px;left:0;right:0;bottom:0;font-size:24px;color:#967d4d;white-space:nowrap}
.welcome-photo-note:before,.welcome-photo-note:after{content:'';width:45px;height:1px;background:#b69a6588}
.welcome-copy{border-left:1px solid #b69a654d;padding-left:60px}
.welcome-copy-mark{font-size:74px;color:#a68b5b;line-height:.9;margin-bottom:14px}
.wedding-body .welcome-copy>p{font:400 18px/1.55 var(--serif);color:#163042}
.welcome-signature{border-top:1px solid #b69a6577;margin-top:27px;padding-top:22px}
.welcome-signature>span{font:17px/1.5 var(--serif);color:#163042}
.welcome-signature>strong{font:italic 36px/1.3 var(--serif);color:#102c3a;margin-top:3px}
.welcome-copy .wedding-music{margin-top:25px}
.wedding-body .welcome-copy .wedding-music .button{border:1px solid #b08a43;border-radius:999px;background:#fffaf280;color:#163042;font:16px/1.4 var(--serif);padding:14px 25px;box-shadow:0 3px 7px #60471c12}
.welcome-copy .wedding-music .icon{color:#96763e;width:22px;height:22px}
.welcome-editorial:not(.welcome-with-photos) .welcome-copy{border:0;padding-left:0}
@media(max-width:1100px) and (min-width:768px){.welcome-layout{gap:30px}.welcome-copy{padding-left:30px}.wedding-body .welcome-copy>p{font-size:17px}.welcome-photo-note{font-size:19px;gap:8px}.welcome-photo-note:before,.welcome-photo-note:after{width:25px}}
@media(max-width:767px){.wedding-body .welcome-editorial{padding:45px 26px 48px;background-position:center}.welcome-editorial:before{inset:10px}.welcome-heading{margin-bottom:28px}.welcome-heading .eyebrow{font-size:10px;letter-spacing:2px;gap:10px}.welcome-heading .eyebrow:before,.welcome-heading .eyebrow:after{width:25px}.wedding-body .welcome-heading h2{font-size:34px;letter-spacing:-.7px}.wedding-body .welcome-heading h2>em{font-size:.68em;margin-top:9px}.welcome-layout{grid-template-columns:minmax(0,1fr);gap:35px}.welcome-visual{max-width:440px;padding:12px 40px 58px 8px}.welcome-photo-detail{bottom:40px;border-width:5px}.welcome-photo-small{bottom:40px}.welcome-photo-tiny{top:10px}.welcome-photo-note{font-size:20px;gap:10px}.welcome-photo-note:before,.welcome-photo-note:after{width:24px}.welcome-copy{border-left:0;border-top:1px solid #b69a6555;padding:28px 0 0}.welcome-copy-mark{font-size:60px}.wedding-body .welcome-copy>p{font-size:17px;line-height:1.65}.welcome-signature>strong{font-size:32px}.wedding-body .welcome-copy .wedding-music .button{font-size:15px;padding:13px 20px}}