@font-face{font-family:Amiri;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/amiri-normal-arabic.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF?,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Amiri;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/amiri-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Amiri;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/amiri-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/great-vibes-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Pinyon Script;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/pinyon-script-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ivory:#f7efeb;--paper:#f1e6e2;--emerald:#501f2f;--deep:#431222;--sage:#a56877;--gold:#9a7b42;--light-gold:#d5be85;--ink:#4f2d38;--muted:#82535f;--line:#d9d2bf;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background:#ebdce1;margin:0;font-size:16px;line-height:1.7}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.65}a{color:inherit;text-decoration:none}button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}input:focus-visible{outline:2px solid var(--gold);outline-offset:5px}select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}textarea:focus-visible{outline:2px solid var(--gold);outline-offset:5px}[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.1}h2{letter-spacing:-1.1px;font-size:40px}h2 em{font-weight:400}h3{font-size:28px}svg{flex-shrink:0}::selection{color:var(--deep);background:#d9d5bf}.ambient-background{z-index:-2;background:radial-gradient(at 12% 10%,#f1e6ea 0,#0000 45%),radial-gradient(at 88% 88%,#bf8d9e 0,#0000 55%),linear-gradient(120deg,#e8d5db,#dec5cd 60%,#e9e2df);position:fixed;inset:0}.ambient-background:after{content:"";opacity:.08;filter:blur(26px);background:url(/images/flowers.webp) 50%/cover;position:absolute;inset:0}.desktop-note{color:#713f50;text-align:center;flex-direction:column;align-items:center;width:200px;display:flex;position:fixed;top:40%;left:calc(50% - 475px)}.desktop-monogram{font:70px var(--serif);letter-spacing:-7px;margin-bottom:24px}.desktop-monogram span{color:var(--gold);margin:0 5px;font-size:37px;font-style:italic}.desktop-note>span:not(.desktop-monogram){letter-spacing:2px;font-size:10px}.desktop-note i{font:22px var(--serif);margin-top:8px}.desktop-note small{letter-spacing:2px;font-size:9px}.fine-line{background:#bc899a;width:40px;height:1px;margin:25px auto}.invitation{background:var(--ivory);visibility:hidden;max-width:430px;margin:auto;padding-bottom:75px;position:relative;overflow:hidden;box-shadow:0 0 100px #431e2a20}.invitation.is-open{visibility:visible}.invitation:after,.splash:after{content:"";pointer-events:none;z-index:10;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.65' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.section{text-align:center;padding:64px 32px;position:relative}.section p{line-height:1.85}.section-heading{margin-bottom:30px}.section-heading h2{margin:12px 0 16px}.section-heading>p:last-child:not(.eyebrow){color:var(--muted);font-size:16px}.eyebrow{letter-spacing:2.4px;color:var(--gold);font-size:10px;font-weight:500;line-height:1.8!important}.ornament{color:var(--gold);justify-content:center;align-items:center;gap:10px;width:170px;margin:28px auto;display:flex}.ornament>span{background:linear-gradient(90deg,#0000,#b6a472);width:40px;height:1px}.ornament>span:last-child{transform:rotate(180deg)}.botanical{pointer-events:none}.button{letter-spacing:.15px;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:12px;min-height:54px;padding:13px 18px;font-size:14px;font-weight:500;transition:background .2s,transform .2s;display:flex}.button:active{transform:scale(.98)}.primary{background:var(--emerald);color:#fff4f0;box-shadow:0 4px 10px #4a1d2b0b}.primary:hover{background:var(--deep)}.secondary{color:var(--emerald);background:0 0;border-color:#c79baa}.secondary:hover{background:#e9d8de}.button-row{gap:10px;display:flex}.button-row .button{flex:1;gap:7px;padding:12px 10px;font-size:13px}.icon-button{border:1px solid var(--line);background:0 0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.text-button{color:var(--emerald);background:0 0;border:0;align-items:center;gap:7px;min-height:44px;font-size:14px;display:inline-flex}.section-icon{color:var(--gold);justify-content:center;margin-bottom:20px;display:flex}.splash{z-index:50;background:var(--ivory);width:min(100%,430px);transition:opacity .5s 1.05s;position:fixed;inset:0 0 0 50%;overflow:auto;transform:translate(-50%);box-shadow:0 0 100px #431e2a20}.splash-inner{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:38px 25px 25px;display:flex;position:relative;overflow:hidden}.splash-top{align-items:center;gap:13px;margin-bottom:30px;display:flex}.splash-top .eyebrow{letter-spacing:2px;font-size:9px}.tiny-star{color:var(--gold);font-size:11px}.splash h1{letter-spacing:-1.5px;z-index:2;font-size:55px;line-height:.97;position:relative}.splash h1 em{color:var(--gold);font-weight:400}.opening{opacity:0;pointer-events:none}.recipient{z-index:5;max-width:100%;margin-bottom:24px;position:relative}.recipient>p{color:var(--muted);margin-bottom:6px;font-size:12px}.recipient h2{letter-spacing:-.5px;overflow-wrap:anywhere;margin-bottom:12px;font-size:28px;line-height:1.15}.recipient>span{color:var(--muted);font-size:12px}.open-button{background:var(--emerald);z-index:11;gap:20px;min-width:257px;position:relative}.splash-foot{color:#97616f;align-items:center;gap:6px;margin-top:17px;font-size:10px;display:flex}.cover{min-height:810px;text-align:center;isolation:isolate;background:radial-gradient(at 50% 38%,#fff8f5 0,#0000 65%);flex-direction:column;justify-content:center;align-items:center;min-height:max(780px,100svh);padding:63px 32px 90px;display:flex;position:relative}.cover:focus{outline:none}.cover-border{z-index:-1;border:1px solid #bba7777a;border-radius:210px 210px 6px 6px;position:absolute;inset:28px 22px 33px}.cover-border:after{content:"";border:1px solid #bba77750;border-radius:200px 200px 3px 3px;position:absolute;inset:7px}.cover-floral{z-index:-1;opacity:.9;transform-origin:bottom;width:250px;animation:12s ease-in-out infinite alternate botanicalSway;position:absolute}.cover-floral.top{top:-115px;right:-94px;rotate:175deg}.cover-floral.bottom{bottom:-70px;left:-93px;rotate:8deg}.cover-label{letter-spacing:2.2px;max-width:210px;font-size:8px;position:absolute;top:86px}.cover-content{z-index:1;width:100%;padding-top:12px;position:relative}.cover-kicker{font:italic 28px var(--serif);color:#744253}.cover h1{letter-spacing:-3px;flex-direction:column;margin:32px -20px 0;font-size:73px;line-height:.95;display:flex}.cover h1>span{color:#0000;background:linear-gradient(105deg,#967139 10%,#b1904d 33%,#dcc38e 44%,#967139 60%,#ae8c45 90%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;animation:10s ease-in-out infinite alternate foil}.cover h1 i{color:#9b966d;letter-spacing:-2px;font-size:49px;font-weight:400;line-height:1.3}.cover .ornament{margin:25px auto 17px}.cover-poem{font:italic 19px/1.5 var(--serif);color:#834a5d}.cover-date{justify-content:center;align-items:center;gap:17px;margin-top:33px;display:flex}.cover-date>span:first-child{font:italic 24px var(--serif)}.cover-date strong{font:58px/.9 var(--serif);border-left:1px solid var(--line);border-right:1px solid var(--line);color:var(--emerald);padding:0 17px}.cover-date>span:last-child{text-align:left;letter-spacing:1.8px;font-size:10px;line-height:1.9}.cover-venue{color:#703f4f;margin-top:23px;font-size:12px;line-height:1.8}.cover-hashtag{font:italic 13px var(--serif);color:#9b966d;letter-spacing:.3px;position:absolute;bottom:18px;left:0;right:0}.scroll-cue{color:var(--gold);flex-direction:column;align-items:center;gap:10px;padding:12px;display:flex;position:absolute;bottom:52px}.scroll-cue span{letter-spacing:2px;font-size:8px}.scroll-cue svg{animation:2.5s ease-in-out infinite scrollBob}.example-cover{color:#935c6a;letter-spacing:.3px;font-size:9px;position:absolute;bottom:16px}.petals{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.petals span{opacity:0;background:#d6caab;border-radius:90% 10% 80% 20%;width:6px;height:11px;animation:17s linear infinite fall;position:absolute;top:-30px}.verse-section{padding-top:65px;padding-bottom:54px}.bismillah{color:var(--gold);font:31px/1.7 Amiri,serif}.arabic-verse{color:var(--emerald);margin-bottom:24px;font:25px/2.2 Amiri,serif}.verse-translation{color:#804d5a;font:italic 20px/1.65 var(--serif)!important}.verse-source{letter-spacing:1.5px;color:var(--gold);justify-content:center;align-items:center;gap:5px;margin-top:22px;font-size:8px;display:flex}.parents-section{padding-top:30px}.parents-section h2{letter-spacing:-.5px;margin:15px -10px 30px;font-size:30px;line-height:1.2}.parents-section h2 em{font-size:23px}.parents-names{margin-bottom:26px;font:28px/1.3 var(--serif)!important}.parents-names span{font:italic 20px var(--serif);color:var(--gold);padding:5px;display:block}.parents-section>p:not(.eyebrow):not(.parents-names):not(.couple-small){color:var(--muted)}.couple-small{color:var(--emerald);padding:25px 0;font:40px/1.15 var(--serif)!important}.couple-small span{color:var(--gold);padding:8px;font-size:25px;font-style:italic;display:block}.parents-section .ornament{margin-bottom:0}.countdown-section{background:var(--emerald);color:#f6e5de;text-align:center;border-top:4px double #bca66b;border-bottom:4px double #bca66b;padding:44px 26px;position:relative}.countdown-section:before{content:"";pointer-events:none;border:1px solid #d5be852e;position:absolute;inset:12px}.countdown-section .eyebrow{color:#d3bd83;font-size:9px}.countdown-section h2{letter-spacing:-.5px;margin:9px 0 25px;font-size:30px}.countdown{grid-template-columns:repeat(4,1fr);margin:0 0 24px;display:grid}.countdown>div{border-right:1px solid #c090a040}.countdown>div:last-child{border:0}.countdown strong{font:46px/1.15 var(--serif);font-variant-numeric:tabular-nums;display:block}.countdown span{letter-spacing:2px;color:#d2aab7;font-size:8px}.countdown-section>p:last-child{font:italic 16px var(--serif);color:#d8b8c3}.example-note{color:#7d6b44;background:#eadad3;border-radius:3px;margin:-12px auto 25px;padding:3px 10px;display:table;font-size:10px!important}.details-list{text-align:left}.details-list>div{border-bottom:1px solid #dbd7c7;gap:18px;padding:19px 0;display:flex}.details-list>div:last-child{border:0}.details-list svg{stroke-width:1.3px;width:20px;color:var(--gold);margin-top:4px}.details-list p{line-height:1.7}.details-list strong{font-size:16px;font-weight:500;display:block}.details-list span{color:var(--muted);margin-top:4px;font-size:16px;display:block}.hijri-note{text-align:left;color:var(--muted);margin:12px 0 8px;font-size:11px;display:block}.timeline-title{margin-bottom:31px;font-size:32px}.timeline{text-align:left;border-left:1px solid #c6b781;margin:0 12px 0 10px;padding-left:32px}.timeline-item{padding:0 0 32px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-dot{background:var(--ivory);border:1px solid #a3945b;border-radius:50%;justify-content:center;align-items:center;width:13px;height:13px;display:flex;position:absolute;top:3px;left:-39px}.timeline-dot span{background:var(--gold);border-radius:50%;width:3px;height:3px}.timeline-item:nth-child(2) .timeline-dot{background:var(--emerald);border-color:var(--emerald);width:25px;height:25px;color:var(--light-gold);top:0;left:-45px}.timeline-item p{letter-spacing:.5px;color:var(--gold);margin-bottom:8px;font-size:13px}.timeline-item h4{margin-bottom:8px;font-size:26px}.timeline-item>span{color:var(--muted);font-size:16px}.location-section{background:#efe2e6;padding-top:55px}.map-frame{background:#e3ced5;border:1px solid #d5b3be;border-radius:120px 120px 7px 7px;height:245px;position:relative;overflow:hidden}.map-frame iframe{filter:saturate(.55);border:0;width:100%;height:100%}.map-frame>span{color:var(--emerald);pointer-events:none;background:#fff6f2e8;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:10px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.location-section>h3{margin-top:25px;font-size:29px}.location-section>p{color:var(--muted);margin:12px 0 25px;font-size:16px}.gallery-section{text-align:center;padding:60px 26px 50px}.gallery{scroll-snap-type:x mandatory;scrollbar-width:none;background:#e6d3d9;border-radius:140px 140px 8px 8px;display:flex;overflow-x:auto}.gallery::-webkit-scrollbar{display:none}.gallery-slide{scroll-snap-align:center;color:#fff7f3;background:#dcc1ca;border:0;flex:0 0 100%;width:100%;height:400px;padding:0;position:relative;overflow:hidden}.gallery-slide>img{object-fit:cover;filter:saturate(.65);width:100%;height:100%}.photo-overlay{text-align:left;background:linear-gradient(#0000,#2e141db0);justify-content:space-between;align-items:end;gap:10px;padding:25px 20px;display:flex;position:absolute;inset:50% 0 0}.photo-overlay>span{font:italic 23px/1.15 var(--serif);max-width:220px}.photo-overlay svg{box-sizing:content-box;border:1px solid #fff9;border-radius:50%;padding:3px}.gallery-controls{justify-content:center;align-items:center;gap:28px;margin-top:18px;display:flex}.gallery-controls .icon-button{border:none;width:44px;height:44px}.gallery-dots{gap:1px;display:flex}.gallery-dots button{background:0 0;border:none;min-height:44px;padding:14px 8px}.gallery-dots button:after{content:"";background:#d1adb9;border-radius:50%;width:5px;height:5px;display:block}.gallery-dots button.active:after{background:var(--gold);border-radius:3px;width:17px}.gallery-note{color:var(--muted);margin-top:6px;font-size:10px}.rsvp-section{background:#efdde3;border-top:1px solid #e0c6cf;border-bottom:1px solid #e0c6cf}.invitation-form{text-align:left}.invitation-form label,.invitation-form legend{margin-bottom:8px;font-size:14px;font-weight:500;display:block}.invitation-form label>span{color:var(--muted);font-size:12px;font-weight:400}.invitation-form input:not([type=radio]),.invitation-form textarea,.invitation-form select{width:100%;color:var(--ink);background:#fcf3f6;border:1px solid #d5b3be;border-radius:5px;min-height:52px;margin-bottom:21px;padding:12px 14px;font-size:16px;transition:border .2s}.invitation-form input::placeholder,.invitation-form textarea::placeholder{color:#915b69;opacity:1;font-size:16px}.invitation-form input:focus,.invitation-form textarea:focus{border-color:var(--emerald)}.invitation-form textarea{resize:vertical;margin-bottom:0;line-height:1.7}.invitation-form fieldset{border:0;min-width:0;margin:0 0 20px;padding:0}.attendance-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.attendance-options label{cursor:pointer;background:#fbf2f5;border:1px solid #d5b3be;border-radius:5px;justify-content:center;align-items:center;gap:6px;min-height:57px;margin-bottom:0;padding:8px 6px;font-size:12px;font-weight:400;line-height:1.4;display:flex;position:relative}.attendance-options label.selected{border-color:var(--emerald);color:var(--deep);background:#e7cbd4}.attendance-options input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.attendance-options label:focus-within{outline:2px solid var(--gold);outline-offset:3px}.select-wrap{position:relative}.select-wrap>svg{color:var(--muted);pointer-events:none;position:absolute;top:17px;left:14px}.select-wrap select{padding-left:43px}.privacy-note{color:#794456;margin:-6px 0 22px;font-size:12px;line-height:1.7!important}.invitation-form .button{width:100%}.success-card{background:#f8ecf0;border:1px solid #cea8b5;padding:30px 20px}.success-card>span{background:var(--emerald);color:var(--ivory);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 20px;display:flex}.success-card h3{margin-bottom:15px}.success-card p{margin-top:15px;font-size:16px}.form-status{border-left:2px solid var(--emerald);background:#e9d5dc;margin-top:16px;padding:13px 15px;font-size:14px;line-height:1.7}.form-status.error{background:#f1ded6;border-color:#95674a}.empty-wishes{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);margin-bottom:30px;padding:30px 16px}.empty-wishes>svg{color:var(--gold);margin:0 auto 10px}.empty-wishes>p{font:italic 23px/1.4 var(--serif)!important}.wish-wall{scrollbar-width:thin;overscroll-behavior:contain;max-height:360px;margin-bottom:20px;padding:12px 0;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 3% 96%,#0000);mask-image:linear-gradient(#0000,#000 3% 96%,#0000)}.wish-track.moving{animation:50s ease-in-out infinite alternate wishWall}.wish-wall:hover .wish-track,.wish-wall:focus-within .wish-track,.wish-wall.paused .wish-track{animation-play-state:paused}.wish-card{text-align:left;background:#f1e0e6;border:1px solid #e3dfcd;border-radius:6px;margin-bottom:12px;padding:20px 22px}.quote-mark{font:45px/.8 var(--serif);color:var(--gold)}.wish-card>p{font:italic 22px/1.5 var(--serif);overflow-wrap:anywhere}.wish-card footer{color:var(--gold);overflow-wrap:anywhere;align-items:center;gap:7px;margin-top:15px;font-size:12px;display:flex}.wall-toggle{margin:-10px auto 20px}.field-hint{color:var(--muted);margin:8px 0 20px;font-size:11px;display:block}.wish-form .button{margin-top:5px}.gift-section{background:#efe3e7}.bank-card{background:linear-gradient(135deg,#faf1ed,#ead5dc);border:1px solid #cea7b4;border-radius:90px 90px 6px 6px;padding:36px 25px 27px;position:relative}.bank-card:before{content:"";pointer-events:none;border:1px solid #d4ceb0;border-radius:83px 83px 3px 3px;position:absolute;inset:7px}.bank-label{letter-spacing:1.7px;color:var(--gold);font-size:8px}.bank-card .ornament{width:130px;margin:17px auto 22px}.bank-card>h3{font-size:27px}.bank-card>p{color:var(--muted);margin-top:7px;font-size:16px}.account-row{justify-content:center;align-items:center;gap:10px;margin:20px 0 25px;font-size:15px;display:flex}.account-row button{background:#e4cdd5;border:1px solid #d5b4bf;border-radius:4px;align-items:center;gap:5px;min-height:44px;padding:9px;font-size:12px;display:flex}.qr-placeholder{color:#955867;background:#f9f2ef;border:1px dashed #c090a0;flex-direction:column;justify-content:center;align-items:center;width:158px;height:158px;margin:0 auto 22px;display:flex}.qr-placeholder>span{margin-top:10px;font-size:12px}.qr-placeholder small{font-size:10px}.duitnow-image{margin:0 auto 22px}.gift-footnote{font:italic 17px var(--serif);color:#8c4f63}.calendar-section{padding-top:60px;padding-bottom:57px}.calendar-section>svg{color:var(--gold);stroke-width:1.3px;margin-bottom:20px}.calendar-section h2{font-size:39px;line-height:1.05}.calendar-section>p{color:var(--muted);margin:20px 0 27px}.calendar-options{gap:10px;margin-top:12px;display:grid}.calendar-options .field-hint{margin:0}.contact-section{padding-top:10px;padding-bottom:55px}.contacts{gap:12px;display:grid}.contact-button{text-align:left;background:0 0;border:1px solid #d8b9c3;border-radius:5px;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:18px 19px;display:flex}.contact-button:hover{background:#f1e0e6}.contact-button strong{font-size:16px;font-weight:500;display:block}.contact-button small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.contact-button>svg{color:var(--emerald);stroke-width:1.3px}.closing{isolation:isolate;background:#eedde3;padding:48px 27px 40px;overflow:hidden}.closing .ornament{margin:0 auto 32px}.closing h2{letter-spacing:-2px;margin:13px 0 25px;font-size:55px}.closing>p:not(.eyebrow):not(.closing-date):not(.closing-credit){font:italic 22px/1.6 var(--serif);color:#744152}.amin{color:var(--muted);margin-top:18px;font-size:12px;display:block}.closing-monogram{font:58px var(--serif);color:var(--gold);letter-spacing:-4px;margin:33px 0 5px}.closing-monogram i{font-size:36px}.closing-date{letter-spacing:3px;color:var(--gold);font-size:10px}.closing-hashtag{font:italic 14px var(--serif);color:#8c4f63;margin-top:14px;display:block}.closing-credit{letter-spacing:1.2px;color:var(--muted);margin-top:38px;font-size:7px}.closing-floral{opacity:.4;z-index:-1;width:230px;position:absolute;bottom:0;right:-130px;transform:rotate(-20deg)}.bottom-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:30;width:min(100%,430px);padding:9px 9px max(11px,env(safe-area-inset-bottom));background:#f9f2efed;border-top:1px solid #dabec7;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -7px 25px #3e182506}.bottom-nav a{color:#82495c;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:45px;padding:7px 2px 3px;display:flex;position:relative}.bottom-nav a span{letter-spacing:.1px;white-space:nowrap;font-size:9px}.bottom-nav a.active{color:var(--emerald);background:#eedce2}.bottom-nav a.active:before{content:"";background:var(--gold);width:20px;height:2px;position:absolute;top:-10px}.music-toggle{bottom:calc(90px + env(safe-area-inset-bottom));width:44px;height:44px;color:var(--emerald);z-index:31;background:#f9eeeae8;border:1px solid #d0c69c;border-radius:50%;place-items:center;display:grid;position:fixed;right:max(18px,50% - 197px);box-shadow:0 3px 12px #2c111a12}.music-toggle.playing:after{content:"";border:1px dashed #b5a573;border-radius:50%;animation:18s linear infinite spin;position:absolute;inset:3px}.toast{bottom:calc(148px + env(safe-area-inset-bottom));background:var(--deep);width:min(340px,100% - 40px);color:var(--ivory);z-index:70;opacity:0;pointer-events:none;text-align:center;border-radius:6px;padding:13px 17px;font-size:14px;transition:opacity .2s,transform .2s;position:fixed;left:50%;transform:translate(-50%,12px);box-shadow:0 7px 22px #34131e20}.toast.shown{opacity:1;transform:translate(-50%)}.lightbox{background:var(--ivory);border:1px solid var(--line);width:100%;max-width:min(90vw,600px);color:var(--ink);border-radius:8px;padding:24px;overflow:visible}.lightbox::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2c151de6}.lightbox>img{object-fit:contain;width:100%;max-height:65vh}.lightbox>p{font:italic 25px var(--serif);text-align:center;margin:20px 0}.lightbox-close{background:var(--ivory);position:absolute;top:-20px;right:-12px}.lightbox-controls{justify-content:center;align-items:center;gap:25px;display:flex}.lightbox-controls span{font-size:13px}.reveal{opacity:1;transform:none}.is-open .reveal:not(.visible){opacity:0;transform:translateY(18px)}.is-open .reveal{transition:opacity .9s,transform .9s}@keyframes foil{0%{background-position:0%}to{background-position:100%}}@keyframes fall{0%{opacity:0;transform:translateY(-20px)rotate(0)}10%{opacity:.4}80%{opacity:.3}to{opacity:0;transform:translate(40px,850px)rotate(220deg)}}@keyframes scrollBob{50%{transform:translateY(5px)}}@keyframes botanicalSway{0%{transform:rotate(-1deg)}to{transform:rotate(2deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes wishWall{0%{transform:translateY(0)}to{transform:translateY(calc(320px - 100%))}}@media (min-width:900px){.invitation{border:1px solid #d1acb8;border-radius:150px 150px 5px 5px;margin-top:30px;margin-bottom:30px}.splash{border:1px solid #d1acb8;border-radius:150px 150px 5px 5px;top:30px;bottom:30px}.splash-inner{padding-top:50px}.cover{min-height:810px}.bottom-nav{bottom:0}.splash-top{margin-bottom:30px}}@media (max-width:1050px){.desktop-note{display:none}}@media (max-height:740px){.splash-inner{padding-top:24px;padding-bottom:18px}.splash-top{margin-bottom:18px}.splash h1{font-size:48px}.recipient{margin-bottom:20px}.splash-foot{margin-top:12px}}@media (max-width:380px){.section{padding-left:26px;padding-right:26px}.splash h1{font-size:51px}.recipient h2{font-size:26px}.cover h1{font-size:66px}.cover-label{font-size:7px}.attendance-options label{font-size:11px}.cover-date{gap:14px}.cover-floral{width:235px}.button-row .button{font-size:12px}.bank-card{padding-left:19px;padding-right:19px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.is-open .reveal:not(.visible){opacity:1;transform:none}.petals{display:none}}.cover{min-height:max(770px,100svh - 70px)}.cover-floral{translate:0 var(--parallax,0px)}.cover-venue{font-size:16px}.cover-venue span,.recipient>p,.recipient>span{font-size:14px}.button,.invitation-form label,.invitation-form legend{font-size:16px}.attendance-options label{font-size:13px}.privacy-note{font-size:14px}.bottom-nav a span{font-size:10px}.timeline-item p{letter-spacing:0;font-size:16px}.bank-card>p{font-size:16px}.splash-foot{font-size:11px}@media (min-width:900px){.cover{min-height:810px}}@media (prefers-reduced-motion:reduce){.cover-floral{translate:none}}.wish-wall:hover .wish-track,.wish-wall:focus-within .wish-track,.wish-wall.paused .wish-track{animation:none;transform:none}
