:root{--bg: #FAF8F5;--bg-warm: #F3EDE4;--bg-linen: #EDE7DD;--text: #2C2825;--text-light: #6B6560;--text-muted: #9A948E;--gold: #A68B5B;--gold-deep: #8B7345;--gold-light: #B89B6B;--divider: #E8DFD3;--white: #FFFFFF;--overlay-dark: rgba(44, 40, 37, .55);--overlay-light: rgba(250, 248, 245, .92);--font-display: "Playfair Display", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--max-width: 1200px;--section-pad: clamp(80px, 12vw, 140px)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.7;font-weight:300;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:var(--gold-deep);text-decoration:none;transition:color .3s var(--ease-out)}a:hover{color:var(--gold)}::selection{background:var(--gold-light);color:var(--text)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.2;letter-spacing:-.01em}.section-label{font-family:var(--font-body);font-size:.7rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:1rem}.section-title{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,3.2rem);color:var(--text);margin-bottom:1.5rem}.section-subtitle{font-size:1.05rem;color:var(--text-light);max-width:560px;line-height:1.8}.container{max-width:var(--max-width);margin:0 auto;padding:0 clamp(24px,5vw,48px)}.section{padding:var(--section-pad) 0}.section--alt{background:var(--bg-warm)}.text-center{text-align:center}.mx-auto{margin-left:auto;margin-right:auto}.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 clamp(24px,5vw,48px);transition:all .5s var(--ease-out)}.nav--transparent{background:transparent}.nav--solid{background:var(--overlay-light);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--divider)}.nav__inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:72px}.nav__logo{font-family:var(--font-display);font-size:1.15rem;letter-spacing:.05em;color:var(--white);transition:color .5s var(--ease-out)}.nav--solid .nav__logo{color:var(--text)}.nav__links{display:flex;gap:2rem;list-style:none}.nav__link{font-size:.72rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:#ffffffd9;transition:color .3s var(--ease-out);cursor:pointer;background:none;border:none;font-family:var(--font-body)}.nav--solid .nav__link{color:var(--text-light)}.nav__link:hover{color:var(--gold)}.nav__hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.nav__hamburger span{display:block;width:24px;height:1.5px;background:var(--white);transition:all .4s var(--ease-out)}.nav--solid .nav__hamburger span{background:var(--text)}.nav__mobile-menu{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:99;flex-direction:column;align-items:center;justify-content:center;gap:2rem}.nav__mobile-menu.open{display:flex}.nav__mobile-link{font-family:var(--font-display);font-size:1.6rem;color:var(--text);cursor:pointer;background:none;border:none}.nav__mobile-link:hover{color:var(--gold-deep)}.nav__close{position:absolute;top:24px;right:24px;background:none;border:none;font-size:1.6rem;color:var(--text);cursor:pointer}@media (max-width: 768px){.nav__links{display:none}.nav__hamburger{display:flex}}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:var(--text)}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/hero.jpg);background-size:cover;background-position:center 75%;opacity:.45}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#2c282566,#2c282526 35%,#2c282580)}.hero__content{position:relative;z-index:2;color:var(--white);padding:0 24px}.hero__eyebrow{font-family:var(--font-body);font-size:.7rem;font-weight:400;letter-spacing:.35em;text-transform:uppercase;color:var(--gold-light);margin-bottom:1.5rem;opacity:0;animation:fadeUp 1s var(--ease-out) .3s forwards}.hero__names{font-family:var(--font-display);font-size:clamp(3rem,9vw,7rem);font-weight:400;line-height:1.05;letter-spacing:-.02em;margin-bottom:1.5rem;opacity:0;animation:fadeUp 1s var(--ease-out) .5s forwards}.hero__ampersand{font-style:italic;color:var(--gold-light);display:inline-block;margin:0 .1em}.hero__date{font-family:var(--font-body);font-size:.85rem;font-weight:300;letter-spacing:.25em;text-transform:uppercase;margin-bottom:2.5rem;color:#ffffffd9;opacity:0;animation:fadeUp 1s var(--ease-out) .7s forwards}.hero__countdown{display:flex;gap:clamp(1.5rem,4vw,3rem);justify-content:center;margin-bottom:3rem;opacity:0;animation:fadeUp 1s var(--ease-out) .9s forwards}.countdown__item{text-align:center}.countdown__number{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);font-weight:400;line-height:1;color:var(--white)}.countdown__label{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);margin-top:.5rem}.hero__scroll{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:2;opacity:0;animation:fadeUp 1s var(--ease-out) 1.2s forwards}.hero__scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,var(--gold-light),transparent);margin:0 auto;animation:scrollPulse 2s var(--ease-in-out) infinite}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollPulse{0%,to{opacity:.4;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.2)}}.story__content{max-width:720px;margin:0 auto;text-align:center}.story__text{font-size:1.05rem;line-height:2;color:var(--text-light)}.story__text p{margin-bottom:1.5rem}.story__text p:last-child{margin-bottom:0}.story__closing{margin-top:2.5rem;font-family:var(--font-display);font-style:italic;font-size:1.15rem;color:var(--gold-deep)}.ornament{display:flex;align-items:center;justify-content:center;gap:1rem;margin:2rem 0}.ornament__line{width:40px;height:1px;background:var(--gold)}.ornament__diamond{width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}.schedule__coming-soon{max-width:600px;margin:3rem auto 0;text-align:center}.schedule__coming-soon-card{background:var(--white);border:1px solid var(--divider);border-radius:2px;padding:clamp(3rem,6vw,5rem) clamp(2rem,4vw,3rem)}.schedule__coming-soon-dates{font-family:var(--font-display);font-size:clamp(1.3rem,3vw,1.6rem);font-weight:400;color:var(--text);margin-bottom:1.5rem}.schedule__coming-soon-divider{width:40px;height:1px;background:var(--gold);margin:0 auto 1.5rem}.schedule__coming-soon-text{font-size:1rem;color:var(--text-light);line-height:1.8;margin-bottom:.75rem}.schedule__coming-soon-note{font-size:.95rem;color:var(--text-muted);line-height:1.8;font-style:italic}.schedule__days{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);margin-top:3rem}@media (max-width: 768px){.schedule__days{grid-template-columns:1fr}}.schedule__day{background:var(--white);border-radius:2px;padding:clamp(2rem,4vw,3rem);border:1px solid var(--divider)}.schedule__day-label{font-family:var(--font-body);font-size:.65rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.5rem}.schedule__day-title{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem);margin-bottom:.5rem}.schedule__day-subtitle{font-size:.85rem;color:var(--text-muted);margin-bottom:2rem}.timeline{position:relative;padding-left:1.5rem}.timeline:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:var(--divider)}.timeline__item{position:relative;padding-bottom:1.5rem;padding-left:1.5rem}.timeline__item:last-child{padding-bottom:0}.timeline__item:before{content:"";position:absolute;left:-1.5rem;top:8px;width:7px;height:7px;border-radius:50%;background:var(--gold);transform:translate(-3px)}.timeline__time{font-size:.75rem;font-weight:500;letter-spacing:.1em;color:var(--gold-deep);margin-bottom:.25rem}.timeline__event{font-size:.95rem;font-weight:400;color:var(--text)}.timeline__detail{font-size:.85rem;color:var(--text-muted);margin-top:.15rem}.details__grid-refined{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:3rem;background:var(--divider);border:1px solid var(--divider)}@media (max-width: 768px){.details__grid-refined{grid-template-columns:1fr}}.detail-card-refined{background:var(--white);padding:clamp(2.5rem,5vw,3.5rem);text-align:center;height:100%}.detail-card-refined__label{font-family:var(--font-body);font-size:.6rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:1rem}.detail-card-refined__title{font-family:var(--font-display);font-size:1.4rem;font-weight:400;margin-bottom:1rem;color:var(--text)}.detail-card-refined__text{font-size:.9rem;color:var(--text-light);line-height:1.8}.detail-card__link{display:inline-block;margin-top:1rem;font-size:.72rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-deep);border-bottom:1px solid var(--gold-light);padding-bottom:2px}.rsvp{background:var(--text);color:var(--white);text-align:center}.rsvp .section-label{color:var(--gold-light)}.rsvp .section-title{color:var(--white)}.rsvp .section-subtitle{color:#ffffffa6;margin:0 auto 2.5rem}.faq__list{max-width:720px;margin:3rem auto 0}.faq__item{border-bottom:1px solid var(--divider)}.faq__question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-body);font-size:1rem;font-weight:400;color:var(--text);gap:1rem}.faq__question:hover{color:var(--gold-deep)}.faq__icon{font-size:1.2rem;color:var(--gold);transition:transform .3s var(--ease-out);flex-shrink:0}.faq__item.open .faq__icon{transform:rotate(45deg)}.faq__answer{max-height:0;overflow:hidden;transition:max-height .4s var(--ease-out),padding .4s var(--ease-out)}.faq__item.open .faq__answer{max-height:400px;padding-bottom:1.5rem}.faq__answer-text{font-size:.95rem;color:var(--text-light);line-height:1.8}.contact__content{text-align:center;max-width:560px;margin:0 auto}.contact__text{font-size:1rem;color:var(--text-light);line-height:1.8;margin-top:.5rem;margin-bottom:2.5rem}.contact__whatsapp{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--font-body);font-size:.9rem;font-weight:400;color:var(--text);text-decoration:none;padding:.85rem 2rem;border:1px solid var(--divider);border-radius:2px;transition:all .3s var(--ease-out)}.contact__whatsapp svg{color:var(--gold-deep);flex-shrink:0}.contact__whatsapp:hover{border-color:var(--gold);color:var(--text)}.footer{text-align:center;padding:3rem 0;border-top:1px solid var(--divider)}.footer__names{font-family:var(--font-display);font-size:1.3rem;color:var(--text);margin-bottom:.5rem}.footer__date{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.btn{display:inline-block;font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:1rem 2.5rem;border:1px solid var(--gold);color:var(--gold);background:transparent;cursor:pointer;transition:all .4s var(--ease-out);text-decoration:none}.btn:hover{background:var(--gold);color:var(--white)}.btn--light{border-color:var(--gold-light);color:var(--gold-light);opacity:0;animation:fadeUp 1s var(--ease-out) 1.1s forwards}.btn--light:hover{background:var(--gold-light);color:var(--text)}.hero__buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeUp 1s var(--ease-out) 1.1s forwards}.hero__buttons .btn--light{opacity:1;animation:none}{background:var(--gold-light);color:var(--text)}.btn--large{font-size:.8rem;letter-spacing:.25em;padding:1.15rem 3.5rem}@media (max-width: 480px){.hero__names{font-size:clamp(2.5rem,12vw,4rem)}.hero__countdown{gap:1rem}.countdown__number{font-size:2rem}}
