@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;600&family=Montserrat:wght@300;400;500&display=swap";:root{--color-primary: #1a2639;--color-secondary: #5d6e7e;--color-accent: #d4b483;--color-accent-light: #f2e9dc;--color-background: #fcfaf7;--color-text: #333333;--color-light-text: #777777;--font-serif: "Cormorant Garamond", serif;--font-sans: "Montserrat", sans-serif;--spacing-unit: 8px;--border-radius: 4px;--box-shadow: 0 4px 12px rgba(0, 0, 0, .05);--transition: all .3s cubic-bezier(.25, .8, .25, 1);--navbar-height: 70px;--navbar-height-scrolled: 60px;--watercolor-opacity: .12}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-background);line-height:1.6;font-weight:300;font-size:16px;position:relative}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:url(/assets/watercolor-bg-optimized-CMYDowBI.jpg);background-position:center;background-size:cover;background-repeat:no-repeat;z-index:-2}body:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:#fcfaf7d9;z-index:-1}.watercolor-overlay{position:absolute;opacity:var(--watercolor-opacity);pointer-events:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:400;line-height:1.2}.navbar{height:var(--navbar-height);padding:0;position:fixed;width:100%;top:0;z-index:1000;background:#fcfaf7f2;border-bottom:1px solid rgba(212,180,131,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:var(--transition);box-shadow:0 2px 10px #0000000d;align-items:center}.navbar.scrolled{height:var(--navbar-height-scrolled);box-shadow:var(--box-shadow);background:#fcfaf7fa}.nav-container{max-width:1300px;width:100%;margin:0 auto;padding:0 calc(var(--spacing-unit) * 4);display:flex;justify-content:space-between;align-items:center;height:100%}.nav-logo{font-family:var(--font-serif);font-size:2rem;color:var(--color-primary);text-decoration:none;font-weight:600;letter-spacing:1px;transition:var(--transition);line-height:1;white-space:nowrap}.nav-logo:hover{color:var(--color-accent);transform:translateY(-2px)}.nav-menu{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 5);list-style:none;margin:0;padding:0;height:100%}.nav-menu a{color:var(--color-secondary);text-decoration:none;font-size:.9rem;letter-spacing:1.2px;text-transform:uppercase;font-weight:500;transition:var(--transition);padding:0 5px;display:flex;align-items:center;height:100%;position:relative}.nav-menu a:after{content:"";position:absolute;width:0;height:2px;bottom:0;left:50%;transform:translate(-50%);background-color:var(--color-accent);transition:width .3s ease}.nav-menu a:hover{color:var(--color-primary)}.nav-menu a:hover:after{width:100%}.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;font-size:1.5rem;color:var(--color-primary);transition:var(--transition)}.mobile-menu-btn:hover{color:var(--color-accent);transform:scale(1.1)}.rsvp-button{color:var(--color-background)!important;background-color:var(--color-accent);padding:10px 20px!important;border-radius:20px;font-weight:500!important;box-shadow:0 2px 4px #0000001a;transition:all .3s ease!important;height:auto!important;display:inline-flex!important;align-items:center;margin-left:10px}.rsvp-button:hover{background-color:var(--color-primary)!important;transform:translateY(-2px)!important;box-shadow:0 4px 8px #00000026!important}.rsvp-button:after{display:none!important}@media (max-width: 992px){.nav-container{padding:0 calc(var(--spacing-unit) * 3)}.section-container{padding:0 calc(var(--spacing-unit) * 2)}.hero h1{font-size:3.5rem}.overview-cards,.destinations-grid,.info-columns,.trip-ideas-container,.train-highlights{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.journey-cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.polaroid-gallery{max-width:95%}body{background-position:center}}.map-container-admin{height:600px;width:100%;border-radius:4px;margin-top:20px;position:relative;background-color:#f0f0f0}.map-container-admin .loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mapboxgl-popup{max-width:200px;font-family:var(--font-sans);font-size:.9rem}.mapboxgl-popup-content{padding:10px 15px;border-radius:4px;box-shadow:0 2px 8px #00000026}@media (max-width: 768px){.section-container{padding:0}.hero h1{font-size:2.8rem}.nav-menu{position:fixed;top:0;right:-100%;width:70%;height:100vh;background:#fff;flex-direction:column;align-items:center;justify-content:center;transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:-5px 0 15px #0000001a;gap:20px;padding:0;z-index:1001}.nav-menu.active{right:0}.nav-menu li{margin:calc(var(--spacing-unit) * 1) 0;width:100%;text-align:center}.nav-menu a{display:block;padding:12px 0;width:100%;font-size:1rem}.nav-menu a:after{display:none}.nav-menu a:hover{background-color:var(--color-accent-light)}.mobile-menu-btn{display:block;z-index:1002}.info-card{padding:calc(var(--spacing-unit) * 3)}body:before{background-position:center;background-size:300% auto}body:after{background:#fcfaf7e6}.watercolor-overlay{display:none}body{background-attachment:unset;background-position:unset;background-size:unset}.hero:before{background-attachment:scroll;animation:none}.hero-content{width:100%;padding:0 calc(var(--spacing-unit) * 3)}.hero .date{font-size:3rem}.nav-menu .rsvp-button{width:80%;margin:10px auto;text-align:center}}.hero{min-height:100vh;height:auto;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,var(--color-background) 0%,var(--color-accent-light) 100%);position:relative;overflow:hidden;padding:calc(var(--spacing-unit) * 8) 0}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url(/assets/watercolor-bg-optimized-CMYDowBI.jpg) no-repeat center bottom;background-size:cover;opacity:.15;z-index:0;filter:saturate(.8) brightness(1.1);animation:subtle-zoom 30s infinite alternate ease-in-out}@keyframes subtle-zoom{0%{transform:scale(1)}to{transform:scale(1.05)}}.hero-content{max-width:1200px;width:90%;padding:0 calc(var(--spacing-unit) * 8);position:relative;z-index:1;animation:fade-up 1.2s ease-out forwards}@keyframes fade-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero h1{font-family:var(--font-serif);font-size:4.5rem;margin-bottom:calc(var(--spacing-unit) * 2);font-weight:300;color:var(--color-primary);letter-spacing:1px;line-height:1.3;padding-top:10px;padding-bottom:5px;overflow:visible}.hero p{font-size:1.1rem;letter-spacing:3px;text-transform:uppercase;color:var(--color-secondary);margin-bottom:var(--spacing-unit);font-weight:300}.hero .date{color:var(--color-accent);font-family:var(--font-serif);font-size:2.5rem;letter-spacing:2px;margin-top:calc(var(--spacing-unit) * 2);font-style:italic;line-height:1.1;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.scroll-indicator{position:absolute;bottom:calc(var(--spacing-unit) * 4);left:50%;transform:translate(-50%);animation:bounce 2s infinite;color:var(--color-accent);font-size:2rem;cursor:pointer}@keyframes bounce{0%{transform:translateY(0) translate(-50%)}20%{transform:translateY(0) translate(-50%)}40%{transform:translateY(-20px) translate(-50%)}50%{transform:translateY(0) translate(-50%)}60%{transform:translateY(-10px) translate(-50%)}80%{transform:translateY(0) translate(-50%)}to{transform:translateY(0) translate(-50%)}}.info-card{background:#fff;padding:calc(var(--spacing-unit) * 5);border-radius:var(--border-radius);margin-bottom:calc(var(--spacing-unit) * 4);border:none;box-shadow:var(--box-shadow);transition:var(--transition);position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out,box-shadow .3s ease,transform .3s ease}.info-card.animate{opacity:1;transform:translateY(0)}.info-card:nth-child(2){transition-delay:.2s}.info-card:nth-child(3){transition-delay:.4s}.info-card:nth-child(4){transition-delay:.6s}.info-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--color-accent);opacity:0;transition:var(--transition)}.info-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #0000001a;background-color:#ffffffe6}.info-card:hover:before{opacity:1}.info-card h3{font-family:var(--font-serif);color:var(--color-primary);margin-bottom:calc(var(--spacing-unit) * 3);font-size:1.8rem;font-weight:400;position:relative;padding-bottom:calc(var(--spacing-unit) * 1.5)}.info-card h3:after{content:"";position:absolute;bottom:0;left:0;width:40px;height:1px;background-color:var(--color-accent)}.info-card p{color:var(--color-light-text);font-style:italic;margin-bottom:calc(var(--spacing-unit) * 3)}.info-card ul{list-style:none;margin-left:0}.info-card li{margin-bottom:calc(var(--spacing-unit) * 2);position:relative;color:var(--color-secondary);padding-left:calc(var(--spacing-unit) * 3)}.info-card li:before{content:"•";position:absolute;left:0;color:var(--color-accent);font-size:1.2rem}.note{font-style:italic;color:var(--color-light-text);margin-top:calc(var(--spacing-unit) * 3);font-size:.9rem;border-top:1px solid var(--color-accent-light);padding-top:calc(var(--spacing-unit) * 2)}.button{display:inline-block;padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 4);background:var(--color-accent);color:#fff;text-decoration:none;border-radius:2px;margin-top:calc(var(--spacing-unit) * 3);font-size:.85rem;letter-spacing:1.5px;text-transform:uppercase;transition:var(--transition);border:1px solid var(--color-accent);font-weight:400}.button:hover{background:transparent;color:var(--color-accent);transform:translateY(-2px)}.section-container{max-width:1200px;margin:calc(var(--spacing-unit) * 15) auto;padding:0 calc(var(--spacing-unit) * 3);position:relative;overflow-x:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.section-title{font-family:var(--font-serif);font-size:2.5rem;color:var(--color-primary);text-align:center;margin-bottom:calc(var(--spacing-unit) * 8);font-weight:400;position:relative;padding-bottom:calc(var(--spacing-unit) * 2);animation:fadeIn 1s ease-out both}.section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:1px;background-color:var(--color-accent)}.section-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:calc(var(--spacing-unit) * 4)}.dress-code-section{margin-bottom:calc(var(--spacing-unit) * 4)}.transport-icon{width:100%;height:120px;margin:calc(var(--spacing-unit) * 4) 0;display:flex;justify-content:center;align-items:center}.airplane{fill:none;stroke:var(--color-primary);stroke-width:1.5}.airplane .body{fill:#fff}.airplane .wing,.airplane .tail{stroke-linecap:round;stroke-linejoin:round}.airplane .window{fill:var(--color-accent-light);stroke:var(--color-primary)}.train{fill:none;stroke:var(--color-primary);stroke-width:1.5}.train .engine,.train .body{fill:#fff}.train .window{fill:var(--color-accent-light)}.train .wheel{fill:#fff}.train .wheel-inner{fill:var(--color-primary)}.train .detail{stroke:var(--color-primary);stroke-width:1.5}.airplane,.train{transition:var(--transition)}.airplane:hover{transform:translateY(-5px)}.train:hover{transform:translate(10px)}footer{text-align:center;padding:calc(var(--spacing-unit) * 10) 0 calc(var(--spacing-unit) * 6);background:#ffffffb3;border-top:1px solid var(--color-accent-light);color:var(--color-secondary);position:relative;overflow:hidden}footer:after{content:"";position:absolute;top:calc(var(--spacing-unit) * 4);left:50%;transform:translate(-50%);width:30px;height:1px;background-color:var(--color-accent);z-index:1}.section-container:before{display:none}footer p{margin-bottom:var(--spacing-unit);font-size:.9rem;position:relative;z-index:2}footer a{color:var(--color-primary);text-decoration:none;transition:var(--transition);position:relative;z-index:2}footer a:hover{color:var(--color-accent)}.footer-nav{margin-top:calc(var(--spacing-unit) * 4);font-size:.85rem;color:var(--color-light-text);position:relative;z-index:2}.footer-nav a{color:var(--color-secondary);margin:0 calc(var(--spacing-unit));transition:var(--transition)}.footer-nav a:hover{color:var(--color-accent)}@media (max-width: 992px){.hero h1{font-size:3.5rem}.section-content{grid-template-columns:1fr}body{background-position:center}}@media (max-width: 768px){.hero h1{font-size:2.8rem}.nav-menu{position:fixed;top:0;right:-100%;width:70%;height:100vh;background:#fff;flex-direction:column;align-items:center;justify-content:center;transition:var(--transition);box-shadow:-5px 0 15px #0000001a}.nav-menu.active{right:0}.nav-menu li{margin:calc(var(--spacing-unit) * 2) 0}.mobile-menu-btn{display:block}.info-card{padding:calc(var(--spacing-unit) * 3)}body:before{background-position:center;background-size:300% auto}body:after{background:#fcfaf7e6}.watercolor-overlay{display:none}body{background-attachment:unset;background-position:unset;background-size:unset}.hero:before{background-attachment:scroll;animation:none}.hero-content{width:100%;padding:0 calc(var(--spacing-unit) * 3)}}@media (max-width: 480px){.hero h1{font-size:2.2rem}.hero p{font-size:1.1rem}.section-title{font-size:2rem}.info-card h3{font-size:1.5rem}.hero .date{font-size:3.25rem}body:before{background-size:350% auto}body{background-size:unset}.hero{padding:calc(var(--spacing-unit) * 5) 0}.hero:before{background-position:center top}.hero-content{padding:0 calc(var(--spacing-unit) * 2)}body:after{display:block}.recommendation-tab-layout{gap:15px}.recommendation-tab-layout .recommendation-list{max-width:320px}}.rsvp-link-container{text-align:center;margin-bottom:40px}.rsvp-page-link{font-size:1.2rem!important;padding:15px 30px!important;display:inline-flex;align-items:center;gap:10px}.rsvp-deadline{margin-top:15px;font-size:1rem;color:var(--color-secondary);font-style:italic}.rsvp-button{color:var(--color-background)!important;background-color:var(--color-accent);padding:8px 16px!important;border-radius:var(--border-radius);font-weight:500!important}.rsvp-button:hover{background-color:var(--color-primary)}.rsvp-button:after{display:none}.rsvp-step{animation:fadeIn .5s ease-in-out}.rsvp-step h3{margin-bottom:calc(var(--spacing-unit) * 3);text-align:center}.rsvp-step p{text-align:center;margin-bottom:calc(var(--spacing-unit) * 3)}#name-form{display:flex;gap:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 2)}#guest-name{flex:1;padding:12px;border:1px solid var(--color-secondary);border-radius:var(--border-radius);font-family:var(--font-sans);font-size:16px}.error-message{color:#e74c3c;font-size:14px;text-align:center}.party-list{list-style:none;margin:calc(var(--spacing-unit) * 2) 0;padding:calc(var(--spacing-unit) * 2);background-color:var(--color-accent-light);border-radius:var(--border-radius)}.party-list li{padding:calc(var(--spacing-unit)) 0;border-bottom:1px solid rgba(212,180,131,.3);display:flex;align-items:center}.party-list li:before{content:"•";color:var(--color-accent);margin-right:calc(var(--spacing-unit));font-size:20px}.party-list li:last-child{border-bottom:none}.button-group{display:flex;gap:calc(var(--spacing-unit) * 2);justify-content:center;margin-top:calc(var(--spacing-unit) * 3)}.button-secondary{background-color:var(--color-secondary)}.button-secondary:hover{background-color:#4a5966}.menu-selection{margin-bottom:calc(var(--spacing-unit) * 4);padding-bottom:calc(var(--spacing-unit) * 2);border-bottom:1px solid var(--color-accent-light)}.menu-selection:last-child{border-bottom:none}.form-group{margin-bottom:calc(var(--spacing-unit) * 2)}.form-group label{display:block;margin-bottom:calc(var(--spacing-unit));font-weight:400;color:var(--color-secondary)}.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid var(--color-secondary);border-radius:var(--border-radius);font-family:var(--font-sans);font-size:14px}.form-group textarea{resize:vertical;min-height:100px}.info-block{background-color:var(--color-accent-light);padding:calc(var(--spacing-unit) * 2);border-radius:var(--border-radius);margin-bottom:calc(var(--spacing-unit) * 3)}.info-block h5{margin-bottom:calc(var(--spacing-unit));color:var(--color-primary)}.confirmation-message{font-weight:500;color:var(--color-accent);font-size:18px;margin-top:calc(var(--spacing-unit) * 2);text-align:center}@media (max-width: 768px){.rsvp-container{padding:calc(var(--spacing-unit) * 2)}#name-form,.button-group{flex-direction:column}}body{font-family:Montserrat,Myriad Pro,Arial,sans-serif}.nav-logo,.section-title{font-family:Cormorant Garamond,serif;font-weight:500}.hero-content h1{font-family:Great Vibes,cursive;font-weight:400;font-size:5.5rem;letter-spacing:.02em;background:linear-gradient(45deg,#d4b483 10%,#e5c894,#d4b483 90%);background-size:200% auto;color:transparent;-webkit-background-clip:text;background-clip:text;animation:shine 3s linear infinite}@keyframes shine{to{background-position:200% center}}.hero-content h1 span.ampersand{font-size:4.5rem;display:inline-block;margin:0 .1em;vertical-align:-.05em}.nav-logo{font-weight:500;letter-spacing:.05em}.section-title{font-weight:500;letter-spacing:.03em;text-transform:uppercase;font-size:1.8rem;color:#5d6e7e}.edit-notice{background-color:#fff3cd;border-left:5px solid #ffeeba;padding:10px;margin-bottom:15px;color:#856404;border-radius:4px;font-weight:500}.loading{display:inline-block;margin-left:10px;width:20px;height:20px;border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#3498db;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}#debug-panel{position:fixed;bottom:0;right:0;width:300px;max-height:400px;overflow-y:auto;background-color:#000c;color:#0f0;font-family:monospace;font-size:12px;padding:10px;z-index:1000;display:none;border-top-left-radius:5px}#debug-toggle{position:fixed;bottom:10px;right:10px;background-color:#333;color:#fff;border:none;border-radius:4px;padding:5px 10px;z-index:1001;cursor:pointer}.debug-entry{margin-bottom:5px;border-bottom:1px solid #333;padding-bottom:5px}.debug-success{color:#4caf50}.debug-error{color:#f44336}.debug-warning{color:#ffc107}.debug-info{color:#2196f3}.map-container{position:relative;width:100%;background-color:#f9f9f9;border-radius:8px;overflow:hidden;box-shadow:0 8px 24px #00000026;margin-bottom:30px}.airport-map-container{position:relative;width:100%;background-color:#f9f9f9;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0000001a;margin:15px 0}.airport-map{width:100%;height:200px;border-radius:8px}.airport-map-info{position:absolute;bottom:10px;right:10px;background-color:#ffffffe6;padding:6px 10px;border-radius:4px;font-size:14px;font-weight:500;color:#333;box-shadow:0 1px 4px #0003}#map{width:100%;height:500px}#travel-overview-map,#local-detail-map{width:100%;height:600px;border-radius:8px}.map-legend{position:absolute;bottom:15px;left:15px;background-color:#ffffffe6;padding:12px 16px;border-radius:8px;box-shadow:0 2px 8px #0003;z-index:1;max-width:200px;border:1px solid rgba(0,0,0,.05)}.legend-item{display:flex;align-items:center;margin-bottom:8px;font-size:14px;color:#333}.legend-title{font-weight:600;margin-bottom:8px;font-size:15px;color:#222;padding-bottom:4px;border-bottom:1px solid #eee}.legend-marker{width:16px;height:16px;border-radius:50%;margin-right:8px}.airport-marker{background-color:#ff5252}.venue-marker{background-color:#536dfe}.train-marker{background-color:#4caf50}.hotel-marker{background-color:#ff9800}.attraction-marker{background-color:#9c27b0}.legend-route{width:20px;height:3px;background-color:#ff9e80;margin-right:8px}.local-route{background-color:#69f0ae}.section-description{text-align:center;color:#666;font-style:italic;max-width:800px;margin:20px auto 30px}#details .section-content{padding:0 15px}.map-section .section-content{padding:0;max-width:1200px;margin:0 auto}@media (max-width: 768px){#map{height:350px}#travel-overview-map,#local-detail-map{height:450px}}.custom-marker{width:35px;height:35px;display:flex;justify-content:center;align-items:center;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0000004d}.church-marker{background-color:#536dfe;color:#fff;font-size:18px}.reception-marker{background-color:#9c27b0;color:#fff;font-size:18px}.hotel-marker{background-color:#ff9800;color:#fff;font-size:18px}.airport-marker{background-color:#ff5252;color:#fff;font-size:16px}.train-marker{background-color:#4caf50;color:#fff;font-size:16px}.attraction-marker{background-color:#9c27b0;color:#fff;font-size:16px}.default-marker{background-color:#333;color:#fff;font-size:16px}.legend-item i{margin-right:8px;font-size:14px}.faq-container{max-width:800px;margin:0 auto}.faq-item{margin-bottom:24px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px}.faq-question{padding:0 0 10px;border-bottom:1px solid var(--color-accent-light);margin-bottom:10px}.faq-question h3{margin:0;font-size:18px;color:#333;transition:color .3s ease}.faq-answer{padding:0}.faq-answer p{margin:0;padding:10px 0 0;color:#555;line-height:1.7}.loading-indicator{text-align:center;padding:20px;color:#704d97;font-size:18px}.loading-indicator i{margin-right:10px}.faq-error{text-align:center;padding:20px;margin:20px 0;background-color:#fff3cd;border-left:5px solid #ffeeba;color:#856404;border-radius:8px}.faq-error i{font-size:24px;margin-bottom:10px;color:#f44336}.faq-error p{margin-bottom:15px}.timeline-container{max-width:900px;margin:0 auto;padding:20px 0}.timeline{position:relative;padding:20px 0}.timeline:before{content:"";position:absolute;top:0;bottom:0;width:4px;background:linear-gradient(to bottom,#e9d0b3,#d4b483);left:50px;margin-left:-2px;border-radius:2px}.timeline-item{position:relative;margin-bottom:50px;padding-left:80px}.timeline-date{position:absolute;width:70px;height:70px;left:0;background-color:#d4b483;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:500;font-size:14px;box-shadow:0 4px 10px #d4b4834d;z-index:2;line-height:1.2;font-family:Montserrat,Myriad Pro,sans-serif}.timeline-icon{position:absolute;left:20px;top:50%;transform:translateY(-50%);width:40px;height:40px;background-color:#f7f2fc;border-radius:50%;display:flex;justify-content:center;align-items:center;color:#d4b483;font-size:18px}.icon-ceremony,.icon-reception,.icon-dinner,.icon-party,.icon-brunch{background-color:#fff3cd;color:#d4b483}@media (max-width: 768px){.timeline-content{padding-left:60px}.timeline-icon{width:30px;height:30px;font-size:14px;left:15px}}.timeline-content h3{margin:0 0 10px;color:#5d6e7e;font-size:22px;font-family:Cormorant Garamond,"BonVivant Serif",serif;font-weight:600}.timeline-time{font-weight:600;font-size:18px;color:#d4b483;margin:0 0 5px;font-family:Montserrat,Myriad Pro,sans-serif}.timeline-location{font-weight:500;margin:0 0 10px;color:#5d6e7e}.timeline-description{margin:10px 0 0;color:#6b7c8c}.timeline-item:hover .timeline-content{transform:translateY(-5px);box-shadow:0 10px 20px #00000026}@media (max-width: 768px){.timeline:before{left:30px}.timeline-item{padding-left:60px}.timeline-date{width:50px;height:50px;font-size:12px}.timeline-content h3{font-size:18px}.timeline-time{font-size:16px}}#countdown{display:flex;justify-content:center;margin:30px 0;gap:20px}.countdown-item{display:flex;flex-direction:column;align-items:center;min-width:80px}.countdown-number{font-size:2.5rem;font-weight:700;color:#d4b483;margin-bottom:5px;font-family:Cormorant Garamond,serif}.countdown-label{font-size:.9rem;color:#5d6e7e;text-transform:uppercase;letter-spacing:1px;font-family:Montserrat,Myriad Pro,sans-serif}@media (max-width: 768px){#countdown{gap:10px}.countdown-item{min-width:60px}.countdown-number{font-size:1.8rem}.countdown-label{font-size:.7rem}}.rsvp-container h3{font-family:Cormorant Garamond,serif;font-weight:500;font-size:28px;margin-bottom:20px;color:#5d6e7e;text-transform:uppercase;letter-spacing:.05em}.button{font-family:Montserrat,Myriad Pro,sans-serif;font-weight:400;letter-spacing:.1em;text-transform:uppercase;background-color:#d4b483;transition:all .3s ease}.button:hover{background-color:#b89966;color:#fff}.info-card h3{font-family:Cormorant Garamond,serif;font-weight:500;font-size:24px;color:#5d6e7e;margin-bottom:15px;text-transform:uppercase;letter-spacing:.05em}.faq-question h3{font-family:Cormorant Garamond,serif;font-weight:500;font-size:20px;text-transform:uppercase;letter-spacing:.05em}.faq-answer p{font-family:Montserrat,Myriad Pro,sans-serif;line-height:1.6}footer{font-family:Montserrat,Myriad Pro,sans-serif;font-weight:300;letter-spacing:.03em}.hero-content:after{content:"";display:block;width:100px;height:1px;background-color:#d4b483;margin:30px auto 0}.section-title:after{content:"";display:block;width:80px;height:1px;background-color:#d4b483;margin:10px auto 0}.timeline-content h3{font-family:Cormorant Garamond,serif;font-weight:500;color:#5d6e7e;font-size:22px;text-transform:uppercase;letter-spacing:.05em}.together-text{font-family:Cormorant Garamond,serif;font-weight:300;font-size:1.2rem;letter-spacing:.2em;margin-bottom:20px;color:#5d6e7e;text-shadow:1px 1px 2px rgba(0,0,0,.15)}.formal-invitation{font-family:Cormorant Garamond,serif;font-weight:400;font-size:1.2rem;letter-spacing:.15em;margin-top:20px;color:#5d6e7e;text-shadow:1px 1px 2px rgba(0,0,0,.15)}.venue{font-family:Cormorant Garamond,serif;font-weight:300;font-size:1.2rem;letter-spacing:.15em;margin-top:10px;color:#5d6e7e;line-height:1.6;text-shadow:1px 1px 2px rgba(0,0,0,.15)}.timeline-map{width:100%;height:180px;border-radius:8px;margin:15px 0;box-shadow:0 2px 8px #0000001a}.timeline-content{background-color:#fff;padding:20px 25px 20px 70px;border-radius:8px;box-shadow:0 6px 16px #0000001a;transition:all .3s ease;position:relative}.recommendation-items{display:flex;flex-direction:column;gap:20px;position:absolute;top:0;left:0;width:100%;opacity:0;visibility:hidden;height:600px;overflow-y:auto;padding-right:10px;transition:opacity .3s ease-out,visibility 0s linear .3s}.recommendation-item{display:flex;background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.info-cards-container{display:flex;flex-wrap:wrap;justify-content:center;gap:30px;align-items:flex-start}.details-card{flex:1;min-width:250px;max-width:320px;text-align:center}.story-timeline .timeline-item{margin-bottom:40px}.party-container{display:flex;flex-wrap:wrap;justify-content:center;gap:30px;margin-top:30px}.party-group{flex:1;min-width:300px;max-width:500px}.party-side-title{font-family:Cormorant Garamond,serif;text-align:center;font-size:28px;margin-bottom:25px;color:#5d6e7e}.party-members{display:flex;flex-direction:column;gap:25px}.party-member{background-color:#fff;border-radius:8px;padding:25px;box-shadow:0 4px 12px #0000001a;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.party-member:hover{transform:translateY(-5px);box-shadow:0 10px 20px #00000026}.member-photo{width:120px;height:120px;border-radius:50%;margin:0 auto 15px;overflow:hidden;border:3px solid #d4b483}.placeholder-photo{background-color:#f1f1f1;display:flex;justify-content:center;align-items:center;font-size:40px;color:#d4b483}.member-name{font-family:Cormorant Garamond,serif;font-size:22px;margin-bottom:5px;color:#5d6e7e}.member-role{font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:13px;margin-bottom:15px;color:#d4b483}.member-bio{font-size:14px;line-height:1.6;color:#6b7c8c}.recommendation-categories{display:flex;justify-content:center;margin-bottom:30px}.recommendation-category{padding:10px 20px;cursor:pointer;text-align:center;border-bottom:2px solid transparent;margin:0 10px;transition:all .3s ease}.recommendation-category i{display:block;font-size:24px;margin-bottom:8px;color:#5d6e7e}.recommendation-category span{font-size:14px;font-weight:500}.recommendation-category.active{border-bottom-color:#d4b483}.recommendation-category.active i,.recommendation-category.active span{color:#d4b483}.recommendation-items{display:none;flex-direction:column;gap:20px}.recommendation-items.active{display:flex}.recommendation-item{display:flex;background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease}.recommendation-item:hover{transform:translateY(-5px)}.recommendation-image{width:150px;min-height:150px;background-color:#f1f1f1;display:flex;justify-content:center;align-items:center;font-size:40px;color:#d4b483}.recommendation-details{padding:20px;flex:1}.recommendation-details h3{font-family:Cormorant Garamond,serif;margin-top:0;margin-bottom:5px;color:#5d6e7e;font-size:22px}.recommendation-address{font-size:14px;color:#6b7c8c;margin-bottom:10px;font-style:italic}.recommendation-description{font-size:14px;line-height:1.6;color:#333;margin-bottom:15px}.recommendation-meta{display:flex;justify-content:space-between;font-size:13px}.price-range{color:#6b7c8c}.view-map{color:#d4b483;text-decoration:none}.view-map:hover{text-decoration:underline}.registry-intro{text-align:center;max-width:700px;margin:0 auto 40px;color:#6b7c8c;line-height:1.6;font-style:italic}.registry-options{display:flex;flex-wrap:wrap;justify-content:center;gap:30px}.registry-option{flex:1;min-width:250px;max-width:300px;background-color:#fff;border-radius:8px;padding:30px 20px;box-shadow:0 4px 12px #0000001a;text-align:center;transition:transform .3s ease}.registry-option:hover{transform:translateY(-5px)}.registry-option i{font-size:36px;color:#d4b483;margin-bottom:15px}.registry-option h3{font-family:Cormorant Garamond,serif;margin-bottom:10px;color:#5d6e7e}.registry-option p{color:#6b7c8c;margin-bottom:20px;font-size:14px}.info-cards-container{display:flex;flex-wrap:wrap;justify-content:center;gap:30px}.details-card{flex:1;min-width:250px;max-width:300px;text-align:center}.details-icon{font-size:36px;color:#d4b483;margin-bottom:15px}.weekend-timeline{max-width:800px;margin:0 auto}.weekend-day{margin-bottom:40px;border-left:4px solid #e9d0b3;padding-left:30px;position:relative}.weekend-day:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background-color:#d4b483;left:-12px;top:5px}.featured-day{border-left-color:#d4b483}.featured-day:before{background-color:#d4b483;width:25px;height:25px;left:-14px}.day-header{margin-bottom:20px}.day-header h3{font-family:Cormorant Garamond,serif;margin:0;font-size:26px;color:#5d6e7e}.day-subtitle{font-style:italic;margin:5px 0 0;color:#d4b483}.day-events{margin-left:15px}.day-description{font-style:italic;color:#6b7c8c}.day-event{background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 4px 12px #0000001a;margin-bottom:20px}.event-time{font-weight:600;color:#d4b483;display:block;margin-bottom:5px}.event-title{font-family:Cormorant Garamond,serif;margin:0 0 10px;font-size:22px;color:#5d6e7e}.event-location{font-weight:500;margin:0 0 15px;color:#5d6e7e}.event-description{color:#6b7c8c;margin-bottom:15px;font-size:14px;line-height:1.6}.event-note{font-style:italic;font-size:13px;color:#6b7c8c;margin:0}@media (max-width: 768px){.party-container,.registry-options,.info-cards-container{flex-direction:column;align-items:center}.party-group,.registry-option,.details-card{max-width:100%}.recommendation-item{flex-direction:column}.recommendation-image{width:100%;height:150px}.recommendation-categories{flex-wrap:wrap;gap:10px}.recommendation-category{margin:0 5px}}.kid-friendly-card{margin-top:20px}.kid-friendly-card .details-icon{font-size:36px;color:#d4b483;margin-bottom:15px}.kid-friendly-card h3{font-family:Cormorant Garamond,serif;margin-bottom:10px;color:#5d6e7e}.kid-friendly-card p{margin-bottom:8px}.kid-friendly-card .note{font-size:.9rem;color:#6b7c8c;font-style:italic}.highlight{background-color:#fff3cd;color:#856404;padding:3px 8px;border-radius:4px;font-weight:500;display:inline-block;font-size:.9em;border-left:3px solid #d4b483}.input-help{font-size:.8rem;color:#777;margin-top:5px;font-style:italic}.photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px;margin-bottom:40px}.photo-item{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.photo-item:hover{transform:translateY(-5px);box-shadow:0 10px 20px #00000026}.photo-wrapper{height:280px;overflow:hidden;position:relative}.photo-wrapper.landscape{height:200px}.photo-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.photo-item:hover .photo-img{transform:scale(1.05)}.photo-caption{padding:15px;margin:0;font-size:.9rem;color:#5d6e7e;text-align:center;font-style:italic}.gallery-nav{display:flex;justify-content:center;gap:20px;margin-top:20px}.gallery-nav-btn{width:45px;height:45px;border-radius:50%;background-color:#fff;border:none;box-shadow:0 2px 8px #00000026;display:flex;justify-content:center;align-items:center;cursor:pointer;color:#d4b483;transition:all .3s ease}.gallery-nav-btn:hover{background-color:#d4b483;color:#fff;box-shadow:0 4px 12px #d4b4834d}@media (max-width: 768px){.photo-gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:15px}.photo-wrapper{height:220px}.photo-wrapper.landscape{height:160px}}.collage-gallery{position:relative;width:100%;height:900px;margin:0 auto 40px;max-width:1200px}.collage-item{position:absolute;border-radius:8px;overflow:hidden;box-shadow:0 6px 16px #00000026;transition:transform .3s ease,box-shadow .3s ease;background-color:#fff;padding:10px;transform:rotate(var(--rotation));z-index:var(--z-index)}.collage-item:hover{transform:rotate(var(--rotation)) scale(1.05);box-shadow:0 12px 24px #0003;z-index:10}.collage-img{width:100%;height:100%;object-fit:cover;border-radius:4px}.collage-caption{position:absolute;bottom:15px;left:10px;right:10px;background-color:#ffffffd9;padding:8px;border-radius:4px;font-size:.85rem;color:#5d6e7e;text-align:center;font-style:italic;opacity:0;transition:opacity .3s ease}.collage-item:hover .collage-caption{opacity:1}@media (max-width: 768px){.collage-gallery{height:2400px;position:relative}.collage-item{width:75%!important;max-width:280px;height:auto!important;aspect-ratio:1 / 1.2}.collage-item:nth-child(3n+1){left:5%!important;right:auto!important}.collage-item:nth-child(3n+2){left:30%!important;right:auto!important;z-index:5!important}.collage-item:nth-child(3n+3){left:auto!important;right:5%!important}.collage-item:nth-child(1){top:30px!important}.collage-item:nth-child(2){top:100px!important}.collage-item:nth-child(3){top:50px!important}.collage-item:nth-child(4){top:280px!important}.collage-item:nth-child(5){top:360px!important}.collage-item:nth-child(6){top:300px!important}.collage-item:nth-child(7){top:530px!important}.collage-item:nth-child(8){top:620px!important}.collage-item:nth-child(9){top:550px!important}.collage-item:nth-child(10){top:780px!important}.collage-item:nth-child(11){top:880px!important}.collage-item:nth-child(12){top:800px!important}.collage-item:nth-child(13){top:1030px!important}.collage-item:nth-child(14){top:1150px!important}.collage-item:nth-child(15){top:1080px!important}.collage-item:nth-child(16){top:1300px!important}.collage-item:nth-child(17){top:1390px!important}.collage-item:nth-child(18){top:1320px!important}.collage-caption{opacity:1;background-color:#ffffffe6;bottom:10px;font-size:.8rem;padding:5px}}@media (max-width: 480px){.collage-gallery{height:3600px}.collage-item{width:85%!important;padding:8px}.collage-item:nth-child(odd){left:5%!important;right:auto!important}.collage-item:nth-child(2n){left:10%!important;right:auto!important}.collage-item:nth-child(1){top:30px!important}.collage-item:nth-child(2){top:180px!important}.collage-item:nth-child(3){top:330px!important}.collage-item:nth-child(4){top:480px!important}.collage-item:nth-child(5){top:630px!important}.collage-item:nth-child(6){top:780px!important}.collage-item:nth-child(7){top:930px!important}.collage-item:nth-child(8){top:1080px!important}.collage-item:nth-child(9){top:1230px!important}.collage-item:nth-child(10){top:1380px!important}.collage-item:nth-child(11){top:1530px!important}.collage-item:nth-child(12){top:1680px!important}.collage-item:nth-child(13){top:1830px!important}.collage-item:nth-child(14){top:1980px!important}.collage-item:nth-child(15){top:2130px!important}.collage-item:nth-child(16){top:2280px!important}.collage-item:nth-child(17){top:2430px!important}.collage-item:nth-child(18){top:2580px!important}}.polaroid-gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:40px 0;width:100%;max-width:100%;padding:40px;position:relative;box-sizing:border-box}.polaroid{position:relative;cursor:pointer;transform:rotate(var(--rotation, 0deg)) translate(var(--translateX, 0px)) translateY(var(--translateY, 0px));z-index:var(--z-index, 1);transition:transform .3s ease,z-index .1s,filter .3s ease;will-change:transform;width:100%;margin-top:-25px;margin-left:-20px}.polaroid:hover{transform:rotate(var(--rotation, 0deg)) translate(var(--translateX, 0px)) translateY(calc(var(--translateY, 0px) - 8px)) scale(1.05);z-index:100;filter:drop-shadow(0 12px 15px rgba(0,0,0,.25))}.polaroid-frame{background-color:#fff;padding:10px 10px 35px;box-shadow:0 4px 15px #00000026;border-radius:2px;overflow:hidden;width:100%;position:relative;display:flex;flex-direction:column;filter:drop-shadow(0 5px 10px rgba(0,0,0,.1));background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAAUVBMVEWFhYWDg4N3d3dtbW17e3t1dXWBgYGHh4d5eXlzc3OLi4ubm5uVlZWPj4+NjY19fX2JiYl/f39ra2uRkZGZmZlpaWmXl5dvb29xcXGTk5NnZ2c8TV1mAAAAG3RSTlNAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAvEOwtAAAFVklEQVR4XpWWB67c2BUFb3g557T/hRo9/WUMZHlgr4Bg8Z4qQgQJlHI4A8SzFVrapvmTF9O7dmYRFZ60YiBhJRCgh1FYhiLAmdvX0CzTOpNE77ME0Zty/nWWzchDtiqrmQDeuv3powQ5ta2eN0FY0InkqDD73lT9c9lEzwUNqgFHs9VQce3TVClFCQrSTfOiYkVJQBmpbq2L6iZavPnAPcoU0dSw0SUTqz/GtrGuXfbyyBniKykOWQWGqwwMA7QiYAxi+IlPdqo+hYHnUt5ZPfnsHJyNiDtnpJyayNBkF6cWoYGAMY92U2hXHF/C1M8uP/ZtYdiuj26UdAdQQSXQErwSOMzt/XWRWAz5GuSBIkwG1H3FabJ2OsUOUhGC6tK4EMtJO0ttC6IBD3kM0ve0tJwMdSfjZo+EEISaeTr9P3wYrGjXqyC1krcKdhMpxEnt5JetoulscpyzhXN5FRpuPHvbeQaKxFAEB6EN+cYN6xD7RYGpXpNndMmZgM5Dcs3YSNFDHUo2LGfZuukSWyUYirJAdYbF3MfqEKmjM+I2EfhA94iG3L7uKrR+GdWD73ydlIB+6hgref1QTlmgmbM3/LeX5GI1Ux1RWpgxpLuZ2+I+IjzZ8wqE4nilvQdkUdfhzI5QDWy+kw5Wgg2pGpeEVeCCA7b85BO3F9DzxB3cdqvBzWcmzbyMiqhzuYqtHRVG2y4x+KOlnyqla8AoWWpuBoYRxzXrfKuILl6SfiWCbjxoZJUaCBj1CjH7GIaDbc9kqBY3W/Rgjda1iqQcOJu2WW+76pZC9QG7M00dffe9hNnseupFL53r8F7YHSwJWUKP2q+k7RdsxyOB11n0xtOvnW4irMMFNV4H0uqwS5ExsmP9AxbDTc9JwgneAT5vTiUSm1E7BSflSt3bfa1tv8Di3R8n3Af7MNWzs49hmauE2wP+ttrq+AsWpFG2awvsuOqbipWHgtuvuaAE+A1Z/7gC9hesnr+7wqCwG8c5yAg3AL1fm8T9AZtp/bbJGwl1pNrE7RuOX7PeMRUERVaPpEs+yqeoSmuOlokqw49pgomjLeh7icHNlG19yjs6XXOMedYm5xH2YxpV2tc0Ro2jJfxC50ApuxGob7lMsxfTbeUv07TyYxpeLucEH1gNd4IKH2LAg5TdVhlCafZvpskfncCfx8pOhJzd76bJWeYFnFciwcYfubRc12Ip/ppIhA1/mSZ/RxjFDrJC5xifFjJpY2Xl5zXdguFqYyTR1zSp1Y9p+tktDYYSNflcxI0iyO4TPBdlRcpeqjK/piF5bklq77VSEaA+z8qmJTFzIWiitbnzR794USKBUaT0NTEsVjZqLaFVqJoPN9ODG70IPbfBHKK+/q/AWR0tJzYHRULOa4MP+W/HfGadZUbfw177G7j/OGbIs8TahLyynl4X4RinF793Oz+BU0saXtUHrVBFT/DnA3ctNPoGbs4hRIjTok8i+algT1lTHi4SxFvONKNrgQFAq2/gFnWMXgwffgYMJpiKYkmW3tTg3ZQ9Jq+f8XN+A5eeUKHWvJWJ2sgJ1Sop+wwhqFVijqWaJhwtD8MNlSBeWNNWTa5Z5kPZw5+LbVT99wqTdx29lMUH4OIG/D86ruKEauBjvH5xy6um/Sfj7ei6UUVk4AIl3MyD4MSSTOFgSwsH/QJWaQ5as7ZcmgBZkzjjU1UrQ74ci1gWBCSGHtuV1H2mhSnO3Wp/3fEV5a+4wz//6qy8JxjZsmxxy5+4w9CDNJY09T072iKG0EnOS0arEYgXqYnXcYHwjTtUNAcMelOd4xpkoqiTYICWFq0JSiPfPDQdnt+4/wuqcXY47QILbgAAAABJRU5ErkJggg==)}.polaroid-image{overflow:hidden;aspect-ratio:1 / 1;position:relative}.polaroid-image:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(120deg,#ffffff0d 30%,#fff0);pointer-events:none}.polaroid-image img{width:100%;height:100%;object-fit:cover;transition:transform 2s ease}.polaroid:hover .polaroid-image img{transform:scale(1.05)}.polaroid-caption{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-family:Great Vibes,cursive;font-size:1rem;color:#5d6e7e;padding:0 5px;line-height:1.2}.polaroid:before,.polaroid:after{content:"";position:absolute;background-color:#ffffffb3;height:20px;width:60px;opacity:.8;z-index:10;box-shadow:0 1px 3px #0000001a;background-image:linear-gradient(90deg,#fff0,#ffffff4d,#fff0)}.polaroid:nth-child(odd):before{top:-5px;left:50%;transform:translate(-50%) rotate(var(--tape-rotate, -5deg))}.polaroid:nth-child(2n):before{top:10px;right:-15px;transform:rotate(var(--tape-rotate, 90deg))}.polaroid:nth-child(3n):after{bottom:25px;left:-15px;transform:rotate(var(--tape-rotate, 90deg))}@media (max-width: 768px){.polaroid{transform:rotate(var(--rotation))}.polaroid:hover{transform:rotate(var(--rotation)) translateY(-5px) scale(1.03)}}@media (max-width: 480px){.polaroid-image{height:180px}.polaroid-caption{font-size:1rem}}@media (max-width: 992px){.polaroid-gallery{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;padding:25px}.polaroid{margin-top:-15px;margin-left:-10px}}@media (max-width: 768px){.polaroid-gallery{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;padding:20px}.polaroid{margin-top:-10px;margin-left:-5px}.polaroid-frame{padding:8px 8px 25px;width:100%;max-width:100%;box-sizing:border-box}.polaroid-frame{padding:8px 8px 25px}.polaroid-caption{font-size:.8rem}}@media (max-width: 480px){.polaroid-gallery{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:5px;padding:15px}.polaroid{margin-top:-5px;margin-left:-2px}.polaroid-frame{padding:6px 6px 20px}.polaroid-caption{font-size:.7rem}}.polaroid.scattering{z-index:150!important;animation:scatter-out .4s ease-in forwards}.polaroid.falling-in{opacity:0;transform:rotate(var(--rotation)) translate(var(--translateX)) translateY(var(--translateY));animation:fall-in .7s cubic-bezier(.175,.885,.32,1.275) forwards;animation:fall-in .5s ease-out forwards;animation-delay:var(--fall-delay, 0s)}@keyframes scatter-out{0%{opacity:1;transform:rotate(var(--rotation, 0deg)) translate(var(--translateX, 0px)) translateY(var(--translateY, 0px)) scale(1)}to{opacity:0;transform:translate(var(--scatter-x, 0px)) translateY(var(--scatter-y, 0px)) rotate(calc(var(--rotation, 0deg) + var(--scatter-rotate, 0deg))) scale(.4)}}@keyframes fall-in{0%{opacity:.3;transform:translateY(-15vh) translate(var(--fall-start-x, 0px)) rotate(calc(var(--rotation, 0deg) + var(--fall-start-rotate, 0deg) / 2)) scale(.95)}to{opacity:1;transform:rotate(var(--rotation, 0deg)) translate(var(--translateX, 0px)) translateY(var(--translateY, 0px)) scale(1)}}.venue-gallery{margin-top:30px}.venue-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:auto;grid-gap:20px;margin-bottom:30px}.venue-image{position:relative;border-radius:8px;overflow:hidden;box-shadow:0 8px 20px #00000026;transition:transform .3s ease;height:300px}.venue-image:hover{transform:translateY(-5px)}.venue-image img{width:100%;height:100%;object-fit:cover;display:block}.venue-image.large{grid-column:span 2;height:400px}@media (max-width: 768px){.venue-gallery-grid{grid-template-columns:1fr}.venue-image.large{grid-column:span 1}}#schedule-venue{background-color:#f9f9f9;padding:60px 0}.venue-intro{margin-bottom:50px}.subsection-title{font-size:28px;margin-bottom:20px;text-align:center;font-family:Cormorant Garamond,serif}.timeline-venue-reference{margin-top:10px;font-style:italic;font-size:14px;color:#666;background-color:#f0f0f0;padding:8px 12px;border-radius:4px;display:inline-block}.timeline-venue-reference i{color:#d4b483;margin-right:5px}#schedule-venue{padding:80px 0;background-color:#fcfaf7}.venue-brief{max-width:800px;margin:0 auto 50px;text-align:center;font-size:18px;line-height:1.6;font-style:italic;color:#666;padding:0 20px}.timeline-container.with-images{max-width:1200px;margin:0 auto;position:relative;padding:20px}.timeline-container.with-images:before{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:2px;background-color:#d4b483}.timeline-item{margin-bottom:80px;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-item.with-image .timeline-content{display:flex;align-items:center;position:relative;z-index:2;gap:40px}.timeline-item.with-image .timeline-icon{position:absolute;left:50%;top:30px;transform:translate(-50%);z-index:3}.timeline-item.with-image .timeline-text{width:45%;padding:30px;background-color:#fff;border-radius:8px;box-shadow:0 5px 15px #0000000d}.timeline-item.with-image .timeline-image{width:45%;border-radius:8px;overflow:hidden;box-shadow:0 8px 25px #00000026;position:relative;height:300px}.timeline-item.with-image .timeline-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.timeline-item.with-image .timeline-image:hover img{transform:scale(1.05)}.timeline-item.with-image .image-caption{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;padding:12px;font-size:14px;transition:opacity .3s ease;opacity:0}.timeline-item.with-image .timeline-image:hover .image-caption{opacity:1}.timeline-item.with-image:nth-child(2n) .timeline-content,.timeline-item.with-image.reverse .timeline-content{flex-direction:row-reverse}.timeline-date{position:absolute;top:0;left:50%;transform:translate(-50%);background-color:#d4b483;color:#fff;padding:8px 16px;border-radius:20px;font-weight:500;font-size:14px;text-transform:uppercase;letter-spacing:1px;z-index:4;margin-top:-15px}.timeline-icon{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background-color:#fff;border:3px solid #d4b483;color:#d4b483;font-size:20px;z-index:3;box-shadow:0 0 0 6px #fff}.timeline-location{font-weight:600;margin-bottom:8px;color:#555}.timeline-time{color:#d4b483;font-weight:600;font-size:16px;margin-bottom:5px}.timeline-description{margin-top:10px;line-height:1.6}.venue-info-footer{max-width:800px;margin:60px auto 0;text-align:center;padding:30px;background-color:#fff;border-radius:8px;box-shadow:0 5px 15px #0000000d}.venue-info-footer p{margin-bottom:20px;line-height:1.6}@media (max-width: 992px){.timeline-container.with-images:before{left:30px}.timeline-item.with-image .timeline-icon{left:30px;transform:none;top:60px}.timeline-date{left:30px;transform:none;margin-top:20px;position:relative;display:inline-block;margin-bottom:40px}.timeline-item.with-image .timeline-content,.timeline-item.with-image.reverse .timeline-content,.timeline-item.with-image:nth-child(2n) .timeline-content{flex-direction:column;gap:30px;padding-left:60px}.timeline-item.with-image .timeline-text,.timeline-item.with-image .timeline-image{width:100%}}@media (max-width: 768px){#schedule-venue{padding:40px 0}.venue-brief{font-size:16px;margin-bottom:30px}.timeline-container.with-images{padding:0 10px}.timeline-item{margin-bottom:60px}.timeline-item.with-image .timeline-content{padding-left:50px}.timeline-item.with-image .timeline-icon{width:40px;height:40px;font-size:16px;left:20px;top:60px}.timeline-container.with-images:before{left:20px}.timeline-date{left:20px;font-size:12px;padding:6px 12px}.timeline-item.with-image .timeline-text{padding:20px 15px}.timeline-item.with-image .timeline-image{height:220px}.venue-info-footer{padding:20px 15px;margin-top:30px}.timeline-location,.timeline-time,.timeline-description{font-size:14px}.timeline-item.with-image .image-caption{opacity:1;font-size:12px;padding:8px}}@media (max-width: 480px){.timeline-item.with-image .timeline-content{padding-left:40px}.timeline-item.with-image .timeline-icon{width:35px;height:35px;font-size:14px;left:15px}.timeline-container.with-images:before{left:15px}.timeline-date{left:15px;font-size:11px;padding:5px 10px}.timeline-item.with-image .timeline-image{height:180px}.timeline-item:not(.with-image) .timeline-content{padding-left:40px}.timeline-item:not(.with-image) .timeline-icon{left:15px;top:40px}}.timeline-item:not(.with-image) .timeline-content{position:relative;z-index:2;background-color:#fff;border-radius:8px;box-shadow:0 5px 15px #0000000d;padding:30px 30px 30px 80px;margin-left:auto;margin-right:auto;max-width:700px}.timeline-item:not(.with-image) .timeline-icon{position:absolute;left:30px;top:50%;transform:translateY(-50%)}.timeline-item:not(.with-image) .timeline-text{width:100%}@media (max-width: 992px){.timeline-item:not(.with-image) .timeline-content{margin-left:0;padding-left:70px;max-width:none}.timeline-item:not(.with-image) .timeline-icon{left:20px}}@media (max-width: 768px){.timeline-item:not(.with-image) .timeline-content{padding:20px 20px 20px 60px}.timeline-item:not(.with-image) .timeline-icon{left:15px;width:40px;height:40px;font-size:16px}}@media (max-width: 480px){.timeline-item:not(.with-image) .timeline-content{padding:15px 15px 15px 50px}.timeline-item:not(.with-image) .timeline-icon{width:35px;height:35px;font-size:14px}}.accommodation-container{display:flex;flex-direction:column;gap:60px;margin-top:30px}.primary-hotel{display:flex;background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #0000001a;position:relative}.hotel-image{flex:1;min-width:300px;position:relative;overflow:hidden}.hotel-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.primary-hotel:hover .hotel-image img{transform:scale(1.05)}.hotel-badge{position:absolute;top:20px;left:0;background-color:#d4b483;color:#fff;padding:8px 16px;font-weight:500;letter-spacing:.5px;font-size:14px;box-shadow:0 4px 8px #0003;border-top-right-radius:4px;border-bottom-right-radius:4px}.hotel-details{flex:2;padding:40px;display:flex;flex-direction:column}.hotel-details h3{font-family:var(--font-serif);font-size:32px;margin-bottom:10px;color:var(--color-primary)}.hotel-rating{display:flex;align-items:center;margin-bottom:20px}.hotel-rating i{color:#ffc107;margin-right:2px}.mgallery{margin-left:10px;font-style:italic;font-size:14px;color:var(--color-secondary);border-left:1px solid #ddd;padding-left:10px}.hotel-description{line-height:1.7;color:var(--color-secondary);margin-bottom:25px}.hotel-features{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:30px}.feature{display:flex;align-items:center}.feature i{color:var(--color-accent);margin-right:10px;font-size:18px;width:20px;text-align:center}.hotel-cta{margin-top:auto;border-top:1px solid #eee;padding-top:20px}.booking-note{margin-bottom:15px;font-size:15px;color:var(--color-secondary)}.booking-note i{color:var(--color-accent);margin-right:5px}.primary-button{background-color:var(--color-primary);color:#fff;border:none}.primary-button:hover{background-color:var(--color-accent);color:#fff;transform:translateY(-3px)}.alternative-accommodations{background-color:#fff;border-radius:12px;padding:30px;box-shadow:0 8px 24px #00000014}.alt-title{font-family:var(--font-serif);font-size:24px;margin-bottom:20px;text-align:center;color:var(--color-primary)}.accommodations-tabs{display:flex;justify-content:center;border-bottom:1px solid #eee;margin-bottom:30px}.tab{display:flex;flex-direction:column;align-items:center;padding:15px 30px;cursor:pointer;transition:all .3s ease;opacity:.6;border-bottom:2px solid transparent}.tab i{font-size:24px;margin-bottom:5px;color:var(--color-secondary)}.tab.active{opacity:1;border-bottom-color:var(--color-accent)}.tab.active i{color:var(--color-accent)}.tab-content{position:relative}.tab-pane{display:none;animation:fadeIn .5s ease forwards}.tab-pane.active{display:block}.alt-hotels{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:30px}.alt-hotel{background-color:#f9f9f9;padding:20px;border-radius:8px;transition:all .3s ease}.alt-hotel:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000000d;background-color:#f5f5f5}.alt-hotel-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.alt-hotel h4{font-family:var(--font-serif);font-size:18px;margin:0;color:var(--color-primary)}.hotel-stars{color:#ffc107;font-size:12px}.alt-hotel p{font-size:14px;line-height:1.6;color:var(--color-secondary);margin-bottom:15px}.alt-hotel-meta{display:flex;justify-content:space-between;align-items:center;font-size:14px}.price-range{color:var(--color-secondary)}.text-link{color:var(--color-accent);text-decoration:none;transition:all .2s ease}.text-link:hover{text-decoration:underline}.accommodation-note{background-color:#f8f9fa;border-left:3px solid var(--color-accent);padding:15px;margin-bottom:20px;display:flex;align-items:flex-start;font-size:14px;color:var(--color-secondary)}.accommodation-note i{color:var(--color-accent);margin-right:10px;margin-top:3px}.accommodation-note p{margin:0;line-height:1.6}.secondary-button{background-color:var(--color-secondary);border:none;color:#fff;display:block;margin:0 auto}.secondary-button:hover{background-color:var(--color-primary);color:#fff}.rental-map-container{position:relative;width:100%;height:300px;border-radius:8px;overflow:hidden;margin-bottom:30px;box-shadow:0 4px 12px #0000001a}.rental-map{width:100%;height:100%}.rental-areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:30px}.rental-area{background-color:#f9f9f9;padding:20px;border-radius:8px;transition:all .3s ease}.rental-area:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000000d}.rental-area h4{font-family:var(--font-serif);font-size:18px;color:var(--color-primary);margin-top:0;margin-bottom:10px}.rental-area i{color:var(--color-accent);margin-right:5px}.rental-area p{font-size:14px;line-height:1.6;color:var(--color-secondary);margin-bottom:10px}.area-highlight{background-color:#d4b4831a;border-left:3px solid var(--color-accent);padding:8px 12px;font-size:13px;font-style:italic;color:var(--color-primary)}.area-indicator{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px}.rental-platforms{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.platform-button{display:flex;align-items:center;padding:10px 20px;background-color:#fff;border:1px solid #ddd;border-radius:30px;color:var(--color-secondary);text-decoration:none;transition:all .3s ease;font-size:14px}.platform-button i{margin-right:8px;font-size:18px}.platform-button:hover{transform:translateY(-3px);box-shadow:0 5px 15px #0000001a}.platform-button .fa-airbnb{color:#ff5a5f}.platform-button .fa-home{color:#3a5998}.platform-button .fa-building{color:#003580}@media (max-width: 992px){.primary-hotel{flex-direction:column}.hotel-image{height:300px}.hotel-features{grid-template-columns:1fr}}@media (max-width: 768px){.alternative-accommodations{padding:20px}.alt-hotels,.rental-areas{grid-template-columns:1fr}.accommodations-tabs{flex-wrap:wrap}.tab{padding:10px 20px}}@media (max-width: 480px){.hotel-details{padding:20px}.hotel-details h3{font-size:24px}.rental-platforms{flex-direction:column;align-items:center}.platform-button{width:100%;justify-content:center}}.rental-map-container{position:relative;width:100%;height:450px;border-radius:8px;overflow:hidden;margin-bottom:30px;box-shadow:0 4px 12px #0000001a}.rental-map{width:100%;height:100%;background-color:#f5f5f5}.map-legend{position:absolute;bottom:20px;left:20px;background-color:#ffffffe6;padding:15px;border-radius:8px;box-shadow:0 2px 10px #00000026;max-width:250px;z-index:10;font-size:14px}.legend-title{font-weight:600;margin-bottom:10px;color:var(--color-primary);font-family:var(--font-serif)}.legend-item{display:flex;align-items:center;margin-bottom:8px}.legend-item:last-child{margin-bottom:0}.area-indicator{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;box-shadow:0 0 0 1px #0003}.area-1{background-color:#4285f4}.area-2{background-color:#ea4335}.area-3{background-color:#fbbc05}@media (max-width: 992px){.rental-map-container{height:400px}}@media (max-width: 768px){.rental-map-container{height:350px}.map-legend{left:10px;bottom:10px;padding:10px;max-width:200px;font-size:12px}}@media (max-width: 480px){.rental-map-container{height:300px}.legend-item{margin-bottom:5px}.map-legend{max-width:180px}}.hotels-proximity-map-container{margin:30px 0;background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 4px 15px #00000014}.proximity-title{font-family:var(--font-serif);font-size:18px;color:var(--color-primary);margin-bottom:15px;text-align:center}.hotels-proximity-map{width:100%;height:300px;border-radius:8px;overflow:hidden;margin-bottom:15px;box-shadow:0 2px 8px #0000001a}.hotels-overview-map-container{margin:30px 0;background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 4px 15px #00000014}.map-title{font-family:var(--font-serif);font-size:18px;color:var(--color-primary);margin-bottom:15px;text-align:center}.hotels-overview-map{width:100%;height:350px;border-radius:8px;overflow:hidden;margin-bottom:15px;box-shadow:0 2px 8px #0000001a}.map-legend{display:flex;flex-direction:column;gap:8px;margin-top:15px}.map-legend .legend-item{display:flex;align-items:center;font-size:14px;color:var(--color-secondary)}.marker-icon{width:12px;height:12px;border-radius:50%;margin-right:8px;display:inline-block;border:1px solid rgba(0,0,0,.2)}.primary-marker{background-color:var(--color-accent)}.alt-marker{background-color:var(--color-secondary)}.walkable-marker{background-color:#4caf50}.distant-marker{background-color:#f44336}.walking-distance-note{font-size:13px;color:var(--color-light-text);margin-top:5px;font-style:italic}.walking-distance-note i{color:var(--color-accent);margin-right:5px}.custom-marker{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 2px 8px #0000004d;cursor:pointer}.recommended-hotel-marker{background-color:var(--color-accent);font-size:14px}.alternative-hotel-marker{background-color:var(--color-secondary);font-size:12px}.walkable-hotel-marker{background-color:#4caf50;font-size:12px}.distant-hotel-marker{background-color:#f44336;font-size:12px}.custom-marker:hover{transform:scale(1.1);transition:transform .2s ease}@media (max-width: 768px){.hotels-overview-map{height:300px}.hotels-proximity-map{height:250px}}@media (max-width: 480px){.hotels-overview-map{height:250px}.hotels-proximity-map{height:220px}.hotels-overview-map-container,.hotels-proximity-map-container{padding:15px}}.mapboxgl-popup{max-width:200px;font-family:var(--font-sans)}.mapboxgl-popup-content{padding:15px;border-radius:5px}.hotel-popup-title{font-weight:600;font-size:14px;margin-bottom:5px;color:var(--color-primary)}.hotel-popup-address{font-size:12px;color:var(--color-light-text);margin-bottom:8px}.hotel-popup-note{font-size:12px;font-style:italic;color:var(--color-accent);margin-top:5px}.timeline-date-header{text-align:center;margin:0 0 30px;position:relative;z-index:5}.timeline-date-header h3{position:relative;display:inline-block;background-color:#d4b483;color:#fff;padding:12px 30px;border-radius:30px;font-family:Montserrat,sans-serif;font-weight:500;box-shadow:0 3px 10px #0000001a;margin:0}.timeline-container.with-images{position:relative;padding-top:0;margin-top:0;margin-bottom:60px;padding-bottom:30px}.timeline-date-header:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:2px;height:30px;background-color:#d4b483;z-index:2}@media (max-width: 992px){.timeline-date-header{margin:0 0 40px}.timeline-container.with-images:before{left:50%;top:0}}.section-container#schedule-venue{position:relative}.section-container#schedule-venue:before{content:none!important}.timeline-date-header{background:var(--color-background);padding-top:20px;position:relative;z-index:10}.timeline-container.with-images:before{top:40px!important}.timeline-date-header:after{top:calc(100% - 2px)}@media (max-width: 992px){.timeline-item.with-image .timeline-content{margin-left:auto!important;margin-right:auto!important;max-width:90%!important;padding-left:20px!important;padding-right:20px!important}.timeline-item:not(.with-image) .timeline-content{margin-left:auto!important;margin-right:auto!important;max-width:90%!important}.timeline-item{padding-left:0!important;padding-right:0!important}}@media (max-width: 992px){.timeline-item:not(.with-image) .timeline-content{padding-left:20px!important;padding-right:20px!important;width:100%!important;box-sizing:border-box!important;margin-left:auto!important;margin-right:auto!important}}@media (max-width: 992px){.timeline-item .timeline-icon{position:absolute;left:50%;transform:translate(-50%);top:-20px!important;width:45px;height:45px;display:flex;align-items:center;justify-content:center;z-index:10;box-shadow:0 0 0 4px var(--color-background)}.timeline-item .timeline-icon i{font-size:18px;display:flex;align-items:center;justify-content:center;margin:0}.timeline-item .timeline-content{text-align:center!important;padding-top:35px!important}.timeline-item .timeline-time{margin-top:5px;margin-bottom:10px}.timeline-item .timeline-location{margin-bottom:15px}.timeline-item:not(.with-image) .timeline-content{text-align:center!important;padding-top:35px!important}.timeline-item:not(.with-image) .timeline-icon{left:50%!important;transform:translate(-50%)!important;top:-20px!important}.timeline-map{width:100%;max-width:100%;box-sizing:border-box;margin:15px 0}}@media (max-width: 768px){.timeline-item .timeline-icon{width:40px;height:40px}.timeline-item .timeline-icon i{font-size:16px}.timeline-item .timeline-content h3{font-size:20px;margin-bottom:8px}.timeline-item .timeline-time{font-size:16px}.timeline-item .timeline-location{font-size:14px}.timeline-item .timeline-description{font-size:14px;line-height:1.5}}@media (max-width: 480px){.timeline-item .timeline-icon{width:36px;height:36px}.timeline-item .timeline-icon i{font-size:14px}.timeline-item .timeline-content h3{font-size:18px}.timeline-item .timeline-content{padding:30px 15px 15px!important}.timeline-container.with-images:before{left:50%!important}}.noscript-warning{background-color:#fff3cd;color:#856404;border:1px solid #ffeeba;border-left:5px solid #ffc107;padding:20px;margin:20px;text-align:center;font-family:var(--font-sans);border-radius:8px;box-shadow:0 4px 10px #0000001a;position:relative;z-index:2000}.noscript-warning p{margin-bottom:10px;line-height:1.5}.noscript-warning p:last-child{margin-bottom:0}.noscript-warning strong{font-weight:600}.rehearsal-menu-options{margin-top:calc(var(--spacing-unit) * 2.5);padding-top:calc(var(--spacing-unit) * 2);border-top:1px dashed var(--color-accent-light)}.rehearsal-menu-options>h5{font-size:1.1rem;color:var(--color-secondary);margin-bottom:calc(var(--spacing-unit) * 1.5);font-weight:500}.rsvp-container{max-width:700px;margin:0 auto;background-color:#fff;padding:calc(var(--spacing-unit) * 5);border-radius:var(--border-radius);box-shadow:var(--box-shadow)}#step-confirm-party h3{font-size:1.8rem;color:var(--color-primary);margin-bottom:calc(var(--spacing-unit) * 1.5)}#step-confirm-party p:first-of-type{font-size:1.1rem;color:var(--color-secondary);margin-bottom:calc(var(--spacing-unit) * 3)}#party-details{background-color:var(--color-accent-light);border:1px solid rgba(212,180,131,.3);padding:calc(var(--spacing-unit) * 3);border-radius:var(--border-radius);margin-bottom:calc(var(--spacing-unit) * 4)}#party-details h4{font-family:var(--font-serif);font-size:1.3rem;color:var(--color-primary);margin-bottom:calc(var(--spacing-unit) * 2);padding-bottom:calc(var(--spacing-unit));border-bottom:1px solid rgba(212,180,131,.3)}#party-details ul{list-style:none;padding:0;margin:0}#party-details li{font-size:1.1rem;color:var(--color-secondary);padding:calc(var(--spacing-unit) * 1.5) 0;border-bottom:1px dashed rgba(212,180,131,.2);display:flex;align-items:center}#party-details li:last-child{border-bottom:none}#step-accept h3{font-size:1.8rem;color:var(--color-primary);margin-bottom:calc(var(--spacing-unit) * 3)}#menu-options{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 4);margin-bottom:calc(var(--spacing-unit) * 4)}.guest-menu-selection{background-color:#f9f9f9;border:1px solid #eee;border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);box-shadow:0 2px 5px #0000000d}.guest-name-header{font-family:var(--font-serif);font-size:1.4rem;color:var(--color-primary);margin-bottom:calc(var(--spacing-unit) * 2.5);padding-bottom:calc(var(--spacing-unit));border-bottom:1px solid var(--color-accent-light);display:flex;align-items:center}.guest-name-header:before{content:"\\f007";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--color-accent);margin-right:calc(var(--spacing-unit) * 1.5);font-size:1.1rem}.guest-menu-selection .form-group{margin-bottom:calc(var(--spacing-unit) * 2)}.guest-menu-selection label{display:block;margin-bottom:calc(var(--spacing-unit));font-weight:500;color:var(--color-secondary);font-size:.95rem}.guest-menu-selection select{width:100%;padding:12px;border:1px solid #ccc;border-radius:var(--border-radius);font-family:var(--font-sans);font-size:1rem;background-color:#fff}.guest-menu-selection select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #d4b4834d}.form-group textarea#dietary,.form-group input#song-request{width:100%;padding:12px;border:1px solid #ccc;border-radius:var(--border-radius);font-family:var(--font-sans);font-size:1rem;margin-top:calc(var(--spacing-unit) * .5)}.form-group textarea#dietary:focus,.form-group input#song-request:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #d4b4834d}.dietary-restrictions{margin-top:20px;padding:15px;background-color:#f9f9f9;border-radius:8px;border-left:4px solid var(--color-accent-light)}.dietary-restrictions label{display:block;margin-bottom:10px;font-weight:500;color:var(--color-secondary);font-size:1rem}.dietary-restrictions textarea{width:100%;min-height:80px;padding:12px;border:1px solid #ccc;border-radius:4px;resize:vertical;font-family:inherit;font-size:.95rem;line-height:1.5;background-color:#fff;transition:border-color .2s ease}.dietary-restrictions textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #d4b4834d}#step-accept>h4{margin-top:calc(var(--spacing-unit) * 4);margin-bottom:calc(var(--spacing-unit) * 1.5);font-size:1.5rem;color:var(--color-primary)}.guest-attendance-card{background-color:#f9f9f9;border:1px solid #eee;border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);margin-bottom:calc(var(--spacing-unit) * 3);box-shadow:0 2px 5px #0000000d;transition:all .3s ease}.guest-attendance-card:hover{box-shadow:0 4px 8px #0000001a}.guest-attendance-header{display:flex;align-items:center;margin-bottom:calc(var(--spacing-unit) * 2);padding-bottom:calc(var(--spacing-unit));border-bottom:1px solid var(--color-accent-light)}.guest-attendance-header h4{font-family:var(--font-serif);font-size:1.4rem;color:var(--color-primary);margin:0;flex-grow:1}.guest-attendance-options{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 2)}.attendance-option{display:flex;align-items:center;padding:calc(var(--spacing-unit) * 1.5);border:1px solid #e0e0e0;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.attendance-option:hover{background-color:var(--color-accent-light);border-color:var(--color-accent)}.attendance-option.selected{background-color:var(--color-accent-light);border-color:var(--color-accent);box-shadow:0 0 0 2px #d4b4834d}.attendance-option input[type=radio]{margin-right:calc(var(--spacing-unit) * 1.5);width:18px;height:18px;accent-color:var(--color-accent)}.attendance-option label{font-weight:500;color:var(--color-secondary);flex-grow:1;cursor:pointer}.guest-preferences{margin-top:calc(var(--spacing-unit) * 3);padding-top:calc(var(--spacing-unit) * 2);border-top:1px dashed rgba(212,180,131,.3);display:none}.guest-preferences.show{display:block}.preference-group{margin-bottom:calc(var(--spacing-unit) * 2)}.preference-group label{display:block;margin-bottom:calc(var(--spacing-unit));font-weight:500;color:var(--color-secondary)}.preference-group select{width:100%;padding:12px;border:1px solid #ccc;border-radius:var(--border-radius);font-size:1rem;background-color:#fff}.preference-group select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #d4b4834d}.rsvp-button-group{display:flex;justify-content:space-between;margin-top:calc(var(--spacing-unit) * 4)}.submit-rsvp{background-color:var(--color-accent);color:#fff;border:none;padding:12px 24px;border-radius:var(--border-radius);font-weight:500;cursor:pointer;transition:all .2s ease}.submit-rsvp:hover{background-color:var(--color-primary);transform:translateY(-2px)}.back-button{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary);padding:12px 24px;border-radius:var(--border-radius);font-weight:500;cursor:pointer;transition:all .2s ease}.back-button:hover{background-color:var(--color-primary-light);color:var(--color-primary)}.attendance-status{font-weight:600;margin-left:auto;padding:5px 10px;border-radius:50px;font-size:.85rem;text-transform:uppercase}.status-attending{background-color:#4caf5033;color:#2e7d32}.status-declined{background-color:#f4433633;color:#c62828}@media (max-width: 768px){.guest-attendance-card{padding:calc(var(--spacing-unit) * 2)}.guest-attendance-header h4{font-size:1.2rem}.attendance-option{padding:calc(var(--spacing-unit))}.rsvp-button-group{flex-direction:column;gap:calc(var(--spacing-unit) * 2)}.submit-rsvp,.back-button{width:100%}}.button-small{padding:4px 8px;font-size:.8rem;background-color:#eee;border:1px solid #ccc;border-radius:3px;cursor:pointer;transition:background-color .2s}.button-small:hover{background-color:#ddd}.rsvp-flow{position:relative;max-width:700px;margin:0 auto}.rsvp-progress{display:flex;justify-content:space-between;margin-bottom:calc(var(--spacing-unit) * 4);position:relative;padding:0 20px}.rsvp-progress:before{content:"";position:absolute;top:14px;left:40px;right:40px;height:2px;background-color:#e0e0e0;z-index:1}.rsvp-progress-bar{position:absolute;top:14px;left:40px;height:2px;background-color:var(--color-accent);z-index:2;transition:width .4s ease}.step-indicator{width:30px;height:30px;border-radius:50%;background-color:#fff;border:2px solid #e0e0e0;display:flex;align-items:center;justify-content:center;font-weight:600;color:#999;position:relative;z-index:3}.step-indicator.active,.step-indicator.completed{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.step-indicator.completed:after{content:"✓";font-size:14px}.step-label{position:absolute;top:38px;left:50%;transform:translate(-50%);font-size:12px;color:#999;white-space:nowrap}.step-indicator.active .step-label{color:var(--color-primary);font-weight:500}.rsvp-steps{position:relative;overflow:hidden;background-color:#fff;border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.rsvp-step{padding:calc(var(--spacing-unit) * 4);transition:transform .4s ease,opacity .4s ease}.rsvp-step:not(.active){display:none}.rsvp-step.slide-in{animation:slideIn .4s forwards}.rsvp-step.slide-out{animation:slideOut .4s forwards}@keyframes slideIn{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-50px)}}.find-invitation{text-align:center}.find-invitation h3{font-size:1.8rem;color:var(--color-primary);margin-bottom:calc(var(--spacing-unit) * 2)}.find-invitation p{color:var(--color-secondary);margin-bottom:calc(var(--spacing-unit) * 3);max-width:500px;margin-left:auto;margin-right:auto}.name-search{position:relative;max-width:400px;margin:0 auto}.name-search input{width:100%;padding:14px 20px;border:1px solid #ccc;border-radius:50px;font-size:1rem;box-shadow:0 2px 6px #0000000d;transition:all .3s ease}.name-search input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #d4b4834d}.search-button{position:absolute;right:5px;top:5px;background-color:var(--color-accent);color:#fff;border:none;border-radius:50px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.search-button:hover{background-color:var(--color-primary)}.confirm-party{text-align:center}.confirm-party h3{font-size:1.8rem;color:var(--color-primary);margin-bottom:calc(var(--spacing-unit) * 2)}.confirm-party p{color:var(--color-secondary);margin-bottom:calc(var(--spacing-unit) * 3)}.party-card{background-color:var(--color-accent-light);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);margin-bottom:calc(var(--spacing-unit) * 3);box-shadow:0 2px 6px #0000000d}.party-card h4{font-family:var(--font-serif);color:var(--color-primary);border-bottom:1px solid rgba(212,180,131,.3);padding-bottom:calc(var(--spacing-unit));margin-bottom:calc(var(--spacing-unit) * 2)}.guest-list{list-style:none;padding:0;margin:0}.guest-list li{padding:calc(var(--spacing-unit) * 1.2) 0;display:flex;align-items:center;border-bottom:1px dashed rgba(212,180,131,.2)}.guest-list li:last-child{border-bottom:none}.attendance-selection h3{font-size:1.8rem;color:var(--color-primary);margin-bottom:calc(var(--spacing-unit) * 3);text-align:center}.attendance-selection p{text-align:center;color:var(--color-secondary);margin-bottom:calc(var(--spacing-unit) * 3)}.guest-attendance-container{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 3)}.guest-card{background-color:#f9f9f9;border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);box-shadow:0 2px 5px #0000000d;transition:all .3s ease}.guest-card.attending{border-left:4px solid #4caf50}.guest-card.not-attending{border-left:4px solid #f44336}.guest-card-header{display:flex;align-items:center;margin-bottom:calc(var(--spacing-unit) * 2)}.guest-card-header h4{font-family:var(--font-serif);font-size:1.4rem;color:var(--color-primary);margin:0;flex-grow:1}.guest-options{display:flex;gap:calc(var(--spacing-unit) * 2)}.attendance-button{flex:1;padding:14px;border-radius:var(--border-radius);border:1px solid #e0e0e0;background-color:#fff;cursor:pointer;font-weight:500;transition:all .2s ease;text-align:center;display:flex;align-items:center;justify-content:center}.attendance-button.yes{color:#2e7d32}.attendance-button.yes.selected{background-color:#4caf501a;border-color:#4caf50}.attendance-button.no{color:#c62828}.attendance-button.no.selected{background-color:#f443361a;border-color:#f44336}.attendance-button i{margin-right:8px}.attendance-button:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 3px 6px #0000001a}.menu-selection h3{font-size:1.8rem;color:var(--color-primary);margin-bottom:calc(var(--spacing-unit) * 3);text-align:center}.menu-selection p{text-align:center;color:var(--color-secondary);margin-bottom:calc(var(--spacing-unit) * 3)}.menu-options-container{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 3)}.menu-guest-card{background-color:#f9f9f9;border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);box-shadow:0 2px 5px #0000000d}.menu-guest-header{display:flex;align-items:center;margin-bottom:calc(var(--spacing-unit) * 2.5);padding-bottom:calc(var(--spacing-unit));border-bottom:1px solid var(--color-accent-light)}.menu-guest-header h4{font-family:var(--font-serif);font-size:1.4rem;color:var(--color-primary);margin:0}.menu-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:calc(var(--spacing-unit) * 2)}.menu-option{border:1px solid #e0e0e0;border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 2);cursor:pointer;transition:all .2s ease;position:relative}.menu-option.selected{border-color:var(--color-accent);background-color:var(--color-accent-light);box-shadow:0 3px 6px #0000001a}.menu-option.selected:before{content:"✓";position:absolute;top:10px;right:10px;color:var(--color-accent);font-weight:700}.menu-option:hover{transform:translateY(-2px);box-shadow:0 3px 6px #0000001a}.menu-option h5{font-size:1.1rem;color:var(--color-primary);margin-bottom:calc(var(--spacing-unit))}.menu-option p{font-size:.9rem;color:var(--color-secondary);text-align:left;margin-bottom:0}.song-request{text-align:center}.song-request h3{font-size:1.8rem;color:var(--color-primary);margin-bottom:calc(var(--spacing-unit) * 2)}.song-request p{color:var(--color-secondary);margin-bottom:calc(var(--spacing-unit) * 3);max-width:500px;margin-left:auto;margin-right:auto}.song-form{max-width:500px;margin:0 auto;text-align:left}.song-form label{display:block;margin-bottom:calc(var(--spacing-unit));font-weight:500;color:var(--color-secondary)}.song-form input{width:100%;padding:14px;border:1px solid #ccc;border-radius:var(--border-radius);font-size:1rem;margin-bottom:calc(var(--spacing-unit) * 3)}.song-form input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #d4b4834d}.skip-step{background:none;border:none;color:var(--color-secondary);text-decoration:underline;cursor:pointer;font-size:.9rem;margin-top:calc(var(--spacing-unit) * 2)}.skip-step:hover{color:var(--color-primary)}.confirmation-step{text-align:center}.confirmation-message{background-color:#4caf501a;border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);margin-bottom:calc(var(--spacing-unit) * 3);display:flex;flex-direction:column;align-items:center}.confirmation-icon{width:60px;height:60px;background-color:#4caf50;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:calc(var(--spacing-unit) * 2)}.confirmation-icon i{color:#fff;font-size:30px}.confirmation-message h3{font-size:1.8rem;color:#2e7d32;margin-bottom:calc(var(--spacing-unit))}.confirmation-message p{color:var(--color-secondary);margin-bottom:0}.step-buttons{display:flex;justify-content:space-between;margin-top:calc(var(--spacing-unit) * 4)}.step-back{padding:12px 20px;background-color:transparent;border:1px solid var(--color-secondary);color:var(--color-secondary);border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:all .2s ease}.step-back:hover{background-color:#f5f5f5;border-color:var(--color-primary);color:var(--color-primary)}.step-next{padding:12px 24px;background-color:var(--color-accent);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:all .2s ease;display:flex;align-items:center}.step-next i{margin-left:8px}.step-next:hover{background-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 3px 6px #0000001a}.step-next.submit{background-color:#4caf50}.step-next.submit:hover{background-color:#2e7d32}.response-message{text-align:center;padding:calc(var(--spacing-unit) * 2);border-radius:var(--border-radius);margin-bottom:calc(var(--spacing-unit) * 3)}.response-success{background-color:#4caf501a;color:#2e7d32}.response-error{background-color:#f443361a;color:#c62828}@media (max-width: 768px){.rsvp-step{padding:calc(var(--spacing-unit) * 3)}.step-indicator{width:24px;height:24px;font-size:12px}.step-label{font-size:10px;top:30px}.rsvp-progress:before{top:12px}.rsvp-progress-bar{top:12px}.guest-options{flex-direction:column}.attendance-button{padding:10px}.menu-options{grid-template-columns:1fr}.step-buttons{flex-direction:column-reverse;gap:calc(var(--spacing-unit) * 2)}.step-back,.step-next{width:100%}}#decline-note-container{margin-top:20px;padding:15px;background-color:#fff0f0;border-radius:8px;border-left:4px solid #ffcdd2;transition:all .3s ease;max-width:600px;margin-left:auto;margin-right:auto}#decline-note-container label{display:block;margin-bottom:10px;font-weight:500;color:#d32f2f;font-size:1rem}#decline-note{width:100%;min-height:100px;padding:12px;border:1px solid #ffe0e0;border-radius:4px;resize:vertical;font-family:inherit;font-size:.95rem;line-height:1.5;background-color:#fff;transition:border-color .2s ease}#decline-note:focus{outline:none;border-color:#ffb0b0;box-shadow:0 0 0 2px #ffc8c840}.multiple-matches{margin-top:15px;padding:10px;background-color:#f9f7f4;border-radius:4px;border:1px solid #eee}.multiple-matches-intro{font-size:.95rem;color:#555;margin-bottom:10px;font-weight:500}.multiple-matches-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.multiple-match-button{display:block;width:100%;text-align:left;padding:10px 15px;background-color:#f0e9dd;color:#5a5245;border:1px solid #e0d8c7;border-radius:4px;cursor:pointer;transition:background-color .2s}.multiple-match-button:hover{background-color:#e6dfd0}.section-header-with-button{display:flex;justify-content:center;align-items:center;gap:20px;margin-bottom:calc(var(--spacing-unit) * 8);position:relative}.section-header-with-button .section-title{margin-bottom:0}.shuffle-button{padding:12px 24px;font-size:1rem;background-color:var(--color-accent);color:#fff;border:none;border-radius:20px;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px;box-shadow:0 2px 5px #0000001a}.shuffle-button:hover{background-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.shuffle-button i{font-size:1.1rem}@media (max-width: 768px){.section-header-with-button{flex-direction:column;gap:15px;margin-bottom:calc(var(--spacing-unit) * 6)}.shuffle-button{margin-top:5px}}
