@import "https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap";@font-face{font-family:LoraLocal;src:url(/assets/font-lora-regular-BFWPgoKa.ttf);font-display:swap}@font-face{font-family:HoaTay;src:url(/assets/font-uvn-hoa-tay-DVyORMBx.ttf);font-display:swap}@font-face{font-family:Beyond;src:url(/assets/font-beyond-perfection-DjjBVljK.ttf);font-display:swap}@font-face{font-family:Editorial;src:url(/assets/font-editorial-lora-D3dYsrbM.ttf);font-display:swap}@font-face{font-family:InvitationAmp;src:url(/assets/font-arcittya-begatri-uhI9BGsM.otf);font-display:swap}@font-face{font-family:InvitationAccent;src:url(/assets/font-hastegi-D3RGsN2g.otf);font-display:swap}@font-face{font-family:InvitationButton;src:url(/assets/font-lora-semibold-wPouLiki.ttf);font-display:swap}@font-face{font-family:AlbumOf;src:url(/assets/font-high-spirited-t44Wsqba.otf);font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--olive:#928362;--sage:#a29578;--paper:#f5ecd2;--ink:#463d30}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:0;color:var(--ink);background-color:#211e18;min-height:100vh;margin:0;font:14px/1.6 Open Sans,-apple-system,BlinkMacSystemFont,sans-serif;position:relative}@media (width>=640px){body:before{content:"";filter:blur(40px)brightness(.42);z-index:-1;pointer-events:none;background:url(/assets/KOC09627-DW6tQ8wM.webp) 50%/cover no-repeat;position:fixed;inset:-30px;transform:scale(1.05)}.invitation-shell{border-radius:20px;overflow:hidden;margin:2.5rem auto!important;box-shadow:0 25px 65px #00000080,0 0 50px #f5ecd224!important}}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}:focus-visible{outline-offset:4px;outline:3px solid #536853}.invitation-shell{background:var(--paper);width:100%;max-width:440px;margin:0 auto;position:relative;overflow-x:hidden;box-shadow:0 12px 48px #00000073}.container{width:100%;margin-inline:auto;padding-inline:1.25rem}.eyebrow{text-transform:uppercase;font-family:LoraLocal,Georgia,serif;font-size:.8rem}.script{font-family:HoaTay,cursive;font-weight:400;line-height:1.3}.photo-section{color:#fff;background-position:50%;background-size:cover}.photo-section:not(.cover){isolation:isolate;background-color:#25251f;position:relative;overflow:hidden}.section-photo{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.photo-section:not(.cover):before{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.thanks:before{background:linear-gradient(#00000024,#000000a3)}.cover{text-align:center;background-position:top;background-size:cover;justify-content:center;align-items:flex-end;height:min(100svh,690px);min-height:580px;padding-bottom:2.5rem;display:flex;position:relative}.cover-overlay{pointer-events:none;background:linear-gradient(#02020200 0%,#020202b8 100%);position:absolute;inset:38% 0 0}.cover-copy{z-index:1;color:#fff;padding:0 1rem;position:relative}.cover-names{text-shadow:0 2px 10px #00000059;margin:0 0 .2rem;font:400 44px/1.4 HoaTay,cursive}.cover-eyebrow{text-transform:uppercase;letter-spacing:1.5px;margin:.2rem 0;font:400 11.5px/1.3 LoraLocal,Georgia,serif}.cover-date{letter-spacing:1px;margin:.2rem 0 0;font:400 26px/1.3 LoraLocal,Georgia,serif}.paper-section{background:#fcfbf7}.countdown-section{justify-content:center;width:100%;display:flex;position:relative;overflow:hidden;container-type:inline-size}.countdown-container{aspect-ratio:420/706.7;background:#fcfbf7 url(/assets/bg-invitation-sheet-COiGNzPY.png) top/100% 100% no-repeat;width:100%;max-width:420px;margin:0 auto;position:relative}.countdown-bg-bottom{pointer-events:none;z-index:0;width:100%;height:23.52%;position:absolute;top:76.48%;left:0;overflow:hidden}.countdown-bg-bottom:before{content:"";background:url(/assets/ornament-paper-torn-1X_aQp0X.png) top/100% no-repeat;width:100%;height:231.18%;position:absolute;top:0;left:0;transform:perspective(1000px)rotateX(180deg)rotateY(180deg)}.envelope-back{pointer-events:none;z-index:1;background:url(/assets/bg-invitation-mat-DNdOE_H_.png) 50%/100% 100% no-repeat;width:75.56%;height:49.04%;position:absolute;top:27.44%;left:12.22%}.opening-card{text-align:center;width:62.13%;height:47.26%;color:var(--olive);box-sizing:border-box;z-index:2;background:url(/assets/bg-invitation-card-Cdwt3ows.png) 50%/100% 100% no-repeat;flex-direction:column;align-items:center;padding:11.38% 4% 0;display:flex;position:absolute;top:16.1%;left:19.13%}.card-eyebrow{color:var(--olive);text-transform:uppercase;letter-spacing:1px;margin:0;font:400 clamp(9.5px,2.62cqw,11px)/1.35 LoraLocal,Georgia,serif}.card-couple{flex-direction:column;justify-content:center;align-items:center;margin:.15rem 0 0;display:flex}.card-name{color:var(--olive);font:400 clamp(30px,9.05cqw,38px)/1.15 HoaTay,cursive}.opening-amp{color:var(--olive);margin:-.1rem 0;font:400 clamp(28px,8.5cqw,36px)/.85 InvitationAmp,cursive}.card-happening{color:var(--olive);text-transform:uppercase;letter-spacing:1px;margin:.35rem 0 .15rem;font:400 clamp(9.5px,2.62cqw,11px)/1.35 LoraLocal,Georgia,serif}.countdown-display{justify-content:center;align-items:center;gap:3px;width:100%;margin-top:.15rem;display:flex}.countdown-unit{flex-direction:column;align-items:center;min-width:clamp(34px,10cqw,44px);display:flex}.countdown-unit strong{color:var(--olive);letter-spacing:1px;font:400 clamp(19px,5.71cqw,24px)/1.2 Editorial,Georgia,serif}.countdown-unit span{color:var(--olive);margin-top:1px;font:400 clamp(9.5px,2.62cqw,11px)/1.3 LoraLocal,Georgia,serif}.countdown-colon{color:var(--olive);margin-bottom:12px;font:700 clamp(14px,4.05cqw,17px)/1.5 Editorial,Georgia,serif}.envelope-front{pointer-events:none;z-index:3;background:url(/assets/bg-invitation-pocket-C6O43A2i.png) 50%/100% 100% no-repeat;width:76.63%;height:28.75%;position:absolute;top:48.22%;left:12.46%}.envelope-wax-seal{pointer-events:none;z-index:4;filter:drop-shadow(0 2px 5px #00000038);background:url(/assets/ornament-leaf-seal-B-AZk79t.png) 50%/contain no-repeat;width:13.96%;height:8.35%;position:absolute;top:57.14%;left:43.79%}.opening-flower-top{pointer-events:none;z-index:3;background:url(/assets/ornament-wax-stamp-p65njeMl.png) 50%/contain no-repeat;width:17.22%;height:9.17%;position:absolute;top:13.7%;left:67.82%}.opening-photo-frame{z-index:5;filter:drop-shadow(0 4px 10px #00000029);background:url(/assets/ornament-wax-seal-BWAmoxWk.png) 50%/100% 100% no-repeat;width:27.36%;height:18.73%;position:absolute;top:21.17%;left:69.76%}.polaroid-photo-wrapper{width:72.78%;height:79.62%;position:absolute;top:9.12%;left:14.11%;overflow:hidden;transform:rotate(10deg)}.polaroid-photo-wrapper img{object-fit:cover;width:100%;height:100%;display:block}.opening-floral{pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:contain;display:block;position:absolute}.opening-floral-right{z-index:4;background-image:url(/assets/ribbon-invitation-left-BWAEZ91G.png);width:15.77%;height:51.38%;top:34.99%;left:76.43%}.opening-floral-left{z-index:5;background-image:url(/assets/ribbon-invitation-right-u5QsHaGt.png);width:23.86%;height:39.51%;top:59.4%;left:2.86%}.moment{text-align:center;justify-content:center;align-items:flex-start;height:330px;min-height:330px;padding-top:1.5rem;display:flex;position:relative;overflow:hidden}.moment:before{content:"";pointer-events:none;background:linear-gradient(#000c 0%,#0000 100%);height:140px;position:absolute;inset:0 0 auto}.moment-copy{z-index:1;color:#fff;position:relative}.moment-script{margin:0;font:400 26px/1.5 Beyond,cursive}.moment-sub{text-transform:uppercase;letter-spacing:.5px;margin:.3rem 0 0;font:400 14px/1.4 LoraLocal,Georgia,serif}.invitation{background-color:var(--paper);color:var(--olive);text-align:center;background-image:url(/assets/bg-invitation-paper-BhDD8-K6.png);background-position:top;background-repeat:repeat-y;background-size:100%;position:relative;overflow:hidden}.invitation:before{content:"";pointer-events:none;z-index:0;background:url(/assets/bg-intro-leaf-top-fibY0baZ.png) top/100% no-repeat;height:310px;position:absolute;top:0;left:0;right:0}.invitation:after{content:"";pointer-events:none;z-index:0;background:url(/assets/bg-intro-leaf-bottom-DSw-zyqA.png) bottom/100% no-repeat;height:380px;position:absolute;bottom:0;left:0;right:0}.invitation-inner{z-index:1;padding:3.5rem 1rem 4.5rem;position:relative}.families-row{text-align:center;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:2rem;display:grid}.family-title{text-transform:uppercase;color:var(--olive);margin:0 0 .3rem;font:700 14px/1.6 LoraLocal,Georgia,serif}.family-names{color:var(--olive);margin:0;font:400 13px/1.5 LoraLocal,Georgia,serif}.invite-lead{text-transform:uppercase;color:var(--olive);margin:1.5rem 0 1rem;font:400 16px/1.5 LoraLocal,Georgia,serif}.couple-lockup{margin:1.25rem auto 1.75rem}.couple-names{flex-direction:column;justify-content:center;align-items:center;margin:0;display:flex}.couple-names .couple-name{color:var(--olive);white-space:nowrap;font:400 clamp(48px,14vw,62px)/1.15 HoaTay,cursive}.couple-names .amp{color:var(--olive);margin:-8px 0 -6px;font:400 clamp(42px,12vw,52px)/1 InvitationAmp,cursive}.schedule-block{margin:2rem 0}.time-highlight{text-transform:uppercase;color:var(--olive);margin:0 0 .8rem;font:400 19px/1.5 LoraLocal,Georgia,serif}.date-badge-3part{justify-content:center;align-items:center;gap:10px;margin:.5rem auto;display:flex}.date-wing{flex-direction:column;align-items:center;gap:4px;display:flex}.wing-line{background:var(--olive);width:80px;height:1px;display:block}.wing-text{text-transform:uppercase;color:var(--olive);font:400 17px/1.3 LoraLocal,Georgia,serif}.date-main-number{color:var(--olive);letter-spacing:1px;margin:0 4px;font:400 78px/1 InvitationAccent,Georgia,serif}.lunar-note{color:var(--olive);margin:.8rem 0 0;font:italic 400 14px/1.5 LoraLocal,Georgia,serif}.venue-block{margin-top:2.25rem}.venue-intro{color:var(--olive);margin:0 0 .5rem;font:400 17px/1.6 LoraLocal,Georgia,serif}.venue-hotel-label{text-transform:uppercase;color:var(--olive);letter-spacing:.8px;margin:0 0 1rem;font:400 18px/1.4 LoraLocal,Georgia,serif}.venue-name{color:var(--olive);margin:0 0 1rem;font:400 32px/1.3 Beyond,cursive}.venue-party-label{text-transform:uppercase;color:var(--olive);letter-spacing:.8px;margin:0 0 .85rem;font:700 18px/1.4 LoraLocal,Georgia,serif}.venue-address{color:var(--olive);margin:0 0 1.5rem;font:400 16px/1.5 LoraLocal,Georgia,serif}.direction-link{color:var(--olive);letter-spacing:.5px;align-items:center;gap:6px;padding:.4rem 1rem;font:400 17px/1.3 LoraLocal,Georgia,serif;text-decoration:none;animation:2.5s ease-in-out infinite pulse;display:inline-flex}.direction-link .pin-icon{width:22px;height:22px}.timeline{justify-content:center;align-items:center;min-height:640px;padding:3rem 1rem 3.5rem;display:flex;position:relative;overflow:hidden}.timeline:before{content:"";z-index:-1;background:linear-gradient(#0000001f 0%,#00000005 40%,#0000002e 100%);position:absolute;inset:0}.timeline-inner{z-index:1;color:#fff;flex-direction:column;width:100%;max-width:420px;display:flex;position:relative}.timeline-headline-top{justify-content:flex-start;align-items:center;gap:12px;margin-bottom:2.2rem;margin-left:.5rem;display:flex}.timeline-headline-top .line,.timeline-headline-bottom .line{background:#fff;width:48px;height:1px;display:block}.timeline-title,.timeline-script{color:#fff;text-shadow:0 2px 8px #00000073;margin:0;font:400 34px/1.3 Beyond,cursive}.timeline-track{text-align:left;flex-direction:column;gap:2.2rem;width:220px;margin:0 .5rem 2.2rem auto;display:flex;position:relative}.timeline-track:before{content:"";background:#ffffffb3;width:1.5px;position:absolute;top:1.2rem;bottom:1.2rem;left:23px}.timeline-entry{align-items:center;gap:1.2rem;display:flex;position:relative}.timeline-entry:after{content:"";z-index:2;background:#fff;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:21px;transform:translateY(-50%);box-shadow:0 0 6px #fffc}.timeline-footer-block{flex-direction:column;align-items:flex-end;margin-top:1.5rem;margin-right:.5rem;display:flex}.timeline-headline-bottom{justify-content:flex-end;align-items:center;gap:12px;margin-bottom:.8rem;display:flex}.dresscode-palette{justify-content:flex-end;gap:8px;padding-right:1.5rem;display:flex}.dresscode-swatch{border:1.5px solid #fff9;border-radius:50%;width:24px;height:24px;display:inline-block;box-shadow:0 2px 8px #0000004d}.swatch-black{background-color:#000}.swatch-white{background-color:#fff}.swatch-cream{background-color:#f7ecd9}.swatch-peach{background-color:#edd1be}.swatch-brown{background-color:#8a654a}.timeline-icon{z-index:1;filter:drop-shadow(0 2px 6px #00000080);background-position:50%;background-repeat:no-repeat;background-size:contain;flex-shrink:0;width:48px;height:48px;position:relative}.icon-vows{background-image:url(/assets/icon-timeline-vows-zCifD-TD.png)}.icon-party{background-image:url(/assets/icon-timeline-party-C4TsCEwH.png)}.icon-date{background-image:url(/assets/icon-timeline-date-BIGxqXjo.png)}.timeline-info{flex-direction:column;display:flex}.timeline-info strong{color:#fff;text-shadow:0 2px 6px #0009;font:700 17px/1.3 LoraLocal,Georgia,serif}.timeline-info span{letter-spacing:.8px;color:#f5ecd2;text-shadow:0 2px 6px #0009;font:600 13px/1.3 LoraLocal,Georgia,serif}.ceremony{text-align:center;color:var(--olive);background-image:url(/assets/bg-ceremony-paper-center-rNSQjHrI.png),url(/assets/bg-ceremony-paper-bottom-C0K6ktfh.png),url(/assets/bg-ceremony-paper-top-BH4nAhSO.png);background-position:50% 30%,bottom,top;background-repeat:no-repeat,no-repeat,repeat-y;background-size:100%,100%,100%}.ceremony-inner{padding:3rem 1.25rem 4rem}.story{max-width:380px;margin:0 auto;position:relative}.story p{letter-spacing:.5px;text-align:justify;margin:0 auto;font-family:LoraLocal,Georgia,serif;font-size:12px;line-height:1.8}.story-first{padding-top:0}.story-last{padding-bottom:70px}.story-last:after{content:"";background:url(/assets/ornament-story-divider-BVcGIqVB.png) 50%/contain no-repeat;width:min(100%,380px);height:60px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.portrait-stage{flex-direction:column;gap:2rem;width:100%;max-width:400px;margin:1.5rem auto 3rem;padding:0 .5rem;display:flex;position:relative}.portrait-row{grid-template-columns:1fr 1fr;align-items:center;gap:14px;display:grid}.ceremony-logo-wrapper{justify-content:center;margin-bottom:1.5rem;display:flex}.ceremony-logo{filter:drop-shadow(0 4px 10px #00000014);width:140px;max-width:100%;height:auto}.portrait-photo-card{box-sizing:border-box;background:#fff;border-radius:3px;justify-self:center;width:100%;max-width:165px;padding:8px 8px 24px;transition:transform .4s,box-shadow .3s;box-shadow:0 10px 24px #1f212429}.portrait-photo-card img{aspect-ratio:1/1.05;object-fit:cover;border-radius:2px;width:100%;display:block}.portrait-bride{transform:rotate(-8deg)}.portrait-groom{transform:rotate(8deg)}.portrait-caption{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:.5rem;display:flex}.caption-role{color:var(--olive);margin:0 0 2px;font-family:InvitationAmp,cursive;font-size:34px;line-height:1.2}.caption-name{text-transform:uppercase;letter-spacing:.5px;color:var(--olive);margin:0;font-family:LoraLocal,Georgia,serif;font-size:20px;font-weight:400;line-height:1.3}.calendar{width:min(100%,380px);margin:2.5rem auto 3rem}.calendar-month{color:var(--olive);margin-bottom:1.25rem;font:400 2.2rem/1.3 Beyond,cursive}.calendar-grid{grid-template-columns:repeat(7,1fr);align-items:center;gap:6px 2px;font-family:Open Sans,sans-serif;font-size:13px;display:grid}.calendar-grid .weekday{text-transform:uppercase;color:var(--olive);letter-spacing:.5px;font-size:11px;font-weight:600}.calendar-grid span{aspect-ratio:1;place-items:center;display:grid;position:relative}.calendar-grid .wedding-day{color:var(--olive);font-weight:700}.calendar-heart{pointer-events:none;width:36px;height:30px;animation:1.6s ease-in-out infinite pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.home-ceremony{padding-top:1rem}.home-intro{color:var(--olive);margin-bottom:1.25rem;font-family:LoraLocal,Georgia,serif;font-size:14px;line-height:1.7}.home-time{text-transform:uppercase;letter-spacing:1px;color:var(--olive);margin-bottom:.75rem;font-family:LoraLocal,Georgia,serif;font-size:18px;font-weight:700}.home-lunar{color:var(--olive);margin-top:.75rem;font-family:LoraLocal,Georgia,serif;font-size:13px;font-style:italic}.album-section{background:var(--sage);color:#fff;text-align:center;overflow:clip}.album-inner{padding:3.5rem 1.25rem 4.5rem}.album-intro{letter-spacing:1px;text-align:justify;max-width:380px;margin:0 auto 1.5rem;font-family:LoraLocal,Georgia,serif;font-size:11px;line-height:1.7}.album-heading{text-transform:uppercase;letter-spacing:1.5px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;margin:0 0 2rem;font:400 24px/1.2 LoraLocal,Georgia,serif;display:flex}.album-heading em{text-transform:none;font:1.8em/.8 AlbumOf,cursive}.collage{flex-direction:column;gap:6px;width:100%;max-width:380px;margin-inline:auto;display:flex}.collage-photo{cursor:pointer;background:0 0;border:0;min-width:0;padding:0;overflow:hidden;box-shadow:0 13px 20px -17px #1f2124b3}.collage>.collage-photo:first-child{aspect-ratio:379/261;width:100%}.collage-asymmetric-row{grid-template-columns:229fr 144fr;gap:6px;width:100%;display:grid}.collage-asymmetric-row>.collage-photo{aspect-ratio:229/389;width:100%}.collage-stacked-col{flex-direction:column;gap:5px;width:100%;display:flex}.collage-stacked-col>.collage-photo{aspect-ratio:144/192;width:100%}.collage-pair-row{grid-template-columns:1fr 1fr;gap:6px;width:100%;display:grid}.collage-pair-row>.collage-photo{aspect-ratio:187/300;width:100%}.collage-photo img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.collage-photo:hover img{transform:scale(1.035)}.album-open-wrapper{flex-direction:column;align-items:center;margin-top:2.5rem;display:inline-flex}.album-accent-line{border-top:2px solid #fff;border-bottom:2px solid #fff;border-right:2px solid #fff;width:57px;height:6px;margin-bottom:4px;display:block}.album-open{color:#fff;text-transform:uppercase;letter-spacing:1.5px;cursor:pointer;background:0 0;border:0;padding:.2rem 1rem;font:400 23px/1.6 Editorial,Georgia,serif;transition:opacity .2s}.album-open:hover{opacity:.85}.gallery-dialog{color:#fff;background:#22221d;border:0;width:min(96vw,1100px);max-height:96dvh;margin:auto;padding:1rem}.gallery-dialog::backdrop{background:#000000d9}.gallery-content{position:relative}.gallery-close{z-index:1;position:absolute;top:0;right:0}.gallery-stage{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:.25rem;min-height:140px;display:grid}.gallery-stage img{object-fit:contain;max-width:100%;max-height:65dvh;margin:auto;display:block}.icon-button{color:#fff;cursor:pointer;background:#00000080;border:0;border-radius:50%;place-items:center;width:44px;height:44px;transition:background .2s;display:grid}.icon-button:hover{background:#000c}.gallery-counter{text-align:center;margin:.5rem;font-size:14px}.gallery-thumbs{gap:.3rem;padding-block:.4rem;display:flex;overflow-x:auto}.gallery-thumb{cursor:pointer;background:0 0;border:2px solid #0000;flex:0 0 56px;height:56px;padding:0}.gallery-thumb[aria-current=true]{border-color:#fff}.gallery-thumb img{object-fit:cover;width:100%;height:100%}.rsvp{color:var(--olive);background-image:url(/assets/bg-rsvp-DgofarPG.png);background-position:top;background-size:cover}.rsvp-inner{text-align:center;padding:3.5rem 1.25rem 4rem}.rsvp-title{max-width:380px;color:var(--olive);margin:0 auto 2rem;font-family:LoraLocal,Georgia,serif;font-size:13px;font-weight:400;line-height:1.7}.rsvp-card{max-width:380px;margin:0 auto}.rsvp form{flex-direction:column;gap:.65rem;display:flex}.rsvp .form-group{width:100%}.rsvp-submit-btn,.gift-trigger-btn{background:var(--sage);color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border-radius:23px;min-height:46px;font-family:InvitationButton,Georgia,serif;font-size:14px;font-weight:600;transition:transform .18s,background .18s;box-shadow:0 4px 12px #7a896659}.rsvp-submit-btn{border:none;width:100%;margin-top:.5rem}.gift-trigger-btn{border:1px solid var(--sage);width:min(100%,380px);margin-top:2rem}.rsvp-submit-btn:hover,.gift-trigger-btn:hover{background:#6a7c57;transform:translateY(-1px)}.popup-card-dialog{background:#fff url(/assets/bg-popup-thankyou-CZ6oZw_6.png) top/100% no-repeat}.popup-thankyou-content{text-align:center;flex-direction:column;align-items:center;padding:3rem 1.5rem 2rem;display:flex;position:relative}.popup-close-btn{z-index:10;position:absolute;top:12px;right:12px}.thankyou-photo-frame{background:#f0f0ec;border:3px solid #fff;border-radius:8px;width:140px;height:140px;margin:0 auto 1.25rem;position:relative;overflow:hidden;transform:rotate(-2deg);box-shadow:0 8px 24px #00000029}.thankyou-photo{object-fit:cover;width:100%;height:100%;display:block}.thankyou-title{color:var(--olive);margin:.25rem 0 .5rem;font-family:Beyond,cursive;font-size:2.2rem}.thankyou-text{color:var(--olive);max-width:280px;margin:0 auto 1rem;font-family:LoraLocal,Georgia,serif;font-size:13px;line-height:1.7}.thankyou-date{color:var(--olive);letter-spacing:2px;font-family:Editorial,Georgia,serif;font-size:28px;font-weight:700;line-height:1.1}.gift-dialog{color:var(--olive);background:#fff url(/assets/bg-popup-gift-DL1_1tdi.png) 50%/cover no-repeat}.gift-modal-card{flex-direction:column;display:flex;position:relative}.gift-photo{aspect-ratio:380/220;width:100%;overflow:hidden}.gift-photo img{object-fit:cover;width:100%;height:100%;display:block}.gift-body{grid-template-columns:110px 1fr;align-items:center;gap:12px;padding:1.5rem 1.25rem 2rem;display:grid}.gift-qr-col{justify-content:center;display:flex}.qr-placeholder{width:105px;height:105px;color:var(--olive);background:#fffc;border:2px dashed #92836299;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;font-family:Open Sans,sans-serif;font-size:13px;font-weight:600;display:flex}.qr-placeholder small{color:#888;margin-top:2px;font-size:10px}.gift-info-col{text-align:left;flex-direction:column;display:flex}.gift-role{color:var(--olive);margin-bottom:2px;font-family:HoaTay,cursive;font-size:1.8rem;line-height:1}.gift-groom-name{text-transform:uppercase;letter-spacing:.5px;color:var(--olive);margin:0 0 6px;font-family:LoraLocal,Georgia,serif;font-size:14px;font-weight:700}.gift-divider{background:#92836259;width:100%;height:1px;margin-bottom:8px;display:block}.gift-status-text{color:#777;margin:0;font-family:LoraLocal,Georgia,serif;font-size:12px;font-style:italic}.thanks{text-align:center;background:#111;justify-content:center;align-items:center;height:clamp(340px,85vw,380px);min-height:340px;max-height:380px;display:flex;position:relative;overflow:hidden}.thanks .section-photo{object-fit:cover;object-position:center top;width:100%;height:100%;position:absolute;inset:0}.closing-overlay{z-index:1;background:linear-gradient(#0202024d 0%,#000000a6 100%);position:absolute;inset:0}.closing-inner{z-index:2;max-width:380px;margin:0 auto;padding:2rem 1.25rem;position:relative}.closing-message{color:#fff;text-align:center;letter-spacing:.3px;margin:0 0 1rem;font-family:LoraLocal,Georgia,serif;font-size:12.7px;line-height:1.6}.closing-thankyou{color:#fff;text-align:center;margin:0;font-family:Beyond,cursive;font-size:22px;line-height:1.6}#music-toggle{z-index:99999;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .18s,box-shadow .18s;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 6px 20px #0000001f}#music-toggle:hover{transform:translateY(-2px);box-shadow:0 10px 24px #00000029}#music-toggle.playing{background:linear-gradient(135deg,#fff3e0f2,#fffaf0f2)}#music-toggle.playing:after{content:"";z-index:-1;opacity:.14;background:radial-gradient(circle,#ffc86459,#0000 40%);border-radius:50%;width:72px;height:72px;animation:1.6s infinite music-pulse;position:absolute;bottom:-8px;right:-8px}@keyframes music-pulse{0%{opacity:.18;transform:scale(.85)}70%{opacity:0;transform:scale(1.25)}to{opacity:0;transform:scale(1.4)}}.speaker-icon{width:28px;height:28px}.select-trigger{width:100%;min-height:42px;color:var(--ink);cursor:pointer;background:#ffffffd9;border:1px solid #92836273;border-radius:19px;outline:none;justify-content:space-between;align-items:center;padding:.65rem 1.2rem;font-family:Open Sans,sans-serif;font-size:13px;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:inset 0 1px 3px #0000000a}.select-trigger:focus,.select-trigger[data-popup-open]{border-color:var(--olive);box-shadow:0 0 0 2px #92836233}.select-trigger:disabled{opacity:.55;cursor:default}.select-chevron{color:var(--olive);align-items:center;margin-left:8px;display:flex}.select-positioner{z-index:100000}.select-popup{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border:1px solid #9283624d;border-radius:16px;min-width:240px;max-height:280px;padding:6px;overflow-y:auto;box-shadow:0 12px 32px #00000029}.select-list{flex-direction:column;gap:2px;display:flex}.select-item{color:var(--ink);cursor:pointer;border-radius:10px;outline:none;justify-content:space-between;align-items:center;padding:8px 12px;font-family:Open Sans,sans-serif;font-size:13px;transition:background .15s,color .15s;display:flex}.select-item:hover,.select-item[data-highlighted]{color:var(--olive);background:#a2957826}.select-item-indicator{color:var(--olive);align-items:center;display:flex}dialog.dialog-popup::backdrop{-webkit-backdrop-filter:blur(4px);z-index:100000;background:#000000a6;animation:.2s dialog-fade-in;position:fixed;inset:0}dialog.dialog-popup,.dialog-popup{z-index:100001;pointer-events:auto;border:none;border-radius:16px;outline:none;width:min(92vw,380px);max-height:90svh;margin:auto;padding:0;position:fixed;inset:0;overflow:hidden;box-shadow:0 16px 48px #00000059}dialog.dialog-popup[open]{animation:.2s cubic-bezier(.16,1,.3,1) dialog-scale-in}.dialog-close-btn{color:#fff;cursor:pointer;z-index:10;background:#00000073;border:none;border-radius:50%;place-items:center;width:36px;height:36px;transition:background .15s;display:grid;position:absolute;top:12px;right:12px}.dialog-close-btn:hover{background:#000000b3}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.wedding-input,.wedding-textarea,.rsvp input,.rsvp textarea{width:100%;min-height:42px;color:var(--ink);background:#ffffffd9;border:1px solid #92836273;border-radius:19px;outline:none;padding:.65rem 1.2rem;font-family:Open Sans,sans-serif;font-size:13px;transition:border-color .2s,box-shadow .2s;box-shadow:inset 0 1px 3px #0000000a}.wedding-input:focus,.wedding-textarea:focus,.rsvp input:focus,.rsvp textarea:focus{border-color:var(--olive);box-shadow:0 0 0 2px #92836233}.wedding-textarea,.rsvp textarea{resize:vertical;min-height:85px}@media (width<=359px){.album-heading{font-size:1.2rem}}@media (prefers-reduced-motion:no-preference){.motion-ready [data-reveal]{opacity:0;transition:opacity .8s,transform 1s;transform:translateY(20px)}.motion-ready [data-reveal=left]{transform:translate(-25px)}.motion-ready [data-reveal=right]{transform:translate(25px)}.motion-ready [data-reveal=flip]{transform:perspective(500px)rotateY(85deg)}.motion-ready [data-reveal=tilt]{transform:translateY(20px)rotate(-8deg)}.motion-ready [data-reveal].is-visible{opacity:1;transform:none}.motion-ready [data-reveal=tilt].is-visible{transform:rotate(8deg)}.motion-ready .portrait-bride.is-visible{opacity:1;transform:rotate(-8deg)}.motion-ready .portrait-groom.is-visible{opacity:1;transform:rotate(8deg)}.motion-ready .timeline-entry:nth-child(2),.motion-ready .collage-photo:nth-child(2n){transition-delay:.15s}.motion-ready .timeline-entry:nth-child(3),.motion-ready .collage-photo:nth-child(2n+3){transition-delay:.3s}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.hologram-loader{z-index:10000;color:#d8c3a4;background:radial-gradient(at 50% 62%,#78583433,#0000 45%),radial-gradient(at 50% 47%,#241d17 0%,#17130f 55%,#0e0b09 100%);place-content:center;justify-items:center;gap:30px;font-family:LoraLocal,Georgia,serif;transition:opacity .6s .4s;display:grid;position:fixed;inset:0}.hologram-loader.is-leaving{opacity:0;pointer-events:none}.hologram-skip{z-index:11000;top:max(25px, calc(env(safe-area-inset-top) + 18px));right:max(30px, calc(env(safe-area-inset-right) + 25px));color:#e5d7c1;letter-spacing:.08em;cursor:pointer;background:#0c171da6;border:1px solid #dabf9966;border-radius:999px;padding:8px 13px;font-family:Arial,Helvetica,sans-serif;font-size:11px;position:fixed}.hologram-skip:focus-visible{outline-offset:5px;outline:2px solid #d8bd88}@media (width<=600px){.hologram-skip{top:auto;bottom:max(17px, calc(env(safe-area-inset-bottom) + 11px));right:23px}}.hologram-loader-monogram{aspect-ratio:1;outline-offset:7px;color:#ecd6a4;text-shadow:0 0 22px #d5b07773;border:1px solid #be9e6d8c;border-radius:50%;outline:1px solid #be9e6d38;justify-content:center;align-items:center;gap:.16em;width:clamp(112px,30vw,148px);font-size:clamp(34px,9vw,46px);transition:opacity .45s ease-out;display:flex;box-shadow:0 0 34px #be9e6d1f,inset 0 0 22px #be9e6d14}.hologram-loader-monogram i{color:#b99a63;font-size:.55em}.hologram-loader-track{background:#d8c3a42e;width:min(62vw,240px);height:1px;position:relative;overflow:hidden}.hologram-loader-fill{transform-origin:0;background:linear-gradient(90deg,#d8bd8859,#f1dfb2);transition:transform .45s ease-out;position:absolute;inset:0}.hologram-loader-track:after{content:"";background:linear-gradient(90deg,#0000,#fff4d6bf,#0000);width:40%;animation:1.8s ease-in-out infinite hologram-loader-shimmer;position:absolute;inset:0}.hologram-loader-label{color:#c3b4a0;letter-spacing:.24em;text-transform:uppercase;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:10px}.hologram-loader-label span{color:#e6cf9f;font-variant-numeric:tabular-nums;text-align:left;min-width:4ch;margin-left:6px;display:inline-block}@keyframes hologram-loader-shimmer{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.hologram-loader,.hologram-loader-monogram,.hologram-loader-fill{transition:none}.hologram-loader-track:after{animation:none;display:none}}
