:root{--color-primary: #0b0b0b;--color-surface: #141414;--color-surface-hover: #1f1f1f;--color-accent: #e50914;--color-accent-hover: #f40612;--color-text: #ffffff;--color-text-secondary: #e6e6e6;--color-text-muted: #b3b3b3;--spacing-unit: 8px;--header-height: 70px;--font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", "Helvetica Neue", sans-serif;--transition-speed: .3s;--card-border-radius: 4px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-primary);background-color:var(--color-primary);color:var(--color-text);line-height:1.6;overflow-x:hidden}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer;border:none;outline:none}a{color:inherit;text-decoration:none}.header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:linear-gradient(180deg,#0000004d,#0000);z-index:1000;transition:all .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);animation:headerFadeIn 1s ease-out .5s both}@keyframes headerFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.header.on-hero{background:linear-gradient(180deg,#0003,#0000);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}.header.scrolled{background:var(--color-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 10px #0000004d}.header.on-hero.scrolled{background:#0b0b0bd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-content{max-width:1920px;margin:0 auto;padding:0 calc(var(--spacing-unit) * 6);height:100%;display:flex;align-items:center;justify-content:space-between;animation:headerContentFadeIn 1.2s ease-out .7s both}@keyframes headerContentFadeIn{0%{opacity:0}to{opacity:1}}.logo{font-size:1.5rem;font-weight:700;letter-spacing:-.5px;color:var(--color-accent);transition:all .3s ease;animation:logoFadeIn 1s ease-out .9s both;position:relative}@keyframes logoFadeIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.logo:hover{color:var(--color-accent-hover);transform:scale(1.05)}.header.on-hero .logo{text-shadow:0 2px 10px rgba(0,0,0,.5)}.nav{display:flex;gap:calc(var(--spacing-unit) * 3);align-items:center;animation:navFadeIn 1s ease-out 1s both}@keyframes navFadeIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.nav-link{font-size:.9rem;font-weight:500;transition:all .3s ease;position:relative;color:var(--color-text);padding:calc(var(--spacing-unit) * 1) 0}.header.on-hero .nav-link{color:#fffffff2;text-shadow:0 2px 8px rgba(0,0,0,.5)}.nav-link:hover,.nav-link:focus{color:var(--color-text-muted);transform:translateY(-2px)}.header.on-hero .nav-link:hover,.header.on-hero .nav-link:focus{color:var(--color-text);text-shadow:0 2px 12px rgba(0,0,0,.7)}.nav-link.active{color:var(--color-accent)}.header.on-hero .nav-link.active{color:var(--color-accent);text-shadow:0 0 10px rgba(229,9,20,.5)}.nav-link.active:after{content:"";position:absolute;bottom:-8px;left:0;right:0;height:2px;background-color:var(--color-accent);animation:navLinkActiveSlide .3s ease-out;box-shadow:0 0 8px #e5091499}@keyframes navLinkActiveSlide{0%{width:0;left:50%}to{width:100%;left:0}}.menu-toggle{display:none;background:transparent;color:var(--color-text);font-size:1.5rem;padding:calc(var(--spacing-unit) * 1);transition:all .3s ease;animation:menuToggleFadeIn 1s ease-out 1.1s both}@keyframes menuToggleFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.header.on-hero .menu-toggle{text-shadow:0 2px 8px rgba(0,0,0,.5)}.menu-toggle:hover{transform:scale(1.1);opacity:.8}.hero{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;animation:heroBackgroundFadeIn 2s ease-out,heroBackgroundZoom 20s ease-in-out infinite alternate;transform:scale(1.1);will-change:transform;transition:transform .1s ease-out}@keyframes heroBackgroundFadeIn{0%{opacity:0;transform:scale(1.15)}to{opacity:1;transform:scale(1.1)}}@keyframes heroBackgroundZoom{0%{transform:scale(1.1)}to{transform:scale(1.15)}}.hero-video{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;z-index:2}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to top,#000000f2,#000000bf 30%,#0006 55%,#0000001a 75%,#0000);z-index:3;animation:heroOverlayFadeIn 1.5s ease-out}@keyframes heroOverlayFadeIn{0%{opacity:0}to{opacity:1}}.hero-content{position:relative;z-index:10;width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--spacing-unit) * 4) calc(var(--spacing-unit) * 6);animation:heroContentFadeIn 1.2s ease-out .3s both}@keyframes heroContentFadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-top-info{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 2);font-size:1.3rem;letter-spacing:2px;animation:heroTopInfoSlideIn 1s ease-out .6s both}@keyframes heroTopInfoSlideIn{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.hero-label{color:var(--color-accent);font-weight:600;text-transform:uppercase;display:flex;align-items:center;gap:calc(var(--spacing-unit) * 1);font-size:1.3rem}.hero-label:before{content:"●";font-size:.8rem;color:var(--color-accent)}.hero-stars{color:var(--color-accent);font-size:1.5rem;letter-spacing:4px;animation:heroStarsTwinkle 2s ease-in-out 1.2s both,heroStarsContinuous 3s ease-in-out 3.2s infinite;display:inline-block}@keyframes heroStarsTwinkle{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes heroStarsContinuous{0%,to{opacity:1;transform:scale(1);filter:brightness(1)}50%{opacity:.8;transform:scale(1.05);filter:brightness(1.3)}}.hero-bottom-content{text-align:center;max-width:100%;animation:heroBottomContentFadeIn 1.2s ease-out .9s both}@keyframes heroBottomContentFadeIn{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.hero-title{font-size:clamp(3.5rem,12vw,7rem);font-weight:400;font-style:normal;margin-bottom:calc(var(--spacing-unit) * 3);letter-spacing:2px;line-height:1.1;font-family:Great Vibes,Brush Script MT,Lucida Handwriting,cursive;color:#fff;text-shadow:0 0 10px rgba(0,0,0,.5),0 2px 4px rgba(0,0,0,.8),0 4px 8px rgba(0,0,0,.6);position:relative;text-transform:none;animation:heroTitleFadeIn 1.5s ease-out 1.2s both,heroTitleGlow 3s ease-in-out 2.5s infinite}@keyframes heroTitleFadeIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes heroTitleGlow{0%,to{text-shadow:0 0 10px rgba(0,0,0,.5),0 2px 4px rgba(0,0,0,.8),0 4px 8px rgba(0,0,0,.6)}50%{text-shadow:0 0 20px rgba(255,255,255,.3),0 0 30px rgba(255,255,255,.2),0 2px 4px rgba(0,0,0,.8),0 4px 8px rgba(0,0,0,.6)}}.hero-subtitle{font-size:clamp(1.3rem,3.5vw,2rem);color:#fffffff2;margin-bottom:calc(var(--spacing-unit) * 4);font-weight:300;text-shadow:1px 1px 4px rgba(0,0,0,.6);animation:heroSubtitleFadeIn 1s ease-out 1.5s both}@keyframes heroSubtitleFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-date{font-size:clamp(1rem,2.5vw,1.3rem);font-weight:400;letter-spacing:3px;color:#fffffff2;text-align:center;text-transform:uppercase;text-shadow:1px 1px 4px rgba(0,0,0,.6);margin-top:calc(var(--spacing-unit) * 2);animation:heroDateFadeIn 1s ease-out 1.8s both,heroDatePulse 2s ease-in-out 2.8s infinite}@keyframes heroDateFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes heroDatePulse{0%,to{opacity:.95;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.hero-actions{display:flex;gap:calc(var(--spacing-unit) * 2);justify-content:center;flex-wrap:wrap}.btn{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 4);border-radius:4px;font-size:1rem;font-weight:600;transition:all var(--transition-speed);display:inline-flex;align-items:center;gap:calc(var(--spacing-unit) * 1)}.btn-primary{background-color:var(--color-accent);color:var(--color-text)}.btn-primary:hover,.btn-primary:focus{background-color:var(--color-accent-hover);transform:scale(1.05)}.btn-secondary{background-color:#ffffff1a;color:var(--color-text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover,.btn-secondary:focus{background-color:#fff3}.section{padding:calc(var(--spacing-unit) * 10) calc(var(--spacing-unit) * 6);max-width:1920px;margin:0 auto}.section-header{margin-bottom:calc(var(--spacing-unit) * 5)}.section-title{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:400;font-family:Great Vibes,Brush Script MT,Lucida Handwriting,cursive;margin-bottom:calc(var(--spacing-unit) * 2);letter-spacing:2px}.story-text-section .section-title{font-family:Great Vibes,Brush Script MT,Lucida Handwriting,cursive;font-weight:400;font-size:clamp(2.5rem,6vw,4rem);text-align:center;letter-spacing:2px}.text-center{text-align:center}.section-description{color:var(--color-text-secondary);font-size:1.1rem;max-width:800px}.carousel-container{position:relative;margin-bottom:calc(var(--spacing-unit) * 6)}.carousel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(var(--spacing-unit) * 2);padding:0 calc(var(--spacing-unit) * 2)}.carousel-title{font-size:1.3rem;font-weight:600;color:var(--color-text)}.carousel-controls{display:flex;gap:calc(var(--spacing-unit) * 1)}.carousel-btn{width:36px;height:36px;border-radius:50%;background-color:#ffffff26;color:var(--color-text);font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border:1px solid rgba(255,255,255,.1)}.carousel-btn:hover,.carousel-btn:focus{background-color:#ffffff40;transform:scale(1.05)}.carousel-btn:disabled{opacity:.3;cursor:not-allowed}.carousel-wrapper{overflow:visible;position:relative;padding:calc(var(--spacing-unit) * 2) 0}.carousel-track{display:flex;gap:calc(var(--spacing-unit) * 2);transition:transform .5s cubic-bezier(.645,.045,.355,1)}.carousel-card{flex:0 0 calc(25% - calc(var(--spacing-unit) * 1.5));min-width:250px;background-color:var(--color-surface);border-radius:var(--card-border-radius);overflow:hidden;transition:transform .4s cubic-bezier(.5,0,.1,1),z-index 0s linear .4s;cursor:pointer;position:relative}.carousel-card:hover,.carousel-card:focus-within{transform:scale(1.5) translateY(-10%);z-index:10;transition:transform .4s cubic-bezier(.5,0,.1,1),z-index 0s linear 0s;box-shadow:0 8px 24px #000c}.carousel-card-image-container{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden}.carousel-card-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;background:linear-gradient(135deg,#1f1f1f,#2a2a2a);transition:transform .4s cubic-bezier(.5,0,.1,1)}.carousel-card-content{position:absolute;bottom:0;left:0;right:0;padding:calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 2);background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.9) 100%);opacity:0;transform:translateY(10px);transition:all .3s ease}.carousel-card:hover .carousel-card-content{opacity:1;transform:translateY(0)}.carousel-card-title{font-size:1rem;font-weight:600;margin-bottom:calc(var(--spacing-unit) * .5);color:var(--color-text)}.carousel-card-description{color:var(--color-text-muted);font-size:.85rem;line-height:1.4}.moments-cles-section{padding:calc(var(--spacing-unit) * 10) calc(var(--spacing-unit) * 6);background-color:var(--color-primary);position:relative;overflow:hidden}.moments-cles-container{max-width:1400px;margin:0 auto;position:relative;z-index:1}.moments-cles-header{text-align:center;margin-bottom:calc(var(--spacing-unit) * 8)}.moments-cles-title{font-size:clamp(2rem,5vw,3rem);font-weight:400;font-family:Great Vibes,Brush Script MT,Lucida Handwriting,cursive;margin-bottom:calc(var(--spacing-unit) * 2);color:var(--color-text);letter-spacing:2px}.moments-cles-subtitle{color:var(--color-text-secondary);font-size:1.2rem;letter-spacing:2px;text-transform:uppercase}.moments-cles-content{display:grid;grid-template-columns:80px 1fr 200px;gap:calc(var(--spacing-unit) * 4);align-items:start}.moments-timeline{display:flex;flex-direction:column;align-items:center;gap:calc(var(--spacing-unit) * 2);padding-top:calc(var(--spacing-unit) * 2)}.moment-timeline-item{position:relative;cursor:pointer;display:flex;flex-direction:column;align-items:center}.timeline-dot{width:16px;height:16px;border-radius:50%;background-color:#fff3;border:3px solid rgba(255,255,255,.1);transition:all .4s cubic-bezier(.4,0,.2,1);z-index:2}.moment-timeline-item.active .timeline-dot{width:24px;height:24px;background-color:var(--color-accent);border-color:var(--color-accent);box-shadow:0 0 20px #e5091499;transform:scale(1.2)}.moment-timeline-item.passed .timeline-dot{background-color:#e5091480;border-color:var(--color-accent)}.timeline-line{width:2px;height:60px;background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 100%);margin-top:calc(var(--spacing-unit) * 1)}.moment-timeline-item.passed .timeline-line{background:linear-gradient(180deg,var(--color-accent) 0%,rgba(229,9,20,.3) 100%)}.moments-main-card-wrapper{position:relative;min-height:500px}.moment-main-card{position:absolute;top:0;left:0;width:100%;opacity:0;transform:translateY(20px) scale(.95);transition:all .6s cubic-bezier(.4,0,.2,1);pointer-events:none}.moment-main-card.active{opacity:1;transform:translateY(0) scale(1);pointer-events:all}.moment-card-image-wrapper{position:relative;width:100%;height:400px;border-radius:var(--card-border-radius);overflow:hidden;margin-bottom:calc(var(--spacing-unit) * 4);box-shadow:0 8px 24px #000c}.moment-card-carousel{position:relative;width:100%;height:100%}.moment-card-image{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;transition:opacity .5s ease-in-out,transform .5s ease-in-out;background-color:var(--color-surface);opacity:0;transform:scale(.95)}.moment-card-image.active{opacity:1;transform:scale(1);z-index:1}.moment-main-card.active .moment-card-image.active{transform:scale(1)}.moment-carousel-indicators{position:absolute;bottom:calc(var(--spacing-unit) * 2);left:50%;transform:translate(-50%);display:flex;gap:calc(var(--spacing-unit) * 1);z-index:10}.moment-carousel-dot{width:8px;height:8px;border-radius:50%;border:none;background-color:#fff6;cursor:pointer;transition:all .3s ease;padding:0}.moment-carousel-dot:hover{background-color:#fff9;transform:scale(1.2)}.moment-carousel-dot.active{background-color:var(--color-accent);width:24px;border-radius:4px}.moment-carousel-prev,.moment-carousel-next{position:absolute;top:50%;transform:translateY(-50%);background-color:#00000080;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:24px;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.moment-carousel-prev{left:calc(var(--spacing-unit) * 2)}.moment-carousel-next{right:calc(var(--spacing-unit) * 2)}.moment-carousel-prev:hover,.moment-carousel-next:hover{background-color:#000c;transform:translateY(-50%) scale(1.1)}.moment-carousel-prev:active,.moment-carousel-next:active{transform:translateY(-50%) scale(.95)}.moment-card-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.7) 100%);pointer-events:none}.moment-play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;background-color:#e50914e6;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease;opacity:0;pointer-events:none}.moment-main-card.active .moment-play-button{opacity:1;pointer-events:all}.moment-play-button:hover{background-color:var(--color-accent);transform:translate(-50%,-50%) scale(1.1);box-shadow:0 0 30px #e50914cc}.moment-card-content{padding:0 calc(var(--spacing-unit) * 2)}.moment-card-number{font-size:1rem;font-weight:600;color:var(--color-accent);margin-bottom:calc(var(--spacing-unit) * 2);letter-spacing:2px}.moment-card-title{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:700;margin-bottom:calc(var(--spacing-unit) * 2);line-height:1.2;text-transform:uppercase}.moment-card-description{font-size:1.1rem;color:var(--color-text-secondary);line-height:1.6;max-width:600px;text-transform:lowercase}.moments-thumbnails{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 2);padding-top:calc(var(--spacing-unit) * 2)}.moment-thumbnail{position:relative;width:100%;height:80px;border-radius:var(--card-border-radius);overflow:hidden;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.moment-thumbnail:hover{transform:translate(-8px);border-color:#ffffff4d}.moment-thumbnail.active{border-color:var(--color-accent);box-shadow:0 0 20px #e5091466;transform:translate(-8px) scale(1.05)}.thumbnail-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.thumbnail-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;transition:background .3s ease}.moment-thumbnail.active .thumbnail-overlay{background:#0003}.thumbnail-number{position:absolute;top:8px;left:8px;width:24px;height:24px;background-color:var(--color-accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;opacity:0;transition:opacity .3s ease}.moment-thumbnail.active .thumbnail-number{opacity:1}@media (max-width: 1024px){.moments-cles-content{grid-template-columns:60px 1fr 150px;gap:calc(var(--spacing-unit) * 3)}.moment-card-image-wrapper{height:350px}.moments-thumbnails{gap:calc(var(--spacing-unit) * 1.5)}.moment-thumbnail{height:70px}}@media (max-width: 768px){.moments-cles-section{padding:calc(var(--spacing-unit) * 8) calc(var(--spacing-unit) * 4)}.moments-cles-content{grid-template-columns:1fr;gap:calc(var(--spacing-unit) * 4)}.moments-timeline{flex-direction:row;justify-content:center;padding-top:0;margin-bottom:calc(var(--spacing-unit) * 4)}.timeline-line{width:60px;height:2px;margin-top:0;margin-left:calc(var(--spacing-unit) * 1)}.moment-card-image-wrapper{height:300px}.moments-thumbnails{flex-direction:row;overflow-x:auto;padding:calc(var(--spacing-unit) * 2) 0;gap:calc(var(--spacing-unit) * 2);scrollbar-width:thin;scrollbar-color:var(--color-accent) transparent}.moments-thumbnails::-webkit-scrollbar{height:4px}.moments-thumbnails::-webkit-scrollbar-thumb{background-color:var(--color-accent);border-radius:2px}.moment-thumbnail{flex:0 0 100px;height:60px}.moment-thumbnail:hover,.moment-thumbnail.active{transform:translateY(-4px) scale(1.05)}.moment-main-card-wrapper{min-height:400px}}.events-section-modern{padding:calc(var(--spacing-unit) * 10) calc(var(--spacing-unit) * 6);background-color:var(--color-primary);position:relative;overflow:hidden}.events-container-modern{max-width:1400px;margin:0 auto;position:relative;z-index:1}.events-header-modern{text-align:center;margin-bottom:calc(var(--spacing-unit) * 10)}.events-title-modern{font-size:clamp(2rem,5vw,3rem);font-weight:400;font-family:Great Vibes,Brush Script MT,Lucida Handwriting,cursive;margin-bottom:calc(var(--spacing-unit) * 2);color:var(--color-text);letter-spacing:-1px}.events-subtitle-modern{color:var(--color-text-secondary);font-size:1.2rem;letter-spacing:2px}.events-timeline-wrapper{position:relative;padding:calc(var(--spacing-unit) * 4) 0}.events-timeline-line{position:absolute;top:50%;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(229,9,20,.3) 20%,rgba(229,9,20,.5) 50%,rgba(229,9,20,.3) 80%,transparent 100%);transform:translateY(-50%);z-index:0}.events-list-modern{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:calc(var(--spacing-unit) * 6);position:relative;z-index:1}.event-card-modern{position:relative;animation:fadeInUp .6s ease-out calc(var(--event-index, 0) * .15s) both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.event-card-inner{background-color:var(--color-surface);border-radius:var(--card-border-radius);padding:calc(var(--spacing-unit) * 4);position:relative;transition:transform .4s cubic-bezier(.5,0,.1,1),z-index 0s linear .4s;overflow:hidden}.event-card-modern:hover .event-card-inner{transform:scale(1.05);z-index:10;transition:transform .4s cubic-bezier(.5,0,.1,1),z-index 0s linear 0s;box-shadow:0 8px 24px #000c}.event-type-badge{display:inline-flex;align-items:center;gap:calc(var(--spacing-unit) * 1);padding:calc(var(--spacing-unit) * 1) calc(var(--spacing-unit) * 2.5);background-color:var(--color-accent);border-radius:var(--card-border-radius);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:calc(var(--spacing-unit) * 4)}.event-type-icon{font-size:1.2rem}.event-type-text{color:#fff}.event-timeline-dot{position:absolute;top:calc(var(--spacing-unit) * 5);right:calc(var(--spacing-unit) * 5);width:16px;height:16px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 20px #e5091499;display:flex;align-items:center;justify-content:center;z-index:2}.event-timeline-dot-inner{width:8px;height:8px;border-radius:50%;background:#fff}.event-card-content{position:relative;z-index:1}.event-time-display{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 3);padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);background-color:var(--color-surface);border-radius:var(--card-border-radius);border:1px solid rgba(229,9,20,.3);width:-moz-fit-content;width:fit-content}.event-time-display svg{color:var(--color-accent);flex-shrink:0}.event-time-text{font-size:1.3rem;font-weight:700;color:var(--color-text);letter-spacing:1px}.event-title-modern{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;margin-bottom:calc(var(--spacing-unit) * 4);line-height:1.2;color:var(--color-text)}.event-location-info{display:flex;align-items:flex-start;gap:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 4);padding:calc(var(--spacing-unit) * 2.5);background-color:var(--color-surface);border-radius:var(--card-border-radius);border:1px solid rgba(255,255,255,.1)}.event-location-info svg{color:var(--color-accent);flex-shrink:0;margin-top:2px}.event-location-details{flex:1}.event-location-name{font-size:1.1rem;font-weight:600;margin-bottom:calc(var(--spacing-unit) * .5);color:var(--color-text)}.event-location-address{font-size:.9rem;color:var(--color-text-muted);line-height:1.5}.event-description-modern{font-size:1rem;color:var(--color-text-secondary);line-height:1.7;margin-bottom:calc(var(--spacing-unit) * 4)}.event-maps-button{display:inline-flex;align-items:center;gap:calc(var(--spacing-unit) * 2);padding:calc(var(--spacing-unit) * 2.5) calc(var(--spacing-unit) * 4);background-color:var(--color-accent);color:#fff;border-radius:var(--card-border-radius);font-weight:600;text-decoration:none;transition:all .3s ease;border:none}.event-maps-button svg:first-child{flex-shrink:0}.event-maps-button svg:last-child{flex-shrink:0;transition:transform .3s ease}.event-maps-button:hover{background-color:var(--color-accent-hover);transform:translateY(-2px)}.event-maps-button:hover svg:last-child{transform:translate(4px)}@media (max-width: 1024px){.events-list-modern{grid-template-columns:1fr;gap:calc(var(--spacing-unit) * 5)}.events-timeline-line,.event-timeline-dot{display:none}}@media (max-width: 768px){.events-section-modern{padding:calc(var(--spacing-unit) * 8) calc(var(--spacing-unit) * 4)}.events-header-modern{margin-bottom:calc(var(--spacing-unit) * 6)}.event-card-inner{padding:calc(var(--spacing-unit) * 4)}.event-title-modern{font-size:1.5rem}.event-time-text{font-size:1.1rem}.event-maps-button{width:100%;justify-content:center}}.gallery-section-modern{padding:calc(var(--spacing-unit) * 10) calc(var(--spacing-unit) * 6);background-color:var(--color-primary);position:relative;overflow:hidden}.gallery-container-modern{max-width:1600px;margin:0 auto;position:relative;z-index:1}.gallery-header-modern{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:calc(var(--spacing-unit) * 8);flex-wrap:wrap;gap:calc(var(--spacing-unit) * 4)}.gallery-title-wrapper{flex:1}.gallery-title-modern{font-size:clamp(2rem,5vw,3rem);font-weight:400;font-family:Great Vibes,Brush Script MT,Lucida Handwriting,cursive;margin-bottom:calc(var(--spacing-unit) * 2);color:var(--color-text);letter-spacing:-1px}.gallery-subtitle-modern{color:var(--color-text-secondary);font-size:1.2rem;letter-spacing:1px}.gallery-upload-btn-modern{display:inline-flex;align-items:center;gap:calc(var(--spacing-unit) * 1.5);padding:calc(var(--spacing-unit) * 2.5) calc(var(--spacing-unit) * 5);background-color:var(--color-accent);color:#fff;border:none;border-radius:var(--card-border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.gallery-upload-btn-modern:hover{background-color:var(--color-accent-hover);transform:translateY(-2px)}.gallery-upload-btn-modern svg{flex-shrink:0}.gallery-upload-form-modern{margin-bottom:calc(var(--spacing-unit) * 8);background-color:var(--color-surface);border-radius:var(--card-border-radius);padding:calc(var(--spacing-unit) * 5);animation:slideDown .4s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.upload-form-header{text-align:center;margin-bottom:calc(var(--spacing-unit) * 5)}.upload-form-header h3{font-size:1.8rem;font-weight:700;margin-bottom:calc(var(--spacing-unit) * 1);color:var(--color-text)}.upload-form-header p{color:var(--color-text-secondary);font-size:1rem}.upload-form-content{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 4)}.upload-file-area{position:relative}.upload-file-input{position:absolute;opacity:0;width:0;height:0}.upload-file-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--spacing-unit) * 2);padding:calc(var(--spacing-unit) * 6);border:2px dashed rgba(255,255,255,.3);border-radius:var(--card-border-radius);background-color:var(--color-surface);cursor:pointer;transition:all .3s ease;min-height:200px}.upload-file-label:hover{border-color:var(--color-accent);background-color:var(--color-surface-hover)}.upload-file-label svg{color:var(--color-accent);opacity:.7}.upload-file-text{color:var(--color-text-secondary);font-size:1rem;text-align:center}.upload-form-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(var(--spacing-unit) * 3)}.upload-field{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 1)}.upload-field label{font-size:.9rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px}.upload-input{padding:calc(var(--spacing-unit) * 2.5) calc(var(--spacing-unit) * 3);background-color:var(--color-primary);border:1px solid rgba(255,255,255,.2);border-radius:var(--card-border-radius);color:var(--color-text);font-size:1rem;transition:all .3s ease}.upload-input:focus{outline:none;border-color:var(--color-accent);background-color:var(--color-surface)}.upload-input::-moz-placeholder{color:var(--color-text-muted)}.upload-input::placeholder{color:var(--color-text-muted)}.gallery-grid-modern{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:calc(var(--spacing-unit) * 4);margin-bottom:calc(var(--spacing-unit) * 10)}.gallery-item-modern{animation:fadeInScale .6s ease-out calc(var(--item-index, 0) * .05s) both}.gallery-item-inner{background-color:var(--color-surface);border-radius:var(--card-border-radius);overflow:hidden;transition:transform .4s cubic-bezier(.5,0,.1,1),z-index 0s linear .4s;cursor:pointer;position:relative}.gallery-item-inner:hover{transform:scale(1.08);z-index:10;transition:transform .4s cubic-bezier(.5,0,.1,1),z-index 0s linear 0s;box-shadow:0 8px 24px #000c}.gallery-item-image-wrapper{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden}.gallery-item-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}.gallery-item-inner:hover .gallery-item-image{transform:scale(1.1)}.gallery-item-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.6) 100%);opacity:0;transition:opacity .3s ease;pointer-events:none}.gallery-item-inner:hover .gallery-item-overlay{opacity:1}.gallery-item-delete{position:absolute;top:calc(var(--spacing-unit) * 2);right:calc(var(--spacing-unit) * 2);width:36px;height:36px;background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;opacity:0;z-index:10}.gallery-item-inner:hover .gallery-item-delete{opacity:1}.gallery-item-delete:hover{background:var(--color-accent);transform:scale(1.1)}.gallery-item-content{padding:calc(var(--spacing-unit) * 3)}.gallery-item-title{font-size:1.1rem;font-weight:600;margin-bottom:calc(var(--spacing-unit) * 1);color:var(--color-text)}.gallery-item-description{font-size:.9rem;color:var(--color-text-muted);line-height:1.5}.gallery-videos-section{margin-top:calc(var(--spacing-unit) * 10)}.gallery-videos-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;margin-bottom:calc(var(--spacing-unit) * 6);text-align:center;color:var(--color-text)}.gallery-videos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:calc(var(--spacing-unit) * 4)}.gallery-video-item{animation:fadeInScale .6s ease-out calc(var(--video-index, 0) * .1s) both;cursor:pointer}.video-item-image-wrapper{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--card-border-radius);overflow:hidden;margin-bottom:calc(var(--spacing-unit) * 3);transition:transform .4s cubic-bezier(.5,0,.1,1),z-index 0s linear .4s}.gallery-video-item:hover .video-item-image-wrapper{transform:scale(1.15);z-index:10;transition:transform .4s cubic-bezier(.5,0,.1,1),z-index 0s linear 0s;box-shadow:0 8px 24px #000c}.video-item-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.video-item-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.7) 100%);transition:background .3s ease}.gallery-video-item:hover .video-item-overlay{background:linear-gradient(180deg,transparent 0%,rgba(229,9,20,.3) 100%)}.video-play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;background:#e50914e6;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 20px #00000080}.gallery-video-item:hover .video-play-button{background:var(--color-accent);transform:translate(-50%,-50%) scale(1.1);box-shadow:0 8px 30px #e50914cc}.video-item-content{padding:0 calc(var(--spacing-unit) * 2)}.video-item-title{font-size:1.2rem;font-weight:600;margin-bottom:calc(var(--spacing-unit) * 1);color:var(--color-text)}.video-item-description{font-size:.95rem;color:var(--color-text-muted);line-height:1.5}@media (max-width: 1024px){.gallery-grid-modern{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:calc(var(--spacing-unit) * 3)}.upload-form-fields{grid-template-columns:1fr}.gallery-videos-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width: 768px){.gallery-section-modern{padding:calc(var(--spacing-unit) * 8) calc(var(--spacing-unit) * 4)}.gallery-header-modern{flex-direction:column;gap:calc(var(--spacing-unit) * 3)}.gallery-upload-btn-modern{width:100%;justify-content:center}.gallery-grid-modern{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:calc(var(--spacing-unit) * 2)}.gallery-videos-grid{grid-template-columns:1fr}.upload-file-label{min-height:150px;padding:calc(var(--spacing-unit) * 4)}}.rsvp-invitation-section{padding:calc(var(--spacing-unit) * 10) calc(var(--spacing-unit) * 6);background-color:var(--color-primary);display:flex;justify-content:center;align-items:center;min-height:80vh}.rsvp-invitation-container{max-width:600px;width:100%;text-align:center;display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 4)}.rsvp-cta-box{border:2px solid var(--color-accent);border-radius:40px;background:var(--color-surface);padding:calc(var(--spacing-unit) * 6) calc(var(--spacing-unit) * 4);cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.rsvp-cta-box:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(229,9,20,.1),transparent);transition:left .5s ease}.rsvp-cta-box:hover:before{left:100%}.rsvp-cta-box:hover{border-color:var(--color-accent-hover);background:var(--color-surface-hover);box-shadow:0 0 20px #e5091466;transform:translateY(-2px)}.rsvp-cta-content{position:relative;z-index:1}.rsvp-cta-text-upper{font-size:.9rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * 1);letter-spacing:1px;text-transform:uppercase}.rsvp-cta-text-lower{font-size:1.2rem;font-weight:700;color:var(--color-text);letter-spacing:1px;text-transform:uppercase}.rsvp-confirmation-request{margin-top:calc(var(--spacing-unit) * 2)}.rsvp-request-text{font-size:.95rem;color:var(--color-text);line-height:1.6;margin-bottom:calc(var(--spacing-unit) * 1);letter-spacing:1px;text-transform:none}.rsvp-deadline{margin:calc(var(--spacing-unit) * 2) 0}.rsvp-deadline-text{font-size:1.8rem;font-weight:700;color:var(--color-accent);letter-spacing:2px;text-transform:uppercase;text-shadow:0 0 10px rgba(229,9,20,.3)}.rsvp-children-policy{margin-top:calc(var(--spacing-unit) * 4);padding-top:calc(var(--spacing-unit) * 4);border-top:1px solid rgba(255,255,255,.1)}.rsvp-policy-text{font-size:.9rem;color:var(--color-text);line-height:1.6;margin-bottom:calc(var(--spacing-unit) * .5);letter-spacing:1px;text-transform:none}.rsvp-contact-info{margin-top:calc(var(--spacing-unit) * 4);padding-top:calc(var(--spacing-unit) * 4);border-top:1px solid rgba(255,255,255,.1)}.rsvp-contact-item{font-size:1rem;color:var(--color-text);font-weight:600;letter-spacing:1px;margin-bottom:calc(var(--spacing-unit) * 1);text-transform:none}@media (max-width: 768px){.rsvp-invitation-section{padding:calc(var(--spacing-unit) * 6) calc(var(--spacing-unit) * 4);min-height:auto}.rsvp-invitation-container{gap:calc(var(--spacing-unit) * 3)}.rsvp-cta-box{padding:calc(var(--spacing-unit) * 4) calc(var(--spacing-unit) * 3)}.rsvp-cta-text-upper{font-size:.85rem}.rsvp-cta-text-lower{font-size:1.1rem}.rsvp-request-text{font-size:.85rem}.rsvp-deadline-text{font-size:1.4rem}.rsvp-policy-text{font-size:.8rem}.rsvp-contact-item{font-size:.9rem}}.rsvp-container{max-width:700px;margin:0 auto;background-color:var(--color-surface);padding:calc(var(--spacing-unit) * 6);border-radius:var(--card-border-radius)}.form-group{margin-bottom:calc(var(--spacing-unit) * 3)}.form-label{display:block;font-size:.95rem;font-weight:600;margin-bottom:calc(var(--spacing-unit) * 1);color:var(--color-text-secondary)}.form-input,.form-select,.form-textarea{width:100%;padding:calc(var(--spacing-unit) * 2);background-color:var(--color-primary);border:2px solid transparent;border-radius:4px;color:var(--color-text);font-size:1rem;transition:border-color var(--transition-speed)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent)}.form-textarea{resize:vertical;min-height:120px}.form-radio-group{display:flex;gap:calc(var(--spacing-unit) * 3)}.form-radio-label{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 1);cursor:pointer}.form-radio{width:20px;height:20px;accent-color:var(--color-accent)}.form-success{background-color:#00ff001a;border:2px solid rgba(0,255,0,.3);padding:calc(var(--spacing-unit) * 2);border-radius:4px;text-align:center;margin-bottom:calc(var(--spacing-unit) * 3)}.gifts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:calc(var(--spacing-unit) * 3)}.gift-card{background-color:var(--color-surface);border-radius:var(--card-border-radius);overflow:hidden;transition:transform var(--transition-speed)}.gift-card:hover{transform:translateY(-4px)}.gift-image{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;background:linear-gradient(135deg,#2a2a2a,#1f1f1f)}.gift-content{padding:calc(var(--spacing-unit) * 3)}.gift-name{font-size:1.1rem;font-weight:600;margin-bottom:calc(var(--spacing-unit) * 1)}.gift-price{color:var(--color-accent);font-size:1.2rem;font-weight:700;margin-bottom:calc(var(--spacing-unit) * 2)}.gift-description{color:var(--color-text-muted);font-size:.9rem;margin-bottom:calc(var(--spacing-unit) * 2)}.invitation-section{padding:calc(var(--spacing-unit) * 10) calc(var(--spacing-unit) * 6);background-color:var(--color-primary)}.invitation-container{display:grid;grid-template-columns:1fr 1.2fr;gap:calc(var(--spacing-unit) * 8);align-items:center;max-width:1400px;margin:0 auto;min-height:70vh}.invitation-image-wrapper{position:relative;width:100%;height:100%;min-height:600px;overflow:hidden}.invitation-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:opacity .8s ease-in-out,filter var(--transition-speed);position:absolute;top:0;left:0;opacity:1}.invitation-image.fade-out{opacity:0}.invitation-image.fade-in{opacity:1}.invitation-image-wrapper:hover .invitation-image{filter:grayscale(70%)}.invitation-vignette{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,#0000,#0000 30%,#00000026,#0006 70%,#000000b3,#000000e6);pointer-events:none;z-index:1}.invitation-carousel-indicators{position:absolute;bottom:calc(var(--spacing-unit) * 3);left:50%;transform:translate(-50%);display:flex;gap:calc(var(--spacing-unit) * 1.5);z-index:10}.carousel-indicator{width:10px;height:10px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background-color:transparent;cursor:pointer;transition:all var(--transition-speed);padding:0}.carousel-indicator:hover{background-color:#ffffff4d;border-color:#fffc}.carousel-indicator.active{background-color:#fff;border-color:#fff;width:30px;border-radius:5px}.invitation-content{display:flex;flex-direction:column;justify-content:center;padding:calc(var(--spacing-unit) * 4);color:var(--color-text)}.invitation-date{font-size:.9rem;font-weight:400;letter-spacing:2px;margin-bottom:calc(var(--spacing-unit) * 4);text-align:center;color:#ffffffe6}.invitation-title{font-size:clamp(3rem,8vw,5.5rem);font-weight:400;font-style:normal;font-family:Great Vibes,Brush Script MT,Lucida Handwriting,cursive;margin-bottom:calc(var(--spacing-unit) * 6);text-align:center;color:var(--color-text);line-height:1.2;letter-spacing:2px}.invitation-message{margin-bottom:calc(var(--spacing-unit) * 6);line-height:1.8;text-align:center}.invitation-message p{font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:300;letter-spacing:.5px;margin-bottom:calc(var(--spacing-unit) * 1.5);color:#ffffffe6;text-align:center}.highlight-date{color:#ffffffe6;font-weight:500}.invitation-details{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 6);font-size:clamp(1rem,2.2vw,1.3rem);color:#fffc;align-items:center}.invitation-detail-item{display:flex;align-items:center;justify-content:center;gap:calc(var(--spacing-unit) * 2)}.sparkle-icon,.clock-icon{font-size:1rem}.invitation-rsvp-btn{background-color:#fff;color:var(--color-primary);border:none;border-radius:var(--card-border-radius);padding:calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 6);font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:calc(var(--spacing-unit) * 2);transition:all var(--transition-speed);width:100%;max-width:400px;margin:0 auto}.invitation-rsvp-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px #fff3;background-color:#fffffff2}.play-icon{font-size:.8rem;color:var(--color-primary)}.story-text-section{margin-top:calc(var(--spacing-unit) * 12);padding:calc(var(--spacing-unit) * 8) calc(var(--spacing-unit) * 6)}.story-text-section .section-header{text-align:center;margin-bottom:calc(var(--spacing-unit) * 6)}.story-content-wrapper{max-width:900px;margin:0 auto}.story-content{text-align:center}.story-subtitle{font-size:clamp(2rem,5vw,3rem);font-weight:600;margin-bottom:calc(var(--spacing-unit) * 5);color:var(--color-text);font-family:var(--font-primary)}.story-text{text-align:left;max-width:800px;margin:0 auto}.story-text p{font-size:clamp(1rem,2vw,1.15rem);line-height:2;color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * 4);font-weight:300;letter-spacing:.3px}.story-conclusion{font-size:clamp(1.1rem,2.5vw,1.3rem)!important;font-weight:600!important;color:var(--color-text)!important;margin-top:calc(var(--spacing-unit) * 6)!important;padding-top:calc(var(--spacing-unit) * 4);border-top:1px solid rgba(255,255,255,.1);text-align:center!important}.ceremony-locations-section{padding:calc(var(--spacing-unit) * 12) calc(var(--spacing-unit) * 6);background-color:var(--color-primary);position:relative}.ceremony-locations-container{max-width:1400px;margin:0 auto}.ceremony-locations-header{text-align:center;margin-bottom:calc(var(--spacing-unit) * 10)}.ceremony-locations-title{font-size:clamp(2rem,6vw,4rem);font-weight:700;color:red;margin-bottom:calc(var(--spacing-unit) * 3);letter-spacing:2px;text-transform:uppercase;font-family:var(--font-primary);line-height:1.1;display:flex;flex-direction:column;text-shadow:0 0 10px rgba(255,0,0,.3),2px 2px 4px rgba(0,0,0,.8);position:relative}.ceremony-locations-title:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(90deg,transparent,transparent 1px,rgba(0,0,0,.05) 1px,rgba(0,0,0,.05) 2px),repeating-linear-gradient(0deg,transparent,transparent 1px,rgba(0,0,0,.02) 1px,rgba(0,0,0,.02) 2px);pointer-events:none;opacity:.6;mix-blend-mode:multiply}.ceremony-title-line-1,.ceremony-title-line-2{display:block;position:relative}.ceremony-title-line-1{margin-bottom:calc(var(--spacing-unit) * 1)}.ceremony-locations-subtitle{font-size:clamp(.9rem,2vw,1.2rem);color:var(--color-text);font-weight:500;letter-spacing:4px;font-family:var(--font-primary);text-transform:uppercase;margin-top:calc(var(--spacing-unit) * 2)}.ceremony-locations-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--spacing-unit) * 4);margin-top:calc(var(--spacing-unit) * 6)}.ceremony-location-wrapper{display:flex;flex-direction:column}.ceremony-location-card{position:relative;border-radius:var(--card-border-radius);overflow:hidden;transition:transform var(--transition-speed),box-shadow var(--transition-speed);min-height:400px;display:flex;flex-direction:column;justify-content:flex-end}.ceremony-location-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #000c}.ceremony-location-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to top,#000000e6,#0009,#0000004d);z-index:1}.ceremony-location-number{position:absolute;top:calc(var(--spacing-unit) * 3);left:calc(var(--spacing-unit) * 3);font-size:4rem;font-weight:700;color:var(--color-text);z-index:10;text-shadow:2px 2px 8px rgba(0,0,0,.8);line-height:1}.ceremony-location-content{padding:calc(var(--spacing-unit) * 4);text-align:center;position:relative;z-index:10;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,transparent 100%)}.ceremony-location-title{font-size:1.3rem;font-weight:600;color:var(--color-text);margin-bottom:calc(var(--spacing-unit) * 2);text-transform:uppercase;letter-spacing:1px}.ceremony-location-name{font-size:1rem;color:#d4af37;font-weight:500;letter-spacing:.5px;margin-bottom:0}.ceremony-location-btn{background-color:#fff;border:none;color:#000;padding:calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 5);border-radius:var(--card-border-radius);font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:calc(var(--spacing-unit) * 2);transition:all var(--transition-speed);width:100%;margin-top:calc(var(--spacing-unit) * 3);font-family:var(--font-primary)}.ceremony-location-wrapper .ceremony-location-btn{margin-top:calc(var(--spacing-unit) * 3)}.ceremony-location-btn:hover{background-color:#f5f5f5;transform:translateY(-2px);box-shadow:0 4px 12px #fff3}.play-icon-btn{width:20px;height:20px;display:inline-block;flex-shrink:0;color:#000}.wedding-program-section-modern{padding:calc(var(--spacing-unit) * 10) calc(var(--spacing-unit) * 6);background-color:var(--color-primary);position:relative;overflow:hidden}.wedding-program-container-modern{max-width:1400px;margin:0 auto;position:relative;z-index:1}.program-photos-section{margin-bottom:calc(var(--spacing-unit) * 10)}.program-photos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--spacing-unit) * 4);max-width:1000px;margin:0 auto}.program-photo-card{position:relative;aspect-ratio:16/9;border-radius:var(--card-border-radius);overflow:hidden;cursor:pointer;transition:transform .4s cubic-bezier(.5,0,.1,1),z-index 0s linear .4s;animation:fadeInScale .8s ease-out calc(var(--photo-index, 0) * .2s) both}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.program-photo-card:hover,.program-photo-card.active{transform:scale(1.15);z-index:10;transition:transform .4s cubic-bezier(.5,0,.1,1),z-index 0s linear 0s;box-shadow:0 8px 24px #000c}.program-photo-card:not(.active){opacity:.7}.photo-card-inner{position:relative;width:100%;height:100%;overflow:hidden}.photo-card-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}.program-photo-card:hover .photo-card-image,.program-photo-card.active .photo-card-image{transform:scale(1.1)}.photo-card-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.4) 100%);transition:background .6s ease;pointer-events:none}.program-photo-card.active .photo-card-overlay{background:linear-gradient(180deg,transparent 0%,rgba(229,9,20,.2) 100%)}.photo-card-shadow{position:absolute;top:0;left:0;right:0;bottom:0;box-shadow:inset 0 0 60px #0000004d;pointer-events:none}.program-photo-card.active .photo-card-shadow{box-shadow:inset 0 0 60px #e509144d,0 20px 60px #e5091466}.wedding-program-content-modern{max-width:800px;margin:0 auto;text-align:center}.program-badge-modern{display:inline-flex;align-items:center;gap:calc(var(--spacing-unit) * 1.5);padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 4);background-color:var(--color-surface);border:1px solid rgba(229,9,20,.3);border-radius:4px;margin-bottom:calc(var(--spacing-unit) * 5)}.badge-icon{font-size:1.2rem;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.2) rotate(180deg)}}.badge-text{font-size:.85rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--color-accent)}.program-title-container-modern{position:relative;margin-bottom:calc(var(--spacing-unit) * 6)}.program-title-main-modern{font-family:Great Vibes,Brush Script MT,Lucida Handwriting,cursive;font-size:clamp(3rem,8vw,5rem);font-weight:400;color:#fff;line-height:1.1;margin:0 0 calc(var(--spacing-unit) * 2) 0;letter-spacing:-1px;animation:fadeInUp .8s ease-out .2s both}.program-title-subtitle-modern{font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:600;color:var(--color-accent);letter-spacing:4px;text-transform:uppercase;margin:0;font-family:var(--font-primary);animation:fadeInUp .8s ease-out .4s both}.program-title-decoration{width:100px;height:3px;background:linear-gradient(90deg,transparent 0%,var(--color-accent) 50%,transparent 100%);margin:calc(var(--spacing-unit) * 4) auto 0;border-radius:2px;animation:fadeInUp .8s ease-out .6s both}.program-description-modern{font-size:1.1rem;color:var(--color-text-secondary);line-height:1.8;margin-bottom:calc(var(--spacing-unit) * 6);max-width:600px;margin-left:auto;margin-right:auto;animation:fadeInUp .8s ease-out .6s both}.program-buttons-modern{display:flex;gap:calc(var(--spacing-unit) * 3);justify-content:center;flex-wrap:wrap;animation:fadeInUp .8s ease-out .8s both}.program-btn-modern{position:relative;display:inline-flex;align-items:center;gap:calc(var(--spacing-unit) * 2);padding:calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 5);border-radius:var(--card-border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;font-family:var(--font-primary);overflow:hidden;min-width:180px;justify-content:center}.btn-icon-wrapper{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;position:relative;z-index:1}.program-btn-modern svg{width:24px;height:24px;flex-shrink:0;position:relative;z-index:1}.program-btn-modern span{position:relative;z-index:1}.btn-ripple{position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s;pointer-events:none}.program-btn-modern:active .btn-ripple{width:300px;height:300px}.program-btn-primary-modern{background-color:var(--color-accent);color:#fff}.program-btn-primary-modern:hover{background-color:var(--color-accent-hover);transform:translateY(-2px)}.program-btn-secondary-modern{background-color:var(--color-surface);color:#fff;border:1px solid rgba(255,255,255,.3)}.program-btn-secondary-modern:hover{background-color:var(--color-surface-hover);border-color:#ffffff80;transform:translateY(-2px)}@media (max-width: 1024px){.program-photos-grid{grid-template-columns:1fr;gap:calc(var(--spacing-unit) * 3);max-width:500px}.program-photo-card{max-width:400px;margin:0 auto}.program-photo-card:hover,.program-photo-card.active{transform:translateY(-8px) scale(1.02)}}@media (max-width: 768px){.wedding-program-section-modern{padding:calc(var(--spacing-unit) * 10) calc(var(--spacing-unit) * 4)}.program-photos-section{margin-bottom:calc(var(--spacing-unit) * 6)}.program-title-main-modern{font-size:clamp(3rem,12vw,5rem)}.program-buttons-modern{flex-direction:column;width:100%}.program-btn-modern{width:100%}.program-description-modern{font-size:1rem}}.wedding-program-details-section{padding:calc(var(--spacing-unit) * 12) calc(var(--spacing-unit) * 6);background-color:var(--color-primary);min-height:100vh}.program-details-container{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:300px 1fr 300px;gap:calc(var(--spacing-unit) * 6);align-items:start}.program-portrait{position:sticky;top:calc(var(--spacing-unit) * 8);height:-moz-fit-content;height:fit-content}.portrait-image{width:100%;height:auto;filter:grayscale(100%);-o-object-fit:cover;object-fit:cover;border-radius:4px;aspect-ratio:2/3}.program-portrait-left .portrait-image{border-radius:var(--card-border-radius) 0 0 var(--card-border-radius)}.program-portrait-right .portrait-image{border-radius:0 var(--card-border-radius) var(--card-border-radius) 0}.program-events-list{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 8);padding:calc(var(--spacing-unit) * 4) 0}.program-event-item{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 3)}.program-event-image-wrapper{width:100%;height:200px;overflow:hidden;border-radius:var(--card-border-radius)}.program-event-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--transition-speed)}.program-event-item:hover .program-event-image{transform:scale(1.05)}.program-event-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:2px;margin:0;font-family:var(--font-primary)}.program-event-time{font-size:clamp(1.1rem,2vw,1.4rem);font-weight:500;color:gold;margin:0;letter-spacing:1px}.modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000f2;z-index:2000;align-items:center;justify-content:center;padding:calc(var(--spacing-unit) * 3)}.modal.active{display:flex}.modal-content{position:relative;width:100%;max-width:1200px;aspect-ratio:16 / 9}.modal-video{width:100%;height:100%;border-radius:var(--card-border-radius)}.modal-close{position:absolute;top:-50px;right:0;background:transparent;color:var(--color-text);font-size:2rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-speed)}.modal-close:hover{opacity:.7}.footer{background-color:var(--color-surface);padding:calc(var(--spacing-unit) * 4) calc(var(--spacing-unit) * 6);border-top:1px solid rgba(255,255,255,.1)}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:center;align-items:center}.footer-section h3{font-size:1.1rem;margin-bottom:calc(var(--spacing-unit) * 1.5)}.footer-links{list-style:none}.footer-links li{margin-bottom:calc(var(--spacing-unit) * .5)}.footer-links a{color:var(--color-text-muted);transition:color var(--transition-speed);font-size:.9rem}.footer-links a:hover{color:var(--color-text)}.social-links{display:flex;gap:calc(var(--spacing-unit) * 1.5);margin-top:calc(var(--spacing-unit) * 1.5)}.social-link{width:36px;height:36px;border-radius:50%;background-color:#ffffff1a;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-speed)}.social-link:hover{background-color:var(--color-accent)}.footer-contacts{text-align:center;margin-bottom:calc(var(--spacing-unit) * 4)}.footer-contacts-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;font-family:Great Vibes,Brush Script MT,Lucida Handwriting,cursive;color:var(--color-text);margin-bottom:calc(var(--spacing-unit) * 3);letter-spacing:2px}.footer-contacts-list{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 1.5);align-items:center}.footer-contact-item{font-size:1rem;color:var(--color-text);font-weight:500;letter-spacing:.5px;text-transform:none}.footer-bottom{max-width:1200px;margin:calc(var(--spacing-unit) * 3) auto 0;padding-top:calc(var(--spacing-unit) * 2);border-top:1px solid rgba(255,255,255,.1);text-align:center;color:var(--color-text-muted);font-size:.85rem}@media (max-width: 1024px){.carousel-card{flex:0 0 calc(33.333% - calc(var(--spacing-unit) * 1.5))}.invitation-container{grid-template-columns:1fr;gap:calc(var(--spacing-unit) * 6);min-height:auto}.invitation-image-wrapper{min-height:400px;order:2}.invitation-content{order:1}.ceremony-locations-grid{grid-template-columns:repeat(2,1fr);gap:calc(var(--spacing-unit) * 3)}.wedding-program-section{padding:calc(var(--spacing-unit) * 8) calc(var(--spacing-unit) * 4)}.polaroid-photos-wrapper{height:350px}.polaroid-photo img{width:220px;height:280px}.polaroid-photo-2,.polaroid-photo-2 img{width:240px;height:300px}.polaroid-photo-1{transform:rotate(-8deg) translate(-60px)}.polaroid-photo-3{transform:rotate(8deg) translate(60px)}}@media (max-width: 768px){.header-content{padding:0 calc(var(--spacing-unit) * 3)}.nav{position:fixed;top:var(--header-height);left:0;right:0;background-color:var(--color-primary);flex-direction:column;padding:calc(var(--spacing-unit) * 3);transform:translate(-100%);transition:transform var(--transition-speed) ease-in-out;z-index:999;box-shadow:0 4px 10px #0000004d;animation:none;max-height:calc(100vh - var(--header-height));overflow-y:auto}.nav.active{transform:translate(0)}.nav-link{padding:calc(var(--spacing-unit) * 2) 0;border-bottom:1px solid rgba(255,255,255,.1);width:100%;display:block}.nav-link:last-child{border-bottom:none}.nav-link.active:after{display:none}.nav-overlay{position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background-color:#00000080;z-index:998;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.menu-toggle{display:block}.hero-content{padding:calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 3)}.hero-top-info{font-size:1.25rem;gap:calc(var(--spacing-unit) * 1.5)}.hero-label{font-size:1.25rem}.hero-stars{font-size:1.4rem}.hero-title{font-size:clamp(2.5rem,15vw,4rem);letter-spacing:1px;margin-bottom:calc(var(--spacing-unit) * 2)}.hero-subtitle{margin-bottom:calc(var(--spacing-unit) * 1.5);font-size:clamp(1rem,4vw,1.3rem);margin-bottom:calc(var(--spacing-unit) * 3)}.hero-date{font-size:clamp(.9rem,2vw,1.1rem);letter-spacing:2px;margin-top:calc(var(--spacing-unit) * 1.5)}.section,.invitation-section{padding:calc(var(--spacing-unit) * 6) calc(var(--spacing-unit) * 3)}.invitation-image-wrapper{min-height:350px}.invitation-title{font-size:clamp(2.5rem,12vw,4rem);margin-bottom:calc(var(--spacing-unit) * 4)}.invitation-message p{font-size:clamp(1rem,3vw,1.2rem)}.wedding-program-section{padding:calc(var(--spacing-unit) * 6) calc(var(--spacing-unit) * 3)}.polaroid-photos-wrapper{height:280px;margin-bottom:calc(var(--spacing-unit) * 4)}.polaroid-photo img{width:160px;height:200px}.polaroid-photo-2,.polaroid-photo-2 img{width:180px;height:220px}.polaroid-photo-1{transform:rotate(-8deg) translate(-40px)}.polaroid-photo-3{transform:rotate(8deg) translate(40px)}.program-title-main{font-size:clamp(2.5rem,10vw,4rem)}.program-buttons{flex-direction:column;width:100%}.program-btn{width:100%;justify-content:center}.wedding-program-details-section{padding:calc(var(--spacing-unit) * 8) calc(var(--spacing-unit) * 3)}.program-details-container{grid-template-columns:1fr;gap:calc(var(--spacing-unit) * 6)}.program-portrait{position:relative;top:0;display:none}.program-events-list{gap:calc(var(--spacing-unit) * 6)}.program-event-image-wrapper{height:180px}.invitation-rsvp-btn{padding:calc(var(--spacing-unit) * 2.5) calc(var(--spacing-unit) * 4);font-size:clamp(1rem,3vw,1.2rem)}.story-text-section{padding:calc(var(--spacing-unit) * 6) calc(var(--spacing-unit) * 3);margin-top:calc(var(--spacing-unit) * 8)}.story-text{text-align:center}.story-text p{text-align:left;font-size:1rem}.carousel-card{flex:0 0 calc(50% - calc(var(--spacing-unit) * 1));min-width:200px}.ceremony-locations-section{padding:calc(var(--spacing-unit) * 8) calc(var(--spacing-unit) * 3)}.ceremony-locations-title{font-size:clamp(1.8rem,8vw,3.5rem);letter-spacing:2px}.ceremony-locations-subtitle{font-size:clamp(.8rem,2.5vw,1rem);letter-spacing:3px}.ceremony-locations-grid{grid-template-columns:1fr;gap:calc(var(--spacing-unit) * 4)}.ceremony-location-image-wrapper{height:250px}.ceremony-location-number{font-size:3rem}.gifts-grid{grid-template-columns:1fr}.rsvp-container{padding:calc(var(--spacing-unit) * 4)}.hero-actions{flex-direction:column}.btn{width:100%;justify-content:center}}@media (max-width: 480px){.carousel-card{flex:0 0 calc(100% - calc(var(--spacing-unit) * 1))}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lazy-load{opacity:0;transition:opacity .5s}.lazy-load.loaded{opacity:1}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
