:root{--color-primary: #6B7B5E;--color-primary-dark: #4A5A42;--color-primary-light: #8B9B7E;--color-accent: #D4A574;--color-accent-dark: #B8860B;--color-background: #F5F0EB;--color-background-alt: #FDFCFA;--color-text: #2C3E2D;--color-text-light: #5A5A5A;--color-white: #FFFFFF;--color-ivory: #FAF8F5;--color-border: rgba(107, 123, 94, .2);--font-heading: "Cormorant Garamond", Georgia, serif;--font-body: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--spacing-3xl: 6rem;--transition-fast: .2s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--shadow-sm: 0 2px 8px rgba(44, 62, 45, .08);--shadow-md: 0 4px 16px rgba(44, 62, 45, .1);--shadow-lg: 0 8px 32px rgba(44, 62, 45, .12);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-full: 50%;--container-max: 1200px;--container-padding: 1.5rem}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);font-weight:300;line-height:1.7;color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::selection{background-color:var(--color-primary);color:var(--color-white)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;line-height:1.3;color:var(--color-text)}h1{font-size:clamp(2.5rem,8vw,4.5rem)}h2{font-size:clamp(2rem,5vw,3rem)}h3{font-size:clamp(1.25rem,3vw,1.75rem)}p{margin-bottom:1rem}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.section{padding:var(--spacing-3xl) 0;position:relative}.section:nth-child(2n){background-color:var(--color-background-alt)}.section-header{text-align:center;margin-bottom:var(--spacing-2xl)}.section-subtitle{display:block;font-family:var(--font-body);font-size:.875rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--spacing-sm)}.section-title{color:var(--color-text);margin-bottom:var(--spacing-md)}.section-ornament{width:60px;height:2px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);margin:0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:.875rem 2rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base)}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.btn-secondary:hover{background-color:var(--color-primary);color:var(--color-white)}.btn-full{width:100%}.nav{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:transparent;transition:all var(--transition-base)}.nav.scrolled{background-color:#fdfcfaf2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}.nav-container{display:flex;align-items:center;justify-content:center;max-width:var(--container-max);margin:0 auto;padding:var(--spacing-lg) var(--container-padding);position:relative}@media (min-width: 1280px){.nav-container{padding:var(--spacing-sm) var(--container-padding)}}.nav-logo{position:absolute;left:var(--container-padding);font-family:var(--font-heading);font-size:1.5rem;font-weight:400;color:var(--color-text);letter-spacing:.05em;opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity var(--transition-base),transform var(--transition-base),color var(--transition-base)}.nav-logo.visible{opacity:1;transform:translateY(0);pointer-events:auto}.nav-logo:hover{color:var(--color-accent)}.nav-logo-ampersand{color:var(--color-accent);font-style:italic}.nav.scrolled .nav-logo:hover{color:var(--color-accent)}.nav-toggle{position:absolute;right:var(--container-padding);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;justify-content:center;gap:5px;width:30px;height:30px;background:transparent;border:none;cursor:pointer;z-index:1100}.nav-toggle span{display:block;width:100%;height:2px;background-color:var(--color-white);transition:all var(--transition-base)}.nav.scrolled .nav-toggle span,.nav.menu-open .nav-toggle span{background-color:var(--color-text)}.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.nav-menu{position:fixed;top:0;right:-100%;width:100%;max-width:300px;height:100vh;background-color:var(--color-background-alt);list-style:none;display:flex;flex-direction:column;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-2xl);transition:right var(--transition-base);box-shadow:var(--shadow-lg);z-index:1050}.nav-menu.active{right:0}.nav-link{font-family:var(--font-body);font-size:1rem;font-weight:400;color:var(--color-text);transition:color var(--transition-fast)}.nav-link:hover{color:var(--color-accent)}@media (min-width: 1280px){.nav-toggle{display:none}.nav-container{justify-content:center;transition:justify-content var(--transition-base)}.nav.scrolled .nav-container{justify-content:flex-end}.nav-logo{position:absolute;left:var(--container-padding)}.nav-menu{position:static;flex-direction:row;width:auto;max-width:none;height:auto;background:transparent;padding:0;box-shadow:none;gap:var(--spacing-md)}.nav-link{font-size:.75rem;letter-spacing:.03em;color:var(--color-white)}.nav.scrolled .nav-link{color:var(--color-text)}.nav-link:hover{color:var(--color-accent)}}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-3xl) var(--container-padding);background:linear-gradient(135deg,#6b7b5e,#4a5a42,#3d4a35);overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.5}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,transparent 0%,rgba(44,62,45,.3) 100%)}.hero-content{position:relative;z-index:1;max-width:800px}.hero-subtitle{font-family:var(--font-body);font-size:.875rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;text-align:center;color:#fffc;margin-bottom:var(--spacing-lg)}.hero-title{color:var(--color-white);margin-bottom:var(--spacing-lg)}.hero-title .name{display:block;font-size:clamp(2.5rem,10vw,5rem);font-weight:300;font-style:italic}.hero-title .ampersand{display:block;font-size:clamp(1.5rem,5vw,2.5rem);color:var(--color-accent);margin:var(--spacing-xs) 0}.hero-date{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.hero-date .date{font-family:var(--font-heading);font-size:clamp(1.25rem,4vw,1.75rem);font-weight:400;letter-spacing:.1em;color:var(--color-white)}.date-ornament{width:40px;height:1px;background-color:var(--color-accent)}.hero-location{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1rem;font-weight:300;color:#fffc;margin-bottom:var(--spacing-2xl)}.hero-location svg{flex-shrink:0;color:var(--color-accent)}.hero-scroll{display:inline-flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);font-size:.75rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:#ffffffb3;transition:color var(--transition-fast)}.hero-scroll:hover{color:var(--color-accent)}.hero-scroll svg{animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(5px)}60%{transform:translateY(3px)}}.countdown{position:absolute;top:auto;bottom:var(--spacing-2xl);left:0;right:0;display:flex;justify-content:center;gap:var(--spacing-lg);z-index:1}.countdown-item{text-align:center}.countdown-number{display:block;font-family:var(--font-heading);font-size:clamp(1.5rem,5vw,2.5rem);font-weight:300;color:var(--color-white);line-height:1}.countdown-label{font-size:.625rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:#fff9}.animate-fade-in{opacity:0;animation:fadeIn 1s ease forwards}.animate-fade-in-delay{opacity:0;animation:fadeIn 1s ease .3s forwards}.animate-fade-in-delay-2{opacity:0;animation:fadeIn 1s ease .6s forwards}.animate-fade-in-delay-3{opacity:0;animation:fadeIn 1s ease .9s forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scroll-animate{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.scroll-animate.visible{opacity:1;transform:translateY(0)}.story-content{display:grid;gap:var(--spacing-2xl);align-items:center}@media (min-width: 768px){.story-content{grid-template-columns:1fr 1fr}}.story-text{order:2}@media (min-width: 768px){.story-text{order:1}}.story-paragraph{font-size:1rem;color:var(--color-text-light);margin-bottom:var(--spacing-md)}.story-paragraph:last-child{margin-bottom:0}.story-image{order:1}@media (min-width: 768px){.story-image{order:2}}.image-frame{position:relative;padding:var(--spacing-md);background-color:var(--color-white);box-shadow:var(--shadow-md)}.image-frame:before{content:"";position:absolute;top:var(--spacing-sm);left:var(--spacing-sm);right:var(--spacing-sm);bottom:var(--spacing-sm);border:1px solid var(--color-border);pointer-events:none}.image-placeholder{aspect-ratio:4/5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);background-color:var(--color-background);color:var(--color-text-light);font-size:.875rem}.story-photo{width:100%;height:auto;display:block;object-fit:cover}.timeline{position:relative;max-width:600px;margin:0 auto}.timeline:before{content:"";position:absolute;top:0;left:24px;width:2px;height:100%;background:linear-gradient(180deg,var(--color-accent),var(--color-primary))}@media (min-width: 768px){.timeline:before{left:50%;transform:translate(-50%)}}.timeline-item{position:relative;display:flex;gap:var(--spacing-lg);padding-bottom:var(--spacing-2xl);padding-left:60px}@media (min-width: 768px){.timeline-item{padding-left:0}.timeline-item:nth-child(odd){flex-direction:row-reverse;text-align:right}.timeline-item:nth-child(odd) .timeline-content{padding-right:calc(50% + 40px);padding-left:0}.timeline-item:nth-child(2n) .timeline-content{padding-left:calc(50% + 40px)}}.timeline-item:last-child{padding-bottom:0}.timeline-icon{position:absolute;left:0;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background-color:var(--color-white);border:2px solid var(--color-accent);border-radius:var(--radius-full);color:var(--color-primary);z-index:1}@media (min-width: 768px){.timeline-icon{left:50%;transform:translate(-50%)}}.timeline-content{flex:1}.timeline-time{display:inline-block;font-family:var(--font-heading);font-size:1.25rem;font-weight:500;color:var(--color-accent);margin-bottom:var(--spacing-xs)}.timeline-title{font-size:1.25rem;margin-bottom:var(--spacing-xs)}.timeline-description{font-size:.9375rem;color:var(--color-text-light);line-height:1.6}.location-grid{display:grid;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}@media (min-width: 768px){.location-grid{grid-template-columns:repeat(2,1fr)}}.location-card{padding:var(--spacing-xl);background-color:var(--color-white);border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);cursor:pointer;border:2px solid transparent}.location-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.location-card.selected{border-color:var(--color-accent);box-shadow:var(--shadow-md)}.location-card.featured,.location-card.featured.selected{border-color:var(--color-accent)}.location-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background-color:var(--color-background);border-radius:var(--radius-full);color:var(--color-primary);margin-bottom:var(--spacing-md)}.location-name{font-size:1.5rem;margin-bottom:var(--spacing-xs)}.location-type{font-size:.875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--spacing-sm)}.location-address{font-size:.9375rem;color:var(--color-text-light);line-height:1.6;margin-bottom:var(--spacing-md)}.location-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;font-weight:500;color:var(--color-primary)}.location-link:hover{color:var(--color-accent)}.map-container{border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md)}.map-container iframe{display:block}.dresscode-content{max-width:700px;margin:0 auto;text-align:center}.dresscode-text{margin-bottom:var(--spacing-xl)}.dresscode-main{font-family:var(--font-heading);font-size:2rem;color:var(--color-text);margin-bottom:var(--spacing-sm)}.dresscode-description{font-size:1rem;color:var(--color-text-light)}.dresscode-colors{padding:var(--spacing-xl);background-color:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-xl)}.colors-label{font-size:.875rem;font-weight:500;margin-bottom:var(--spacing-md)}.color-palette{display:flex;justify-content:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-md)}.color-swatch{width:50px;height:50px;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:help;transition:transform var(--transition-fast)}.color-swatch:hover{transform:scale(1.1)}.colors-note{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-size:.875rem;color:var(--color-text-light);font-style:italic}.dresscode-icons{display:flex;justify-content:center;gap:var(--spacing-2xl)}.dresscode-icon-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.icon-circle{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background-color:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-primary)}.dresscode-icon-item span{font-size:.875rem;color:var(--color-text-light)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}@media (min-width: 768px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}}.gallery-item{position:relative;overflow:hidden;border-radius:var(--radius-md);background-color:var(--color-white);box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base)}.gallery-item:hover{transform:scale(1.02);box-shadow:var(--shadow-md)}.gallery-placeholder{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);background-color:var(--color-background);color:var(--color-text-light);font-size:.75rem;position:relative;overflow:hidden}.gallery-placeholder img,.gallery-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.gallery-placeholder>svg,.gallery-placeholder>span{position:relative;z-index:1}.gallery-item.large{grid-column:span 2}.gallery-item.large .gallery-placeholder{aspect-ratio:2/1}@media (max-width: 767px){.gallery-item.large{grid-column:1 / -1}.gallery-item.large .gallery-placeholder{aspect-ratio:auto;height:auto;display:block;padding:0;background-color:var(--color-background);overflow:visible}.gallery-item.large .gallery-placeholder img,.gallery-item.large .gallery-image{position:static;inset:auto;width:100%;height:auto;object-fit:contain;display:block;border-radius:var(--radius-md);background-color:var(--color-background)}}@media (min-width: 768px){.gallery-item.large{grid-column:span 1;grid-row:span 2}.gallery-item.large .gallery-placeholder{aspect-ratio:auto;height:100%}}.gifts-content{max-width:600px;margin:0 auto;text-align:center}.gifts-icon{display:inline-flex;align-items:center;justify-content:center;width:100px;height:100px;background-color:var(--color-white);border-radius:var(--radius-full);color:var(--color-accent);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl)}.gifts-text{font-size:1.0625rem;color:var(--color-text-light);margin-bottom:var(--spacing-lg)}.gifts-note{padding:var(--spacing-lg);background-color:var(--color-white);border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);text-align:left}.gifts-note p{font-size:.9375rem;color:var(--color-text-light);margin:0;font-style:italic}.rsvp-content{max-width:500px;margin:0 auto;text-align:center}.rsvp-text{font-size:1rem;color:var(--color-text-light);margin-bottom:var(--spacing-xl)}.rsvp-text strong{color:var(--color-text)}.rsvp-hints{display:flex;justify-content:center;margin-bottom:var(--spacing-xl)}.rsvp-hint{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-white);border-radius:var(--radius-md);border-left:3px solid var(--color-accent);box-shadow:var(--shadow-sm);text-align:left;max-width:500px}.rsvp-hint svg{flex-shrink:0;color:var(--color-accent);margin-top:2px}.rsvp-hint p{margin:0;font-size:.875rem;color:var(--color-text-light);line-height:1.6}.rsvp-hint strong{color:var(--color-text)}.rsvp-actions{position:relative;display:inline-block;margin-bottom:var(--spacing-xl);z-index:100}.calendar-dropdown{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:200px;background-color:var(--color-white);border-radius:var(--radius-md);box-shadow:0 10px 40px #0003;overflow:visible;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),visibility var(--transition-fast);z-index:9999}.calendar-dropdown.active{opacity:1;visibility:visible}.calendar-option{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-body);font-size:.875rem;color:var(--color-text);background:none;border:none;cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast),color var(--transition-fast)}.calendar-option:hover{background-color:var(--color-background);color:var(--color-primary)}.rsvp-form-container{position:relative;z-index:1;padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.rsvp-form-title{font-size:1rem;color:var(--color-text-light);margin-bottom:var(--spacing-lg)}.rsvp-form{text-align:left}.form-group{margin-bottom:var(--spacing-md)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-body);font-size:1rem;color:var(--color-text);background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6b7b5e1a}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-light)}.form-group textarea{min-height:100px;resize:vertical}.rsvp-success{display:none;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-2xl);color:var(--color-primary)}.rsvp-success.active{display:flex}.rsvp-success h3{font-size:1.5rem}.rsvp-success p{color:var(--color-text-light)}.faq-list{max-width:700px;margin:0 auto}.faq-item{border-bottom:1px solid var(--color-border)}.faq-item:last-child{border-bottom:none}.faq-question{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--spacing-lg) 0;font-family:var(--font-body);font-size:1rem;font-weight:400;color:var(--color-text);background:transparent;border:none;cursor:pointer;text-align:left;transition:color var(--transition-fast)}.faq-question:hover{color:var(--color-primary)}.faq-question svg{flex-shrink:0;color:var(--color-accent);transition:transform var(--transition-base)}.faq-item.active .faq-question svg{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--transition-base)}.faq-item.active .faq-answer{max-height:500px}.faq-answer p{padding-bottom:var(--spacing-lg);font-size:.9375rem;color:var(--color-text-light);line-height:1.7}.contact-content{max-width:700px;margin:0 auto;text-align:center}.contact-text{font-size:1rem;color:var(--color-text-light);margin-bottom:var(--spacing-xl)}.contact-cards{display:grid;gap:var(--spacing-lg)}@media (min-width: 600px){.contact-cards{grid-template-columns:repeat(2,1fr)}}.contact-card{padding:var(--spacing-xl);background-color:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.contact-avatar{width:60px;height:60px;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-md);font-family:var(--font-heading);font-size:1.5rem;color:var(--color-white);background-color:var(--color-primary);border-radius:var(--radius-full)}.contact-card h3{font-size:1.25rem;margin-bottom:var(--spacing-md)}.contact-link{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-xs) 0;font-size:.875rem;color:var(--color-text-light)}.contact-link:hover{color:var(--color-primary)}.footer{position:relative;padding:var(--spacing-3xl) 0 var(--spacing-2xl);background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%);color:var(--color-white);text-align:center;overflow:hidden}.footer:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}.footer-decoration{position:absolute;top:0;left:50%;transform:translate(-50%);color:#ffffff26}.footer-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.footer-monogram{display:flex;align-items:center;gap:var(--spacing-sm);font-family:var(--font-heading);font-size:2.5rem;font-weight:400;letter-spacing:.1em}.footer-heart-icon{color:var(--color-accent);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.footer-names{font-family:var(--font-heading);font-size:1.5rem;font-weight:400;letter-spacing:.05em;opacity:.9}.footer-ornament{width:80px;height:2px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);margin:var(--spacing-xs) 0}.footer-date{font-family:var(--font-body);font-size:1.125rem;font-weight:300;letter-spacing:.2em;color:var(--color-accent)}.footer-quote{font-size:.9375rem;font-style:italic;opacity:.7;max-width:450px;margin:var(--spacing-sm) 0 0;line-height:1.8}.footer-bottom{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid rgba(255,255,255,.1);font-size:.8125rem;letter-spacing:.05em;opacity:.6}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media print{.nav,.hero-scroll,.countdown,.btn,.map-container,.rsvp-form-container{display:none!important}.section{padding:2rem 0;page-break-inside:avoid}}
