*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Vollkorn,serif;line-height:1.6;color:#2c3e50;overflow-x:hidden}h1,h2,h3{font-family:Vollkorn,serif;font-weight:400}.hero-title{font-size:clamp(3rem,8vw,6rem);font-weight:300;letter-spacing:.1em;text-align:center;margin-bottom:2rem;font-style:normal}.section-title{font-size:clamp(2rem,5vw,3rem);font-weight:500;text-align:center;margin-bottom:1rem;letter-spacing:.05em}.section-subtitle{font-size:clamp(2rem,4.5vw,2.8rem);text-align:center;margin-bottom:2rem;font-weight:300;opacity:.9}.venue-name{font-size:clamp(1.8rem,4vw,2.5rem);text-align:center;margin-bottom:.5rem;margin-top:2rem;font-weight:400}.venue-location{font-size:clamp(1.2rem,3vw,1.6rem);text-align:center;font-weight:300;opacity:.8}.countdown-text{font-size:clamp(1.2rem,3vw,1.6rem);text-align:center;font-weight:300;margin-top:.5rem;opacity:.8}#app{width:100%;min-height:100vh}.wedding-section{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;padding:4rem 2rem}.schedule-section{min-height:auto;padding:6rem 2rem}.section-content{max-width:800px;width:100%;text-align:center;position:relative;z-index:2}.parallax{position:relative;overflow:hidden}.parallax-bg{position:absolute;top:-20%;left:0;width:100%;height:120%;background-position:center;background-repeat:no-repeat;background-size:cover;will-change:transform}.overlay{position:absolute;inset:0;z-index:1}#hero{background:linear-gradient(135deg,#f8f9fa,#e9ecef);min-height:80vh}#details{background:linear-gradient(135deg,#f1f3f4,#e8eaf6);min-height:60vh}#info{background:linear-gradient(135deg,#a8e6cf,#88d8a3);min-height:80vh}@media (max-width: 768px){.parallax-bg{top:-10%;height:110%}.wedding-section{min-height:100vh;padding:2rem 1rem}.schedule-section{min-height:auto;padding:4rem 1rem}.hero-title{font-size:3rem}.section-title{font-size:2.5rem}}@media (max-width: 480px){.wedding-section{padding:1.5rem 1rem}.hero-title{font-size:2.5rem}.section-title,.section-subtitle{font-size:1.8rem}}.animate-content{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.animate-content.loaded{opacity:1;transform:translateY(0)}.section-content h1{animation-delay:.2s}.section-content p{animation-delay:.4s}.section-content h2{animation-delay:.6s}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);color:inherit;opacity:.7;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}.parallax{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1"><rect width="1" height="1" fill="%23f8f9fa"/></svg>')}.parallax .section-content{text-shadow:0 2px 4px rgba(0,0,0,.3)}.text-section .section-content{text-shadow:none}.schedule-wrapper{max-width:700px;margin:1rem auto 0;padding:1.5rem;background:#fff3;border-radius:8px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.4)}.schedule-container{max-width:600px;margin:0 auto;text-align:left;position:relative;padding:1rem 0}.schedule-event{display:flex;margin-bottom:2rem;position:relative}.schedule-event:last-child{margin-bottom:0}.timeline{flex-shrink:0;width:60px;display:flex;flex-direction:column;align-items:center;margin-right:2rem}.timeline-dot{width:16px;height:16px;background:#2c3e50;border-radius:50%;border:3px solid rgba(255,255,255,.8);box-shadow:0 0 0 3px #2c3e5033;z-index:2}.timeline-line{width:2px;flex-grow:1;background:#2c3e504d;margin-top:1rem;min-height:60px}.event-content{flex-grow:1;padding-top:0}.event-time{font-size:clamp(1.2rem,3vw,1.4rem);font-weight:600;color:inherit;margin-bottom:.5rem;line-height:1.3}.event-title{font-size:clamp(1rem,2.5vw,1.2rem);font-weight:400;color:inherit;margin-bottom:.8rem;line-height:1.4}.event-location,.event-sublocation{font-size:clamp(.95rem,2.2vw,1.1rem);color:inherit;opacity:.8;margin-bottom:.3rem;font-weight:500}.event-details{font-size:clamp(.9rem,2vw,1rem);color:inherit;opacity:.8;font-style:italic;margin-top:.5rem}.schedule-footer{text-align:center;font-size:clamp(1rem,2.5vw,1.1rem);font-weight:400;color:inherit;opacity:.8;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.2)}@media (max-width: 768px){.schedule-wrapper{max-width:100%;padding:1rem;margin-top:1rem}.schedule-container{max-width:100%;padding:1rem 0}.timeline{width:40px;margin-right:1.5rem}.timeline-dot{width:12px;height:12px}.schedule-event{margin-bottom:1.5rem}.schedule-event:last-child{margin-bottom:0}}.faq-container{max-width:700px;margin:1rem auto 0;text-align:left}.faq-item{margin-bottom:2rem;padding:1.5rem;background:#fff3;border-radius:8px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.4)}.faq-question{font-size:clamp(1.1rem,3vw,1.3rem);font-weight:500;margin-bottom:.8rem;color:inherit;line-height:1.4}.faq-answer{font-size:clamp(1rem,2.5vw,1.1rem);line-height:1.6;margin:0;opacity:.9}@media (max-width: 768px){.faq-container{max-width:100%;margin-top:1rem}.faq-item{padding:1rem;margin-bottom:1.5rem}.faq-question{font-size:1.1rem}.faq-answer{font-size:1rem}}
