@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600&display=swap');

:root{--paper:#f8f6ef;--cream:#f0ede3;--ink:#303e35;--sage:#66795f;--light-sage:#e4e8dc;--gold:#aa8650;--muted:#72776b;--line:#d8d9cb;--serif:'Cormorant Garamond','Palatino Linotype',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.8;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.033;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}body.invitation-closed{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button:disabled{opacity:.6}img,svg{max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}h2{font-size:clamp(40px,4.3vw,62px);letter-spacing:-1.6px}h2 em{font-weight:400;color:var(--sage)}.section-wrap{width:min(1200px,calc(100% - 100px));margin-inline:auto}.eyebrow{font-size:10px;line-height:1.7;letter-spacing:2px;font-weight:500;color:var(--sage)}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:36px;padding:14px 25px;font-size:11px;letter-spacing:1px;line-height:1.6;border:1px solid transparent;border-radius:2px;transition:background .25s,transform .25s,color .25s}.button span{font-size:19px;line-height:1}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#4e634b}.button-outline{border-color:#9aa58e;background:transparent}.button-outline:hover{background:var(--light-sage)}.skip-link{position:fixed;left:15px;top:-100px;z-index:150;background:white;padding:12px}.skip-link:focus{top:15px}.site-header{width:calc(100% - 100px);max-width:1400px;min-height:90px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--serif);font-size:34px;font-weight:500;line-height:1}.wordmark>span:not(.wordmark-dot){font-size:20px;font-style:italic;margin:0 2px;color:var(--gold)}.wordmark-dot{color:var(--gold)}.site-header nav{display:flex;gap:36px;font-size:11px;letter-spacing:.35px}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--gold);transition:width .25s}.site-header nav a:hover:after{width:100%}.header-date{font-size:11px;letter-spacing:1.5px}.header-date span{margin-left:17px;color:var(--gold)}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:min(840px,calc(100svh - 90px));padding-top:40px;padding-bottom:88px;gap:20px}.hero-copy{padding-top:20px}.tiny-sparkle{font-size:18px;vertical-align:middle;margin-right:7px;color:var(--gold)}.hero-intro{font-family:var(--serif);font-style:italic;font-size:20px;margin-top:22px;color:var(--muted)}h1{font-size:clamp(74px,7.4vw,110px);line-height:.9;letter-spacing:-4px;margin:32px 0 26px;display:flex;flex-direction:column;align-items:flex-start}.name-ampersand{font-size:.49em;line-height:1.02;color:var(--gold);font-style:italic;margin:5px 0 5px 105px;letter-spacing:-3px}.hero-subtitle{font-family:var(--serif);font-size:22px;font-style:italic;color:var(--sage)}.hero-date{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:21px;margin-top:25px;margin-bottom:28px;max-width:330px;gap:5px}.hero-date>span{font-size:9px;letter-spacing:2px;color:var(--muted)}.hero-date strong{font-family:var(--serif);font-size:28px;font-weight:500;line-height:1.5;letter-spacing:.5px}.hero-date i{font-weight:400}.hero-art{position:relative;max-width:540px;justify-self:center;text-align:center}.hero-art img{width:100%;height:auto;display:block;animation:art-appear 1.4s ease both}.art-caption{display:block;font-family:var(--serif);font-size:18px;color:var(--sage);font-style:italic;margin-top:-18px}.scroll-cue{position:absolute;bottom:24px;left:0;display:flex;gap:20px;align-items:center;color:var(--sage)}.scroll-cue span:first-child{font-size:8px;letter-spacing:2px}.scroll-cue span:last-child{font-size:22px}.countdown-section{background:var(--light-sage);border-block:1px solid #d9ddcf}.countdown-inner{padding-block:60px;display:flex;align-items:center;justify-content:space-between;gap:35px}.countdown-inner h2{font-size:40px;letter-spacing:-.6px;margin:10px 0 8px}.countdown-inner p:last-child{font-family:var(--serif);font-size:17px;color:var(--sage)}.countdown{display:flex;align-items:center;gap:19px}.countdown>div{display:flex;flex-direction:column;align-items:center;min-width:61px}.countdown>div>span{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:62px;line-height:1.1;letter-spacing:-2px}.countdown small{font-size:8px;letter-spacing:2px;margin-top:9px}.countdown-dot{font-family:var(--serif);font-size:25px;color:#a0aa93;margin-bottom:22px}.invitation-section{text-align:center;padding-block:103px 105px;max-width:760px}.invitation-ornament{color:var(--gold);font-size:38px;line-height:1.2;margin-bottom:20px}.invitation-section h2{margin-top:20px}.invitation-copy{max-width:530px;margin:26px auto 0;color:var(--muted);font-size:13px;line-height:2}.couple-line{display:flex;align-items:center;justify-content:center;gap:52px;margin-top:38px}.couple-line h3{font-size:48px;margin-top:10px}.couple-line .eyebrow{font-size:8px;letter-spacing:2px}.couple-ampersand{font-family:var(--serif);color:var(--gold);font-size:46px;font-style:italic;padding-top:15px}.invitation-signoff{font-family:var(--serif);font-size:19px;font-style:italic;color:var(--sage);margin-top:36px}.celebrations-section{background:#eeeee5;padding-block:85px 64px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:43px}.section-heading h2{font-size:48px;max-width:590px;margin-top:15px}.section-heading>p{color:var(--muted);font-family:var(--serif);font-size:18px;line-height:1.6;text-align:right}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}.event-card{--event-accent:#846e69;position:relative;overflow:hidden;background:var(--paper);border:1px solid #d8d8cb;scroll-margin-top:28px;transition:box-shadow .35s,transform .35s}.event-card:hover{box-shadow:0 14px 38px #384d3110;transform:translateY(-4px)}.event-card[data-theme=gold]{--event-accent:#a18a51}.event-card[data-theme=sage]{--event-accent:#607658}.event-card[data-theme=lavender]{--event-accent:#83758a}.event-card-top{display:flex;align-items:center;justify-content:space-between;padding:25px 29px 0}.event-number{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--event-accent)}.event-tag{font-size:8px;letter-spacing:1.4px;color:var(--event-accent)}.event-illustration{height:118px;display:flex;align-items:center;justify-content:center;position:relative}.event-illustration:before{content:"";width:100px;height:100px;position:absolute;left:calc(50% - 50px);top:10px;border-radius:50%;background:#eee3df;opacity:.65}.event-card[data-theme=gold] .event-illustration:before{background:#f0e4c9}.event-card[data-theme=sage] .event-illustration:before{background:#e2e8d9}.event-card[data-theme=lavender] .event-illustration:before{background:#e8e0eb}.event-illustration svg{width:100px;height:100px;position:relative;color:var(--event-accent)}.event-body{padding:15px 36px 30px;text-align:center}.event-body>.eyebrow{font-size:8px;letter-spacing:1.7px;color:var(--event-accent)}.event-body h3{font-size:38px;margin-top:12px}.event-description{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.5;color:var(--muted);margin-top:10px;min-height:27px}.event-details{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line);margin-top:25px;padding-block:15px;gap:5px 15px}.event-details div{display:flex;flex-direction:column}.event-details small{font-size:8px;letter-spacing:1.5px;color:var(--event-accent)}.event-details strong{font-family:var(--serif);font-size:19px;font-weight:500;line-height:1.4;margin-top:5px}.event-location{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;color:var(--muted);margin-top:15px;min-height:24px}.event-location svg{width:13px;height:16px;flex-shrink:0}.event-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:19px;padding-top:17px}.text-button{background:transparent;color:var(--ink);border:0;padding:0;font-size:9px;letter-spacing:.7px;line-height:2}.text-button:hover{color:var(--gold)}.text-button span{margin-left:7px;font-size:14px}.schedule-note{font-size:10px;line-height:1.8;color:var(--muted);max-width:650px;margin:29px auto 0;text-align:center}.venue-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:85px;padding-block:105px}.venue-art{background:#e9ebdf;padding:35px 28px 0;align-self:stretch;min-height:440px;display:flex;align-items:flex-end}.venue-arch{width:100%;border:1px solid #a4ae94;border-bottom:0;border-radius:50% 50% 0 0;min-height:390px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative;background:radial-gradient(ellipse at 50% 30%,#f7f2df,transparent 75%);color:#8d956f}.venue-arch:before{content:"";position:absolute;inset:10px 10px 0;border:1px solid #c5c9b2;border-bottom:0;border-radius:50% 50% 0 0}.venue-arch svg{width:100%;position:relative;z-index:1}.venue-arch>span{font-size:8px;letter-spacing:1.7px;margin-bottom:30px}.venue-copy h2{font-size:48px;margin-top:19px}.venue-copy h3{font-size:32px;margin-top:29px}.venue-city{font-size:11px;color:var(--sage);margin-top:5px}.venue-copy>p:not(.eyebrow,.venue-city,.venue-note){font-size:12px;line-height:1.9;color:var(--muted);max-width:350px;margin-top:23px}.venue-copy .button{margin-top:25px}.venue-note{font-family:var(--serif);font-style:italic;font-size:17px;margin-top:16px;color:var(--sage)}.closing-section{background:#e4e8dc;padding-block:80px 50px;text-align:center;position:relative;overflow:hidden}.closing-section:before,.closing-section:after{content:"";position:absolute;inset:auto auto -155px -180px;width:450px;height:520px;opacity:.17;background:url('assets/botanical.svg') center/contain no-repeat;transform:rotate(-18deg)}.closing-section:after{left:auto;right:-180px;transform:rotate(18deg) scaleX(-1)}.closing-section .section-wrap{position:relative;z-index:1}.closing-section h2{margin-top:18px}.closing-section h2 em{display:block}.closing-section p:not(.eyebrow,.closing-signature){font-family:var(--serif);font-size:21px;line-height:1.6;color:var(--sage);margin-top:23px}.closing-section .button{margin-top:29px}.closing-monogram{font-family:var(--serif);font-size:46px;line-height:1;margin-top:55px}.closing-monogram span{font-size:30px;color:var(--gold);font-style:italic}.closing-signature{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--sage);margin-top:12px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:32px}.site-footer>.wordmark{font-size:25px}.site-footer p{font-size:8px;letter-spacing:1.5px}.site-footer p span{margin:0 9px;color:var(--gold)}.site-footer button{background:none;border:0;font-size:10px;color:var(--ink)}.site-footer button span{margin-left:10px}.music-toggle{position:fixed;right:21px;bottom:22px;z-index:30;display:flex;align-items:center;gap:8px;border:1px solid #d0d5c5;border-radius:30px;padding:12px 15px;background:#f8f6eff0;box-shadow:0 3px 20px #2733210a;color:var(--sage);backdrop-filter:blur(10px)}.music-toggle>svg{width:18px;height:18px}.music-label{font-size:9px;letter-spacing:.3px}.music-toggle[aria-pressed=true]{background:var(--ink);color:var(--paper)}.mobile-nav{display:none}.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.event-grid .reveal:nth-child(even){transition-delay:.1s}.toast{position:fixed;z-index:200;bottom:88px;left:50%;transform:translate(-50%,20px);width:max-content;max-width:calc(100% - 40px);background:var(--ink);color:var(--paper);padding:13px 22px;border-radius:3px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}.toast.show{opacity:1;transform:translate(-50%,0)}
.invitation-gate{position:fixed;inset:0;z-index:100;background:var(--paper);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px 20px;overflow:hidden;transition:opacity .8s,visibility .8s}.invitation-gate:before{content:"";position:absolute;inset:20px;border:1px solid #c4cbb7;pointer-events:none}.invitation-gate:after{content:"";position:absolute;inset:27px;border:1px solid #dedfce;pointer-events:none}.gate-eyebrow{margin-bottom:24px;font-size:9px;letter-spacing:3px}.invitation-gate h2{font-size:45px;line-height:1.1;letter-spacing:-1px;position:relative;z-index:1}.gate-message{font-family:var(--serif);font-size:17px;font-style:italic;color:var(--sage);margin-top:16px;position:relative;z-index:1}.gate-bloom{background:url('assets/botanical.svg') center/contain no-repeat;position:absolute;width:480px;height:580px;opacity:.43;pointer-events:none}.gate-bloom-left{left:-220px;bottom:-90px;transform:rotate(25deg)}.gate-bloom-right{right:-225px;top:-100px;transform:rotate(205deg)}.envelope{width:290px;height:180px;position:relative;perspective:900px;margin:55px 0 40px;filter:drop-shadow(0 13px 20px #404c2823);flex-shrink:0}.envelope-back{position:absolute;inset:0;background:#bdc6b0;border:1px solid #b3bea5;border-radius:3px}.envelope-front{position:absolute;inset:0;border-radius:3px;overflow:hidden;background:linear-gradient(32deg,#d1d9c4 49.8%,transparent 50%) left/51% 100% no-repeat,linear-gradient(-32deg,#d9dfce 49.8%,transparent 50%) right/51% 100% no-repeat;z-index:4}.envelope-flap{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 62%);background:linear-gradient(150deg,#e2e6d7,#b9c4ab);transform-origin:top;z-index:5;transition:transform .75s ease,z-index 0s .38s}.envelope-paper{position:absolute;inset:10px 13px 4px;background:#faf8f0;border:1px solid #e0daca;z-index:2;display:flex;justify-content:center;align-items:center;flex-direction:column;transition:transform .8s .2s}.envelope-paper span{font-family:var(--serif);font-size:27px}.envelope-paper small{font-size:9px;letter-spacing:3px;color:var(--gold);margin-top:15px}.wax-seal{width:62px;height:62px;position:absolute;top:74px;left:calc(50% - 31px);z-index:6;display:flex;align-items:center;justify-content:center;border-radius:49% 46% 48% 45%;background:radial-gradient(circle at 40% 35%,#b79d6b,#927447);color:#f9e9bb;box-shadow:0 3px 7px #41452a50,inset 0 0 0 5px #a68854,inset 0 0 0 6px #d4ba824d;font-family:var(--serif);font-size:24px;transition:opacity .3s,transform .5s}.wax-seal span{font-size:15px;font-style:italic;margin:0 1px}.gate-footnote{margin-top:23px;font-size:8px;letter-spacing:2px;color:var(--sage)}.gate-opening .envelope-flap{transform:rotateX(180deg);z-index:1}.gate-opening .envelope-paper{transform:translateY(-85px)}.gate-opening .wax-seal{opacity:0;transform:scale(.6)}.gate-opening{opacity:0;visibility:hidden;transition-delay:.9s}.gate-opening .button{opacity:0;transition:opacity .3s}.invitation-modal{border:1px solid #b9c3aa;background:var(--paper);color:var(--ink);padding:18px;max-width:470px;width:calc(100% - 36px);max-height:90svh;border-radius:160px 160px 3px 3px;overflow:auto;box-shadow:0 20px 80px #20332140}.invitation-modal::backdrop{background:#2633268a;backdrop-filter:blur(5px)}.modal-close{position:absolute;right:30px;top:70px;background:var(--paper);border:1px solid var(--line);width:32px;height:32px;border-radius:50%;font-size:21px;line-height:1;color:var(--sage);z-index:2}.modal-inner{border:1px solid var(--line);border-radius:145px 145px 0 0;padding:54px 24px 32px;text-align:center}.modal-inner .event-illustration{height:100px}.modal-inner>.eyebrow{margin-top:16px;font-size:9px}.modal-inner h2{font-size:42px;margin:20px 0}.modal-inner>p{font-family:var(--serif);font-size:19px;line-height:1.5;color:var(--sage)}.modal-inner h3{font-size:32px;margin:18px 0 10px}.modal-inner .modal-date{font-size:24px;color:var(--ink);margin-top:22px}.modal-inner .modal-small{font:10px/1.8 var(--sans);margin:16px 0 22px}.modal-inner .button{gap:18px}.noscript-message{padding:30px;text-align:center}
@keyframes art-appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.hero{min-height:820px}.hero-art{max-width:570px}.hero-copy{padding-left:20px}}
@media(max-width:1000px){.section-wrap{width:calc(100% - 60px)}.site-header{width:calc(100% - 60px)}.hero{min-height:760px;gap:0}.hero-copy>.eyebrow{font-size:8px;letter-spacing:1.2px}.hero-intro{font-size:18px}.hero-art{margin-right:-15px;margin-left:-15px}.countdown-inner{gap:20px}.countdown-inner h2{font-size:34px}.countdown>div>span{font-size:48px}.countdown{gap:10px}.countdown>div{min-width:48px}.section-heading h2{font-size:40px}.section-heading>p{font-size:16px}.event-body{padding:15px 25px 26px}.event-body h3{font-size:34px}.event-actions{gap:12px}.venue-section{gap:45px}.venue-copy h2{font-size:42px}.venue-art{padding-inline:18px}.venue-arch{min-height:350px}}
@media(max-width:700px){html{scroll-padding-top:20px}.section-wrap{width:calc(100% - 44px)}.site-header{width:calc(100% - 44px);min-height:73px}.wordmark{font-size:30px}.site-header nav{display:none}.header-date{font-size:10px}.hero{grid-template-columns:1fr;min-height:0;padding-top:39px;padding-bottom:83px;gap:9px;text-align:center}.hero-copy{padding:0}.hero-copy>.eyebrow{font-size:8px;letter-spacing:1.5px}.tiny-sparkle{font-size:16px;margin-right:2px}.hero-intro{font-size:17px;margin-top:19px}h1{font-size:80px;letter-spacing:-3px;align-items:center;margin:25px 0 22px}.name-ampersand{margin:5px 0;font-size:35px}.hero-subtitle{font-size:20px}.hero-date{margin:22px auto 23px;padding-top:17px;max-width:250px}.hero-date strong{font-size:27px}.hero-copy>.button{min-height:46px;padding:12px 22px;gap:30px;font-size:10px}.hero-art{width:100%;max-width:360px;margin:10px auto 0}.hero-art img{max-height:390px;object-fit:contain}.art-caption{font-size:17px;margin-top:-6px}.scroll-cue{bottom:20px;left:50%;transform:translateX(-50%);white-space:nowrap;gap:13px}.scroll-cue span:first-child{font-size:7px;letter-spacing:1.5px}.countdown-inner{flex-direction:column;text-align:center;padding-block:39px 40px;gap:26px}.countdown-inner h2{font-size:37px;margin:10px 0 7px}.countdown-inner>.eyebrow{font-size:8px}.countdown{gap:12px;justify-content:center}.countdown>div{min-width:47px}.countdown>div>span{font-size:47px}.countdown small{font-size:7px;letter-spacing:1.2px;margin-top:7px}.countdown-dot{font-size:20px}.invitation-section{padding-block:64px 66px}.invitation-ornament{font-size:31px;margin-bottom:17px}.eyebrow{font-size:8px;letter-spacing:1.5px}h2{font-size:39px;letter-spacing:-.8px}.invitation-section h2{margin-top:18px}.invitation-copy{font-size:12px;line-height:1.95;margin-top:21px;max-width:360px}.couple-line{gap:30px;margin-top:29px}.couple-line h3{font-size:37px}.couple-line .eyebrow{font-size:7px}.couple-ampersand{font-size:33px;padding-top:13px}.invitation-signoff{font-size:17px;margin-top:29px}.celebrations-section{padding-block:58px 43px}.section-heading{display:block;text-align:center;margin-bottom:29px}.section-heading h2{font-size:39px;max-width:330px;margin:14px auto 0}.section-heading>p{text-align:center;font-size:17px;margin-top:19px}.event-grid{grid-template-columns:1fr;gap:20px}.event-card{max-width:430px;width:100%;margin:auto}.event-card-top{padding:19px 23px 0}.event-number{font-size:16px}.event-tag{font-size:7px}.event-illustration{height:103px}.event-illustration:before{width:88px;height:88px;left:calc(50% - 44px)}.event-illustration svg{width:88px;height:88px}.event-body{padding:16px 25px 24px}.event-body h3{font-size:35px}.event-description{font-size:17px;max-width:260px;margin:9px auto 0}.event-details{margin-top:21px;padding-block:13px}.event-details strong{font-size:20px}.event-details small{font-size:7px}.event-actions{margin-top:16px;padding-top:15px}.text-button{font-size:8px}.event-location{font-size:10px}.schedule-note{font-size:9px;margin-top:25px;line-height:1.8}.venue-section{grid-template-columns:1fr;gap:34px;padding-block:60px}.venue-art{min-height:340px;max-width:400px;width:100%;margin:auto;padding:28px 30px 0}.venue-arch{min-height:300px}.venue-arch svg{max-height:290px}.venue-arch>span{font-size:7px;margin-bottom:22px}.venue-copy{text-align:center}.venue-copy h2{font-size:40px;margin-top:15px}.venue-copy h3{font-size:31px;margin-top:23px}.venue-copy>p:not(.eyebrow,.venue-city,.venue-note){margin:20px auto 0;max-width:315px;font-size:12px}.venue-note{font-size:17px}.closing-section{padding-block:56px 38px}.closing-section h2{font-size:43px;margin-top:17px}.closing-section p:not(.eyebrow,.closing-signature){font-size:19px;line-height:1.6}.closing-section .button{font-size:10px;gap:22px;margin-top:24px}.closing-monogram{font-size:40px;margin-top:39px}.closing-signature{font-size:17px}.closing-section:before,.closing-section:after{width:280px;height:390px;opacity:.13;bottom:-80px;left:-150px}.closing-section:after{left:auto;right:-150px}.site-footer{padding-block:28px 97px;flex-wrap:wrap;gap:20px 10px}.site-footer>.wordmark{font-size:26px}.site-footer>p{font-size:7px;letter-spacing:.9px;order:3;width:100%;text-align:center}.site-footer>p span{margin-inline:5px}.site-footer button{font-size:10px}.mobile-nav{display:flex;position:fixed;bottom:14px;left:17px;right:17px;max-width:400px;margin:auto;z-index:29;justify-content:space-around;gap:2px;border:1px solid #c7ceba;border-radius:40px;background:#f8f6eff2;box-shadow:0 5px 25px #28362115;padding:13px 10px;backdrop-filter:blur(14px)}.mobile-nav a{font-size:8px;letter-spacing:.8px;text-transform:uppercase;padding:3px 5px;position:relative}.mobile-nav a[aria-current=true]{color:var(--gold)}.mobile-nav a[aria-current=true]:after{content:"";position:absolute;bottom:-3px;width:3px;height:3px;border-radius:50%;background:var(--gold);left:calc(50% - 1px)}.music-toggle{right:15px;bottom:82px;width:40px;height:40px;padding:10px;justify-content:center}.music-label{display:none}.toast{bottom:135px;font-size:11px;text-align:center}.gate-eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:22px}.invitation-gate h2{font-size:36px}.gate-message{font-size:15px;max-width:230px}.envelope{width:260px;height:166px;margin:45px 0 35px}.wax-seal{top:66px;width:58px;height:58px;left:calc(50% - 29px);font-size:23px}.invitation-gate:before{inset:13px}.invitation-gate:after{inset:19px}.gate-bloom-left{left:-310px;bottom:-150px}.gate-bloom-right{right:-310px;top:-160px}.invitation-gate>.button{font-size:10px;gap:27px;min-height:46px}.gate-footnote{font-size:7px;margin-top:20px}.invitation-modal{max-width:390px}.modal-inner{padding-inline:18px}.modal-inner h2{font-size:36px}.modal-inner>p{font-size:18px}.modal-inner .button{font-size:10px}}
@media(max-height:690px){.invitation-gate{padding-block:20px}.gate-eyebrow{margin-bottom:15px}.invitation-gate h2{font-size:32px}.gate-message{margin-top:12px}.envelope{margin-top:32px;margin-bottom:27px;width:240px;height:150px}.wax-seal{top:60px;width:53px;height:53px;left:calc(50% - 26.5px);font-size:22px}.gate-footnote{margin-top:14px}.envelope-paper span{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.invitation-gate.gate-opening{visibility:hidden;opacity:0}}
@media print{.invitation-gate,.site-header,.scroll-cue,.music-toggle,.mobile-nav,.button,.event-actions,.site-footer,.toast{display:none!important}#site-content{visibility:visible}.reveal{opacity:1;transform:none}body{overflow:visible!important}.hero{min-height:0;padding-block:20px;grid-template-columns:1fr 1fr}.hero-art{max-width:300px}.countdown-section,.venue-section,.closing-section{break-inside:avoid}.event-card{break-inside:avoid}.event-grid{grid-template-columns:1fr 1fr}.section-wrap{width:90%}.invitation-section,.celebrations-section,.venue-section{padding-block:35px}}

/* Refined envelope folds and focus after opening. */
h1:focus{outline:none}.envelope-front{background:linear-gradient(32deg,#cdd6bf,#dbe1d1);clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%)}.envelope-paper span,.envelope-paper small{opacity:0;transition:opacity .35s .2s}.gate-opening .envelope-paper span,.gate-opening .envelope-paper small{opacity:1}
@media(max-width:700px){.gate-bloom{opacity:.22}.gate-bloom-right{top:-270px}.gate-bloom-left{bottom:-245px}}
