*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:18px;scroll-behavior:smooth}body{font-family:lato,helvetica neue,Arial,sans-serif;font-weight:300;line-height:1.7;color:#2c2c2c;background-color:#fff9f0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:playfair display,Georgia,times new roman,serif;font-weight:400;line-height:1.2;color:#2c2c2c}p{margin-bottom:1rem}img{max-width:100%;height:auto;display:block}.hero{position:relative;width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero__image-wrapper{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.hero__image{width:100%;height:100%;object-fit:cover;object-position:center}.hero__overlay{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:100%;min-height:100vh;background:rgba(44,44,44,.45);padding:4rem 2rem}.hero__content{text-align:center;color:#fff;max-width:900px}.hero__subtitle{font-family:lato,helvetica neue,Arial,sans-serif;font-weight:300;font-size:24px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem;color:#e8d9a0}.hero__names{font-family:playfair display,Georgia,times new roman,serif;font-size:3.5rem;font-weight:400;color:#fff;margin-bottom:1rem}.hero__ampersand{font-style:italic;color:#c9b458;margin:0 .3em}.hero__date{font-family:lato,helvetica neue,Arial,sans-serif;font-size:24px;font-weight:300;letter-spacing:.15em;margin-bottom:4rem;color:#e8d9a0}.hero__countdown{display:flex;justify-content:center;gap:2rem}.countdown__unit{text-align:center;min-width:70px}.countdown__number{display:block;font-family:playfair display,Georgia,times new roman,serif;font-size:2.5rem;font-weight:700;color:#fff}.countdown__label{display:block;font-family:lato,helvetica neue,Arial,sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:.15em;color:#e8d9a0;margin-top:.5rem}.details{padding:6rem 2rem;background-color:#fff}.details__container{max-width:900px;margin:0 auto;text-align:center}.details__heading{font-size:2.2rem;margin-bottom:4rem;color:#2c2c2c}.details__heading::after{content:'';display:block;width:60px;height:2px;background-color:#c9b458;margin:1rem auto 0}.details__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4rem}.details__item{padding:2rem}.details__icon{font-size:2rem;display:block;margin-bottom:.5rem}.details__label{font-family:lato,helvetica neue,Arial,sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:.15em;color:#5a5a5a;margin-bottom:.5rem}.details__value{font-family:playfair display,Georgia,times new roman,serif;font-size:1.3rem;color:#2c2c2c}.faq{padding:6rem 2rem;background-color:#fff9f0}.faq__container{max-width:900px;margin:0 auto}.faq__heading{font-size:2.2rem;text-align:center;margin-bottom:4rem}.faq__heading::after{content:'';display:block;width:60px;height:2px;background-color:#c9b458;margin:1rem auto 0}.faq__item{border-bottom:1px solid #e8d9a0;padding:2rem 0}.faq__item[open] .faq__question::after{transform:rotate(180deg)}.faq__question{font-family:playfair display,Georgia,times new roman,serif;font-size:1.15rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.faq__question::-webkit-details-marker{display:none}.faq__question::after{content:'\25BC';font-size:.75rem;color:#c9b458;transition:transform .3s ease;margin-left:1rem;flex-shrink:0}.faq__answer{font-family:lato,helvetica neue,Arial,sans-serif;font-weight:300;color:#5a5a5a;padding-top:1rem;line-height:1.7}.footer{padding:6rem 2rem;background-color:#2c2c2c;color:#fff;text-align:center}.footer__container{max-width:900px;margin:0 auto}.footer__message{font-family:playfair display,Georgia,times new roman,serif;font-style:italic;font-size:24px;color:#e8d9a0;margin-bottom:1rem}.footer__names{font-family:playfair display,Georgia,times new roman,serif;font-size:1.3rem;color:#fff;margin-bottom:.5rem}.footer__date{font-family:lato,helvetica neue,Arial,sans-serif;font-size:14px;letter-spacing:.15em;text-transform:uppercase;color:#5a5a5a}@media(max-width:576px){.hero__names{font-size:2.2rem}.hero__subtitle{font-size:1rem}.hero__date{font-size:1.1rem}.hero__countdown{gap:1rem}.countdown__number{font-size:1.8rem}.countdown__unit{min-width:55px}.details__grid{grid-template-columns:1fr}}@media(min-width:768px){.details__grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:1024px){.hero__names{font-size:4.5rem}}