@font-face{font-family:Grap;src:url(/assets/grap-fNIaImxg.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:GrapBold;src:url(/assets/grap_bold-Bczt9RJU.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:Sign;src:url(/assets/sign-OlLJMgUW.ttf) format("truetype");font-weight:400;font-style:normal}body{margin:0;font-family:Lato,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{width:100%;min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}.wedding-container{width:60vw;margin:0 auto;overflow-x:hidden}.hero-section{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}.footer{width:100%;background:#fff;position:relative;overflow:hidden}.footer-content{width:100%;max-width:1400px;margin:0 auto}.footer-image-container{position:relative;width:100%;height:600px;overflow:hidden}.footer-image{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.footer-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#ffffff1a,#ffffff4d,#ffffff80);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;z-index:10}.footer-thank-you{margin-bottom:1.5rem;animation:fadeInUp 1s ease-out}.thank-you-text{max-width:400px;width:100%;height:auto;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.2))}.footer-message{text-align:center;animation:fadeInUp 1.2s ease-out}.footer-subtitle{font-family:Sign,cursive;font-size:clamp(1.8rem,4vw,3rem);color:#1a5f7a;margin:0;text-shadow:2px 2px 4px rgba(255,255,255,.8);line-height:1.4}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.footer-image-container{height:500px}.wedding-container{width:100vw}.thank-you-text{max-width:280px;width:70%}.footer-subtitle{font-size:clamp(1.8rem.3rem,5vw,2rem)}.footer-overlay{padding:1rem}}@media(max-width:480px){.footer-image-container{height:400px}.wedding-container{width:100vw}.thank-you-text{max-width:220px;width:100%}}.section01-container{width:100%;display:flex;justify-content:center;align-items:flex-start}.section01-image-wrapper{position:relative;width:100%;overflow:hidden}.section01-image{width:100%;height:auto;display:block}.section01-image.lazy-image-container{position:relative;display:block}.section01-image .lazy-image{width:100%;height:auto;display:block;position:relative;z-index:1}.section01-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0000004d,#0000001a 30%,#0006 70%,#0009);display:flex;flex-direction:column;justify-content:space-between;padding:3rem 0;z-index:10;pointer-events:none}.section01-content{display:flex;flex-direction:column;height:100%;justify-content:space-between;pointer-events:auto}.section01-names{font-family:Great Vibes,cursive;font-size:clamp(2rem,8vw,3rem);color:#fff;text-align:center;margin:0;padding:2rem 1rem 0;margin-top:5rem;text-shadow:2px 2px 4px rgba(0,0,0,.5);font-weight:400;line-height:1.2;white-space:nowrap}.section01-details{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:2rem}.section01-invitation{font-family:Playfair Display,serif;font-size:1.3rem;font-weight:600;color:#fff;text-align:center;margin:1rem 0;letter-spacing:3px;text-shadow:2px 2px 4px rgba(0,0,0,.7)}.section01-event{text-align:center;margin:.5rem 0}.section01-ceremony{font-family:Playfair Display,serif;font-size:1.2rem;font-weight:600;color:#fff;margin:0 0 .5rem;letter-spacing:2px;text-shadow:2px 2px 4px rgba(0,0,0,.7)}.section01-day{font-family:Lato,sans-serif;font-size:1.1rem;font-weight:600;color:#fff;margin:.3rem 0;letter-spacing:2px;text-shadow:2px 2px 4px rgba(0,0,0,.7)}.section01-date{font-family:Playfair Display,serif;font-size:1.8rem;font-weight:700;color:#fff;margin:.3rem 0;letter-spacing:4px;text-shadow:2px 2px 4px rgba(0,0,0,.7)}@media(min-width:768px){.section01-image-wrapper{width:60%}}@media(max-width:767px){.section01-image-wrapper{width:100%}.section01-overlay{padding:2rem 0}.section01-names{font-size:clamp(1.5rem,9vw,3rem);padding:1.5rem .5rem 0}.section01-invitation{font-size:1.1rem}.section01-ceremony,.section01-day{font-size:1rem}.section01-date{font-size:1.5rem}}.lazy-image-container{position:relative;width:100%;height:100%;display:block;overflow:hidden}.lazy-image-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#e8e8e8,#f5f5f5);display:flex;align-items:center;justify-content:center;z-index:2}.lazy-image-progress{position:absolute;top:0;left:0;width:100%;transition:height .15s ease-out;background:linear-gradient(to bottom,#fff6,#fff3);z-index:3}.lazy-image{width:100%;height:100%;object-fit:inherit;object-position:inherit;display:block;position:relative;z-index:1}.lazy-image-loaded{animation:fadeIn .6s ease-in-out}.lazy-image-placeholder:before{content:"";position:absolute;top:-100%;left:0;width:100%;height:50%;background:linear-gradient(to bottom,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%);animation:shimmer 2s ease-in-out infinite;z-index:3}@keyframes shimmer{0%{top:-50%}to{top:100%}}.section02-container{padding:4rem 2rem;background:#fff;max-width:1400px;margin:0 auto}.section02-quote{text-align:center;margin-bottom:4rem;padding:0 1rem}.quote-line1,.quote-line2{font-family:Sign,cursive;font-size:clamp(1.5rem,4vw,2.5rem);color:#333;margin:.5rem 0;line-height:1.4}.section02-person{display:flex;gap:0;align-items:center;position:relative}.groom-section,.bride-section{flex-direction:row}.section02-image-section{flex:1;position:relative;z-index:2;display:flex;align-items:center}.groom-section .section02-image-section{justify-content:flex-end;padding-right:3rem}.bride-section .section02-image-section{justify-content:flex-start;padding-left:3rem}.section02-info-section{flex:1;position:relative;z-index:1;height:100px;display:flex;align-items:center}.groom-section .section02-info-section{justify-content:flex-start;margin-left:-3rem}.bride-section .section02-info-section{justify-content:flex-end;margin-right:-3rem}.person-image-container{width:100%;max-width:400px}.person-image{width:100%;height:auto;max-height:600px;object-fit:cover;display:block;border-radius:8px;box-shadow:0 8px 24px #00000026}.person-info{padding:0rem .6rem;border-radius:8px;display:flex;flex-direction:column;justify-content:center;width:100%}.groom-section .person-info,.bride-section .person-info{text-align:center}.person-label{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:#1a5f7a;letter-spacing:2px}.parent-header{font-size:clamp(.9rem,2vw,1.1rem);color:#333;margin:.1rem 0;line-height:1.8}.parent-info{font-size:clamp(.9rem,2vw,1.1rem);color:#333;line-height:1.5;font-weight:600}.person-address{font-size:clamp(.9rem,2vw,1.1rem);color:#333;margin:.5rem 0;line-height:1.6}.person-title{font-size:clamp(1rem,2.5vw,1.3rem);color:#333;font-weight:600}.person-signature{font-family:Sign,cursive;font-size:clamp(2rem,5vw,3.5rem);color:#1a5f7a;margin-top:.3rem;line-height:1.2}@media(max-width:768px){.section02-container{padding:3rem 1rem}.section02-quote{margin-bottom:3rem}.section02-image-section,.section02-info-section{width:100%;padding:0!important;margin:0!important}.groom-section .section02-image-section,.bride-section .section02-image-section{padding:0!important;justify-content:center}.groom-section .section02-info-section,.bride-section .section02-info-section{margin:0!important;justify-content:center}.person-image-container{max-width:100%}.person-image{max-height:400px}}.section03-container{background:#fff;max-width:1400px;margin:0 auto;text-align:center}.section03-decorative-line{width:250px;height:2px;background:#1a5f7a;margin:0 auto 2rem}.section03-title{margin-bottom:3rem}.section03-invitation{font-family:Sign,cursive;font-size:clamp(3rem,6vw,5rem);color:#1a5f7a;margin:1rem 0;font-weight:400;line-height:1.2}.section03-subtitle{font-family:Sign,cursive;font-size:clamp(1.5rem,4vw,2.5rem);color:#1a5f7a;margin:1rem 0 2rem;font-weight:400;line-height:1.4}.section03-event-title{font-family:Philosopher,sans-serif;font-size:clamp(1rem,2.5vw,1.5rem);color:#1a5f7a;font-weight:700;letter-spacing:2px;margin:2rem 0;line-height:1.6}.section03-gallery{display:flex;flex-direction:row;justify-content:center;align-items:flex-end;gap:1.5rem;flex-wrap:nowrap;margin:2rem .5rem}.section03-photo-wrapper{flex:1 1 0;min-width:0;position:relative}.section03-photo-center{flex:1.1 1 0;transform:translateY(-20px)}.section03-photo{width:100%;height:auto;border-radius:8px;box-shadow:0 8px 24px #00000026;display:block;object-fit:cover}@media(max-width:768px){.section03-decorative-line{width:80vw;margin-bottom:1.5rem}.section03-title{margin-bottom:2rem}.section03-gallery{gap:.5rem}.section03-photo-center{transform:translateY(0)}}@media(min-width:769px)and (max-width:1024px){.section03-photo-wrapper{flex:0 1 250px}.section03-photo-center{transform:translateY(-15px)}}.section05-container{background:#fff;padding:0rem 2rem;max-width:600px;margin:0 auto;margin-bottom:2rem;text-align:center}.section05-save-date-image{max-width:400px;width:100%;height:auto;display:block;margin:0 auto}.section05-calendar-icon{width:80px;height:80px;margin:0 auto .5rem}.section05-calendar-icon svg{width:100%;height:100%}.section05-month-year{margin-bottom:1.5rem}.section05-month-year h3{font-family:Lato,sans-serif;font-size:1.3rem;font-weight:600;color:#333;letter-spacing:1px}.section05-calendar{max-width:450px;margin:0 auto;padding:1rem;background:#fff;border-radius:8px}.section05-calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:1rem;padding-bottom:.8rem;border-bottom:2px solid #1a5f7a}.section05-weekday{font-family:Lato,sans-serif;font-size:.9rem;font-weight:600;color:#333;text-align:center;padding:.3rem}.section05-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.section05-calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:Lato,sans-serif;font-size:1rem;color:#1a5f7a;font-weight:500;border-radius:4px;transition:all .3s ease}.section05-calendar-day.empty{background:transparent}.section05-calendar-day:not(.empty):not(.wedding-day):hover{background:#f0f0f0;cursor:pointer}.section05-calendar-day.wedding-day{background:transparent;position:relative}.section05-heart-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.section05-heart-container svg{width:45px;height:45px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.card-subtitle{color:#1a5f7a;font-size:1.2rem}.section06-signature{font-family:Sign,cursive;font-size:clamp(1.8rem,4vw,2.5rem);color:#1a5f7a;display:flex;align-items:center;justify-content:center;margin:1.5rem 0;gap:.5rem}.section05-day-number{position:relative;z-index:1;color:#fff;font-weight:700;font-size:1.1rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}.section05-decorative-line{width:250px;height:2px;background:#1a5f7a;margin:3rem auto 0}@media(max-width:768px){.section05-container{padding:0rem 1rem}.section05-save-date-image{max-width:300px}.section05-calendar-icon{width:60px;height:60px}.section05-month-year h3{font-size:1.1rem}.section05-calendar{padding:.5rem}.section05-weekday{font-size:.75rem}.section05-calendar-day{font-size:.85rem}.section05-heart-container svg{width:35px;height:35px}.section05-day-number{font-size:.9rem}}.section04-container{background:#f8f9fa;padding:4rem 2rem;max-width:1400px;margin:0 auto;text-align:center}.section04-decorative-line{width:250px;height:2px;background:#1a5f7a;margin:0 auto 2rem}.section04-title{margin-bottom:3rem}.section04-heading{font-family:Sign,cursive;font-size:clamp(2rem,5vw,3.5rem);color:#1a5f7a;margin:1rem 0;font-weight:400;line-height:1.2}.section04-cards{display:flex;gap:2rem;justify-content:center;align-items:stretch;flex-wrap:wrap;margin:2rem auto;max-width:1200px}.section04-card{flex:1;min-width:300px;max-width:500px;background:#fff;border-radius:12px;padding:2.5rem 2rem;box-shadow:0 8px 24px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.section04-card:hover{transform:translateY(-5px);box-shadow:0 12px 32px #00000026}.card-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e0e0e0}.card-title{font-family:Playfair Display,serif;font-size:1.2rem;font-weight:700;color:#1a5f7a;margin:0 0 .5rem;letter-spacing:3px}.card-subtitle{font-family:Lato,sans-serif;font-size:clamp(1rem,2vw,1.2rem);color:#555;margin:.5rem 0;letter-spacing:1px}.card-date{font-family:Playfair Display,serif;font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:600;color:#1a5f7a;margin:.5rem 0 0;letter-spacing:4px}.date-detail{font-family:Lato,sans-serif;font-size:12px;color:#1a5f7a;margin:.5rem 0 0;letter-spacing:4px}.countdown-timer{display:flex;justify-content:center;align-items:center;gap:.5rem}.time-unit{display:flex;flex-direction:column;align-items:center;min-width:60px}.time-value{font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;color:#1a5f7a;line-height:1;margin-bottom:.5rem}.time-label{font-family:Lato,sans-serif;font-size:clamp(.7rem,1.5vw,.9rem);color:#666;text-transform:uppercase;letter-spacing:1px}.time-separator{font-family:Playfair Display,serif;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:700;color:#1a5f7a;margin:0 .2rem;align-self:flex-start;padding-top:.3rem}@media(max-width:768px){.section04-container{padding:3rem 1rem}.section04-decorative-line{width:80vw;margin-bottom:1.5rem}.section04-cards{gap:1.5rem}.section04-card{min-width:280px;padding:2rem 1.5rem}.time-unit{min-width:50px}.countdown-timer{gap:.3rem}}@media(min-width:769px)and (max-width:1024px){.section04-cards{gap:1.5rem}.section04-card{min-width:320px}}.section06-container{background:linear-gradient(to bottom,#d4e4f0,#e8f0f7);padding:3rem 2rem;max-width:500px;margin:0 auto;text-align:center;border-radius:200px 200px 0 0;position:relative;width:90vw;margin-bottom:3rem}.section06-heart-icon{width:60px;height:60px;margin:0 auto 1rem}.section06-heart-icon svg{width:100%;height:100%}.section06-title{font-family:Sign,cursive;font-size:clamp(2rem,5vw,2.8rem);color:#1a5f7a;margin:0 0 1rem;font-weight:400;line-height:1.2}.section06-location-card{background:transparent;padding:1.5rem 1rem;margin:0 auto 1rem;max-width:400px;display:flex;align-items:center;gap:1rem;flex-direction:column;text-align:center;padding:1rem;gap:.8rem}.location-icon{width:50px;height:50px;flex-shrink:0}.location-icon svg{width:100%;height:100%}.location-info{flex:1;text-align:left}.location-name{font-family:Lato,sans-serif;font-size:1.3rem;font-weight:700;text-align:center;color:#1a5f7a;margin:0 0 .3rem}.location-address{font-family:Lato,sans-serif;font-size:.9rem;color:#1a5f7a;margin:0;line-height:1.4}.location-button{font-family:Lato,sans-serif;font-size:.85rem;font-weight:600;color:#1a5f7a;background:#fff;border:2px solid #1a5f7a;border-radius:20px;padding:.5rem 1.2rem;cursor:pointer;transition:all .3s ease;white-space:nowrap;flex-shrink:0}.location-button:hover{background:#1a5f7a;color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #1a5f7a33}.section06-map-container{max-width:400px;margin:0 auto 1.5rem;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.section06-map-container iframe{display:block}.section06-divider{width:250px;height:2px;background:#1a5f7a;margin:2rem auto}.signature-text{line-height:1}.signature-heart{font-size:1.5rem;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.section06-rsvp-button{font-family:Lato,sans-serif;font-size:1rem;font-weight:700;color:#1a5f7a;background:#fff;border:3px solid #1a5f7a;border-radius:8px;padding:1rem 2rem;cursor:pointer;transition:all .3s ease;margin:0 auto;display:block;letter-spacing:1px}.section06-rsvp-button:hover{background:#1a5f7a;color:#fff;transform:translateY(-3px);box-shadow:0 6px 16px #1a5f7a4d}.section06-decorative-line{width:250px;height:2px;background:#1a5f7a;margin:0 auto 2rem}@media(max-width:768px){.section06-container{padding:2.5rem 1.5rem;border-radius:150px 150px 0 0}.section06-heart-icon{width:50px;height:50px}.section06-title{font-size:clamp(1.8rem,5vw,2.5rem);margin-bottom:1rem}.location-info{text-align:center}.location-name{font-size:1.2rem}.location-address{font-size:.85rem}.location-button{font-size:.8rem;padding:.4rem 1rem}.section06-divider{width:80vw;margin:1.5rem auto}.section06-signature{font-size:clamp(1.5rem,4vw,2rem)}.section06-rsvp-button{font-size:.9rem;padding:.9rem 1.5rem}.section06-decorative-line{width:80vw}}@media(max-width:480px){.section06-container{padding:2rem 1rem;border-radius:200px 200px 0 0}.section06-location-card{padding:.8rem}.location-icon{width:40px;height:40px}}.section07-container{background:linear-gradient(to bottom,#f8f9fa,#fff);padding:4rem 2rem;max-width:1400px;margin:0 auto;text-align:center}.section07-title{margin-bottom:3rem}.section07-heading{font-family:Sign,cursive;font-size:clamp(2.5rem,5vw,4rem);color:#1a5f7a;margin:0 0 1rem;font-weight:400;line-height:1.2}.section07-subtitle{font-family:Lato,sans-serif;font-size:clamp(1rem,2vw,1.3rem);color:#666;margin:0;font-style:italic}.section07-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem;padding:1rem;max-width:1200px;margin:0 auto}.section07-gallery-item{position:relative;overflow:hidden;border-radius:12px;cursor:pointer;box-shadow:0 4px 12px #0000001a;transition:all .4s cubic-bezier(.4,0,.2,1)}.section07-gallery-item:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 28px #0003;z-index:10}.section07-gallery-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s cubic-bezier(.4,0,.2,1)}.section07-gallery-item:hover .section07-gallery-image{transform:scale(1.1)}.section07-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#1a5f7ab3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.section07-gallery-item:hover .section07-overlay{opacity:1}.section07-zoom-icon{width:50px;height:50px;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.section07-lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.section07-lightbox-content{position:relative;max-width:90vw;max-height:90vh;animation:zoomIn .3s ease}@keyframes zoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.section07-lightbox-image{max-width:100%;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #00000080}.section07-close{position:absolute;top:20px;right:20px;background:#fff3;border:none;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10001;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section07-close:hover{background:#ffffff4d;transform:rotate(90deg)}.section07-close svg{width:30px;height:30px}.section07-nav{position:absolute;top:50%;transform:translateY(-50%);background:#fff3;border:none;width:60px;height:60px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10001;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section07-nav:hover{background:#ffffff4d;transform:translateY(-50%) scale(1.1)}.section07-prev{left:20px}.section07-next{right:20px}.section07-nav svg{width:35px;height:35px}.section07-counter{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);color:#fff;font-family:Lato,sans-serif;font-size:1rem;background:#ffffff1a;padding:.5rem 1.5rem;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section07-view-more-container{display:flex;justify-content:center;margin-top:3rem;padding:2rem 0}.section07-view-more-btn{position:relative;background:linear-gradient(135deg,#1a5f7a,#2d8ba8);color:#fff;border:none;padding:1rem 3rem;font-family:Sign,cursive;font-size:clamp(1.5rem,3vw,2rem);cursor:pointer;border-radius:50px;box-shadow:0 8px 20px #1a5f7a4d;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.section07-view-more-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease}.section07-view-more-btn:hover:before{left:100%}.section07-view-more-btn:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 12px 30px #1a5f7a66}.section07-view-more-btn:active{transform:translateY(-2px) scale(1.02)}.section07-view-more-text{position:relative;z-index:1;display:inline-block;letter-spacing:1px}@media(max-width:768px){.section07-container{padding:3rem 1rem}.section07-gallery{grid-template-columns:repeat(2,1fr);padding:.3rem}.section07-close{top:10px;right:10px;width:40px;height:40px}.section07-close svg{width:24px;height:24px}.section07-nav{width:45px;height:45px}.section07-prev{left:10px}.section07-next{right:10px}.section07-nav svg{width:28px;height:28px}.section07-lightbox-content{max-width:95vw}.section07-counter{font-size:.9rem;padding:.4rem 1rem}.section07-view-more-container{margin-top:2rem;padding:1rem 0}.section07-view-more-btn{padding:.8rem 2rem;font-size:1.3rem}}@media(min-width:769px)and (max-width:1024px){.section07-gallery{grid-template-columns:repeat(3,1fr)}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.section08-container{background:linear-gradient(to bottom,#fff,#f8f9fa);max-width:800px;margin:0 auto;text-align:center}.section08-header{margin-bottom:2.5rem}.section08-title{font-family:Sign,cursive;font-size:clamp(2.5rem,5vw,3.5rem);color:#1a5f7a;margin:0 0 .5rem;font-weight:400;line-height:1.2}.section08-subtitle{font-family:Lato,sans-serif;font-size:clamp(1rem,2vw,1.2rem);color:#666;margin:0;font-style:italic}.section08-toggle-btn{font-family:Lato,sans-serif;font-size:1.1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#1a5f7a,#2a7a9a);border:none;border-radius:30px;padding:1rem 2.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #1a5f7a4d;margin-bottom:2rem}.section08-toggle-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #1a5f7a66;background:linear-gradient(135deg,#2a7a9a,#1a5f7a)}.section08-toggle-btn:active{transform:translateY(-1px)}.section08-form-container{background:#fff;border-radius:20px;padding:2.5rem;margin:0 auto 1.5rem;max-width:600px;box-shadow:0 8px 30px #0000001a;border:2px solid #e8f0f7;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.section08-form{display:flex;flex-direction:column;gap:1.8rem;text-align:left}.section08-form-group{display:flex;flex-direction:column;gap:.6rem}.section08-form-label{font-family:Lato,sans-serif;font-size:1rem;font-weight:600;color:#1a5f7a}.section08-radio-group{display:flex;flex-direction:column;gap:1rem}.section08-radio-label{display:flex;align-items:center;gap:.8rem;cursor:pointer;padding:1rem;border:2px solid #e8f0f7;border-radius:12px;transition:all .3s ease;background:#f8fbfd}.section08-radio-label:hover{border-color:#1a5f7a;background:#fff;box-shadow:0 2px 8px #1a5f7a1a}.section08-radio-label input[type=radio]{width:20px;height:20px;cursor:pointer;accent-color:#1a5f7a;flex-shrink:0}.section08-radio-label input[type=radio]:checked+.radio-text{font-weight:600;color:#1a5f7a}.radio-text{font-family:Lato,sans-serif;font-size:1rem;color:#333;transition:all .3s ease}.section08-form-input,.section08-form-textarea{font-family:Lato,sans-serif;font-size:1rem;padding:1rem 1.2rem;border:2px solid #d4e4f0;border-radius:12px;transition:all .3s ease;background:#f8fbfd}.section08-form-input:focus,.section08-form-textarea:focus{outline:none;border-color:#1a5f7a;background:#fff;box-shadow:0 0 0 4px #1a5f7a1a}.section08-form-textarea{resize:vertical;min-height:120px;line-height:1.6}.section08-submit-btn{font-family:Lato,sans-serif;font-size:1.1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#1a5f7a,#2a7a9a);border:none;border-radius:30px;padding:1rem 2.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #1a5f7a4d;margin-top:.5rem}.section08-submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1a5f7a66;background:linear-gradient(135deg,#2a7a9a,#1a5f7a)}.section08-submit-btn:active{transform:translateY(0)}.section08-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.section08-loading{text-align:center;padding:3rem 1rem}.loading-spinner{width:50px;height:50px;border:4px solid #e8f0f7;border-top:4px solid #1a5f7a;border-radius:50%;margin:0 auto 1rem;animation:spin 1s linear infinite}.section08-loading p{font-family:Lato,sans-serif;font-size:1rem;color:#666;margin:0}.section08-comments-list{margin-top:1.5rem}.section08-comments-title{font-family:Sign,cursive;font-size:clamp(2rem,4vw,2.5rem);color:#1a5f7a;margin:0 0 1.5rem;font-weight:400}.section08-comments-container{display:flex;flex-direction:column;gap:.5rem;max-width:700px;margin:0 auto}.section08-comment-card{background:#fff;border-radius:12px;padding:.7rem;box-shadow:0 2px 10px #0000000f;border:1px solid #e8f0f7;transition:all .3s ease;text-align:left}.section08-comment-card:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px);border-color:#d4e4f0}.section08-comment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.8rem;gap:.8rem;flex-wrap:wrap}.section08-comment-user{display:flex;align-items:center;gap:.8rem;flex:1;min-width:0}.section08-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#1a5f7a,#2a7a9a);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Lato,sans-serif;font-size:1.1rem;font-weight:700;flex-shrink:0;box-shadow:0 2px 6px #1a5f7a40}.section08-user-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.section08-user-name{font-family:Lato,sans-serif;font-size:.95rem;font-weight:700;color:#1a5f7a;word-wrap:break-word}.section08-comment-date{font-family:Lato,sans-serif;font-size:.75rem;color:#999}.section08-attendance-badge{font-family:Lato,sans-serif;font-size:.8rem;font-weight:600;padding:.4rem 1rem;border-radius:20px;white-space:nowrap;flex-shrink:0}.section08-attendance-badge.attending{background:linear-gradient(135deg,#d4f4dd,#c8f0d4);color:#2d7a4a;box-shadow:0 2px 6px #2d7a4a26}.section08-attendance-badge.not-attending{background:linear-gradient(135deg,#ffd4d4,#ffc8c8);color:#c74444;box-shadow:0 2px 6px #c7444426}.section08-comment-text{font-family:Lato,sans-serif;font-size:.9rem;line-height:1.6;color:#333;margin:0;word-wrap:break-word;white-space:pre-wrap}.section08-load-more-container{text-align:center;margin-top:1.5rem;padding-top:1rem}.section08-load-more-btn{font-family:Lato,sans-serif;font-size:1rem;font-weight:600;color:#1a5f7a;background:#fff;border:2px solid #1a5f7a;border-radius:25px;padding:.8rem 2rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #1a5f7a26}.section08-load-more-btn:hover{background:linear-gradient(135deg,#1a5f7a,#2a7a9a);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #1a5f7a4d}.section08-load-more-btn:active{transform:translateY(0)}@media(max-width:768px){.section08-container{padding:1.5rem}.section08-form-container{padding:2rem 1.5rem}.section08-comment-header{flex-direction:column;align-items:flex-start}.section08-attendance-badge{align-self:flex-start}.section08-toggle-btn,.section08-submit-btn{padding:.9rem 2rem;font-size:1rem}}.section09-container{background:linear-gradient(to bottom,#f8f9fa,#fff);padding:4rem 2rem;max-width:1400px;margin:0 auto;text-align:center}.section09-title{margin-bottom:3rem}.section09-heading{font-family:Sign,cursive;font-size:clamp(2.5rem,5vw,4rem);color:#1a5f7a;margin:0 0 1rem;font-weight:400;line-height:1.2}.section09-subtitle{font-family:Lato,sans-serif;font-size:clamp(1rem,2vw,1.3rem);color:#666;margin:0;font-style:italic}.section09-cards{display:flex;gap:2rem;justify-content:center;align-items:stretch;flex-wrap:wrap;margin:2rem auto;max-width:1200px}.section09-card{background:#fff;border-radius:16px;box-shadow:0 8px 24px #0000001a;padding:2rem;flex:1;min-width:300px;max-width:450px;transition:transform .3s ease,box-shadow .3s ease}.section09-card:hover{transform:translateY(-8px);box-shadow:0 12px 32px #00000026}.section09-card-header{margin-bottom:1.5rem}.section09-card-title{font-family:Sign,cursive;font-size:clamp(1.8rem,3vw,2.5rem);color:#1a5f7a;margin:0;font-weight:400}.section09-image-wrapper{width:100%;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.section09-image{width:100%;height:auto;display:block;object-fit:contain;transition:transform .3s ease}.section09-card:hover .section09-image{transform:scale(1.02)}@media(max-width:768px){.section09-container{padding:3rem 1rem}.section09-cards{flex-direction:column;gap:1.5rem}.section09-card{max-width:100%;padding:1.5rem}.section09-title{margin-bottom:2rem}}@media(min-width:769px)and (max-width:1024px){.section09-cards{gap:1.5rem}.section09-card{min-width:280px}}.music-toggle{position:fixed;bottom:30px;left:30px;width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,#f093fb,#f5576c);border:3px solid rgba(255,255,255,.8);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 25px #f5576c80,0 0 #f5576c66;transition:all .3s ease;z-index:1000;overflow:visible;animation:float 3s ease-in-out infinite;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.music-toggle:hover{transform:scale(1.15);box-shadow:0 10px 35px #f5576cb3,0 0 0 10px #f5576c1a}.music-toggle:active{transform:scale(.95)}.music-icon-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.music-icon{width:40px;height:40px;object-fit:contain;filter:brightness(1.2) drop-shadow(0 2px 4px rgba(0,0,0,.2));transition:transform .3s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;pointer-events:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.music-toggle.playing .music-icon-wrapper{animation:spin 3s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.music-toggle.playing{animation:float 3s ease-in-out infinite,pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 8px 25px #f5576c80,0 0 #f5576c66}50%{box-shadow:0 8px 35px #f5576ccc,0 0 0 15px #f5576c00}}.music-toggle:before{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%) scale(0);opacity:0;transition:all .5s ease}.music-toggle:active:before{transform:translate(-50%,-50%) scale(1.5);opacity:0}@media(max-width:768px){.music-toggle{width:60px;height:60px;bottom:20px;left:20px}.music-icon{width:32px;height:32px}}.music-toggle:focus{outline:3px solid #f5576c;outline-offset:3px}.music-toggle:focus:not(:focus-visible){outline:none}.music-toggle.playing:after{content:"✨";position:absolute;top:-5px;right:-5px;font-size:20px;animation:sparkle 1.5s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:0;transform:scale(.5) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}.splash-screen{position:fixed;top:0;left:20%;margin:0 auto;width:60vw;height:100vh;z-index:9999;overflow:hidden;perspective:2000px}.card-door{position:absolute;top:0;width:50%;height:100%;background-color:#88121e;transition:transform 5s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d;overflow:hidden}.card-door-left{left:0;transform-origin:left center;box-shadow:2px 0 20px #0000004d}.card-door-right{right:0;transform-origin:right center;box-shadow:-2px 0 20px #0000004d}.door-content{position:absolute;top:0;width:200%;height:100%;display:flex;justify-content:center;align-items:center}.card-door-left .door-content{left:0}.card-door-right .door-content{right:0}.splash-image{position:absolute;max-width:600px;top:20%;width:40%;height:auto;object-fit:contain;filter:drop-shadow(0 15px 40px rgba(0,0,0,.4))}.open-card-label{position:absolute;bottom:10%;left:50%;transform:translate(-50%);z-index:10;background:linear-gradient(135deg,gold,orange);color:#88121e;border:none;padding:1.2rem 3rem;border-radius:50px;font-family:Lato,sans-serif;font-size:1.2rem;font-weight:700;box-shadow:0 8px 25px #0000004d;transition:all .3s ease;display:flex;align-items:center;gap:.8rem;animation:pulseButton 2s ease-in-out infinite;pointer-events:none;min-width:200px}.button-text{font-size:1.2rem;letter-spacing:.5px}.button-icon{font-size:1.5rem;animation:pointDown 1.5s ease-in-out infinite}@keyframes pulseButton{0%,to{box-shadow:0 8px 25px #0000004d,0 0 #ffd700b3}50%{box-shadow:0 8px 25px #0000004d,0 0 0 15px #ffd70000}}@keyframes pointDown{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.splash-screen.opening .card-door-left{transform:rotateY(-120deg)}.splash-screen.opening .card-door-right{transform:rotateY(120deg)}.splash-screen.opening .open-card-label{opacity:0}@media(max-width:768px){.splash-screen{width:100vw;left:0}.splash-image{max-width:350px;width:60%;top:30%}.open-card-label{padding:1rem 2.5rem;font-size:1.1rem;bottom:12%}.button-text{font-size:1.1rem}.button-icon{font-size:1.3rem}}@media(max-width:480px){.splash-screen{width:100vw;left:0}.splash-image{max-width:300px;width:65%;top:30%}.open-card-label{padding:.9rem 2rem;font-size:1rem;bottom:15%}.button-text{font-size:1rem}.button-icon{font-size:1.2rem}.splash-screen.opening .card-door-left{transform:rotateY(-110deg)}.splash-screen.opening .card-door-right{transform:rotateY(110deg)}}
