:root{--color-cream:#faf9f7;--color-blush:#f5e6e0;--color-sage:#9caa97;--color-sage-dark:#7a8c76;--color-charcoal:#3d3d3d;--color-warm-gray:#6b6b6b;--color-gold:#c9a962;--font-serif:'Cormorant Garamond', Georgia, serif;--font-sans:'Montserrat', -apple-system, sans-serif;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:6rem}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background-color:var(--color-cream);color:var(--color-charcoal);font-family:var(--font-sans);font-weight:300;line-height:1.7}h1,h2,h3,h4,h5{font-family:var(--font-serif);font-weight:400;line-height:1.2}a{color:var(--color-sage-dark);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-gold)}.site-header{position:fixed;top:0;left:0;right:0;background:rgba(250,249,247,.95);backdrop-filter:blur(10px);z-index:100;border-bottom:1px solid rgba(0,0,0,5%)}.header-inner{max-width:1200px;margin:0 auto;padding:var(--spacing-sm)var(--spacing-md);display:flex;justify-content:space-between;align-items:center}.site-logo{text-decoration:none;display:flex;flex-direction:column}.site-logo .couple-names{font-family:var(--font-serif);font-size:1.5rem;font-weight:500;color:var(--color-charcoal);letter-spacing:.05em}.header-date{font-family:var(--font-sans);font-size:.7rem;color:var(--color-warm-gray);letter-spacing:.15em;text-transform:uppercase}.menu-toggle{display:none;background:0 0;border:none;cursor:pointer;padding:var(--spacing-xs);flex-direction:column;gap:5px}.menu-toggle-bar{display:block;width:24px;height:2px;background:var(--color-charcoal);transition:transform .3s ease,opacity .3s ease}.menu-toggle.active .menu-toggle-bar:nth-child(1){transform:translateY(7px)rotate(45deg)}.menu-toggle.active .menu-toggle-bar:nth-child(2){opacity:0}.menu-toggle.active .menu-toggle-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}nav ul{display:flex;gap:var(--spacing-md);list-style:none}nav a{font-family:var(--font-sans);font-size:.85rem;font-weight:400;text-transform:uppercase;letter-spacing:.1em;color:var(--color-warm-gray);padding:var(--spacing-xs)0;position:relative}nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--color-gold);transition:width .3s ease}nav a:hover::after,nav a.active::after{width:100%}nav a:hover,nav a.active{color:var(--color-charcoal)}.site-main{padding-top:80px}.hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-xl)var(--spacing-md)var(--spacing-md);background:linear-gradient(180deg,var(--color-blush) 0%,var(--color-cream) 100%)}.hero-names{font-family:var(--font-serif);font-size:clamp(3rem,10vw,6rem);font-weight:400;font-style:italic;color:var(--color-charcoal);margin-bottom:var(--spacing-sm)}.hero-tagline{font-family:var(--font-sans);font-size:.9rem;font-weight:300;text-transform:uppercase;letter-spacing:.3em;color:var(--color-warm-gray);margin-bottom:var(--spacing-lg)}.hero-photo{margin-bottom:var(--spacing-md)}.hero-photo img{max-width:500px;width:100%;border-radius:4px;box-shadow:0 4px 20px rgba(0,0,0,.1)}.hero-date{font-family:var(--font-serif);font-size:2rem;color:var(--color-sage-dark);margin-bottom:var(--spacing-xs)}.hero-venue{font-family:var(--font-sans);font-size:1.2rem;color:var(--color-warm-gray)}.hero-schedule{margin-top:var(--spacing-lg)}.hero-schedule-title{font-family:var(--font-serif);font-size:2rem;color:var(--color-sage-dark);margin-bottom:var(--spacing-md)}.hero-schedule-section{font-family:var(--font-serif);font-size:1.4rem;color:var(--color-sage-dark);margin-top:var(--spacing-md);margin-bottom:var(--spacing-xs)}.hero-schedule-item{margin-bottom:var(--spacing-sm)}.hero-schedule-time{font-family:var(--font-serif);font-size:1.6rem;color:var(--color-sage-dark);margin-bottom:0}.hero-schedule-activity{font-family:var(--font-sans);font-size:1.2rem;color:var(--color-warm-gray);margin-bottom:0}.divider{display:flex;align-items:center;justify-content:center;margin:var(--spacing-md)0}.divider::before,.divider::after{content:'';width:60px;height:1px;background:var(--color-sage)}.divider-symbol{margin:0 var(--spacing-sm);color:var(--color-gold);font-size:1.2rem}.section{padding:var(--spacing-lg)var(--spacing-md);max-width:800px;margin:0 auto}.section-title{font-family:var(--font-serif);font-size:2.5rem;text-align:center;margin-bottom:var(--spacing-lg);color:var(--color-charcoal)}.section-content{font-size:1.1rem;line-height:1.9}.section-content p{margin-bottom:var(--spacing-md)}.section-content ul{padding-left:var(--spacing-md);margin-bottom:var(--spacing-md)}.section-content img{max-width:100%;border-radius:4px;box-shadow:0 4px 20px rgba(0,0,0,.1)}.section-content hr+p{font-size:.75rem;line-height:1.5;color:var(--color-warm-gray)}.commentary{background:#e8ede7;border-left:3px solid var(--color-sage);padding:var(--spacing-sm)var(--spacing-md);margin:var(--spacing-md)0;border-radius:0 4px 4px 0}.commentary-label{font-family:var(--font-serif);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-sage-dark);margin-bottom:.25rem}.commentary p{font-style:italic;color:var(--color-warm-gray);margin-bottom:0}.section-content figure{margin:var(--spacing-md)0;text-align:center}.section-content figure img{max-width:100%;border-radius:4px;box-shadow:0 4px 20px rgba(0,0,0,.1)}.section-content figure figcaption{font-size:.9rem;color:var(--color-warm-gray);margin-top:var(--spacing-xs);font-style:italic}.page-header{background:linear-gradient(180deg,var(--color-blush) 0%,var(--color-cream) 100%);padding:var(--spacing-lg)var(--spacing-md)var(--spacing-md);text-align:center}.page-header-figure{margin:0}.page-header-figure figcaption{font-size:.9rem;color:var(--color-text-light,#666);margin-top:var(--spacing-xs,.25rem);font-style:italic}.page-header-image{max-width:500px;width:100%;border-radius:4px;margin-top:var(--spacing-md)}.page-title{font-family:var(--font-serif);font-size:clamp(2.5rem,6vw,4rem);font-weight:400;color:var(--color-charcoal)}.countdown{display:flex;flex-direction:column;align-items:center}.countdown-number{font-family:var(--font-serif);font-size:3rem;color:var(--color-sage-dark)}.countdown-text{font-family:var(--font-serif);font-size:1.3rem;font-style:italic;color:var(--color-warm-gray)}.btn{display:inline-block;font-family:var(--font-sans);font-size:.85rem;font-weight:400;text-transform:uppercase;letter-spacing:.15em;padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--color-sage-dark);color:var(--color-sage-dark);background:0 0;-webkit-appearance:none;appearance:none;cursor:pointer;transition:all .3s ease;margin-top:var(--spacing-md)}.btn:hover{background:var(--color-sage-dark);color:var(--color-cream)}.site-footer{background:var(--color-cream);color:var(--color-charcoal);padding:var(--spacing-lg)var(--spacing-md);text-align:center}.footer-inner .couple-names{font-family:var(--font-serif);font-size:1.5rem;font-style:italic;margin-bottom:var(--spacing-xs)}.footer-tagline{font-size:.85rem;color:var(--color-warm-gray)}.slideshow{position:relative;max-width:500px;margin:var(--spacing-md)auto}.slideshow-slide{display:none;text-align:center}.slideshow-slide.active{display:block}.slideshow-slide-img{aspect-ratio:4/5;display:flex;align-items:center;justify-content:center}.slideshow-slide img{max-width:100%;max-height:100%;border-radius:4px;box-shadow:0 4px 20px rgba(0,0,0,.1)}.slideshow-slide figcaption{font-size:.9rem;color:var(--color-warm-gray);margin-top:var(--spacing-xs);font-style:italic}.slideshow-controls{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.slideshow-btn{background:0 0;border:1px solid var(--color-sage);color:var(--color-sage-dark);width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.slideshow-btn:hover{background:var(--color-sage);color:var(--color-cream)}.slideshow-counter{font-family:var(--font-sans);font-size:.85rem;color:var(--color-warm-gray)}@media(max-width:768px){.header-inner{flex-wrap:wrap}.menu-toggle{display:flex}nav{display:none;width:100%}nav.open{display:block}nav ul{flex-direction:column;align-items:center;gap:0;padding:var(--spacing-sm)0}nav li{width:100%;text-align:center}nav a{display:block;padding:var(--spacing-xs)0;font-size:.85rem}.hero{min-height:80vh}.countdown{flex-wrap:wrap}}