:root{--wine-deep:#4a1525;--wine:#6b2d3e;--wine-medium:#8b3a4a;--wine-light:#a0495a;--wine-soft:#c4707f;--ivory:#fbf8f1;--ivory-warm:#f5efe0;--ivory-mid:#ede4d3;--champagne:#d4a574;--champagne-light:#e8c99b;--champagne-dark:#b8864e;--gold:#c9a84c;--gold-light:#e2cc7e;--olive:#7c8c5c;--olive-light:#9aaa7c;--olive-dark:#5a6b3e;--text-dark:#2c1810;--text-body:#4a3428;--text-muted:#8b7b6b;--font-display:"Cinzel", serif;--font-script:"Great Vibes", cursive;--font-serif:"Cormorant Garamond", serif;--font-elegant:"Playfair Display", serif;--font-sans:"Montserrat", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;zoom:1.1;overflow-x:hidden}body{font-family:var(--font-serif);background:var(--ivory);color:var(--text-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}.gold-foil-text{background:linear-gradient(to right, var(--champagne-dark) 10%, var(--champagne-light) 30%, #f0dfc0 50%, var(--champagne-light) 70%, var(--champagne-dark) 90%);color:#0000;filter:drop-shadow(0 0 20px #d4a57426);background-size:200%;-webkit-background-clip:text;background-clip:text;animation:4s linear infinite shine}@keyframes shine{to{background-position:200%}}.splash-overlay{z-index:9999;background:var(--wine-deep);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.splash-ornament{background:linear-gradient(90deg, transparent, var(--champagne), transparent);width:120px;height:2px;margin:16px 0}.splash-names{font-family:var(--font-script);color:var(--champagne-light);text-align:center;font-size:clamp(2.5rem,8vw,5rem);line-height:1.2}.splash-date{font-family:var(--font-display);color:var(--wine-soft);letter-spacing:6px;text-transform:uppercase;margin-top:8px;font-size:clamp(.7rem,2vw,1rem)}.splash-enter-btn{border:1px solid var(--champagne);color:var(--champagne);font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;cursor:pointer;background:0 0;margin-top:40px;padding:14px 48px;font-size:.75rem;transition:all .5s;position:relative;overflow:hidden}.splash-enter-btn:before{content:"";background:var(--champagne);z-index:-1;transition:transform .5s;position:absolute;inset:0;transform:translate(-100%)}.splash-enter-btn:hover{color:var(--wine-deep)}.splash-enter-btn:hover:before{transform:translate(0)}.particles-container{pointer-events:none;z-index:1;position:fixed;inset:0}.particle{background:var(--champagne-light);opacity:0;border-radius:50%;width:4px;height:4px;animation:8s ease-in-out infinite floatParticle;position:absolute}@keyframes floatParticle{0%{opacity:0;transform:translateY(100vh)scale(0)}20%{opacity:.6}80%{opacity:.3}to{opacity:0;transform:translateY(-20vh)scale(1)}}.wedding-nav{z-index:100;justify-content:center;gap:32px;padding:20px 40px;transition:all .5s;display:flex;position:fixed;top:0;left:0;right:0}.wedding-nav.scrolled{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#4a1525eb;padding:12px 40px;box-shadow:0 4px 30px #4a15254d}.nav-link{font-family:var(--font-display);letter-spacing:3px;text-transform:uppercase;color:var(--ivory);padding:4px 0;font-size:.65rem;text-decoration:none;transition:color .3s;position:relative}.nav-link:after{content:"";background:var(--champagne);width:0;height:1px;transition:width .4s;position:absolute;bottom:0;left:0}.nav-link:hover{color:var(--champagne)}.nav-link:hover:after{width:100%}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-bg{background-color:var(--wine-deep);z-index:0;position:absolute;inset:0}.hero-bg:after{content:"";background:linear-gradient(#4a1525b3 0%,#4a152566 40%,#4a152599 100%);position:absolute;inset:0}.hero-content{z-index:2;padding:40px;position:relative}.hero-invitation-text{font-family:var(--font-display);letter-spacing:8px;text-transform:uppercase;color:var(--champagne-light);opacity:.9;margin-bottom:24px;font-size:clamp(.6rem,1.5vw,.8rem)}.hero-ampersand{font-family:var(--font-script);color:var(--champagne);margin:-10px 0;font-size:clamp(2rem,5vw,3.5rem);display:block}.hero-names{font-family:var(--font-script);color:var(--ivory);text-shadow:0 4px 40px #0006,0 0 60px #d4a5741a;perspective:800px;font-size:clamp(3.5rem,10vw,7rem);line-height:1.05}.hero-date-line{justify-content:center;align-items:center;gap:20px;margin-top:30px;display:flex}.hero-date-ornament{background:linear-gradient(90deg, transparent, var(--champagne));width:60px;height:1px}.hero-date-ornament:last-child{background:linear-gradient(90deg, var(--champagne), transparent)}.hero-date{font-family:var(--font-display);letter-spacing:5px;text-transform:uppercase;color:var(--champagne-light);font-size:clamp(.7rem,1.8vw,1rem)}.hero-venue-text{font-family:var(--font-serif);color:var(--ivory-warm);opacity:.85;margin-top:16px;font-size:clamp(.9rem,2vw,1.2rem);font-style:italic}.hero-scroll-indicator{z-index:2;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-text{font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;color:var(--champagne-light);opacity:.7;font-size:.55rem}.scroll-line{background:var(--champagne);width:1px;height:40px;animation:2s ease-in-out infinite scrollPulse}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(.5)}50%{opacity:1;transform:scaleY(1)}}.section{padding:100px 20px;position:relative}.section-header{text-align:center;margin-bottom:60px}.section-label{font-family:var(--font-display);letter-spacing:6px;text-transform:uppercase;color:var(--wine-light);margin-bottom:12px;font-size:clamp(.55rem,1.2vw,.7rem)}.section-title{font-family:var(--font-script);color:var(--wine);text-shadow:0 2px 20px #6b2d3e14;font-size:clamp(2.5rem,6vw,4rem);line-height:1.2}.section-ornament{background:linear-gradient(90deg, transparent, var(--champagne), transparent);width:80px;height:2px;margin:16px auto}.countdown-section{background:var(--wine-deep);text-align:center;padding:80px 20px;position:relative;overflow:hidden}.countdown-section:before{content:"";opacity:.06;background:url(/images/floral-pattern.png) 50%/400px;position:absolute;inset:0}.countdown-heading{font-family:var(--font-script);color:var(--champagne-light);margin-bottom:40px;font-size:clamp(2rem,5vw,3rem);position:relative}.countdown-grid{flex-wrap:wrap;justify-content:center;gap:24px;display:flex;position:relative}.countdown-item{flex-direction:column;align-items:center;min-width:100px;display:flex}.countdown-number{font-family:var(--font-display);color:var(--ivory);font-size:clamp(2.5rem,6vw,4rem);font-weight:300;line-height:1}.countdown-unit{font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;color:var(--champagne);margin-top:8px;font-size:.6rem}.countdown-separator{font-family:var(--font-serif);color:var(--champagne);opacity:.4;align-self:flex-start;margin-top:8px;font-size:2.5rem}.couple-section{background:var(--ivory);padding:100px 20px}.couple-content{text-align:center;max-width:900px;margin:0 auto}.couple-image-frame{border-radius:200px 200px 20px 20px;width:280px;height:380px;margin:0 auto 40px;position:relative;overflow:hidden}.couple-image-frame img{object-fit:cover;width:100%;height:100%}.couple-image-frame:before{content:"";border-radius:inherit;border:2px solid var(--champagne);z-index:2;pointer-events:none;position:absolute;inset:-3px}.couple-verse{font-family:var(--font-serif);color:var(--text-body);max-width:650px;margin:0 auto;font-size:clamp(1.1rem,2.5vw,1.5rem);font-style:italic;line-height:1.8}.couple-verse-ref{font-family:var(--font-display);letter-spacing:3px;color:var(--wine-light);text-transform:uppercase;margin-top:16px;font-size:.7rem}.events-section{background:linear-gradient(180deg, var(--ivory-warm) 0%, var(--ivory) 100%);padding:100px 20px}.events-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px;max-width:1000px;margin:0 auto;display:grid}.event-card{text-align:center;background:#fff;border:1px solid #d4a57433;border-radius:200px 200px 16px 16px;padding:80px 32px 48px;transition:transform .5s,box-shadow .5s;position:relative;overflow:hidden;box-shadow:0 8px 40px #6b2d3e14}.event-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px #6b2d3e26}.event-card:before{content:"";background:linear-gradient(90deg, var(--wine), var(--champagne), var(--wine));height:3px;position:absolute;top:0;left:0;right:0}.event-icon{margin-bottom:20px;font-size:2.5rem;display:block}.event-time{font-family:var(--font-display);color:var(--wine);font-size:clamp(1.5rem,3vw,2rem);font-weight:600}.event-name{font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;color:var(--champagne-dark);margin-top:8px;font-size:.7rem}.event-desc{font-family:var(--font-serif);color:var(--text-muted);margin-top:16px;font-size:1rem;line-height:1.6}.venue-section{background:var(--wine-deep);padding:100px 20px;position:relative;overflow:hidden}.venue-section:before{content:"";opacity:.04;background:url(/images/floral-pattern.png) 50%/400px;position:absolute;inset:0}.venue-content{grid-template-columns:1fr 1fr;align-items:center;gap:60px;max-width:1100px;margin:0 auto;display:grid;position:relative}.venue-image-wrapper{border-radius:16px;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d}.venue-image-wrapper img{width:100%;display:block}.venue-image-wrapper:before{content:"";border-radius:inherit;border:1px solid var(--champagne);opacity:.4;z-index:2;position:absolute;inset:-2px}.venue-info{text-align:left;color:var(--ivory)}.venue-info .section-label{color:var(--champagne)}.venue-info .section-title{color:var(--champagne-light)}.venue-name{font-family:var(--font-elegant);color:var(--ivory);margin-bottom:8px;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:600}.venue-location{font-family:var(--font-serif);color:var(--champagne-light);margin-bottom:32px;font-size:1.2rem;font-style:italic}.venue-map-btn{border:1px solid var(--champagne);color:var(--champagne);font-family:var(--font-display);letter-spacing:3px;text-transform:uppercase;cursor:pointer;background:0 0;align-items:center;gap:10px;padding:14px 36px;font-size:.65rem;text-decoration:none;transition:all .4s;display:inline-flex}.venue-map-btn:hover{background:var(--champagne);color:var(--wine-deep)}.dresscode-section{background:var(--ivory);padding:100px 20px}.dresscode-grid{flex-wrap:wrap;justify-content:center;gap:40px;max-width:700px;margin:0 auto;display:flex}.dresscode-item{flex-direction:column;align-items:center;gap:16px;display:flex}.dresscode-swatch{border:3px solid #fff;border-radius:50%;width:80px;height:80px;transition:transform .4s;box-shadow:0 8px 24px #0000001f}.dresscode-swatch:hover{transform:scale(1.15)}.swatch-wine{background:var(--wine)}.swatch-ivory{background:var(--ivory-warm)}.swatch-champagne{background:var(--champagne)}.dresscode-name{font-family:var(--font-display);letter-spacing:3px;text-transform:uppercase;color:var(--text-body);font-size:.65rem}.officiant-section{background:linear-gradient(180deg, var(--ivory-warm) 0%, var(--ivory) 100%);text-align:center;padding:100px 20px}.officiant-content{max-width:700px;margin:0 auto}.officiant-detail{margin-bottom:32px}.officiant-role{font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;color:var(--champagne-dark);margin-bottom:16px;font-size:.6rem}.officiant-image-wrapper{border:3px solid var(--champagne);border-radius:50%;width:140px;height:140px;margin:0 auto 20px;overflow:hidden;box-shadow:0 8px 30px #0000001a}.officiant-image-wrapper img{object-fit:cover;width:100%;height:100%}.officiant-name{font-family:var(--font-elegant);color:var(--wine);font-size:clamp(1.3rem,3vw,1.8rem);font-weight:500}.officiant-title{font-family:var(--font-serif);color:var(--text-muted);margin-top:4px;font-size:1rem;font-style:italic}.rsvp-section{background:var(--wine-deep);text-align:center;padding:100px 20px;position:relative;overflow:hidden}.rsvp-section:before{content:"";opacity:.04;background:url(/images/floral-pattern.png) 50%/400px;position:absolute;inset:0}.rsvp-content{max-width:500px;margin:0 auto;position:relative}.rsvp-form{flex-direction:column;gap:20px;margin-top:40px;display:flex}.rsvp-input{color:var(--ivory);font-family:var(--font-serif);background:#ffffff0f;border:1px solid #d4a5744d;border-radius:8px;outline:none;padding:16px 24px;font-size:1rem;transition:border-color .3s,background .3s}.rsvp-input::placeholder{color:#fbf8f166}.rsvp-input:focus{border-color:var(--champagne);background:#ffffff1a}.rsvp-select{color:var(--ivory);font-family:var(--font-serif);cursor:pointer;appearance:none;background:#ffffff0f;border:1px solid #d4a5744d;border-radius:8px;outline:none;padding:16px 24px;font-size:1rem}.rsvp-select option{background:var(--wine-deep);color:var(--ivory)}.rsvp-submit{background:var(--champagne);color:var(--wine-deep);font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;cursor:pointer;border:none;border-radius:8px;margin-top:8px;padding:16px 48px;font-size:.7rem;font-weight:600;transition:all .4s}.rsvp-submit:hover{background:var(--champagne-light);transform:translateY(-2px);box-shadow:0 8px 30px #d4a5744d}.wedding-footer{background:var(--wine-deep);text-align:center;border-top:1px solid #d4a57426;padding:60px 20px;position:relative;overflow:hidden}.wedding-footer:before{content:"";opacity:.04;pointer-events:none;background:url(/images/floral-pattern.png) 50%/400px;position:absolute;inset:0}.footer-names{font-family:var(--font-script);color:var(--champagne-light);margin-bottom:8px;font-size:clamp(2rem,5vw,3rem)}.footer-date{font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;color:var(--wine-soft);font-size:.65rem}.footer-hashtag{font-family:var(--font-sans);color:var(--champagne);margin-top:20px;font-size:.85rem;font-weight:400}.footer-made{font-family:var(--font-serif);color:#fbf8f140;margin-top:32px;font-size:.8rem}.journey-section{background:var(--ivory);padding:100px 20px}.journey-timeline{max-width:800px;margin:0 auto;padding:40px 0;position:relative}.timeline-line{background:linear-gradient(180deg, transparent, var(--champagne), transparent);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.journey-step{width:50%;padding:20px 40px;position:relative}.journey-step.left{text-align:right;left:0}.journey-step.right{text-align:left;left:50%}.step-dot{background:var(--wine-deep);border:3px solid var(--champagne);border-radius:50%;width:16px;height:16px;position:absolute;top:30px}.journey-step.left .step-dot{right:-8px}.journey-step.right .step-dot{left:-8px}.step-year{font-family:var(--font-display);color:var(--champagne-dark);font-size:1.2rem;font-weight:600}.step-title{font-family:var(--font-elegant);color:var(--wine);margin:8px 0;font-size:1.5rem}.step-desc{font-family:var(--font-serif);color:var(--text-muted);font-size:1rem}.gallery-section{background:#fff;padding:100px 20px;position:relative}.gallery-section:before{content:"";opacity:.03;filter:invert();background:url(/images/floral-pattern.png) 50%/400px;position:absolute;inset:0}.gallery-marquee-container{z-index:2;width:100vw;padding:40px 0;position:relative;left:50%;overflow:hidden;transform:translate(-50%)}.gallery-marquee{gap:30px;width:max-content;animation:30s linear infinite scrollMarquee;display:flex}.gallery-marquee:hover{animation-play-state:paused}@keyframes scrollMarquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.gallery-image{aspect-ratio:4/5;border:4px solid var(--champagne-dark);border-radius:200px 200px 12px 12px;flex:0 0 320px;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000080}.gallery-image img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.gallery-image:hover img{transform:scale(1.08)}.travel-section{background:var(--ivory);padding:100px 20px}.travel-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px;max-width:900px;margin:0 auto;display:grid}.travel-card{text-align:center;background:#fff;border:1px solid #d4a57426;border-radius:200px 200px 16px 16px;padding:60px 24px 40px;box-shadow:0 8px 30px #6b2d3e0f}.travel-icon{margin-bottom:20px;font-size:2.5rem;display:block}.travel-card h3{font-family:var(--font-display);color:var(--wine);margin-bottom:12px;font-size:1.1rem}.travel-card p{font-family:var(--font-serif);color:var(--text-body);font-size:1rem}.travel-desc{margin-top:12px;font-style:italic;color:var(--text-muted)!important;font-size:.95rem!important}.floral-divider-wrap{text-align:center;background:var(--ivory);padding:20px 0}.floral-divider-wrap img{opacity:.7;width:min(300px,80%)}@media (width<=768px){.journey-timeline{padding:20px 0}.timeline-line{left:20px}.journey-step{width:100%;padding:20px 0 20px 50px;text-align:left!important;left:0!important}.step-dot{left:12px!important}.venue-content{grid-template-columns:1fr}.venue-info{text-align:center}.wedding-nav{gap:16px;padding:14px 20px}.nav-link{letter-spacing:2px;font-size:.55rem}.hero-names{font-size:clamp(3rem,12vw,5rem)}.countdown-grid{flex-wrap:nowrap;gap:4px}.countdown-item{min-width:0}.countdown-number{font-size:2.2rem}.countdown-separator{margin-top:8px;font-size:1.8rem}.events-grid{grid-template-columns:1fr;max-width:400px}}.reveal-up{opacity:0;transition:all .8s cubic-bezier(.16,1,.3,1);transform:translateY(60px)}.reveal-up.visible{opacity:1;transform:translateY(0)}.reveal-scale{opacity:0;transition:all .8s cubic-bezier(.16,1,.3,1);transform:scale(.9)}.reveal-scale.visible{opacity:1;transform:scale(1)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-label{letter-spacing:7px;opacity:1;font-size:clamp(.72rem,1.5vw,.85rem)}.section-title{font-size:clamp(3rem,7vw,4.5rem)}body{font-size:1.1rem;line-height:1.75}.hero-invitation-text{opacity:1;font-size:clamp(.75rem,1.8vw,1rem)}.hero-names{font-size:clamp(4rem,11vw,7.5rem)}.hero-date{letter-spacing:6px;text-align:center;font-size:clamp(.85rem,2vw,1.15rem)}.hero-venue-text{opacity:1;font-size:clamp(1.1rem,2.5vw,1.4rem)}.countdown-heading{font-size:clamp(2.2rem,6vw,3.5rem)}.countdown-number{font-size:clamp(3rem,7vw,4.5rem)}.countdown-unit{letter-spacing:5px;font-size:.75rem}.couple-verse{font-size:clamp(1.2rem,2.8vw,1.7rem);line-height:1.9}.couple-verse-ref{letter-spacing:4px;font-size:.8rem}.event-time{font-size:clamp(1.6rem,3.5vw,2.2rem)}.event-name{letter-spacing:5px;font-size:.8rem}.event-desc{font-size:1.1rem;line-height:1.7}.venue-name{font-size:clamp(2rem,4.5vw,3rem)}.venue-location{font-size:1.3rem}.dresscode-name{letter-spacing:4px;font-size:.75rem}.officiant-name{font-size:clamp(1.5rem,3.5vw,2rem)}.officiant-title{font-size:1.1rem}.officiant-role{letter-spacing:5px;font-size:.72rem}.rsvp-input,.rsvp-select{padding:18px 24px;font-size:1.1rem}.rsvp-submit{letter-spacing:5px;padding:18px 52px;font-size:.8rem}.footer-names{font-size:clamp(2.5rem,6vw,3.5rem)}.footer-date{letter-spacing:5px;font-size:.75rem}.footer-hashtag{font-size:1rem}.footer-made{font-size:.9rem}.nav-link{letter-spacing:4px;font-size:.72rem}.scroll-text{letter-spacing:5px;font-size:.65rem}.rsvp-error{color:var(--champagne-light);font-family:var(--font-serif);background:#ffffff14;border:1px solid #e8c99b47;border-radius:8px;padding:12px 16px;line-height:1.5}.rsvp-submit:disabled{cursor:wait;opacity:.7}.venue-map-btn-disabled,.venue-map-btn-disabled:hover{cursor:not-allowed;opacity:.64;color:var(--champagne);background:0 0}.modal-backdrop{z-index:9999;background:#000000c7;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.registry-modal{background:var(--ivory);text-align:center;border-radius:16px;width:min(90vw,420px);max-height:calc(100vh - 40px);padding:40px;position:relative;overflow:auto;box-shadow:0 24px 70px #00000059}.modal-close-btn{width:36px;height:36px;color:var(--wine);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.5rem;line-height:1;position:absolute;top:14px;right:14px}.modal-close-btn:focus-visible,.venue-map-btn:focus-visible,.rsvp-input:focus-visible,.rsvp-select:focus-visible,.rsvp-submit:focus-visible,.nav-link:focus-visible,.footer-contact a:focus-visible{outline:2px solid var(--champagne-light);outline-offset:3px}.footer-contact{margin-top:28px}.footer-contact-label{font-family:var(--font-display);letter-spacing:3px;text-transform:uppercase;color:#e8c99bb8;margin-bottom:12px;font-size:.62rem}.footer-contact-links{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.footer-contact a{min-height:42px;color:var(--champagne-light);font-family:var(--font-sans);background:#ffffff0a;border:1px solid #d4a57452;border-radius:999px;justify-content:center;align-items:center;padding:10px 18px;font-size:.86rem;text-decoration:none;transition:background .25s,border-color .25s,transform .25s;display:inline-flex}.footer-contact a:hover{background:#d4a5741f;border-color:#e8c99b9e;transform:translateY(-1px)}@media (width<=768px){.wedding-nav{display:none}.hero-content{padding:28px 18px}.hero-date-line{flex-direction:column;gap:10px}.hero-date-ornament{display:none}.section,.couple-section,.events-section,.venue-section,.dresscode-section,.officiant-section,.rsvp-section,.gallery-section{padding:72px 16px}.gallery-image{flex-basis:240px}.registry-modal{padding:34px 22px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.officiant-section{position:relative;overflow:hidden;background:var(--wine-deep)!important}.officiant-section:before{content:"";opacity:.04;pointer-events:none;background:url(/images/floral-pattern.png) 50%/400px;position:absolute;inset:0}.officiant-section>*{z-index:1;position:relative}.officiant-section .section-label,.officiant-section .officiant-name,.officiant-section .officiant-role{color:var(--ivory)!important}.officiant-section .officiant-title{color:var(--champagne)!important}.officiant-section .section-ornament{background:linear-gradient(90deg, transparent, var(--ivory), transparent)!important}.officiant-content{flex-direction:column!important;gap:50px!important;display:flex!important}.officiant-detail{flex-direction:row;text-align:left!important;align-items:center!important;gap:24px!important;margin-bottom:0!important;display:flex!important}.officiant-detail.row-reverse{flex-direction:row-reverse;text-align:right!important}.officiant-detail .officiant-image-wrapper{flex-shrink:0;border-color:var(--champagne-dark)!important;width:120px!important;height:120px!important;margin:0!important}.officiant-detail-text{flex:1}@media (width>=768px){.officiant-detail .officiant-image-wrapper{width:160px!important;height:160px!important}.officiant-detail{gap:40px!important}}.wedding-footer,.wedding-footer p,.wedding-footer .footer-contact-label,.wedding-footer .footer-names{color:#fff!important}.footer-names.gold-foil-text{-webkit-text-fill-color:#fff!important;color:#fff!important;background:0 0!important}.rsvp-section{color:var(--text-dark)!important;background:#fff!important}.rsvp-section:before{display:none!important}.rsvp-section .section-label{color:var(--wine-light)!important}.rsvp-section .section-title{color:var(--wine)!important;text-shadow:none!important}.rsvp-section .section-ornament{background:linear-gradient(90deg, transparent, var(--champagne-dark), transparent)!important}.rsvp-section .rsvp-input,.rsvp-section .rsvp-select{color:var(--text-dark)!important;border:1px solid var(--champagne)!important;background:#fbf8f166!important}.rsvp-section .rsvp-input::placeholder{opacity:.6;color:var(--text-muted)!important}.rsvp-section .rsvp-select option{color:var(--text-dark)!important;background:#fff!important}.rsvp-section .rsvp-error{color:var(--wine-deep)!important;background:#fdf3f5!important;border:1px solid #e2a6b2!important}.rsvp-section .rsvp-submit{background:var(--wine)!important;color:#fff!important}.rsvp-section .rsvp-submit:hover{background:var(--wine-light)!important;box-shadow:0 8px 30px #6b2d3e40!important}.desktop-scroll{display:flex}.mobile-scroll{display:none}@media (width<=768px){.desktop-scroll{display:none!important}.mobile-scroll{display:flex!important}}
