*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;min-height:100vh;overflow-x:hidden}:root{--primary-color: #6f8c69;--secondary-color: #7a7a7a;--background-color: #f8f3f4;--background-alt-color: #f0eaeb;--text-color: #7a7a7a;--light-text: #fff;--heading-font: "Amiri", serif;--body-font: "Nunito Sans", sans-serif;--header-height: 70px;--section-spacing: 100px;--nav-background: rgba(255, 255, 255, .98)}*{box-sizing:border-box;margin:0;padding:0;scroll-behavior:smooth;z-index:0}html{scroll-padding-top:var(--header-height)}body{font-family:var(--body-font);color:var(--text-color);background-color:var(--background-color);line-height:1.6}.wedding-app{display:flex;flex-direction:column;min-height:100vh}header{background-color:var(--nav-background);padding:1rem;position:fixed;top:0;left:0;right:0;z-index:100;box-shadow:0 2px 10px #0000001a;height:var(--header-height);display:flex;align-items:center}header.hidden{transform:translateY(-100%);opacity:0}header.visible{transform:translateY(0);opacity:1}nav{width:100%}nav ul{display:flex;list-style:none;justify-content:center;flex-wrap:wrap;margin:0;padding:0}nav button{background:none;border:none;color:var(--primary-color);font-family:var(--heading-font);font-size:1rem;padding:.5rem 1rem;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;white-space:nowrap}nav button:hover{opacity:.8}nav button.active{border-bottom:2px solid var(--primary-color);font-weight:700}nav li{list-style:none;margin:0;padding:0}main{flex:1;width:100%;position:relative}.section{padding:6rem 2rem;min-height:100vh;display:flex;flex-direction:column;justify-content:center;position:relative;opacity:0;transform:translateY(40px);transition:opacity .8s ease-out,transform .8s cubic-bezier(.23,1,.32,1)}.section.visible{opacity:1;transform:translateY(0)}.section h1{opacity:0}.section h1,.section h2{line-height:1.2}@keyframes sectionTitleFadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}:not(#home).section.visible h1,:not(#home).section.visible h2{animation:sectionTitleFadeIn 1s ease-out forwards}.section.animating{transition:none}.full-height-hero{height:100vh;padding:0;overflow:visible;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;opacity:1;transform:none}#home{padding:0;text-align:center}.content-wrapper{position:relative;z-index:2;margin-top:0;background:none;border-radius:0;box-shadow:none}.section:nth-child(2n):not(.full-height-hero){background-color:transparent}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}h1,h2,h3,h4{font-family:var(--heading-font);margin-bottom:1rem;color:var(--secondary-color);font-weight:400}h1{font-size:3rem}h2{font-size:2.5rem;text-align:center;margin-bottom:2rem;position:relative;padding-bottom:1rem}h2:after{content:"";display:block;width:100px;height:2px;background-color:var(--primary-color);position:absolute;bottom:0;left:50%;transform:translate(-50%)}h3{font-size:1.75rem}h4{font-size:1.25rem}p{margin-bottom:1rem;font-family:var(--body-font)}.callout{font-family:var(--body-font);text-transform:uppercase;font-weight:700;color:var(--primary-color);letter-spacing:.5px}#home{text-align:center}@keyframes heroFadeIn{0%{opacity:0}to{opacity:1}}@keyframes floatUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-fade-in-element{opacity:1;animation:heroFadeIn 4s ease-in-out forwards}@keyframes pulse{0%{transform:scale(1) rotate(-2deg);box-shadow:0 5px 15px #0000001a}50%{transform:scale(1.03) rotate(-2deg);box-shadow:0 10px 20px #00000026}to{transform:scale(1) rotate(-2deg);box-shadow:0 5px 15px #0000001a}}.rsvp-banner{animation:floatUp 1s ease-out forwards 1.5s}.hero-simple{width:75%;max-width:1000px;margin:0 auto;position:relative;z-index:2;text-align:center;color:var(--light-text)}.hero-simple h1{font-size:5.45rem;margin-bottom:0rem;color:var(--light-text);text-shadow:2px 2px 4px rgba(0,0,0,.4);letter-spacing:1px;line-height:1em;text-transform:uppercase}.hero-simple .date{font-size:1.5rem;margin:0 auto;max-width:90%;color:var(--light-text);text-shadow:1px 1px 3px rgba(0,0,0,.3);letter-spacing:.5px}.rsvp-banner{display:inline-block;margin-top:2rem;padding:.75rem 1.5rem;background-color:#5b8060e6;color:var(--light-text);font-family:var(--heading-font);font-size:1.25rem;border-radius:4px;letter-spacing:1px;box-shadow:0 2px 8px #0003;cursor:pointer;transition:background-color .3s,transform .3s;opacity:0}.rsvp-banner:hover{background-color:#5b8060;transform:rotate(-2deg) scale(1.05)}.hero{display:none}.hero:before,.hero:after{display:none}.hero-content{display:none}.scroll-indicator{position:absolute;bottom:50px;left:50%;transform:translate(-50%);color:var(--light-text);text-align:center;font-size:.9rem;font-family:var(--body-font);text-transform:uppercase;letter-spacing:2px;text-shadow:1px 1px 3px rgba(0,0,0,.3);cursor:pointer;z-index:3;opacity:.9}.arrow-down{width:20px;height:20px;margin:15px auto 0;border-right:2px solid var(--light-text);border-bottom:2px solid var(--light-text);transform:rotate(45deg);animation:bobbing 2s infinite}.story-content{max-width:800px;margin:0 auto}.timeline{display:flex;flex-direction:column;gap:2rem}.event{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 8px #0000000d}.details-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.ceremony,.reception,.schedule,.hotels,.directions,.travel-tips,.registry-content,.photo-item{background-color:#fff;box-shadow:0 4px 8px #0000000d;border-radius:8px;padding:2rem}.time,.location{font-weight:700;color:var(--primary-color)}.schedule ul{list-style:none}.schedule li{margin-bottom:.5rem;display:flex;align-items:center}.schedule li span{font-weight:700;margin-right:.5rem;color:var(--primary-color);min-width:80px}.travel-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.hotel{margin-bottom:1.5rem}.registry-content{max-width:800px;margin:0 auto;text-align:center}.registry-links{display:flex;justify-content:center;gap:2rem;margin-top:2rem;flex-wrap:wrap}.registry-item{flex:1;min-width:200px;background-color:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 4px 8px #0000000d;transition:transform .3s ease}.registry-item:hover{transform:translateY(-5px)}.registry-item a{display:inline-block;padding:.75rem 1.5rem;background-color:var(--primary-color);color:var(--light-text);text-decoration:none;border-radius:4px;transition:background-color .3s;margin-top:10px}.registry-item a:hover{opacity:.9}.rsvp-content{margin:0 auto;background-color:transparent;padding:0;border-radius:0;box-shadow:none}.rsvp-form{display:flex;flex-direction:column;margin-top:2rem}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:.5rem;font-weight:700}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-family:var(--body-font)}button[type=submit]{background-color:var(--primary-color);color:var(--light-text);border:none;padding:1rem;font-size:1rem;border-radius:4px;cursor:pointer;transition:opacity .3s;font-family:var(--heading-font);margin-top:1rem}button[type=submit]:hover{opacity:.9}.gallery-content{text-align:center;max-width:1200px;width:100%;margin:0 auto}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:2rem}.photo-item{height:300px;background-color:#fff;display:flex;align-items:center;justify-content:center;border-radius:8px;overflow:hidden;border:1px solid rgba(0,0,0,.1);transition:transform .3s ease,box-shadow .3s ease}.photo-item:hover{transform:scale(1.03);box-shadow:0 4px 12px #0000001a}.photo-item img{width:100%;height:100%;object-fit:cover;max-width:100%;max-height:100%;transition:transform .3s ease}@media (max-width: 768px){.photo-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.photo-item{height:200px}}@media (max-width: 480px){.photo-grid{grid-template-columns:1fr}.photo-item{height:250px}}footer{background-color:var(--primary-color);color:var(--light-text);text-align:center;padding:2rem;position:relative;z-index:2}@media (max-width: 768px){:root{--header-height: 60px}header{padding:.5rem 1rem;height:var(--header-height)}.header-container{width:100%;display:flex;justify-content:space-between;align-items:center}.nav-logo{height:35px}.mobile-menu-toggle{display:flex!important;position:relative;z-index:300}nav{position:fixed;top:var(--header-height);left:0;width:100%;transition:opacity 2s ease;background-color:var(--nav-background);overflow:hidden;box-shadow:0 5px 10px #0000001a;opacity:0;pointer-events:none;z-index:-1}nav.menu-open{height:auto;max-height:calc(100vh - var(--header-height));overflow-y:auto;opacity:1}nav ul{flex-direction:column;align-items:center;width:100%;opacity:0;transform:translateY(-20px);pointer-events:none;margin:0}nav.menu-open ul{opacity:1;transform:translateY(0);pointer-events:all}nav li{width:100%;text-align:center;margin:0}nav button{display:block;width:100%;padding:1rem;border-bottom:1px solid rgba(0,0,0,.05);font-size:1.1rem}nav button.active{background-color:#5b80601a;border-bottom:1px solid var(--primary-color)}.section{padding:5rem 1.5rem}.details-content,.travel-content{grid-template-columns:1fr}.registry-links{flex-direction:column}h1{font-size:2.5rem}h2{font-size:2rem}.hero-simple h1{font-size:3rem;margin-bottom:1rem}.hero-simple .date{font-size:1.1rem;max-width:100%}.rsvp-banner{font-size:1rem;margin-top:1.5rem;padding:.5rem 1rem}}@media (min-width: 769px){.header-container{display:flex;justify-content:space-between;align-items:center;width:100%;margin:0 auto;padding:0 20px;position:relative}.logo-container{position:absolute;left:0}nav{width:100%}nav ul{justify-content:center}}@media (max-width: 480px){.hero-simple h1{font-size:2.5rem}.hero-simple .date{font-size:.9rem}h2{font-size:1.8rem}.section{padding:3rem 1rem}}.full-height-hero .background-image{position:fixed!important;top:0;left:0;width:100%;height:100vh;z-index:-1}.full-height-hero{position:relative!important;z-index:1;height:100vh}#details,#hotels,#registry,#rsvp,#gallery,footer{position:relative;z-index:2;box-shadow:0 0 10px #0000001a}#details,#hotels,#rsvp{background-color:var(--background-color)}#details,#registry,#gallery{background-color:var(--background-alt-color)}footer{background-color:var(--primary-color)}#story{margin-top:0}.fixed-background{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:-1}.fixed-background:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/hand_holding.jpg);background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease}.fixed-background:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1;transition:background-color 1.2s ease}.fixed-background.home:before{background-image:url(/hand_holding.jpg);opacity:1}.fixed-background.details:before{background-image:url(/couple_photo.jpg);opacity:1}.fixed-background.hotels:before{background-image:url(/hand_holding_2.jpg);opacity:1}.fixed-background.faqs:before{background-image:url(/background_5.jpg);opacity:1}.fixed-background.rsvp:before{background-image:url(/ring_box.jpg);opacity:1}.fixed-background.gallery:before{opacity:1}.fixed-background.home:after{background-color:#00000080}.fixed-background.details:after{background-color:#0009}.fixed-background.hotels:after{background-color:#0000008c}.fixed-background.faqs:after{background-color:#000000a6}.fixed-background.rsvp:after{background-color:#0009}.fixed-background.gallery:after{background-color:#000000b3}.header-container{width:100%;display:flex;justify-content:space-between;align-items:center;padding:0}.mobile-menu-toggle{display:none;flex-direction:column;justify-content:space-between;width:30px;height:20px;cursor:pointer;z-index:200;margin:0;padding:0;position:relative}.mobile-menu-toggle span{display:block;height:4px;width:100%;background-color:var(--primary-color);border-radius:4px;transition:all .3s ease;position:absolute;left:0}.mobile-menu-toggle span:nth-child(1){top:0}.mobile-menu-toggle span:nth-child(2){top:8px}.mobile-menu-toggle span:nth-child(3){top:16px}.mobile-menu-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.mobile-menu-toggle.active span:nth-child(2){opacity:0}.mobile-menu-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}nav li{list-style:none}body.menu-open{overflow:hidden}@media (max-width: 768px){nav.menu-open:after{content:"";position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background-color:#00000080;z-index:-1;opacity:.7}.mobile-menu-toggle span{background-color:var(--primary-color);height:2px;border-radius:1px}.mobile-menu-toggle:after{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px;z-index:-1}}.rsvp-error{background-color:#fff0f0;border-left:4px solid #d8000c;padding:12px;margin-bottom:20px;border-radius:4px}.rsvp-error p{color:#d8000c;margin:0}.rsvp-subtitle{text-align:center;color:var(--secondary-color);font-size:1.1rem;margin-top:-1rem;margin-bottom:2rem;font-family:var(--body-font);font-weight:500;letter-spacing:.5px}#rsvp.section{display:flex;flex-direction:column;align-items:center}#story .event,#travel .hotels,#travel .directions,#travel .travel-tips,#rsvp .rsvp-card{border:1px solid rgba(0,0,0,.05)}.section+.section{border-top:1px solid rgba(0,0,0,.03)}.section:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(to bottom,rgba(0,0,0,.03),transparent);z-index:1}#home:before{display:none}.details-card{background-color:#fff;box-shadow:0 4px 8px #0000000d;border-radius:8px;padding:2rem;display:flex;flex-direction:column;align-items:flex-start;transition:box-shadow .2s}.details-card:hover{box-shadow:0 8px 16px #00000014}.details-card h3{margin-top:0;margin-bottom:1rem;color:var(--primary-color)}.details-card ul{list-style:none;padding:0;margin:0}.details-card li{margin-bottom:.75rem;display:flex;align-items:center;font-size:1rem}.details-card .callout{font-weight:700;color:var(--primary-color);margin-right:.5rem;min-width:80px}.details-banner{width:100%;margin-bottom:2rem;text-align:center}.details-banner-link{display:inline;background:none;color:var(--primary-color);padding:0;border-radius:0;font-size:1.1rem;font-weight:600;text-decoration:underline;box-shadow:none;transition:color .2s;cursor:pointer}.details-banner-link:hover{color:var(--primary-color-dark, #2a3a4d);background:none;box-shadow:none}.details-small-note{font-size:.95rem;color:var(--secondary-color);margin:.25rem 0 .75rem;font-style:italic;font-weight:400;letter-spacing:.1px}.details-main-heading{font-family:var(--heading-font);font-size:4rem;color:var(--secondary-color);text-align:center;font-weight:400;margin-bottom:0rem;letter-spacing:2px;line-height:1.2}.details-subheading{text-align:center;margin-top:2.5rem;margin-bottom:2.2rem;line-height:1.3}.details-date{font-family:var(--body-font);font-size:1.45rem;color:var(--primary-color);font-weight:700;margin-bottom:.2rem;text-transform:uppercase}.details-venue{font-size:1.15rem;color:var(--secondary-color);font-weight:500;margin-bottom:.1rem}.details-address a{color:var(--secondary-color);font-size:1.1rem;font-weight:400;transition:color .2s;text-decoration:none}.details-address a:hover{color:var(--primary-color);text-decoration:underline}.details-schedule-row{display:flex;justify-content:center;align-items:stretch;gap:0;margin:0 auto;max-width:900px;width:100%;box-shadow:0 6px 16px #00000012;border-radius:4px 4px 0 0;overflow:hidden}.details-schedule-card{flex:1 1 0;background:var(--primary-color);color:var(--light-text);text-align:center;padding:1.1rem .2rem 1rem;display:flex;flex-direction:column;align-items:center;border-right:1px solid rgba(255,255,255,.15);font-size:.98rem;line-height:1.1}.details-schedule-card:last-child{border-right:none}.schedule-title{font-family:var(--heading-font);font-size:1.4rem;margin-bottom:.3rem;letter-spacing:.5px;text-transform:uppercase;line-height:.9}.schedule-time{font-size:.98rem;font-family:var(--body-font);font-weight:400;letter-spacing:.5px}.details-map-iframe{width:100%;max-width:900px;margin:0 auto;box-shadow:0 6px 24px #0000001a;border-radius:0 0 8px 8px;overflow:hidden}@media (max-width: 900px){.details-schedule-row,.details-map-iframe{max-width:100%;width:100%}}@media (max-width: 700px){.details-main-heading{font-size:2rem}.details-schedule-row{flex-direction:column;border-radius:8px 8px 0 0;box-shadow:0 4px 12px #00000014}.details-schedule-card{border-right:none;border-bottom:1px solid rgba(255,255,255,.15);padding:1rem .2rem;font-size:.95rem}.details-schedule-card:last-child{border-bottom:none}.schedule-title{font-size:1rem}.schedule-time{font-size:.95rem}.details-map-iframe{border-radius:0 0 8px 8px}}@keyframes sectionFadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}#hotels{padding:2rem 1rem}#hotels h2{font-size:3rem;color:#888;text-align:center;margin-bottom:1.5rem;font-weight:400;text-transform:uppercase}.hotels-intro{max-width:800px;margin:0 auto 3rem;text-align:center;font-size:1.1rem;line-height:1.6;color:#666}.hotel-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:800px;margin:0 auto}.hotel-item{background-color:#f9f9f9;border-radius:5px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.hotel-image{width:100%;height:250px;overflow:hidden}.hotel-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.hotel-image img:hover{transform:scale(1.05)}.hotel-info{padding:1.5rem;text-align:center}.hotel-info h3{font-size:1.3rem;color:var(--primary-color);margin-bottom:.8rem;font-weight:500}.hotel-address,.hotel-phone{margin:.5rem 0;color:#777}.book-button{display:inline-block;margin-top:1rem;padding:.7rem 2rem;background-color:#5e7a61;color:#fff;text-decoration:none;border-radius:3px;font-weight:500;transition:background-color .2s}.book-button:hover{background-color:#4c6a4f}@media (max-width: 768px){.hotel-grid{grid-template-columns:1fr}#hotels h2{font-size:2.2rem}}#faqs{background-color:var(--background-color);padding-top:6rem;padding-bottom:6rem}#faqs h2{color:var(--secondary-color);margin-bottom:2.5rem;letter-spacing:1px}.faqs-content{max-width:900px;margin:0 auto}.faq-grid{display:flex;flex-direction:column;gap:1.5rem}.faq-item{background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000000d;overflow:hidden;transition:all .3s ease;cursor:pointer}.faq-item:hover{box-shadow:0 6px 12px #0000001a;transform:translateY(-2px)}.faq-question{padding:1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid transparent;transition:all .3s ease}.faq-item.expanded .faq-question{border-bottom:1px solid rgba(0,0,0,.1)}.faq-question h3{margin:0;font-size:1.15rem;font-weight:500;color:var(--primary-color);font-family:var(--heading-font);letter-spacing:.5px}.faq-toggle-icon{font-size:1.5rem;font-weight:200;color:var(--primary-color);transition:all .3s ease}.faq-item.expanded .faq-toggle-icon{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease;padding:0 1.5rem}.faq-item.expanded .faq-answer{max-height:500px;padding:1.5rem}.faq-answer p{margin:0;line-height:1.6;color:var(--text-color)}@media (max-width: 768px){.faq-question h3{font-size:1rem;letter-spacing:.3px}.faq-item,.faq-question,.faq-item.expanded .faq-answer{padding:1rem}}.to-top-button{position:absolute;bottom:30px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:opacity .3s ease;opacity:.7}.to-top-button:hover{opacity:1}.to-top-button p{margin-top:8px;font-size:14px;color:var(--secondary-color);font-family:var(--heading-font);letter-spacing:1px}.arrow-up{width:20px;height:20px;border-left:2px solid var(--secondary-color);border-top:2px solid var(--secondary-color);transform:rotate(45deg);animation:bobbing 2s infinite ease-in-out}@keyframes bobbing{0%,to{transform:rotate(45deg) translateY(0) translate(0)}50%{transform:rotate(45deg) translateY(-10px) translate(-10px)}}.gallery-content img{max-width:100%;max-height:500px;object-fit:contain}#gallery.section{min-height:auto;padding-bottom:100px}#gallery.section:not(.visible) .photo-grid{opacity:1;transform:translateY(0)}.gallery-marquee-container{width:100%;max-width:100%;overflow:hidden}.gallery-row{margin-bottom:16px}.gallery-item{display:inline-block;transition:transform .3s ease,box-shadow .3s ease}.gallery-item:hover{transform:translateY(-5px);box-shadow:0 8px 20px #00000026}.gallery-content .marquee{min-width:100%!important}.gallery-content .marquee-container{overflow:hidden!important}#gallery.section{min-height:auto;padding-bottom:8rem;padding-top:6rem}.lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#323232bf;display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;animation:lightboxFadeIn .3s ease forwards}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}.lightbox-content{position:relative;max-width:90%;max-height:90%;animation:lightboxZoomIn .3s ease forwards}@keyframes lightboxZoomIn{0%{transform:scale(.9)}to{transform:scale(1)}}.lightbox-content img{max-width:100%;max-height:90vh;display:block;margin:0 auto;box-shadow:0 5px 25px #00000080;border-radius:4px}.lightbox-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:40px;cursor:pointer;opacity:.8;transition:opacity .2s}.lightbox-close:hover{opacity:1}.lightbox-nav{background:none;border:none;color:#fff;font-size:60px;cursor:pointer;opacity:.6;transition:all .3s ease;height:80px;width:60px;display:flex;align-items:center;justify-content:center;margin:0 20px;border-radius:50%;padding-bottom:8px;z-index:1010}.lightbox-nav:hover{opacity:1;transform:scale(1.1)}.lightbox-counter{position:absolute;bottom:-30px;left:0;width:100%;text-align:center;color:#fff;font-size:14px;font-family:var(--body-font)}@media (max-width: 768px){.lightbox-nav{font-size:40px;height:60px;width:40px;margin:0 10px}.lightbox-content img{max-height:80vh}}body.lightbox-open{overflow:hidden}.gallery-item{position:relative;cursor:pointer}.gallery-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:#0000;transition:background-color .3s ease;z-index:1;pointer-events:none}.gallery-item:hover:before{background-color:#0000001a}.gallery-item:after{content:"🔍";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);opacity:0;color:#fff;font-size:24px;z-index:2;transition:all .3s ease;pointer-events:none}.gallery-item:hover:after{transform:translate(-50%,-50%) scale(1);opacity:.9}.logo-container{display:flex;align-items:center;margin-right:auto}.nav-logo{height:40px;cursor:pointer;transition:transform .3s ease}.nav-logo:hover{transform:scale(1.05)}@media (max-width: 768px){.header-container{width:100%;display:flex;justify-content:space-between;align-items:center}.mobile-menu-toggle{margin-left:auto;z-index:300}.nav-logo{height:35px}}.thank-you-card{text-align:center;animation:thankYouFadeIn .8s ease forwards;width:100%}.thank-you-content{display:flex;flex-direction:column;align-items:center}.icon-container{margin-bottom:20px}.thank-you-card .phone-number{font-size:1.4rem}.check-icon,.heart-icon{width:70px;height:70px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px;margin:0 auto}.check-icon{background-color:#fff;color:var(--primary-color)}.heart-icon{background-color:#fff;color:#d88c8c}.thank-you-card h3{font-size:24px;margin-bottom:15px}.thank-you-card p{font-size:16px;color:#ffffffe6;line-height:1.6}.confirmed-guests{margin-top:25px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);width:100%;max-width:300px}.confirmed-guests h4{margin-top:0;margin-bottom:15px;color:#fff;font-size:1.1rem}.confirmed-guests ul{list-style:none;padding:0;margin:0;text-align:center}.confirmed-guests li{margin-bottom:8px;padding:6px 10px;background-color:#fff3;border-radius:4px;font-size:15px;color:#fff}.confirmed-guests li:last-child{margin-bottom:0}.contact-section{text-align:center;margin-top:50px;padding:20px;width:100%;max-width:800px;margin-left:auto;margin-right:auto;color:#757575}.contact-section h2{font-size:42px;font-weight:400;color:#757575;margin-bottom:25px}.contact-section p{margin:10px 0;font-size:24px;color:#757575;font-weight:300}.contact-phone{font-size:32px;font-weight:500;color:#757575;margin-top:15px}@keyframes thankYouFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.rsvp-form-container{max-width:100%;width:100%;margin:0 auto;padding:0}.rsvp-stage-one{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;width:100%;max-width:520px;margin:0 auto;padding:40px 20px;z-index:2}.rsvp-stage-two{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;width:100%;margin:0 auto;padding:40px 15vw;z-index:2;background-color:var(--primary-color);color:#fff;border-radius:4px}.rsvp-stage-two .rsvp-heading{color:#fff!important;margin-bottom:10px!important}.rsvp-subheading{text-align:center;color:#ffffffe6;margin-bottom:30px;font-size:1.1rem}.rsvp-response-form{width:100%;display:flex;flex-direction:column;gap:20px}.rsvp-guest-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:5px;width:100%}.guest-name{font-size:1.2rem;font-weight:500;color:#fff;text-align:left;width:200px;padding-right:15px}.rsvp-buttons{display:flex;justify-content:flex-end;gap:10px;flex:1}.accept-button,.decline-button{padding:12px 20px;border:none;background-color:#fff;color:#333;font-size:.9rem;font-weight:500;cursor:pointer;min-width:180px;transition:all .5s ease;font-family:var(--heading-font);line-height:1;border-radius:4px;opacity:.5}@media (max-width: 768px){.rsvp-guest-row{flex-direction:column;align-items:center}.guest-name{text-align:center;margin-bottom:10px;width:100%;padding-right:0}.rsvp-buttons{justify-content:center;width:100%}}@media (max-width: 576px){.rsvp-buttons{flex-direction:column;gap:8px}.accept-button,.decline-button{width:100%;min-width:unset;font-size:.8rem;padding:10px 15px}.rsvp-stage-two{padding:30px 15px}.rsvp-heading{font-size:1.5rem!important}.rsvp-subheading{font-size:.9rem}}.accept-button.active,.decline-button.active{opacity:1}button.submit-rsvp-button{background-color:#fff;color:#333;font-weight:700;padding:8px 24px;border:none;margin-top:20px;font-size:1rem;cursor:pointer;transition:all .2s ease;width:100%;text-transform:uppercase;letter-spacing:1px;border-radius:4px;box-shadow:0 2px 4px #0000001a}.submit-rsvp-button:hover{opacity:.95;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.submit-rsvp-button:disabled{background-color:#fff9;cursor:not-allowed;transform:none}.back-link{background:none;border:none;color:#fffc;font-size:1.1rem;margin-top:15px;cursor:pointer;text-decoration:underline;padding:5px;font-family:var(--heading-font)}.back-link:hover{color:#fff}.floral-left{position:absolute;left:0;top:0;z-index:1;width:30%;max-height:100%;overflow:hidden}.floral-right{position:absolute;right:0;top:0;z-index:1;width:30%;max-height:100%;overflow:hidden}.rsvp-form{width:100%}.floral-left img,.floral-right img{width:100%;height:auto;opacity:.85}.rsvp-heading{font-size:2rem!important;text-align:center;margin-bottom:30px!important;color:#666!important;font-weight:400!important;line-height:1.3!important;font-family:var(--heading-font)!important}.name-input{border:1px solid #ddd!important;height:48px!important;padding:10px 16px!important;font-size:16px!important;border-radius:4px!important;width:100%!important;max-width:520px}.name-input::placeholder{color:#aaa;opacity:1}.name-input:focus{border-color:#908070!important;outline:none}.find-rsvp-button{background-color:var(--primary-color);color:#fff;padding:16px 24px;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background-color .3s,transform .2s;width:100%;font-weight:700;letter-spacing:1px;text-transform:uppercase}.find-rsvp-button:hover{background-color:#4a6b50;transform:translateY(-2px)}.find-rsvp-button:disabled{background-color:#a9b9ad;cursor:not-allowed;transform:none;opacity:.7}@media (max-width: 1200px){.floral-left,.floral-right{width:260px}.rsvp-heading{font-size:1.8rem!important}}@media (max-width: 900px){.floral-left,.floral-right{width:220px}.rsvp-heading{font-size:1.6rem!important}}@media (max-width: 768px){.floral-left,.floral-right{width:180px}.rsvp-heading{font-size:1.4rem!important}}@media (max-width: 576px){.floral-left,.floral-right{width:120px}.rsvp-heading{font-size:1.2rem!important}}.rsvp-card-container{position:relative;min-height:300px;perspective:1000px}.rsvp-card{animation:cardFadeIn .5s ease forwards;width:100%}@media (min-width: 768px){.rsvp-card.has-guest-list{margin-left:auto;margin-right:auto}}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(20px) rotateX(-10deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}.rsvp-card h3{margin-top:0;margin-bottom:20px;color:#333;font-size:1.5rem}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#444}.form-hint{font-size:14px;color:#777;margin-top:-5px;margin-bottom:8px;font-style:italic}.form-group input[type=text],.form-group textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:16px;transition:border-color .3s}.form-group input[type=text]:focus,.form-group textarea:focus{border-color:#908070;outline:none}.form-group textarea{min-height:100px;resize:vertical}.checkbox-container{display:flex;align-items:center;cursor:pointer;font-size:16px;-webkit-user-select:none;user-select:none;position:relative;padding-left:35px}.checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:absolute;top:0;left:0;height:25px;width:25px;background-color:#eee;border-radius:4px}.checkbox-container:hover input~.checkmark{background-color:#ccc}.checkbox-container input:checked~.checkmark{background-color:#908070}.checkmark:after{content:"";position:absolute;display:none}.checkbox-container input:checked~.checkmark:after{display:block}.checkbox-container .checkmark:after{left:9px;top:5px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.error-message{background-color:#fff0f0;border-left:4px solid #d8000c;padding:12px;margin-bottom:20px;border-radius:4px}.error-message p{color:#d8000c;margin:0}.form-buttons{display:flex;justify-content:space-between}.back-button,.next-button,.submit-button{padding:12px 24px;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background-color .3s,transform .2s}.back-button{background-color:#eee;color:#555}.back-button:hover{background-color:#ddd}.next-button,.submit-button{background-color:#908070;color:#fff}.next-button:hover,.submit-button:hover{background-color:#7a6a5a;transform:translateY(-2px)}.submit-button{background-color:#6d8a72}.submit-button:hover{background-color:#5c7961}.submit-button:disabled,.next-button:disabled,.back-button:disabled{background-color:#a9b9ad;cursor:not-allowed;transform:none;opacity:.7}.form-buttons:has(.next-button:only-child){justify-content:flex-end}.group-intro{margin-bottom:25px;font-style:italic;color:#666}.guest-list-container{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:30px}@media (min-width: 576px){.guest-list-container.two-columns,.guest-list-container.three-columns{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.guest-list-container.three-columns{grid-template-columns:repeat(3,1fr)}.rsvp-card.has-guest-list:has(.guest-list-container.three-columns){max-width:900px}.rsvp-card.has-guest-list:has(.guest-list-container.two-columns){max-width:700px}.rsvp-form-container:has(.guest-list-container.three-columns){max-width:900px}.rsvp-form-container:has(.guest-list-container.two-columns){max-width:700px}}.guest-rsvp-item{background-color:#f9f9f9;padding:20px;border-radius:8px;box-shadow:0 2px 6px #0000000d}.guest-rsvp-item h4{margin-top:0;margin-bottom:15px;font-size:18px;color:#555;font-weight:600;border-bottom:1px solid #eee;padding-bottom:8px}.checkbox-group{margin-bottom:15px}.guest-divider{margin:25px 0;border-top:1px solid #eee}.rsvp-summary{background-color:#f0f7f1;border-left:4px solid #6d8a72;padding:15px;margin-bottom:20px;border-radius:4px;text-align:center}.rsvp-summary p{margin:0;color:#555;font-weight:500}.rsvp-summary strong{color:#6d8a72}.help-icon{position:fixed;bottom:20px;left:20px;z-index:9999;cursor:pointer;transition:all .3s ease}.help-icon-inner{width:50px;height:50px;border-radius:50%;background-color:#d88c8c;color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;box-shadow:0 2px 10px #0003;transition:all .3s ease}.help-icon.expanded .help-icon-inner{opacity:0;visibility:hidden}.contact-info{position:absolute;bottom:0;left:0;background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 5px 15px #0003;width:300px;animation:fadeIn .3s ease forwards;z-index:10000}.contact-info h3{font-size:18px;font-weight:500;color:#757575;margin-bottom:15px;margin-right:20px}.contact-info p{font-size:14px;color:#757575;margin-bottom:10px;line-height:1.4}.contact-info .contact-phone{font-size:18px;font-weight:500;color:#757575;margin-top:10px}.contact-info .contact-phone a{color:inherit;text-decoration:underline}.close-contact{position:absolute;top:10px;right:10px;background:none;border:none;font-size:20px;color:#757575;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
