:root{--paper:#eeece3;--ink:#30372a;--olive:#333d2e;--rust:#9d503a;--muted:#747568;--line:#cecec0;--serif:Georgia,'Times New Roman',serif;--cn:'Songti SC','Noto Serif CJK SC','SimSun',serif;--sans:'Helvetica Neue','PingFang SC','Microsoft YaHei',sans-serif;--gutter:clamp(24px,5.5vw,100px)}
html{background:var(--paper);scroll-padding-top:25px}body{font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{opacity:.28;cursor:default}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--rust);outline-offset:5px}::selection{background:#bfad8b;color:#fff}em{font-family:var(--serif);font-weight:400}img{width:100%;height:100%;object-fit:cover}figure{min-width:0}[hidden]{display:none!important}.skip-link{position:fixed;z-index:100;left:15px;top:-100px;background:var(--paper);padding:15px}.skip-link:focus{top:15px}.reading-progress{position:fixed;z-index:100;top:0;left:0;height:2px;width:100%;background:var(--rust);transform:scaleX(0);transform-origin:left}.section-pad{padding-inline:var(--gutter)}.eyebrow{font-size:10px;font-weight:500;letter-spacing:.23em}.masthead{height:101px;margin-inline:var(--gutter);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.monogram{font:29px/1 var(--serif);white-space:nowrap}.monogram span{font-size:21px;font-style:italic;margin-inline:1px}.monogram i{display:inline-grid;place-items:center;width:20px;height:22px;margin-left:12px;border:1px solid var(--rust);color:var(--rust);font:14px var(--cn);vertical-align:middle}.masthead-edition{font-size:9px;letter-spacing:.19em}.masthead-edition i{margin:0 12px}.masthead nav{display:flex;gap:35px;font-size:12px}.masthead nav a{display:flex;align-items:center;gap:7px}.masthead nav a span{font-size:8px;color:var(--muted)}.masthead nav a:hover{color:var(--rust)}
.hero{max-width:1700px;margin:auto;min-height:780px;padding:64px var(--gutter) 90px;display:grid;grid-template-columns:1.08fr 1fr;gap:5%;position:relative}.hero-copy{padding-top:34px;display:flex;flex-direction:column;align-items:flex-start}.hero h1{font:400 clamp(64px,7.35vw,116px)/1.05 var(--serif);letter-spacing:-.055em;margin-top:40px;white-space:nowrap;position:relative;z-index:2}.hero h1 em{color:var(--rust);letter-spacing:-.055em}.hero-names{display:flex;align-items:center;gap:22px;font:27px var(--cn);letter-spacing:.09em;margin-top:36px}.hero-names i{font:italic 22px var(--serif);color:var(--rust)}.hero-letter{margin-top:24px;font:13px/2 var(--sans);color:#666b5e;letter-spacing:.06em}.text-link{display:inline-flex;gap:40px;border-bottom:1px solid #979b88;padding-block:17px 11px;font-size:12px;margin-top:20px}.text-link span{font-size:21px;line-height:12px;transition:transform .3s}.text-link:hover span{transform:translate(3px,-3px)}.hero-date{display:flex;gap:30px;margin-top:46px;font-size:9px;letter-spacing:.13em}.hero-date span:last-child{color:var(--muted)}.hero-art{position:relative;margin:0 18px 0 15px;align-self:start}.hero-photo{height:clamp(540px,44vw,690px);background:#d6d3bc;overflow:hidden;border-radius:180px 180px 0 0}.hero-photo img{object-position:50% 42%;transform:scale(1.015)}.margin-label{position:absolute;right:-26px;top:55px;writing-mode:vertical-rl;font-size:8px;letter-spacing:.2em;color:var(--muted)}.date-seal{position:absolute;left:-57px;bottom:51px;width:120px;height:120px;border-radius:50%;border:1px solid #bbbdac;outline:6px solid var(--paper);background:var(--paper);display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(-10deg);box-shadow:0 5px 15px #242a2410}.date-seal>span{font-size:8px;letter-spacing:.15em}.date-seal b{font:29px/1.6 var(--serif);letter-spacing:.02em}.date-seal b span{color:var(--rust);margin:0 2px}.date-seal small{font-size:6px;letter-spacing:.13em}.hero-caption{display:flex;justify-content:space-between;gap:16px;margin-top:15px;font-size:8px;letter-spacing:.14em;color:var(--muted)}.hero-caption span:last-child{letter-spacing:.12em}.scroll-marker{position:absolute;bottom:26px;left:var(--gutter);display:flex;align-items:center;gap:21px;font-size:10px;color:var(--muted)}.scroll-marker b{font-size:18px;font-weight:400}
.section-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.13em;padding-bottom:25px;border-bottom:1px solid var(--line)}.section-label>span:last-child{letter-spacing:.24em}.prologue{padding-top:75px;padding-bottom:125px;border-top:1px solid var(--line)}.prologue-grid{position:relative;max-width:1220px;display:grid;grid-template-columns:1fr 1.12fr;gap:17%;margin:82px auto 0;align-items:center}.portrait-small{width:100%;max-width:400px;padding-left:35px;position:relative;z-index:1}.portrait-small img{aspect-ratio:3/4;height:auto;object-fit:cover}.portrait-small figcaption{margin-top:18px;font:11px var(--cn);letter-spacing:.09em}.prologue-copy{position:relative;z-index:1;padding-bottom:25px}.small-italic{font:italic 24px var(--serif);color:var(--rust)}.prologue-copy h2{font:400 clamp(34px,3.2vw,51px)/1.55 var(--cn);letter-spacing:.1em;margin-top:23px}.prologue-copy h2 em{font-family:var(--cn);font-style:normal;color:var(--rust)}.prologue-copy>p{font-size:12px;line-height:2.1;color:#69705f;margin-top:24px}.signature{font:italic 24px var(--serif);margin-top:35px}.signature i{color:var(--rust);margin-inline:10px}.prologue-word{position:absolute;left:29%;bottom:-74px;font:italic clamp(80px,12.5vw,195px)/1 var(--serif);color:#dcddd0;letter-spacing:-.06em;pointer-events:none}
.chapter{height:760px;max-height:85svh;min-height:530px;position:relative;color:#fff;overflow:hidden;background:#5c6555}.chapter-image,.chapter-shade{position:absolute;inset:0}.chapter-image img{object-position:50% 46%}.chapter-shade{background:linear-gradient(90deg,#161e1878,transparent 74%),linear-gradient(0deg,#17221955,transparent 40%)}.chapter-text{position:absolute;left:var(--gutter);top:50%;transform:translateY(-30%)}.chapter-text .eyebrow{color:#e8e6d9}.chapter-text h2{font:400 clamp(33px,4.1vw,62px)/1.6 var(--cn);letter-spacing:.09em;margin-top:25px}.chapter-text h2 em{font-family:var(--cn);font-style:normal}.chapter-text>p:last-child{margin-top:21px;font:italic 21px/1.4 var(--serif);color:#e6e6da}.chapter-foot{position:absolute;bottom:32px;right:var(--gutter);font-size:9px;letter-spacing:.16em}
.moments{padding-top:88px;padding-bottom:90px;overflow:hidden}.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-top:45px;margin-bottom:45px}.gallery-heading h2{font:400 clamp(55px,6.5vw,95px)/1.02 var(--serif);letter-spacing:-.04em}.gallery-heading h2 em{color:var(--rust)}.gallery-heading>div{display:flex;flex-direction:column;align-items:flex-end;gap:34px}.gallery-heading p{font:14px/1.9 var(--cn);letter-spacing:.12em}.gallery-controls{display:flex;align-items:center;gap:23px}.gallery-controls button{width:39px;height:39px;border:1px solid var(--line);background:none;border-radius:50%;font-size:19px;transition:background .25s}.gallery-controls button:hover:not(:disabled){background:#dfdfd0}.gallery-count{font-size:9px;letter-spacing:.15em;font-variant-numeric:tabular-nums}.gallery-track{display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:5px}.gallery-track::-webkit-scrollbar{display:none}.gallery-item{flex:0 0 32%;scroll-snap-align:start}.gallery-item:nth-child(even){padding-top:62px}.photo-button{width:100%;padding:0;border:0;background:none;display:block;position:relative;overflow:hidden}.photo-button img{aspect-ratio:3/4;height:auto;transition:transform .7s cubic-bezier(.2,.7,.3,1);object-fit:cover}.photo-button:hover img{transform:scale(1.035)}.photo-button>span{position:absolute;bottom:14px;right:14px;display:grid;place-items:center;background:#eeece3e6;color:var(--ink);width:33px;height:33px;border-radius:50%;font-size:19px}.gallery-item figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:17px}.gallery-item figcaption span{font-size:8px;letter-spacing:.08em}.gallery-item figcaption b{font:11px var(--cn);font-weight:400}.gallery-bottom{display:flex;justify-content:space-between;margin-top:28px;padding-top:17px;border-top:1px solid var(--line);font-size:9px;letter-spacing:.06em;color:var(--muted)}
.invitation-section{background:var(--olive);color:#eeece3;padding-top:69px;padding-bottom:110px}.invitation-section .section-label{border-color:#5b6351;color:#d0d3c3}.invitation-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;max-width:1220px;margin:80px auto 0;align-items:center}.invitation-intro .eyebrow{color:#b5bda7}.invitation-intro h2{font:400 clamp(35px,4.3vw,64px)/1.5 var(--cn);letter-spacing:.05em;margin-top:20px}.invitation-intro h2 em{font-family:var(--cn);font-style:normal;color:#c8d0b7}.invitation-intro>p:not(.eyebrow){font-size:12px;line-height:2.2;color:#c1c7b6;margin-top:28px}.countdown-label{margin-top:45px;font-size:10px;letter-spacing:.12em;color:#c1c7b6}.countdown{display:flex;gap:34px;margin-top:19px}.countdown strong{display:block;font:42px/1 var(--serif);font-variant-numeric:tabular-nums}.countdown span{font-size:8px;letter-spacing:.09em;color:#b5bda7;display:block;margin-top:9px}.invitation-card{position:relative;min-height:570px;perspective:1500px;background:#f4f1e8;color:var(--ink);box-shadow:13px 23px 40px #13190f28}.card-cover{position:absolute;z-index:2;inset:0;width:100%;height:100%;border:0;padding:46px 20px 30px;background:#e4e1d5;color:var(--ink);display:flex;flex-direction:column;align-items:center;transform-origin:0 50%;backface-visibility:hidden;transition:transform 1.1s cubic-bezier(.19,.76,.22,1),opacity .8s;isolation:isolate}.card-cover::before{content:'';position:absolute;inset:17px;border:1px solid #b7b9a4;z-index:-1}.card-cover::after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(32deg,transparent 49.85%,#bcbfac80 50%,transparent 50.15%),linear-gradient(-32deg,transparent 49.85%,#bcbfac80 50%,transparent 50.15%)}.cover-top{font-size:8px;letter-spacing:.24em}.cover-monogram{font:80px var(--serif);letter-spacing:-.1em;margin-top:39px}.cover-monogram i{font-size:61px;font-weight:400;color:#89917c}.cover-chinese{margin-top:12px;font:13px var(--cn);letter-spacing:.22em}.wax-seal{margin-top:52px;background:#92503c;color:#eadccc;display:grid;place-items:center;width:70px;height:70px;border-radius:48% 52% 46% 54%;border:5px solid #9e6048;outline:1px solid #764530;box-shadow:2px 5px 8px #48312530,inset 0 0 0 1px #c59172;font:25px var(--cn);transform:rotate(-9deg)}.cover-hint{margin-top:auto;font-size:11px;letter-spacing:.1em}.cover-hint b{font-size:21px;margin-left:20px;font-weight:400}.card-inside{position:relative;min-height:570px;text-align:center;padding:48px 30px 25px;display:flex;align-items:center;flex-direction:column;border:1px solid #d0d0bd;outline:1px solid #d0d0bd;outline-offset:-15px}.card-inside .eyebrow{font-size:8px;color:var(--muted)}.card-inside h3{font:24px var(--cn);letter-spacing:.1em;display:flex;gap:13px;margin-top:24px;align-items:center}.card-inside h3 i{font:italic 20px var(--serif);color:var(--rust)}.card-rule{width:65%;height:1px;background:#cdcbbd;margin:25px auto}.card-rule.short{width:30px;margin:21px auto}.card-date{font:29px var(--serif);letter-spacing:.04em}.card-time{font-size:10px;margin-top:9px;color:var(--muted)}.card-venue{font:17px var(--cn)}.card-address{font-size:10px;line-height:1.7;color:var(--muted);margin-top:10px;max-width:90%}.card-actions{margin-top:24px;display:flex;flex-direction:column;gap:10px;width:90%}.card-actions button,.card-actions a{padding:13px 15px;border:1px solid #8b9380;font-size:11px;background:transparent;display:flex;justify-content:space-between;align-items:center}.card-actions button:hover,.card-actions a:hover{background:#e4e6d9}.card-note{font:12px var(--cn);letter-spacing:.08em;margin-top:20px;color:var(--muted)}.card-close{border:0;border-bottom:1px solid var(--line);padding:4px;background:none;margin-top:19px;font-size:9px;color:var(--muted)}.invitation-card.is-open .card-cover{transform:rotateY(-105deg);opacity:0;pointer-events:none}
.footer{padding-top:35px;padding-bottom:32px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:9px;letter-spacing:.12em}.footer-top>a{font-size:10px}.footer-title{font:400 clamp(80px,15vw,235px)/1.2 var(--serif);text-align:center;letter-spacing:-.055em;padding:38px 0 50px}.footer-title em{color:var(--rust)}.footer-bottom{justify-content:flex-start;border-top:1px solid var(--line);padding-top:25px;font-size:11px}.footer-bottom i{font:italic 15px var(--serif);color:var(--rust)}.footer-date{margin-left:auto;margin-right:auto;font-size:9px}.footer-bottom>span:last-child{font-size:10px;color:var(--muted)}.music-button{position:fixed;bottom:25px;right:25px;z-index:20;background:var(--paper);border:1px solid var(--line);border-radius:50%;width:42px;height:42px;font-size:20px;box-shadow:0 4px 15px #30372a20}.music-button.is-playing span{display:block;animation:spin 5s linear infinite}.lightbox{position:fixed;inset:0;border:0;padding:58px 75px 30px;background:#192016f5;color:#f5f1e8;width:100%;height:100%;max-width:none;max-height:none;margin:0;overflow:hidden}.lightbox::backdrop{background:#192016}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox figure{height:100%;display:flex;align-items:center;flex-direction:column;min-width:0}.lightbox figure img{width:100%;height:calc(100% - 35px);object-fit:contain}.lightbox figcaption{font-size:11px;margin-top:15px;letter-spacing:.12em}.lightbox button{position:absolute;border:1px solid #697260;background:none;color:#f5f1e8;z-index:1}.lightbox-close{right:25px;top:20px;border:0!important;font-size:12px;padding:7px}.lightbox-prev,.lightbox-next{top:50%;width:38px;height:38px;border-radius:50%;font-size:19px}.lightbox-prev{left:20px}.lightbox-next{right:20px}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,15px);z-index:110;background:#252e22;color:#fff;padding:13px 22px;font-size:12px;border:1px solid #697260;border-radius:3px;opacity:0;pointer-events:none;transition:.25s;max-width:90vw;text-align:center}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1600px){.masthead,.section-pad{padding-left:max(var(--gutter),calc((100vw - 1440px)/2));padding-right:max(var(--gutter),calc((100vw - 1440px)/2))}.masthead{margin-inline:0}.hero{padding-inline:80px}.chapter-text{left:max(var(--gutter),calc((100vw - 1440px)/2))}}
@media(max-width:1000px){.hero{gap:3%;min-height:700px;padding-top:46px}.hero-copy{padding-top:22px}.hero h1{font-size:7.7vw}.hero-photo{height:550px}.hero-names{font-size:23px;margin-top:29px}.hero-date{gap:15px;flex-wrap:wrap}.hero-caption{font-size:6px}.date-seal{width:96px;height:96px;left:-25px;bottom:58px}.date-seal b{font-size:24px}.date-seal>span{font-size:6px}.date-seal small{font-size:5px}.prologue-grid{gap:12%;margin-top:65px}.portrait-small{padding-left:0}.invitation-grid{gap:7%}.card-inside{padding-inline:21px}.gallery-item{flex-basis:39%}.masthead nav{gap:20px}.masthead-edition{font-size:8px}}
@media(max-width:680px){:root{--gutter:24px}.masthead{height:77px;gap:10px}.monogram{font-size:25px}.monogram span{font-size:18px}.monogram i{width:17px;height:19px;font-size:12px;margin-left:7px}.masthead-edition{display:none}.masthead nav{gap:21px;font-size:11px}.masthead nav a{gap:4px}.masthead nav a span{font-size:7px}.hero{display:flex;flex-direction:column;gap:0;padding:31px var(--gutter) 60px;min-height:0}.hero-copy{padding:0}.hero .eyebrow{font-size:8px;letter-spacing:.19em}.hero h1{font-size:clamp(49px,12.2vw,81px);line-height:1.02;margin-top:23px;letter-spacing:-.05em}.hero-names{margin-top:24px;font-size:22px;gap:17px}.hero-letter{font-size:11px;margin-top:18px;line-height:1.9}.hero .text-link{position:absolute;right:24px;top:241px;gap:9px;font-size:10px;padding-top:5px;margin-top:0}.hero .text-link span{font-size:16px}.hero-date{margin:24px 0 0;gap:0;justify-content:space-between;width:100%;font-size:8px}.hero-art{margin:26px 16px 0 22px;width:calc(100% - 38px);align-self:auto}.hero-photo{height:auto;aspect-ratio:.72;border-radius:145px 145px 0 0}.hero-photo img{object-position:50% 45%}.margin-label{right:-20px;font-size:6px;top:65px;letter-spacing:.15em}.hero-caption{margin-top:13px;font-size:6px}.hero-caption span:last-child{font-size:8px}.date-seal{left:-26px;bottom:48px;width:93px;height:93px}.scroll-marker{position:static;margin-top:30px;justify-content:center;font-size:9px;gap:15px}.hero-date span:last-child{font-size:7px}.section-label{font-size:7px;letter-spacing:.08em;padding-bottom:17px}.section-label>span:last-child{font-size:8px;letter-spacing:.09em}.prologue{padding-top:40px;padding-bottom:70px}.prologue-grid{display:grid;grid-template-columns:.78fr 1fr;gap:23px;margin-top:42px;align-items:start}.portrait-small{margin-top:22px}.portrait-small img{aspect-ratio:.67;object-position:51% 40%}.portrait-small figcaption{font-size:9px;line-height:1.9;letter-spacing:0}.small-italic{font-size:16px;white-space:nowrap}.prologue-copy{padding-bottom:0}.prologue-copy h2{font-size:27px;line-height:1.6;letter-spacing:.02em;margin-top:16px}.prologue-copy>p{font-size:10px;line-height:2;margin-top:18px;letter-spacing:0}.signature{font-size:16px;margin-top:20px;line-height:1.6}.signature i{margin-inline:3px}.prologue-word{font-size:82px;left:0;bottom:-40px;opacity:.7}.chapter{height:620px;min-height:500px;max-height:85svh}.chapter-image img{object-position:58% 50%}.chapter-shade{background:linear-gradient(0deg,#172119b3,transparent 80%)}.chapter-text{top:auto;bottom:75px;transform:none;left:26px}.chapter-text .eyebrow{font-size:7px;letter-spacing:.16em}.chapter-text h2{font-size:31px;line-height:1.6;margin-top:15px}.chapter-text>p:last-child{font-size:17px;margin-top:12px}.chapter-foot{font-size:7px;bottom:25px;left:26px;right:auto}.moments{padding-top:46px;padding-bottom:49px}.gallery-heading{margin-top:29px;margin-bottom:29px;align-items:end}.gallery-heading h2{font-size:52px}.gallery-heading>div{gap:18px}.gallery-heading p{font-size:11px;line-height:1.8}.gallery-controls{gap:10px}.gallery-controls button{width:30px;height:30px;font-size:16px}.gallery-count{font-size:7px;letter-spacing:.04em}.gallery-track{gap:17px;margin-right:calc(-1 * var(--gutter));padding-right:var(--gutter)}.gallery-item{flex:0 0 77%}.gallery-item:nth-child(even){padding-top:35px}.gallery-item figcaption{margin-top:13px;gap:5px}.gallery-item figcaption span{font-size:7px}.gallery-item figcaption b{font-size:10px}.gallery-bottom{font-size:8px;margin-top:20px;gap:20px;line-height:1.6}.invitation-section{padding-top:40px;padding-bottom:48px}.invitation-grid{display:flex;flex-direction:column;gap:42px;margin-top:39px;align-items:stretch}.invitation-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:22px}.invitation-intro .eyebrow{grid-column:1/-1;font-size:8px}.invitation-intro h2{font-size:28px;white-space:nowrap;letter-spacing:.01em;margin-top:15px}.invitation-intro>p:not(.eyebrow){font-size:10px;line-height:2.1;margin-top:21px}.countdown-label{margin-top:30px;grid-column:1/-1;font-size:9px}.countdown{grid-column:1/-1;gap:37px;margin-top:15px}.countdown strong{font-size:35px}.countdown span{font-size:7px}.invitation-card{margin-inline:8px;min-height:528px}.card-cover{padding-top:43px}.cover-monogram{font-size:75px;margin-top:29px}.wax-seal{margin-top:38px}.card-inside{min-height:528px;padding-top:39px}.card-inside h3{font-size:22px}.card-date{font-size:26px}.card-venue{font-size:16px}.card-rule{margin-block:21px}.card-actions{margin-top:21px}.footer{padding-top:26px;padding-bottom:26px}.footer-top{font-size:7px;letter-spacing:.06em}.footer-top>a{font-size:9px}.footer-title{font-size:clamp(58px,16vw,106px);padding:38px 0;white-space:nowrap}.footer-bottom{font-size:10px;flex-wrap:wrap;gap:9px;padding-top:20px}.footer-date{margin-right:0;font-size:8px}.footer-bottom>span:last-child{width:100%;margin-top:8px;font-size:9px}.lightbox{padding:70px 14px 85px}.lightbox figure{height:100%;width:100%}.lightbox-prev,.lightbox-next{top:auto;bottom:22px}.lightbox-prev{left:calc(50% - 65px)}.lightbox-next{right:calc(50% - 65px)}.lightbox-close{right:14px}.toast{font-size:11px;padding:11px 17px}.music-button{bottom:17px;right:17px}}
@media(max-width:680px){.prologue-copy h2 em{display:block}}
@media(max-width:360px){.invitation-intro h2{font-size:24px!important}.prologue-word{font-size:65px!important}.footer-title{font-size:48px!important}}
@media(max-width:360px){:root{--gutter:19px}.hero h1{font-size:12vw}.hero .text-link{position:static;margin-top:13px}.hero-names{font-size:20px}.prologue-grid{gap:15px}.prologue-copy h2{font-size:24px}.small-italic{font-size:14px}.signature{font-size:14px}.gallery-heading h2{font-size:44px}.gallery-heading p{font-size:10px}.gallery-controls{gap:7px}.invitation-intro h2{font-size:29px}.invitation-intro{column-gap:12px}.card-inside h3{gap:8px;font-size:20px}.section-label{font-size:6px}.section-label>span:last-child{font-size:7px}}
.rsvp-section{background:#e8e7dc;padding-top:72px;padding-bottom:100px}.rsvp-layout{max-width:1220px;margin:70px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:14%;align-items:start}.rsvp-copy .eyebrow{color:var(--rust)}.rsvp-copy h2{font:400 clamp(35px,4.2vw,62px)/1.52 var(--cn);letter-spacing:.06em;margin-top:20px}.rsvp-copy h2 em{font-family:var(--cn);font-style:normal;color:var(--rust)}.rsvp-copy>p:last-child{font-size:12px;line-height:2.2;color:var(--muted);margin-top:25px}.rsvp-form{border-top:1px solid var(--line);padding-top:20px}.rsvp-form fieldset{border:0;padding:0;margin:0}.rsvp-form legend{font-size:10px;letter-spacing:.12em;margin-bottom:17px}.rsvp-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rsvp-choice{min-height:98px;border:1px solid #9ca08f;background:transparent;padding:18px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.rsvp-choice span{font:17px var(--cn);letter-spacing:.05em}.rsvp-choice small{font-size:9px;color:var(--muted);letter-spacing:.04em}.rsvp-choice:hover,.rsvp-choice[aria-pressed="true"]{background:var(--olive);color:#f3f1e8;border-color:var(--olive)}.rsvp-choice[aria-pressed="true"] small{color:#d4d9ca}.rsvp-details{margin-top:24px}.rsvp-message{font:13px/1.9 var(--cn);margin-bottom:16px;min-height:25px}.rsvp-details label{display:block;font-size:10px;letter-spacing:.1em;margin-top:13px}.rsvp-details input{display:block;box-sizing:border-box;width:100%;border:0;border-bottom:1px solid #8f9485;background:transparent;padding:10px 1px 9px;font:14px var(--cn);outline-offset:4px}.rsvp-details input:focus{border-color:var(--rust)}.rsvp-submit{width:100%;margin-top:24px;padding:14px 15px;border:1px solid var(--olive);background:var(--olive);color:#f3f1e8;font-size:11px;text-align:left;display:flex;justify-content:space-between}.rsvp-submit:hover{background:#495244}.rsvp-status{font:12px/1.9 var(--cn);color:var(--rust);min-height:24px;margin-top:17px}@media(max-width:680px){.rsvp-section{padding-top:42px;padding-bottom:60px}.rsvp-layout{display:block;margin-top:42px}.rsvp-copy h2{font-size:29px;margin-top:15px}.rsvp-copy>p:last-child{font-size:10px;margin-top:18px}.rsvp-form{margin-top:37px}.rsvp-options{gap:8px}.rsvp-choice{min-height:88px;padding:14px}.rsvp-choice span{font-size:14px}.rsvp-choice small{font-size:8px}.rsvp-message{font-size:12px}.rsvp-details input{font-size:13px}}
/* Formbricks RSVP handoff */
.rsvp-backend-link{margin-top:10px;font-size:11px;letter-spacing:.05em}.rsvp-backend-link a{color:var(--olive);text-decoration:underline;text-underline-offset:4px}.rsvp-backend-link span{font-size:16px;margin-left:7px}
/* Invitation opening gate */
.invitation-gate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#1d271ef2;color:#eeece3;transition:opacity .7s,visibility .7s}.invitation-gate.is-dismissed{opacity:0;visibility:hidden;pointer-events:none}.invitation-gate-card{text-align:center;display:grid;place-items:center;gap:14px}.invitation-gate .eyebrow{font-size:9px;letter-spacing:.24em;color:#b9c2ae}.invitation-gate-seal{position:relative;width:118px;height:118px;border-radius:50%;border:1px solid #b9c2ae;background:#9b5540;color:#f2e8da;box-shadow:0 0 0 9px #9b554033,0 0 34px #c79a7038;cursor:pointer;animation:gate-pulse 2.2s ease-in-out infinite}.invitation-gate-seal span{font:42px var(--cn)}.invitation-gate-seal i{position:absolute;right:11px;bottom:10px;font:18px var(--serif);font-style:normal}.invitation-gate-title{font:22px var(--cn);letter-spacing:.12em}.invitation-gate-title em{font:italic 20px var(--serif);color:#c99579}.invitation-gate-hint{font-size:11px;letter-spacing:.14em;color:#cbd0c2}.invitation-gate-countdown{display:flex;align-items:baseline;gap:7px;color:#cbd0c2}.invitation-gate-countdown span{font:24px var(--serif);color:#f1e7d8}.invitation-gate-countdown small{font-size:9px}.invitation-gate-skip{margin-top:22px;border:0;border-bottom:1px solid #89937e;background:none;color:#cbd0c2;padding:4px 0;font-size:10px;cursor:pointer}@keyframes gate-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 9px #9b554033,0 0 34px #c79a7038}50%{transform:scale(1.05);box-shadow:0 0 0 15px #9b554018,0 0 48px #d3ad8b55}}@media(prefers-reduced-motion:reduce){.invitation-gate-seal{animation:none}}
.invitation-card.is-opening{animation:invitation-open .95s cubic-bezier(.19,.76,.22,1)}@keyframes invitation-open{0%{transform:perspective(1500px) rotateY(-10deg) scale(.96);opacity:.55}55%{transform:perspective(1500px) rotateY(3deg) scale(1.015);opacity:1}100%{transform:perspective(1500px) rotateY(0) scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.invitation-card.is-opening{animation:none}}
.invitation-card.is-opening{animation-duration:3.2s}.invitation-card .card-cover{transition:transform 3.2s cubic-bezier(.45,0,.25,1),opacity 1s ease 2s}.card-cover .wax-seal{animation:gate-pulse 2.2s ease-in-out infinite}.card-cover .cover-hint{background:#30402b;color:#fff;padding:12px 18px;border-radius:24px}.music-button{width:auto;min-width:110px;border-radius:24px;padding:9px 14px;display:flex;gap:8px;align-items:center;justify-content:center;z-index:1001}.music-button small{font-size:11px}.music-button[hidden]{display:none}.rsvp-submit:disabled{opacity:.65;cursor:default}.rsvp-details label[hidden]{display:none}
