:root{--color-background: #f9f5f0;--color-primary: #7c9a7e;--color-accent: #c17f5a;--color-text: #4a3f35;--color-text-light: #7a6e65;--color-border: #e0d5c8;--color-white: #ffffff;--font-heading: "Cormorant Garamond", serif;--font-body: "Jost", sans-serif;--max-width: 1100px;--section-padding: 80px 20px}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--color-background);color:var(--color-text);font-family:var(--font-body);font-weight:300;line-height:1.7}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:400;line-height:1.3}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{max-width:var(--max-width);margin:0 auto;padding:var(--section-padding)}button{cursor:pointer;font-family:var(--font-body)}.navbar{display:flex;align-items:center;justify-content:space-between;padding:20px 40px;background-color:var(--color-white);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.navbar-brand a{font-family:var(--font-heading);font-size:1.5rem;color:var(--color-text);letter-spacing:.05em}.navbar-links{display:flex;list-style:none;gap:30px}.navbar-links a{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-light);transition:color .2s}.navbar-links a:hover{color:var(--color-accent)}.navbar-toggle{display:none;background:none;border:none;font-size:1.5rem;color:var(--color-text)}@media(max-width:768px){.navbar{padding:15px 20px}.navbar-brand a{font-size:1.2rem}.navbar-toggle{display:block}.navbar-links{display:none;flex-direction:column;position:absolute;top:62px;left:0;right:0;background-color:var(--color-white);padding:20px 40px;border-bottom:1px solid var(--color-border);gap:20px}.navbar-links.open{display:flex}.navbar-links a{font-size:.95rem}}.footer{text-align:center;padding:40px 20px;border-top:1px solid var(--color-border);background-color:var(--color-white);margin-top:60px}.footer p{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-light)}.footer-credit{margin-top:8px;font-size:.75rem!important;color:var(--color-border)!important}@media(max-width:768px){.footer{padding:30px 20px}}.countdown{text-align:center;padding:60px 20px;background-color:var(--color-white);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.countdown-label{font-family:var(--font-heading);font-size:1.3rem;color:var(--color-text-light);margin-bottom:30px;letter-spacing:.05em}.countdown-grid{display:flex;justify-content:center;gap:40px}.countdown-item{display:flex;flex-direction:column;align-items:center}.countdown-number{font-family:var(--font-heading);font-size:3.5rem;color:var(--color-accent);line-height:1}.countdown-unit{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-light);margin-top:8px}@media(max-width:768px){.countdown{padding:40px 20px}.countdown-label{font-size:1rem}.countdown-grid{gap:20px}.countdown-number{font-size:2.5rem}.countdown-unit{font-size:.65rem}}.hero{width:100%;height:500px;background-image:url(/assets/home-hero-Bnb0Eeuq.jpg);background-color:var(--color-border);display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center}.hero-overlay{text-align:center;padding:20px}.hero h1{font-size:4rem;color:var(--color-text);letter-spacing:.05em}.hero-date{font-size:1rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-light);margin-top:15px}.story-section{text-align:center;max-width:700px}.story-section h2{font-size:2.5rem;margin-bottom:20px;color:var(--color-text)}.story-section p{color:var(--color-text-light);font-size:1.05rem}@media(max-width:768px){.hero{height:350px}.hero h1{font-size:2.5rem}.hero-date{font-size:.85rem}.story-section h2{font-size:1.8rem}.story-section p{font-size:.95rem}}.events-hero{width:100%;height:400px;background-image:url(/assets/events-hero-CyW1EMKX.png);background-color:var(--color-border);display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center}.events-hero-overlay{text-align:center;padding:20px}.events-hero-overlay h1{font-size:3.5rem;color:var(--color-text)}.events-hero-overlay p{font-size:1rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-light);margin-top:10px}.events-list{display:flex;flex-direction:column;gap:40px}.event-card{display:flex;gap:40px;padding:40px;background-color:var(--color-white);border:1px solid var(--color-border);border-radius:4px}.event-date{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:70px;padding-top:5px}.event-month{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-light)}.event-day{font-family:var(--font-heading);font-size:3rem;color:var(--color-accent);line-height:1}.event-details h2{font-size:1.8rem;margin-bottom:10px}.event-meta{font-size:.9rem;color:var(--color-text-light);margin-bottom:5px}.event-directions{display:inline-block;margin:10px 0;font-size:.85rem;color:var(--color-primary);letter-spacing:.05em;transition:color .2s}.event-directions:hover{color:var(--color-accent)}.event-description{margin-top:10px;color:var(--color-text-light);font-size:.95rem}@media(max-width:768px){.events-hero{height:300px}.events-hero-overlay h1{font-size:2.5rem}.events-hero-overlay p{font-size:.85rem}.event-card{flex-direction:column;gap:20px;padding:25px}.event-date{flex-direction:row;gap:10px;align-items:center}.event-day{font-size:2rem}.event-details h2{font-size:1.4rem}}.rsvp-hero{width:100%;height:400px;background-image:url(/assets/rsvp-hero-BxED_gAn.png);background-color:var(--color-border);display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center}.rsvp-hero-overlay{text-align:center;padding:20px}.rsvp-hero-overlay h1{font-size:3.5rem;color:var(--color-text)}.rsvp-hero-overlay p{font-size:1rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-light);margin-top:10px}.rsvp-intro{text-align:center;max-width:700px;padding-bottom:0}.rsvp-intro p{color:var(--color-text-light);font-size:1.05rem}.rsvp-forms{display:flex;flex-direction:column;gap:40px}.rsvp-card{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:4px;overflow:hidden}.rsvp-card-header{padding:30px 40px;border-bottom:1px solid var(--color-border);background-color:var(--color-background)}.rsvp-card-date{font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent)}.rsvp-card-header h2{font-size:1.8rem;margin-top:5px}.rsvp-card-meta{font-size:.9rem;color:var(--color-text-light);margin-top:5px}.rsvp-card-body{padding:30px 40px;display:flex;flex-direction:column;gap:20px}.rsvp-card-body p{color:var(--color-text-light);font-size:.95rem}.rsvp-button{display:inline-block;align-self:flex-start;padding:12px 30px;background-color:var(--color-accent);color:var(--color-white);border-radius:4px;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;transition:background-color .2s}.rsvp-button:hover{background-color:var(--color-primary)}@media(max-width:768px){.rsvp-hero{height:300px}.rsvp-hero-overlay h1{font-size:2.5rem}.rsvp-hero-overlay p{font-size:.85rem}.rsvp-card-header{padding:20px 25px}.rsvp-card-header h2{font-size:1.4rem}.rsvp-card-body{padding:20px 25px}.rsvp-button{width:100%;text-align:center}}.travel-hero{width:100%;height:400px;background-image:url(/assets/travel-hero-DCbmM9bt.png);background-color:var(--color-border);display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center}.travel-hero-overlay{text-align:center;padding:20px}.travel-hero-overlay h1{font-size:3.5rem;color:var(--color-text)}.travel-hero-overlay p{font-size:1rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-light);margin-top:10px}.travel-content{display:flex;flex-direction:column;gap:60px}.travel-section h2{font-size:2.2rem;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid var(--color-border)}.travel-section-intro{color:var(--color-text-light);font-size:1rem;margin-bottom:25px}.travel-card{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:4px;padding:30px;margin-bottom:20px;display:flex;flex-direction:column;gap:12px}.travel-card h3{font-size:1.4rem;color:var(--color-text)}.travel-card p{color:var(--color-text-light);font-size:.95rem;line-height:1.7}.travel-link{font-size:.85rem;color:var(--color-primary);letter-spacing:.05em;transition:color .2s;align-self:flex-start}.travel-link:hover{color:var(--color-accent)}.hotel-card{border-color:var(--color-primary);background-color:var(--color-background)}.travel-button{display:inline-block;align-self:flex-start;padding:12px 30px;background-color:var(--color-accent);color:var(--color-white);border-radius:4px;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;transition:background-color .2s;margin-top:5px}.travel-button:hover{background-color:var(--color-primary)}.travel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.travel-grid .travel-card{margin-bottom:0}@media(max-width:768px){.travel-hero{height:300px}.travel-hero-overlay h1{font-size:2.5rem}.travel-hero-overlay p{font-size:.85rem}.travel-section h2{font-size:1.8rem}.travel-grid{grid-template-columns:1fr}.travel-button{width:100%;text-align:center}}.wedding-party-hero{width:100%;height:400px;background-color:var(--color-border);display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center}.wedding-party-hero-overlay{text-align:center;padding:20px}.wedding-party-hero-overlay h1{font-size:3.5rem;color:var(--color-text)}.wedding-party-hero-overlay p{font-size:1rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-light);margin-top:10px}.wedding-party-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.member-card{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:4px;overflow:hidden}.member-photo{width:100%;height:300px;overflow:hidden}.member-photo img{width:100%;height:100%;object-fit:cover}.member-photo-placeholder{width:100%;height:100%;background-color:var(--color-border);display:flex;align-items:center;justify-content:center}.member-photo-placeholder span{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-light)}.member-info{padding:25px 30px}.member-info h2{font-size:1.6rem;margin-bottom:5px}.member-role{font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent);margin-bottom:15px}.member-bio{font-size:.95rem;color:var(--color-text-light);line-height:1.7}@media(max-width:768px){.wedding-party-hero{height:300px}.wedding-party-hero-overlay h1{font-size:2.5rem}.wedding-party-grid{grid-template-columns:1fr}.member-photo{height:250px}.member-info{padding:20px}.member-info h2{font-size:1.4rem}}.gallery-hero{width:100%;height:400px;background-color:var(--color-border);display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center}.gallery-hero-overlay{text-align:center;padding:20px}.gallery-hero-overlay h1{font-size:3.5rem;color:var(--color-text)}.gallery-hero-overlay p{font-size:1rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-light);margin-top:10px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-empty{grid-column:1 / -1;text-align:center;color:var(--color-text-light);font-size:1rem;padding:60px 0}.gallery-item{width:100%;aspect-ratio:1;overflow:hidden;border-radius:4px;border:1px solid var(--color-border);cursor:pointer;position:relative}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-item-overlay{position:absolute;inset:0;background-color:#0003;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.gallery-item:hover .gallery-item-overlay{opacity:1}.gallery-item-overlay span{color:#fff;font-size:.85rem;letter-spacing:.15em;text-transform:uppercase}.lightbox{position:fixed;inset:0;background-color:#000000eb;display:flex;align-items:center;justify-content:center;z-index:1000}.lightbox-content{max-width:90vw;max-height:85vh;display:flex;align-items:center;justify-content:center}.lightbox-content img{max-width:100%;max-height:85vh;object-fit:contain;border-radius:4px}.lightbox-close{position:absolute;top:20px;right:30px;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;transition:color .2s}.lightbox-close:hover{color:var(--color-accent)}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;font-size:4rem;cursor:pointer;padding:20px;transition:color .2s}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-prev:hover,.lightbox-next:hover{color:var(--color-accent)}@media(max-width:768px){.gallery-hero{height:300px}.gallery-hero-overlay h1{font-size:2.5rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}.lightbox-prev{left:5px}.lightbox-next{right:5px}.lightbox-prev,.lightbox-next{font-size:3rem}}
