@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Inter:wght@300;400;500;600&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--color-bg: #faf9f7;--color-text: #1a1a1a;--color-text-secondary: #6b6b6b;--color-accent: #c4a882;--color-accent-light: #e8d5be;--color-white: #ffffff;--color-dark: #2c2c2c;--font-serif: "Playfair Display", Georgia, serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--section-padding: 120px}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}section{padding:var(--section-padding) 24px}@media (max-width: 768px){:root{--section-padding: 80px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-in{animation:fadeInUp .8s ease-out forwards}.animate-fade{animation:fadeIn 1s ease-out forwards}.animate-scale{animation:scaleIn .8s ease-out forwards}.hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-image{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=2000&q=80);background-size:cover;background-position:center;transform:scale(1.05);animation:subtleZoom 20s ease-in-out infinite alternate}@keyframes subtleZoom{0%{transform:scale(1.05)}to{transform:scale(1.15)}}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#00000040,#00000073);display:flex;align-items:center;justify-content:center}.hero-content{text-align:center;color:var(--color-white);padding:0 24px}.hero-subtitle{font-family:var(--font-sans);font-size:.875rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;margin-bottom:24px;opacity:0;animation-delay:.2s}.hero-title{font-family:var(--font-serif);font-size:clamp(3rem,8vw,6rem);font-weight:400;line-height:1.1;letter-spacing:-.02em;margin-bottom:32px;opacity:0;animation-delay:.4s}.ampersand{font-style:italic;font-weight:300;opacity:.85}.hero-date{font-family:var(--font-sans);font-size:1.125rem;font-weight:300;letter-spacing:.15em;opacity:0;animation-delay:.6s}.hero-cta{display:inline-block;margin-top:48px;padding:16px 40px;font-family:var(--font-sans);font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--color-white);border:1px solid rgba(255,255,255,.5);border-radius:100px;transition:all .4s ease;opacity:0;animation-delay:.8s;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.hero-cta:hover{background:var(--color-white);color:var(--color-dark);border-color:var(--color-white)}@media (max-width: 768px){.hero-cta{margin-top:36px;padding:14px 32px}}.countdown{background:var(--color-white);text-align:center;padding:80px 24px}.countdown-label{font-family:var(--font-sans);font-size:.75rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:40px}.countdown-grid{display:flex;justify-content:center;gap:48px;flex-wrap:wrap}.countdown-item{display:flex;flex-direction:column;align-items:center}.countdown-number{font-family:var(--font-serif);font-size:3.5rem;font-weight:400;line-height:1;color:var(--color-text)}.countdown-label-small{font-family:var(--font-sans);font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-secondary);margin-top:8px}@media (max-width: 768px){.countdown-grid{gap:32px}.countdown-number{font-size:2.5rem}}.timeline{background:var(--color-bg);text-align:center}.section-header{margin-bottom:64px}.section-label{font-family:var(--font-sans);font-size:.75rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--color-accent);margin-bottom:16px}.section-title{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3rem);font-weight:400;color:var(--color-text);margin-bottom:16px}.section-subtitle{font-family:var(--font-sans);font-size:1rem;font-weight:300;color:var(--color-text-secondary)}.timeline-container{max-width:500px;margin:0 auto;position:relative}.timeline-container:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--color-accent-light);transform:translate(-50%)}.timeline-event{position:relative;padding:0 0 48px}.timeline-event:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:50%;top:0;width:12px;height:12px;background:var(--color-accent);border:3px solid var(--color-bg);border-radius:50%;transform:translate(-50%);z-index:1}.timeline-card{display:flex;align-items:flex-start;gap:16px;background:var(--color-white);padding:24px;border-radius:16px;box-shadow:0 2px 20px #0000000a;text-align:left;transition:transform .3s ease,box-shadow .3s ease}.timeline-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #00000014}.timeline-icon{font-size:1.75rem;line-height:1}.timeline-info{flex:1}.timeline-time{font-family:var(--font-sans);font-size:.75rem;font-weight:600;letter-spacing:.1em;color:var(--color-accent);margin-bottom:4px}.timeline-event-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:600;color:var(--color-text);margin-bottom:4px}.timeline-event-desc{font-family:var(--font-sans);font-size:.875rem;font-weight:300;color:var(--color-text-secondary)}@media (max-width: 768px){.timeline-container{padding:0 16px}.timeline-container:before{left:50%}.timeline-dot{left:50%}}.location{background:var(--color-white);text-align:center}.location-content{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.location-info{text-align:left}.location-info h3{font-family:var(--font-serif);font-size:1.75rem;font-weight:600;color:var(--color-text);margin-bottom:8px}.location-info p{font-family:var(--font-sans);font-size:1rem;font-weight:300;color:var(--color-text-secondary);margin-bottom:8px}.location-detail{margin-top:16px;line-height:1.7}.location-button{display:inline-block;margin-top:32px;padding:14px 32px;font-family:var(--font-sans);font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;color:var(--color-white);background:var(--color-dark);border-radius:100px;transition:all .3s ease}.location-button:hover{background:var(--color-accent);transform:translateY(-1px)}.location-map{border-radius:16px;overflow:hidden;box-shadow:0 8px 40px #0000001a;aspect-ratio:4 / 3}.location-map iframe{width:100%;height:100%;border:none}@media (max-width: 768px){.location-content{grid-template-columns:1fr;gap:32px}.location-info{text-align:center}.location-map{aspect-ratio:16 / 10}.location-map iframe{width:100%;height:300px}.location-button{font-size:.875rem;padding:8px 16px}}.faq{background:var(--color-bg);text-align:center}.faq-list{max-width:640px;margin:0 auto;text-align:left}.faq-item{border-bottom:1px solid var(--color-accent-light)}.faq-item:first-child{border-top:1px solid var(--color-accent-light)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-family:var(--font-serif);font-size:1.125rem;font-weight:400;color:var(--color-text);background:none;border:none;cursor:pointer;text-align:left;transition:color .3s ease}.faq-question:hover{color:var(--color-accent)}.faq-icon{font-family:var(--font-sans);font-size:1.25rem;font-weight:300;color:var(--color-accent);transition:transform .3s ease;flex-shrink:0;margin-left:16px}.faq-icon.open{transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease}.faq-answer.open{max-height:200px;padding-bottom:24px}.faq-answer p{font-family:var(--font-sans);font-size:.9375rem;font-weight:300;line-height:1.7;color:var(--color-text-secondary)}.footer{background:var(--color-dark);color:var(--color-white);text-align:center;padding:80px 24px}.footer-content{max-width:400px;margin:0 auto}.footer-names{font-family:var(--font-serif);font-size:2rem;font-weight:400;margin-bottom:16px}.footer-names span{font-style:italic;font-weight:300;opacity:.7}.footer-date{font-family:var(--font-sans);font-size:.875rem;font-weight:300;letter-spacing:.3em;color:var(--color-accent-light);margin-bottom:24px}.footer-message{font-family:var(--font-sans);font-size:.8125rem;font-weight:300;color:#ffffff80;letter-spacing:.05em}
