@import"https://fonts.googleapis.com/css2?family=Alex+Brush&family=Cormorant+Garamond:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Alex+Brush&family=Cinzel:wght@400;500;600&display=swap";.envelope-section{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fefefe;cursor:pointer;padding:2rem 1rem;position:relative}.envelope-wrapper{perspective:60rem;width:100%;max-width:36rem;padding:0 1rem}.envelope{position:relative;width:100%;aspect-ratio:3 / 2;background:#496248;border-radius:clamp(.125rem,.5vw,.25rem);box-shadow:0 .5rem 1.5rem #1a1a1a26;transform-style:preserve-3d;container-type:inline-size}.envelope:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:repeating-linear-gradient(0deg,transparent 0px,rgba(255,255,255,.012) 1px,transparent 2px,transparent 4px),repeating-linear-gradient(90deg,transparent 0px,rgba(0,0,0,.01) 1px,transparent 2px,transparent 4px);background-size:4px 4px;pointer-events:none}.envelope:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:1px solid rgba(192,172,126,.2);pointer-events:none}.envelope-letter{position:absolute;top:3%;left:2.5%;right:2.5%;bottom:3%;background:#fffdf8;border-radius:clamp(.0625rem,.25vw,.125rem);box-shadow:0 .125rem .5rem #0000001a;z-index:1}.envelope-letter:before{content:"";position:absolute;top:4%;left:3%;right:3%;bottom:4%;border:1px solid rgba(192,172,126,.3);pointer-events:none}.envelope-flap-top{position:absolute;top:0;left:0;right:0;height:62%;background:#496248;transform-origin:top center;z-index:3;display:flex;align-items:flex-start;justify-content:center;clip-path:ellipse(80% 100% at 50% 0%);backface-visibility:hidden;transform-style:preserve-3d}.envelope-flap-top:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent 0px,rgba(255,255,255,.01) 1px,transparent 2px,transparent 4px);background-size:4px 4px;border-bottom:1px solid rgba(192,172,126,.15);pointer-events:none}.envelope-flap-top:after{content:"";position:absolute;bottom:0;left:30%;right:30%;height:10%;background:radial-gradient(ellipse at 50% 0%,rgba(0,0,0,.08) 0%,transparent 70%);pointer-events:none}.flap-top-content{display:flex;flex-direction:column;align-items:center;line-height:1;font-family:Alex Brush,cursive;color:#c0ac7e;padding-top:8%;text-shadow:0 1px 1px rgba(0,0,0,.1)}.flap-top-content .name{font-size:clamp(1.6rem,9cqi,3rem)}.flap-top-content .ampersand{font-size:clamp(.8rem,4cqi,1.4rem);color:#c0ac7ebf}.envelope-flap-bottom{position:absolute;bottom:0;left:0;right:0;height:40%;background:#496248;z-index:2;display:flex;align-items:flex-end;justify-content:center;clip-path:ellipse(80% 100% at 50% 100%)}.envelope-flap-bottom:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent 0px,rgba(255,255,255,.01) 1px,transparent 2px,transparent 4px);background-size:4px 4px;border-top:1px solid rgba(192,172,126,.15);pointer-events:none}.envelope-flap-bottom:after{content:"";position:absolute;top:0;left:30%;right:30%;height:10%;background:radial-gradient(ellipse at 50% 100%,rgba(0,0,0,.08) 0%,transparent 70%);pointer-events:none}.flap-bottom-content{font-family:Cinzel,serif;color:#c0ac7e;font-weight:400;padding-bottom:8%;text-shadow:0 1px 1px rgba(0,0,0,.1)}.flap-bottom-content .date{font-size:clamp(.6rem,3.2cqi,1rem);letter-spacing:clamp(.05rem,.6cqi,.2rem)}.envelope-seal{position:absolute;top:54.5%;left:45.5%;transform:translate(-50%,-50%);width:clamp(2rem,11cqi,3.25rem);height:clamp(2rem,11cqi,3.25rem);background:#c0ac7e;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 .2rem .5rem #0003,inset 0 1px 2px #fff3,inset 0 -1px 2px #0000001a;color:#fff;z-index:4}.envelope-seal svg{width:42%;height:42%}.scroll-hint{position:absolute;bottom:clamp(1.5rem,4vw,2.5rem);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#496248;font-family:Cinzel,serif}.scroll-hint span{font-size:clamp(.6875rem,1.8vw,.8125rem);letter-spacing:.125rem;text-transform:uppercase;opacity:.7;font-weight:500}.scroll-hint svg{width:clamp(.875rem,2.5vw,1.125rem);height:clamp(.875rem,2.5vw,1.125rem);opacity:.5}.hero-section{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fefefe;position:relative;padding:clamp(2rem,6vw,4rem) clamp(1rem,4vw,2rem);container-type:inline-size}@media (min-width: 48rem){.hero-section{background:#fefefe}}.hero-content{text-align:center;width:100%;max-width:36rem;display:flex;flex-direction:column;align-items:center;container-type:inline-size}.hero-decoration{width:clamp(10rem,70cqi,20rem);color:#496248;opacity:.75}.hero-decoration.top{margin-bottom:clamp(.75rem,3cqi,1.5rem)}.hero-decoration.bottom{margin-top:clamp(.75rem,3cqi,1.5rem)}.hero-decoration .branch{stroke:#496248;opacity:.7}.hero-intro{font-family:Cormorant SC,serif;font-size:clamp(.8rem,3.5cqi,1.1rem);font-weight:400;color:#496248;letter-spacing:.04em;margin:0}.hero-subtitle{font-family:Cormorant SC,serif;font-size:clamp(.8rem,3.5cqi,1.1rem);font-weight:500;color:#1a1a1a;letter-spacing:.08em;margin:clamp(.125rem,.5cqi,.25rem) 0 clamp(.75rem,3cqi,1.5rem)}.hero-names{font-family:Alex Brush,cursive;font-size:clamp(2.5rem,14cqi,5.5rem);font-weight:400;color:#3b4f3a;line-height:.9;margin:0;display:flex;flex-direction:column;align-items:center}.hero-names .name{display:block}.hero-names .ampersand{font-size:.45em;color:#496248;margin:clamp(.125rem,1cqi,.375rem) 0}.hero-line{width:clamp(2.5rem,12cqi,4.5rem);height:1px;background:linear-gradient(90deg,transparent,#496248,transparent);margin:clamp(1rem,3cqi,1.75rem) 0}.hero-date{display:flex;align-items:center;gap:clamp(.5rem,2cqi,.875rem)}.date-day{font-family:Cinzel,serif;font-size:clamp(2rem,10cqi,3.5rem);font-weight:600;color:#1a1a1a;line-height:1}.date-details{display:flex;flex-direction:column;align-items:flex-start;gap:0}.date-month{font-family:Cinzel,serif;font-size:clamp(.875rem,4cqi,1.25rem);font-weight:500;color:#1a1a1a;text-transform:uppercase;letter-spacing:.12em;line-height:1.2}.date-year{font-family:Cormorant SC,serif;font-size:clamp(.75rem,3cqi,1rem);font-weight:400;color:#1a1a1a;letter-spacing:.15em;line-height:1.2}.hero-location{font-family:Cormorant SC,serif;font-size:clamp(.75rem,3cqi,.9375rem);font-weight:400;color:#496248;margin-top:clamp(.5rem,2cqi,1rem);letter-spacing:.04em}.hero-scroll{position:absolute;bottom:clamp(1.25rem,4vw,2rem);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.375rem;color:#496248}.hero-scroll span{font-family:Cinzel,serif;font-size:clamp(.5625rem,1.8vw,.6875rem);font-weight:500;text-transform:uppercase;letter-spacing:.12em;opacity:.55}.scroll-arrow{width:clamp(1rem,4vw,1.25rem);height:clamp(1rem,4vw,1.25rem);color:#496248;opacity:.6}.hero-scroll{animation:fadeOnScroll linear;animation-timeline:scroll();animation-range:0px 100px}@keyframes fadeOnScroll{to{opacity:0;visibility:hidden}}.photo-quote-section{position:relative;width:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:#fefefe;container-type:inline-size}.photo-container{position:relative;width:85%;max-width:28rem;height:clamp(18rem,50vw,26rem);margin:clamp(2rem,6vw,3rem) auto 0;overflow:hidden;border-radius:clamp(.25rem,1vw,.5rem);box-shadow:0 .5rem 1.5rem #1a1a1a1a}.photo-image{width:100%;height:100%;object-fit:cover;object-position:center 20%}.quote-container{position:relative;width:100%;max-width:36rem;margin:0 auto;padding:clamp(2rem,6cqi,3.5rem) clamp(1.5rem,5cqi,2.5rem);display:flex;flex-direction:column;align-items:center;text-align:center;container-type:inline-size}.quote-decoration{width:clamp(3rem,15cqi,5rem);color:#496248;opacity:.6;margin-bottom:clamp(.75rem,3cqi,1.25rem)}.quote-decoration.bottom{margin-bottom:0;margin-top:clamp(.75rem,3cqi,1.25rem)}.quote-text{font-family:Cormorant SC,serif;font-size:clamp(.875rem,4cqi,1.125rem);font-style:italic;font-weight:400;color:#1a1a1a;line-height:1.8;letter-spacing:.03em;margin:0;max-width:28rem;position:relative}.quote-mark{font-family:Alex Brush,cursive;font-size:1.6em;color:#496248;font-style:normal;vertical-align:middle;line-height:0;margin:0 .125em}.quote-line{width:clamp(2rem,10cqi,3.5rem);height:1px;background:linear-gradient(90deg,transparent,#496248,transparent);margin:clamp(1rem,4cqi,1.5rem) 0}@media (min-width: 48rem){.photo-quote-section{flex-direction:row;align-items:center;min-height:auto;height:100vh;height:100dvh;max-height:50rem;background:#fefefe}.photo-container{width:45%;max-width:none;height:70%;max-height:28rem;margin:0 0 0 5%;border-radius:clamp(.25rem,.8vw,.5rem)}.quote-container{width:50%;max-width:none;margin:0;padding:clamp(2rem,4vw,4rem);justify-content:center;background:transparent}.quote-text{font-size:clamp(.9375rem,1.8vw,1.125rem);max-width:22rem}}@media (min-width: 64rem){.photo-container{width:40%;height:65%;max-height:30rem;margin-left:8%}.quote-container{width:52%;padding:clamp(2.5rem,5vw,5rem)}.quote-text{font-size:clamp(1rem,1.6vw,1.1875rem);max-width:26rem}}.music-section{width:100%;background:transparent;padding:clamp(2rem,6vw,3rem) clamp(1rem,4vw,1rem);display:flex;justify-content:center;container-type:inline-size}.music-container{width:100%;max-width:24rem;display:flex;flex-direction:column;align-items:center;text-align:center;background:#49624814;border:1px solid rgba(73,98,72,.2);border-radius:clamp(.5rem,2vw,.75rem);padding:clamp(2rem,6cqi,3rem) clamp(1.5rem,5cqi,2.5rem);box-shadow:0 .25rem 1rem #1a1a1a0f;container-type:inline-size}.music-label{font-family:Cinzel,serif;font-size:clamp(.625rem,3cqi,.75rem);font-weight:400;color:#496248;text-transform:uppercase;letter-spacing:.2em;margin:0 0 clamp(.5rem,2cqi,.75rem)}.music-title{font-family:Alex Brush,cursive;font-size:clamp(2rem,10cqi,2.75rem);font-weight:500;color:#3b4f3a;margin:0;line-height:1}.music-artist{font-family:Cinzel,serif;font-size:clamp(.75rem,3.5cqi,.9375rem);font-weight:500;color:#1a1a1a;margin:clamp(.25rem,1cqi,.5rem) 0 0;letter-spacing:.05em}.music-progress-container{width:100%;display:flex;align-items:center;gap:clamp(.5rem,2cqi,.75rem);margin-top:clamp(1.5rem,5cqi,2rem)}.music-time{font-family:Cinzel,serif;font-size:clamp(.625rem,2.5cqi,.6875rem);font-weight:400;color:#496248;min-width:2.5rem}.music-time:first-child{text-align:right}.music-time:last-child{text-align:left}.music-progress-bar{flex:1;height:clamp(3px,.8cqi,4px);background:#4962484d;border-radius:2px;cursor:pointer;position:relative}.music-progress-fill{height:100%;background:#496248;border-radius:2px;transition:width .1s linear}.music-progress-dot{position:absolute;top:-100%;transform:translate(-50%,-50%);width:clamp(8px,2.5cqi,12px);height:clamp(8px,2.5cqi,12px);background:#496248;border:2px solid #FFFFFF;border-radius:50%;box-shadow:0 1px 4px #1a1a1a33}.music-controls{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,5cqi,1.5rem);margin-top:clamp(1.25rem,4cqi,1.75rem)}.music-btn{background:transparent;border:none;cursor:pointer;color:#496248;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s ease,transform .2s ease;width:clamp(1.5rem,6cqi,2rem);height:clamp(1.5rem,6cqi,2rem)}.music-btn:hover{color:#3b4f3a;transform:scale(1.1)}.music-btn svg{width:100%;height:100%}.music-btn.play{width:clamp(3rem,12cqi,4rem);height:clamp(3rem,12cqi,4rem);background:#496248;color:#fff;border-radius:50%;box-shadow:0 .25rem .75rem #49624840;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.music-btn.play:hover{background:#3b4f3a;color:#fff;transform:scale(1.05);box-shadow:0 .375rem 1rem #3b4f3a4d}.music-btn.play svg{width:45%;height:45%}.countdown-section{width:100%;background:#fefefe;padding:clamp(2.5rem,6vw,4rem) clamp(1rem,4vw,2rem);display:flex;justify-content:center;container-type:inline-size}.countdown-container{width:100%;max-width:48rem;display:flex;align-items:center;justify-content:center;gap:clamp(1rem,4cqi,2rem);container-type:inline-size}.countdown-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,#496248 50%,transparent);max-width:8rem;opacity:.5}.countdown-content{display:flex;flex-direction:column;align-items:center;gap:clamp(.5rem,2cqi,.75rem)}.countdown-label,.countdown-message{font-family:Cormorant SC,serif;font-size:clamp(.75rem,3cqi,.9375rem);font-weight:400;font-style:italic;color:#496248;margin:0}.countdown-timer{display:flex;align-items:flex-start;justify-content:center}.countdown-group{display:flex;align-items:flex-start}.countdown-item{display:flex;flex-direction:column;align-items:center;min-width:clamp(2.5rem,12cqi,4.5rem)}.countdown-value{font-family:Cinzel,serif;font-size:clamp(1.75rem,9cqi,3rem);font-weight:500;color:#1a1a1a;line-height:1;letter-spacing:-.02em}.countdown-unit{font-family:Cormorant SC,serif;font-size:clamp(.5rem,2.5cqi,.6875rem);font-weight:400;color:#496248;letter-spacing:.1em;margin-top:clamp(.25rem,1cqi,.375rem)}.countdown-separator{font-family:Cinzel,serif;font-size:clamp(1.25rem,6cqi,2rem);font-weight:300;color:#496248;margin:0 clamp(.25rem,1cqi,.5rem);opacity:.6;line-height:1;padding-top:clamp(.125rem,.5cqi,.25rem)}@media (max-width: 30rem){.countdown-container{flex-direction:column;gap:clamp(.75rem,3cqi,1rem)}.countdown-line{width:clamp(3rem,20cqi,5rem);max-width:none}}.calendar-section{width:100%;background:#fefefe;padding:clamp(3rem,8vw,5rem) clamp(1rem,4vw,2rem);display:flex;justify-content:center;container-type:inline-size}.calendar-container{width:100%;max-width:24rem;display:flex;flex-direction:column;align-items:center;text-align:center;container-type:inline-size}.calendar-decoration{width:clamp(2.5rem,12cqi,4rem);color:#496248;opacity:.5;margin-bottom:clamp(1rem,4cqi,1.5rem)}.calendar-decoration.bottom{margin-bottom:0;margin-top:clamp(1.25rem,5cqi,1.75rem)}.calendar-label{font-family:Alex Brush,cursive;font-size:clamp(1.75rem,8cqi,2.5rem);font-weight:400;color:#3b4f3a;margin:0 0 clamp(1rem,4cqi,1.5rem)}.calendar-message{font-family:Cormorant SC,serif;font-size:clamp(.8125rem,3.5cqi,1rem);font-weight:500;color:#496248;letter-spacing:.1em;margin:clamp(1rem,4cqi,1.5rem) 0 0}.calendar-card{width:100%;background:#fefefe;border:1px solid rgba(73,98,72,.25);border-radius:clamp(.5rem,2cqi,.75rem);padding:clamp(1.25rem,5cqi,1.75rem);box-shadow:0 .25rem 1rem #1a1a1a0f}.calendar-header{display:flex;justify-content:center;align-items:baseline;gap:clamp(.375rem,1.5cqi,.5rem);margin-bottom:clamp(1rem,4cqi,1.25rem);padding-bottom:clamp(.75rem,3cqi,1rem);border-bottom:1px solid rgba(73,98,72,.2)}.calendar-month{font-family:Cinzel,serif;font-size:clamp(1.125rem,5cqi,1.5rem);font-weight:500;color:#1a1a1a;text-transform:uppercase;letter-spacing:.1em}.calendar-year{font-family:Cormorant SC,serif;font-size:clamp(1rem,4cqi,1.25rem);font-weight:400;color:#1a1a1a}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:clamp(.125rem,.5cqi,.25rem);margin-bottom:clamp(.5rem,2cqi,.75rem)}.calendar-weekday{font-family:Cormorant SC,serif;font-size:clamp(.5625rem,2.5cqi,.6875rem);font-weight:500;color:#496248;text-transform:uppercase;letter-spacing:.05em;padding:clamp(.25rem,1cqi,.375rem) 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:clamp(.125rem,.5cqi,.25rem)}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border-radius:clamp(.25rem,1cqi,.375rem);transition:background-color .2s ease}.calendar-day.empty{background:transparent}.day-number{font-family:Cinzel,serif;font-size:clamp(.6875rem,3cqi,.875rem);font-weight:400;color:#1a1a1a;line-height:1}.calendar-day.wedding-day{background:#496248;box-shadow:0 .125rem .5rem #49624866}.calendar-day.wedding-day .day-number{color:#fff;font-weight:600}.wedding-marker{position:absolute;bottom:clamp(.85rem,.5cqi,.25rem);width:clamp(.5rem,2cqi,.625rem);height:clamp(.5rem,2cqi,.625rem);color:#fff}.wedding-marker svg{width:100%;height:100%}@media (hover: hover){.calendar-day:not(.empty):not(.wedding-day):hover{background:#49624826}}.calendar-actions{margin-top:clamp(1rem,4cqi,1.5rem)}.calendar-btn{display:inline-flex;align-items:center;justify-content:center;gap:clamp(.375rem,1.5cqi,.5rem);padding:clamp(.625rem,2.5cqi,.75rem) clamp(1.25rem,5cqi,1.5rem);background:transparent;border:1px solid #496248;border-radius:clamp(.25rem,1cqi,.375rem);font-family:Cinzel,serif;font-size:clamp(.5625rem,2.25cqi,.6875rem);font-weight:500;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;color:#1a1a1a;cursor:pointer;transition:all .2s ease}.calendar-btn svg{width:clamp(1rem,4cqi,1.125rem);height:clamp(1rem,4cqi,1.125rem);color:#496248;transition:color .2s ease}.calendar-btn:hover{background:#496248;color:#fff}.calendar-btn:hover svg{color:#fff}.ceremony-section{width:100%;background:#fefefe;padding:clamp(3rem,8vw,5rem) clamp(1rem,4vw,2rem);display:flex;justify-content:center;container-type:inline-size}.ceremony-container{width:100%;max-width:28rem;display:flex;flex-direction:column;align-items:center;text-align:center;container-type:inline-size}.ceremony-icon{width:clamp(3rem,14cqi,4.5rem);height:clamp(3rem,14cqi,4.5rem);color:#496248;margin-bottom:clamp(1rem,4cqi,1.5rem)}.ceremony-icon svg{width:100%;height:100%}.ceremony-title{font-family:Alex Brush,cursive;font-size:clamp(2.25rem,10cqi,3.25rem);font-weight:400;color:#3b4f3a;margin:0;line-height:1}.ceremony-subtitle{font-family:Cinzel,serif;font-size:clamp(.75rem,3cqi,.9375rem);font-weight:500;color:#101010;text-transform:uppercase;letter-spacing:.2em;margin:clamp(.5rem,2cqi,.75rem) 0 0}.ceremony-line{width:clamp(2.5rem,12cqi,4rem);height:1px;background:linear-gradient(90deg,transparent,#496248,transparent);margin:clamp(1.25rem,5cqi,1.75rem) 0}.ceremony-time{display:flex;align-items:baseline;gap:clamp(.25rem,1cqi,.375rem);margin-bottom:clamp(1rem,4cqi,1.5rem)}.time-value{font-family:Cinzel,serif;font-size:clamp(2rem,9cqi,3rem);font-weight:500;color:#1a1a1a;line-height:1}.time-period{font-family:Cinzel,serif;font-size:clamp(.875rem,4cqi,1.125rem);font-weight:400;color:#496248;letter-spacing:.05em}.ceremony-venue{font-family:Cormorant SC,serif;font-size:clamp(.9375rem,4cqi,1.125rem);font-weight:500;color:#1a1a1a;margin:0;line-height:1.4;max-width:20rem}.ceremony-address{font-family:Cormorant SC,serif;font-size:clamp(.75rem,3.2cqi,.875rem);font-weight:400;color:#496248;margin:clamp(.5rem,2cqi,.75rem) 0 0;letter-spacing:.03em}.ceremony-map-btn{display:inline-flex;align-items:center;gap:clamp(.375rem,1.5cqi,.5rem);margin-top:clamp(1.25rem,5cqi,1.75rem);padding:clamp(.625rem,2.5cqi,.875rem) clamp(1.25rem,5cqi,1.75rem);background:transparent;border:1px solid #496248;border-radius:clamp(.25rem,1cqi,.375rem);color:#1a1a1a;text-decoration:none;transition:all .3s ease}.ceremony-map-btn svg{width:clamp(.875rem,3.5cqi,1rem);height:clamp(.875rem,3.5cqi,1rem);color:#496248;transition:color .3s ease}.ceremony-map-btn span{font-family:Cinzel,serif;font-size:clamp(.625rem,2.8cqi,.75rem);font-weight:400;text-transform:uppercase;letter-spacing:.15em}.ceremony-map-btn:hover{background:#496248;color:#fff}.ceremony-map-btn:hover svg{color:#fff}.ceremony-decoration{width:clamp(4rem,18cqi,6rem);color:#496248;opacity:.5;margin-top:clamp(1.5rem,6cqi,2rem)}.ceremony-decoration svg{width:100%;height:auto}.reception-section{width:100%;background:#fefefe;padding:clamp(3rem,8vw,5rem) clamp(1rem,4vw,2rem);display:flex;justify-content:center;container-type:inline-size}.reception-container{width:100%;max-width:28rem;display:flex;flex-direction:column;align-items:center;text-align:center;container-type:inline-size}.reception-icon{width:clamp(3rem,14cqi,4.5rem);height:clamp(3rem,14cqi,4.5rem);color:#496248;margin-bottom:clamp(1rem,4cqi,1.5rem)}.reception-icon svg{width:100%;height:100%}.reception-title{font-family:Alex Brush,cursive;font-size:clamp(2.25rem,10cqi,3.25rem);font-weight:400;color:#3b4f3a;margin:0;line-height:1}.reception-subtitle{font-family:Cinzel,serif;font-size:clamp(.75rem,3cqi,.9375rem);font-weight:500;color:#101010;text-transform:uppercase;letter-spacing:.2em;margin:clamp(.5rem,2cqi,.75rem) 0 0}.reception-line{width:clamp(2.5rem,12cqi,4rem);height:1px;background:linear-gradient(90deg,transparent,#496248,transparent);margin:clamp(1.25rem,5cqi,1.75rem) 0}.reception-time{display:flex;align-items:baseline;gap:clamp(.25rem,1cqi,.375rem);margin-bottom:clamp(1rem,4cqi,1.5rem)}.reception-time .time-value{font-family:Cinzel,serif;font-size:clamp(2rem,9cqi,3rem);font-weight:500;color:#1a1a1a;line-height:1}.reception-time .time-period{font-family:Cinzel,serif;font-size:clamp(.875rem,4cqi,1.125rem);font-weight:400;color:#496248;letter-spacing:.05em}.reception-venue{font-family:Cormorant SC,serif;font-size:clamp(.9375rem,4cqi,1.125rem);font-weight:500;color:#1a1a1a;margin:0;line-height:1.4;max-width:20rem}.reception-address{font-family:Cormorant SC,serif;font-size:clamp(.75rem,3.2cqi,.875rem);font-weight:400;color:#496248;margin:clamp(.5rem,2cqi,.75rem) 0 0;letter-spacing:.03em}.reception-map-btn{display:inline-flex;align-items:center;gap:clamp(.375rem,1.5cqi,.5rem);margin-top:clamp(1.25rem,5cqi,1.75rem);padding:clamp(.625rem,2.5cqi,.875rem) clamp(1.25rem,5cqi,1.75rem);background:#496248;border:1px solid #496248;border-radius:clamp(.25rem,1cqi,.375rem);color:#fff;text-decoration:none;transition:all .3s ease}.reception-map-btn svg{width:clamp(.875rem,3.5cqi,1rem);height:clamp(.875rem,3.5cqi,1rem);color:#fff;transition:color .3s ease}.reception-map-btn span{font-family:Cinzel,serif;font-size:clamp(.625rem,2.8cqi,.75rem);font-weight:400;text-transform:uppercase;letter-spacing:.15em}.reception-map-btn:hover{background:#3b4f3a;border-color:#3b4f3a}.reception-decoration{width:clamp(4rem,18cqi,6rem);color:#496248;opacity:.5;margin-top:clamp(1.5rem,6cqi,2rem)}.reception-decoration svg{width:100%;height:auto}.timeline-section{width:100%;background:#fefefe;padding:clamp(3rem,8vw,5rem) clamp(1rem,4vw,2rem);display:flex;justify-content:center;container-type:inline-size;overflow:hidden}.timeline-container{width:100%;max-width:40rem;display:flex;flex-direction:column;align-items:center;container-type:inline-size}.timeline-decoration{width:clamp(2.5rem,12cqi,4rem);color:#496248;opacity:.5;margin-bottom:clamp(1rem,4cqi,1.5rem)}.timeline-decoration.bottom{margin-bottom:0;margin-top:clamp(2rem,6cqi,3rem)}.timeline-title{font-family:Alex Brush,cursive;font-size:clamp(2.25rem,10cqi,3.25rem);font-weight:400;color:#3b4f3a;margin:0;line-height:1;text-align:center}.timeline-subtitle{font-family:Cormorant SC,serif;font-size:clamp(.75rem,3cqi,.875rem);font-weight:400;color:#496248;letter-spacing:.03em;margin:clamp(.5rem,2cqi,.75rem) 0 0;text-align:center}.timeline-wrapper{position:relative;width:100%;margin-top:clamp(2.5rem,8cqi,4rem);padding:0 clamp(.5rem,2cqi,1rem)}.timeline-line-central{position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(180deg,#496248,#49624833);transform:translate(-50%);transform-origin:top center}.timeline-events{position:relative;display:flex;flex-direction:column;gap:clamp(1.5rem,5cqi,2.5rem)}.timeline-item{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:clamp(.5rem,2cqi,1.5rem)}.timeline-dot{grid-column:2;width:clamp(.5rem,2cqi,.75rem);height:clamp(.5rem,2cqi,.75rem);background:#496248;border:2px solid #FEFEFE;border-radius:50%;box-shadow:0 0 0 1px #496248;z-index:2}.timeline-icon{width:clamp(1.75rem,7cqi,3rem);height:clamp(1.75rem,7cqi,3rem);color:#496248}.timeline-icon svg{width:100%;height:100%}.timeline-info{display:flex;flex-direction:column;gap:clamp(.0625rem,.25cqi,.125rem)}.timeline-time{display:flex;align-items:baseline;gap:clamp(.125rem,.5cqi,.1875rem)}.timeline-time .time-value{font-family:Cinzel,serif;font-size:clamp(.9375rem,4cqi,1.5rem);font-weight:500;color:#1a1a1a;line-height:1}.timeline-time .time-period{font-family:Cormorant SC,serif;font-size:clamp(.5rem,2cqi,.6875rem);font-weight:400;color:#496248}.timeline-event-title{font-family:Cinzel,serif;font-size:clamp(.5rem,2.25cqi,.75rem);font-weight:500;color:#1a1a1a;text-transform:uppercase;letter-spacing:.1em;margin:0}.timeline-item.left .timeline-icon{grid-column:1;grid-row:1;justify-self:end}.timeline-item.left .timeline-dot{grid-column:2;grid-row:1}.timeline-item.left .timeline-info{grid-column:3;grid-row:1;justify-self:start;align-items:flex-start;text-align:left}.timeline-item.right .timeline-icon{grid-column:3;grid-row:1;justify-self:start}.timeline-item.right .timeline-dot{grid-column:2;grid-row:1}.timeline-item.right .timeline-info{grid-column:1;grid-row:1;justify-self:end;align-items:flex-end;text-align:right}.dresscode-section{width:100%;background:#fefefe;padding:clamp(3rem,8vw,5rem) clamp(1rem,4vw,2rem);display:flex;justify-content:center;container-type:inline-size}.dresscode-container{width:100%;max-width:32rem;display:flex;flex-direction:column;align-items:center;text-align:center;container-type:inline-size}.dresscode-decoration{width:clamp(2.5rem,12cqi,4rem);color:#496248;opacity:.5;margin-bottom:clamp(1rem,4cqi,1.5rem)}.dresscode-decoration.bottom{margin-bottom:0;margin-top:clamp(1.5rem,6cqi,2rem)}.dresscode-title{font-family:Alex Brush,cursive;font-size:clamp(2rem,9cqi,3rem);font-weight:400;color:#3b4f3a;margin:0;line-height:1}.dresscode-subtitle{font-family:Cinzel,serif;font-size:clamp(.75rem,3cqi,.9375rem);font-weight:500;color:#101010;text-transform:uppercase;letter-spacing:.1em;margin:clamp(.5rem,2cqi,.75rem) 0 0}.dresscode-line{width:clamp(2.5rem,12cqi,4rem);height:1px;background:linear-gradient(90deg,transparent,#496248,transparent);margin:clamp(1.25rem,5cqi,1.75rem) 0}.dresscode-icons{display:flex;justify-content:center;gap:clamp(2rem,10cqi,4rem);margin-bottom:clamp(1.5rem,6cqi,2rem)}.dresscode-item{display:flex;flex-direction:column;align-items:center;gap:clamp(.375rem,1.5cqi,.5rem)}.dresscode-icon{width:clamp(3.5rem,14cqi,5rem);height:clamp(3.5rem,14cqi,5rem);color:#496248}.dresscode-icon svg{width:100%;height:100%}.dresscode-label{font-family:Cinzel,serif;font-size:clamp(.625rem,2.5cqi,.75rem);font-weight:500;color:#1a1a1a;text-transform:uppercase;letter-spacing:.15em}.dresscode-desc{font-family:Cormorant SC,serif;font-size:clamp(.625rem,2.5cqi,.75rem);font-weight:400;color:#496248;letter-spacing:.05em}.dresscode-colors{display:flex;flex-direction:column;align-items:center;gap:clamp(.625rem,2.5cqi,.875rem)}.colors-label{font-family:Cormorant SC,serif;font-size:clamp(.625rem,2.5cqi,.75rem);font-weight:400;color:#496248;letter-spacing:.05em}.colors-palette{display:flex;justify-content:center;gap:clamp(.5rem,2cqi,.75rem)}.color-swatch{width:clamp(1.5rem,6cqi,2rem);height:clamp(1.5rem,6cqi,2rem);border-radius:50%;box-shadow:0 .125rem .375rem #0000001a,inset 0 1px 2px #fff3;transition:transform .2s ease}.color-swatch:hover{transform:scale(1.15)}.dresscode-note{font-family:Cormorant SC,serif;font-size:clamp(.875rem,2.5cqi,.75rem);font-style:italic;font-weight:400;color:#496248;margin:clamp(1rem,4cqi,1.5rem) 0 0;padding:1rem;letter-spacing:.03em}.recommendations-section{width:100%;background:#fefefe;padding:clamp(3rem,8vw,5rem) clamp(1rem,4vw,2rem);display:flex;justify-content:center;container-type:inline-size}.recommendations-container{width:100%;max-width:32rem;display:flex;flex-direction:column;align-items:center;container-type:inline-size}.recommendations-decoration{width:clamp(2.5rem,10cqi,4rem);color:#496248;opacity:.5;margin-bottom:clamp(1rem,4cqi,1.5rem)}.recommendations-decoration.bottom{margin-bottom:0;margin-top:clamp(1.5rem,5cqi,2rem)}.recommendations-title{font-family:Alex Brush,cursive;font-size:clamp(2rem,8cqi,3rem);font-weight:400;color:#3b4f3a;margin:0;line-height:1;text-align:center}.recommendations-subtitle{font-family:Cormorant SC,serif;font-size:clamp(.75rem,3cqi,.875rem);font-weight:400;color:#496248;letter-spacing:.03em;margin:clamp(.5rem,2cqi,.75rem) 0 0;text-align:center}.recommendations-list{width:100%;list-style:none;margin:clamp(1.5rem,5cqi,2.5rem) 0 0;padding:0;display:flex;flex-direction:column;gap:clamp(.75rem,3cqi,1rem)}.recommendation-item{display:flex;align-items:flex-start;gap:clamp(.875rem,3.5cqi,1.25rem);padding:clamp(1rem,4cqi,1.25rem);background:#fefefe;border:1px solid rgba(73,98,72,.2);border-radius:clamp(.375rem,1.5cqi,.5rem);transition:border-color .2s ease}.recommendation-item:hover{border-color:#49624866}.recommendation-icon{width:clamp(2rem,8cqi,2.5rem);height:clamp(2rem,8cqi,2.5rem);color:#496248;flex-shrink:0}.recommendation-icon svg{width:100%;height:100%}.recommendation-content{flex:1;display:flex;flex-direction:column;gap:clamp(.125rem,.5cqi,.25rem)}.recommendation-item .recommendation-title{font-family:Cinzel,serif;font-size:clamp(.6875rem,2.75cqi,.8125rem);font-weight:600;color:#1a1a1a;text-transform:uppercase;letter-spacing:.08em;margin:0}.recommendation-desc{font-family:Cormorant SC,serif;font-size:clamp(.75rem,3cqi,.875rem);font-weight:400;color:#496248;line-height:1.5;margin:0}.gift-section{width:100%;background:#fefefe;padding:clamp(3rem,8vw,5rem) clamp(1rem,4vw,2rem);display:flex;justify-content:center;container-type:inline-size}.gift-container{width:100%;max-width:28rem;display:flex;flex-direction:column;align-items:center;text-align:center;container-type:inline-size}.gift-decoration{width:clamp(2.5rem,12cqi,4rem);color:#496248;opacity:.5;margin-bottom:clamp(1rem,4cqi,1.5rem)}.gift-decoration.bottom{margin-bottom:0;margin-top:clamp(1.5rem,6cqi,2rem)}.gift-icon{width:clamp(3rem,12cqi,4rem);height:clamp(3rem,12cqi,4rem);color:#496248;margin-bottom:clamp(.75rem,3cqi,1rem)}.gift-icon svg{width:100%;height:100%}.gift-title{font-family:Alex Brush,cursive;font-size:clamp(2rem,9cqi,3rem);font-weight:400;color:#3b4f3a;margin:0;line-height:1}.gift-message{font-family:Cormorant SC,serif;font-size:clamp(.75rem,3cqi,.875rem);font-weight:400;color:#496248;line-height:1.7;margin:clamp(1rem,4cqi,1.5rem) 0 0;max-width:24rem;letter-spacing:.02em}.gift-line{width:clamp(2.5rem,12cqi,4rem);height:1px;background:linear-gradient(90deg,transparent,#496248,transparent);margin:clamp(1.25rem,5cqi,1.75rem) 0}.gift-accounts{display:flex;flex-direction:column;gap:clamp(1rem,4cqi,1.5rem);width:100%}.gift-account{display:flex;flex-direction:column;align-items:center;gap:clamp(.125rem,.5cqi,.25rem);padding:clamp(1rem,4cqi,1.25rem);background:#fefefe;border:1px solid rgba(73,98,72,.25);border-radius:clamp(.375rem,1.5cqi,.5rem)}.account-bank{font-family:Cinzel,serif;font-size:clamp(.6875rem,2.75cqi,.8125rem);font-weight:600;color:#1a1a1a;text-transform:uppercase;letter-spacing:.03em}.account-holder{font-family:Cormorant SC,serif;font-size:clamp(.6875rem,2.75cqi,.8125rem);font-weight:400;color:#496248}.account-number-container{display:flex;align-items:center;gap:clamp(.375rem,1.5cqi,.5rem);margin-top:clamp(.25rem,1cqi,.375rem)}.account-number{font-family:Cinzel,serif;font-size:clamp(.75rem,3cqi,.9375rem);font-weight:500;color:#1a1a1a;letter-spacing:.05em}.copy-btn{display:flex;align-items:center;justify-content:center;width:clamp(1.5rem,6cqi,1.75rem);height:clamp(1.5rem,6cqi,1.75rem);background:transparent;border:1px solid #496248;border-radius:clamp(.25rem,1cqi,.3125rem);color:#496248;cursor:pointer;transition:all .2s ease}.copy-btn svg{width:60%;height:60%}.copy-btn:hover{background:#496248;color:#fff}.gift-mobile{display:flex;flex-direction:column;align-items:center;gap:clamp(.25rem,1cqi,.375rem);margin-top:clamp(1rem,4cqi,1.5rem);padding:clamp(.875rem,3.5cqi,1rem) clamp(1.5rem,6cqi,2rem);background:#496248;border-radius:clamp(.375rem,1.5cqi,.5rem)}.mobile-label{font-family:Cinzel,serif;font-size:clamp(.5625rem,2.25cqi,.6875rem);font-weight:400;color:#fff;text-transform:uppercase;letter-spacing:.15em}.mobile-number{font-family:Cinzel,serif;font-size:clamp(1rem,4cqi,1.25rem);font-weight:500;color:#fff;letter-spacing:.1em}.rsvp-section{width:100%;background:#fefefe;padding:clamp(3rem,8vw,5rem) clamp(1rem,4vw,2rem);display:flex;justify-content:center;container-type:inline-size}.rsvp-container{width:100%;max-width:28rem;display:flex;flex-direction:column;align-items:center;text-align:center;container-type:inline-size}.rsvp-decoration{width:clamp(2.5rem,12cqi,4rem);color:#496248;opacity:.5;margin-bottom:clamp(1rem,4cqi,1.5rem)}.rsvp-decoration.bottom{margin-bottom:0;margin-top:clamp(1.5rem,6cqi,2rem)}.rsvp-icon{width:clamp(2.5rem,10cqi,3.5rem);height:clamp(2.5rem,10cqi,3.5rem);color:#496248;margin-bottom:clamp(.75rem,3cqi,1rem)}.rsvp-icon svg{width:100%;height:100%}.rsvp-title{font-family:Alex Brush,cursive;font-size:clamp(2rem,9cqi,3rem);font-weight:400;color:#3b4f3a;margin:0;line-height:1}.rsvp-subtitle{font-family:Cormorant SC,serif;font-size:clamp(.75rem,3cqi,.875rem);font-weight:400;color:#496248;letter-spacing:.03em;margin:clamp(.5rem,2cqi,.75rem) 0 0}.rsvp-form{width:100%;margin-top:clamp(1.5rem,5cqi,2rem);display:flex;flex-direction:column;gap:clamp(1rem,4cqi,1.25rem)}.form-group{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(.375rem,1.5cqi,.5rem);text-align:left}.form-group label{font-family:Cinzel,serif;font-size:clamp(.625rem,2.5cqi,.6875rem);font-weight:500;color:#1a1a1a;text-transform:uppercase;letter-spacing:.03em}.form-group input[type=text],.form-group select,.form-group textarea{width:100%;padding:clamp(.75rem,3cqi,.875rem) clamp(.875rem,3.5cqi,1rem);font-family:Cormorant SC,serif;font-size:clamp(.875rem,3.5cqi,1rem);font-weight:400;color:#1a1a1a;background:#fefefe;border:1px solid rgba(73,98,72,.4);border-radius:clamp(.25rem,1cqi,.375rem);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{border-color:#496248;box-shadow:0 0 0 3px #49624826}.form-group input::placeholder,.form-group textarea::placeholder{color:#496248;opacity:.6}.form-group textarea{resize:vertical;min-height:5rem}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%231A1A1A' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.radio-group{display:flex;gap:clamp(.5rem,2cqi,.75rem);width:100%}.radio-option{flex:1;position:relative;cursor:pointer}.radio-option input{position:absolute;opacity:0;cursor:pointer}.radio-label{display:block;padding:clamp(.75rem,3cqi,.875rem);font-family:Cormorant SC,serif;font-size:clamp(.8125rem,3.25cqi,.9375rem);font-weight:400;color:#1a1a1a;background:#fefefe;border:1px solid rgba(73,98,72,.4);border-radius:clamp(.25rem,1cqi,.375rem);text-align:center;transition:all .2s ease}.radio-option:hover .radio-label{border-color:#496248}.radio-option.selected .radio-label{background:#496248;border-color:#496248;color:#fff}.rsvp-submit{width:100%;padding:clamp(.875rem,3.5cqi,1rem);margin-top:clamp(.5rem,2cqi,.75rem);font-family:Cinzel,serif;font-size:clamp(.6875rem,2.75cqi,.75rem);font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:#fff;background:#496248;border:none;border-radius:clamp(.25rem,1cqi,.375rem);cursor:pointer;transition:background .2s ease,transform .2s ease}.rsvp-submit:hover{background:#3b4f3a}.rsvp-submit:active{transform:scale(.98)}.rsvp-submit:disabled{background:#496248;opacity:.6;cursor:not-allowed}.loading-text{display:inline-flex;align-items:center;gap:.5rem}.error-message{font-family:Cormorant SC,serif;font-size:clamp(.75rem,3cqi,.875rem);color:#a86e4a;margin-top:clamp(.5rem,2cqi,.75rem)}.rsvp-success{display:flex;flex-direction:column;align-items:center;gap:clamp(.75rem,3cqi,1rem);margin-top:clamp(1.5rem,5cqi,2rem);padding:clamp(2rem,6cqi,2.5rem);background:#fefefe;border:1px solid rgba(73,98,72,.3);border-radius:clamp(.375rem,1.5cqi,.5rem)}.success-icon{width:clamp(3rem,12cqi,4rem);height:clamp(3rem,12cqi,4rem);background:#496248;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.success-icon svg{width:50%;height:50%}.rsvp-success h3{font-family:Alex Brush,cursive;font-size:clamp(1.75rem,7cqi,2.25rem);font-weight:400;color:#3b4f3a;margin:0}.rsvp-success p{font-family:Cormorant SC,serif;font-size:clamp(.8125rem,3.25cqi,.9375rem);font-weight:400;color:#496248;margin:0}.guest-greeting{text-align:center;margin-bottom:1.8rem;padding:1rem 1.2rem;background:#4962480f;border-radius:8px;border:1px solid rgba(73,98,72,.15)}.guest-greeting p{font-family:Cormorant SC,serif;margin:0;font-size:1rem;color:#3b4f3a}.guest-greeting strong{font-family:Cinzel;color:#1a1a1a;font-weight:600}.cupos-info{margin-top:.3rem!important;font-size:.82rem!important;color:#496248!important;font-style:italic}.label-hint{font-size:.78rem;color:#496248;font-weight:400}.rsvp-state{text-align:center;padding:2rem 1rem}.rsvp-state .state-icon{font-size:2.5rem;margin-bottom:.8rem}.rsvp-state h3{font-size:1.1rem;color:#101010;margin-bottom:.5rem;font-weight:500;font-family:Cinzel,serif}.rsvp-state p{font-size:.88rem;color:#496248;line-height:1.6;max-width:260px;margin:0 auto;font-style:italic;font-family:Cormorant SC,serif}.rsvp-loading p{font-size:.85rem;color:#496248;margin-top:1rem}.loading-dots{display:flex;justify-content:center;gap:6px}.loading-dots span{width:8px;height:8px;border-radius:50%;background:#496248;animation:dot-bounce 1.2s ease-in-out infinite}.rsvp-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(2rem,8cqi,3rem) clamp(1.5rem,6cqi,2rem);background:#fefefe;border:1px solid rgba(73,98,72,.25);border-radius:clamp(.5rem,2cqi,.75rem);margin-top:clamp(1rem,4cqi,1.5rem)}.state-icon-wrapper{width:clamp(4rem,16cqi,5.5rem);height:clamp(4rem,16cqi,5.5rem);margin-bottom:clamp(1rem,4cqi,1.5rem)}.state-icon-svg{width:100%;height:100%}.state-title{font-family:Alex Brush,cursive;font-size:clamp(1.75rem,7cqi,2.25rem);font-weight:400;color:#3b4f3a;margin:0 0 clamp(.5rem,2cqi,.75rem);line-height:1.1}.state-message{font-family:Cormorant SC,serif;font-size:clamp(.8125rem,3.25cqi,.9375rem);font-weight:400;color:#496248;margin:0;line-height:1.6;max-width:18rem;letter-spacing:.02em}.state-line{width:clamp(2rem,10cqi,3.5rem);height:1px;background:linear-gradient(90deg,transparent,#496248,transparent);margin-top:clamp(1.25rem,5cqi,1.75rem)}.rsvp-no-code{background:#fefefe}.rsvp-not-found .state-icon-wrapper{opacity:.8}.rsvp-not-found .state-title{color:#496248}.rsvp-error{border-color:#a86e4a33}.rsvp-error .state-title,.rsvp-error .state-message{color:#a86e4a}.rsvp-loading{padding:clamp(2.5rem,10cqi,3.5rem) clamp(1.5rem,6cqi,2rem)}.rsvp-loading .state-message{margin-top:clamp(1rem,4cqi,1.25rem);font-size:clamp(.75rem,3cqi,.875rem);color:#496248}.loading-dots{display:flex;justify-content:center;gap:clamp(.375rem,1.5cqi,.5rem)}.loading-dots span{width:clamp(.5rem,2cqi,.625rem);height:clamp(.5rem,2cqi,.625rem);border-radius:50%;background:#496248;animation:dot-bounce 1.2s ease-in-out infinite}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.gallery-section{width:100%;background:#fefefe;padding:clamp(3rem,8vw,5rem) clamp(1rem,4vw,2rem);display:flex;justify-content:center;container-type:inline-size}.gallery-container{width:100%;max-width:48rem;display:flex;flex-direction:column;align-items:center;container-type:inline-size}.gallery-decoration{width:clamp(2.5rem,10cqi,4rem);color:#496248;opacity:.5;margin-bottom:clamp(1rem,4cqi,1.5rem)}.gallery-decoration.bottom{margin-bottom:0;margin-top:clamp(2rem,6cqi,3rem)}.gallery-title{font-family:Alex Brush,cursive;font-size:clamp(2rem,8cqi,3rem);font-weight:400;color:#3b4f3a;margin:0;line-height:1;text-align:center}.gallery-subtitle{font-family:Cormorant SC,serif;font-size:clamp(.75rem,3cqi,.875rem);font-weight:400;color:#496248;letter-spacing:.1em;margin:clamp(.5rem,2cqi,.75rem) 0 0;text-align:center}.gallery-grid{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(.5rem,2cqi,.75rem);margin-top:clamp(1.5rem,5cqi,2.5rem)}@media (min-width: 36rem){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:clamp(.625rem,2cqi,1rem)}}.gallery-item{position:relative;aspect-ratio:1;overflow:hidden;border-radius:clamp(.25rem,1cqi,.375rem);cursor:pointer}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-item-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#3b4f3a00;display:flex;align-items:center;justify-content:center;transition:background .3s ease}.gallery-item-overlay svg{width:clamp(1.5rem,6cqi,2rem);height:clamp(1.5rem,6cqi,2rem);color:#fff;opacity:0;transform:scale(.8);transition:all .3s ease}.gallery-item:hover .gallery-item-overlay{background:#3b4f3a66}.gallery-item:hover .gallery-item-overlay svg{opacity:1;transform:scale(1)}.gallery-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(1rem,4vw,2rem)}.lightbox-close{position:fixed;top:clamp(1rem,3vw,1.5rem);right:clamp(1rem,3vw,1.5rem);width:clamp(2.5rem,7vw,3rem);height:clamp(2.5rem,7vw,3rem);background:#ffffff1a;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:1001}.lightbox-close svg{width:40%;height:40%}.lightbox-close:hover{background:#fff3;border-color:#fff6;transform:scale(1.05)}.lightbox-content{display:flex;flex-direction:column;align-items:center;max-width:90vw;max-height:85vh}.lightbox-content img{max-width:100%;max-height:calc(85vh - 4rem);object-fit:contain;border-radius:clamp(.25rem,1vw,.5rem);box-shadow:0 1rem 3rem #0000004d}.lightbox-caption{margin-top:clamp(1rem,3vw,1.5rem);text-align:center;background:#49624826;border:1px solid rgba(73,98,72,.25);padding:clamp(.75rem,2.5vw,1rem) clamp(1.5rem,5vw,2.5rem);border-radius:clamp(.25rem,1vw,.375rem);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.caption-description{font-family:Cormorant SC,serif;font-size:clamp(.875rem,2.5vw,1.125rem);font-weight:400;color:#fffffff2;letter-spacing:.08em;margin:0}.footer-section{width:100%;background:#fefefe;display:flex;flex-direction:column;align-items:center;container-type:inline-size}.footer-container{width:100%;max-width:32rem;display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(3rem,8vw,5rem) clamp(1rem,4vw,2rem);container-type:inline-size}.footer-decoration{width:clamp(2.5rem,10cqi,4rem);color:#496248;opacity:.5;margin-bottom:clamp(1.5rem,5cqi,2rem)}.footer-message{font-family:Cormorant SC,serif;font-size:clamp(.8125rem,3.25cqi,1rem);font-weight:500;color:#496248;line-height:1.8;margin:0;max-width:26rem;letter-spacing:.03em}.footer-names{font-family:Alex Brush,cursive;font-size:clamp(2.5rem,10cqi,3.5rem);font-weight:400;color:#3b4f3a;margin:clamp(1.25rem,4cqi,1.75rem) 0 0;line-height:1}.footer-date{font-family:Cinzel,serif;font-size:clamp(.75rem,3cqi,.9375rem);font-weight:500;color:#1a1a1a;text-transform:uppercase;letter-spacing:.2em;margin:clamp(.5rem,2cqi,.75rem) 0 0}.footer-line{width:clamp(4rem,20cqi,6rem);height:1px;background:linear-gradient(90deg,transparent,#496248,transparent);margin:clamp(1.5rem,5cqi,2rem) 0}.footer-contact{display:flex;flex-direction:column;align-items:center;gap:clamp(.75rem,3cqi,1rem)}.contact-label{font-family:Cormorant SC,serif;font-size:clamp(.75rem,3cqi,.875rem);font-weight:400;color:#496248;margin-top:clamp(1.5rem,5cqi,2rem);letter-spacing:.05em}.contact-items{display:flex;gap:clamp(1rem,4cqi,1.5rem)}.contact-item{display:flex;align-items:center;gap:clamp(.375rem,1.5cqi,.5rem);padding:clamp(.5rem,2cqi,.625rem) clamp(1rem,4cqi,1.25rem);background:#496248;border-radius:clamp(.25rem,1cqi,.375rem);color:#fff;text-decoration:none;transition:background .2s ease,transform .2s ease}.contact-item:hover{background:#3b4f3a;transform:translateY(-2px)}.contact-item svg{width:clamp(1rem,4cqi,1.25rem);height:clamp(1rem,4cqi,1.25rem)}.contact-item span{font-family:Cinzel,serif;font-size:clamp(.625rem,2.5cqi,.75rem);font-weight:500;text-transform:uppercase;letter-spacing:.1em}.footer-bottom{width:100%;display:flex;flex-direction:column;align-items:center;padding:clamp(1.5rem,4vw,2rem) clamp(1rem,4vw,2rem);background:#49624814}.footer-bottom-line{width:100%;max-width:20rem;height:1px;background:linear-gradient(90deg,transparent,rgba(73,98,72,.3),transparent);margin-bottom:clamp(1rem,3vw,1.5rem)}.footer-copyright{font-family:Cormorant SC,serif;font-size:clamp(.6875rem,2.5cqi,.8125rem);font-weight:400;color:#496248;margin:0;letter-spacing:.05em;display:flex;align-items:center;gap:clamp(.25rem,1cqi,.375rem)}.footer-copyright .heart-icon{width:clamp(.75rem,3cqi,.875rem);height:clamp(.75rem,3cqi,.875rem);color:#496248}.footer-seal{display:flex;justify-content:center}.footer-seal img{width:12rem;height:auto;opacity:.85;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}:root{--primary: #9D9167;--primary-light: #AEA378;--primary-dark: #8A7F5A;--secondary: #E8D1A7;--cream: #FFFDF8;--ivory: #FDFBF7;--text: #2F2F2F;--text-light: #5C5C5C}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Josefin Sans,sans-serif;background:var(--ivory);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.script-font{font-family:Great Vibes,cursive}.serif-font{font-family:Cormorant Garamond,serif}.app{min-height:100vh;background:var(--ivory)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}
