:root{--color-primary: #6b705c;--color-secondary: #a5a58d;--color-accent: #ddbea9;--color-light: #f0efeb;--color-dark: #3f4238;--color-white: #ffffff;--color-body: #84837e;--font-serif: "Cormorant Garamond", serif;--font-sans: "Lato", sans-serif;--container-width: 1000px;--radius: 12px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--color-dark);background-color:var(--color-body);line-height:1.6}.container{width:90%;max-width:var(--container-width);margin:0 auto}.container-narrow{max-width:600px}.text-center{text-align:center}.section{padding:5rem 0}.bg-white{background-color:var(--color-white)}.bg-light{background-color:var(--color-light)}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:700}.section-title{font-size:2.5rem;color:var(--color-primary);margin-bottom:3rem;text-align:center}.btn{display:inline-block;padding:12px 35px;border-radius:50px;text-transform:uppercase;font-size:.85rem;letter-spacing:2px;font-weight:700;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 6px #0000001a}.btn-primary{background-color:var(--color-white);color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-secondary);color:var(--color-white);transform:translateY(-3px)}.btn-white{background-color:var(--color-white);color:var(--color-primary)}.btn-white:hover{background-color:var(--color-secondary);color:var(--color-white);box-shadow:0 10px 20px #0003}.hero{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006;z-index:2}.hero-content{position:relative;z-index:3;text-align:center}.hero:after{content:"";position:absolute;top:0;left:0;width:100%;height:100px;background:linear-gradient(to bottom,var(--color-body),transparent);z-index:2;pointer-events:none}.pre-title{text-transform:uppercase;letter-spacing:3px;font-size:.9rem}.hero .date{font-size:1.5rem;font-style:italic;margin-bottom:2rem}.scroll-cue{position:absolute;bottom:32px;left:50%;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--color-white);text-decoration:none;font-size:1rem;letter-spacing:2px;text-transform:uppercase;opacity:.9}.scroll-cue-arrow{font-size:2rem;line-height:1;animation:cue-bounce 1.6s infinite}.scroll-cue:hover{opacity:1}@keyframes cue-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.ornament{font-size:3rem;color:var(--color-primary);display:block;margin-bottom:1rem}.parallax-divider{height:300px;background-image:url(https://source.unsplash.com/random/1920x600/?flowers,bouquet);background-size:cover;background-position:center;background-attachment:fixed}.grid-2{display:grid;grid-template-columns:1fr;gap:2rem}.card{background:var(--color-white);padding:2.5rem;border-radius:var(--radius);text-align:center;border:1px solid rgba(165,165,141,.3);transition:transform .3s ease}.card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000000d}.card .icon{font-size:3rem;margin-bottom:1rem}.card h3{font-size:1.8rem;margin-bottom:.5rem}.card .time{color:var(--color-primary);font-weight:700;text-transform:uppercase;font-size:.9rem;margin-bottom:1rem}.link-styled{color:var(--color-primary);text-decoration:underline;font-weight:700;text-transform:uppercase;font-size:.8rem}.timeline{position:relative;border-left:2px solid rgba(107,112,92,.3);margin-left:20px;padding-left:40px}.timeline-item{position:relative;margin-bottom:3rem}.timeline-item:last-child{margin-bottom:0}.timeline-number{position:absolute;left:-53px;top:0;width:25px;height:25px;background:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}.timeline-time{display:block;font-weight:700;color:var(--color-primary);margin-bottom:.2rem}.rsvp-section{background-color:var(--color-primary);color:var(--color-white);text-align:center}.rsvp-section h2{color:var(--color-white)}.rsvp-section p{margin-bottom:2rem;font-size:1.2rem;opacity:.9}footer{background-color:var(--color-dark);color:#fff9;text-align:center;padding:2rem;font-size:.8rem}@media(min-width:768px){.hero h1{font-size:6rem}.grid-2{grid-template-columns:1fr 1fr;gap:4rem}}
