.introduction{padding:1.25rem 0;overflow:visible;position:relative}.intro-content{max-width:56.25rem;margin:0 auto;width:100%;box-sizing:border-box}.intro-section{margin-bottom:4rem}.intro-section h1{font-size:5rem;text-align:center;margin-bottom:2rem;color:var(--secondary-color);font-family:Great Vibes,cursive;font-weight:400;line-height:1.1}.intro-section p{font-size:1.05rem;line-height:1.95;margin-bottom:1.25rem;color:var(--text-color)}.couple-intro{display:grid;grid-template-columns:repeat(auto-fit,minmax(18.75rem,1fr));gap:2.5rem;margin-top:12.5rem;width:100%;max-width:100%}@media (max-width: 20rem){.couple-intro{grid-template-columns:1fr}}.couple-card{background:linear-gradient(160deg,#fff,#fdfaf3 60%,#faf5ec);padding:5rem 1.875rem 3.75rem;border-radius:1.25rem;box-shadow:0 2px 4px #5a28050f,0 8px 32px #5a28051a,0 20px 60px #5a280512;text-align:center;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease;position:relative;overflow:visible;min-height:31.25rem;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(196,144,112,.18)}.couple-card:before{content:"";position:absolute;top:12.5rem;left:2rem;right:2rem;width:calc(100% - 4rem);height:1px;background:linear-gradient(to right,transparent,var(--gold),var(--gold-light),var(--gold),transparent);z-index:15}.couple-card:hover{transform:translateY(-8px);box-shadow:0 2px 4px #5a28050a,0 16px 48px #5a280524,0 32px 80px #5a280517}.couple-image-3d{position:absolute;top:-11.25rem;left:50%;transform:translate(-50%);width:23.75rem;height:23.75rem;z-index:10}.couple-image-3d img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 32px rgba(90,40,5,.22))}.couple-info{position:relative;z-index:1;margin-top:auto;padding-top:.625rem}.couple-icon{font-size:3rem;margin-bottom:1.25rem}.couple-card h3{font-size:.72rem;color:var(--gold);margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.25em;font-weight:600;font-family:Montserrat,sans-serif}.couple-card h4{font-size:2.1rem;color:var(--secondary-color);margin-bottom:1.25rem;font-family:Cormorant Garamond,serif;font-weight:400}.couple-card p{font-size:.93rem;line-height:1.85;text-align:center;color:var(--text-color)}.groomsmen-section{margin-top:5rem;background:linear-gradient(170deg,#f8eedc,#f2e4c8,#ece0c0);padding:4rem 0 1.5rem;position:relative;border-radius:0;width:100vw;margin-left:50%;transform:translate(-50%);left:0;right:0;border-top:1px solid rgba(196,137,58,.25);border-bottom:1px solid rgba(196,137,58,.25)}.groomsmen-section:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");background-size:180px;pointer-events:none;opacity:.5}.groomsmen-section h1{text-align:center;margin-bottom:2rem;font-size:5rem;color:var(--secondary-color);font-family:Great Vibes,cursive;font-weight:400;padding:0 1rem;box-sizing:border-box;position:relative;z-index:1}.groomsmen-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.75rem;margin-top:.5rem;position:relative;z-index:1;max-width:56.25rem;margin-left:auto;margin-right:auto;padding:0 1.25rem;width:100%;box-sizing:border-box}.groomsmen-grid:before{content:"";display:none}@media (max-width: 48rem){.groomsmen-section h1{font-size:4rem}.groomsmen-grid{grid-template-columns:1fr;gap:2.5rem;padding:0 1rem;max-width:100%}.groomsmen-section{padding:3rem 0 1.5rem;width:100vw;margin-left:50%;transform:translate(-50%);left:0;right:0}}.groomsman-card{padding:1.875rem 1.25rem;max-width:56.25rem;width:100%;margin:0 auto;display:grid;place-items:center;position:relative;z-index:1}.groomsman-card h3{text-align:center}.grooms-names{text-align:center;font-size:2rem;width:100%;margin:0 auto;margin-bottom:3.75rem}.groomsman-card p{font-size:1rem;line-height:1.85;margin-bottom:1.25rem;color:var(--text-color);text-align:center}.groomsman-image{width:24rem;height:24rem;margin:0 auto 1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid rgba(255,255,255,.92);overflow:hidden;padding:0;box-shadow:0 4px 16px #5a280524,0 0 0 6px #c4893a26}.groomsman-image img{width:100%;height:100%;object-fit:cover;border-radius:50%}.groomsman-card h3{font-size:1.6rem;color:var(--secondary-color);margin-bottom:.5rem;font-weight:500;font-family:Cormorant Garamond,serif}.groomsman-role{font-size:.7rem;color:var(--gold);text-transform:uppercase;letter-spacing:.22em;font-weight:700;font-family:Montserrat,sans-serif;margin-bottom:0}.location-section{margin-top:5rem}.location-card{background:#fff;border-radius:1.5rem;overflow:hidden;box-shadow:0 4px 24px #5a280514,0 1px 4px #5a28050d;border:1px solid rgba(196,144,112,.16)}.location-image{width:100%;height:20rem;overflow:hidden;background:linear-gradient(135deg,#faf5ec,#f2e4cc);position:relative}@media (max-width: 48rem){.location-image{height:15rem}}.location-image-link{display:block;text-decoration:none;cursor:pointer;position:relative}.location-image-link:hover .location-image img{transform:scale(1.06)}.location-image-link:hover .location-map-badge{opacity:1;transform:translateY(0)}.location-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s ease}.location-image-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(12,4,1,.85) 0%,rgba(12,4,1,.45) 55%,transparent 100%);padding:3rem 2rem 1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.75rem}.location-image-overlay h3{font-family:Cormorant Garamond,serif;font-size:2.1rem;color:#fff8ee;margin:0;text-align:center;font-weight:400;letter-spacing:.04rem;text-shadow:0 3px 14px rgba(0,0,0,.7);line-height:1.3;word-break:break-word;max-width:100%;padding:0 .5rem}.location-map-badge{display:inline-flex;align-items:center;gap:.35rem;color:var(--secondary-color);font-size:.72rem;font-weight:700;padding:.52rem 1.1rem;border:1.5px solid rgba(196,137,58,.4);border-radius:2rem;background:var(--ivory);font-family:Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.map-icon{font-size:.9rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.location-card-content{padding:2.25rem 2.5rem}.location-card h3{font-size:2.25rem;color:var(--secondary-color);margin-bottom:.75rem;text-align:center;line-height:1.3}.location-address{text-align:center;font-size:.82rem;color:var(--gold);margin-bottom:1.5rem;font-weight:700;font-family:Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase}.location-card p{text-align:center}.location-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));gap:1.25rem;margin-top:1.875rem;padding-top:1.875rem;border-top:1px solid var(--accent-color)}.detail-item{text-align:center;font-size:.92rem}.detail-item strong{display:block;color:var(--secondary-color);margin-bottom:.3rem;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.location-time{font-size:1.5rem;color:var(--secondary-color);font-weight:400;text-align:center;margin-bottom:1.25rem;font-family:Cormorant Garamond,serif}.location-description{text-align:center;font-size:.98rem;line-height:1.85;color:var(--text-color);margin-bottom:1.5rem}.location-details-modern{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding-top:1.25rem;border-top:1px solid var(--accent-color)}.detail-badge{background:var(--ivory);color:var(--secondary-color);padding:.42rem 1.1rem;border-radius:2rem;font-size:.78rem;font-weight:600;border:1px solid var(--border-warm);font-family:Montserrat,sans-serif;letter-spacing:.05em}.location-info-box{background:linear-gradient(160deg,var(--ivory) 0%,#faf5ec 100%);padding:2.5rem;border-radius:1.25rem;border:1.5px dashed rgba(196,137,58,.4);display:flex;gap:1.5rem;align-items:flex-start}.info-icon{font-size:2.75rem;flex-shrink:0}.info-content h4{font-size:1.5rem;color:var(--secondary-color);margin-bottom:.9375rem}.info-content p{font-size:.98rem;line-height:1.85;color:var(--text-color);margin-bottom:.625rem}@media (max-width: 48rem){.introduction{padding:1.25rem 1rem;overflow:visible}.intro-content{max-width:100%;padding:0;box-sizing:border-box}.intro-section h1{font-size:4rem}.intro-section p{font-size:.95rem}.couple-intro{grid-template-columns:1fr;gap:6.25rem;margin-top:15.625rem;width:100%;max-width:100%}.couple-card{min-height:28.125rem;padding:3.75rem 1rem 2rem;width:100%;max-width:100%;box-sizing:border-box;margin:0}.couple-image-3d{width:17.5rem;height:17.5rem;top:-8.75rem}.location-card{width:100%;max-width:100%;box-sizing:border-box}.location-card-content{padding:1.5rem 1.25rem}.location-info-box{flex-direction:column;padding:1.5rem 1rem;gap:1.25rem}.info-icon{font-size:2.5rem}}@media (max-width: 30rem){.intro-section h1{font-size:3.25rem}.couple-intro{margin-top:12.5rem}.couple-card{min-height:25rem}.couple-image-3d{width:15rem;height:15rem;top:-7.5rem}.couple-card:before{top:7.5rem}.location-card h3{font-size:1.75rem}.groomsmen-section h1{font-size:3.25rem}.groomsman-image{width:18rem;height:18rem}}.gallery-intro{margin-top:5rem}.gallery-intro h2{font-size:5rem;text-align:center;margin-bottom:2.5rem;color:var(--secondary-color);font-family:Great Vibes,cursive;font-weight:400;line-height:1.1}.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(12.5rem,1fr);gap:.75rem;max-width:56.25rem;margin:0 auto;padding:0 1.25rem;box-sizing:border-box;aspect-ratio:1}.gallery-item{position:relative;overflow:hidden;border-radius:1rem;cursor:pointer;background:var(--ivory);box-shadow:0 2px 8px #5a280514,0 4px 20px #5a280512;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease;border:none;padding:0;font:inherit;text-align:left;display:block;width:100%}.gallery-item:focus-visible{outline:2px solid rgba(232,192,122,.8);outline-offset:2px}.gallery-item.loading{background:var(--linen);position:relative;overflow:hidden}.gallery-item.loading:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,248,220,.55) 50%,transparent 100%);transform:translate(-100%);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.image-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2.25rem;height:2.25rem;border:2.5px solid var(--linen);border-top:2.5px solid var(--gold);border-radius:50%;animation:spin 1s linear infinite;z-index:10}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.gallery-item.large{grid-column:span 2;grid-row:span 2}.gallery-item.wide{grid-column:span 2;grid-row:span 1}.gallery-item.tall{grid-column:span 1;grid-row:span 2}.gallery-item.medium{grid-column:span 1;grid-row:span 1}.gallery-item:hover{transform:translateY(-5px) scale(1.015);box-shadow:0 8px 24px #5a280526,0 16px 50px #5a28051a}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.07)}.gallery-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:transparent;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease;border-radius:1rem}.gallery-item:hover .gallery-overlay{opacity:0}.gallery-item:before{display:none}.lightbox{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0401f7;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease;cursor:pointer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-content{max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;animation:zoomIn .35s cubic-bezier(.22,1,.36,1);cursor:default}@keyframes zoomIn{0%{transform:scale(.88);opacity:0}to{transform:scale(1);opacity:1}}.lightbox-content img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:.625rem;box-shadow:0 16px 60px #000000b3}.lightbox-caption{color:#fff0c3e0;font-size:1.2rem;margin-top:1.5rem;text-align:center;font-style:italic;font-family:Cormorant Garamond,serif;text-shadow:0 2px 8px rgba(0,0,0,.5)}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;background:#fff5d71a;border:1.5px solid rgba(232,192,122,.22);color:#fff0c3eb;font-size:2.5rem;cursor:pointer;padding:0;transition:background-color .3s ease,border-color .3s ease,transform .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;width:3.5rem;height:3.5rem;display:flex;align-items:center;justify-content:center;line-height:1;font-weight:300}.lightbox-close:focus-visible,.lightbox-prev:focus-visible,.lightbox-next:focus-visible{outline:2px solid rgba(232,192,122,.8);outline-offset:3px}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:#e8c07a2e;border-color:#e8c07a80;transform:scale(1.1)}.lightbox-close{top:2rem;right:2rem;font-size:2rem}.lightbox-prev{left:2rem;top:50%;transform:translateY(-50%)}.lightbox-prev:hover{transform:translateY(-50%) scale(1.1)}.lightbox-next{right:2rem;top:50%;transform:translateY(-50%)}.lightbox-next:hover{transform:translateY(-50%) scale(1.1)}.lightbox-counter{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);color:#fff0c3d1;font-size:1rem;background:#0a040199;padding:.5rem 1.75rem;border-radius:2rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(232,192,122,.18);font-weight:600;font-family:Montserrat,sans-serif;letter-spacing:.08em}@media (max-width: 48rem){.gallery-intro h2{font-size:4rem}.photo-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;gap:.625rem;padding:0 1rem;aspect-ratio:auto}.gallery-item.large{grid-column:span 2;grid-row:span 2}.gallery-item.wide{grid-column:span 2;grid-row:span 1}.gallery-item.tall{grid-column:span 2;grid-row:span 2}.gallery-item.medium{grid-column:span 1;grid-row:span 1}.lightbox-close{top:1rem;right:1rem;font-size:1.8rem;width:3rem;height:3rem}.lightbox-prev,.lightbox-next{font-size:2rem;width:3rem;height:3rem}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.lightbox-caption{font-size:1rem;margin-top:1rem;padding:0 1rem}.lightbox-counter{bottom:1rem;font-size:.9rem;padding:.38rem 1rem}}@media (max-width: 30rem){.gallery-intro h2{font-size:3.25rem}}@media (prefers-reduced-motion: reduce){.gallery-item.loading:before,.image-loader{animation:none}.lightbox,.lightbox-content{animation:none}}.navigation{position:fixed;top:0;left:0;right:0;background:#fffef9f5;-webkit-backdrop-filter:blur(1rem) saturate(1.5);backdrop-filter:blur(1rem) saturate(1.5);z-index:1000;transition:box-shadow .3s ease;width:100%;max-width:100vw;overflow-x:hidden;box-shadow:0 1px #c4893a33,0 4px 24px #5a280512}.navigation:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--linen) 0%,var(--gold) 25%,var(--gold-light) 50%,var(--gold) 75%,var(--linen) 100%);z-index:1}.nav-container{max-width:75rem;margin:0 auto;padding:.9rem 2.5rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{display:flex;align-items:center;background:none;border:none;padding:0;cursor:pointer}.nav-logo:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:.25rem}.nav-logo h1{font-family:Great Vibes,cursive;font-size:2.5rem;font-weight:400;color:var(--secondary-color);letter-spacing:.04rem;margin:0;white-space:nowrap;text-shadow:0 1px 0 rgba(196,137,58,.3),0 2px 8px rgba(90,40,5,.12)}.nav-menu{display:flex;gap:0;list-style:none;align-items:center}.nav-menu button{background:none;border:none;font-family:Montserrat,sans-serif;font-size:.7rem;font-weight:600;color:#7a5538;cursor:pointer;padding:.45rem .85rem;transition:color .25s ease,background-color .25s ease;position:relative;letter-spacing:.14em;text-transform:uppercase;border-radius:2rem}.nav-menu button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.nav-menu button:after{content:"";position:absolute;bottom:.1rem;left:.85rem;right:.85rem;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left center;transition:transform .35s ease-out,opacity .35s ease;opacity:.7}.nav-menu button:hover:after{transform:scaleX(1)}.nav-menu button:hover{color:var(--secondary-color)}.nav-rsvp-button{background:var(--secondary-color)!important;color:#fffef9!important;border-radius:2rem!important;padding:.5rem 1.4rem!important;font-weight:600!important;letter-spacing:.12em!important;box-shadow:0 2px 14px #7d44184d!important;transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease!important}.nav-rsvp-button:after{display:none!important}.nav-rsvp-button:hover{background:#5c3010!important;color:#fffef9!important;transform:translateY(-1px)!important;box-shadow:0 5px 20px #7d441866!important}@media (max-width: 48rem){.nav-container{flex-direction:column;padding:.7rem .5rem .6rem;gap:.35rem;width:100%;box-sizing:border-box}.nav-logo h1{font-size:1.85rem}.nav-menu{gap:.2rem;flex-wrap:nowrap;justify-content:center;width:100%;max-width:100%}.nav-menu button{font-size:.62rem;padding:.3rem .35rem;white-space:nowrap;letter-spacing:.08em}.nav-rsvp-button{padding:.32rem .6rem!important;font-size:.62rem!important}}@media (max-width: 30rem){.nav-container{padding:.55rem .25rem .5rem;gap:.28rem}.nav-logo h1{font-size:1.6rem}.nav-menu{gap:.12rem;width:100%;flex-wrap:nowrap}.nav-menu button{font-size:.58rem;padding:.25rem .2rem;white-space:nowrap;letter-spacing:.05em}.nav-rsvp-button{padding:.28rem .35rem!important;font-size:.58rem!important}}@media (min-width: 48rem) and (max-width: 64rem){.nav-container{flex-direction:row;padding:.65rem 1rem;gap:.75rem}.nav-menu{flex-wrap:nowrap;gap:0}.nav-menu button{font-size:.65rem;padding:.3rem .5rem}.nav-rsvp-button{padding:.35rem .8rem!important;font-size:.65rem!important}}@media (orientation: landscape) and (max-height: 600px){.navigation{overflow:visible!important}.nav-container{flex-direction:row!important;padding:.28rem .5rem!important;gap:.5rem!important}.nav-logo h1{font-size:1.2rem!important}.nav-menu{flex-wrap:nowrap!important;gap:0!important;justify-content:flex-end!important;width:auto!important}.nav-menu li{flex-shrink:0}.nav-menu button{font-size:.52rem!important;padding:.18rem .22rem!important;letter-spacing:.05em!important}.nav-rsvp-button{padding:.18rem .4rem!important;font-size:.52rem!important;border-radius:.5rem!important}}.countdown-rings-wrapper{display:flex;flex-direction:column;align-items:center;margin-bottom:3.25rem;animation:heroFadeIn 1.2s .4s cubic-bezier(.22,1,.36,1) both}.countdown-rings{display:flex;justify-content:center;align-items:center;gap:1.75rem;flex-wrap:wrap}.ring-dial{position:relative;width:108px;height:108px;flex-shrink:0}.ring-dial svg{position:absolute;top:0;left:0;width:100%;height:100%}.ring-arc{transition:stroke-dashoffset .35s ease;filter:drop-shadow(0 0 3px rgba(232,192,122,.3))}.ring-arc-seconds{transition:stroke-dashoffset .92s linear}@keyframes secondsGlow{0%{filter:drop-shadow(0 0 3px rgba(232,192,122,.3))}35%{filter:drop-shadow(0 0 9px rgba(232,192,122,.78))}to{filter:drop-shadow(0 0 3px rgba(232,192,122,.3))}}.ring-dial-glow .ring-arc-seconds{animation:secondsGlow .5s ease-out forwards}.ring-dial-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.18rem}.ring-dial-number{font-family:Cormorant Garamond,serif;font-size:2.65rem;font-weight:400;color:#fff;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 1px 6px rgba(0,0,0,.8),0 0 20px rgba(255,240,180,.25)}.ring-dial-large .ring-dial-number{font-size:3.2rem}.ring-dial-label{font-family:Cormorant Garamond,serif;font-size:.6rem;text-transform:uppercase;letter-spacing:.22rem;color:#ffeeb9e6;font-style:italic}@media (max-width: 48rem){.countdown-rings{gap:1rem}.ring-dial{width:88px;height:88px}.ring-dial-number{font-size:2rem}}@media (max-width: 30rem){.countdown-rings{gap:.55rem}.ring-dial{width:72px;height:72px}.ring-dial-number{font-size:1.65rem}.ring-dial-label{font-size:.5rem;letter-spacing:.12rem}}@media (prefers-reduced-motion: reduce){.ring-arc,.ring-arc-seconds{transition:none}.countdown-rings-wrapper,.ring-dial-glow .ring-arc-seconds{animation:none}}@media (orientation: landscape) and (max-height: 500px){.ring-dial{width:70px;height:70px}.ring-dial-label{font-size:.48rem}.countdown-rings{gap:.7rem}.countdown-rings-wrapper{margin-bottom:.8rem}}.hero-section{position:relative;height:100dvh;min-height:100vh;width:100%;max-width:100vw;overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:#fffef9;margin-bottom:0}.hero-section:before{content:"";position:fixed;top:-100px;left:0;right:0;height:100px;background-color:#fffef9;z-index:999}.hero-video{position:absolute;top:50%;left:50%;min-width:100vw;min-height:100vh;width:auto;height:auto;transform:translate(-50%,-50%) scale(1.25);object-fit:cover;z-index:0}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(160deg,rgba(12,4,1,.28) 0%,rgba(25,10,2,.35) 50%,rgba(18,7,1,.22) 80%,transparent 100%);z-index:1;pointer-events:none}.hero-bottom-fade{position:absolute;bottom:-1px;left:0;right:0;height:220px;background:linear-gradient(to bottom,transparent 0%,rgba(255,254,249,.4) 40%,rgba(255,254,249,.85) 75%,#fffef9 100%);z-index:1;pointer-events:none}.hero-content{position:relative;z-index:2;text-align:center;color:#fff;padding:1.25rem;animation:heroFadeIn 1.2s cubic-bezier(.22,1,.36,1);width:100%;max-width:100%;box-sizing:border-box}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(2.5rem)}to{opacity:1;transform:translateY(0)}}.hero-title{font-size:8rem;font-weight:400;margin-bottom:1rem;letter-spacing:.08rem;font-family:Great Vibes,cursive;color:#fff8ee;word-spacing:.5rem;text-shadow:0 4px 20px rgba(0,0,0,.65),0 1px 4px rgba(0,0,0,.5),0 0 60px rgba(196,137,58,.2);animation:heroFadeIn 1.2s .1s cubic-bezier(.22,1,.36,1) both}.hero-title-decoration-top,.hero-title-decoration-bottom{width:28rem;max-width:80%;height:1px;margin:0 auto;background:linear-gradient(to right,transparent 0%,rgba(232,192,122,.5) 20%,rgba(255,240,180,.9) 50%,rgba(232,192,122,.5) 80%,transparent 100%)}.hero-title-decoration-top{margin-bottom:1.5rem}.hero-title-decoration-bottom{margin-top:1.5rem;margin-bottom:1.1rem}.hero-title-connector{font-size:.6em;margin:0 .3rem;opacity:.85}.hero-subtitle-br{display:none}.hero-subtitle{font-size:1.35rem;font-weight:300;letter-spacing:.38rem;margin-top:4rem;margin-bottom:.6rem;text-transform:uppercase;color:#fff8e6f2;text-shadow:0 2px 10px rgba(0,0,0,.65);animation:heroFadeIn 1.2s .2s cubic-bezier(.22,1,.36,1) both}.hero-date{font-size:1.65rem;font-weight:400;letter-spacing:.55rem;margin-bottom:3.25rem;font-family:Montserrat,sans-serif;color:#fff0c8f2;text-shadow:0 2px 10px rgba(0,0,0,.65);animation:heroFadeIn 1.2s .3s cubic-bezier(.22,1,.36,1) both}.countdown{display:flex;justify-content:center;align-items:center;gap:.85rem;margin-bottom:3.25rem;flex-wrap:wrap;width:100%;max-width:100%;padding:0 .5rem;box-sizing:border-box;animation:heroFadeIn 1.2s .4s cubic-bezier(.22,1,.36,1) both}.countdown-item{display:flex;flex-direction:column;align-items:center;background:#fff8eb1a;padding:1rem 1.75rem .85rem;min-width:5.5rem;position:relative;border-bottom:1.5px solid rgba(232,192,122,.55)}.countdown-item:before{display:none}.countdown-number{font-size:3.25rem;font-weight:300;line-height:1;margin-bottom:.4rem;font-family:Cormorant Garamond,serif;color:#fff8ee;font-variant-numeric:tabular-nums}.countdown-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.25rem;font-weight:400;font-family:Cormorant Garamond,serif;color:#ffeeb9bf;font-style:italic}.countdown-separator{font-size:2.5rem;opacity:.35;font-weight:300;color:#e8c07acc;font-family:Cormorant Garamond,serif;align-self:flex-start;padding-top:.5rem;line-height:1}.hero-actions{display:flex;flex-direction:column;align-items:center;gap:.85rem;margin-top:1.5rem}.hero-scroll-btn{width:auto;height:3.25rem;padding:0 2.5rem;border-radius:2rem;background:var(--secondary-color);border:none;color:#fffef9;font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:700;cursor:pointer;transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease;white-space:nowrap;letter-spacing:.18em;text-transform:uppercase;position:relative;box-shadow:0 4px 22px #5a280573}.hero-scroll-btn:hover{background:#5c3010;transform:translateY(-3px);box-shadow:0 8px 30px #5a28058c}.hero-calendar-btn{display:inline-flex;align-items:center;gap:.5rem;height:2.75rem;padding:0 2rem;border-radius:2rem;background:#00000040;border:1.5px solid rgba(232,192,122,.8);color:#e8c07a;font-family:Montserrat,sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:border-color .25s ease,color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease}.hero-calendar-btn:hover{border-color:#e8c07a;color:#fff8ee;background:#0006;transform:translateY(-2px);box-shadow:0 4px 18px #5a28054d}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-.5rem)}60%{transform:translateY(-.25rem)}}@media (max-width: 48rem){.hero-section{background-attachment:scroll}.hero-subtitle-br{display:inline}.hero-title{font-size:9vw;white-space:nowrap;padding:0 1rem}.hero-subtitle{font-size:1rem;letter-spacing:.25rem;margin-top:2rem}.hero-date{font-size:1.15rem;letter-spacing:.3rem;margin-bottom:2.25rem}.countdown{gap:.55rem}.countdown-item{padding:.85rem 1rem;min-width:4.5rem}.countdown-number{font-size:2rem}.countdown-label{font-size:.6rem;letter-spacing:.12rem}.countdown-separator{display:none}.hero-scroll-btn{height:2.8rem;padding:0 1.5rem;font-size:.72rem}.hero-calendar-btn{height:2.5rem;padding:0 1.5rem;font-size:.68rem}}@media (max-width: 30rem){.hero-content{padding-top:4rem}.hero-title{font-size:10vw;white-space:nowrap}.hero-subtitle{font-size:.88rem;letter-spacing:.18rem}.hero-date{font-size:1rem;letter-spacing:.22rem}.countdown{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;max-width:18rem;margin-left:auto;margin-right:auto}.countdown-separator{display:none}.countdown-item{min-width:0;width:100%}.countdown-number{font-size:2.5rem}}@media (prefers-reduced-motion: reduce){.hero-content,.hero-title,.hero-subtitle,.hero-date,.countdown,.hero-scroll-btn,.hero-calendar-btn{animation:none}}@media (orientation: landscape) and (max-height: 500px){.hero-section{align-items:flex-start}.hero-content{padding-top:4.5rem}.hero-title{font-size:7vw;margin-bottom:.4rem}.hero-title-decoration-top,.hero-title-decoration-bottom{margin-top:.4rem;margin-bottom:.4rem}.hero-subtitle{margin-top:.5rem;font-size:.75rem;margin-bottom:.4rem}.hero-date{font-size:.85rem;margin-bottom:.8rem;letter-spacing:.18rem}.countdown{gap:.3rem;margin-bottom:.8rem}.countdown-item{padding:.38rem .55rem;min-width:2.8rem}.countdown-number{font-size:1.2rem;margin-bottom:.15rem}.countdown-label{font-size:.46rem}.hero-scroll-btn,.hero-calendar-btn{display:none}}@media (orientation: landscape) and (min-height: 501px) and (max-height: 1000px){.hero-section{align-items:flex-start}.hero-content{padding-top:7rem}.hero-title-decoration-top{margin-bottom:1rem}.hero-title-decoration-bottom{margin-top:1rem}.hero-scroll-btn,.hero-calendar-btn{display:none}}.app{min-height:100vh;position:relative;overflow-x:hidden;width:100%;max-width:100vw}main{max-width:75rem;margin:0 auto;padding:0 1.5rem 5rem;width:100%;box-sizing:border-box;overflow:visible}section{display:block;animation:sectionFadeIn .7s cubic-bezier(.22,1,.36,1);margin-bottom:8rem;width:100%;max-width:100%;overflow:visible}section:last-child{margin-bottom:4rem}@keyframes sectionFadeIn{0%{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){section{animation:none}}@media (max-width: 48rem){main{padding:5rem 1rem 3rem;max-width:100%;box-sizing:border-box;overflow:visible}section{margin-bottom:5rem}section:last-child{margin-bottom:2.5rem}}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--secondary-color);color:var(--gold-light);border:1px solid rgba(196,137,58,.35);font-size:1.1rem;cursor:pointer;opacity:0;transform:translateY(.75rem);transition:opacity .3s ease,transform .3s ease,background .2s ease;pointer-events:none;z-index:900;box-shadow:0 2px 12px #5a280540}.back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top:hover{background:var(--primary-color)}@media (max-width: 48rem){.back-to-top{bottom:1.25rem;right:1.25rem;width:2.5rem;height:2.5rem;font-size:1rem}}@media (prefers-reduced-motion: reduce){.back-to-top{transition:opacity .15s ease;transform:none}}.lazy-loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-family:Montserrat,sans-serif;color:var(--gold);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;opacity:.7}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;src:url(/assets/fonts/great-vibes-cyrillic-Dy8dZvp5.woff2) format("woff2")}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;src:url(/fonts/great-vibes-latin.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;src:url(/assets/fonts/cormorant-garamond-300-cyrillic-KZtADeSH.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;src:url(/assets/fonts/cormorant-garamond-300-cyrillic-KZtADeSH.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;src:url(/assets/fonts/cormorant-garamond-300-cyrillic-KZtADeSH.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;src:url(/assets/fonts/cormorant-garamond-300-latin-vTYAbwjx.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;src:url(/assets/fonts/cormorant-garamond-300-latin-vTYAbwjx.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;src:url(/assets/fonts/cormorant-garamond-300-latin-vTYAbwjx.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;src:url(/assets/fonts/montserrat-300-cyrillic-p6IpLZeA.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;src:url(/assets/fonts/montserrat-300-cyrillic-p6IpLZeA.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;src:url(/assets/fonts/montserrat-300-cyrillic-p6IpLZeA.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;src:url(/assets/fonts/montserrat-300-latin-Dk9Pm7OY.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;src:url(/fonts/montserrat-400-latin.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;src:url(/assets/fonts/montserrat-300-latin-Dk9Pm7OY.woff2) format("woff2")}*{margin:0;padding:0;box-sizing:border-box}img{max-width:100%;height:auto}html{font-size:16px;overflow-x:hidden;overflow-y:auto;width:100%;max-width:100vw}body{font-family:Montserrat,sans-serif;color:#3a2215;background-color:#fffef9;line-height:1.75;overflow-x:hidden;overflow-y:auto;width:100%;max-width:100vw;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:Cormorant Garamond,serif;font-weight:300;color:#6b3a1f;line-height:1.2;text-wrap:balance}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}:root{--primary-color: #c9a070;--secondary-color: #7d4418;--accent-color: #f2e6d0;--text-color: #3a2215;--light-bg: #fffef9;--gold: #c4893a;--gold-light: #e8c07a;--ivory: #f5ead8;--linen: #f0e4cc;--border-warm: #ddc9a8;--shadow-warm: rgba(90, 40, 5, .1)}@media (max-width: 48rem){html{font-size:14px}}@media (max-width: 30rem){html{font-size:13px}}
