:root{--color-bg: #FAFAF8;--color-bg-alt: #FAFAF8;--color-bg-dark: #2b3540;--color-text: #2b3540;--color-text-light: #4a5a6a;--color-text-muted: #8a9aaa;--color-accent: #6F859F;--color-accent-dark: #566b82;--color-accent-light: #8fa5bf;--color-gold: #5F7566;--color-white: #ffffff;--color-border: #d0d0cc;--font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-sans: "Montserrat", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--font-script: "Great Vibes", cursive;--section-padding: 100px 0;--container-width: 1200px;--transition: all .3s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);font-weight:300;color:var(--color-text);background-color:var(--color-bg);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit;transition:var(--transition)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:400;line-height:1.2}.section-header{text-align:center;margin-bottom:60px}.section-header__label{display:inline-block;font-family:var(--font-script);font-size:1.4rem;color:var(--color-accent);margin-bottom:8px}.section-header__title{font-family:var(--font-serif);font-size:3rem;font-weight:300;color:var(--color-text);letter-spacing:2px;text-transform:uppercase;margin-bottom:16px}.section-header__divider{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px}.section-header__line{display:inline-block;width:60px;height:1px;background-color:var(--color-accent)}.section-header__heart{color:var(--color-accent);font-size:1rem}.section-header__subtitle{font-size:1rem;color:var(--color-text-muted);max-width:500px;margin:0 auto}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent-dark)}::selection{background-color:var(--color-accent);color:var(--color-white)}.envelope-screen{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;background:#fafaf8;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .8s ease 1.4s,visibility .8s ease 1.4s}.envelope-screen--opened{opacity:0;visibility:hidden;pointer-events:none}.envelope-screen__particles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.envelope-screen__particle{position:absolute;bottom:-10px;width:4px;height:4px;background:radial-gradient(circle,var(--color-gold) 0%,transparent 70%);border-radius:50%;opacity:.4;animation:floatUp 8s ease-in infinite}@keyframes floatUp{0%{transform:translateY(0) scale(1);opacity:0}10%{opacity:.4}90%{opacity:.1}to{transform:translateY(-100vh) scale(.3);opacity:0}}.envelope-screen__content{text-align:center;animation:screenFadeIn 1s ease both}@keyframes screenFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.envelope-screen__top-text{font-family:var(--font-script);font-size:1.8rem;color:var(--color-gold);margin-bottom:32px;letter-spacing:1px;animation:fadeInUp 1s ease .3s both}.envelope-screen__hint{font-family:var(--font-sans);font-size:.75rem;letter-spacing:3px;text-transform:uppercase;color:#5f7566;margin-top:28px;animation:hintPulse 2.5s ease-in-out infinite,fadeInUp 1s ease .8s both;transition:opacity .4s ease}.envelope-screen__hint--hidden{opacity:0!important}@keyframes hintPulse{0%,to{opacity:.35}50%{opacity:.7}}.envelope{position:relative;width:380px;height:260px;margin:0 auto;perspective:1200px}.envelope__shadow{position:absolute;bottom:-20px;left:10%;width:80%;height:30px;background:radial-gradient(ellipse,rgba(0,0,0,.35) 0%,transparent 70%);border-radius:50%;filter:blur(8px);transition:all .8s ease}.envelope--opened .envelope__shadow{opacity:.3;bottom:-30px}.envelope__card{position:absolute;inset:20px;background:linear-gradient(170deg,#faf8f5,#f5f0eb);border-radius:6px;display:flex;align-items:center;justify-content:center;z-index:1;transition:transform 1s cubic-bezier(.34,1.56,.64,1) .5s;box-shadow:0 2px 20px #0000001a}.envelope--opened .envelope__card{transform:translateY(-180px)}.envelope__card-inner{text-align:center;padding:20px 16px;opacity:0;transition:opacity .6s ease 1s}.envelope--opened .envelope__card-inner{opacity:1}.envelope__card-ornament{font-size:.7rem;color:var(--color-gold);letter-spacing:8px;margin-bottom:8px}.envelope__card-ornament--bottom{margin-top:8px;margin-bottom:0}.envelope__card-subtitle{font-family:var(--font-sans);font-size:.6rem;letter-spacing:3px;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:6px}.envelope__card-names{font-family:var(--font-serif);font-size:1.8rem;font-weight:400;color:var(--color-text);letter-spacing:3px;display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:6px}.envelope__card-amp{font-family:var(--font-script);font-size:1.6rem;color:var(--color-accent)}.envelope__card-invite{font-family:var(--font-sans);font-size:.6rem;letter-spacing:2px;text-transform:uppercase;color:var(--color-text-light);margin-bottom:8px}.envelope__card-divider{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}.envelope__card-divider span:first-child,.envelope__card-divider span:last-child{display:inline-block;width:40px;height:1px;background-color:var(--color-accent)}.envelope__card-heart{color:var(--color-accent);font-size:.7rem}.envelope__card-date{font-family:var(--font-serif);font-size:1rem;color:var(--color-text);letter-spacing:2px;margin-bottom:2px}.envelope__card-venue{font-family:var(--font-sans);font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:var(--color-accent);margin-bottom:1px}.envelope__card-location{font-family:var(--font-sans);font-size:.6rem;color:var(--color-text-muted);letter-spacing:1px}.envelope__body{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.envelope__front{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(170deg,tan,#c4a67a 40%,#b89868);border-radius:8px;box-shadow:0 4px 30px #0003,inset 0 1px #ffffff26;overflow:hidden}.envelope__front:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23000' fill-opacity='0.04' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E");pointer-events:none}.envelope__front:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,transparent 38%,rgba(0,0,0,.03) 38%,rgba(0,0,0,.03) 38.5%,transparent 38.5%),linear-gradient(225deg,transparent 38%,rgba(0,0,0,.03) 38%,rgba(0,0,0,.03) 38.5%,transparent 38.5%);pointer-events:none}.envelope__front-inner{position:absolute;bottom:50%;left:50%;transform:translate(-50%,50%);text-align:center}.envelope__front-to{font-family:var(--font-script);font-size:1.3rem;color:#2b3540b3}.envelope__flap{position:absolute;top:0;left:0;width:100%;height:50%;transform-origin:top center;transform:rotateX(0);z-index:4;transition:transform .7s cubic-bezier(.4,0,.2,1)}.envelope__flap:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#c4a67a,#b89868);clip-path:polygon(0 0,100% 0,50% 100%);box-shadow:0 2px 8px #0000001a;border-radius:8px 8px 0 0}.envelope__flap:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#00000005,#0000000f);clip-path:polygon(0 0,100% 0,50% 100%);pointer-events:none}.envelope--opened .envelope__flap{transform:rotateX(180deg)}.envelope__seal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle at 38% 38%,#c94040,#a82020 35%,#8b1a1a 60%,#6b1010);border:none;cursor:pointer;box-shadow:0 6px 20px #0006,0 0 0 3px #a8202080,0 0 0 6px #a8202026,inset 0 3px 8px #c864644d,inset 0 -4px 8px #00000059;transition:all .6s ease;animation:sealGlow 3s ease-in-out infinite}@keyframes sealGlow{0%,to{box-shadow:0 6px 20px #0006,0 0 0 3px #a8202080,0 0 0 6px #a8202026,0 0 25px #a8202026,inset 0 3px 8px #c864644d,inset 0 -4px 8px #00000059}50%{box-shadow:0 6px 20px #0006,0 0 0 3px #a8202099,0 0 0 6px #a8202033,0 0 40px #a820204d,inset 0 3px 8px #c864644d,inset 0 -4px 8px #00000059}}.envelope__seal:hover{transform:translate(-50%,-50%) scale(1.08)}.envelope__seal--broken{transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none}.envelope__seal:before{content:"";position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(circle at 38% 38%,#b83030,#a82020,#6b1010);z-index:-1;clip-path:polygon(50% 0%,63% 5%,75% 2%,83% 12%,93% 15%,98% 27%,100% 40%,97% 52%,100% 63%,95% 75%,90% 85%,80% 92%,68% 97%,55% 100%,42% 97%,30% 93%,20% 87%,12% 78%,5% 67%,0% 55%,2% 42%,5% 30%,10% 20%,18% 10%,30% 4%,42% 0%);box-shadow:0 4px 15px #0000004d}.envelope__seal-inner{width:72px;height:72px;border-radius:50%;border:1.5px solid rgba(230,180,180,.4);box-shadow:inset 0 0 10px #00000026;display:flex;align-items:center;justify-content:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.envelope__seal-monogram{font-family:var(--font-serif);font-size:1.2rem;font-weight:600;color:#fff0f0f2;text-shadow:0 1px 3px rgba(0,0,0,.4);letter-spacing:2px;white-space:nowrap}.envelope__seal-logo{width:70px;height:70px;max-width:none;object-fit:contain;filter:brightness(0) invert(1);opacity:.95;pointer-events:none}@media(max-width:480px){.envelope{width:300px;height:210px}.envelope__seal{width:76px;height:76px}.envelope__seal-inner{width:72px;height:72px}.envelope__seal-monogram{font-size:1rem;white-space:nowrap}.envelope-screen__top-text{font-size:1.4rem;margin-bottom:24px}.envelope--opened .envelope__card{transform:translateY(-150px)}}@media(max-width:360px){.envelope{width:260px;height:185px}.envelope--opened .envelope__card{transform:translateY(-130px)}}.navbar{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:20px 0;transition:all .4s ease}.navbar--scrolled{background-color:#fafaf8;box-shadow:none;padding:12px 0}.navbar__container{max-width:var(--container-width);margin:0 auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between}.navbar__logo{display:flex;align-items:center;transition:var(--transition)}.navbar__logo-img{height:73px;width:auto;object-fit:contain}.navbar__links{display:flex;list-style:none;gap:32px}.navbar__links a{font-family:var(--font-sans);font-size:.8rem;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:#6f859f;position:relative;padding-bottom:4px}.navbar--scrolled .navbar__links a{color:#6f859f}.navbar__links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--color-accent);transition:width .3s ease}.navbar__links a:hover:after{width:100%}.navbar__hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.navbar__hamburger span{display:block;width:24px;height:2px;background-color:#6f859f;transition:var(--transition);border-radius:2px}.navbar--scrolled .navbar__hamburger span{background-color:#6f859f}.navbar__hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.navbar__hamburger.active span:nth-child(2){opacity:0}.navbar__hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{position:relative;height:100vh;min-height:700px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:url(/hero-bg.png) center center / cover no-repeat;background-color:#2b3540}.hero__overlay{display:none}.hero__content{position:relative;z-index:2;text-align:center;color:#5f7566;padding:0 20px;animation:fadeInUp 1.5s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.hero__subtitle{font-family:var(--font-script);font-size:1.6rem;color:#5f7566;margin-bottom:16px;letter-spacing:1px;animation:fadeInUp 1.5s ease .2s both}.hero__title{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:24px;flex-wrap:wrap;animation:fadeInUp 1.5s ease .4s both}.hero__name{font-family:var(--font-serif);font-size:5rem;font-weight:300;letter-spacing:8px;text-transform:uppercase}.hero__ampersand{font-family:var(--font-script);font-size:4rem;color:#5f7566}.hero__date{display:flex;align-items:center;justify-content:center;gap:20px;font-family:var(--font-sans);font-size:.95rem;letter-spacing:4px;text-transform:uppercase;font-weight:300;margin-bottom:8px;animation:fadeInUp 1.5s ease .6s both}.hero__date-line{display:inline-block;width:60px;height:1px;background-color:#5f7566}.hero__venue-text{font-family:var(--font-sans);font-size:.85rem;letter-spacing:3px;text-transform:uppercase;color:#5f7566;margin-bottom:48px;animation:fadeInUp 1.5s ease .7s both}.countdown{display:flex;justify-content:center;gap:40px;margin-bottom:48px;animation:fadeInUp 1.5s ease .8s both}.countdown__item{text-align:center}.countdown__number{display:block;font-family:var(--font-serif);font-size:3.5rem;font-weight:500;line-height:1;margin-bottom:4px}.countdown__label{font-family:var(--font-sans);font-size:.7rem;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:#5f7566}.hero__cta{display:inline-block;padding:16px 48px;border:1px solid rgba(255,255,255,.5);color:var(--color-white);font-family:var(--font-sans);font-size:.8rem;letter-spacing:3px;text-transform:uppercase;font-weight:400;transition:var(--transition);animation:fadeInUp 1.5s ease 1s both}.hero__cta:hover{background-color:var(--color-white);color:var(--color-bg-dark);border-color:var(--color-white)}.hero__scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:2;text-align:center;color:#ffffff80;animation:fadeInUp 1.5s ease 1.2s both}.hero__scroll-indicator span{display:block;font-family:var(--font-sans);font-size:.65rem;letter-spacing:3px;text-transform:uppercase;margin-bottom:8px}.hero__scroll-arrow{width:1px;height:40px;background-color:#ffffff4d;margin:0 auto;position:relative;overflow:hidden}.hero__scroll-arrow:after{content:"";position:absolute;top:-100%;left:0;width:100%;height:100%;background-color:var(--color-white);animation:scrollLine 2s ease-in-out infinite}@keyframes scrollLine{0%{top:-100%}to{top:100%}}.story{padding:var(--section-padding);background-color:var(--color-bg)}.story__container{max-width:var(--container-width);margin:0 auto;padding:0 40px}.story__content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:80px}.story__image-placeholder{width:100%;aspect-ratio:3/4;background:linear-gradient(135deg,var(--color-bg-alt),var(--color-border));border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-muted);font-family:var(--font-serif);font-size:1.4rem;border:2px dashed var(--color-border)}.story__image-placeholder p{font-family:var(--font-sans);font-size:.85rem;margin-top:8px}.story__text h3{font-family:var(--font-serif);font-size:2rem;font-weight:400;color:var(--color-text);margin-bottom:20px}.story__text p{color:var(--color-text-light);margin-bottom:16px;font-size:1rem;line-height:1.8}.story__signature{font-family:var(--font-script);font-size:2rem;color:var(--color-accent);margin-top:24px}.story__timeline{display:flex;justify-content:center;gap:0;position:relative;padding-top:40px}.story__timeline:before{content:"";position:absolute;top:40px;left:50%;transform:translate(-50%);width:80%;height:1px;background-color:var(--color-border)}.story__timeline-item{flex:1;text-align:center;position:relative;padding:0 20px}.story__timeline-dot{width:14px;height:14px;border-radius:50%;background-color:var(--color-accent);margin:0 auto 20px;position:relative;z-index:1;box-shadow:0 0 0 4px var(--color-bg),0 0 0 5px var(--color-accent)}.story__timeline-content h4{font-family:var(--font-serif);font-size:1.2rem;font-weight:500;color:var(--color-text);margin-bottom:8px}.story__timeline-content p{font-size:.85rem;color:var(--color-text-muted)}.events{padding:var(--section-padding);background-color:var(--color-bg-alt)}.events__container{max-width:var(--container-width);margin:0 auto;padding:0 40px}.events__tiles{max-width:1000px;margin:0 auto}.events__day-group{margin-bottom:40px}.events__day-group:last-child{margin-bottom:0}.events__day-heading{font-family:var(--font-sans);font-size:1.5rem;font-weight:400;color:var(--color-accent);letter-spacing:2px;margin-bottom:20px;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.events__day-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.events__card{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:12px;padding:32px 28px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.events__card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #00000014}.events__card--has-bg{position:relative;background-size:cover;background-position:center;background-repeat:no-repeat;border:8px solid var(--color-white);overflow:hidden;grid-column:1 / -1;padding:48px 36px;min-height:320px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0000001a}.events__card--has-bg:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000040}.events__card-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#0000008c,#000c);border-radius:4px}.events__card-content{position:relative;z-index:1}.events__card--has-bg .events__card-title{color:var(--color-white);font-size:2rem;font-weight:700;text-transform:uppercase;letter-spacing:4px;text-shadow:0 2px 12px rgba(0,0,0,.6)}.events__card--has-bg .events__card-date{color:#fff;font-weight:700;text-shadow:0 1px 6px rgba(0,0,0,.5)}.events__card--has-bg .events__card-time{color:#fffffff2;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.5)}.events__card--has-bg .events__card-venue{color:#ffffffd9;font-weight:500;text-shadow:0 1px 6px rgba(0,0,0,.5)}.events__card--has-bg .events__card-desc{color:#fffffff2;text-shadow:0 1px 6px rgba(0,0,0,.5)}.events__card--has-bg .events__card-desc strong{color:#fff;font-weight:700}.events__card-icon{font-size:3rem;margin-bottom:20px}.events__card-title{font-family:var(--font-serif);font-size:1.6rem;font-weight:400;color:var(--color-text);margin-bottom:16px;padding-bottom:12px;position:relative}.events__card-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:40px;height:1px;background-color:var(--color-accent)}.events__card--has-bg .events__card-title:after{background-color:#ffffff80}.events__card-date{font-family:var(--font-sans);font-size:.85rem;letter-spacing:2px;text-transform:uppercase;color:var(--color-accent);margin-bottom:4px;font-weight:500}.events__card-time{font-size:.9rem;color:var(--color-text-light);font-weight:700;margin-bottom:4px}.events__card-venue{font-size:.85rem;color:var(--color-text-muted);font-style:italic;margin-bottom:16px}.events__card-desc{font-size:.9rem;color:var(--color-text-light);line-height:1.7}.venue{padding:var(--section-padding);background-color:var(--color-bg)}.venue__container{max-width:var(--container-width);margin:0 auto;padding:0 40px}.venue__content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.venue__name{font-family:var(--font-serif);font-size:2rem;font-weight:400;margin-bottom:8px;color:var(--color-text)}.venue__location{font-size:.9rem;color:var(--color-accent);letter-spacing:1px;margin-bottom:20px}.venue__description{font-size:1rem;color:var(--color-text-light);line-height:1.8;margin-bottom:32px}.venue__details{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}.venue__detail{display:flex;align-items:flex-start;gap:16px}.venue__detail-icon{font-size:1.4rem;flex-shrink:0}.venue__detail strong{display:block;font-family:var(--font-serif);font-size:1rem;font-weight:500;color:var(--color-text);margin-bottom:2px}.venue__detail p{font-size:.9rem;color:var(--color-text-light)}.venue__map-link{display:inline-block;font-family:var(--font-sans);font-size:.85rem;letter-spacing:2px;text-transform:uppercase;color:var(--color-accent);font-weight:500;border-bottom:1px solid var(--color-accent);padding-bottom:2px}.venue__map-link:hover{color:var(--color-accent-dark);border-color:var(--color-accent-dark)}.venue__map{border-radius:12px;overflow:hidden;box-shadow:0 10px 40px #0000001a}.faq{padding:var(--section-padding);background-color:var(--color-bg-alt)}.faq__container{max-width:var(--container-width);margin:0 auto;padding:0 40px}.faq__accordion{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:10px}.faq__item{border:1px solid var(--color-border);border-radius:10px;overflow:hidden;background-color:var(--color-white);transition:box-shadow .3s ease}.faq__item--open{box-shadow:0 6px 24px #0000000d}.faq__bar{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 24px;background:none;border:none;cursor:pointer;gap:16px;transition:background-color .2s ease}.faq__bar:hover{background-color:var(--color-bg)}.faq__bar-question{font-family:var(--font-serif);font-size:1.15rem;font-weight:400;color:var(--color-text);text-align:left;line-height:1.4}.faq__bar-arrow{font-size:1.1rem;color:var(--color-text-muted);transition:transform .3s ease;line-height:1;flex-shrink:0}.faq__item--open .faq__bar-arrow{transform:rotate(180deg)}.faq__panel{max-height:0;overflow:hidden;transition:max-height .4s ease}.faq__item--open .faq__panel{max-height:400px}.faq__answer{padding:20px 24px 24px;font-family:var(--font-sans);font-size:.9rem;color:var(--color-text-light);line-height:1.8;border-top:1px solid var(--color-border)}.gallery{padding:var(--section-padding);background-color:var(--color-bg-alt)}.gallery__container{max-width:var(--container-width);margin:0 auto;padding:0 40px}.gallery__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto;gap:16px}.gallery__item{border-radius:12px;overflow:hidden;position:relative}.gallery__item:nth-child(1){grid-column:span 2;grid-row:span 2}.gallery__item:nth-child(4){grid-column:span 2}.gallery__item:nth-child(5){grid-row:span 2}.gallery__item:nth-child(8){grid-column:span 2}.gallery__img{width:100%;height:100%;object-fit:cover;display:block;min-height:220px;transition:transform .5s ease}.gallery__item:nth-child(1) .gallery__img{min-height:456px}.gallery__item:nth-child(5) .gallery__img{min-height:456px}.gallery__item:hover .gallery__img{transform:scale(1.05)}.rsvp{position:relative;padding:var(--section-padding);background:linear-gradient(135deg,#2b3540,#3d5060);color:var(--color-white)}.rsvp__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.5}.rsvp__container{position:relative;z-index:1;max-width:700px;margin:0 auto;padding:0 40px}.rsvp .section-header__label{color:var(--color-accent-light)}.rsvp .section-header__title{color:var(--color-white)}.rsvp .section-header__line{background-color:var(--color-accent-light)}.rsvp .section-header__heart{color:var(--color-accent-light)}.rsvp .section-header__subtitle{color:#fff9}.rsvp__form{display:flex;flex-direction:column;gap:24px}.rsvp__form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.rsvp__form-group{display:flex;flex-direction:column}.rsvp__form-group--full{width:100%}.rsvp__form-group label{font-family:var(--font-sans);font-size:.75rem;letter-spacing:2px;text-transform:uppercase;color:#ffffffb3;margin-bottom:8px;font-weight:400}.rsvp__form-group input,.rsvp__form-group select,.rsvp__form-group textarea{width:100%;padding:14px 16px;background-color:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--color-white);font-family:var(--font-sans);font-size:.95rem;font-weight:300;transition:var(--transition);outline:none}.rsvp__form-group input::placeholder,.rsvp__form-group textarea::placeholder{color:#ffffff4d}.rsvp__form-group input:focus,.rsvp__form-group select:focus,.rsvp__form-group textarea:focus{border-color:var(--color-accent-light);background-color:#ffffff1f}.rsvp__form-group select option{background-color:var(--color-bg-dark);color:var(--color-white)}.rsvp__form-group textarea{resize:vertical;min-height:100px}.rsvp__submit{align-self:center;padding:16px 60px;background-color:var(--color-accent);color:var(--color-white);border:1px solid var(--color-accent);border-radius:8px;font-family:var(--font-sans);font-size:.8rem;letter-spacing:3px;text-transform:uppercase;font-weight:500;cursor:pointer;transition:var(--transition);margin-top:8px}.rsvp__submit:hover{background-color:var(--color-accent-dark);border-color:var(--color-accent-dark);transform:translateY(-2px)}.rsvp__success{text-align:center;padding:40px 0}.rsvp__success-icon{width:70px;height:70px;border-radius:50%;background-color:var(--color-accent);color:var(--color-white);font-size:2rem;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.rsvp__success h3{font-family:var(--font-serif);font-size:2rem;margin-bottom:12px;color:var(--color-white)}.rsvp__success p{color:#ffffffb3;font-size:1rem}.footer{background-color:#e8e7e3f7;color:var(--color-text);padding:60px 0 30px;text-align:center;border-top:1px solid var(--color-border)}.footer__container{max-width:var(--container-width);margin:0 auto;padding:0 40px}.footer__title{font-family:var(--font-script);font-size:2.5rem;color:#5f7566;margin-bottom:12px;font-weight:400}.footer__date{font-family:var(--font-sans);font-size:.85rem;letter-spacing:3px;text-transform:uppercase;color:var(--color-text-light);margin-bottom:4px}.footer__venue{font-family:var(--font-sans);font-size:.8rem;color:var(--color-text-muted);letter-spacing:1px}.footer__logo{display:block;height:80px;width:auto;margin:16px auto 0;object-fit:contain}.footer__divider{width:60px;height:1px;background-color:var(--color-border);margin:12px auto}.footer__hashtag p{font-family:var(--font-script);font-size:1.6rem;color:var(--color-accent);margin-bottom:24px}.footer__bottom p{font-size:.75rem;color:var(--color-text-muted);letter-spacing:1px}@media(max-width:1024px){.story__content{gap:40px}.venue__content{grid-template-columns:1fr}}@media(max-width:768px){:root{--section-padding: 70px 0}.navbar__hamburger{display:flex}.navbar__links{position:fixed;top:0;right:-100%;width:280px;height:100vh;background-color:var(--color-white);flex-direction:column;justify-content:center;align-items:center;gap:24px;transition:right .4s ease;box-shadow:-10px 0 30px #0000001a;z-index:1001}.navbar__close{position:absolute;top:20px;right:20px;background:none;border:none;font-size:2rem;color:var(--color-text);cursor:pointer;line-height:1;padding:4px 8px;transition:var(--transition)}.navbar__close:hover{color:var(--color-accent)}.navbar__links--open{right:0}.navbar__links a{color:#6f859f!important;font-size:.9rem}.hero__name{font-size:3rem;letter-spacing:4px}.hero__ampersand{font-size:2.5rem}.hero__subtitle{font-size:1.2rem}.countdown{gap:20px}.countdown__number,.section-header__title{font-size:2.2rem}.story__content{grid-template-columns:1fr;text-align:center}.story__image-placeholder{max-width:400px;margin:0 auto}.story__timeline{flex-direction:column;align-items:center;gap:32px}.story__timeline:before{width:1px;height:100%;top:0;left:50%}.gallery__grid{grid-template-columns:repeat(2,1fr)}.gallery__item:nth-child(1){grid-column:span 2;grid-row:span 1}.gallery__item:nth-child(4){grid-column:span 1}.gallery__item:nth-child(5){grid-row:span 1}.gallery__item:nth-child(8){grid-column:span 1}.gallery__img{min-height:200px}.gallery__item:nth-child(1) .gallery__img,.gallery__item:nth-child(5) .gallery__img{min-height:250px}.rsvp__form-row{grid-template-columns:1fr}.rsvp__container{padding:0 24px}}@media(max-width:480px){.hero__name{font-size:2.2rem;letter-spacing:3px}.hero__ampersand{font-size:2rem}.hero__title,.countdown{gap:12px}.countdown__number{font-size:1.8rem}.countdown__label{font-size:.6rem}.hero__cta{padding:14px 36px}.section-header__title{font-size:1.8rem}.gallery__grid{grid-template-columns:1fr}.gallery__item:nth-child(1),.gallery__item:nth-child(4),.gallery__item:nth-child(5),.gallery__item:nth-child(8){grid-column:span 1;grid-row:span 1}.gallery__img,.gallery__item:nth-child(1) .gallery__img,.gallery__item:nth-child(5) .gallery__img{min-height:240px}.events__day-tiles{grid-template-columns:1fr}.events__card{padding:24px 20px}.faq__bar{padding:16px;gap:12px}.faq__bar-question{font-size:1rem}.faq__answer{padding:16px 16px 20px;font-size:.85rem}.footer__logo{height:60px;margin-top:12px}.navbar__container,.story__container,.events__container,.venue__container,.faq__container,.gallery__container,.footer__container{padding:0 20px}}
