@font-face{font-family:Better Saturday;src:url(/better-saturday.woff2)format("woff2"),url(/better-saturday.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fefcf9;--bg-alt:#fcf9f5;--text:#2b2a14;--text-light:#6b6548;--text-muted:#9a9278;--accent:#ca826c;--accent-dark:#a85a44;--accent-light:#e8c0b0;--overlay:#2b2a14a6;--font-serif:"Cormorant Garamond", serif;--font-body:"Cormorant Garamond", serif;--section-gap:20px;--section-gap-lg:40px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}html{scroll-behavior:smooth}body{font-family:var(--font-serif);color:var(--text);background:var(--bg);min-height:100dvh;font-size:19px;font-weight:400;line-height:1.7;overflow-x:hidden}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit}a{color:inherit;text-decoration:none}input,select,textarea{font-family:inherit;font-size:inherit}.password-screen{z-index:2000;background:var(--bg);justify-content:center;align-items:center;transition:opacity .5s,visibility .5s;display:flex;position:fixed;inset:0}.password-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}.password-card{text-align:center;padding:calc(40px + var(--safe-top)) 32px;width:90%;max-width:360px}.password-lock{opacity:.3;margin-bottom:12px;font-size:40px}.password-title{color:var(--text);margin-bottom:6px;font-family:Playfair Display,serif;font-size:34px;font-style:italic;font-weight:400}.password-subtitle{color:var(--text-light);margin-bottom:28px;font-size:20px}.password-input{border:none;border-bottom:2px solid var(--accent-light);text-align:center;letter-spacing:6px;width:100%;color:var(--text);background:0 0;outline:none;padding:14px 16px;font-size:22px;transition:border-color .3s}.password-input:focus{border-color:var(--accent)}.password-input::placeholder{letter-spacing:2px;color:var(--text-muted);font-size:18px}.password-btn{border:1.5px solid var(--accent);color:var(--accent-dark);letter-spacing:3px;text-transform:uppercase;background:0 0;border-radius:100px;margin-top:24px;padding:12px 48px;font-size:19px;font-weight:600;transition:background .3s,color .3s}.password-btn:hover{background:var(--accent);color:#fff}.password-error{color:#c0392b;margin-top:14px;font-size:18px;font-style:italic;display:none}.password-error.show{display:block}.hero-envelope{z-index:1000;perspective:2000px;background:0 0;animation:5s ease-in-out infinite envelope-float;position:fixed;inset:0;overflow:hidden}.hero-envelope:before{content:"";z-index:5;cursor:pointer;position:absolute;inset:0}.hero-envelope>*{cursor:pointer}.env-click-catcher{z-index:0;cursor:pointer;position:absolute;inset:0}.hero-envelope.hidden{display:none}.hero-envelope.fade-out{animation:.3s forwards env-fade-out}@keyframes env-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes envelope-float{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-6px)rotate(.5deg)}50%{transform:translateY(0)rotate(0)}75%{transform:translateY(-4px)rotate(-.3deg)}}.env-flap-top{z-index:4;background:linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%);transform-origin:top;will-change:transform, opacity;width:100%;height:50%;position:absolute;top:0;left:0;overflow:visible}.env-flap-top.open{animation:1.2s cubic-bezier(.4,0,.6,1) forwards flap-open-top}@keyframes flap-open-top{0%{opacity:1;transform:rotateX(0)}70%{opacity:1;transform:rotateX(126deg)}85%{opacity:.5;transform:rotateX(153deg)}to{opacity:0;transform:rotateX(180deg)}}.env-flap-top .flap-texture{pointer-events:none;background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#da9ea604 2px 3px),repeating-linear-gradient(90deg,#0000,#0000 4px,#da9ea602 4px 5px),radial-gradient(at 20% 10%,#da9ea60a 0%,#0000 50%),radial-gradient(at 80% 10%,#da9ea608 0%,#0000 50%);position:absolute;inset:0}.env-flap-top:after{content:"";pointer-events:none;background:linear-gradient(#0000 0%,#2b2a1414 100%);width:100%;height:12px;position:absolute;bottom:0;left:0}.env-flap-bottom{z-index:3;background:linear-gradient(0deg, var(--bg) 0%, var(--bg-alt) 100%);transform-origin:bottom;will-change:transform, opacity;width:100%;height:50%;position:absolute;bottom:0;left:0;overflow:visible}.env-flap-bottom.open{animation:1.2s cubic-bezier(.4,0,.6,1) forwards flap-open-bottom}@keyframes flap-open-bottom{0%{opacity:1;transform:rotateX(0)}70%{opacity:1;transform:rotateX(-126deg)}85%{opacity:.5;transform:rotateX(-153deg)}to{opacity:0;transform:rotateX(-180deg)}}.env-flap-bottom .flap-texture{pointer-events:none;background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#da9ea604 2px 3px),radial-gradient(at 30% 80%,#da9ea608 0%,#0000 50%);position:absolute;inset:0}.env-flap-bottom:before{content:"";pointer-events:none;background:linear-gradient(#2b2a1414 0%,#0000 100%);width:100%;height:12px;position:absolute;top:0;left:0}.envelope-seal{z-index:6;filter:drop-shadow(0 6px 16px #8c545c59);pointer-events:none;width:fit-content;margin:0 auto;transition:opacity .6s,transform 1s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:-88px;left:0;right:0}.envelope-seal .seal-img{object-fit:cover;border-radius:50%;width:clamp(140px,22vw,190px);height:clamp(140px,22vw,190px);display:block}.envelope-seal.releasing{animation:.8s ease-in-out seal-shake}.envelope-seal.breaking{opacity:0;transition:transform 1.2s cubic-bezier(.22,.61,.36,1),opacity .8s;transform:scale(.3)rotate(15deg)translateY(-20px)}.seal-crack-group{transition:opacity .3s}.envelope-seal.releasing .seal-crack-group,.envelope-seal.breaking .seal-crack-group{opacity:1!important}@keyframes seal-shake{0%{transform:rotate(0)}10%{transform:rotate(-2deg)scale(1.02)}25%{transform:rotate(2deg)scale(1.03)}40%{transform:rotate(-1.5deg)scale(1.01)}55%{transform:rotate(1.5deg)scale(1.02)}70%{transform:rotate(-1deg)scale(1)}85%{transform:rotate(.5deg)scale(.98)}to{transform:rotate(0)scale(.95)}}.env-text-group{bottom:calc(60px + var(--safe-bottom));z-index:5;pointer-events:none;flex-direction:column;align-items:center;gap:4px;width:fit-content;max-width:100%;margin:0 auto;transition:opacity 1.2s,transform 1.2s;display:flex;position:absolute;left:0;right:0}.env-text-group.fade-out{opacity:0;transform:scale(.92)}.env-invite-text{color:var(--text-light);letter-spacing:2px;text-align:center;opacity:.8;font-family:Playfair Display,serif;font-size:clamp(18px,2.5vw,23px);font-style:italic;font-weight:400}.env-names-preview{color:var(--text);letter-spacing:clamp(4px,1.2vw,8px);text-transform:uppercase;font-family:Cormorant Garamond,serif;font-size:clamp(26px,4.5vw,38px);font-style:italic;font-weight:300}.env-date-preview{color:var(--text);letter-spacing:4px;text-transform:uppercase;opacity:.8;font-size:clamp(14px,2.5vw,17px)}.env-diamond{color:var(--accent);opacity:.6;font-size:clamp(8px,1.2vw,10px)}.envelope-hint{bottom:calc(6vh + var(--safe-bottom));z-index:4;color:var(--text-muted);letter-spacing:3px;text-transform:uppercase;opacity:.5;font-size:16px;transition:opacity .4s;animation:2.5s ease-in-out infinite pulse-hint;position:absolute;left:50%;transform:translate(-50%)}@keyframes pulse-hint{0%,to{opacity:.3}50%{opacity:.7}}.hero-envelope:after{content:"";z-index:4;pointer-events:none;background:#2b2a140f;width:90%;height:1px;position:absolute;top:50%;left:5%}#invitation{opacity:0;transition:opacity .8s}#invitation.visible{opacity:1}.invitation-inner{max-width:620px;margin:0 auto;padding:0 24px}.top-banner{aspect-ratio:1500/1920;width:100%;max-width:1400px;min-height:50vh;max-height:90vh;margin:0 auto;line-height:0;position:relative;overflow:hidden}.top-banner:after{content:"";background:linear-gradient(to bottom, transparent 0%, transparent 30%, var(--bg) 100%);pointer-events:none;width:100%;height:180px;position:absolute;bottom:0;left:0}.top-banner-img,.top-banner-video{object-fit:cover;object-position:center;width:100%;height:calc(100% + 60px);position:absolute;inset:-60px 0 0}.banner-overlay{background:var(--accent);mix-blend-mode:overlay;opacity:.3;pointer-events:none;z-index:1;position:absolute;inset:0}.img-color-overlay{background:var(--accent);opacity:.2;pointer-events:none;position:absolute;inset:0}.banner-title{text-align:center;color:var(--accent);letter-spacing:.05em;padding:var(--section-gap) 20px var(--section-gap-lg);font-family:Better Saturday,cursive;font-size:clamp(48px,13vw,120px);font-weight:400}.hero-section{text-align:center;padding:var(--section-gap-lg) 0;z-index:1;position:relative}.hero-date-block{align-items:center;gap:var(--section-gap);margin-top:var(--section-gap);flex-direction:column;display:flex}.hero-date-line,.hero-time-line{font-family:var(--font-body);width:100%;display:block}.hero-date-line{color:var(--text);letter-spacing:10px;font-size:clamp(40px,7vw,60px);font-weight:700}.hero-time-line{color:var(--text);letter-spacing:6px;font-size:clamp(22px,3vw,28px);font-weight:400}.hero-message{max-width:760px;margin:0 auto 12px}.hero-message-text{font-family:var(--font-body);color:var(--text-light);letter-spacing:.5px;font-size:clamp(18px,2.2vw,22px);font-weight:300;line-height:1.6}.hero-logo{max-width:500px;margin:0 auto;line-height:0}.hero-logo-svg{width:100%;height:auto}.hero-divider{color:var(--accent);letter-spacing:8px;margin:24px 0;font-size:20px}.countdown-section{padding:var(--section-gap-lg) 0;text-align:center}.countdown-message{font-family:var(--font-body);color:var(--text-light);margin-bottom:24px;font-size:clamp(20px,3vw,26px);font-style:italic;font-weight:300}.countdown-grid{justify-content:center;gap:20px;display:flex}.countdown-item{flex-direction:column;align-items:center;min-width:56px;display:flex}.countdown-number{font-family:var(--font-body);color:var(--accent);font-size:clamp(32px,6vw,42px);font-weight:300;line-height:1}.countdown-number.pulse{animation:.3s count-pulse}@keyframes count-pulse{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}.countdown-label{text-transform:uppercase;letter-spacing:3px;color:var(--text-muted);margin-top:6px;font-size:16px}.ceremony-section{text-align:center;width:100vw;padding-top:var(--section-gap-lg);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);position:relative}.ceremony-image-wrap{width:100%;max-width:1400px;margin:0 auto;line-height:0;position:relative}.ceremony-image-wrap .ceremony-label{z-index:2;text-transform:uppercase;letter-spacing:8px;color:#fff;text-shadow:0 2px 16px #000c,0 0 4px #0009;background:radial-gradient(#00000059 0%,#00000014 35%,#0000 70%);padding:30px 80px;font-size:clamp(28px,6vw,44px);font-weight:500;position:absolute;top:30px;left:50%;transform:translate(-50%)}.ceremony-image-wrap:before{content:"";background:linear-gradient(to bottom, var(--bg), transparent);pointer-events:none;z-index:3;width:100%;height:60px;position:absolute;top:0;left:0}.ceremony-image-wrap:after{content:"";background:linear-gradient(to bottom, transparent, var(--bg));pointer-events:none;z-index:3;width:100%;height:60px;position:absolute;bottom:0;left:0}.ceremony-img{aspect-ratio:1600/1066;object-fit:cover;width:100%;display:block}.ceremony-content{padding:var(--section-gap) 16px var(--section-gap-lg);text-align:center}.ceremony-label{text-transform:uppercase;letter-spacing:6px;color:var(--text);margin-bottom:0;font-size:19px;font-weight:500}.ceremony-divider{z-index:2;justify-content:center;align-items:center;gap:14px;max-width:260px;margin:8px auto 0;display:flex;position:relative}.ceremony-divider .divider-line{opacity:.5;background:#fff;flex:1;height:1px;display:block}.ceremony-divider .divider-icon{color:var(--accent);opacity:.5;font-size:19px}.ceremony-name{font-family:var(--font-body);color:var(--text);letter-spacing:3px;margin-bottom:10px;font-size:clamp(22px,4vw,32px);font-weight:300}.ceremony-address{color:var(--text);opacity:.7;max-width:380px;margin-bottom:28px;margin-left:auto;margin-right:auto;font-size:20px;font-style:italic;line-height:1.6}.maps-buttons{justify-content:center;gap:var(--section-gap);margin-top:var(--section-gap-lg);flex-wrap:wrap;display:flex}.ceremony-section .btn-maps{border:1px solid var(--accent);color:var(--accent-dark);letter-spacing:1px;text-transform:uppercase;border-radius:100px;align-items:center;gap:6px;padding:8px 18px;font-size:15px;font-weight:500;transition:background .3s,color .3s;display:inline-flex}.ceremony-section .btn-maps:hover{background:var(--accent);color:#fff}.reception-section{text-align:center;width:100vw;padding-top:var(--section-gap-lg);margin-bottom:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);position:relative}.reception-image-wrap{width:100%;max-width:1400px;margin:0 auto;line-height:0;position:relative}.reception-image-wrap .reception-label{z-index:2;text-transform:uppercase;letter-spacing:8px;color:#fff;text-shadow:0 2px 16px #000c,0 0 4px #0009;background:radial-gradient(#00000059 0%,#00000014 35%,#0000 70%);padding:30px 80px;font-size:clamp(28px,6vw,44px);font-weight:500;position:absolute;top:30px;left:50%;transform:translate(-50%)}.reception-image-wrap:before{content:"";background:linear-gradient(to bottom, var(--bg), transparent);pointer-events:none;z-index:3;width:100%;height:60px;position:absolute;top:0;left:0}.reception-image-wrap:after{content:"";background:linear-gradient(to bottom, transparent, var(--bg));pointer-events:none;z-index:3;width:100%;height:60px;position:absolute;bottom:0;left:0}.reception-img{aspect-ratio:1600/1066;object-fit:cover;width:100%;display:block}.reception-content{padding:var(--section-gap) 16px var(--section-gap-lg);text-align:center}.reception-label{text-transform:uppercase;letter-spacing:6px;color:var(--text);margin-bottom:0;font-size:19px;font-weight:500}.reception-divider{z-index:2;justify-content:center;align-items:center;gap:14px;max-width:260px;margin:8px auto 0;display:flex;position:relative}.reception-divider .divider-line{opacity:.5;background:#fff;flex:1;height:1px;display:block}.reception-divider .divider-icon{color:var(--accent);opacity:.5;font-size:19px}.reception-name{font-family:var(--font-body);color:var(--text);letter-spacing:3px;margin-bottom:10px;font-size:clamp(22px,4vw,32px);font-weight:300}.reception-detail{color:var(--text);letter-spacing:1px;opacity:.85;margin-bottom:4px;font-size:20px;font-weight:500}.reception-location{color:var(--text);opacity:.7;max-width:380px;margin-bottom:28px;margin-left:auto;margin-right:auto;font-size:20px;font-style:italic;line-height:1.6}.reception-section .btn-maps{border:1px solid var(--accent);color:var(--accent-dark);letter-spacing:1px;text-transform:uppercase;border-radius:100px;align-items:center;gap:6px;padding:8px 18px;font-size:15px;font-weight:500;transition:background .3s,color .3s;display:inline-flex}.reception-section .btn-maps:hover{background:var(--accent);color:#fff}.section-title-block{text-align:center;padding:20px}.section-title-name{color:var(--accent);letter-spacing:.05em;font-family:Better Saturday,cursive;font-size:clamp(48px,10vw,80px);font-weight:400}.section-title{font-family:var(--font-body);color:var(--text);letter-spacing:4px;margin-bottom:0;font-size:clamp(34px,6vw,46px);font-weight:300}.section-divider{justify-content:center;align-items:center;gap:14px;max-width:260px;margin:10px auto 28px;display:flex}.section-divider .divider-line{background:var(--accent-light);flex:1;height:1px;display:block}.section-divider .divider-icon{color:var(--accent);flex-shrink:0;font-size:18px}.rsvp-section{padding:var(--section-gap-lg) 0;text-align:center}.rsvp-hero-wrap{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);line-height:0;position:relative}.rsvp-hero-img{aspect-ratio:1600/1066;object-fit:cover;width:100%;display:block}.rsvp-hero-wrap:before{content:"";background:linear-gradient(to bottom, var(--bg), transparent);pointer-events:none;z-index:3;width:100%;height:60px;position:absolute;top:0;left:0}.rsvp-hero-wrap:after{content:"";background:linear-gradient(to bottom, transparent, var(--bg));pointer-events:none;z-index:3;width:100%;height:60px;position:absolute;bottom:0;left:0}.rsvp-intro{color:var(--text-light);max-width:420px;margin-bottom:28px;margin-left:auto;margin-right:auto;font-size:20px;font-style:italic}.rsvp-toggle{border:1.5px solid var(--accent);color:var(--accent-dark);letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:100px;padding:10px 32px;font-size:19px;font-weight:600;transition:background .3s,color .3s;display:inline-block}.rsvp-toggle:hover{background:var(--accent);color:#fff}.rsvp-toggle.hidden{display:none}.rsvp-reveal{max-width:420px;margin:0 auto;display:none}.rsvp-reveal.open{display:block}.rsvp-card{border:1px solid var(--accent-light);text-align:left;background:#ffffff80;border-radius:16px;padding:28px 24px;position:relative}.rsvp-close{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:22px;transition:background .2s,color .2s;display:flex;position:absolute;top:10px;right:14px}.rsvp-close:hover{color:var(--text);background:#0000000f}.form-group{margin-bottom:18px}.form-label{color:var(--text);letter-spacing:.5px;margin-bottom:6px;font-size:20px;font-weight:500;display:block}.form-label .required{color:var(--accent-dark)}.form-input,.form-textarea{border:1px solid var(--accent-light);width:100%;color:var(--text);background:#ffffffb3;border-radius:8px;outline:none;padding:12px 16px;font-size:22px;transition:border-color .3s,background .3s}.form-input:focus,.form-textarea:focus{border-color:var(--accent);background:#fff}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted);opacity:.7}.form-textarea{resize:vertical;min-height:80px}.radio-group{gap:20px;margin-top:4px;display:flex}.radio-option{color:var(--text);cursor:pointer;align-items:center;gap:6px;font-size:21px;display:flex}.radio-option input[type=radio]{accent-color:var(--accent);width:18px;height:18px}.form-conditional{display:none}.form-conditional.visible{display:block}.form-submit{background:var(--accent);color:#fff;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border:none;border-radius:8px;width:100%;padding:14px;font-size:22px;font-weight:600;transition:background .3s}.form-submit:hover{background:var(--accent-dark)}.form-submit:disabled{opacity:.6;cursor:not-allowed}.form-note{color:var(--text-muted);text-align:center;margin-top:12px;font-size:18px}.rsvp-thanks{text-align:center;padding:40px 0;display:none}.rsvp-thanks.visible{display:block}.thanks-icon{color:var(--accent);margin-bottom:12px;font-size:48px}.thanks-text{font-family:var(--font-body);color:var(--text);margin-bottom:6px;font-size:22px;font-weight:300}.thanks-sub{color:var(--text-light);font-size:20px;font-style:italic}.rsvp-numbers{justify-content:center;gap:48px;margin-top:28px;display:flex}.rsvp-numbers-item{flex-direction:column;align-items:center;gap:4px;display:flex}.rsvp-numbers-label{text-transform:uppercase;letter-spacing:3px;color:var(--text-muted);font-size:16px}.rsvp-numbers-value{font-family:var(--font-body);color:var(--text);letter-spacing:1px;font-size:20px}.rsvp-numbers-link{color:var(--text);align-items:center;gap:8px;text-decoration:none;transition:opacity .25s,transform .25s;display:inline-flex}.rsvp-numbers-link:hover{opacity:.75;transform:translateY(-1px)}.whatsapp-icon{flex-shrink:0;width:18px;height:18px}.weather-section{padding:var(--section-gap-lg) 0;text-align:center}.weather-intro{color:var(--text-light);margin-bottom:32px;font-size:20px;font-style:italic}.weather-grid{flex-wrap:wrap;justify-content:center;gap:32px;max-width:500px;margin:0 auto;display:flex}.weather-item{flex-direction:column;align-items:center;gap:6px;min-width:80px;display:flex}.weather-icon{opacity:.7;width:36px;height:36px}.weather-value{color:var(--accent);font-family:Playfair Display,serif;font-size:32px;font-weight:300;line-height:1}.weather-label{text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);font-size:16px}.weather-note{color:var(--text-light);margin-top:20px;font-size:20px;font-style:italic}.gift-section{padding:var(--section-gap-lg) 0;text-align:center;display:none}.gift-intro{color:var(--text-light);margin-bottom:32px;font-size:20px;font-style:italic}.gift-grid{flex-direction:column;gap:20px;max-width:400px;margin:0 auto;display:flex}.gift-item{border:1px solid var(--accent-light);background:#ffffff4d;border-radius:12px;padding:20px}.gift-label{text-transform:uppercase;letter-spacing:4px;color:var(--accent);margin-bottom:8px;font-size:17px;font-weight:500}.gift-value{font-family:var(--font-body);color:var(--text);letter-spacing:2px;word-break:break-all;font-size:clamp(15px,3vw,19px);font-weight:300}.footer{text-align:center;padding:0;position:relative}.gatos-bg{z-index:0;justify-content:center;align-items:flex-start;width:100%;height:100%;padding-top:0;display:flex;position:absolute;inset:0}.gatos-img-wrap{width:25%;max-width:200px;margin-top:0;margin-left:240px;display:inline-block;position:relative}.gatos-img-wrap:after{content:"";background:var(--bg);opacity:.5;pointer-events:none;z-index:2;position:absolute;inset:0}.gatos-img{z-index:1;background:var(--bg);width:100%;height:auto;display:block;position:relative}.footer-inner{z-index:3;padding:var(--section-gap-lg) 0;position:relative}.footer-divider{background:var(--accent);opacity:.4;width:40px;height:1px;margin:0 auto 20px}.footer-text{color:var(--text-light);z-index:1;margin-bottom:4px;font-size:20px;position:relative}.footer-names{color:var(--accent-dark);z-index:1;margin-bottom:10px;font-family:Better Saturday,cursive;font-size:clamp(36px,6vw,56px);font-weight:400;line-height:1.2;position:relative}.footer-thanks{color:var(--text-light);z-index:1;max-width:340px;margin:0 auto;font-size:20px;font-style:italic;line-height:1.6;position:relative}.footer-made-with{text-align:center;color:var(--text-muted);opacity:.5;padding:16px 0 calc(16px + var(--safe-bottom));letter-spacing:2px;z-index:1;font-size:17px;position:relative}.lightbox{z-index:200;background:#000000d9;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.lightbox.open{display:flex}.lightbox-image{object-fit:contain;border-radius:4px;max-width:92vw;max-height:88vh}.lightbox-close{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:28px;transition:background .2s;display:flex;position:absolute;top:20px;right:20px}.lightbox-close:hover{background:#fff3}.lightbox-nav{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:28px;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#fff3}.lightbox-prev{left:16px}.lightbox-next{right:16px}@media (width>=481px){.lightbox-nav{width:48px;height:48px;font-size:32px}.lightbox-prev{left:24px}.lightbox-next{right:24px}}#particlesCanvas{pointer-events:none;z-index:55;width:100%;height:100%;position:fixed;inset:0}.toggle-btn{z-index:100;border:1.5px solid var(--accent-light);width:44px;height:44px;color:var(--accent-dark);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#faf4ead9;border-radius:50%;justify-content:center;align-items:center;font-size:20px;transition:transform .2s,box-shadow .3s;display:flex;position:fixed;bottom:24px;right:78px}.toggle-btn:hover{transform:scale(1.1)}.toggle-btn.active{border-color:var(--accent);opacity:1;background:#da9ea633}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1);transform:translateY(40px)scale(.97)}.reveal.revealed{opacity:1;transform:translateY(0)scale(1)}.stagger-children>.reveal{transition-delay:var(--reveal-delay,0s)}.hero-section.reveal{transition:opacity 1.2s cubic-bezier(.22,.61,.36,1),transform 1.2s cubic-bezier(.34,1.56,.64,1);transform:translateY(20px)scale(.95)}.hero-section.reveal.revealed{transform:translateY(0)scale(1)}.ceremony-section.reveal,.reception-section.reveal{transition:opacity 1s cubic-bezier(.22,.61,.36,1),transform 1s cubic-bezier(.22,.61,.36,1);transform:translateY(50px)}.rsvp-section.reveal{transition:opacity 1s,transform 1s cubic-bezier(.22,.61,.36,1);transform:translateY(30px)}.footer.reveal{transition:opacity 1.2s,transform 1.2s cubic-bezier(.22,.61,.36,1);transform:translateY(20px)}@media (width<=480px){.invitation-inner{padding:0 16px}.countdown-grid{gap:20px}.countdown-item{min-width:56px}.ceremony-section,.reception-section{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.weather-grid{gap:20px}.weather-value{font-size:26px}}
