@charset "UTF-8";
:root{--red:#8b2225;--deep-red:#68191f;--gold:#e8c992;--ink:#372c26;--muted:#82746b;--paper:#f7f3ea;--line:#dfd5c5;--serif:"Songti SC","STSong","Noto Serif CJK SC","Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body,button,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{cursor:wait}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{border:0}p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:#d9ba83;color:var(--deep-red)}[hidden]{display:none!important}.section-wrap{max-width:1280px;margin:0 auto;padding-left:72px;padding-right:72px}.section-kicker,.eyebrow{font-size:10px;letter-spacing:3px;font-weight:500;line-height:1.8}.section-kicker{color:var(--red);margin-bottom:25px}.red-word{color:var(--red)}.gold-word{color:var(--gold)}.skip-link{position:fixed;left:12px;top:-80px;z-index:110;background:var(--paper);padding:14px}.skip-link:focus{top:12px}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;border-bottom:1px solid var(--line)}.brand{font:18px var(--serif);letter-spacing:3px;display:flex;gap:13px;align-items:center}.brand span{font-size:29px;color:var(--red)}.site-header nav{display:flex;gap:42px;font-size:12px;letter-spacing:2px}.site-header nav a:hover{color:var(--red)}.header-date{font-size:10px;letter-spacing:2px}.hero{min-height:760px;display:grid;grid-template-columns:1.05fr 1fr;background:var(--red);color:var(--paper);position:relative;overflow:hidden}.hero:focus{outline:none}.hero-copy{padding:75px 8% 65px 13%;position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero-eyebrow{font-size:9px;letter-spacing:2.7px;color:var(--gold);margin-bottom:35px;display:flex;align-items:center;gap:15px}.tiny-star{font-size:21px}.hero h1{font-size:clamp(54px,5.6vw,83px);line-height:1.3;letter-spacing:9px;margin-left:-3px}.couple-names{display:flex;align-items:center;gap:22px;margin-top:40px;font:30px var(--serif);letter-spacing:4px}.couple-names span{white-space:nowrap}.couple-names small{display:block;font:8px var(--sans);letter-spacing:2px;margin-top:13px;color:#e7c9b9}.couple-names i{font-family:"Times New Roman",serif;color:var(--gold);font-size:29px;font-weight:400}.hero-date{font-family:var(--serif);font-size:15px;letter-spacing:4px;margin-top:40px}.hero-location{font-size:11px;letter-spacing:4px;margin-top:13px;color:#e7c9b9}.hero-link{font-size:11px;letter-spacing:2px;margin-top:43px;padding-bottom:11px;border-bottom:1px solid #c18173;display:flex;gap:55px;align-items:center}.hero-link span{font-size:24px}.hero-photo{position:relative;min-width:0;padding:38px 38px 38px 0}.hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 35%;animation:photo-drift 18s ease-in-out infinite alternate}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(104,25,31,.15),transparent 35%)}.photo-frame{position:absolute;inset:27px;border:1px solid rgba(247,243,234,.55);border-radius:280px 280px 0 0;z-index:2;pointer-events:none}.hero-photo-note{position:absolute;z-index:2;right:45px;bottom:48px;writing-mode:vertical-rl;font:12px var(--serif);letter-spacing:6px;text-shadow:0 1px 5px #24170e}.hero-seal{position:absolute;z-index:3;bottom:55px;left:-32px;width:64px;height:64px;background:var(--paper);color:var(--red);border-radius:50%;display:grid;place-items:center;font:37px var(--serif);box-shadow:0 0 0 7px var(--red),0 0 0 8px #c79a76}.hero-side-note{position:absolute;left:20px;top:40%;writing-mode:vertical-rl;font-size:8px;letter-spacing:3px;color:#d8a398}.blessing-strip{display:flex;justify-content:space-evenly;align-items:center;padding:26px 8%;border-bottom:1px solid var(--line);font:14px var(--serif);letter-spacing:5px}.blessing-strip i{font-style:normal;color:#b99768;font-size:13px}.invitation{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:120px;padding-bottom:120px}.invitation-letter{position:relative;padding-top:10px}.small-seal{width:45px;height:45px;border:1px solid var(--red);display:grid;place-items:center;color:var(--red);font:29px var(--serif);border-radius:50%;margin-bottom:25px}.invitation h2,.location-section h2{font-size:51px;line-height:1.45;letter-spacing:5px}.letter-salutation{font-size:13px;letter-spacing:2px;margin-top:34px}.letter-body{font:15px/2.35 var(--serif);letter-spacing:2px;margin-top:15px;color:#6b5b50}.letter-signature{font:22px var(--serif);letter-spacing:3px;margin-top:35px}.letter-signature span{font:italic 23px "Times New Roman";color:#a58a6c;margin:0 8px}.letter-signature small{font-size:12px;margin-left:12px}.date-card{background:#eee7d9;padding:35px 38px 31px;border:1px solid #d7c7ad;outline:1px solid #d7c7ad;outline-offset:-9px;align-self:center;text-align:center;color:var(--red);position:relative}.date-card-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px}.date-card-top span{font:12px var(--serif)}.date-numbers{display:flex;align-items:baseline;justify-content:center;gap:10px;margin-top:34px;font-family:"Times New Roman",var(--serif)}.date-numbers>span{font-size:100px;line-height:1;letter-spacing:-5px}.date-numbers i{font:15px var(--serif)}.date-divider{display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px;border-top:1px solid #cdbb9e;border-bottom:1px solid #cdbb9e;margin:20px 0 26px;padding:12px 0}.banquet-time>span{display:block;font:14px var(--serif);letter-spacing:4px}.banquet-time strong{font:48px/1.6 "Times New Roman",serif;display:block;letter-spacing:3px}.banquet-time small{display:block;font-size:9px;letter-spacing:3px;color:#846b58}.date-venue{font-size:11px;line-height:1.9;margin:22px 0 15px;letter-spacing:1px}.text-button{background:transparent;color:var(--red);font-size:12px;padding:10px 0;border-bottom:1px solid #b89677;letter-spacing:2px}.text-button span{margin-left:20px}.countdown-wrap{margin-top:31px;padding-top:23px;border-top:1px solid #d6c7af}.countdown-wrap>p{font-size:10px;letter-spacing:2px;color:#846b58}#countdown{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:14px}#countdown b{font:28px "Times New Roman",serif;font-variant-numeric:tabular-nums}#countdown small{display:block;font-size:9px;color:#846b58;margin-top:4px}#countdown i{font-style:normal;font-size:14px;align-self:flex-start;padding-top:5px}.editorial{display:grid;grid-template-columns:1.5fr 1fr;gap:65px;align-items:center;padding-bottom:115px}.editorial-image{position:relative}.editorial-image img{width:100%;aspect-ratio:1.33;object-fit:cover}.image-number{display:block;font-size:9px;letter-spacing:3px;margin-top:15px;color:var(--muted)}.editorial-copy h2{font-size:42px;letter-spacing:4px;line-height:1.6}.editorial-copy>p:not(.section-kicker){font:14px/2.3 var(--serif);color:var(--muted);margin-top:25px;letter-spacing:1px}.editorial-flower{display:block;font-size:66px;font-weight:200;color:#b99467;margin-top:28px;line-height:1}.moments{padding-top:70px;padding-bottom:95px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.section-heading h2{font-size:38px;letter-spacing:4px}.section-heading .section-kicker{margin-bottom:16px}.heading-dot{color:var(--red);padding:0 12px}.section-heading>p{font:13px/2.2 var(--serif);letter-spacing:1px;color:var(--muted);text-align:right}.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:40px;margin-bottom:28px}.gallery-filters button{padding:11px 18px;background:transparent;border:1px solid #d5c9b8;color:#7b6b5e;letter-spacing:1px;font-size:11px;min-height:44px;transition:background .25s,color .25s}.gallery-filters button:hover,.gallery-filters .is-active{background:var(--red);border-color:var(--red);color:var(--paper)}.gallery-grid{columns:3;column-gap:20px}.gallery-grid>*{break-inside:avoid;margin-bottom:20px}.gallery-item{padding:0;width:100%;display:block;position:relative;overflow:hidden;background:#ece4d6;color:var(--ink);text-align:left}.gallery-item__image{width:100%;height:auto;transition:transform .7s ease}.gallery-item:hover .gallery-item__image{transform:scale(1.035)}.gallery-item__caption{position:absolute;left:0;bottom:0;width:100%;background:linear-gradient(transparent,rgba(28,19,14,.68));color:#fff;padding:40px 18px 16px;font-size:10px;letter-spacing:2px;opacity:0;transition:opacity .3s}.gallery-item:hover .gallery-item__caption,.gallery-item:focus-visible .gallery-item__caption{opacity:1}.gallery-loading{font-size:13px;padding:40px 0;color:var(--muted)}.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:32px;border:1px solid var(--red);background:transparent;color:var(--red);padding:16px 25px;min-height:48px;font-size:12px;letter-spacing:2px;transition:background .3s,color .3s}.outline-button:hover{background:var(--red);color:var(--paper)}#show-all-photos{display:flex;margin:34px auto 0}.gallery-hint{text-align:center;margin-top:17px;font-size:10px;letter-spacing:2px;color:var(--muted)}.panorama{height:550px;position:relative;overflow:hidden;background:#3b3528}.panorama>img{width:100%;height:100%;object-fit:cover;object-position:center 47%}.panorama:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,rgba(23,28,21,.65))}.panorama-caption{position:absolute;z-index:1;bottom:65px;left:8%;color:var(--paper)}.panorama-caption p{font:14px var(--serif);letter-spacing:5px;margin-bottom:22px}.panorama-caption strong{font:35px var(--serif);letter-spacing:5px}.location-section{padding-top:115px;padding-bottom:115px;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.location-copy>p:not(.section-kicker):not(.location-note){font:14px/2.3 var(--serif);color:var(--muted);letter-spacing:2px;margin-top:25px}.venue-details{padding-top:27px;margin-top:30px;border-top:1px solid var(--line)}.venue-details>span{font-size:10px;letter-spacing:2px;color:var(--muted)}.venue-details h3{font-size:28px;letter-spacing:5px;margin-top:14px}.venue-details address{font:13px/1.9 var(--sans);color:#756457;margin-top:12px;letter-spacing:1px}.location-note{font-size:10px;line-height:1.9;color:var(--muted);margin-top:21px}.solid-button{display:inline-flex;justify-content:space-between;align-items:center;gap:48px;padding:17px 26px;background:var(--red);color:var(--paper);min-height:50px;font-size:12px;letter-spacing:2px;border:1px solid var(--red);transition:background .3s}.solid-button:hover{background:var(--deep-red)}.location-copy .solid-button{margin-top:24px}.location-art{background:#eae0cf;position:relative;padding:40px;text-align:center;min-height:490px;overflow:hidden;color:var(--red);display:flex;align-items:center;flex-direction:column;border:1px solid #d8c5a7}.location-art:after,.location-art:before{content:"";position:absolute;left:-70%;top:0;transform:rotate(-38deg);width:220%;height:200px;border:1px solid #d4c2a5;border-radius:50%;pointer-events:none}.location-art:after{top:330px;left:-50%;transform:rotate(38deg);height:150px}.location-art-grid{position:absolute;inset:12px;border:1px solid #d2b996}.location-art-top{font-size:10px;letter-spacing:3px;z-index:1}.location-pin{width:50px;height:65px;margin-top:58px;margin-bottom:22px;z-index:1}.location-art strong{font:54px var(--serif);letter-spacing:12px;padding-left:12px;z-index:1}.location-art strong span{display:block;font:10px var(--sans);letter-spacing:8px;margin-top:10px;padding-right:4px}.location-art>p{font:13px var(--serif);letter-spacing:3px;margin-top:23px;z-index:1}.location-art-bottom{display:flex;justify-content:space-between;width:100%;margin-top:auto;padding-top:40px;font-size:9px;letter-spacing:2px;z-index:1}.closing{background:var(--red);color:var(--paper);padding:75px 6% 0;text-align:center;position:relative;overflow:hidden}.closing:before,.closing:after{content:"";position:absolute;width:650px;height:650px;border:1px solid #ac5b51;border-radius:50%;top:40px;left:-330px;opacity:.4;pointer-events:none}.closing:after{left:auto;right:-330px}.closing-content{position:relative;z-index:1}.closing-double-happiness{font:60px var(--serif);color:var(--gold);display:block;margin-bottom:26px}.closing .eyebrow{color:var(--gold);font-size:8px}.closing h2{font-size:45px;line-height:1.5;letter-spacing:6px;margin-top:22px}.closing-names{font:21px var(--serif);letter-spacing:3px;margin-top:30px}.closing-names span{font:italic 22px "Times New Roman";color:var(--gold);margin:0 10px}.closing-date{font-size:10px;letter-spacing:3px;color:#deb4a1;margin-top:15px}.closing-share{background:transparent;color:var(--gold);border-bottom:1px solid #c68a71;padding:12px 0;font-size:11px;letter-spacing:3px;margin-top:35px}.closing-share span{margin-left:20px}.footer-line{display:flex;justify-content:space-between;border-top:1px solid #ac6257;margin-top:70px;padding:25px 0;font-size:8px;color:#e2b19e;letter-spacing:2px}.mobile-bar{display:none}#invitation-opening{position:fixed;inset:0;z-index:100;background:var(--red);color:var(--gold);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .7s,transform .7s}.opening-border{position:absolute;inset:22px;border:1px solid #b57657;pointer-events:none}.opening-border:after{content:"";position:absolute;inset:7px;border:1px solid #aa644e}.opening-orbit{position:absolute;width:min(85vw,800px);height:min(85vw,800px);border:1px solid #a75a47;border-radius:50%;opacity:.5;pointer-events:none}.orbit-one{left:-35%;top:-30%}.orbit-two{right:-35%;bottom:-30%}.opening-content{text-align:center;position:relative;padding:45px 30px}.opening-content .eyebrow{font-size:9px;letter-spacing:4px}.opening-happiness{font:clamp(75px,12vh,130px) var(--serif);display:block;margin:25px 0 18px;line-height:1.2}.opening-names{font:25px var(--serif);letter-spacing:4px}.opening-names>span{font-size:13px;margin:0 12px;opacity:.7}.opening-copy{font:13px/2.2 var(--serif);letter-spacing:2px;color:#e4b4a0;margin-top:25px}.seal-button{border-radius:80px;display:flex;align-items:center;flex-direction:column;background:transparent;color:var(--gold);margin:35px auto 0;padding:0 20px}.seal-button>span{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;border:1px solid #dbb17a;outline:1px solid #ad7255;outline-offset:5px;font:30px var(--serif);background:#7d2024;box-shadow:0 6px 25px #65181d;transition:transform .4s,background .4s}.seal-button:hover>span{transform:scale(1.06);background:#6f1c21}.seal-button small{font-size:10px;letter-spacing:3px;margin-top:24px}.opening-date{font-size:10px;letter-spacing:5px;margin-top:30px}.opening-corner{position:absolute;top:50%;font:14px var(--serif);writing-mode:vertical-rl;letter-spacing:10px}.corner-left{left:8%}.corner-right{right:8%}.opening #invitation-opening{opacity:0;transform:scale(1.035);pointer-events:none}.js-enhanced .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}.js-enhanced .reveal.is-visible{opacity:1;transform:translateY(0)}dialog:not([open]){display:none}dialog{border:0;padding:0}dialog::backdrop{background:rgba(22,16,13,.85);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:18px;top:13px;width:44px;height:44px;background:transparent;color:inherit;font-size:34px;font-weight:200;z-index:3;line-height:1}#photo-dialog{background:transparent;color:#fff;width:min(1200px,100%);max-width:100vw;max-height:100vh;max-height:100dvh;overflow:hidden;margin:auto;padding:55px 14px 20px}#photo-dialog .dialog-close{top:0;right:12px}.lightbox-stage{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:10px;max-height:78dvh}#lightbox-image{height:75vh;height:75dvh;width:100%;object-fit:contain;user-select:none}.photo-arrow{color:#fff;background:transparent;font-size:42px;width:46px;height:58px}#lightbox-caption{text-align:center;font-size:12px;letter-spacing:2px;padding-top:18px;line-height:1.8}.lightbox-hint{text-align:center;font-size:10px;letter-spacing:1px;opacity:.55;margin-top:9px}#map-dialog{width:460px;max-width:calc(100vw - 36px);background:var(--paper);color:var(--ink);padding:45px 35px 32px;text-align:center;max-height:90vh;max-height:90dvh;overflow:auto}#map-dialog .small-seal{margin:0 auto 22px}#map-dialog h2{font-size:28px;letter-spacing:3px}#map-dialog .section-kicker{font-size:8px;letter-spacing:2px;margin-bottom:12px}.map-address{font-size:12px;line-height:1.9;margin-top:22px}.map-description{font-size:11px;color:var(--muted);line-height:1.9;margin:10px 0 22px}#map-dialog .solid-button,#map-dialog .outline-button{width:100%;margin-bottom:12px;padding:14px 22px}#map-dialog .text-button{margin-top:4px}.map-tip{color:var(--muted);font-size:10px;line-height:2;margin-top:22px}#toast{position:fixed;z-index:150;left:50%;bottom:35px;transform:translate(-50%,10px);opacity:0;pointer-events:none;background:#392b26;color:#fff;border:1px solid #876a4e;padding:13px 21px;font-size:12px;line-height:1.8;width:max-content;max-width:calc(100vw - 36px);text-align:center;transition:opacity .25s,transform .25s}#toast.is-visible{opacity:1;transform:translate(-50%,0)}@keyframes photo-drift{from{transform:scale(1)}to{transform:scale(1.035)}}
@media(min-width:1600px){.hero{max-height:950px;min-height:860px}.hero-copy{padding-left:max(14%,calc((100vw - 1280px)/2))}.hero h1{font-size:86px}}
@media(max-width:1100px){.section-wrap{padding-left:45px;padding-right:45px}.hero{min-height:690px}.hero-copy{padding-left:13%;padding-right:6%}.hero h1{font-size:63px;letter-spacing:6px}.couple-names{gap:12px;font-size:25px;letter-spacing:2px}.couple-names small{font-size:7px;letter-spacing:1px}.hero-eyebrow{font-size:8px;letter-spacing:1.5px}.invitation{gap:55px}.date-card{padding-left:27px;padding-right:27px}.date-numbers>span{font-size:88px}.location-section{gap:50px}.location-art{padding:35px 25px}.section-heading h2{font-size:31px;letter-spacing:2px}.editorial{gap:40px}.editorial-copy h2{font-size:34px}}
@media(max-width:760px){html{scroll-padding-top:20px}.section-wrap{padding-left:25px;padding-right:25px}.site-header{height:65px;padding:0 23px}.brand{font-size:15px;letter-spacing:2px;gap:8px}.brand span{font-size:23px}.site-header nav{display:none}.header-date{font-size:8px;letter-spacing:1px}.hero{display:block;min-height:760px;height:calc(100vh - 65px);height:calc(100svh - 65px);max-height:900px;background:#4b2420}.hero-photo{position:absolute;inset:0;padding:0}.hero-photo img{object-position:50% 22%}.hero-photo:after{background:linear-gradient(180deg,rgba(25,20,15,.1) 20%,rgba(71,20,21,.05) 38%,rgba(85,23,25,.92) 82%,#68191f 100%)}.photo-frame{inset:18px 18px 20px;border-radius:220px 220px 0 0;opacity:.65}.hero-copy{position:relative;justify-content:flex-end;height:100%;padding:38px 35px 43px;align-items:center;text-align:center}.hero-eyebrow{margin-bottom:14px;font-size:7px;letter-spacing:2px;gap:10px}.hero h1{font-size:33px;line-height:1.3;letter-spacing:4px;white-space:nowrap}.hero h1 br{display:none}.hero .gold-word{display:inline-block}.couple-names{font-size:27px;letter-spacing:4px;gap:20px;margin-top:25px}.couple-names i{font-size:25px}.couple-names small{font-size:6px;letter-spacing:1.5px;margin-top:8px}.hero-date{font-size:12px;letter-spacing:3px;margin-top:22px}.hero-location{font-size:10px;letter-spacing:3px;margin-top:9px}.hero-link{margin-top:23px;font-size:10px;gap:37px;padding-bottom:5px}.hero-link span{font-size:20px}.hero-photo-note{font-size:10px;top:52px;right:31px;bottom:auto;letter-spacing:4px}.hero-seal{bottom:auto;top:42px;left:32px;width:39px;height:39px;font-size:23px;box-shadow:0 0 0 4px rgba(139,34,37,.7),0 0 0 5px #c79a76;background:var(--red);color:var(--gold)}.hero-side-note{display:none}.blessing-strip{padding:21px 15px;letter-spacing:2px;font-size:11px}.blessing-strip i{font-size:10px}.invitation{display:block;padding-top:65px;padding-bottom:60px}.invitation-letter{padding:0 8px}.section-kicker{font-size:8px;letter-spacing:2px;margin-bottom:21px}.invitation h2,.location-section h2{font-size:38px;letter-spacing:5px}.small-seal{width:39px;height:39px;font-size:24px;margin-bottom:20px}.letter-salutation{margin-top:24px;font-size:12px}.letter-body{font-size:14px;letter-spacing:1px;line-height:2.3}.letter-signature{font-size:21px;margin-top:28px}.date-card{margin-top:48px;padding:29px 32px}.date-numbers{margin-top:27px}.date-numbers>span{font-size:100px}.date-divider{margin-bottom:24px}.date-venue{font-size:11px}.editorial{display:block;padding-bottom:64px}.editorial-image img{aspect-ratio:1.15}.editorial-copy{padding:33px 6px 0;position:relative}.editorial-copy h2{font-size:35px;line-height:1.55}.editorial-copy .section-kicker{margin-bottom:12px}.editorial-copy>p:not(.section-kicker){font-size:13px;margin-top:18px}.editorial-flower{position:absolute;right:10px;top:60px;font-size:75px;opacity:.6}.image-number{font-size:7px;letter-spacing:2px}.moments{padding-top:50px;padding-bottom:52px}.section-heading{display:block}.section-heading h2{font-size:26px;letter-spacing:2px}.heading-dot{padding:0 6px}.section-heading>p{text-align:left;margin-top:15px;font-size:12px;line-height:1.9}.section-heading>p br{display:none}.gallery-filters{gap:7px;margin-top:25px;margin-bottom:20px}.gallery-filters button{font-size:10px;padding:9px 12px;letter-spacing:0;min-height:40px}.gallery-grid{columns:2;column-gap:12px}.gallery-grid>*{margin-bottom:12px}.gallery-item__caption{display:none}.outline-button{font-size:11px;padding:14px 21px;gap:23px}#show-all-photos{margin-top:25px}.gallery-hint{font-size:9px;letter-spacing:1px}.panorama{height:340px}.panorama>img{object-position:40% center}.panorama-caption{left:27px;bottom:35px;right:20px}.panorama-caption p{font-size:10px;letter-spacing:3px;margin-bottom:15px}.panorama-caption strong{font-size:21px;line-height:1.6;letter-spacing:2px}.location-section{display:block;padding-top:60px;padding-bottom:60px}.location-copy{padding:0 6px}.location-copy>p:not(.section-kicker):not(.location-note){font-size:13px;margin-top:21px}.venue-details{padding-top:24px;margin-top:24px}.venue-details h3{font-size:26px}.venue-details address{font-size:12px}.location-note{font-size:10px}.location-copy .solid-button{width:100%;margin-top:22px}.location-art{margin-top:32px;min-height:380px;padding:30px}.location-pin{width:40px;height:50px;margin-top:30px;margin-bottom:18px}.location-art strong{font-size:45px}.location-art strong span{font-size:8px}.location-art>p{font-size:12px;margin-top:18px}.location-art:after{top:250px}.location-art-bottom{padding-top:30px}.closing{padding-top:55px;padding-bottom:72px}.closing-double-happiness{font-size:47px;margin-bottom:22px}.closing h2{font-size:33px;letter-spacing:4px;margin-top:18px}.closing-names{font-size:20px}.closing .eyebrow{font-size:7px;letter-spacing:2px}.closing-date{font-size:9px;letter-spacing:2px}.closing-share{font-size:10px;margin-top:26px}.footer-line{font-size:7px;letter-spacing:1px;margin-top:45px;padding:20px 0}.mobile-bar{position:fixed;z-index:15;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr 1.2fr;background:rgba(247,243,234,.96);backdrop-filter:blur(12px);border-top:1px solid #dbcfbf;padding-bottom:env(safe-area-inset-bottom)}.mobile-bar a{min-height:61px;font-size:10px;letter-spacing:1px;display:flex;align-items:center;justify-content:center;gap:7px}.mobile-bar a span{font-size:20px;font-weight:300}.mobile-bar a:last-child{background:var(--red);color:var(--paper)}.js-enhanced .invitation-closed .mobile-bar{visibility:hidden}#toast{bottom:calc(80px + env(safe-area-inset-bottom));font-size:11px}.opening-border{inset:14px}.opening-content{padding:35px 20px}.opening-content .eyebrow{font-size:7px;letter-spacing:3px}.opening-happiness{font-size:95px;margin-top:24px}.opening-names{font-size:23px;letter-spacing:3px}.opening-names>span{font-size:12px;margin:0 7px}.opening-copy{font-size:12px;letter-spacing:1px}.opening-corner{font-size:11px;letter-spacing:8px;top:30%}.corner-left{left:8%}.corner-right{right:8%}.seal-button{margin-top:30px}.seal-button>span{width:65px;height:65px;font-size:26px}.seal-button small{font-size:9px}.opening-date{font-size:9px;letter-spacing:4px}.lightbox-stage{grid-template-columns:27px minmax(0,1fr) 27px;gap:0}.photo-arrow{width:27px;font-size:32px}#photo-dialog{padding-left:0;padding-right:0}#lightbox-image{height:68dvh}#lightbox-caption{font-size:11px;padding-top:14px}.lightbox-hint{font-size:9px}#map-dialog{padding:35px 24px 26px}#map-dialog h2{font-size:25px}.map-address{font-size:11px}.map-description{font-size:10px}.map-tip{font-size:9px}}
@media(max-width:370px){.section-wrap{padding-left:20px;padding-right:20px}.hero{min-height:700px}.hero-copy{padding-left:22px;padding-right:22px}.hero h1{font-size:29px;letter-spacing:3px}.couple-names{font-size:25px;gap:14px;letter-spacing:2px}.section-heading h2{font-size:23px}.date-card{padding-left:25px;padding-right:25px}.date-numbers>span{font-size:88px}.opening-names{font-size:21px}.opening-copy{font-size:11px}.corner-left{left:6%}.corner-right{right:6%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-enhanced .reveal{opacity:1;transform:none}}

/* Final invitation: stronger hierarchy and a quieter, curated photo story. */
.hero-topline{font:17px var(--serif);letter-spacing:9px;color:var(--gold);margin-bottom:24px}
.hero-date{font-size:17px}.hero-location{font-size:13px}.couple-names{font-size:34px;gap:24px}
.hero-link{font-size:13px}.opening-copy{font-size:16px;color:#f1d9b7;letter-spacing:3px;margin-top:24px}
.opening-happiness{margin-top:0}.opening-names{font-size:29px}.opening-date{font-size:13px}
.seal-button{border-radius:0;padding:0 16px}.seal-button:focus-visible{outline:none}
.seal-button>span{width:84px;height:84px;position:relative;outline:none;border:1px solid var(--gold);font-size:34px;box-shadow:0 8px 28px #64191f}
.seal-button>span:before{content:"";position:absolute;inset:6px;border:1px solid #b5825d;border-radius:50%;pointer-events:none}
.seal-button>span:after{content:"";position:absolute;inset:-7px;border:1px solid #bc8b60;border-radius:50%;pointer-events:none}
.seal-button:focus-visible>span:after{border-width:2px;border-color:var(--gold)}
.seal-button small{font-size:12px;margin-top:29px;letter-spacing:3px}
.invitation{gap:90px;padding-top:105px;padding-bottom:105px;align-items:center}.invitation-letter{padding:20px 0}
.invitation h2,.location-section h2{font-size:57px;line-height:1.4}.letter-body{font-size:19px;line-height:2.3;margin-top:30px;color:#625045}
.letter-signature{font-size:25px;margin-top:28px}.letter-signature small{font-size:14px}.date-card{background:#eee4d2;border-color:#bca17c;box-shadow:15px 18px 0 #ece4d6}
.date-card-top{justify-content:center;font-size:14px}.date-card-top span{font-size:15px;letter-spacing:7px}.date-venue{font-size:15px;margin:19px 0 10px}
.date-divider{font-size:14px}.banquet-time>span{font-size:16px}.banquet-time strong{font-size:57px;line-height:1.4;margin-top:5px}
.text-button{font-size:14px}.countdown-wrap>p{font-size:12px}#countdown{gap:18px}#countdown b{font-size:32px}#countdown small{font-size:11px}
.editorial{gap:70px;padding-bottom:105px}.editorial-copy h2{font-size:48px}.editorial-copy>p:not(.section-kicker){font-size:17px;line-height:2}
.section-heading{margin-bottom:38px}.section-heading h2{font-size:43px;letter-spacing:5px}.moments{padding-top:65px}
.gallery-grid{column-gap:24px}.gallery-grid>*{margin-bottom:24px}.gallery-item{border-radius:2px;background:#e5d5be}
.gallery-item__caption{font:15px "Times New Roman",serif;letter-spacing:3px;padding-bottom:21px}
.location-section{gap:95px}.venue-details h3{font-size:35px}.venue-details>span{font-size:13px}.venue-details address{font-size:16px;line-height:1.9}
.location-note{font-size:13px}.solid-button{font-size:15px;padding:20px 28px;min-height:58px}
.location-art{background:var(--red);color:var(--gold);border-color:#ae7551;min-height:475px;box-shadow:16px 18px 0 #ece4d6}
.location-art-grid{border-color:#a66c4a}.location-art:after,.location-art:before{border-color:#a66c4a;opacity:.6}
.location-art-top{font-size:14px;letter-spacing:6px}.location-art strong{font-size:64px}.location-art>p{font-size:16px}.location-art-bottom{font-size:12px}
.closing h2{font-size:53px}.closing-date{font-size:13px}.closing-names{font-size:27px}.closing-share{font-size:14px}.footer-line{justify-content:center;font-size:11px;letter-spacing:5px}
.map-description{font-size:13px}.map-address{font-size:14px}.map-tip{font-size:11px}.blessing-strip{font-size:16px}
@media(max-width:1100px) and (min-width:761px){.invitation h2,.location-section h2{font-size:47px}.couple-names{font-size:27px;gap:14px}.section-heading h2{font-size:34px}}
@media(max-width:760px){
  .hero-topline{font-size:13px;letter-spacing:7px;margin-bottom:15px}.hero h1{font-size:clamp(28px,8.4vw,37px);letter-spacing:3px}
  .couple-names{font-size:31px;gap:20px;margin-top:25px}.hero-date{font-size:14px;letter-spacing:2px;margin-top:22px}.hero-location{font-size:12px;letter-spacing:3px}
  .hero-link{font-size:12px;margin-top:22px}.hero-copy{padding-bottom:38px}.blessing-strip{font-size:12px;letter-spacing:2px;padding:24px 10px}
  .opening-happiness{font-size:110px;margin:0 0 25px}.opening-names{font-size:26px;letter-spacing:3px}.opening-copy{font-size:14px;letter-spacing:2px;margin-top:22px}
  .opening-date{font-size:12px;letter-spacing:4px;margin-top:33px}.seal-button{margin-top:38px}.seal-button>span{width:80px;height:80px;font-size:32px}.seal-button small{font-size:11px;margin-top:28px}
  .invitation{padding-top:60px;padding-bottom:65px}.invitation-letter{padding:0 8px}.invitation h2,.location-section h2{font-size:43px;letter-spacing:4px}.small-seal{margin-bottom:24px}
  .letter-body{font-size:17px;letter-spacing:1px;line-height:2.2;margin-top:24px}.letter-signature{font-size:23px;margin-top:25px}.letter-signature small{font-size:12px}
  .date-card{margin-top:42px;padding:30px;box-shadow:8px 10px 0 #ece4d6}.date-card-top span{font-size:14px;letter-spacing:6px}.date-divider{font-size:13px}
  .banquet-time>span{font-size:15px}.banquet-time strong{font-size:55px}.date-venue{font-size:14px}.text-button{font-size:13px}
  .countdown-wrap>p{font-size:12px}#countdown b{font-size:30px}#countdown small{font-size:10px}.countdown-wrap{margin-top:25px}
  .editorial{padding-bottom:60px}.editorial-copy{padding-top:28px}.editorial-copy h2{font-size:38px;line-height:1.5}.editorial-copy>p:not(.section-kicker){font-size:16px;margin-top:18px}
  .editorial-flower{font-size:80px;top:30px}.moments{padding-top:48px;padding-bottom:45px}.section-heading{margin-bottom:27px}.section-heading h2{font-size:28px;letter-spacing:1px;line-height:1.5}
  .gallery-grid{column-gap:12px}.gallery-grid>*{margin-bottom:12px}.gallery-item__caption{display:none}
  .location-section{padding-top:25px;padding-bottom:65px}.venue-details{margin-top:26px;padding-top:25px}.venue-details>span{font-size:12px}.venue-details h3{font-size:31px}.venue-details address{font-size:15px}
  .location-note{font-size:12px}.solid-button{font-size:14px;min-height:55px;padding:17px 23px}.location-copy .solid-button{margin-top:20px}.location-art{min-height:365px;margin-top:35px;box-shadow:8px 10px 0 #ece4d6}
  .location-art-top{font-size:13px;letter-spacing:4px}.location-art strong{font-size:56px}.location-art>p{font-size:15px;margin-top:15px}.location-art-bottom{font-size:11px}.location-pin{margin-top:32px}
  .closing h2{font-size:38px;letter-spacing:3px}.closing-names{font-size:24px}.closing-date{font-size:12px}.closing-share{font-size:13px}.footer-line{font-size:10px;letter-spacing:3px}
  .mobile-bar{box-shadow:0 -5px 25px #3a231215}.mobile-bar a{min-height:64px;font-size:12px;gap:8px}.mobile-bar a span{font-size:22px}
  .map-address{font-size:13px}.map-description{font-size:12px}.map-tip{font-size:10px}
}
@media(max-width:370px){.couple-names{font-size:27px;gap:16px}.opening-names{font-size:24px}.section-heading h2{font-size:25px}.invitation h2,.location-section h2{font-size:39px}}
