.audio-control{position:fixed;bottom:25px;right:25px;z-index:9999}.audio-btn{width:50px;height:50px;border:2px solid var(--secondary-color);animation:pulse 2s infinite;box-shadow:0 4px 15px #0000004d;border-radius:50%;background-color:var(--primary-color);display:flex;align-items:center;justify-content:center;border:none;color:var(--light-color);cursor:pointer;transition:all .3s ease}.audio-btn:hover{transform:scale(1.1);background-color:var(--accent-color)}.audio-btn svg{width:24px;height:24px}.audio-off,.audio-btn.muted .audio-on{display:none}.audio-btn.muted .audio-off{display:block}@keyframes pulse{0%{box-shadow:0 0 #7b5c43b3}70%{box-shadow:0 0 0 10px #7b5c4300}to{box-shadow:0 0 #7b5c4300}}:root{--primary-color: #7b5c43;--secondary-color: #dacabe;--accent-color: #b3896b;--dark-color: #301f12;--light-color: #f6f1ed;--brick-color: #a4563d;--gold-color: #d9ba7f;--blue-accent: #86a1b3;--text-dark: #372517;--text-light: #f7f4f1;--text-muted: #a99385;--heading-font: "Bodoni Moda", "DM Serif Display", "Playfair Display", serif;--secondary-font: "Cinzel", "Cormorant Garamond", serif;--body-font: "Montserrat", sans-serif;--transition-slow: .8s;--transition-medium: .5s;--transition-fast: .3s;--border-radius: 8px;--container-padding: 20px;--section-spacing: 5rem;--transform-gpu: translateZ(0);--backface-hidden: "backface-visibility: hidden";--will-change-transform: "will-change: transform";--will-change-opacity: "will-change: opacity";--will-change-transform-opacity: "will-change: transform, opacity";--contain-layout: "contain: layout";--contain-paint: "contain: paint";--contain-style: "contain: style";--contain-content: "contain: content";--contain-all: "contain: layout style paint"}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--body-font);color:var(--text-dark);background-color:var(--light-color);line-height:1.6;overflow-x:hidden;position:relative;letter-spacing:.02em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--heading-font);font-weight:400;line-height:1.2}a{color:inherit;text-decoration:none;transition:color var(--transition-fast) ease}button{font-family:var(--body-font);cursor:pointer;border:none;outline:none;background:none;transform:var(--transform-gpu);will-change:transform;contain:layout style paint;transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1)}img{max-width:100%;height:auto;display:block;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;transform:var(--transform-gpu);will-change:transform;contain:layout style paint}.noise-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48ZmlsdGVyIGlkPSJhIiB4PSIwIiB5PSIwIj48ZmVUdXJidWxlbmNlIGJhc2VGcmVxdWVuY3k9Ii43NSIgc3RpdGNoVGlsZXM9InN0aXRjaCIgdHlwZT0iZnJhY3RhbE5vaXNlIi8+PGZlQ29sb3JNYXRyaXggdHlwZT0ic2F0dXJhdGUiIHZhbHVlcz0iMCIvPjwvZmlsdGVyPjxwYXRoIGQ9Ik0wIDBoMjAwdjIwMEgweiIgZmlsdGVyPSJ1cmwoI2EpIiBvcGFjaXR5PSIuMDUiLz48L3N2Zz4=);pointer-events:none;z-index:9999;opacity:.03}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--light-color);display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .8s cubic-bezier(.65,0,.35,1),visibility .8s cubic-bezier(.65,0,.35,1);transform:var(--transform-gpu);will-change:opacity,visibility;contain:layout style paint}.loading-container{text-align:center}.loading-logo{font-family:var(--heading-font);font-size:3rem;color:var(--primary-color);margin-bottom:2rem;letter-spacing:.1em;transform:translateY(20px);opacity:0;animation:fadeInUp .8s forwards .2s}.loading-bar-container{width:200px;height:2px;background-color:#7b5c4333;margin:0 auto 1.5rem;overflow:hidden;position:relative}.loading-bar{position:absolute;top:0;left:0;height:100%;width:0;background-color:var(--primary-color);animation:loadingProgress 1.5s ease forwards;transform:var(--transform-gpu);will-change:width;contain:layout style paint}.loading-text{font-family:var(--body-font);font-size:.7rem;letter-spacing:.2em;color:var(--text-muted);text-transform:uppercase;transform:translateY(20px);opacity:0;animation:fadeInUp .8s forwards .4s}.loading-progress{margin-top:.5rem;font-family:var(--body-font);font-size:.7rem;color:var(--text-muted);letter-spacing:.1em;display:block}.loading-percent{font-weight:500}@keyframes loadingProgress{0%{width:0}20%{width:20%}50%{width:55%}70%{width:75%}85%{width:90%}to{width:100%}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px) var(--transform-gpu)}to{opacity:1;transform:translateY(0) var(--transform-gpu)}}.loading-screen.hidden{opacity:0;visibility:hidden}.main-container{max-width:100%;margin:0 auto;overflow:hidden;opacity:0;transition:opacity 1s cubic-bezier(.33,1,.68,1);will-change:opacity;transform:var(--transform-gpu)}.main-container.visible{opacity:1}.parallax-hero{position:relative;height:100vh;overflow:hidden;background-color:var(--dark-color)}.parallax-layer{position:absolute;top:0;left:0;width:100%;height:100%;transition:transform .3s cubic-bezier(.25,.46,.45,.94);transform:var(--transform-gpu);will-change:transform;contain:layout style paint}.hero-bg{background-image:url(/img/hero.webp);background-size:cover;background-position:center;background-repeat:no-repeat;transform:var(--transform-gpu);will-change:transform;contain:layout style paint;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;opacity:.8}.hero-overlay{background:linear-gradient(to top,#301f12cc,#301f1266,#301f1233);z-index:1}.parallax-content{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:2;padding:2rem;color:var(--light-color);transform:var(--transform-gpu);will-change:transform;contain:layout style paint}.hero-ornamental-border{position:absolute;bottom:0;left:0;width:100%;height:40px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 48" preserveAspectRatio="none"><path d="M0,0 C720,48 720,48 1440,0 L1440,48 L0,48 Z" fill="%23F6F1ED"/></svg>');background-repeat:no-repeat;background-position:center;background-size:cover;z-index:3}.hero-date{position:absolute;top:15%;right:5%;display:flex;flex-direction:column;font-family:var(--secondary-font)}.date-line{margin:4px 0;position:relative;overflow:hidden;height:80px}.date-line span{display:block;font-size:4rem;font-weight:400;letter-spacing:.05em;transform:translateY(100%);animation:slideUp .8s forwards cubic-bezier(.25,.46,.45,.94)}.date-line:nth-child(1) span{animation-delay:1s}.date-line:nth-child(2) span{animation-delay:1.5s}.date-line:nth-child(3) span{animation-delay:2s}@keyframes slideUp{0%{transform:translateY(100%) var(--transform-gpu)}to{transform:translateY(0) var(--transform-gpu)}}.hero-title{text-align:center;max-width:600px;padding:0 1rem;transform:translateY(30px);opacity:0;animation:fadeUp 1.5s forwards .8s}.heading-decorative{font-family:var(--body-font);font-size:.8rem;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-color);margin-bottom:1rem;position:relative;display:inline-block}.heading-decorative:before,.heading-decorative:after{content:"";position:absolute;top:50%;width:40px;height:1px;background-color:var(--gold-color)}.heading-decorative:before{right:100%;margin-right:15px}.heading-decorative:after{left:100%;margin-left:15px}.main-title{font-size:3.5rem;line-height:1.2;margin-bottom:1.5rem;font-weight:400;display:flex;flex-direction:column;align-items:center}.name-line-1,.name-line-2{position:relative;overflow:hidden;display:block}.name-separator{font-family:var(--secondary-font);font-style:italic;font-size:2.5rem;color:var(--gold-color);margin:.5rem 0;display:block;position:relative}.name-separator:before,.name-separator:after{content:"";position:absolute;top:50%;width:60px;height:1px;background-color:#dacabe4d}.name-separator:before{right:100%;margin-right:20px}.name-separator:after{left:100%;margin-left:20px}.scroll-indicator{position:absolute;bottom:8%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;opacity:0;animation:fadeIn 1s forwards 2s}.scroll-indicator span{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-weight:300}.scroll-arrow{width:24px;height:24px;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0) var(--transform-gpu)}40%{transform:translateY(-10px) var(--transform-gpu)}60%{transform:translateY(-5px) var(--transform-gpu)}}@keyframes fadeIn{to{opacity:1}}.invitation-content{background-color:var(--light-color);position:relative;z-index:2}.section-title{font-family:var(--heading-font);font-size:2.5rem;font-weight:400;color:var(--primary-color);margin-bottom:1.5rem;position:relative;display:inline-block}.reveal-title{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94);will-change:opacity,transform}.reveal-title.visible{opacity:1;transform:translateY(0)}.reveal-text{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94);will-change:opacity,transform}.reveal-text.visible{opacity:1;transform:translateY(0)}.reveal-item{opacity:0;transform:translateY(20px);transition:opacity .5s cubic-bezier(.25,.46,.45,.94),transform .5s cubic-bezier(.25,.46,.45,.94);will-change:opacity,transform}.reveal-item.visible{opacity:1;transform:translateY(0)}.bio-section{padding:var(--section-spacing) var(--container-padding);text-align:center;position:relative;overflow:hidden}.bio-heading{position:relative;margin-bottom:2rem}.bio-content{max-width:800px;margin:0 auto}.bio-cards{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:20px}.bio-card{width:280px;padding:1.5rem;background-color:#fff;border-radius:var(--border-radius);box-shadow:0 5px 15px #0000000d;transition:transform var(--transition-fast) ease,box-shadow var(--transition-fast) ease;opacity:0;transform:translateY(30px)}.bio-card.visible{opacity:1;transform:translateY(0)}.bio-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0000001a}.bio-photo{width:120px;height:120px;border-radius:50%;margin:0 auto 1.2rem;background-size:cover;background-position:center top;border:3px solid var(--light-color);box-shadow:0 5px 15px #0000001a;transform:scale(.9);transition:transform var(--transition-fast) cubic-bezier(.4,0,.2,1)}.bio-card:hover .bio-photo{transform:scale(1)}.bio-info{opacity:0;transform:translateY(10px);transition:all .6s cubic-bezier(.4,0,.2,1);transition-delay:.2s}.bio-card.visible .bio-info{opacity:1;transform:translateY(0)}.bio-info h3{font-family:var(--heading-font);font-size:1.5rem;margin-bottom:.5rem;color:var(--primary-color)}.bio-birthday{font-family:var(--secondary-font);font-size:.9rem;color:var(--accent-color);margin-bottom:.8rem}.bio-detail{font-size:.9rem;color:var(--text-muted)}.bio-separator{display:flex;align-items:center;justify-content:center;padding:0 15px}.bio-heart{color:var(--brick-color);font-size:2rem;animation:heartbeat 1.5s infinite;opacity:0;transform:scale(.5);transition:all .6s cubic-bezier(.4,0,.2,1)}.bio-separator.visible .bio-heart{opacity:1;transform:scale(1)}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@media (max-width: 767px){.bio-cards{flex-direction:column}}.story-section{padding:var(--section-spacing) var(--container-padding);text-align:center;position:relative;overflow:hidden;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400" viewBox="0 0 400 400"><path d="M0,200 C100,100 300,300 400,200" stroke="%23D9BA7F" stroke-width="0.5" fill="none" opacity="0.2"/></svg>');background-repeat:no-repeat;background-position:center;background-size:cover}.section-decorative-line{width:100px;height:3px;background:linear-gradient(to right,transparent,var(--accent-color),transparent);margin:0 auto 3rem}.story-heading{position:relative;margin-bottom:2rem}.decorative-flourish{position:absolute;left:0;bottom:-10px;width:100%;height:20px;opacity:.5}.decorative-flourish svg{width:100%;height:100%}.decorative-flourish path{stroke:var(--accent-color);stroke-width:1px;fill:none}.story-content{max-width:600px;margin:0 auto}.elegant-text{font-family:var(--secondary-font);font-size:1.2rem;line-height:1.8;color:var(--text-dark);font-weight:300}.highlight-text{color:var(--brick-color);font-weight:600;position:relative;display:inline-block}.highlight-text:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background-color:var(--brick-color);opacity:.5}.accent-shape{position:absolute;background:var(--secondary-color);opacity:.15;border-radius:50%;z-index:-1}.shape-1{width:250px;height:250px;top:-50px;left:-100px}.shape-2{width:180px;height:180px;bottom:-50px;right:-80px}.shape-3{width:220px;height:220px;top:-80px;right:-100px}.shape-4{width:200px;height:200px;bottom:-80px;left:-80px}.gallery-section{padding:calc(var(--section-spacing) * .8) var(--container-padding);background-color:var(--dark-color);position:relative;contain:content}.timeline-section{padding:var(--section-spacing) var(--container-padding);background-color:var(--light-color);position:relative;overflow:hidden;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><circle cx="10" cy="10" r="1" fill="%237B5C43" opacity="0.05"/></svg>');background-size:20px 20px}.timeline-container{max-width:800px;margin:0 auto;text-align:center}.timeline-title{margin-bottom:3rem}.timeline{position:relative;padding:30px 0}.timeline:before{content:"";position:absolute;height:100%;width:2px;background-color:var(--primary-color);left:50%;transform:translate(-50%);opacity:.3}.timeline-item{margin-bottom:70px;position:relative;display:flex;flex-direction:column;align-items:center}.timeline-item:last-child{margin-bottom:0}.timeline-dot{width:20px;height:20px;border-radius:50%;background-color:var(--primary-color);position:relative;z-index:2;margin-bottom:15px;border:4px solid var(--light-color);box-shadow:0 0 0 2px var(--primary-color)}.timeline-date{font-family:var(--secondary-font);color:var(--primary-color);font-size:1rem;font-weight:600;margin-bottom:10px;padding:5px 15px;background-color:#7b5c431a;border-radius:20px}.timeline-content{max-width:80%;padding:20px;background-color:#fff;border-radius:var(--border-radius);box-shadow:0 5px 15px #0000000d}.timeline-content h3{font-family:var(--heading-font);font-size:1.4rem;margin-bottom:10px;color:var(--primary-color)}.timeline-content p{font-size:.95rem;color:var(--text-muted);margin:0}@media (max-width: 767px){.timeline:before{left:30px}.timeline-item{align-items:flex-start;padding-left:60px}.timeline-dot{position:absolute;left:30px;top:0;transform:translate(-50%);margin-bottom:0}.timeline-content{max-width:100%}}.gallery-title-container{text-align:center;margin-bottom:3rem;display:flex;align-items:center;justify-content:center}.gallery-ornament{width:80px;height:1px;background-color:var(--gold-color);position:relative}.gallery-ornament:before{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background-color:var(--gold-color);top:-2px}.gallery-ornament.left{margin-right:1.5rem}.gallery-ornament.right{margin-left:1.5rem}.gallery-ornament.left:before{right:0}.gallery-ornament.right:before{left:0}.gallery-title{color:var(--light-color)}.swiper-container{width:100%}.swiper-slide{opacity:.8;transition:opacity .3s ease,transform .3s ease;height:auto}.swiper-slide-active{opacity:1}.gallery-image{height:600px;background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:8px;position:relative;overflow:hidden;box-shadow:0 5px 20px #0003;transform:var(--transform-gpu);will-change:transform;contain:layout style paint;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;transition:transform .3s ease}.gallery-image:hover{transform:translateY(-5px) var(--transform-gpu) scale(1.05)}.gallery-image:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:50%;background:linear-gradient(to top,rgba(48,31,18,.8),transparent)}.image-caption{position:absolute;bottom:20px;left:0;width:100%;text-align:center;color:var(--light-color);font-size:.9rem;font-weight:400;letter-spacing:.05em;z-index:2;padding:0 10px}.swiper-slide-active .image-caption{opacity:1;transform:translateY(0)}.gallery-controls{display:flex;justify-content:center;gap:2rem;margin-top:1rem}.swiper-button-prev,.swiper-button-next{position:relative;width:40px;height:40px;border-radius:50%;background-color:var(--light-color);color:var(--dark-color);display:flex;align-items:center;justify-content:center;cursor:pointer;top:auto;left:auto;right:auto;margin:0;transition:background-color .3s ease,transform .3s ease}.swiper-button-prev svg,.swiper-button-next svg{height:50%}.swiper-button-prev:hover,.swiper-button-next:hover{background-color:var(--gold-color);transform:scale(1.1)}.swiper-button-prev:after,.swiper-button-next:after{font-size:1rem;font-weight:700}.swiper-pagination{position:relative;margin-top:15px;bottom:10px}.swiper-pagination-bullet{width:10px;height:10px;background-color:var(--light-color);opacity:.5}.swiper-pagination-bullet-active{background-color:var(--gold-color);opacity:1}@media (max-width: 768px){.swiper-pagination{bottom:0;margin-top:20px}.gallery-image{height:500px}.swiper-pagination-bullet{width:12px;height:12px;margin:0 5px}.gallery-controls{position:absolute;top:50%;transform:translateY(-50%);width:100%;padding:0 10px;pointer-events:none}.swiper-button-prev,.swiper-button-next{background-color:#fffc;pointer-events:auto}.swiper-button-prev{left:-20px}.swiper-button-next{right:20px}.swiper-button-prev:after,.swiper-button-next:after{font-size:18px;color:#333}}.photo-mosaic-section{padding:var(--section-spacing) var(--container-padding);text-align:center;background-color:var(--light-color);overflow:hidden;position:relative;contain:content}.photo-mosaic{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(8,minmax(100px,20vw));grid-gap:15px;max-width:1200px;margin:2rem auto 0;will-change:transform;transform:var(--transform-gpu);contain:layout style paint;backface-visibility:hidden}.mosaic-item{position:relative;overflow:hidden;border-radius:var(--border-radius);box-shadow:0 5px 15px #0000001a;will-change:transform,opacity;transform:scale(.95) translateY(20px) translateZ(0);transition:opacity .4s ease,transform .4s ease;backface-visibility:hidden;contain:layout style paint;opacity:0;cursor:pointer}.mosaic-item.visible{opacity:1;transform:scale(1) translateZ(0)}.mosaic-item.hover{transform:translateY(-5px) translateZ(0);box-shadow:0 8px 25px #00000026;z-index:1}.mosaic-item.hover .mosaic-image{transform:scale(1.05) translateZ(0)}.mosaic-image{width:100%;height:100%;background-size:cover;background-repeat:no-repeat;background-position:center;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .5s cubic-bezier(.4,0,.2,1);will-change:transform,opacity;transform:scale(.98) translateZ(0);backface-visibility:hidden;contain:layout style paint;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;opacity:0}.mosaic-item.visible .mosaic-image{opacity:1;transform:scale(1) translateZ(0)}@media (max-width: 767px){.photo-mosaic{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(12,50vw);grid-gap:10px;contain:layout style paint}.mosaic-item{grid-column:auto!important;grid-row:auto!important;contain:layout style paint}}.countdown-section{height:300px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background-image:url(/img/elegent.webp);background-size:cover;background-position:center;background-attachment:fixed;transform:var(--transform-gpu);will-change:transform;contain:layout style paint}.countdown-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#301f12b3;z-index:1}.countdown-content{position:relative;z-index:2;text-align:center;color:var(--light-color);padding:0 1rem}.countdown-title{font-family:var(--heading-font);font-size:2rem;margin-bottom:2rem;letter-spacing:.05em}.countdown-display{display:flex;justify-content:center;align-items:center;gap:.5rem}.countdown-unit{min-width:80px}.countdown-value{font-family:var(--secondary-font);font-size:2.5rem;font-weight:400;line-height:1}.countdown-separator{font-size:2rem;font-weight:300;line-height:1;margin-top:-10px;color:var(--gold-color)}.countdown-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin-top:.5rem;font-weight:300}.details-section{padding:var(--section-spacing) var(--container-padding);position:relative;overflow:hidden;contain:content}.details-container{max-width:800px;margin:0 auto}.details-card{background-color:#fff;border-radius:var(--border-radius);overflow:hidden;box-shadow:0 5px 30px #0000000d;position:relative;transform:var(--transform-gpu);will-change:transform;contain:layout style paint}.details-header{padding:3rem 2rem 2rem;text-align:center;background-color:var(--primary-color);color:var(--light-color);position:relative}.details-ornament{position:absolute;top:20px;left:50%;transform:translate(-50%);width:60px;height:30px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 30"><path d="M30,5 C40,25 60,25 60,5 M0,5 C0,25 20,25 30,5" stroke="%23D9BA7F" fill="none" stroke-width="1.5"/></svg>');background-repeat:no-repeat;background-position:center}.details-title{margin-bottom:.5rem}.details-date{font-family:var(--body-font);font-size:1rem;letter-spacing:.05em;font-weight:300}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:2rem;padding:2rem}.detail-item{display:flex;align-items:flex-start}.detail-icon{width:40px;height:40px;border-radius:50%;background-color:#7b5c431a;display:flex;align-items:center;justify-content:center;margin-right:1rem;flex-shrink:0}.detail-icon svg{width:20px;height:20px;color:var(--primary-color)}.detail-subtitle{font-family:var(--heading-font);font-size:1.2rem;font-weight:500;margin-bottom:.5rem;color:var(--primary-color)}.detail-text{font-size:1rem;font-weight:500;margin-bottom:.25rem}.detail-subtext{font-size:.8rem;color:var(--text-muted)}.rsvp-button{display:inline-block;background-color:var(--primary-color);color:var(--light-color);padding:.6rem 1.2rem;border-radius:30px;font-size:.9rem;font-weight:500;letter-spacing:.05em;margin-top:.8rem;transition:background-color var(--transition-fast) ease,transform var(--transition-fast) ease;transform:var(--transform-gpu);will-change:transform;contain:layout style paint}.rsvp-button:hover{background-color:var(--accent-color);transform:translateY(-2px)}.map-section{padding:calc(var(--section-spacing) * .8) var(--container-padding);background-color:var(--light-color);text-align:center}.map-container{max-width:800px;margin:0 auto}.map-title{margin-bottom:2rem}.map-frame{border-radius:var(--border-radius);overflow:hidden;box-shadow:0 5px 20px #00000014}.map-placeholder{height:300px;background-color:#f0f0f0;background-image:url(/img/elegent.webp);background-size:cover;background-position:center;position:relative;display:flex;align-items:center;justify-content:center}.map-pin{position:absolute;width:30px;height:30px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%237B5C43"><path d="M12 0c-4.198 0-8 3.403-8 7.602 0 4.198 3.469 9.21 8 16.398 4.531-7.188 8-12.2 8-16.398 0-4.199-3.801-7.602-8-7.602zm0 11c-1.657 0-3-1.343-3-3s1.343-3 3-3 3 1.343 3 3-1.343 3-3 3z"/></svg>');background-repeat:no-repeat;background-position:center;animation:pinBounce 2s infinite}@keyframes pinBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.map-info{background-color:#ffffffe6;backdrop-filter:blur(10px);padding:1.5rem;border-radius:var(--border-radius);box-shadow:0 5px 15px #0003;width:90%;max-width:300px;text-align:center;border:1px solid rgba(218,202,190,.3)}.map-info h3{font-family:var(--heading-font);font-size:1.2rem;margin-bottom:.5rem;color:var(--primary-color)}.map-info p{font-size:.9rem;margin-bottom:1rem;color:var(--text-muted)}.map-nav-btn{display:inline-block;background-color:var(--primary-color);color:var(--light-color);padding:.6rem 1.2rem;border-radius:30px;font-size:.9rem;font-weight:500;letter-spacing:.05em;transition:background-color var(--transition-fast) ease,transform var(--transition-fast) ease;transform:var(--transform-gpu);will-change:transform;contain:layout style paint}.map-nav-btn:hover{background-color:var(--accent-color);transform:translateY(-2px)}.wishes-section{padding:var(--section-spacing) var(--container-padding);position:relative;overflow:hidden;background-color:var(--secondary-color);background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><circle cx="10" cy="10" r="1" fill="%23B3896B" opacity="0.3"/></svg>');background-size:20px 20px;contain:content}.wishes-container{max-width:800px;margin:0 auto;position:relative;z-index:2}.wishes-header{text-align:center;margin-bottom:3rem}.wishes-title-container{position:relative;display:inline-block}.wishes-title{margin-bottom:.5rem}.wishes-subtitle{font-family:var(--body-font);font-size:.9rem;color:var(--text-muted);letter-spacing:.05em}.wishes-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.5rem;margin-bottom:3rem}.wish-card{background-color:#fff;border-radius:var(--border-radius);padding:1.5rem;box-shadow:0 5px 15px #0000000d;position:relative;transition:transform var(--transition-fast) ease,box-shadow var(--transition-fast) ease;transform:var(--transform-gpu);will-change:transform;contain:layout style paint}.wish-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0000001a}.wish-content p{font-family:var(--body-font);font-size:.95rem;line-height:1.6;margin-bottom:1rem;color:var(--text-dark);font-style:italic}.wish-author{font-family:var(--body-font);font-size:.8rem;font-weight:500;color:var(--text-muted);text-align:right}.send-wish-container{text-align:center}.send-wish-btn{display:inline-block;background-color:var(--primary-color);color:var(--light-color);padding:.8rem 1.5rem;border-radius:30px;font-size:.9rem;font-weight:500;letter-spacing:.05em;transition:background-color var(--transition-fast) ease,transform var(--transition-fast) ease;border:none;cursor:pointer;transform:var(--transform-gpu);will-change:transform;contain:layout style paint}.send-wish-btn:hover{background-color:var(--accent-color);transform:translateY(-2px)}.wishes-bg-accent{display:none}.wedding-footer{padding:4rem 2rem 3rem;background-color:var(--dark-color);color:var(--light-color);text-align:center;position:relative}.footer-decorative-border{position:absolute;top:0;left:0;width:100%;height:40px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 48" preserveAspectRatio="none"><path d="M0,48 C720,0 720,0 1440,48 L1440,0 L0,0 Z" fill="%23DACABE"/></svg>');background-repeat:no-repeat;background-position:center;background-size:cover}.footer-content{max-width:500px;margin:0 auto}.footer-logo{font-family:var(--heading-font);font-size:2rem;margin-bottom:1rem;color:var(--gold-color)}.footer-date{font-family:var(--secondary-font);font-size:1rem;letter-spacing:.2em;margin-bottom:1.5rem;color:var(--light-color);opacity:.8}.footer-text{font-family:var(--body-font);font-size:.9rem;margin-bottom:1rem;line-height:1.6}.footer-names{font-family:var(--secondary-font);font-size:1.2rem;font-weight:400;letter-spacing:.05em}.modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;display:none;overflow-y:auto;contain:layout style paint}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#301f12d9;backdrop-filter:blur(5px);z-index:1}.modal-container{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;min-height:100%;padding:3rem 1rem}.modal-content{background-color:#fff;border-radius:var(--border-radius);position:relative;width:90%;max-width:500px;box-shadow:0 10px 30px #0003;animation:modalFadeIn .5s cubic-bezier(.25,.46,.45,.94);transform:var(--transform-gpu);will-change:transform,opacity;contain:layout style paint}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:15px;right:20px;font-size:1.8rem;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast) ease;background:none;border:none;line-height:1;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;z-index:3}.modal-close:hover{color:var(--primary-color)}.modal-header{padding:2rem 2rem 1rem;text-align:center;border-bottom:1px solid rgba(123,92,67,.1)}.modal-title{font-family:var(--heading-font);font-size:1.8rem;font-weight:400;color:var(--primary-color);margin-bottom:.5rem}.modal-subtitle{font-size:.9rem;color:var(--text-muted)}.rsvp-form{padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.9rem;color:var(--text-dark)}.form-group input,.form-group textarea{width:100%;padding:.8rem;border:1px solid rgba(123,92,67,.2);border-radius:var(--border-radius);font-family:var(--body-font);font-size:1rem;transition:border-color var(--transition-fast) ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.attendance-options{display:flex;flex-direction:column;gap:1rem}.attendance-option{display:flex;align-items:center;cursor:pointer}.attendance-option input{margin-right:.8rem;width:auto}.option-text{font-size:.95rem}.number-input{display:flex;align-items:center;max-width:150px}.number-input button{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background-color:#7b5c431a;border-radius:50%;font-size:1.2rem;line-height:1;cursor:pointer;transition:background-color var(--transition-fast) ease}.number-input button:hover{background-color:var(--accent-color);color:#fff}.number-input input{text-align:center;border:none;width:50px;font-size:1.2rem;background:transparent}.submit-btn{display:block;width:100%;padding:.8rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);font-size:1rem;font-weight:500;cursor:pointer;transition:background-color var(--transition-fast) ease}.submit-btn:hover{background-color:var(--accent-color)}.wish-form{padding:2rem}.thanks-modal-content{padding:3rem 2rem;text-align:center}.thank-you-icon{display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;width:80px;height:80px;border-radius:50%;background-color:#7b5c431a;color:var(--primary-color)}.thank-you-title{font-family:var(--heading-font);font-size:1.8rem;color:var(--primary-color);margin-bottom:1rem}.thank-you-text{font-size:1rem;color:var(--text-muted);margin-bottom:2rem}.thank-you-btn{display:inline-block;padding:.8rem 2rem;background-color:var(--primary-color);color:#fff;border-radius:30px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color var(--transition-fast) ease,transform var(--transition-fast) ease}.thank-you-btn:hover{background-color:var(--accent-color);transform:translateY(-2px)}@media (max-width: 767px){:root{--section-spacing: 4rem}.main-title{font-size:2.5rem}.date-line{height:60px}.date-line span{font-size:3rem}.section-title{font-size:2rem}.details-grid,.wishes-grid{grid-template-columns:1fr}.gallery-image{height:500px}.elegant-text{font-size:1rem}.countdown-value{font-size:2rem}.countdown-unit{min-width:60px}}@media (min-width: 768px) and (max-width: 991px){.wishes-grid{grid-template-columns:repeat(2,1fr)}.wish-card-3{grid-column:span 2}}@media (min-width: 992px){.hero-date{right:10%}.main-title{font-size:4rem}.name-separator{font-size:3rem}.section-title{font-size:2.8rem}.elegant-text{font-size:1.3rem}}.image-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;opacity:0;pointer-events:none;transition:opacity .3s ease;display:flex;justify-content:center;align-items:center}.image-modal.active{opacity:1;pointer-events:all}.image-modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000000d9;opacity:0;transition:opacity .3s ease}.image-modal.active .image-modal-backdrop{opacity:1}.image-modal-content{position:relative;background-color:var(--light-color);border-radius:var(--border-radius);max-width:90%;max-height:90%;width:auto;display:flex;flex-direction:column;transform:translateY(20px);opacity:0;transition:all .3s ease;overflow:hidden;box-shadow:0 5px 25px #0003}.image-modal.active .image-modal-content{transform:translateY(0);opacity:1}.image-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;background-color:var(--primary-color);color:var(--light-color);border-bottom:1px solid rgba(0,0,0,.1)}.image-modal-title{font-size:1rem;font-weight:500;margin:0;font-family:var(--body-font);letter-spacing:.03em}.image-modal-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background-color:#00000080;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;z-index:10;transition:all .2s ease;cursor:pointer;border:2px solid transparent}.image-modal-close:hover,.image-modal-close:focus{background-color:#000c;transform:scale(1.1);border-color:#fff}.image-modal-image{display:block;max-width:100%;max-height:70vh;margin:0 auto;object-fit:contain}.image-modal-caption{padding:10px 15px;text-align:center;color:var(--text-dark);font-style:italic;font-size:.9rem}.image-modal-footer{display:flex;justify-content:center;padding:12px 15px;background-color:#f5f5f5;border-top:1px solid rgba(0,0,0,.1)}.image-modal-btn{padding:8px 18px;background-color:var(--primary-color);color:var(--light-color);border-radius:4px;font-size:14px;font-weight:500;transition:all .2s ease;cursor:pointer}.image-modal-btn:hover{background-color:var(--accent-color);transform:translateY(-2px)}.image-modal-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background-color:#00000080;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;z-index:10;transition:all .2s ease;cursor:pointer;border:2px solid transparent}.image-modal-nav:hover,.image-modal-nav:focus{background-color:#000c;transform:translateY(-50%) scale(1.1);border-color:#fff}.image-modal-prev{left:20px}.image-modal-next{right:20px}.image-modal-nav:disabled{opacity:.3;cursor:not-allowed;background-color:#0000004d}.image-modal-nav:disabled:hover{transform:translateY(-50%) scale(1);background-color:#0000004d;border-color:transparent}@media (max-width: 767px){.image-modal-content{max-width:95%;max-height:95%}.image-modal-close{top:5px;right:5px;width:28px;height:28px;font-size:16px}.image-modal-nav{width:32px;height:32px;font-size:18px}.image-modal-prev{left:10px}.image-modal-next{right:10px}.image-modal-title{font-size:.9rem}.image-modal-btn{padding:6px 14px;font-size:13px}}@media (prefers-reduced-motion: reduce){.image-modal-backdrop,.image-modal-content,.image-modal-close,.image-modal-nav{transition:none}}body.loading{overflow:hidden;height:100vh}@media (max-width: 768px){.swiper-pagination[data-astro-cid-zbo42owe]{bottom:0;margin-top:20px;padding-bottom:15px}.swiper-pagination-bullet[data-astro-cid-zbo42owe]{width:12px;height:12px;margin:0 5px}.gallery-controls[data-astro-cid-zbo42owe]{position:absolute;top:50%;transform:translateY(-50%);width:100%;display:flex;justify-content:space-between;align-items:center;padding:0 10px;z-index:10;pointer-events:none}.swiper-button-prev[data-astro-cid-zbo42owe],.swiper-button-next[data-astro-cid-zbo42owe]{position:relative;width:40px;height:40px;margin:0;left:auto;right:auto;top:auto;background-color:#fffc;border-radius:50%;box-shadow:0 2px 5px #0003;pointer-events:auto}.swiper-button-prev[data-astro-cid-zbo42owe]{left:-20px}.swiper-button-next[data-astro-cid-zbo42owe]{right:20px}.swiper-button-prev[data-astro-cid-zbo42owe]:after,.swiper-button-next[data-astro-cid-zbo42owe]:after{font-size:18px;color:#333}}
