@import"https://fonts.googleapis.com/css2?family=Marcellus&family=Cormorant+Upright:wght@300;400;500;600;700&family=Great+Vibes&display=swap";.cover-page{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:9999;overflow:hidden}.cover-image-container{position:absolute;top:0;right:0;bottom:0;left:0}.cover-image{width:100%;height:100%;object-fit:cover;object-position:center top}.cover-page:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(20,15,10,.72) 0%,rgba(20,15,10,.35) 40%,transparent 65%);pointer-events:none}.cover-content{position:absolute;bottom:0;left:0;right:0;z-index:2;height:40%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 24px clamp(72px,12vh,96px);text-align:center;gap:6px}@media (max-width: 576px){.cover-content{padding-bottom:clamp(96px,18vh,140px)}}.cover-greeting{font-family:var(--font-body);font-size:14px;font-weight:400;color:#ffffffd1;letter-spacing:.5px;margin:0}.cover-guest-name{font-family:var(--font-body);font-size:16px;font-weight:500;color:#fff;margin:0 0 16px}.open-invitation-btn{font-size:15px;padding:13px 36px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.hero-section{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(to bottom,var(--cream),var(--soft-white))}.hero-images{display:flex;gap:1px;position:relative;margin-bottom:40px;max-width:90vw}.hero-image-wrapper{width:200px;height:280px;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #5a4a4a26;position:relative;border:4px solid var(--soft-white);will-change:opacity,transform;opacity:0}.hero-image{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .5s ease}.hero-image-wrapper:hover .hero-image{transform:scale(1.1)}.hero-content{text-align:center;max-width:800px;will-change:opacity,transform}.hero-subtitle{font-size:24px;color:var(--brown);margin-bottom:20px;font-family:var(--font-script)}.hero-title{font-family:var(--font-body);font-size:32px;line-height:1.3;margin:0}.hero-title .bride-name,.hero-title .groom-name{display:block;font-weight:450;background:var(--dark-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-title .separator{display:block;font-size:48px;margin-top:20px;font-family:var(--font-script);color:var(--warm-gray)}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.hero-section.ready .hero-image-wrapper{animation:heroFadeUp .6s cubic-bezier(.22,1,.36,1) forwards}.hero-section.ready .hero-images :nth-child(1){animation-delay:.1s}.hero-section.ready .hero-images :nth-child(2){animation-delay:.22s}.hero-section.ready .hero-images :nth-child(3){animation-delay:.34s}.hero-section.ready .hero-content{animation:heroFadeUp .6s cubic-bezier(.22,1,.36,1) .44s forwards}.floating-ornaments{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;z-index:0}.ornament{position:absolute;font-size:48px;color:var(--accent-rose);opacity:.8}.ornament-1{top:15%;left:10%;animation:float 4s ease-in-out 1.2s infinite}.ornament-2{top:20%;right:15%;animation:float 5s ease-in-out 1.8s infinite}.ornament-3{bottom:25%;left:15%;animation:float 4.5s ease-in-out 2.4s infinite}.ornament-4{bottom:30%;right:10%;animation:float 5.5s ease-in-out 3s infinite}@media (min-width: 1100px){.hero-section{padding:60px 20px 40px}.hero-images{gap:1px;margin-bottom:32px}.hero-image-wrapper{width:clamp(120px,15vw,200px);height:clamp(168px,21vw,280px)}.hero-image-wrapper.main-image{width:clamp(120px,15vw,200px);height:clamp(168px,21vw,280px);margin-top:0;box-shadow:0 15px 40px #5a4a4a33}.hero-title{font-size:clamp(40px,6vw,48px)}.hero-title .separator{font-size:clamp(32px,5vw,48px)}}@media (max-width: 576px){.hero-section{padding:100px 20px 60px}.hero-images{gap:1px;margin-bottom:40px}.hero-image-wrapper{width:100px;height:150px}.hero-image-wrapper.main-image{width:140px;height:190px;margin-top:-25px}.hero-subtitle{font-size:28px}.hero-title,.hero-title .separator,.ornament{font-size:32px}}.love-story-section{background:linear-gradient(to bottom,var(--beige),var(--primary-sky));position:relative}.love-story-header{margin-bottom:28px}.love-story-header .section-subtitle{font-size:32px;font-style:italic;margin-top:10px}.carousel-outer{width:100%}.carousel-viewport{width:100%;overflow:hidden;border-radius:24px}.carousel-track{display:flex;gap:24px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;padding:24px calc(50% - 250px)}.carousel-track::-webkit-scrollbar{display:none}.story-card{flex:0 0 clamp(200px,50vw,340px);height:clamp(550px,100vh,420px);border-radius:20px;overflow:hidden;position:relative;background:var(--card-gradient);cursor:pointer;transform:scale(.93);opacity:.55;transition:transform .4s cubic-bezier(.25,.46,.45,.94),opacity .4s ease,box-shadow .4s ease;will-change:transform,opacity}.story-card.active{transform:scale(1);opacity:1;cursor:default;box-shadow:0 20px 50px #5a4a4a38}.card-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:top center;transition:opacity .3s ease}.card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;padding:28px 22px 24px;background:linear-gradient(to top,rgba(30,15,15,.88) 0%,rgba(30,15,15,.45) 50%,transparent 100%)}.card-year{display:block;font-family:var(--font-body);font-size:16px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--accent-gold);margin-bottom:6px}.card-title{font-family:var(--font-body);font-size:22px;font-weight:700;color:#fff;margin:0 0 8px;line-height:1.2}.card-desc{font-family:var(--font-heading);font-size:13px;line-height:1.65;color:#ffffffd1;margin:0}.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:28px}.dot{width:8px;height:8px;border-radius:50%;border:none;background:var(--primary-pink);opacity:.35;cursor:pointer;transition:opacity .3s ease,transform .3s ease,width .3s ease;padding:0}.dot.active{opacity:1;width:8px;height:8px;border-radius:50%;background:var(--primary-pink-strong);transform:none}@media (max-width: 576px){.love-story-section.section-padding{padding-top:28px;padding-bottom:24px}.love-story-section .section-title{font-size:28px;margin-bottom:20px}.love-story-section .section-subtitle{font-size:18px;margin-top:8px}.love-story-section .ornament-divider{margin:10px 0;font-size:18px}.love-story-header{margin-bottom:10px}.story-card{flex:0 0 clamp(280px,40vw,240px);height:clamp(380px,20vh,380px)}.carousel-track{gap:14px;padding:8px calc(50% - 110px)}.card-title{font-size:18px}.card-desc{font-size:12px}.carousel-dots{margin-top:16px}}@media (max-width: 320px){.love-story-section.section-padding{padding-top:20px;padding-bottom:16px}.love-story-section .section-title{font-size:22px;margin-bottom:14px}.love-story-section .section-subtitle{font-size:15px;margin-top:6px}.love-story-section .ornament-divider{margin:6px 0;font-size:14px}.love-story-header{margin-bottom:8px}.story-card{flex:0 0 clamp(240px,85vw,260px);height:clamp(320px,55vh,340px)}.carousel-track{gap:10px;padding:6px calc(50% - 120px)}.card-title{font-size:15px}.card-desc{font-size:11px}.carousel-dots{margin-top:12px}}@media (min-width: 1100px){.love-story-section.section-padding{padding-top:28px;padding-bottom:24px}.love-story-section .section-title{font-size:28px;margin-bottom:20px}.love-story-section .section-subtitle{font-size:24px;margin-top:8px}.love-story-section .ornament-divider{margin:10px 0;font-size:18px}.love-story-header{margin-bottom:10px}.story-card{flex:0 0 clamp(280px,40vw,240px);height:clamp(380px,20vh,380px)}.carousel-track{gap:14px;padding:8px calc(50% - 110px)}.card-title{font-size:18px}.card-desc{font-size:12px}.carousel-dots{margin-top:16px}}.person-section{position:relative;width:100%;height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;overflow:hidden;scroll-snap-align:start}.groom-section{background:linear-gradient(160deg,#eef6fb,#daedf7 40%,#f5f0eb)}.floral-panel{position:absolute;top:0;height:100%;width:clamp(100px,14vw,180px);pointer-events:none;display:flex;align-items:stretch;will-change:transform,opacity;transform-origin:bottom center}.floral-panel--left{left:0}.floral-panel--right{right:0}.floral-svg{width:100%;height:100%;overflow:visible}.person-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:0;width:100%;max-width:480px;padding:40px 20px 32px;text-align:center}.person-badge{font-family:var(--font-script);font-size:26px;color:var(--warm-gray);letter-spacing:1px;margin-bottom:28px;opacity:.85}.person-image-wrapper{width:min(64vw,300px);aspect-ratio:3 / 4;border-radius:50% 50% 8px 8px/40% 40% 8px 8px;overflow:hidden;box-shadow:0 20px 60px #5a4a4a2e;margin-bottom:32px}.person-image{width:100%;height:100%;object-fit:cover;object-position:top center}.person-content{display:flex;flex-direction:column;align-items:center;gap:10px}.person-name{font-family:var(--font-body);font-size:clamp(18px,8vw,28px);font-weight:400;color:var(--dark-text);line-height:1.15;margin:0}.person-parents{font-family:var(--font-body);font-size:18px;color:var(--dark-text);line-height:1.7;margin:4px 0 8px}.person-social{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--warm-gray);text-decoration:none;padding:8px 18px;border-radius:20px;border:1px solid rgba(90,74,74,.2);transition:all .25s ease}.person-social:hover{background:var(--primary-pink);border-color:var(--primary-pink);color:#fff;transform:translateY(-2px)}@media (min-width: 992px){.person-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:0;width:100%;max-width:480px;text-align:center;max-height:100%}}.bride-section{background:linear-gradient(160deg,#fff5f8,#fde8ef 40%,#f5f0eb)}.bride-section .floral-top-left,.bride-section .floral-bottom-right{opacity:.15}.save-date-section{background:linear-gradient(to bottom,var(--accent-sage),var(--soft-white));text-align:center}.countdown-container{display:flex;justify-content:center;align-items:center;margin:50px 0;flex-wrap:nowrap;gap:12px}.countdown-item{background:var(--warm-grey);border-radius:15px;padding:15px;min-width:0;flex:0 0 clamp(60px,18vw,110px);box-shadow:0 10px 30px #5a4a4a1a;border:3px solid var(--primary-pink);transition:all .3s ease}.countdown-item:hover{transform:translateY(-10px) scale(1.05);box-shadow:0 15px 40px #ffc4d64d}.countdown-value{font-size:32px;font-weight:700;background:linear-gradient(135deg,var(--dark-text),var(--peach));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:var(--font-heading)}.countdown-label{font-size:8px;color:var(--dark-text);margin-top:10px;text-transform:uppercase;letter-spacing:1px;font-weight:500}.ornament-couple{margin:40px 0}.ornament-couple img{max-width:200px;height:auto}.add-calendar-btn.btn{display:inline-flex;align-items:center;gap:8px;margin-top:20px}@media (max-width: 480px){.countdown-container{gap:8px}.countdown-value{font-size:24px}}.event-details-section{background:linear-gradient(to bottom,var(--cream),var(--soft-white));text-align:center;display:flex;align-items:center;justify-content:center}.event-details-section .container{width:100%;display:flex;flex-direction:column;align-items:center;gap:2px}.event-details-section .ornament-divider{margin:0;font-size:18px}.event-details-section .section-title{font-size:26px;margin:0}.event-cards-container{max-width:520px;width:100%;margin:clamp(4px,1vh,16px) auto}.event-card{background:var(--soft-white);border-radius:24px;padding:clamp(24px,4vh,40px) 32px;box-shadow:0 15px 40px #5a4a4a1a;position:relative;overflow:hidden;border:3px solid var(--primary-lavender)}.event-ornaments{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none}.event-ornaments .ornament{position:absolute;font-size:32px;color:var(--primary-pink-strong);opacity:.3}.event-ornaments .ornament.top{top:20px;right:20px;animation:float 4s ease-in-out infinite}.event-ornaments .ornament.bottom{bottom:20px;left:20px;animation:float 4s ease-in-out infinite;animation-delay:2s}.event-icon{color:var(--primary-pink);margin-bottom:5px}.event-day{font-size:32px;font-family:var(--font-heading);color:var(--dark-text);margin-bottom:10px}.event-date-large{display:flex;justify-content:center;align-items:center;gap:16px;margin:16px 0}.date-day,.date-month,.date-year{font-size:clamp(48px,10vw,64px);font-weight:700;font-family:var(--font-heading);background:linear-gradient(135deg,var(--primary-pink),var(--accent-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.event-type{margin:16px 0 10px}.event-type h3{font-size:26px;color:var(--dark-text);margin-bottom:6px}.event-time{display:inline-flex;align-items:center;gap:10px;background:var(--cream);padding:10px 20px;border-radius:25px;color:var(--dark-text);font-weight:500;margin:10px 0}.event-venue{margin:16px 0}.event-venue h4{font-size:22px;color:var(--dark-text);margin-bottom:10px}.venue-address{font-size:15px;color:var(--warm-gray);line-height:1.6;max-width:400px;margin:0 auto}.view-map-btn.btn{display:inline-flex;align-items:center;gap:8px;margin-top:20px}.event-note{margin-top:20px;font-size:16px;color:var(--warm-gray);font-style:italic}@media (min-width: 577px){.event-details-section.section-padding{padding-top:24px;padding-bottom:20px}.event-cards-container{margin:2px auto}.event-card{padding:16px}.event-icon{margin-bottom:2px}.event-date-large{gap:10px;margin:0}.event-type{margin:10px 0 6px}.event-type h3{font-size:20px}.event-time{padding:8px 14px;margin:10 0;font-size:20px}.venue-address{font-size:13px;margin-bottom:0}.event-venue{margin:10px 0}.view-map-btn.btn{margin-top:0}}@media (max-width: 576px){.event-details-section.section-padding{padding-top:24px;padding-bottom:20px}.event-cards-container{margin:2px auto}.event-card{padding:16px}.event-icon{margin-bottom:10px}.event-day{font-size:16px;margin-bottom:6px}.event-date-large{gap:10px;margin:10px 0}.event-type{margin:10px 0 6px}.event-type h3{font-size:20px}.event-time{padding:8px 14px;margin:6px 0;font-size:18px}.event-venue{margin:10px 0}.event-venue h4{font-size:17px;margin-bottom:6px}.venue-address{font-size:13px}.view-map-btn{margin-top:12px}.event-note{margin-top:12px;font-size:13px}.event-details-section .ornament-divider{margin:10px 0;font-size:18px}.event-details-section .section-title{font-size:26px;margin-bottom:0}}.gallery-section{background:linear-gradient(to bottom,var(--pastel-yellow),#f9d5f6);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;overflow:hidden}.gallery-header{padding-top:clamp(20px,4vh,40px);padding-bottom:8px;flex-shrink:0}.gallery-section .section-title .section-subtitle{color:var(--dark-text)}.gallery-hero{position:relative;width:min(92vw,560px);flex:1;min-height:0;max-height:clamp(360px,62svh,680px);overflow:hidden;border-radius:20px;box-shadow:0 24px 64px #f4cc6599;cursor:pointer;margin:clamp(12px,2vh,24px) 0 0;display:flex;align-items:center;justify-content:center}.hero-card{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;overflow:hidden;will-change:transform,opacity;display:flex;align-items:center;justify-content:center}.hero-card img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.hero-overlay{position:absolute;bottom:0;left:0;right:0;padding:5px 16px 14px;background:linear-gradient(to top,rgba(244,204,101,.45) 0%,transparent 100%);pointer-events:none;z-index:10}.hero-counter{font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#fff9}.hero-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff26;z-index:11;pointer-events:none}.hero-progress-bar{height:100%;background:var(--primary-pink-strong);width:0%;animation:progressFill linear forwards}.gallery-hero:hover .hero-progress-bar{animation-play-state:paused}@keyframes progressFill{0%{width:0%}to{width:100%}}.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff26;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background .2s ease;z-index:12}.hero-arrow:hover{background:#d4547a99}.hero-arrow--left{left:12px}.hero-arrow--right{right:12px}.thumb-strip{overflow:hidden;padding:clamp(10px,1.5vh,16px) 0;flex-shrink:0;width:100%;max-width:min(92vw,560px);box-sizing:border-box}.thumb-track{display:flex;gap:8px;width:max-content}.thumb{flex:0 0 clamp(52px,12vw,72px);height:clamp(52px,12vw,72px);border-radius:10px;overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;transition:border-color .2s ease,transform .2s ease,opacity .2s ease;opacity:.5;background:none}.thumb img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.thumb--active{border-color:var(--primary-pink-strong);opacity:1;transform:scale(1.08)}.thumb:hover:not(.thumb--active){opacity:.8}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f5;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-close{position:absolute;top:20px;right:20px;background:var(--soft-white);border:none;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--dark-text);transition:all .3s ease;z-index:10001}.lightbox-close:hover{background:var(--primary-pink-strong);color:#fff;transform:rotate(90deg)}.lightbox-content{max-width:90vw;max-height:90vh;animation:zoomIn .25s ease}@keyframes zoomIn{0%{transform:scale(.88);opacity:0}to{transform:scale(1);opacity:1}}.lightbox-content img{display:block;max-width:100%;max-height:90vh;width:auto;height:auto;border-radius:10px;box-shadow:0 20px 60px #ffffff1a}.digital-envelope-section{background:linear-gradient(to bottom,var(--soft-white),var(--cream));text-align:center}.bank-accounts-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:900px;margin:50px auto}.bank-account-card{background:var(--soft-white);border-radius:25px;padding:40px 30px;box-shadow:0 10px 30px #5a4a4a1a;border:2px solid var(--primary-lavender);transition:all .3s ease}.bank-account-card:hover{transform:translateY(-10px);box-shadow:0 15px 40px #5a4a4a26}.card-icon{width:70px;height:70px;margin:0 auto 20px;background:linear-gradient(135deg,var(--primary-pink),var(--accent-purple));border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--soft-white)}.bank-name{font-size:20px;font-weight:600;color:var(--dark-text);margin-bottom:25px;text-transform:uppercase;letter-spacing:1px}.account-info{margin:15px 0;text-align:left}.account-info label{display:block;font-size:13px;color:var(--warm-gray);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.account-number,.account-name{font-size:18px;font-weight:600;color:var(--dark-text);background:var(--cream);padding:12px 15px;border-radius:10px;font-family:monospace}.account-name{font-family:var(--font-body)}.copy-btn{width:100%;margin-top:20px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-success{background:var(--accent-sage);color:var(--dark-text);border:2px solid var(--accent-sage)}.btn-success:hover{background:var(--accent-sage);color:var(--dark-text)}@media (max-width: 768px){.bank-accounts-container{grid-template-columns:1fr;gap:20px}.bank-account-card{padding:30px 20px}}.rsvp-section{background:linear-gradient(to bottom,var(--cream),var(--soft-white));display:flex;align-items:center;justify-content:center;padding:clamp(32px,6vh,64px) 20px}.rsvp-inner{width:100%;max-width:560px;display:flex;flex-direction:column;align-items:center;gap:12px;min-height:0;flex:1;max-height:100%}.rsvp-inner .ornament-divider{margin:0;color:var(--brown);font-size:22px}.rsvp-title{font-family:var(--font-heading);font-size:clamp(28px,4vw,38px);color:var(--dark-text);text-align:center;margin:0}.rsvp-subtitle{font-size:14px;line-height:1.6;color:var(--warm-gray);text-align:center;margin:0 0 8px;max-width:440px}.rsvp-card{width:100%;background:var(--soft-white);border-radius:20px;box-shadow:0 10px 30px #4a37281a;padding:24px;display:flex;flex-direction:column;gap:18px}.rsvp-greeting{text-align:center}.rsvp-greeting p{margin:0;font-size:14px;line-height:1.6;color:var(--dark-text)}.rsvp-greeting strong{color:var(--brown);font-weight:600}.rsvp-pax-info{margin-top:4px!important;color:var(--warm-gray)!important;font-size:13px!important}.rsvp-field{display:flex;flex-direction:column;gap:6px}.rsvp-field label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brown)}.rsvp-field select{width:100%;padding:11px 14px;border:1.5px solid var(--beige);border-radius:10px;font-family:var(--font-body);font-size:14px;color:var(--dark-text);background:var(--cream);transition:border-color .2s ease,background .2s ease;cursor:pointer}.rsvp-field select:focus{outline:none;border-color:var(--brown-light);background:var(--soft-white)}.rsvp-field select:disabled{opacity:.5;cursor:not-allowed}.rsvp-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rsvp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:1.5px solid var(--beige);border-radius:50px;background:var(--cream);color:var(--dark-text);font-family:var(--font-body);font-size:14px;font-weight:500;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.rsvp-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #7a4f2e26}.rsvp-btn:disabled{opacity:.6;cursor:not-allowed}.rsvp-btn-attend.is-active{background:linear-gradient(135deg,var(--peach),var(--brown-light));border-color:transparent;color:var(--soft-white);box-shadow:0 4px 12px #7a4f2e40}.rsvp-btn-decline.is-active{background:var(--brown);border-color:transparent;color:var(--soft-white);box-shadow:0 4px 12px #4a372840}.rsvp-status{margin:0;text-align:center;font-size:13px;color:var(--warm-gray);font-style:italic;line-height:1.5}@media (min-width: 577px){.rsvp-card{padding:28px 32px;gap:22px}}@media (max-width: 400px){.rsvp-card{padding:20px}.rsvp-actions{grid-template-columns:1fr}}.rsvp-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.rsvp-modal{background:var(--soft-white);border-radius:20px;padding:clamp(20px,4vh,40px);box-shadow:0 20px 60px #0000004d;width:100%;max-width:380px;text-align:center}.rsvp-modal h3{font-family:var(--font-heading);font-size:clamp(20px,3vw,26px);color:var(--dark-text);margin:0 0 8px}.rsvp-modal p{font-size:13px;color:var(--warm-gray);margin:0 0 16px}.rsvp-modal input{width:100%;padding:11px 14px;border:1.5px solid var(--beige);border-radius:10px;font-family:var(--font-body);font-size:14px;color:var(--dark-text);background:var(--cream);margin-bottom:16px;transition:border-color .2s ease}.rsvp-modal input:focus{outline:none;border-color:var(--brown-light);background:var(--soft-white)}.rsvp-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rsvp-modal-btn{padding:11px 16px;border:1.5px solid var(--beige);border-radius:50px;background:var(--cream);color:var(--dark-text);font-family:var(--font-body);font-size:14px;font-weight:500;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease}.rsvp-modal-btn:hover:not(:disabled){transform:translateY(-1px)}.rsvp-modal-btn:disabled{opacity:.6;cursor:not-allowed}.rsvp-modal-cancel{border-color:var(--beige);background:var(--cream);color:var(--warm-gray)}.rsvp-modal-confirm{background:linear-gradient(135deg,var(--peach),var(--brown-light));border-color:transparent;color:var(--soft-white);box-shadow:0 4px 12px #7a4f2e33}.rsvp-modal-confirm:hover:not(:disabled){box-shadow:0 6px 16px #7a4f2e47}.wedding-wishes-section{background:linear-gradient(to bottom,var(--soft-white),var(--cream));display:flex;align-items:center;justify-content:center;padding:clamp(32px,6vh,64px) 20px}.wishes-inner{width:100%;max-width:560px;display:flex;flex-direction:column;align-items:center;gap:12px;min-height:0;flex:1;max-height:100%}.wishes-inner .ornament-divider{margin:0;color:var(--brown);font-size:22px}.wishes-title{font-family:var(--font-heading);font-size:clamp(28px,4vw,38px);color:var(--dark-text);text-align:center;margin:0}.wishes-subtitle{font-size:14px;line-height:1.6;color:var(--warm-gray);text-align:center;margin:0 0 8px;max-width:440px}.wishes-card{width:100%;background:var(--soft-white);border-radius:20px;box-shadow:0 10px 30px #4a37281a;padding:24px;display:flex;flex-direction:column;gap:18px;flex:1;min-height:0;overflow:hidden}.wishes-form{display:flex;flex-direction:column;gap:10px}.wishes-form input,.wishes-form textarea{width:100%;padding:11px 14px;border:1.5px solid var(--beige);border-radius:10px;font-family:var(--font-body);font-size:14px;color:var(--dark-text);background:var(--cream);transition:border-color .2s ease,background .2s ease}.wishes-form input:focus,.wishes-form textarea:focus{outline:none;border-color:var(--brown-light);background:var(--soft-white)}.wishes-form textarea{resize:none;min-height:72px;font-family:var(--font-body)}.wishes-submit{align-self:flex-end;display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border:none;border-radius:50px;background:linear-gradient(135deg,var(--peach),var(--brown-light));color:var(--soft-white);font-family:var(--font-body);font-size:14px;font-weight:500;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 12px #7a4f2e33}.wishes-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #7a4f2e47}.wishes-submit:disabled{opacity:.6;cursor:not-allowed}.wishes-list-wrapper{flex:1;min-height:0;display:flex;flex-direction:column;border-top:1px solid var(--beige);padding-top:14px}.wishes-list-header{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brown);margin-bottom:10px;flex-shrink:0}.wishes-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:6px;display:flex;flex-direction:column;gap:14px;-webkit-overflow-scrolling:touch}.wishes-list::-webkit-scrollbar{width:6px}.wishes-list::-webkit-scrollbar-track{background:var(--cream);border-radius:10px}.wishes-list::-webkit-scrollbar-thumb{background:var(--peach);border-radius:10px}.wishes-list::-webkit-scrollbar-thumb:hover{background:var(--brown-light)}.wish-item{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:12px;background:var(--cream)}.wish-avatar{flex-shrink:0;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--peach),var(--brown-light));display:flex;align-items:center;justify-content:center;color:var(--soft-white);font-family:var(--font-heading);font-weight:600;font-size:16px}.wish-body{flex:1;min-width:0;text-align:left}.wish-meta{display:flex;align-items:center;gap:6px;font-size:13px;margin-bottom:4px}.wish-name{font-weight:600;color:var(--dark-text)}.wish-dot{color:var(--warm-gray)}.wish-date{color:var(--warm-gray);font-size:12px}.wish-message{font-size:13.5px;line-height:1.55;color:var(--dark-text);margin:0;word-wrap:break-word}.no-wishes{text-align:center;color:var(--warm-gray);font-style:italic;padding:24px 12px;margin:0}@media (min-width: 577px){.wishes-card{padding:28px 32px;gap:22px}}@media (max-width: 400px){.wishes-card{padding:20px}.wishes-submit{width:100%;justify-content:center}}.thank-you-section{background:linear-gradient(135deg,var(--cream) 0%,var(--soft-white) 60%,var(--primary-lavender) 100%);display:flex;align-items:center;justify-content:center;padding:clamp(20px,4vh,48px) clamp(16px,4vw,48px)}.ty-inner{width:100%;max-width:860px;display:flex;align-items:center;gap:clamp(20px,4vw,48px)}.ty-left{flex:0 0 auto}.ty-images{display:flex;align-items:flex-end;gap:clamp(6px,1.2vw,12px)}.ty-img{border-radius:16px;overflow:hidden;box-shadow:0 8px 24px #5a4a4a26;border:3px solid var(--soft-white);flex-shrink:0}.ty-img img{width:100%;height:100%;object-fit:cover;display:block}.ty-img-side{width:clamp(72px,10vw,110px);height:clamp(100px,20vh,180px)}.ty-img-main{width:clamp(90px,13vw,140px);height:clamp(130px,26vh,230px)}.ty-right{flex:1;display:flex;flex-direction:column;gap:clamp(8px,1.5vh,16px);text-align:left}.ty-right .ornament-divider{margin:0;font-size:18px;color:var(--brown);text-align:left}.ty-title{font-family:var(--font-heading);font-size:clamp(28px,4.5vw,52px);color:var(--dark-text);margin:0;line-height:1.1}.ty-text{font-size:clamp(13px,1.6vw,15px);line-height:1.7;color:var(--warm-gray);margin:0}.ty-signature{font-family:var(--font-script);font-size:clamp(28px,4vw,44px);line-height:1}.ty-bride,.ty-groom{color:var(--primary-pink)}.ty-amp{margin:0 8px;color:var(--warm-gray)}.ty-sub{font-size:clamp(11px,1.4vw,13px);text-transform:uppercase;letter-spacing:.12em;color:var(--brown);margin:0}.ty-credit{font-size:12px;color:var(--warm-gray);margin:0;padding-top:clamp(6px,1vh,12px);border-top:1px solid var(--beige)}@media (max-width: 576px){.ty-inner{flex-direction:column;gap:clamp(16px,3vh,28px)}.ty-right{text-align:center;align-items:center}.ty-right .ornament-divider{text-align:center}.ty-img-side{width:clamp(64px,20vw,90px);height:clamp(88px,18vh,130px)}.ty-img-main{width:clamp(80px,25vw,115px);height:clamp(110px,22vh,165px)}}@media (max-width: 320px){.ty-img-side{width:56px;height:78px}.ty-img-main{width:72px;height:100px}.ty-title{font-size:24px}.ty-signature{font-size:26px}}.music-player{position:fixed;bottom:30px;right:30px;z-index:1000}.music-controls{display:flex;gap:10px;background:var(--soft-white);padding:12px;border-radius:50px;box-shadow:0 10px 30px #5a4a4a33;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.music-btn{width:45px;height:45px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--primary-pink-strong),var(--accent-rose));color:var(--soft-white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ffb3c74d}.music-btn:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 6px 20px #ffb3c766}.music-btn:active{transform:translateY(-1px) scale(.98)}.music-note-animation{position:absolute;top:-40px;right:10px;pointer-events:none}.note{position:absolute;font-size:20px;color:var(--accent-rose);animation:floatNote 3s ease-in-out infinite;opacity:0}.note:nth-child(1){animation-delay:0s;right:2px}.note:nth-child(2){animation-delay:1s;right:10px}.note:nth-child(3){animation-delay:2s;right:15px}@keyframes floatNote{0%{transform:translateY(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-50px);opacity:0}}@media (max-width: 768px){.music-player{bottom:8px;right:8px}.music-controls{padding:10px}.music-btn{width:25px;height:25px}}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--primary-lavender) 0%,var(--primary-pink) 50%,var(--primary-peach) 100%);display:flex;align-items:center;justify-content:center;z-index:99999;animation:loadingFadeOut .4s ease-out both}.loading-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.loading-ornament{font-size:40px;color:var(--soft-white);animation:loadingSpin 2s ease-in-out infinite}.loading-title{font-family:var(--font-script);font-size:28px;color:var(--soft-white);letter-spacing:2px}.loading-dots{display:flex;gap:8px}.loading-dots span{width:8px;height:8px;border-radius:50%;background:var(--soft-white);animation:loadingBounce 1.2s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes loadingSpin{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.2)}}@keyframes loadingBounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-10px);opacity:1}}@keyframes loadingFadeOut{0%{opacity:1}to{opacity:1}}.not-found-page{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#f9f4ef,#f0e8e0,#faf5f0);font-family:var(--font-body);z-index:9999}.not-found-inner{text-align:center;padding:48px 32px;display:flex;flex-direction:column;align-items:center;gap:12px}.not-found-ornament{font-size:28px;color:var(--primary-pink);opacity:.7}.not-found-code{font-family:var(--font-heading);font-size:clamp(72px,20vw,120px);font-weight:700;line-height:1;margin:0;background:linear-gradient(135deg,var(--primary-pink),var(--accent-purple, #c9b8e8));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.not-found-title{font-family:var(--font-script);font-size:clamp(24px,6vw,36px);color:var(--dark-text);margin:0}.not-found-message{font-size:14px;color:var(--warm-gray);line-height:1.7;margin:8px 0 0}.App{background:var(--cream)}.invitation-wrapper{height:100svh;overflow-y:scroll;scroll-snap-type:y mandatory;animation:invitationReveal .6s ease-out both}@supports not (height: 100svh){.invitation-wrapper{height:100dvh}}.invitation-wrapper>section{height:100svh;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden}@supports not (height: 100svh){.invitation-wrapper>section{height:100vh}}@keyframes invitationReveal{0%{opacity:0}to{opacity:1}}.made-with-love{position:fixed;bottom:12px;left:14px;font-size:10px;color:var(--warm-gray);opacity:.55;pointer-events:none;z-index:50;letter-spacing:.03em}*{margin:0;padding:0;box-sizing:border-box}:root{--peach: #FFC699;--beige: #F8DCC4;--pale-yellow: #F8E8B4;--pastel-yellow:#FBF8CB;--cream: #FBF4D8;--brown: #7A4F2E;--brown-light: #A0693A;--soft-white: #ffffff;--warm-gray: #9b8680;--dark-text: #4a3728;--primary-pink: var(--peach);--primary-pink-strong: var(--brown);--primary-lavender: var(--beige);--primary-mint: var(--pale-yellow);--primary-peach: var(--peach);--primary-sky: var(--pastel-yellow);--accent-rose: var(--peach);--accent-purple: var(--beige);--accent-gold: var(--pale-yellow);--accent-sage: var(--pastel-yellow);--font-heading: "Marcellus", serif;--font-script: "Great Vibes", cursive;--font-body: "Cormorant Upright", serif}body{font-family:var(--font-body);background-color:var(--cream);color:var(--dark-text);overflow-x:hidden;line-height:1.6}html{scroll-behavior:smooth;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--peach);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--brown-light)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--dark-text)}.script-font{font-family:var(--font-script)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.text-center{text-align:center}.section-padding{padding:80px 20px}.btn{padding:12px 32px;border:none;border-radius:50px;font-family:var(--font-body);font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.btn-primary{background:linear-gradient(135deg,var(--peach),var(--brown-light));color:var(--soft-white);box-shadow:0 4px 15px #7a4f2e33}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7a4f2e4d}.btn-secondary{background:var(--soft-white);color:var(--dark-text);border:2px solid var(--peach)}.btn-secondary:hover{background:var(--peach);color:var(--dark-text)}.card{background:var(--beige);border-radius:20px;padding:30px;box-shadow:0 10px 30px #4a372814;transition:transform .3s ease}.card:hover{transform:translateY(-5px)}.ornament-divider{text-align:center;margin:40px 0;color:var(--primary-pink-strong);font-size:18px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.fade-in-up{animation:fadeInUp .8s ease-out}.floating{animation:float 3s ease-in-out infinite}.section-title{text-align:center;font-size:42px;margin-bottom:30px;color:var(--dark-text)}.section-subtitle{font-size:16px;line-height:1.8;color:var(--warm-gray);margin-top:20px}@media (max-width: 768px){.section-padding{padding:60px 20px}h1{font-size:2rem}h2{font-size:1.75rem}}
