:root{--cream:#f8f5ed;--paper:#fefcf7;--burgundy:#581324;--deep:#410d1c;--muted:#8a7370;--line:#d9cec2;--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"DM Sans",Arial,sans-serif;--script:"Pinyon Script","Brush Script MT",cursive}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--cream);color:var(--burgundy);font-family:var(--serif);-webkit-font-smoothing:antialiased;margin:0;font-size:19px;line-height:1.55}a{color:inherit}button{font:inherit}::selection{color:var(--cream);background:#581324}a:focus-visible,button:focus-visible{outline:2px solid var(--burgundy);outline-offset:6px}p,h1,h2,h3,h4{margin-top:0}a,button{-webkit-tap-highlight-color:transparent}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.masthead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:88px;padding:0 6.3%;display:flex}.brand{letter-spacing:-.1em;font-size:28px;line-height:1;text-decoration:none}.brand span{font-family:var(--script);padding:0 5px;font-size:26px}.masthead nav{align-items:center;gap:36px;display:flex}.masthead nav a{text-transform:uppercase;font:9px var(--sans);letter-spacing:.16em;padding:8px 0;text-decoration:none;position:relative}.masthead nav a:after{content:"";transform-origin:0;background:currentColor;height:1px;transition:transform .25s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.masthead nav a:hover:after,.masthead nav a[aria-current=location]:after{transform:scaleX(1)}.nav-rsvp{margin-left:12px}.nav-rsvp span{margin-left:8px}.hero{isolation:isolate;justify-content:flex-end;align-items:center;min-height:790px;padding:94px 8.5% 110px;display:flex;position:relative;overflow:hidden}.hero-monogram{pointer-events:none;z-index:-1;color:#52493921;width:52%;height:100%;font-family:var(--script);font-weight:400;line-height:1;position:absolute;top:10px;left:1.5%}.initial-c{font-size:700px;position:absolute;top:-120px;left:-5px;transform:rotate(-6deg)}.initial-s{font-size:610px;position:absolute;top:192px;left:165px;transform:rotate(-8deg)}.hero-content{text-align:right;width:min(100%,850px)}.scripted-intro{letter-spacing:.2em;margin:0 0 69px;font-size:18px;font-style:italic}.hero h1{color:var(--deep);letter-spacing:-.045em;text-transform:uppercase;margin:0 0 53px;font-size:clamp(76px,8.3vw,130px);font-weight:400;line-height:.82}.hero h1 span{display:block}.hero h1 span:first-child{margin-bottom:5px}.hero h1 i{font-style:normal;font-weight:400}.invitation-copy{letter-spacing:.14em;margin-bottom:35px;font-size:18px;font-style:italic;line-height:1.6}.wedding-date{text-transform:uppercase;letter-spacing:.13em;margin-bottom:30px;font-size:25px;font-weight:600}.hero-venue{gap:17px;display:grid}.hero-venue p{margin:0;font-size:17px;line-height:1.4}.hero-venue em{letter-spacing:.13em;font-size:16px;display:block}.hero-venue strong{text-transform:uppercase;letter-spacing:.085em;font-size:17px;font-weight:700;display:block}.hero-venue span{display:block}.scroll-cue{font:8px var(--sans);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:18px;text-decoration:none;display:flex;position:absolute;bottom:41px;left:6.4%}.scroll-cue svg{fill:none;stroke:currentColor;stroke-width:1px;width:13px;height:30px}.hero-edition{font:8px var(--sans);letter-spacing:.2em;position:absolute;bottom:43px;right:8.5%}.section{padding:106px max(6.4%,50% - 560px)}.paper{background:var(--paper)}.section-heading{text-align:center;margin-bottom:58px}.eyebrow{font:9px var(--sans);letter-spacing:.2em;text-transform:uppercase;display:block}.section-heading h2{letter-spacing:-.035em;text-transform:uppercase;margin:18px 0 30px;font-size:clamp(52px,6.4vw,86px);font-weight:400;line-height:1}.section-heading h2 i{font-family:var(--script);letter-spacing:0;text-transform:none;margin-right:5px;font-size:.85em;font-weight:400}.ornament{justify-content:center;align-items:center;gap:13px;font-size:6px;display:flex}.ornament:before,.ornament:after{content:"";background:var(--line);width:43px;height:1px}.section-intro{text-align:center;margin-bottom:34px;font-size:29px;line-height:1.25}.section-intro em{font-weight:400}.countdown{justify-content:center;gap:0;max-width:500px;margin:0 auto 66px;display:flex}.countdown>div{text-align:center;border-right:1px solid var(--line);flex:1;padding:0 20px}.countdown>div:last-child{border-right:0}.countdown span{font-variant-numeric:tabular-nums;font-size:42px;font-weight:400;line-height:1.1;display:block}.countdown small{font:8px var(--sans);letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}.venues{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.venue{text-align:center;padding:42px 30px 46px}.venue+.venue{border-left:1px solid var(--line)}.venue-icon{fill:none;width:50px;height:50px;stroke:var(--burgundy);stroke-width:1.2px;margin:29px auto 19px;display:block}.venue h3{letter-spacing:-.02em;margin-bottom:18px;font-size:36px;font-weight:400;line-height:1.05}.venue p{margin-bottom:18px;font-size:18px;line-height:1.4}.venue .venue-time{margin-bottom:25px;font-size:14px;font-style:italic}.text-link{font:9px var(--sans);text-transform:uppercase;letter-spacing:.15em;border-bottom:1px solid var(--line);padding-bottom:6px;text-decoration:none;transition:border-color .2s}.text-link span{margin-left:16px}.text-link:hover{border-color:var(--burgundy)}.outline-button{color:var(--burgundy);border:1px solid var(--burgundy);font:9px var(--sans);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:35px;margin:36px auto 0;padding:15px 24px;transition:background .2s,color .2s;display:flex}.outline-button:hover{background:var(--burgundy);color:var(--cream)}.duo{text-align:center;grid-template-columns:1fr 1fr;gap:48px;display:grid}.trio{text-align:center;grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.name-group{text-align:center}.name-group h3,.name-group h4,.role-heading{text-transform:uppercase;letter-spacing:.055em;margin:0 0 13px;font-size:17px;font-weight:700;line-height:1.3}.name-group h4{font-size:16px}.name-group p{margin:0;line-height:1.5}.role-heading{text-align:center;margin-bottom:21px;font-size:22px}.principal{max-width:1000px;margin:0 auto}.sponsor-pairs{font-size:18px}.sponsor-pairs>div{grid-template-columns:1fr 1fr;gap:36px;display:grid}.sponsor-pairs p{margin:0;line-height:1.7}.sponsor-pairs p:first-child{text-align:right}.sponsor-pairs p:last-child{text-align:left}.honor{border-block:1px solid var(--line);max-width:900px;margin:36px auto 48px;padding:27px 0}.attendants{max-width:870px;margin:0 auto 46px}.name-group ul{margin:0;padding:0;line-height:1.65;list-style:none}.bearers{border-top:1px solid var(--line);padding-top:33px}.bearers p{font-size:18px}.dress-code{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.25fr;align-items:start;gap:65px;padding-bottom:65px;display:grid}.dress-intro h3{letter-spacing:-.03em;margin:17px 0 19px;font-size:51px;font-weight:400;line-height:1.05}.dress-intro h3 i{font-weight:400}.dress-intro>p{margin-bottom:26px;font-size:18px;line-height:1.45}.swatches{gap:10px;display:flex}.swatches span{background:var(--swatch);width:30px;height:30px;box-shadow:0 0 0 4px var(--cream),0 0 0 5px var(--line);border-radius:50%}.dress-intro .palette-caption{font:9px/1.8 var(--sans);letter-spacing:.04em;color:var(--muted);margin-top:15px}.attire-guidelines article{border-bottom:1px solid var(--line);margin-bottom:26px;padding:0 0 27px}.attire-guidelines article:last-child{border-bottom:0;margin:0;padding-bottom:0}.attire-guidelines h4{margin:0 0 18px;font-size:23px;font-weight:600}.attire-pair{grid-template-columns:1fr 1fr;gap:28px;display:grid}.attire-pair p{margin:0;font-size:18px;line-height:1.45}.attire-pair span{color:var(--muted);margin-bottom:7px;font-size:16px;font-style:italic;display:block}.timeline-block{border-bottom:1px solid var(--line);padding:65px 0 70px}.small-heading{text-align:center;margin-bottom:40px}.small-heading h3{letter-spacing:-.02em;margin:13px 0 0;font-size:40px;font-weight:400;line-height:1.15}.small-heading h3 i{font-weight:400}.timeline{grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid;position:relative}.timeline:before{content:"";background:var(--line);height:1px;position:absolute;top:53px;left:12.5%;right:12.5%}.timeline li{text-align:center;position:relative}.timeline-number{color:var(--muted);margin-bottom:12px;font-size:27px;font-style:italic;line-height:1;display:block}.timeline-dot{background:var(--burgundy);width:8px;height:8px;box-shadow:0 0 0 5px var(--cream);border-radius:50%;margin:23px auto 19px;display:block}.timeline strong{letter-spacing:.07em;font-size:22px;font-weight:600;display:block}.timeline li>span:last-child{font-size:19px;font-style:italic}.gift-note{text-align:center;max-width:730px;margin:auto;padding-top:65px}.gift-note h3{letter-spacing:-.02em;margin:19px 0 23px;font-size:37px;font-weight:400;line-height:1.15}.gift-note p{margin:0;font-size:20px;line-height:1.7}.rsvp-section{background:var(--burgundy);color:var(--cream);isolation:isolate;text-align:center;padding:85px 24px 80px;position:relative;overflow:hidden}.rsvp-watermark{z-index:-1;font:590px/1 var(--script);color:#ffffff0b;pointer-events:none;position:absolute;top:-90px;left:calc(50% - 310px);transform:rotate(-12deg)}.rsvp-section h2{letter-spacing:-.035em;margin:21px 0 26px;font-size:clamp(47px,6vw,74px);font-weight:400;line-height:1.1}.rsvp-section h2 i{font-family:var(--script);letter-spacing:0;font-size:1.2em}.rsvp-section>p{margin-bottom:24px;font-size:20px}.seat-line{vertical-align:baseline;border-bottom:1px solid #f8f5ed88;width:28px;height:1em;margin:0 4px;display:inline-block}.rsvp-request{line-height:1.6;font-size:18px!important}.rsvp-request strong{font-weight:600}.rsvp-contact{font:10px/1.8 var(--sans);letter-spacing:.03em;color:#eee0d8;border-top:1px solid #f8f5ed33;max-width:390px;margin:28px auto;padding-top:20px}.rsvp-section .rsvp-closing{margin:29px 0 0;font-size:20px;font-style:italic}footer{text-align:center;padding:47px 24px 39px;position:relative}.footer-monogram{letter-spacing:-.07em;font-size:33px;text-decoration:none}.footer-monogram span{font-family:var(--script);margin:0 5px;font-size:30px}footer p{text-transform:uppercase;letter-spacing:.17em;margin:9px 0 4px;font-size:13px}footer small{font:8px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.back-top{font:8px var(--sans);letter-spacing:.13em;text-transform:uppercase;text-decoration:none;position:absolute;bottom:39px;right:6.4%}@media (width>=1600px){.hero{min-height:860px}.hero-monogram{left:calc(50% - 720px)}.hero-content{margin-right:calc(50vw - 750px)}.hero h1{font-size:135px}}@media (width<=1050px){.hero{min-height:730px;padding:80px 6.4% 105px}.initial-c{font-size:620px;left:-85px}.initial-s{font-size:540px;top:180px;left:70px}.hero h1{font-size:9.2vw}.wedding-date{font-size:22px}.scripted-intro{margin-bottom:56px}.dress-code{gap:36px}.sponsor-pairs{font-size:17px}.sponsor-pairs>div{gap:26px}.back-top{margin-top:23px;display:block;position:static}}@media (width<=740px){.masthead{height:70px;padding-inline:24px}.masthead nav{gap:18px}.masthead nav a{letter-spacing:.09em;font-size:8px}.masthead nav a:first-child{display:none}.nav-rsvp{margin-left:0}.hero{align-items:flex-start;min-height:720px;padding:76px 24px 100px}.hero-content{margin:auto}.hero h1{font-size:11.5vw}.hero-monogram{opacity:.8;top:50px;left:-1%}.initial-c{font-size:540px;top:-70px;left:-100px}.initial-s{font-size:470px;top:140px;left:-10px}.scripted-intro{margin-bottom:62px;font-size:16px}.invitation-copy{margin-bottom:30px;font-size:16px}.wedding-date{margin-bottom:28px;font-size:20px}.hero-venue strong{font-size:15px}.hero-venue p{font-size:16px}.hero-venue em{font-size:15px}.hero-edition{right:24px}.scroll-cue{left:24px}.section{padding:75px 24px}.section-heading{margin-bottom:45px}.section-heading h2{font-size:57px}.venues .venue{padding-inline:18px}.venue h3{font-size:30px}.venue .venue-time{font-size:13px}.duo{gap:24px}.name-group h3,.sponsor-pairs{font-size:16px}.sponsor-pairs>div{gap:20px}.trio{gap:16px}.trio .name-group p{font-size:17px}.dress-code{grid-template-columns:1fr;gap:30px}.dress-intro{text-align:center}.dress-intro h3{font-size:45px}.dress-intro h3 br,.dress-intro>p br{display:none}.swatches{justify-content:center}.attire-guidelines{width:100%;max-width:550px;margin:auto}.attire-pair{gap:20px}.attire-guidelines h4{font-size:22px}.gift-note h3{font-size:34px}.rsvp-section{padding:72px 24px}}@media (width<=480px){body{font-size:18px}.masthead nav{gap:16px}.hero{min-height:665px;padding-top:65px}.hero h1{margin-bottom:39px;font-size:12.8vw;line-height:.85}.scripted-intro{letter-spacing:.13em;margin-bottom:58px;font-size:14px}.invitation-copy{letter-spacing:.1em;font-size:15px}.wedding-date{letter-spacing:.09em;font-size:18px}.hero-venue strong{letter-spacing:.065em;font-size:13px}.hero-venue em{letter-spacing:.08em;font-size:14px}.hero-venue p{font-size:15px}.initial-c{font-size:480px;top:-60px;left:-125px}.initial-s{font-size:400px;top:157px;left:-20px}.scroll-cue{gap:10px;font-size:7px;bottom:30px}.hero-edition{font-size:7px;bottom:33px}.section{padding:65px 23px}.section-heading h2{font-size:46px}.eyebrow{letter-spacing:.17em;font-size:8px}.section-intro{font-size:26px}.countdown>div{padding-inline:9px}.countdown span{font-size:36px}.countdown small{font-size:7px}.venues{grid-template-columns:1fr}.venue+.venue{border-left:0;border-top:1px solid var(--line)}.venue{padding:34px 10px 38px}.venue-icon{margin-top:22px}.venue h3{font-size:34px}.duo{grid-template-columns:1fr;gap:28px}.parents{margin-bottom:41px}.role-heading{font-size:20px}.sponsor-pairs>div{grid-template-columns:1fr;gap:0;margin-bottom:17px}.sponsor-pairs p:first-child,.sponsor-pairs p:last-child{text-align:center}.sponsor-pairs p{font-size:18px;line-height:1.5}.honor{margin-top:29px;padding-block:29px}.trio{grid-template-columns:1fr;gap:27px}.secondary{margin-bottom:39px}.attendants{gap:35px}.bearers{padding-top:31px}.flower-girl{margin-top:27px}.dress-intro h3{font-size:43px}.dress-intro h3 br{display:block}.attire-pair p{font-size:17px}.attire-pair span{font-size:14px}.timeline-block{padding:53px 0}.small-heading h3{font-size:34px}.timeline strong{letter-spacing:0;font-size:17px}.timeline li>span:last-child{font-size:16px}.timeline-number{font-size:24px}.timeline:before{top:50px}.timeline-dot{margin-top:23px}.gift-note{padding-top:53px}.gift-note h3{font-size:31px}.gift-note p{font-size:19px}.rsvp-section>p{font-size:18px}.rsvp-request{font-size:17px!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}@media print{.masthead,.scroll-cue,.hero-edition,.outline-button,.back-top{display:none}.hero{min-height:650px;padding:45px}.section{padding:45px}.hero h1{font-size:80px}.hero-monogram{opacity:.5}.entourage,.details{break-before:page}.rsvp-section{-webkit-print-color-adjust:exact;print-color-adjust:exact}a{text-decoration:none}.venues,.name-group,.sponsor-pairs>div,.dress-code,.timeline-block,.gift-note{break-inside:avoid}}:root{--warm:#eee8df;--light-line:#f8f5ed3d}.skip-link{z-index:100;background:var(--burgundy);color:var(--cream);font:12px var(--sans);padding:12px 20px;position:fixed;top:10px;left:20px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.announcement{background:var(--burgundy);min-height:29px;color:var(--cream);font:8px/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;justify-content:center;align-items:center;gap:13px;padding:8px 20px;display:flex}.masthead{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8f5edf7;height:78px;position:sticky;top:0}.masthead .nav-rsvp{border:1px solid var(--burgundy);padding:12px 19px}.masthead .nav-rsvp:after{display:none}.masthead .nav-rsvp:hover{background:var(--burgundy);color:var(--cream)}.menu-toggle{display:none}.hero{min-height:max(790px,100svh - 107px)}.hero-monogram{-webkit-user-select:none;user-select:none}.countdown-band{background:var(--warm);border-block:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;padding:31px max(6.4%,50% - 560px);display:flex}.countdown-band>p{margin:0;font-size:29px;font-style:italic;line-height:1.15}.countdown-band .countdown{width:440px;max-width:100%;margin:0}.countdown-band .countdown>div{padding-inline:17px}.celebration{background:var(--burgundy);color:var(--cream)}.celebration .section-heading,.celebration .section-heading h2,.celebration .section-intro,.celebration .venue h3,.celebration .text-link{color:var(--cream)}.celebration .section-intro{margin-bottom:46px}.celebration .ornament:before,.celebration .ornament:after{background:var(--light-line)}.celebration .venues,.celebration .venue+.venue{border-color:var(--light-line)}.celebration .venue-icon{stroke:currentColor}.celebration .venue p{color:#e6d4d5}.celebration .venue .venue-time{color:#f3e5df}.celebration .text-link{border-color:#b68f99}.celebration .text-link:hover{border-color:var(--cream)}.celebration .outline-button{color:var(--cream);border-color:#eadbd8}.celebration .outline-button:hover{color:var(--burgundy);background:var(--cream)}.timeline-section{padding-top:75px;padding-bottom:71px}.small-heading h2{letter-spacing:-.02em;margin:13px 0 0;font-size:43px;font-weight:400;line-height:1.15}.timeline{max-width:1000px;margin:auto}.timeline:before{background:var(--line);top:70px}.timeline-icon{fill:none;stroke:currentColor;stroke-width:1.3px;width:42px;height:42px;margin:auto;display:block}.timeline-dot{margin-top:24px}.timeline-note{text-align:center;color:var(--muted);margin:31px 0 0;font-size:16px;font-style:italic}.entourage-toggle{justify-content:space-between;min-width:284px;margin-top:37px}.complete-entourage[hidden]{display:none}.complete-entourage .honor{margin-top:40px}.text-button{border:0;border-bottom:1px solid var(--line);color:var(--burgundy);font:9px var(--sans);letter-spacing:.17em;text-transform:uppercase;cursor:pointer;background:0 0;padding:7px 0;display:block}.collapse-entourage{margin:32px auto 0}.collapse-entourage span{margin-left:15px}.details{background:var(--warm)}.attire-heading{text-align:center;margin:0 auto 41px}.attire-heading h3{letter-spacing:-.025em;margin:16px 0 17px;font-size:46px;font-weight:400;line-height:1.1}.attire-heading>p{color:var(--muted);font-size:18px}.attire-cards{grid-template-columns:1fr 1fr;gap:54px;display:grid}.attire-card{border-top:1px solid var(--line);padding-top:26px}.attire-card h4{margin:0 0 25px;font-size:29px;font-weight:400}.attire-card .swatches span{box-shadow:0 0 0 4px var(--warm), 0 0 0 5px #d5c7ba}.attire-card .palette-caption{font:9px/1.7 var(--sans);letter-spacing:.03em;color:var(--muted);margin:15px 0 0}.attire-note{text-align:center;margin:43px 0 0;font-size:22px;font-style:italic}.gift-section{background:var(--paper);padding-top:83px;padding-bottom:87px}.gift-section .gift-note{max-width:800px;padding-top:0}.gift-note h2{letter-spacing:-.02em;margin:20px 0 25px;font-size:42px;font-weight:400;line-height:1.2}.gift-note p{font-size:22px;font-style:italic;line-height:1.8}.rsvp-section{padding-block:85px}.rsvp-watermark{font-size:800px;top:-70px;left:calc(50% - 380px)}.rsvp-section .rsvp-request{font-size:18px!important}.rsvp-form{text-align:left;max-width:560px;margin:36px auto 0}.form-row{grid-template-columns:1.4fr 1fr;gap:20px;display:grid}.form-row.is-declining{grid-template-columns:1fr}.form-field{min-width:0;margin-bottom:21px}.form-field label,.prepared-reply label{font:9px var(--sans);letter-spacing:.17em;text-transform:uppercase;margin-bottom:10px;display:block}.form-field input,.form-field select,.prepared-reply textarea{background:var(--cream);width:100%;min-height:49px;color:var(--deep);font:17px/1.35 var(--serif);border:1px solid #e2d0cb;border-radius:0;padding:12px 14px}.form-field input::placeholder{color:#87716f;opacity:1}.form-field select{cursor:pointer}.rsvp-section :focus-visible{outline-color:var(--cream)}.form-field input:focus-visible,.form-field select:focus-visible,.prepared-reply textarea:focus-visible{outline-offset:3px}.rsvp-form .seats-note{color:#ddc8c8;font:10px/1.8 var(--sans);margin:-4px 0 22px}.rsvp-submit{border:1px solid var(--cream);width:100%;font:10px var(--sans);letter-spacing:.19em;text-transform:uppercase;background:var(--cream);color:var(--burgundy);cursor:pointer;justify-content:center;align-items:center;gap:25px;padding:18px 23px;transition:background .2s,color .2s;display:flex}.rsvp-submit:hover{color:var(--cream);background:0 0}.share-reply{color:var(--cream);font:10px var(--sans);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ab7e89;margin:17px auto 0;padding:5px 0;display:block}.rsvp-form .rsvp-instruction{color:#e6d2d0;font:10px/1.8 var(--sans);text-align:center;margin:17px 0 0}.rsvp-form .rsvp-status{text-align:center;margin:14px 0 0;font-size:17px;line-height:1.45}.rsvp-status:empty{display:none}.prepared-reply{margin-top:22px}.prepared-reply textarea{resize:vertical;min-height:125px}.rsvp-section .rsvp-closing{margin-top:34px}@media (width<=1050px){.countdown-band>p{font-size:26px}.countdown-band .countdown{width:370px}.countdown-band .countdown>div{padding-inline:13px}.attire-cards{gap:34px}.attire-card .attire-pair{grid-template-columns:1fr;gap:17px}}@media (width<=740px){html{scroll-padding-top:92px}.masthead{height:70px}.masthead .brand{z-index:2;position:relative}.menu-toggle{width:44px;height:44px;color:var(--burgundy);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.menu-toggle span{background:currentColor;width:23px;height:1px;transition:transform .2s;display:block}.menu-toggle.is-open span:first-child{transform:translateY(4px)rotate(45deg)}.menu-toggle.is-open span:last-child{transform:translateY(-4px)rotate(-45deg)}.masthead nav{background:var(--cream);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;max-height:calc(100svh - 100px);padding:12px 24px 25px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 15px 20px #410d1c08}.masthead nav.is-open{display:flex}.masthead nav a,.masthead nav a:first-child{letter-spacing:.15em;text-align:center;padding:17px 0;font-size:10px;display:block}.masthead .nav-rsvp{margin:10px 0 0;padding:15px}.announcement{letter-spacing:.11em;gap:8px;font-size:7px}.hero{min-height:720px}.countdown-band{flex-direction:column;gap:23px;padding:28px 24px}.countdown-band .countdown{width:420px}.countdown-band>p{font-size:27px}.celebration .venue{padding-inline:16px}.timeline-section{padding-block:63px}.attire-card h4{font-size:27px}.attire-card .attire-pair p{font-size:18px}.gift-note h2{font-size:36px}.gift-note p{font-size:21px}.rsvp-section{padding-block:72px}}@media (width<=480px){.announcement{letter-spacing:.08em;gap:6px;padding-inline:8px;font-size:6px}.hero{min-height:665px}.countdown-band .countdown>div{padding-inline:9px}.countdown-band .countdown span{font-size:33px}.celebration .venue+.venue{border-color:var(--light-line)}.celebration .venue{padding-block:35px}.small-heading h2{font-size:36px}.timeline-icon{width:35px;height:35px}.timeline:before{top:63px}.timeline strong{font-size:17px}.timeline-note{font-size:15px;line-height:1.5}.entourage-toggle{gap:15px;width:100%;min-width:0;max-width:310px}.attire-heading h3{font-size:38px}.attire-cards{grid-template-columns:1fr;gap:32px}.attire-card .attire-pair{grid-template-columns:1fr 1fr;gap:24px}.attire-card .attire-pair p{font-size:17px}.attire-note{margin-top:33px;font-size:20px;line-height:1.5}.gift-section{padding-block:62px}.gift-note h2{font-size:32px}.gift-note p{font-size:20px}.poem-break{display:none}.form-row{grid-template-columns:1fr;gap:0}.rsvp-section .rsvp-request{font-size:17px!important}}@media print{.announcement,.masthead,.menu-toggle,.entourage-toggle,.collapse-entourage,.rsvp-form,.countdown-band{display:none!important}.complete-entourage[hidden]{display:block!important}.celebration,.rsvp-section{-webkit-print-color-adjust:exact;print-color-adjust:exact}.timeline-section,.gift-section{padding-block:35px}}html{scroll-padding-top:83px}.announcement{min-height:24px;padding-block:5px}.masthead{height:64px}.section{padding-block:55px}.section-heading{margin-bottom:29px}.section-heading h2{margin:12px 0 20px;font-size:clamp(46px,5.2vw,66px)}.ornament{gap:10px}.eyebrow{line-height:1.5}.hero{min-height:590px;padding-top:43px;padding-bottom:65px}.scripted-intro{margin-bottom:32px}.hero h1{margin-bottom:30px}.invitation-copy{margin-bottom:19px;line-height:1.45}.wedding-date{margin-bottom:21px;font-size:23px}.hero-venue{grid-template-columns:1fr 1fr;gap:26px}.hero-venue p{font-size:16px}.hero-venue strong{font-size:15px}.hero-venue em{letter-spacing:.08em;font-size:15px}.hero-monogram{top:0}.initial-c{font-size:570px;top:-100px}.initial-s{font-size:480px;top:144px;left:120px}.scroll-cue{bottom:25px}.hero-edition{bottom:27px}.countdown-band{gap:20px;padding-block:19px}.countdown-band>p{font-size:25px}.countdown-band .countdown{width:360px}.countdown-band .countdown span{font-size:29px}.countdown-band .countdown small{font-size:8px}.celebration .section-heading{margin-bottom:23px}.celebration .section-intro{margin-bottom:25px;font-size:25px}.celebration .venue{padding:23px 20px}.venue-icon{width:35px;height:35px;margin:16px auto 13px}.venue h3{margin-bottom:13px;font-size:32px}.venue p{margin-bottom:11px;font-size:17px}.venue .venue-time{margin-bottom:12px}.text-link{align-items:center;min-height:40px;padding-block:8px;display:inline-flex}.outline-button{min-height:44px;margin-top:23px;padding:13px 22px}.timeline-section{padding-block:40px}.small-heading{margin-bottom:25px}.small-heading h2{margin-top:9px;font-size:36px}.timeline-icon{width:32px;height:32px}.timeline-dot{margin:16px auto 12px}.timeline:before{top:52px}.timeline strong{font-size:20px}.timeline li>span:last-child{font-size:17px}.timeline-note{margin-top:18px;font-size:15px}.entourage .section-heading{margin-bottom:32px}.parents{margin-bottom:30px}.duo{gap:28px}.role-heading{margin-bottom:15px;font-size:20px}.name-group h3{margin-bottom:8px}.name-group ul{line-height:1.45}.sponsor-pairs p{line-height:1.5}.entourage-toggle{margin-top:25px}.complete-entourage .honor{margin:27px auto 30px;padding-block:22px}.secondary{margin-bottom:30px}.secondary .role-heading{margin-bottom:20px}.attendants{margin-bottom:30px}.bearers{padding-top:25px}.flower-girl,.collapse-entourage{margin-top:23px}.details .section-heading{margin-bottom:25px}.attire-heading{margin-bottom:26px}.attire-heading h3{margin:10px 0 12px;font-size:37px}.attire-heading>p{margin-bottom:0;font-size:17px}.attire-cards{gap:35px}.attire-card{padding-top:19px}.attire-card h4{margin-bottom:17px;font-size:26px}.attire-card .attire-pair{gap:23px}.attire-card .attire-pair p{line-height:1.45}.attire-card .swatches{margin-top:21px}.swatches span{width:25px;height:25px}.attire-card .palette-caption{margin-top:12px}.attire-note{margin-top:28px;font-size:20px}.gift-section{padding-block:43px}.gift-note h2{margin:12px 0 17px;font-size:36px}.gift-note .ornament{margin-bottom:17px}.gift-note p{font-size:20px;line-height:1.55}.poem-break{display:none}.rsvp-section{text-align:left;grid-template:"eyebrow form"min-content"title form"min-content"request form"min-content"closing form"1fr/minmax(0,.95fr) minmax(0,1fr);column-gap:70px;padding:52px max(6.4%,50% - 560px);display:grid}.rsvp-section>.eyebrow{grid-area:eyebrow;margin-top:8px}.rsvp-section h2{grid-area:title;margin:17px 0 23px;font-size:clamp(47px,4.7vw,65px)}.rsvp-section .rsvp-request{grid-area:request;margin-bottom:0}.rsvp-section .rsvp-closing{grid-area:closing;align-self:start;margin-top:25px}.rsvp-form{grid-area:form;max-width:none;margin:0}.form-field{margin-bottom:16px}.form-field label,.prepared-reply label{margin-bottom:8px}.form-field input,.form-field select{min-height:44px;padding:10px 12px}.form-row{gap:15px}.rsvp-form .seats-note{margin-bottom:15px}.rsvp-submit{min-height:44px;padding-block:15px}.share-reply,.rsvp-form .rsvp-instruction{margin-top:12px}.rsvp-section .rsvp-watermark{font-size:620px;top:-80px;left:-25px}footer{padding-top:27px;padding-bottom:25px}.footer-monogram{font-size:29px}footer p{margin-top:6px}.back-top{bottom:27px}@media (width<=1050px){.hero{padding-top:42px;padding-bottom:65px}.hero-venue{gap:20px}.hero-venue strong{font-size:14px}.rsvp-section{column-gap:40px}.rsvp-section h2{font-size:51px}}@media (width<=900px){.rsvp-section{text-align:center;padding:48px 24px;display:block}.rsvp-section>.eyebrow{margin-top:0}.rsvp-form{max-width:560px;margin:25px auto 0}.rsvp-section .rsvp-watermark{left:calc(50% - 310px)}}@media (width<=740px){html{scroll-padding-top:80px}.masthead{height:62px}.section{padding-block:43px}.hero{min-height:560px;padding:42px 24px 60px}.hero h1{margin-bottom:28px}.scripted-intro{margin-bottom:34px}.invitation-copy{margin-bottom:20px}.wedding-date{margin-bottom:21px;font-size:19px}.hero-venue{grid-template-columns:1fr;gap:13px}.hero-venue strong{font-size:15px}.initial-c{font-size:470px;top:-70px;left:-110px}.initial-s{font-size:405px;top:118px;left:-12px}.countdown-band{gap:14px;padding:18px 24px}.countdown-band>p{font-size:25px}.countdown-band .countdown{width:370px}.countdown-band .countdown span{font-size:28px}.section-heading h2{font-size:49px}.celebration .venue{padding-inline:15px}.venue h3{font-size:28px}.venue p{font-size:16px}.timeline-section{padding-block:35px}.small-heading h2{font-size:33px}.attire-cards{gap:28px}.attire-card h4{font-size:25px}.gift-note h2{font-size:33px}.back-top{margin-top:16px}}@media (width<=480px){.announcement{min-height:22px;padding-block:5px}.section{padding-block:37px}.section-heading{margin-bottom:23px}.section-heading h2{margin:10px 0 17px;font-size:43px}.hero{min-height:540px;padding-top:35px}.hero h1{font-size:clamp(41px,12.8vw,65px)}.scripted-intro{margin-bottom:32px}.wedding-date{letter-spacing:.085em;font-size:17px}.hero-venue strong{font-size:13px}.hero-venue em{font-size:14px}.hero-venue p{font-size:15px}.scroll-cue{bottom:22px}.hero-edition{bottom:25px}.countdown-band{gap:12px;padding-block:16px}.countdown-band>p{font-size:24px}.countdown-band .countdown span{font-size:27px}.celebration .section-intro{margin-bottom:23px;font-size:23px}.venues{grid-template-columns:repeat(2,minmax(0,1fr))}.celebration .venue{min-width:0;padding:19px 10px}.celebration .venue+.venue{border-top:0;border-left:1px solid var(--light-line)}.venue-icon{width:30px;height:30px;margin-block:13px 11px}.venue h3{margin-bottom:12px;font-size:24px;line-height:1.1}.venue p{font-size:16px}.venue .venue-time{font-size:13px;line-height:1.5}.venue .eyebrow{letter-spacing:.1em;font-size:7px}.venue .text-link{letter-spacing:.07em;font-size:8px}.venue .text-link span{margin-left:7px}.timeline-section{padding-block:31px}.small-heading{margin-bottom:23px}.small-heading h2{font-size:31px}.timeline-icon{width:28px;height:28px}.timeline:before{top:48px}.timeline strong{font-size:17px}.timeline li>span:last-child{font-size:16px}.timeline-note{margin-top:18px;font-size:14px}.entourage .section-heading{margin-bottom:25px}.parents,.honor{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.parents{margin-bottom:25px}.name-group h3{letter-spacing:.035em;margin-bottom:8px;font-size:14px}.name-group ul{font-size:17px;line-height:1.4}.role-heading{margin-bottom:16px;font-size:19px}.sponsor-pairs p{line-height:1.4}.entourage-toggle{margin-top:22px}.complete-entourage .honor{margin-block:25px;padding-block:20px}.secondary{margin-bottom:27px}.secondary .trio{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.secondary .name-group ul{font-size:16px}.attendants{gap:26px;margin-bottom:25px}.bearers{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;padding-top:23px}.bearers .name-group:last-child{grid-column:1/-1}.flower-girl{margin-top:20px}.attire-heading{margin-bottom:23px}.attire-heading h3{font-size:32px}.attire-heading>p{font-size:16px}.attire-cards{gap:24px}.attire-card{padding-top:17px}.attire-card h4{margin-bottom:15px}.attire-card .attire-pair{gap:20px}.attire-card .attire-pair p{font-size:17px}.attire-card .swatches{margin-top:18px}.attire-note{margin-top:25px;font-size:19px}.gift-section{padding-block:32px}.gift-note h2{font-size:30px}.gift-note p{font-size:19px}.rsvp-section{padding:39px 23px}.rsvp-section h2{margin-block:14px 19px;font-size:47px}.rsvp-section .rsvp-request{font-size:16px!important}.rsvp-form{margin-top:23px}.form-row{grid-template-columns:1.3fr 1fr}.form-field label{letter-spacing:.1em;font-size:8px}.form-field input,.form-field select{padding-inline:10px;font-size:16px}.rsvp-section .rsvp-closing{margin-top:25px;font-size:19px}footer{padding-block:24px}}@media (width>=360px) and (width<=480px){.sponsor-pairs{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 19px;display:grid}.sponsor-pairs>div{border-bottom:1px solid var(--line);margin:0;padding-bottom:12px;display:block}.sponsor-pairs p{font-size:16px}.sponsor-pairs p:first-child{margin-bottom:4px}.attendants{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}@media print{.rsvp-section{text-align:center;display:block}.hero{min-height:590px}}@media (width<=359px){.form-row{grid-template-columns:1fr}}.invitation-content{position:relative}.envelope-gate{z-index:200;background:var(--cream);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:38px 24px;display:flex;position:fixed;inset:0;overflow-y:auto}.envelope-intro h2{font:400 65px/1.05 var(--serif);letter-spacing:-.035em;margin:15px 0 13px}.envelope-intro h2 i{font-family:var(--script);font-size:1.1em;font-weight:400}.envelope-intro p{margin:0;font-size:17px}.envelope-scene{aspect-ratio:1.55;perspective:1200px;isolation:isolate;filter:drop-shadow(0 17px 22px #410d1c20);width:min(430px,84vw);margin-block:10px 7px;position:relative}.envelope-back{z-index:0;background:#410d1c;border:1px solid #6e3142;position:absolute;inset:0}.envelope-letter{z-index:1;background:var(--paper);border:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;height:85%;padding:19px;transition:transform .85s cubic-bezier(.2,.7,.2,1) .45s;display:flex;position:absolute;bottom:7%;left:7%;right:7%;box-shadow:0 1px 12px #26081022}.letter-monogram{font:45px/1.1 var(--serif);letter-spacing:-.055em}.letter-monogram i{font-family:var(--script);font-weight:400}.envelope-letter>span:not(.letter-monogram){margin-top:13px;font-size:16px;font-style:italic}.envelope-letter small{font:8px var(--sans);letter-spacing:.2em;margin-top:17px}.envelope-front{z-index:3;clip-path:polygon(0 0,50% 51%,100% 0,100% 100%,0 100%);background:#651b30;position:absolute;inset:0}.envelope-fold-left{z-index:4;clip-path:polygon(0 0,53% 52%,0 100%);background:#5d172a;position:absolute;inset:0}.envelope-fold-right{z-index:4;clip-path:polygon(100% 0,47% 52%,100% 100%);background:#581324;position:absolute;inset:0}.envelope-flap{z-index:5;clip-path:polygon(0 0,100% 0,50% 58%);transform-origin:50% 0;backface-visibility:hidden;background:#77263c;transition:transform .8s cubic-bezier(.4,0,.2,1),z-index 0s .4s;position:absolute;inset:0}.envelope-seal{z-index:6;color:#f6e6d8;background:#61162c;border:3px double #f0dcca80;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;font-size:23px;transition:opacity .25s,transform .35s;display:flex;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px 8px #22071133}.envelope-seal span{font-family:var(--script);padding-inline:2px;font-size:22px}.envelope-actions{flex-direction:column;align-items:center;transition:opacity .25s;display:flex}.envelope-actions .outline-button{justify-content:space-between;min-width:240px;margin-top:0;font-size:9px}.envelope-music-note{font:9px var(--sans);color:var(--muted);margin-top:13px}.quiet-open{color:var(--muted);font:10px var(--sans);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;margin-top:5px;padding:9px;text-decoration:underline}.envelope-gate.is-opening{animation:.45s 1.4s forwards envelope-exit}.is-opening .envelope-flap{z-index:0;transform:rotateX(180deg)}.is-opening .envelope-letter{transform:translateY(-47%)}.is-opening .envelope-seal{opacity:0;transform:translate(-50%,-50%)scale(.85)}.is-opening .envelope-actions{opacity:0;pointer-events:none}.is-opening .envelope-intro{opacity:0;transition:opacity .4s}@keyframes envelope-exit{to{opacity:0;transform:translateY(-15px)}}.envelope-replay{border:0;border-bottom:1px solid var(--line);color:var(--muted);font:8px var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;margin:-8px auto 24px;padding:5px 0;display:block}.music-player{z-index:45;background:var(--cream);color:var(--burgundy);border:1px solid var(--line);align-items:center;display:flex;position:fixed;bottom:18px;left:18px;box-shadow:0 4px 16px #410d1c12}.music-toggle{min-height:44px;color:inherit;cursor:pointer;font:9px var(--sans);letter-spacing:.07em;background:0 0;border:0;align-items:center;gap:10px;padding:10px 13px;display:flex}.music-bars{justify-content:space-between;align-items:center;width:19px;height:18px;display:flex}.music-bars i{transform-origin:50%;background:currentColor;width:2px;height:7px}.music-bars i:nth-child(2){height:15px}.music-bars i:nth-child(3){height:10px}.music-bars i:nth-child(4){height:13px}.is-playing .music-bars i{animation:1.15s ease-in-out infinite alternate music-pulse}.is-playing .music-bars i:nth-child(2){animation-delay:-.6s}.is-playing .music-bars i:nth-child(3){animation-delay:-.9s}.is-playing .music-bars i:nth-child(4){animation-delay:-.3s}@keyframes music-pulse{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}.music-volume{border-left:1px solid var(--line);position:relative}.music-volume summary{cursor:pointer;justify-content:center;align-items:center;width:40px;height:44px;list-style:none;display:flex}.music-volume summary::-webkit-details-marker{display:none}.music-volume svg{fill:none;stroke:currentColor;stroke-width:1.2px;width:17px;height:17px}.music-volume>div{border:1px solid var(--line);background:var(--cream);width:185px;padding:14px;position:absolute;bottom:calc(100% + 10px);right:-1px;box-shadow:0 3px 12px #410d1c12}.music-volume label{font:9px var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;display:block}.music-volume input{width:100%;accent-color:var(--burgundy);cursor:pointer;display:block}.venue-map-block{margin-top:9px}.map-toggle{min-height:42px;color:inherit;font:8px var(--sans);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;margin:auto;padding:6px 4px;display:flex}.map-toggle svg{fill:none;stroke:currentColor;stroke-width:1.3px;flex-shrink:0;width:16px;height:16px}.map-toggle>span{margin-left:5px}.map-toggle:focus-visible{outline-color:var(--cream)}.venue-map{background:var(--cream);margin-top:12px}.venue-map[hidden]{display:none}.venue-map iframe{border:0;width:100%;height:195px;display:block}.gallery-section .section-heading{margin-bottom:27px}.gallery-coming-soon{border:1px solid var(--line);background:linear-gradient(130deg,#eee8df66,#0000 65%);justify-content:center;align-items:center;gap:40px;min-height:174px;padding:22px;display:flex}.gallery-monogram{color:#5813243b;font:72px/1 var(--serif);letter-spacing:-.08em}.gallery-monogram i{font-family:var(--script);padding-inline:4px;font-weight:400}.gallery-coming-soon p{margin:0;font-size:23px;line-height:1.35}.gallery-controls{justify-content:flex-end;gap:8px;margin:-9px 0 14px;display:flex}.gallery-controls[hidden]{display:none}.gallery-controls button{border:1px solid var(--line);width:40px;height:40px;color:var(--burgundy);cursor:pointer;background:0 0;font-size:20px}.gallery-controls button:disabled{opacity:.35;cursor:default}.gallery-track{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line) transparent;grid-auto-columns:calc(33.3333% - 10px);grid-auto-flow:column;gap:15px;padding-bottom:7px;display:grid;overflow-x:auto}.gallery-photo{scroll-snap-align:start;width:100%;color:var(--burgundy);cursor:zoom-in;text-align:left;background:0 0;border:0;padding:0;display:block}.gallery-photo img{object-fit:cover;background:var(--warm);width:100%;height:245px;display:block}.gallery-photo>span{justify-content:space-between;gap:12px;padding:11px 1px 5px;font-size:18px;display:flex}.gallery-photo>span i{font-size:15px;font-style:normal}.gallery-preview-tools{border:1px dashed var(--line);max-width:500px;margin:24px auto 0;padding:20px}.gallery-preview-tools label{margin-bottom:12px;font-size:18px;display:block}.gallery-preview-tools input{width:100%;font:11px var(--sans)}.gallery-preview-tools small{font:10px/1.6 var(--sans);color:var(--muted);margin-top:12px;display:block}.photo-lightbox{width:100vw;max-width:100vw;height:100svh;max-height:100svh;color:var(--cream);background:#210910f5;border:0;margin:0;padding:32px 50px;position:fixed;inset:0}.photo-lightbox::backdrop{background:#210910e8}.lightbox-panel{flex-direction:column;justify-content:center;align-items:center;max-width:1100px;height:100%;margin:auto;display:flex;position:relative}.lightbox-panel>img{object-fit:contain;max-width:100%;max-height:calc(100svh - 180px);display:block}.lightbox-close{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:1px solid #f8f5ed55;font-size:29px;position:absolute;top:0;right:0}.lightbox-bottom{align-items:center;gap:20px;width:100%;max-width:850px;margin-top:20px;display:flex}.lightbox-bottom p{text-align:center;flex:1;margin:0;font-size:21px;line-height:1.3}.lightbox-bottom small{font:9px var(--sans);letter-spacing:.15em;margin-top:9px;display:block}.lightbox-bottom button{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:1px solid #f8f5ed55;flex-shrink:0;font-size:21px}.photo-lightbox button:focus-visible{outline-color:var(--cream)}@media (width<=740px){.envelope-gate{gap:22px}.envelope-intro h2{font-size:55px}.envelope-scene{width:min(380px,82vw)}.music-player{bottom:12px;left:12px}.gallery-track{grid-auto-columns:calc(50% - 7.5px)}.gallery-photo img{height:230px}.photo-lightbox{padding:20px}.lightbox-panel>img{max-height:calc(100svh - 170px)}}@media (width<=480px){.envelope-gate{gap:20px;padding:28px 20px}.envelope-intro .eyebrow{letter-spacing:.13em;font-size:7px}.envelope-intro h2{margin-top:13px;font-size:46px}.envelope-intro p{font-size:15px}.envelope-scene{margin-block:14px 3px}.envelope-seal{width:45px;height:45px;font-size:20px}.letter-monogram{font-size:36px}.envelope-letter>span:not(.letter-monogram){margin-top:8px;font-size:14px}.envelope-letter small{margin-top:12px;font-size:7px}.envelope-actions .outline-button{min-width:220px}.venue-map-block{margin-top:2px}.map-toggle{letter-spacing:.02em;gap:5px;padding-inline:0;font-size:7px}.map-toggle svg{width:13px;height:13px}.map-toggle>span{margin-left:1px}.venue-map iframe{height:170px}.gallery-coming-soon{gap:19px;min-height:150px;padding:18px}.gallery-monogram{white-space:nowrap;font-size:46px}.gallery-coming-soon p{font-size:19px}.gallery-track{grid-auto-columns:83%;gap:12px}.gallery-photo img{height:245px}.gallery-photo>span{font-size:17px}.lightbox-bottom{gap:12px}.lightbox-bottom p{font-size:18px}.envelope-replay{margin-bottom:24px;font-size:7px}}@media (height<=650px) and (width>=600px){.envelope-gate{gap:12px;padding-block:20px}.envelope-intro h2{margin-block:8px;font-size:44px}.envelope-scene{width:300px;margin:0}.envelope-intro p{font-size:15px}}@media (prefers-reduced-motion:reduce){.envelope-gate,.music-bars i{animation:none!important}.envelope-letter,.envelope-flap,.envelope-seal{transition:none!important}}@media print{.envelope-gate,.music-player,.envelope-replay,.map-toggle,.venue-map-block,.gallery-preview-tools,.gallery-controls,.photo-lightbox{display:none!important}.gallery-track{grid-template-columns:repeat(3,1fr);grid-auto-flow:row;display:grid;overflow:visible}.gallery-photo{break-inside:avoid}.invitation-content[inert]{display:block}}.envelope-gate{justify-content:safe center}.envelope-scene{flex-shrink:0}.full-envelope-stage{--envelope-paper:#f5efe5;--seal-size:clamp(114px, 16.5dvh, 176px);z-index:200;width:100vw;height:100dvh;min-height:0;color:var(--burgundy);perspective:1800px;perspective-origin:50% 0;isolation:isolate;background:0 0;margin:0;padding:0;display:block;position:fixed;inset:0;overflow:hidden}.full-paper-surface{background-color:var(--envelope-paper);background-image:url(/artwork/paper-grain.svg),linear-gradient(125deg,#fffdf7b0,#e5d7c533);background-position:50%;background-size:256px 256px,100% 100%;position:absolute;inset:0}.full-envelope-stage svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.full-envelope-stage svg path{fill:none;stroke:#a78a7d;stroke-width:1px;stroke-opacity:.4;vector-effect:non-scaling-stroke}.full-envelope-lining{z-index:0;background-color:#eadfce}.full-envelope-reveal{z-index:1;opacity:0;pointer-events:none;background:radial-gradient(#fffdf6e0,#fffaf066 50%,#0000 85%);position:absolute;inset:0}.full-envelope-sheet{z-index:2;pointer-events:none}.full-envelope-left{clip-path:polygon(0 30%,54% 66%,0 100%);background-image:url(/artwork/paper-grain.svg),linear-gradient(110deg,#e5d7c555,#fffdf7b3 65%)}.full-envelope-right{clip-path:polygon(100% 30%,46% 66%,100% 100%);background-image:url(/artwork/paper-grain.svg),linear-gradient(250deg,#ded0bd66,#fffdf7b3 65%)}.full-envelope-bottom{z-index:3;clip-path:polygon(0 100%,50% 63%,100% 100%);background-image:url(/artwork/paper-grain.svg),linear-gradient(#e5d5c278,#fffdf77a 88%)}.full-envelope-flap{z-index:4;pointer-events:none;transform-style:preserve-3d;transform-origin:50% 0;filter:drop-shadow(0 8px 6px #4b2e1f26);position:absolute;inset:0}.full-envelope-front,.full-envelope-back{clip-path:polygon(0 0,100% 0,100% 34%,50% 66%,0 34%);backface-visibility:hidden}.full-envelope-front{transform:translateZ(1px)}.full-envelope-back{background-color:#eee4d5;transform:rotateX(180deg)translateZ(1px)}.full-envelope-border path{stroke-opacity:.5}.full-envelope-heading{z-index:2;text-align:center;flex-direction:column;align-items:center;display:flex;position:absolute;top:10%;left:7%;right:7%}.full-envelope-heading .eyebrow{letter-spacing:.24em;color:#79545b;margin:0 0 5dvh;font-size:clamp(8px,1.1dvh,11px)}.full-envelope-heading h2{font:400 clamp(54px, 8.7dvh, 104px)/.87 var(--serif);letter-spacing:-.04em;text-transform:uppercase;margin:0}.full-envelope-heading h2 span{display:block}.full-envelope-heading h2 span:first-child{margin-bottom:5px}.full-envelope-heading h2 i{font-style:normal;font-weight:400}.full-envelope-tagline{font:italic 400 clamp(19px, 2.5dvh, 27px)/1.35 var(--serif);letter-spacing:.075em;color:#77545a;margin:2.5dvh 0 0}.full-envelope-watermark{z-index:1;font:400 clamp(350px, 66dvh, 800px)/1 var(--script);color:#58132408;-webkit-user-select:none;user-select:none;position:absolute;top:-13%;left:8%;transform:rotate(-9deg)}.full-envelope-wax{z-index:7;width:var(--seal-size);height:var(--seal-size);pointer-events:none;filter:drop-shadow(2px 8px 5px #45201949);position:absolute;top:66%;left:50%;transform:translate(-50%,-50%)}.full-envelope-wax img{object-fit:contain;width:100%;height:100%;display:block}.full-wax-fallback{background:var(--burgundy);color:#ebc8c4;width:100%;height:100%;font:34px var(--serif);border:8px ridge #80283c;border-radius:48% 53% 47% 51%;place-items:center;display:grid}.full-envelope-hint{z-index:8;left:12%;right:12%;top:calc(66% + var(--seal-size) / 2 + 15px);pointer-events:none;text-align:center;position:absolute}.full-envelope-hint>span{font:9px/1.5 var(--sans);letter-spacing:.19em;text-transform:uppercase;color:#79545b;display:block}.full-envelope-hint small{color:#927c74;font:8px/1.5 var(--sans);letter-spacing:.03em;margin-top:8px;display:block}.full-envelope-date{text-align:center;gap:8px;margin:0;display:grid;position:absolute;top:86%;left:10%;right:10%}.full-envelope-date time{font:500 clamp(23px, 3dvh, 32px)/1.2 var(--serif)}.full-envelope-date>span{font:8px/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#896e6d}.full-envelope-trigger{z-index:10;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.full-envelope-trigger:focus-visible{outline-offset:-12px;outline:1px solid #8f596655}.full-envelope-trigger:disabled{pointer-events:none;cursor:default}.full-envelope-quiet{z-index:12;right:24px;top:max(16px, env(safe-area-inset-top));color:#8b6d70;min-height:36px;font:9px var(--sans);cursor:pointer;letter-spacing:.035em;background:0 0;border:0;border-bottom:1px solid #a48b7e66;padding:8px 2px;position:absolute}.full-envelope-quiet:disabled{pointer-events:none}.full-envelope-stage:not(.is-opening) .full-envelope-wax{transition:filter .3s}.full-envelope-stage:not(.is-opening):has(.full-envelope-trigger:hover) .full-envelope-wax{filter:drop-shadow(2px 10px 7px #45201955)}.full-envelope-stage.is-opening{animation:.6s 3.05s forwards full-envelope-exit}.is-opening .full-envelope-wax{animation:.7s forwards full-wax-release}.is-opening .full-envelope-flap{animation:1.65s cubic-bezier(.45,0,.25,1) .4s forwards full-flap-open}.is-opening .full-envelope-left{animation:1.35s cubic-bezier(.4,0,.2,1) 1.65s forwards full-fold-left}.is-opening .full-envelope-right{animation:1.35s cubic-bezier(.4,0,.2,1) 1.65s forwards full-fold-right}.is-opening .full-envelope-bottom{animation:1.35s cubic-bezier(.4,0,.2,1) 1.8s forwards full-fold-bottom}.is-opening .full-envelope-lining{animation:1.15s 1.9s forwards full-lining-away}.is-opening .full-envelope-reveal{animation:1.5s 1.6s forwards full-paper-light}.is-opening .full-envelope-hint,.is-opening .full-envelope-quiet{opacity:0;pointer-events:none;transition:opacity .25s}@keyframes full-wax-release{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}28%{opacity:1;transform:translate(-50%,-50%)scale(1.055)}to{opacity:0;transform:translate(-50%,calc(27px - 50%))scale(.9)rotate(-7deg)}}@keyframes full-flap-open{to{transform:rotateX(178deg)}}@keyframes full-fold-left{to{transform:translate(-103%)}}@keyframes full-fold-right{to{transform:translate(103%)}}@keyframes full-fold-bottom{to{transform:translateY(103%)}}@keyframes full-lining-away{to{opacity:0}}@keyframes full-paper-light{0%{opacity:0}35%{opacity:.45}to{opacity:0}}@keyframes full-envelope-exit{to{opacity:0}}@media (width<=600px){.full-envelope-heading{top:15%;left:6%;right:6%}.full-envelope-heading .eyebrow{letter-spacing:.15em;margin-bottom:4dvh;font-size:8px}.full-envelope-heading h2{font-size:clamp(38px,10.5vw,64px);line-height:.9}.full-envelope-tagline{letter-spacing:.04em;margin-top:2.5dvh;font-size:clamp(16px,4.3vw,21px)}.full-envelope-watermark{font-size:55dvh;top:-3%;left:-20%}.full-envelope-date{gap:8px;top:87%;left:9%;right:9%}.full-envelope-date time{font-size:clamp(19px,5.2vw,26px)}.full-envelope-date>span{letter-spacing:.15em;font-size:7px}.full-envelope-hint{left:8%;right:8%}.full-envelope-hint>span{letter-spacing:.12em;font-size:8px}.full-envelope-hint small{font-size:7px}.full-envelope-quiet{right:18px;top:max(12px, env(safe-area-inset-top));min-height:32px;font-size:8px}}@media (height<=550px) and (width>=600px){.full-envelope-stage{--seal-size:clamp(85px, 20dvh, 110px)}.full-envelope-heading{top:8%}.full-envelope-heading .eyebrow{margin-bottom:3dvh;font-size:7px}.full-envelope-heading h2{font-size:10dvh}.full-envelope-tagline{margin-top:2dvh;font-size:4dvh}.full-envelope-hint{top:calc(66% + var(--seal-size) / 2 + 8px)}.full-envelope-hint>span{font-size:7px}.full-envelope-hint small{display:none}.full-envelope-date{gap:4px;top:86%}.full-envelope-date time{font-size:5dvh}.full-envelope-date>span{font-size:6px}}@media (prefers-reduced-motion:reduce){.full-envelope-stage.is-opening,.is-opening .full-envelope-wax,.is-opening .full-envelope-flap,.is-opening .full-envelope-sheet,.is-opening .full-envelope-lining,.is-opening .full-envelope-reveal{animation:none!important}}@media print{.full-envelope-stage{display:none!important}}.hero-monogram{aspect-ratio:1086/1448;width:auto;height:calc(100% - 10px);color:inherit;opacity:.32;top:5px;left:3.2%}.hero-calligraphy{object-fit:contain;width:100%;height:100%;display:block}@media (width>=1600px){.hero-monogram{left:max(3.2%,50% - 720px)}}@media (width<=1050px){.hero-monogram{left:1%}}@media (width<=740px){.hero-monogram{aspect-ratio:1086/1448;opacity:.29;width:min(91vw,360px);height:auto;top:-5px;left:-26px}}
