:root{--paper:#faf7f1;--ink:#342c2b;--wine:#702c40;--rose:#d8b5b4;--muted:#726663;--line:#ddd4ca;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--script:'Caveat',cursive}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b97938;outline-offset:5px}::selection{background:#e7c3cc;color:var(--wine)}.skip-link{position:fixed;left:1rem;top:-100px;z-index:1000;background:white;padding:12px}.skip-link:focus{top:12px}.site-header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:30}.monogram{display:flex;align-items:baseline;font-family:var(--serif);font-size:39px;color:var(--wine);line-height:1}.monogram>span:not(.brand-caption){font-size:27px;font-style:italic;margin:0 3px}.brand-caption{border-left:1px solid var(--line);padding-left:17px;margin-left:20px;font:10px var(--sans);letter-spacing:2px;align-self:center}.site-header nav{display:flex;gap:33px;font-size:13px}.site-header nav a{padding:12px 0}.site-header nav a:hover{color:var(--wine)}.header-cta{border-bottom:1px solid var(--wine);padding:8px 0;color:var(--wine);font-size:13px}.header-cta span{margin-left:20px}.menu-toggle,.mobile-menu{display:none}.hero{display:grid;grid-template-columns:47% 53%;min-height:750px;height:calc(100svh - 100px);max-height:1000px}.hero-copy{padding:65px 10.5% 30px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.eyebrow{font-size:11px;letter-spacing:2.6px;font-weight:600;color:var(--wine)}.tiny-heart{font-size:18px;margin-right:10px}.script{font-family:var(--script);font-weight:400}.intro-script{font-size:29px;color:#8f5f62;transform:rotate(-4deg);margin:25px 0 0}.hero h1{font:500 clamp(80px,8.6vw,142px)/.83 var(--serif);letter-spacing:-5px;color:var(--wine);margin:20px 0 29px}.hero h1 em{font-weight:400}.ampersand{font-size:.58em;font-weight:400;font-style:italic;display:inline-block;transform:translateY(7px);margin-left:8px;color:#ad7880}.name-period{color:#ae7881}.hero-subtitle{font-size:15px;line-height:1.9;margin:4px 0 27px;color:var(--muted)}.button{display:inline-flex;justify-content:center;align-items:center;gap:35px;padding:15px 25px;border:1px solid var(--wine);font-size:13px;font-weight:500;transition:background .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--wine);color:white}.button-primary:hover{background:#53202f}.hero-recipient{border-left:1px solid #caa8a9;padding-left:14px;display:flex;flex-direction:column;margin:33px 0 28px}.hero-recipient>span{font-size:9px;letter-spacing:2px;color:var(--muted)}.hero-recipient strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.hero-footnote{font-size:9px;letter-spacing:2px;color:#847571}.hero-visual{position:relative;overflow:hidden;background:#312c28}.hero-visual>img{height:100%;width:100%;object-fit:cover;object-position:53% center;transition:opacity .45s,transform 8s;animation:photo-enter 2s ease-out}.image-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),transparent 45%,rgba(0,0,0,.55))}.photo-tag{position:absolute;top:37px;left:35px;color:white;font-size:9px;letter-spacing:2px;display:flex;align-items:center;gap:10px}.photo-tag span{font-size:20px}.stamp{position:absolute;right:27px;top:40px;color:#f3e7d4;border:1px solid #f3e7d4;outline:1px solid #f3e7d4;outline-offset:5px;padding:12px 15px;text-align:center;transform:rotate(12deg);font-size:9px;letter-spacing:2px;line-height:1.4;opacity:.83}.stamp span{font:30px var(--script);letter-spacing:0}.photo-caption{position:absolute;bottom:72px;left:40px;color:white;display:flex;flex-direction:column}.photo-caption .script{font-size:42px;transform:rotate(-4deg)}.photo-caption>span:last-child{font-size:9px;letter-spacing:2px;margin-top:6px}.slide-controls{position:absolute;bottom:28px;right:28px;display:flex;align-items:center;gap:9px;color:white}.slide-controls>span{font-size:12px;letter-spacing:1px;margin-right:12px}.slide-controls i{font-style:normal;opacity:.6}.slide-controls button{height:36px;width:36px;border:1px solid #ffffff5c;border-radius:50%;background:transparent;color:white;font-size:17px}.slide-controls button:hover{background:#ffffff22}.love-ticker{display:flex;justify-content:space-around;align-items:center;gap:30px;padding:20px 25px;border-bottom:1px solid var(--line);color:var(--wine);font-size:10px;letter-spacing:2px;white-space:nowrap;overflow:hidden}.love-ticker>span:nth-child(even){font-size:20px}.section-pad{padding:110px max(6%,calc((100vw - 1280px)/2))}.invitation{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.section-heading h2{font:500 60px/1.03 var(--serif);letter-spacing:-1.7px;margin:25px 0;color:var(--wine)}.section-heading h2 em{font-weight:400}.section-heading p{font-size:15px;line-height:1.9;max-width:430px;color:var(--muted)}.memo{background:#fffefb;padding:32px 40px;border:1px solid var(--line);box-shadow:7px 9px 0 #eee8df;transform:rotate(2deg);position:relative}.memo-top{font-size:8px;letter-spacing:1px;display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:15px}.memo h3{font:500 42px/1 var(--serif);color:var(--wine);margin:27px 0}.memo h3 em{font-weight:400}.memo dl{font-size:12px}.memo dl div{display:grid;grid-template-columns:65px 1fr;border-bottom:1px solid var(--line);padding:8px 0}.memo dt{color:var(--muted)}.memo dd{margin:0}.memo>p{font-size:13px;color:var(--muted)}.memo-signature{font-size:27px;color:var(--wine);margin:25px 0}.memo-approval{font-size:9px;letter-spacing:1px;color:var(--wine);border:1px solid var(--rose);padding:6px 9px;display:inline-block;transform:rotate(-7deg)}footer{text-align:center;padding:60px 20px;background:#eee5dc}footer .monogram{justify-content:center}footer p{font:italic 27px var(--serif);color:var(--wine)}footer>span{font-size:10px;letter-spacing:3px}#hearts{position:fixed;inset:0;pointer-events:none;z-index:90;overflow:hidden}.heart-particle{position:absolute;color:#ac536a;font-family:Georgia,serif;animation:float-heart 2.7s ease-out forwards}.mobile-menu[hidden]{display:none}@keyframes photo-enter{from{transform:scale(1.06)}to{transform:scale(1)}}@keyframes float-heart{0%{transform:translate(0,0) rotate(0);opacity:0}20%{opacity:.8}100%{transform:translate(var(--drift),-200px) rotate(30deg);opacity:0}}@media(min-width:1600px){.hero-copy{padding-left:14%}}@media(max-width:1100px){.brand-caption{display:none}.site-header nav{gap:22px}.hero{min-height:660px}.hero-copy{padding-left:11%;padding-right:7%}.hero h1{font-size:100px}.eyebrow{font-size:10px;letter-spacing:1.7px}.intro-script{font-size:26px}.stamp{right:25px;top:85px}.section-pad{padding:85px 6%}.invitation{gap:7%}.section-heading h2{font-size:50px}.memo{padding:28px}.memo-top{font-size:8px}}@media(max-width:760px){html{scroll-padding-top:30px}.site-header{height:78px;padding:0 6%}.site-header nav,.header-cta{display:none}.monogram{font-size:33px}.brand-caption{display:inline;font-size:9px}.menu-toggle{display:block;border:0;background:transparent;color:var(--wine);font-size:12px;padding:12px 0}.menu-toggle span{margin-left:10px}.mobile-menu{position:absolute;top:78px;left:0;right:0;background:var(--paper);z-index:25;display:grid;padding:20px 6%;border-bottom:1px solid var(--line)}.mobile-menu a{padding:10px}.hero{height:auto;max-height:none;grid-template-columns:1fr;min-height:0}.hero-copy{padding:47px 8% 38px}.hero h1{font-size:106px;line-height:.85;margin-top:24px;letter-spacing:-4px}.hero h1 br{display:none}.hero h1 .ampersand{font-size:47px;margin:0 7px}.hero h1 em{display:block}.intro-script{font-size:25px;margin-top:20px}.hero-subtitle{font-size:14px;margin:0 0 22px}.hero-recipient{margin:27px 0 0}.hero-footnote{display:none}.hero-visual{height:590px}.photo-tag{top:25px;left:25px;font-size:8px}.stamp{top:70px;right:24px}.photo-caption{left:25px;bottom:72px}.photo-caption .script{font-size:35px}.love-ticker{justify-content:flex-start;gap:25px;font-size:9px}.section-pad{padding:70px 7%}.invitation{grid-template-columns:1fr;gap:37px}.section-heading h2{font-size:49px}.section-heading p{font-size:15px}.memo{padding:25px}.memo h3{font-size:40px}.memo-top{font-size:8px}.memo dl{font-size:12px}.memo>p{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.heart-particle{display:none}}[hidden]{display:none!important}
.couple{border-top:1px solid var(--line);display:grid;grid-template-columns:45% 1fr;gap:12%;align-items:center;background:#f3eee6}.couple-photo{position:relative;padding:14px 14px 46px;background:#fffdf9;transform:rotate(-3deg);box-shadow:0 18px 45px #3e302114}.couple-photo img{width:100%;height:540px;object-fit:cover;object-position:center 40%}.couple-photo-note{position:absolute;bottom:35px;right:-25px;background:#ead8d7;color:var(--wine);padding:15px 23px;font-size:26px;transform:rotate(7deg)}.photo-index{display:block;margin-top:18px;font-size:9px;letter-spacing:2px}.couple-copy h2{font:500 55px/1.08 var(--serif);color:var(--wine);margin:25px 0 30px;letter-spacing:-1.5px}.couple-copy h2 em{font-weight:400}.couple-names{display:flex;align-items:center;gap:28px;margin:35px 0}.couple-names div>span{font-size:9px;letter-spacing:2px;color:var(--muted)}.couple-names h3{font:500 47px/1.1 var(--serif);margin:8px 0}.couple-amp{font:italic 47px var(--serif);color:#b88388}.couple-copy>p{font-size:15px;color:var(--muted)}.team-note{display:flex;gap:18px;align-items:center;border-top:1px solid #d7ccc1;margin-top:30px;padding-top:24px}.team-note>span{font-size:40px;color:var(--wine)}.team-note div{display:flex;flex-direction:column;gap:4px}.team-note strong{font-size:13px;font-weight:500}.team-note div>span{font-size:12px;color:var(--muted)}.forever-note{padding:80px 20px;text-align:center;background:var(--wine);color:var(--paper)}.forever-note .eyebrow{color:#dbc2c5;font-size:9px}.forever-note>p{font:400 48px/1.15 var(--serif);margin:28px 0}.forever-note>.script{font-size:28px;color:#dec0c3}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.gallery-heading h2{margin-bottom:0}.gallery-heading>p{font-size:14px;color:var(--muted);margin-bottom:0}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:40px 0 28px;border-bottom:1px solid var(--line)}.gallery-filters{display:flex;gap:25px;overflow-x:auto}.gallery-filters button{border:0;background:transparent;color:var(--muted);white-space:nowrap;font-size:12px;padding:15px 0;position:relative}.gallery-filters button[aria-pressed=true]{color:var(--wine)}.gallery-filters button[aria-pressed=true]::after{content:'';height:2px;background:var(--wine);position:absolute;bottom:0;left:0;right:0}.gallery-filters button>span{font-size:9px;border:1px solid #c8aaaa;border-radius:50%;padding:2px 5px;margin-left:5px}.gallery-hint{font-size:10px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;align-items:start}.gallery-item{margin:0;position:relative}.gallery-item:nth-child(3n + 2){margin-top:40px}.gallery-item button{display:block;width:100%;position:relative;padding:0;overflow:hidden;border:0;background:#e7ded6;text-align:left}.gallery-item img{width:100%;height:335px;object-fit:cover;transition:transform .6s,filter .6s}.gallery-item:nth-child(3n + 2) img{height:380px}.gallery-item button:hover img{transform:scale(1.045);filter:brightness(.9)}.gallery-item button>span{position:absolute;bottom:16px;right:16px;width:36px;height:36px;display:grid;place-items:center;background:#fffcf1e6;color:var(--wine);border-radius:50%;opacity:0;transform:translateY(7px);transition:opacity .3s,transform .3s}.gallery-item button:hover>span,.gallery-item button:focus-visible>span{opacity:1;transform:none}.gallery-item figcaption{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);padding-top:12px;letter-spacing:.4px}.gallery-item figcaption>span:last-child{color:#a18280}.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:45px}.gallery-bottom>span:first-child{font-size:12px;color:var(--muted)}.gallery-bottom .script{font-size:27px;color:#9b676b}.button-outline{background:transparent;color:var(--wine)}.button-outline:hover{background:#eee0df}.events{background:#ede3da;text-align:center}.events>.section-heading p{margin:0 auto}.date-announcement{display:flex;align-items:center;gap:28px;text-align:left;justify-content:center;margin:55px auto 42px}.date-icon{font:80px var(--serif);color:var(--wine)}.date-announcement .eyebrow{font-size:9px}.date-announcement h3{font:500 33px var(--serif);color:var(--wine);margin:5px 0}.date-announcement p{font-size:12px;color:var(--muted);margin:6px 0}.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;text-align:left;max-width:960px;margin:auto}.event-card{background:var(--paper);border:1px solid #d8c8bc;padding:35px 38px}.event-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:var(--wine)}.event-card h3{font:500 40px/1.1 var(--serif);margin:24px 0 17px}.event-card .event-time{font-size:13px;color:var(--muted)}.event-rule{width:45px;height:1px;background:#ad8084;margin:27px 0}.event-card h4{font-size:15px;font-weight:500;margin:0 0 8px}.event-address{font-size:13px;color:var(--muted);max-width:320px;margin:0 0 30px}.map-pending{font-size:11px;border-top:1px solid var(--line);display:block;padding-top:20px;color:var(--muted)}.map-link{font-size:13px;color:var(--wine);border-bottom:1px solid #cbb1b2;padding-bottom:5px}.map-link span{margin-left:20px}.office-footnote{font-size:12px;color:var(--muted);margin:32px 0 0}.office-footnote span{color:var(--wine)}.countdown{display:flex;justify-content:center;gap:40px;margin:35px 0 50px}.countdown>div{display:flex;flex-direction:column}.countdown strong{font:500 55px var(--serif);color:var(--wine)}.countdown span{font-size:9px;letter-spacing:2px}.event-actions{margin-top:30px}.closing{position:relative;min-height:660px;display:flex;justify-content:center;align-items:center;text-align:center;color:white;padding:85px 20px}.closing>img,.closing-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.closing>img{object-position:center 40%}.closing-shade{background:#17221db3}.closing-content{position:relative;z-index:1}.closing-content .eyebrow{color:#efe9d7;font-size:9px}.closing h2{font:400 66px/1.02 var(--serif);letter-spacing:-1px;margin:35px 0 23px}.closing-content>p{font-size:14px;color:#f0eee5}.closing-content>.script{display:block;font-size:30px;color:#e9d2ce;margin:30px 0 5px}.closing-names{font:italic 42px var(--serif);margin-bottom:30px}.love-button{background:transparent;border:1px solid #ffffff7d;border-radius:30px;color:white;padding:10px 23px;font-size:12px}.love-button:hover{background:#ffffff1c}.love-button>span{font-size:20px;margin-left:9px}.love-response{display:block;font-size:12px;min-height:25px;margin-top:9px}.effect-controls{position:fixed;bottom:20px;right:23px;display:flex;gap:7px;z-index:40}.effect-controls button,.effect-controls>a{height:39px;border:1px solid #cbb6af;background:#fffaf2f5;color:var(--wine);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 15px #32231912}.effect-controls button{font-size:10px;gap:5px;border-radius:24px;padding:0 16px}.effect-controls button>span:first-child{font-size:19px;margin-right:3px}.effect-controls>a{width:39px;border-radius:50%;font-size:20px}dialog{position:fixed;width:100vw;max-width:none;height:100dvh;max-height:none;inset:0;margin:0;padding:20px 35px;background:#20191afa;color:#fcf5ed;border:0}dialog::backdrop{background:#20191a}.lightbox-top{display:flex;align-items:center;gap:25px;height:60px}.lightbox-top h2{font:italic 29px var(--serif);margin-right:auto;font-weight:400}.lightbox-top>span{font-size:12px}.lightbox-top button,.lightbox-stage button{background:transparent;border:1px solid #ffffff4d;color:white;flex-shrink:0;width:44px;height:44px;border-radius:50%;font-size:20px}.lightbox-stage{height:calc(100dvh - 160px);display:flex;align-items:center;justify-content:space-between;gap:20px}.lightbox-stage img{width:calc(100% - 140px);height:100%;object-fit:contain;user-select:none}.lightbox-stage button:hover,.lightbox-top button:hover{background:#ffffff19}#lightbox-caption{text-align:center;font-size:13px;color:#dfccc9}body.modal-open{overflow:hidden}.reveal{opacity:1}.js-reveal .reveal:not(.is-visible){opacity:0;translate:0 25px}.js-reveal .reveal{transition:opacity .8s,translate .8s}.memo>p,.couple-copy>p,.section-heading p,.hero-subtitle{font-size:16px}.gallery-heading>p{font-size:15px}@media(max-width:1100px){.couple{gap:8%}.couple-photo img{height:490px}.couple-copy h2{font-size:47px}.couple-names{gap:20px}.couple-names h3{font-size:40px}.gallery-hint{display:none}.gallery-item img{height:290px}.gallery-item:nth-child(3n + 2) img{height:340px}.gallery-grid{gap:18px}.event-card{padding:30px}.closing h2{font-size:60px}}@media(max-width:760px){.couple{grid-template-columns:1fr;gap:55px}.couple-photo{max-width:480px;margin:0 8px}.couple-photo img{height:460px}.couple-photo-note{font-size:25px;right:-15px;bottom:35px}.couple-copy h2{font-size:48px}.couple-names h3{font-size:47px}.couple-names{gap:28px}.forever-note{padding:60px 6%}.forever-note>p{font-size:36px}.forever-note>.script{font-size:26px}.gallery-heading{align-items:start;flex-direction:column;gap:14px}.gallery-heading>p{margin:0;font-size:14px}.gallery-heading>p br{display:none}.gallery-heading h2{font-size:47px}.gallery-toolbar{margin-top:25px}.gallery-filters{gap:20px;width:100%;padding-bottom:0}.gallery-filters button{font-size:11px}.gallery-grid{grid-template-columns:1fr 1fr;gap:20px 13px}.gallery-item:nth-child(3n + 2){margin-top:0}.gallery-item:nth-child(even){margin-top:26px}.gallery-item img,.gallery-item:nth-child(3n + 2) img{height:220px}.gallery-item:nth-child(even) img{height:250px}.gallery-item figcaption{font-size:9px;line-height:1.5;gap:5px}.gallery-item button>span{opacity:1;transform:none;width:27px;height:27px;font-size:13px;right:10px;bottom:10px}.gallery-bottom{flex-wrap:wrap;justify-content:center;gap:22px;padding-top:30px}.gallery-bottom>span:first-child{order:2}.gallery-bottom .script{order:3;font-size:24px}.gallery-bottom .button{width:100%}.events .section-heading h2{font-size:51px}.date-announcement{gap:17px;margin:35px 0}.date-icon{font-size:65px}.date-announcement h3{font-size:28px}.date-announcement p{font-size:12px}.event-grid{grid-template-columns:1fr;gap:19px}.event-card{padding:29px}.event-card h3{font-size:39px}.event-address,.event-card .event-time{font-size:14px}.office-footnote{font-size:12px}.office-footnote span{display:block}.closing{min-height:630px;padding:65px 7%}.closing h2{font-size:44px;line-height:1.05}.closing-content>p{font-size:14px}.closing-content>p br{display:none}.closing-content>.script{font-size:27px}.closing-names{font-size:39px}.effect-controls{bottom:14px;right:14px}.countdown{gap:25px}.countdown strong{font-size:43px}dialog{padding:12px}.lightbox-top{gap:14px}.lightbox-top h2{font-size:24px}.lightbox-top button{width:35px;height:35px;font-size:16px}.lightbox-stage{position:relative;height:calc(100dvh - 155px)}.lightbox-stage img{width:100%}.lightbox-stage button{position:absolute;bottom:10px;z-index:1;background:#221819bb;width:38px;height:38px}.lightbox-stage button:first-child{left:10px}.lightbox-stage button:last-child{right:10px}#lightbox-caption{font-size:12px;margin-top:15px}}@media(max-width:370px){.hero h1{font-size:92px}.hero-copy{padding-left:7%;padding-right:7%}.gallery-item img,.gallery-item:nth-child(3n + 2) img{height:180px}.gallery-item:nth-child(even) img{height:220px}.brand-caption{padding-left:10px;margin-left:10px;letter-spacing:1px}.couple-names{gap:16px}.couple-names h3{font-size:43px}}
.motion-off{scroll-behavior:auto}.motion-off *, .motion-off *::before,.motion-off *::after{animation:none!important;transition:none!important}.motion-off .reveal{opacity:1!important;translate:none!important}@media(prefers-reduced-motion:reduce){.js-reveal .reveal{opacity:1!important;translate:none!important}}@media(min-width:761px) and (max-width:850px){.hero h1{font-size:84px}.hero-copy{padding-left:9%}.intro-script{font-size:23px}}
@media(max-width:760px){.hero{position:relative;min-height:800px;background:#302824;color:#fffaf2;isolation:isolate}.hero-copy{position:relative;z-index:2;justify-content:flex-end;padding:310px 8% 80px;pointer-events:none}.hero-copy a{pointer-events:auto}.hero-copy .eyebrow{color:#f7ece1;font-size:9px;letter-spacing:2px}.hero-copy .intro-script{font-size:24px;color:#ead6cc;margin-top:12px}.hero h1{font-size:92px;color:#fffaf2;margin:22px 0 25px;letter-spacing:-3px}.hero h1 .ampersand,.hero .name-period{color:#e6b8b7}.hero-subtitle{color:#f0e5db;font-size:14px;line-height:1.7}.hero .button-primary{background:#fff8ee;color:#682a3b;border-color:#fff8ee;padding:13px 23px}.hero-recipient{border-color:#ccaeaa;margin-top:25px;color:#f7eee6}.hero-recipient>span{color:#e9d3c6}.hero-recipient strong{font-size:12px}.hero-visual{position:absolute;inset:0;height:100%;z-index:0}.hero-visual>img{object-position:50% 22%;height:100%;width:100%}.image-shade{background:linear-gradient(180deg,#21191805 10%,#23141955 35%,#211519dc 67%,#201219ef 100%)}.photo-tag{top:25px;left:8%;font-size:8px;letter-spacing:1.5px}.stamp{top:76px;right:30px;font-size:8px;padding:10px}.stamp span{font-size:27px}.photo-caption{display:none}.slide-controls{z-index:4;bottom:22px;right:20px}.slide-controls button{height:32px;width:32px}.effect-controls{bottom:12px;right:12px}.hero .tiny-heart{font-size:15px}}@media(max-width:370px){.hero h1{font-size:83px}.hero-copy{padding-left:7%;padding-right:7%}.hero{min-height:800px}}

/* Romance in motion: slow photo movement and a bounded field of floating hearts. */
#ambient-hearts{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.ambient-heart{position:absolute;left:var(--left);bottom:-50px;color:#f8d7d8;font-size:var(--size);opacity:0;animation:romantic-drift var(--duration) var(--delay) linear infinite;will-change:transform}.hero-visual>img{animation:romantic-zoom 18s ease-in-out infinite alternate}.intro-script{animation:soft-arrival 1.3s ease-out both}.hero h1{animation:soft-arrival 1.6s .12s ease-out both}.tiny-heart{display:inline-block;animation:little-heartbeat 5s ease-in-out infinite}.motion-off .ambient-heart{display:none}@keyframes romantic-drift{0%{transform:translate3d(0,0,0) rotate(-10deg);opacity:0}12%{opacity:.5}65%{opacity:.35}100%{transform:translate3d(55px,-1000px,0) rotate(35deg);opacity:0}}@keyframes romantic-zoom{from{transform:scale(1)}to{transform:scale(1.065)}}@keyframes soft-arrival{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}@keyframes little-heartbeat{0%,70%,100%{transform:scale(1)}75%,85%{transform:scale(1.22)}80%,90%{transform:scale(1)}}.event-grid{grid-template-columns:repeat(3,1fr);max-width:1280px;gap:20px}.event-card{padding:30px 25px}.event-card h3{font-size:34px}.event-card .event-time{min-height:48px}.event-card h4{min-height:48px}.map-link{font-size:12px}.rsvp-section{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;align-items:start}.rsvp-paper,.gift-paper{background:#fffdfa;border:1px solid var(--line);padding:30px 35px}.rsvp-paper>p,.gift-paper>p{font-size:14px;color:var(--muted)}.rsvp-for{font-size:15px;margin:24px 0}.rsvp-event{border:1px solid var(--line);padding:17px 18px;margin:0 0 22px}.rsvp-event legend{font:500 27px var(--serif);color:var(--wine);padding:0 5px}.rsvp-event>p{font-size:11px;color:var(--muted);margin:0 0 15px}.rsvp-choice{display:grid;gap:12px;margin-bottom:10px}.rsvp-choice label{display:flex;align-items:center;gap:9px;font-size:13px;cursor:pointer}.rsvp-choice input{accent-color:var(--wine);width:17px;height:17px;flex-shrink:0}.guest-label{display:block;font-size:13px;font-weight:500;margin:18px 0}.guest-label input,.guest-label textarea,.guest-label select{display:block;width:100%;padding:12px;border:1px solid var(--line);background:var(--paper);border-radius:0;color:var(--ink);font:14px var(--sans);margin-top:8px;min-height:44px}.guest-label textarea{resize:vertical;line-height:1.7}.guest-form-status{font-size:13px;color:var(--wine);line-height:1.7;min-height:4px}.rsvp-paper .button,.gift-paper .button{width:100%}.rsvp-privacy{display:block;font-size:10px;color:var(--muted);line-height:1.7;margin:18px 0 0}.gift-section{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;border-top:1px solid var(--line);background:#f3ece5}.gift-paper>.script{font-size:32px;color:var(--wine)}.gift-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.visit-note{display:block;font:10px/1.7 var(--sans);color:var(--muted);max-width:500px;margin:20px auto}.site-header nav{gap:23px}button:disabled{cursor:wait;opacity:.6}@media(max-width:1100px){.event-grid{grid-template-columns:1fr 1fr}.event-card:last-child{grid-column:1/-1;max-width:600px;width:100%;justify-self:center}.rsvp-section,.gift-section{gap:6%}.rsvp-paper,.gift-paper{padding:25px}.gift-input-grid{grid-template-columns:1fr;gap:0}.site-header nav{gap:16px;font-size:12px}}@media(max-width:760px){.event-grid,.rsvp-section,.gift-section{grid-template-columns:1fr}.event-card:last-child{grid-column:auto;max-width:none}.event-card{padding:29px}.event-card h3{font-size:39px}.event-card .event-time,.event-card h4{min-height:0}.rsvp-section,.gift-section{gap:30px}.rsvp-paper,.gift-paper{padding:25px}.rsvp-event{padding:15px 13px}.rsvp-choice label{font-size:12px}.rsvp-paper .memo-top{font-size:7px}.guest-label{font-size:12px}.gift-paper>.script{font-size:28px}}@media(prefers-reduced-motion:reduce){.ambient-heart{display:none}}

[data-cms]{white-space:pre-line}

#hero-invite-events{white-space:pre-line}
.music-gate[hidden]{display:none}.music-gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:#26191ae8;backdrop-filter:blur(10px)}body.music-gate-open{overflow:hidden}.music-gate-card{width:min(100%,520px);padding:clamp(30px,6vw,60px);text-align:center;background:#fff9f1;border:1px solid #d8c5b8;box-shadow:0 25px 90px #160d0d55}.music-gate-card .eyebrow{color:var(--wine);font-size:11px;letter-spacing:2px}.music-gate-card h2{font:500 clamp(44px,8vw,72px)/1 var(--serif);color:var(--wine);margin:25px 0 14px}.music-gate-card h2 em{font-weight:400}.music-gate-card p{color:var(--muted);font-size:16px;line-height:1.6;margin:0 0 30px}.music-gate-card .button{width:100%;justify-content:center}.music-gate-skip{display:block;margin:20px auto 0;padding:8px;border:0;background:none;color:var(--wine);font:500 13px var(--sans);text-decoration:underline;text-underline-offset:4px}
