.navigation{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--kc-nav-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--kc-line);transition:background-color .35s ease,border-color .35s ease,-webkit-backdrop-filter .35s ease,backdrop-filter .35s ease}body.dark-mode .navigation{background:var(--kc-nav-bg-dark);border-bottom-color:var(--kc-line)}.navigation--over-hero{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:transparent}.navigation--over-hero.navigation--menu-open{background:#1a2838f5;border-bottom-color:#e0d7ce1f}.navigation--over-hero .nav-link,.navigation--over-hero .nav-logo,.navigation--over-hero .nav-menu-trigger{color:var(--kc-shore);transition:color .35s ease}.navigation--over-hero.navigation--scrolled{background:var(--kc-nav-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom-color:var(--kc-line)}.navigation--over-hero.navigation--scrolled .nav-link,.navigation--over-hero.navigation--scrolled .nav-logo,.navigation--over-hero.navigation--scrolled .nav-menu-trigger{color:var(--kc-brown)}.navigation--over-hero.navigation--scrolled .nav-logo-amp,.navigation--over-hero.navigation--scrolled .nav-link:hover{color:var(--kc-brown-soft)}body.dark-mode .navigation--over-hero.navigation--scrolled{background:var(--kc-nav-bg-dark)}body.dark-mode .navigation--over-hero.navigation--scrolled .nav-link,body.dark-mode .navigation--over-hero.navigation--scrolled .nav-logo,body.dark-mode .navigation--over-hero.navigation--scrolled .nav-menu-trigger{color:var(--kc-moss)}body.dark-mode .navigation--over-hero.navigation--scrolled .nav-logo-amp{color:var(--kc-brown-soft)}.navigation--over-hero .nav-logo-amp{color:#e0d7cee0}.navigation--over-hero .nav-link:hover{color:#fff}body.dark-mode .navigation--over-hero .nav-link,body.dark-mode .navigation--over-hero .nav-logo,body.dark-mode .navigation--over-hero .nav-menu-trigger{color:var(--kc-shore)}.nav-container{max-width:1200px;margin:0 auto;padding:.85rem 1.5rem 1rem;min-height:var(--nav-height);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem}.nav-list{list-style:none;display:flex;align-items:center;gap:clamp(1rem,2vw,1.75rem);margin:0;padding:0}.nav-list--left{justify-content:flex-end}.nav-end{display:flex;align-items:center;justify-content:flex-start;gap:clamp(.75rem,1.5vw,1.25rem)}.nav-logo{display:flex;flex-direction:column;align-items:center;line-height:1;text-align:center;color:var(--kc-brown)}.nav-logo-line{font-family:var(--font-display);font-size:clamp(1.15rem,2.2vw,1.45rem);font-weight:400;font-variation-settings:"SOFT" 100,"WONK" 1;letter-spacing:.02em;text-transform:lowercase}.nav-logo-amp{font-family:var(--font-script);font-size:clamp(1.75rem,3.5vw,2.5rem);line-height:.85;margin:.1rem 0;color:var(--kc-brown-soft)}body.dark-mode .nav-logo{color:var(--kc-moss)}body.dark-mode .nav-logo-amp{color:var(--kc-brown-soft)}.nav-link{font-family:var(--font-heading);font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--kc-brown);opacity:.88}.nav-link:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}body.dark-mode .nav-link{color:var(--kc-moss)}.nav-rsvp-pill{font-family:var(--font-heading);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;padding:.55rem 1.15rem;background:var(--btn-bg);color:var(--btn-text);border-radius:var(--radius-pill);border:none;box-shadow:none;transition:background-color .35s ease,transform .2s ease}.nav-rsvp-pill:hover{background:var(--btn-bg-hover);color:var(--btn-text)}.nav-menu-trigger{display:none;grid-column:3;justify-self:end;background:transparent;font-family:var(--font-heading);font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--kc-brown);padding:.35rem 0}body.dark-mode .nav-menu-trigger{color:var(--kc-moss)}.nav-mobile-panel{display:none}@media (max-width: 900px){.navigation{display:flex;flex-direction:column}.nav-container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;min-height:auto;padding:.75rem 1.25rem .85rem}.nav-list--left,.nav-end{display:none}.nav-logo{order:1;flex:1;align-items:flex-start;text-align:left}.nav-menu-trigger{display:block;order:2}.nav-mobile-panel{display:block;flex-basis:100%;order:3;max-height:0;overflow:hidden;opacity:0;transition:max-height .45s ease,opacity .35s ease,padding .35s ease;padding:0 .25rem;border-top:1px solid transparent}.nav-mobile-panel--open{max-height:90vh;opacity:1;padding:1.25rem .25rem 1.5rem;border-top-color:var(--kc-line)}.nav-mobile-hello{font-family:var(--font-script);font-size:2rem;color:var(--kc-brown-soft);text-align:center;margin-bottom:.75rem}.nav-mobile-list{list-style:none;max-width:280px;margin:0 auto;text-align:center}.nav-mobile-link{display:block;font-family:var(--font-heading);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--kc-brown);padding:.65rem 0;border-bottom:1px solid var(--kc-line)}body.dark-mode .nav-mobile-link{color:var(--kc-moss)}.nav-mobile-link--cta{margin-top:1rem;border-radius:var(--radius-pill);border:none;background:var(--btn-bg);color:var(--btn-text);padding:.85rem 1.25rem}.nav-mobile-link--cta:hover{background:var(--btn-bg-hover);color:var(--btn-text)}.navigation--over-hero.navigation--menu-open .nav-mobile-link{color:var(--kc-shore);border-bottom-color:#e0d7ce26}.navigation--over-hero.navigation--menu-open .nav-mobile-hello{color:#e0d7ced9}}.dark-mode-toggle{position:fixed;top:calc(var(--nav-height) + .5rem);right:1rem;z-index:1001;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--kc-white);border:1px solid var(--kc-line);color:var(--kc-brown);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft)}.dark-mode-toggle:hover{border-color:var(--kc-sage);color:var(--kc-sage-deep)}.dark-mode-toggle svg{width:1.05rem;height:1.05rem}body.dark-mode .dark-mode-toggle{background:var(--kc-white);border-color:var(--kc-line);color:var(--kc-moss)}body.dark-mode .dark-mode-toggle:hover{border-color:var(--kc-brown-soft);color:var(--kc-shore)}@media (max-width: 900px){.dark-mode-toggle{top:auto;bottom:1rem;right:1rem}}.countdown-timer{padding:clamp(2.5rem,6vw,3.5rem) 1.25rem;text-align:center;background:var(--kc-cream-deep);border-top:1px solid var(--kc-line);border-bottom:1px solid var(--kc-line)}.countdown-content{max-width:800px;margin:0 auto}.countdown-title{font-family:var(--font-heading);font-size:clamp(1.35rem,2.8vw,1.85rem);font-style:italic;font-weight:400;color:var(--kc-brown);letter-spacing:.04em;margin-bottom:2rem}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:640px;margin:0 auto}.countdown-item{background:var(--kc-white);padding:1.35rem .5rem;border:1px solid var(--kc-line);border-radius:var(--radius-soft)}.countdown-number{font-family:var(--font-display);font-size:clamp(2rem,4vw,2.75rem);font-weight:500;color:var(--kc-brown);line-height:1;margin-bottom:.35rem}.countdown-label{font-family:var(--font-heading);font-size:.62rem;color:var(--kc-brown-soft);text-transform:uppercase;letter-spacing:.18em;font-weight:600}@media (max-width: 768px){.countdown-grid{grid-template-columns:repeat(2,1fr)}}.home{width:100%;background:var(--kc-paper)}.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;text-align:center;padding:calc(var(--nav-height) + 2rem) 1.5rem 3rem;background:url(/images/Santa-Barbara-Beach-Proposal-0488.jpg) center / cover no-repeat;background-color:var(--kc-moss)}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#2a221a6b;pointer-events:none}.hero-inner{position:relative;z-index:1;max-width:min(920px,92vw)}.hero-names{font-family:var(--font-display);font-size:clamp(2.35rem,7.5vw,5.25rem);font-weight:400;font-variation-settings:"SOFT" 100,"WONK" 1;letter-spacing:.14em;text-transform:uppercase;line-height:1.08;color:var(--kc-shore);margin:0 0 .35rem}.hero-names-amp{display:inline-block;font-family:var(--font-script);font-size:.85em;font-weight:400;font-style:normal;letter-spacing:0;text-transform:none;line-height:1;margin:0 .12em;vertical-align:middle}.hero-tagline{font-family:var(--font-script);font-size:clamp(2.1rem,5.8vw,4rem);font-weight:400;line-height:1.15;color:var(--kc-shore);margin:0}.intro-band{position:relative;background:var(--kc-paper);padding:clamp(2.5rem,6vw,4rem) 1.25rem}.intro-eyebrow{max-width:1100px;margin:0 auto clamp(1.5rem,4vw,2.25rem);padding-top:clamp(.5rem,2vw,1rem);font-family:var(--font-heading);font-size:clamp(.62rem,1.3vw,.72rem);font-weight:600;letter-spacing:.32em;text-transform:uppercase;text-align:center;color:var(--kc-brown-soft)}.intro-line-top,.intro-line-bottom{height:1px;max-width:72rem;margin:0 auto;background:var(--kc-line)}.intro-line-bottom{margin-top:clamp(2rem,5vw,3rem)}.intro-grid{max-width:1100px;margin:0 auto;padding-top:clamp(2rem,5vw,3rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}.intro-flair{font-family:var(--font-script);font-size:clamp(1.75rem,3vw,2.35rem);color:var(--kc-brown-soft);margin-bottom:.25rem}.intro-headline{font-family:var(--font-display);font-weight:400;color:var(--kc-brown);line-height:1.08;margin-bottom:1.25rem}.intro-q{display:block;font-size:clamp(1.5rem,3.2vw,2.1rem);text-transform:lowercase}.intro-q-sub{display:block;font-family:var(--font-heading);font-size:clamp(1rem,2vw,1.25rem);font-style:italic;font-weight:400;text-transform:lowercase;margin-top:.35rem;color:var(--kc-brown-soft)}.intro-q-big{display:block;font-size:clamp(1.85rem,4vw,2.75rem);text-transform:lowercase;margin-top:.15rem}.intro-body{font-family:var(--font-body);font-size:.98rem;text-align:justify;color:var(--kc-brown);max-width:28rem;margin-bottom:1.75rem}.btn-primary{display:inline-block;font-family:var(--font-heading);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;padding:.65rem 1.5rem;background:var(--btn-bg);color:var(--btn-text);border-radius:var(--radius-pill);border:none;transition:background-color .35s ease,transform .2s ease}.btn-primary:hover{background:var(--btn-bg-hover);color:var(--btn-text)}.btn-secondary{display:inline-block;font-family:var(--font-heading);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;padding:.6rem 1.35rem;color:var(--kc-brown);border:2px solid var(--kc-brown);border-radius:var(--radius-soft);background:transparent;transition:border-color .25s ease,color .25s ease}.btn-secondary:hover{border-color:var(--kc-brown-soft);color:var(--kc-brown-soft)}.intro-photos{position:relative;min-height:340px}.intro-polar{background:var(--kc-white);padding:.5rem .5rem 1.25rem;box-shadow:var(--shadow-soft);border-radius:2px}.intro-polar img{width:100%;aspect-ratio:3 / 4;object-fit:cover}.intro-polar--1{max-width:240px;transform:rotate(-4deg);position:relative;z-index:1}.intro-polar--2{max-width:200px;transform:rotate(6deg);position:absolute;right:0;bottom:0;z-index:2}.intro-sticker{position:absolute;top:10%;right:8%;font-family:var(--font-script);font-size:clamp(1.5rem,3vw,2rem);color:var(--kc-brown-soft);transform:rotate(-12deg);pointer-events:none}.butter-band{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;background:var(--kc-paper);border-top:1px solid var(--kc-line);border-bottom:1px solid var(--kc-line)}.butter-inner{padding:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,4vw,3rem);display:flex;flex-direction:column;justify-content:center;max-width:32rem;margin-left:auto}.butter-label{font-family:var(--font-heading);font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--kc-brown-soft);margin-bottom:.75rem}.butter-title{font-family:var(--font-heading);font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:400;text-transform:uppercase;letter-spacing:.04em;color:var(--kc-brown);margin-bottom:1rem}.butter-lead{font-size:1rem;text-align:justify;color:var(--kc-brown);margin-bottom:1.5rem}.butter-photo-wrap{min-height:280px}.butter-photo{width:100%;height:100%;min-height:320px;object-fit:cover}.details-cute{padding:clamp(3rem,7vw,5rem) 1.25rem;background:var(--kc-paper);text-align:center}.details-label{font-family:var(--font-heading);font-size:.68rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--kc-brown-soft);margin-bottom:2rem}.details-cards{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.detail-card-cute{background:var(--kc-white);border:1px solid var(--kc-line);border-radius:var(--radius-soft);padding:2rem 1.5rem 2.25rem;box-shadow:var(--shadow-soft)}.detail-card-cute h3{font-family:var(--font-heading);font-size:clamp(1.35rem,2.5vw,1.85rem);font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--kc-brown);margin-bottom:.75rem}.detail-when{font-family:var(--font-heading);font-style:italic;font-size:1.1rem;color:var(--kc-brown-soft);margin-bottom:.35rem}.detail-where{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--kc-brown-soft);margin-bottom:1.25rem}.text-arrow{font-family:var(--font-heading);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--kc-brown);border-bottom:1px solid var(--kc-brown);padding-bottom:2px;display:inline-block}.text-arrow:hover{color:var(--kc-brown-soft);border-color:var(--kc-brown-soft)}.closing-band{text-align:center;padding:clamp(3.5rem,8vw,5.5rem) 1.25rem;background:var(--kc-paper);border-top:1px solid var(--kc-line)}.closing-script{font-family:var(--font-script);font-size:clamp(2rem,4vw,2.75rem);color:var(--kc-brown-soft);margin-bottom:.35rem}.closing-title{font-family:var(--font-display);font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:400;text-transform:lowercase;color:var(--kc-brown);margin-bottom:.5rem}.closing-sub{font-family:var(--font-heading);font-size:.8rem;font-style:italic;letter-spacing:.06em;color:var(--kc-brown-soft);margin-bottom:1.75rem}.home .countdown-timer{background:var(--kc-paper);border-top-color:var(--kc-line);border-bottom-color:var(--kc-line)}.home .countdown-item{border-color:var(--kc-line)}.full-bleed-photo{width:100%;max-height:70vh;overflow:hidden}.full-bleed-photo img{width:100%;height:min(70vh,640px);object-fit:cover;object-position:center 65%}@media (max-width: 768px){.hero-names{letter-spacing:.1em}.intro-grid{grid-template-columns:1fr}.intro-photos{order:-1;min-height:280px;margin-bottom:.5rem}.intro-polar--2{right:5%;bottom:-1rem}.butter-band{grid-template-columns:1fr}.butter-inner{margin:0 auto;padding-bottom:2rem}.butter-photo{min-height:260px}}body.dark-mode .intro-band,body.dark-mode .details-cute,body.dark-mode .closing-band,body.dark-mode .butter-band{background:var(--kc-paper)}body.dark-mode .detail-card-cute{background:var(--kc-white)}.our-story{max-width:1000px;margin:0 auto;padding:6rem 2rem;background:var(--background-cream)}.story-header{text-align:center;margin-bottom:6rem}.story-header h1{font-size:clamp(3rem,6vw,5rem);color:var(--text-dark);margin-bottom:2rem;font-weight:300;letter-spacing:2px}.story-subtitle{font-size:1.1rem;color:var(--text-light);font-style:normal;font-weight:300;letter-spacing:1px}.timeline{position:relative;padding:3rem 0}.timeline:before{content:"";position:absolute;left:50%;transform:translate(-50%);width:1px;height:100%;background:var(--border-color)}.timeline-item{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:5rem;position:relative}.timeline-item:before{content:"";position:absolute;left:50%;transform:translate(-50%);width:12px;height:12px;background:var(--primary-color);border:3px solid var(--background-cream);border-radius:50%;z-index:1;box-shadow:0 0 0 3px var(--border-color)}.timeline-item:nth-child(odd) .timeline-date{text-align:right;grid-column:1}.timeline-item:nth-child(odd) .timeline-content{grid-column:2}.timeline-item:nth-child(2n) .timeline-date{text-align:left;grid-column:2}.timeline-item:nth-child(2n) .timeline-content{grid-column:1;grid-row:1}.timeline-date{font-family:var(--font-heading);font-size:1.1rem;color:var(--primary-color);padding-top:.5rem;font-weight:300;letter-spacing:1px}.timeline-content{background:transparent;padding:2.5rem 0}.timeline-content h3{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:1.5rem;color:var(--text-dark);font-weight:300;letter-spacing:1px}.timeline-content p{color:var(--text-light);line-height:2;font-size:.95rem;font-weight:300;letter-spacing:.3px}@media (max-width: 768px){.our-story{padding:4rem 1.5rem}.story-header{margin-bottom:4rem}.timeline:before{left:20px}.timeline-item{grid-template-columns:1fr;gap:1rem;padding-left:3rem;margin-bottom:4rem}.timeline-item:before{left:14px}.timeline-item:nth-child(odd) .timeline-date,.timeline-item:nth-child(2n) .timeline-date{text-align:left;grid-column:1}.timeline-item:nth-child(odd) .timeline-content,.timeline-item:nth-child(2n) .timeline-content{grid-column:1;grid-row:2}}.wedding-details{max-width:1200px;margin:0 auto;padding:6rem 2rem;background:var(--background-cream)}.details-header{text-align:center;margin-bottom:6rem}.details-header h1{font-size:clamp(3rem,6vw,5rem);color:var(--text-dark);margin-bottom:2rem;font-weight:300;letter-spacing:2px}.details-subtitle{font-size:1rem;color:var(--text-light);font-style:normal;font-weight:300;letter-spacing:1px}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:3rem}.detail-card{background:var(--background-light);padding:4rem 3rem;border:1px solid var(--border-color);text-align:center;transition:all .3s ease}.detail-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000014}.detail-card.full-width{grid-column:1 / -1;max-width:800px;margin:0 auto;width:100%}.detail-card h2{font-size:clamp(2rem,3vw,2.8rem);color:var(--text-dark);margin-bottom:2rem;text-align:center;font-weight:300;letter-spacing:1px}.detail-info{color:var(--text-light);font-weight:300;letter-spacing:.5px;line-height:2}.detail-info p{margin-bottom:1rem;line-height:1.8}.detail-time,.detail-location{font-size:1rem}.detail-map-link{display:inline-block;color:var(--primary-color);font-weight:600;margin-top:1rem;transition:color .3s ease}.detail-map-link:hover{color:var(--secondary-color)}.schedule{display:flex;flex-direction:column;gap:1rem}.schedule-item{display:flex;justify-content:space-between;padding:1rem;background:var(--background-light);border-radius:5px;border-left:3px solid var(--primary-color);transition:background-color .3s ease}.schedule-time{font-weight:600;color:var(--primary-color);min-width:120px}.schedule-event{color:var(--text-dark);flex:1}.dress-code-description{font-size:1.2rem;font-weight:600;color:var(--primary-color);text-align:center;margin-bottom:1rem}.dress-code-note{color:var(--text-light);text-align:center;line-height:1.8}@media (max-width: 768px){.details-header h1{font-size:2.5rem}.details-grid{grid-template-columns:1fr}.schedule-item{flex-direction:column;gap:.5rem}.schedule-time{min-width:auto}}.travel{max-width:1200px;margin:0 auto;padding:6rem 2rem;background:var(--background-cream)}.travel-header{text-align:center;margin-bottom:6rem}.travel-header h1{font-size:clamp(3rem,6vw,5rem);color:var(--text-dark);margin-bottom:2rem;font-weight:300;letter-spacing:2px}.travel-subtitle{font-size:1rem;color:var(--text-light);font-style:normal;font-weight:300;letter-spacing:1px}.map-section{margin-bottom:6rem;background:var(--surface);padding:4rem 2rem;border:1px solid var(--border-color)}.google-map{width:100%;max-width:1000px;height:500px;margin:0 auto 2rem;border:2px solid var(--border-color);border-radius:8px;overflow:hidden;box-shadow:0 10px 30px #0000001a}.map-legend{max-width:800px;margin:0 auto;background:var(--surface);padding:2rem;border:1px solid var(--border-color);border-radius:8px}.map-legend h3{font-size:1.8rem;color:var(--primary-color);margin-bottom:1.5rem;text-align:center;font-weight:400}.map-legend ul{list-style:none;padding:0;margin:0}.map-legend li{padding:.8rem 0;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:.8rem}.map-legend li:last-child{border-bottom:none}.map-legend strong{color:var(--text-dark);font-weight:500}.map-info-window{font-family:Montserrat,sans-serif;max-width:280px}.map-info-window h3{color:var(--primary-color);font-family:var(--font-heading);margin-bottom:.5rem;font-size:1.5rem}.location-carousel{max-width:900px;margin:2rem auto 0;display:flex;align-items:center;gap:1.5rem;background:var(--surface);padding:2rem;border:1px solid var(--border-color);border-radius:8px}.carousel-btn{background:var(--btn-bg);color:var(--btn-text);border:none;width:50px;height:50px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .3s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.carousel-btn:hover{background:var(--btn-bg-hover);color:var(--btn-text);transform:scale(1.1)}.carousel-content{flex:1;display:flex;gap:2rem;align-items:center}.carousel-image{width:300px;height:200px;flex-shrink:0;overflow:hidden;border-radius:8px}.carousel-image img{width:100%;height:100%;object-fit:cover;display:block}.carousel-details{flex:1}.carousel-details h3{font-size:2rem;color:var(--primary-color);margin-bottom:.8rem;font-weight:400}.carousel-details p{color:var(--text-light);font-size:1.1rem;line-height:1.6;margin-bottom:1rem}.carousel-counter{color:var(--text-light);font-size:.9rem;font-weight:500}.travel-section{margin-bottom:6rem}.travel-section h2{font-size:clamp(2.5rem,4vw,3.5rem);color:var(--text-dark);margin-bottom:3rem;text-align:center;font-weight:300;letter-spacing:1px}.travel-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:3rem;margin-bottom:3rem}.travel-option{background:var(--surface);padding:3rem;border:1px solid var(--border-color);text-align:center;transition:all .3s ease}.travel-option:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000014}.travel-option h3{font-size:clamp(1.5rem,2vw,2rem);margin-bottom:1rem;color:var(--primary-color)}.travel-option p{color:var(--text-light);margin-bottom:.8rem;line-height:1.8}.hotel-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.hotel-card{background:var(--background-light);padding:2rem;border-radius:10px;box-shadow:0 3px 15px #00000014;transition:transform .3s ease}.hotel-card:hover{transform:translateY(-5px)}.hotel-card h3{font-size:1.8rem;color:var(--primary-color);margin-bottom:1rem}.hotel-address,.hotel-distance,.hotel-info,.hotel-rate,.hotel-deadline{color:var(--text-light);margin-bottom:.8rem;line-height:1.6}.hotel-rate{font-weight:600;color:var(--primary-color)}.hotel-book-link{display:inline-block;background:var(--primary-color);color:#fff;padding:.8rem 1.5rem;border-radius:25px;margin-top:1rem;font-weight:600;transition:all .3s ease}.hotel-book-link:hover{background:var(--secondary-color);color:var(--text-dark)}.things-to-do-intro{text-align:center;color:var(--text-light);margin-bottom:2rem;font-size:1.1rem}.things-list{max-width:700px;margin:0 auto;list-style:none;padding:0}.things-list li{background:var(--background-light);padding:1.2rem 1.5rem;margin-bottom:1rem;border-radius:5px;border-left:3px solid var(--primary-color);color:var(--text-dark)}@media (max-width: 768px){.travel-header h1{font-size:2.5rem}.travel-options,.hotel-blocks{grid-template-columns:1fr}.google-map{height:400px}.map-legend{padding:1.5rem}.map-legend li{flex-direction:column;align-items:flex-start;gap:.5rem}.location-carousel{flex-direction:column;gap:1rem;padding:1.5rem}.carousel-content{flex-direction:column;gap:1rem}.carousel-image{width:100%;height:180px}.carousel-btn{width:45px;height:45px;font-size:1.2rem}.carousel-details h3{font-size:1.5rem}}.pdf-download-section{text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,#aec8d573,#d4b89b26);border-radius:var(--radius-soft);border:1px dashed var(--kc-sage-deep);margin:2rem 0}.pdf-download-section h3{font-size:2rem;color:var(--text-dark);margin-bottom:1rem;font-weight:400;letter-spacing:.02em}.pdf-download-section p{font-size:1.1rem;color:var(--text-light);margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.download-btn{display:inline-block;padding:1rem 2.5rem;background:var(--btn-bg);color:var(--btn-text);text-decoration:none;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;transition:all .3s ease;border:1px solid var(--btn-border);box-shadow:var(--shadow-soft)}.download-btn:hover{background:var(--btn-bg-hover);border-color:var(--btn-bg-hover);color:var(--btn-text);transform:translateY(-2px)}body.dark-mode .pdf-download-section{background:linear-gradient(135deg,#524a1a59,#e0d7ce0f);border-color:var(--kc-line)}body.dark-mode .pdf-download-section h3{color:var(--text-dark)}body.dark-mode .pdf-download-section p{color:var(--text-light)}.carousel-image{position:relative;cursor:pointer;overflow:hidden}.image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.image-overlay span{color:#fff;font-size:1.1rem;font-weight:500;letter-spacing:.5px}.carousel-image:hover .image-overlay{opacity:1}.lightbox{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:10000;cursor:pointer;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox img{max-width:90vw;max-height:90vh;object-fit:contain;cursor:default;box-shadow:0 10px 50px #00000080;border-radius:8px}.lightbox-close{position:absolute;top:2rem;right:2rem;background:#ffffff1a;border:2px solid white;color:#fff;font-size:2rem;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lightbox-close:hover{background:#fff3;transform:rotate(90deg)}.lightbox-caption{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);color:#fff;font-size:1.5rem;font-weight:300;letter-spacing:1px;text-align:center;background:#00000080;padding:1rem 2rem;border-radius:50px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media (max-width: 768px){.lightbox-close{top:1rem;right:1rem;width:40px;height:40px;font-size:1.5rem}.lightbox-caption{bottom:1rem;font-size:1.2rem;padding:.75rem 1.5rem}.image-overlay span{font-size:.9rem}}.registry{max-width:1100px;margin:0 auto;padding:clamp(4rem,9vw,6.5rem) 1.75rem 5rem;background:var(--kc-cream)}.registry-header{text-align:center;margin-bottom:clamp(3.5rem,7vw,5rem)}.registry-header h1{font-family:var(--font-display);font-size:clamp(2.25rem,5vw,3.25rem);font-weight:400;text-transform:lowercase;color:var(--kc-brown);margin-bottom:1rem}.registry-subtitle{font-family:var(--font-body);font-size:1rem;color:var(--kc-brown-soft);line-height:1.85;max-width:36rem;margin:0 auto}.registry-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:3rem}.registry-card{background:var(--kc-white);padding:clamp(2.25rem,5vw,3rem) 2rem;border:1px solid var(--kc-line);border-radius:var(--radius-soft);text-align:center;box-shadow:var(--shadow-soft);transition:transform .25s ease,box-shadow .25s ease}.registry-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #3f66831f}.registry-card h3{font-family:var(--font-heading);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:400;text-transform:uppercase;letter-spacing:.06em;color:var(--kc-brown);margin-bottom:1rem}.registry-card p{color:var(--kc-brown-soft);margin-bottom:1.5rem;line-height:1.8;font-size:.98rem}.registry-link{display:inline-block;font-family:var(--font-heading);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;padding:.6rem 1.35rem;background:var(--btn-bg);color:var(--btn-text);border-radius:var(--radius-pill);border:none;transition:background-color .35s ease}.registry-link:hover{background:var(--btn-bg-hover);color:var(--btn-text)}.registry-alternative{background:var(--kc-butter);padding:clamp(2.25rem,5vw,3rem) 2rem;text-align:center;margin-bottom:2.5rem;border-radius:var(--radius-soft);border:1px solid var(--kc-line)}.registry-alternative h2{font-family:var(--font-heading);font-size:clamp(1.65rem,3vw,2.25rem);font-weight:400;font-style:italic;color:var(--kc-brown);margin-bottom:1rem}.registry-alternative p{color:var(--kc-brown-soft);line-height:1.85;margin-bottom:1.5rem;max-width:36rem;margin-left:auto;margin-right:auto}.registry-note{text-align:center;padding:2rem 1rem}.registry-note p{font-family:var(--font-heading);font-size:1.15rem;font-style:italic;color:var(--kc-brown-soft);max-width:32rem;margin:0 auto}@media (max-width: 768px){.registry-cards{grid-template-columns:1fr}}.rsvp{max-width:560px;margin:0 auto;padding:clamp(3.5rem,8vw,5rem) 1.75rem 4rem}.rsvp-pick-guest{margin-bottom:2rem}.rsvp-pick-intro{text-align:center;font-size:.95rem;color:var(--text-light);line-height:1.75;margin-bottom:2rem}.rsvp-search-hint{font-size:.85rem;color:var(--text-light);margin-top:.75rem;text-align:center}.guest-search-results{list-style:none;margin:1.5rem 0 0;padding:0;border:1px solid var(--kc-line);border-radius:var(--radius-md, 8px);overflow:hidden}.guest-search-results li+li{border-top:1px solid var(--kc-line)}.guest-pick-button{width:100%;text-align:left;padding:1rem 1.15rem;border:none;background:#ffffff59;cursor:pointer;font-family:var(--font-body);transition:background-color .2s ease;display:flex;flex-direction:column;gap:.25rem}.guest-pick-button:hover{background:#aec8d52e}.guest-pick-name{font-weight:600;color:var(--kc-brown);font-size:1rem}.guest-pick-meta{font-size:.78rem;color:var(--text-light);text-transform:capitalize}.rsvp-selected-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 0 1.75rem;margin-bottom:.5rem;border-bottom:1px solid var(--kc-line)}.rsvp-selected-label{display:block;font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--text-light);font-weight:600;margin-bottom:.35rem}.rsvp-selected-name{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.35rem;color:var(--kc-brown)}.rsvp-change-guest{flex-shrink:0;border:none;background:none;color:var(--kc-sage-deep);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:.2em;font-family:var(--font-body)}.rsvp-name-readonly{opacity:.85;cursor:default}.rsvp-header{text-align:center;margin-bottom:3rem}.rsvp-header h1{font-size:clamp(2.5rem,5vw,3.75rem);font-family:var(--font-display);font-weight:400;font-style:italic;color:var(--kc-brown);margin-bottom:1rem}.rsvp-subtitle{font-size:.65rem;color:var(--text-light);font-weight:600;letter-spacing:.32em;text-transform:uppercase}.rsvp-form{background:transparent;padding:0;border:none;box-shadow:none}.form-group{margin-bottom:2rem}.form-group label{display:block;font-weight:600;color:var(--kc-brown);margin-bottom:.5rem;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.85rem 0;border:none;border-bottom:1px solid var(--kc-line);border-radius:0;font-family:var(--font-body);font-size:.95rem;background:transparent;color:var(--text-dark);font-weight:400}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-light);opacity:.65}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-bottom-color:var(--kc-sage)}.radio-group{display:flex;flex-direction:column;gap:.75rem}.radio-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:1rem 0;border-bottom:1px solid var(--kc-line);transition:color .2s ease;font-weight:400;font-size:.92rem}.radio-label:hover{color:var(--kc-brown-soft)}.radio-label input[type=radio]{width:auto;margin:0;accent-color:var(--kc-brown)}.submit-button{width:100%;background:var(--btn-bg);color:var(--btn-text);padding:1.1rem 1.5rem;border-radius:var(--radius-pill);font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:.28em;transition:background-color .25s ease,border-color .25s ease;margin-top:1.5rem;border:1px solid var(--btn-border);cursor:pointer}.submit-button:hover:not(:disabled){background:var(--btn-bg-hover);border-color:var(--btn-bg-hover);color:var(--btn-text)}.submit-button:disabled{opacity:.45;cursor:not-allowed}.error-message{background:#d3522714;border:1px solid rgba(174,200,213,.55);color:var(--kc-brown);padding:1rem 1.25rem;margin-bottom:1.5rem;text-align:center;font-size:.88rem;font-weight:500}.rsvp-success{text-align:center;padding:clamp(4rem,10vw,6rem) 1.5rem}.rsvp-success h1{font-size:clamp(2.25rem,4vw,3.25rem);font-family:var(--font-display);font-style:italic;font-weight:400;color:var(--kc-brown);margin-bottom:1.5rem}.rsvp-success p{font-size:.95rem;color:var(--text-light);margin-bottom:1rem;line-height:1.85}.back-home{display:inline-block;margin-top:2.5rem;padding:1rem 2.25rem;background:var(--btn-bg);color:var(--btn-text);font-weight:600;font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;border:1px solid var(--btn-border);border-radius:var(--radius-pill);transition:background-color .25s ease}.back-home:hover{background:var(--btn-bg-hover);border-color:var(--btn-bg-hover);color:var(--btn-text)}@media (max-width: 768px){.rsvp-form{padding:0}}body.dark-mode .guest-pick-button{background:#ffffff0a}body.dark-mode .guest-pick-button:hover{background:#e0d7ce14}body.dark-mode .rsvp-change-guest{color:var(--kc-brown-soft)}body.dark-mode .form-group input:focus,body.dark-mode .form-group select:focus,body.dark-mode .form-group textarea:focus{border-bottom-color:var(--kc-brown-soft)}body.dark-mode .error-message{background:#c45a381f;border-color:var(--kc-line);color:var(--kc-moss)}.gallery{max-width:1400px;margin:0 auto;padding:6rem 2rem;background:var(--background-cream)}.gallery-header{text-align:center;margin-bottom:5rem}.gallery-header h1{font-size:clamp(3rem,6vw,5rem);color:var(--text-dark);margin-bottom:1rem;font-weight:300;letter-spacing:2px}.gallery-subtitle{font-size:1rem;color:var(--text-light);font-style:italic;font-weight:400;letter-spacing:.02em;max-width:32rem;margin:0 auto}.world-map-section{margin-bottom:6rem;background:var(--surface);padding:4rem 2rem;border:1px solid var(--border-color)}.map-intro{text-align:center;margin-bottom:3rem}.map-intro h2{font-size:clamp(2.5rem,4vw,3.5rem);color:var(--text-dark);margin-bottom:1rem;font-weight:300;letter-spacing:1px}.map-intro p{color:var(--text-light);font-size:1rem;letter-spacing:.5px}.google-world-map{width:100%;max-width:1200px;height:600px;margin:0 auto 2rem;border:2px solid var(--border-color);border-radius:8px;overflow:hidden;box-shadow:0 10px 30px #0000001a}.travel-legend{max-width:900px;margin:0 auto;background:var(--surface);padding:2rem;border:1px solid var(--border-color);border-radius:8px}.travel-legend h3{font-size:1.8rem;color:var(--primary-color);margin-bottom:1.5rem;text-align:center;font-weight:400}.legend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.legend-item{display:flex;align-items:center;gap:.8rem;padding:.8rem;border:1px solid var(--border-color);border-radius:6px;transition:all .3s ease}.legend-item:hover{background:var(--background-cream);transform:translateY(-2px)}.legend-marker{font-size:1.5rem;flex-shrink:0}.world-map-section .location-carousel{max-width:1000px;margin:2rem auto 0;display:flex;align-items:center;gap:1.5rem;background:var(--surface);padding:2rem;border:1px solid var(--border-color);border-radius:8px}.world-map-section .carousel-btn{background:var(--btn-bg);color:var(--btn-text);border:none;width:50px;height:50px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .3s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.world-map-section .carousel-btn:hover{background:var(--btn-bg-hover);transform:scale(1.1)}.world-map-section .carousel-content{flex:1;display:flex;gap:2rem;align-items:center}.carousel-images{display:flex;gap:1rem;flex-wrap:wrap}.carousel-image-item{flex:1;min-width:200px}.carousel-image-item img{width:100%;height:180px;object-fit:cover;border-radius:8px;display:block}.image-caption{font-size:.85rem;color:var(--text-light);font-style:italic;text-align:center;margin-top:.5rem}.world-map-section .carousel-details{flex-shrink:0;min-width:200px}.world-map-section .carousel-details h3{font-size:2rem;color:var(--primary-color);margin-bottom:1rem;font-weight:400}.world-map-section .carousel-counter{color:var(--text-light);font-size:.9rem;font-weight:500}.photo-gallery-section{margin-bottom:4rem}.proposal-gallery-section,.moments-gallery-section .gallery-section-title{margin-bottom:5rem}.gallery-section-title{font-family:var(--font-display);font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:400;text-transform:lowercase;color:var(--kc-brown, var(--text-dark));margin-bottom:1rem;text-align:center;letter-spacing:.02em}.gallery-section-lead{font-family:var(--font-body);font-size:.98rem;color:var(--text-light);text-align:center;max-width:38rem;margin:0 auto 2.5rem;line-height:1.75}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;margin-bottom:4rem}.photo-item{overflow:visible;transition:all .4s ease;background:var(--surface);padding:1rem;box-shadow:0 1px 3px #0000001f,0 8px 16px #00000014;transform:rotate(var(--rotation, 0deg));position:relative;border:1px solid var(--border-color)}.photo-item--landscape{grid-column:span 2}.photo-item__frame{overflow:hidden;line-height:0}.photo-item__frame img{width:100%;height:auto;display:block;transition:transform .4s ease;border:1px solid rgba(0,0,0,.05)}.photo-item__frame--loaded img{height:100%;object-fit:cover}.photo-item:nth-child(6n+1){--rotation: -2deg}.photo-item:nth-child(6n+2){--rotation: 1.5deg}.photo-item:nth-child(6n+3){--rotation: -1deg}.photo-item:nth-child(6n+4){--rotation: 2deg}.photo-item:nth-child(6n+5){--rotation: -1.5deg}.photo-item:nth-child(6n){--rotation: 1deg}.photo-item:before{content:"";position:absolute;width:80px;height:30px;z-index:2;opacity:.85;box-shadow:0 1px 3px #00000026}.photo-item:after{content:"";position:absolute;width:70px;height:28px;z-index:2;opacity:.85;box-shadow:0 1px 3px #00000026}.photo-item:nth-child(6n+1):before{top:-12px;left:15%;transform:rotate(-18deg);background:repeating-linear-gradient(45deg,#aec8d5e0,#aec8d5e0 10px,#8eb4c8e0 10px,#8eb4c8e0 20px);border:1px solid rgba(63,102,131,.14)}.photo-item:nth-child(6n+2):before{top:-10px;right:20%;transform:rotate(15deg);background:repeating-linear-gradient(90deg,#4a768373,#4a768373 8px,#3f66838c 8px,#3f66838c 16px);border:1px solid rgba(63,102,131,.22)}.photo-item:nth-child(6n+3):after{bottom:-10px;left:25%;transform:rotate(-12deg);background:repeating-linear-gradient(-45deg,#eadad0f2,#eadad0f2 12px,#d4b89bf2 12px,#d4b89bf2 24px);border:1px solid rgba(63,57,20,.12)}.photo-item:nth-child(6n+4):before{top:-8px;left:30%;transform:rotate(20deg);background:repeating-linear-gradient(0deg,#6d5e4a59,#6d5e4a59 5px,#6d5e4a38 5px,#6d5e4a38 10px);border:1px solid rgba(63,57,20,.18)}.photo-item:nth-child(6n+5):after{top:-11px;right:18%;transform:rotate(-16deg);background:repeating-linear-gradient(60deg,#3f39141f,#3f39141f 10px,#3f391414 10px,#3f391414 20px);border:1px solid rgba(63,57,20,.15)}.photo-item:nth-child(6n):before{bottom:-9px;right:22%;transform:rotate(14deg);background:repeating-linear-gradient(120deg,#d4b89beb,#d4b89beb 8px,#aec8d566 8px,#aec8d566 16px);border:1px solid rgba(63,102,131,.12)}.photo-item:hover{transform:rotate(0) translateY(-8px) scale(1.03);box-shadow:0 4px 8px #0000001f,0 16px 32px #00000026;z-index:100}.photo-item:hover .photo-item__frame img{transform:scale(1.05)}.photo-placeholder{width:100%;height:100%;background:var(--background-light);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}.photo-icon{font-size:3.5rem;color:var(--primary-color);opacity:.5}.photo-placeholder p{color:var(--text-light);font-size:.8rem;text-align:center;padding:0 1.5rem;font-weight:300;letter-spacing:.5px}.gallery-note{text-align:center;padding:4rem 2rem;background:transparent;max-width:700px;margin:0 auto}.gallery-note p{color:var(--text-light);font-size:1rem;line-height:2;font-weight:300;letter-spacing:.5px}body.dark-mode .gallery{background:var(--kc-cream)}body.dark-mode .gallery-header h1,body.dark-mode .gallery-section-title{color:var(--text-dark)}body.dark-mode .gallery-subtitle,body.dark-mode .gallery-section-lead{color:var(--text-light)}body.dark-mode .photo-item{background:var(--surface);box-shadow:0 1px 3px #0000004d,0 8px 16px #0003}body.dark-mode .photo-item:hover{box-shadow:0 4px 8px #0006,0 20px 40px #0000004d}@media (max-width: 768px){.gallery{padding:4rem 1.5rem}.gallery-header{margin-bottom:3rem}.google-world-map{height:400px}.travel-legend{padding:1.5rem}.legend-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.photo-item--landscape{grid-column:span 2}@media (max-width: 400px){.photo-item--landscape{grid-column:span 1}}.world-map-section .location-carousel{flex-direction:column;gap:1rem;padding:1.5rem}.world-map-section .carousel-content{flex-direction:column;gap:1rem}.carousel-images{flex-direction:column;width:100%}.carousel-image-item{min-width:100%}.world-map-section .carousel-details{min-width:100%;text-align:center}.world-map-section .carousel-btn{width:45px;height:45px;font-size:1.2rem}.world-map-section .carousel-details h3{font-size:1.5rem}}.footer{position:relative;background:var(--kc-butter);border-top:1px solid var(--kc-line);padding:clamp(2.5rem,5vw,3.5rem) 1.25rem 2rem;overflow:hidden}.footer-deco{position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,#c4d4e8,#adbcb6,#d4c4a8 70%,#c4d4e8);opacity:.65}.footer-inner{max-width:520px;margin:0 auto;text-align:center;position:relative;z-index:1}.footer-script{font-family:var(--font-script);font-size:clamp(2rem,4vw,2.75rem);color:var(--kc-brown);margin-bottom:.35rem}.footer-meta{font-family:var(--font-heading);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--kc-brown-soft);margin-bottom:1rem}.footer-links{font-family:var(--font-heading);font-size:.78rem;font-style:italic;color:var(--kc-brown-soft);margin-bottom:1rem}.footer-copy{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--kc-brown-soft);opacity:.75}body.dark-mode .footer{background:var(--kc-paper)}body.dark-mode .footer-script{color:var(--kc-moss)}body.dark-mode .footer-meta,body.dark-mode .footer-links,body.dark-mode .footer-copy{color:var(--kc-brown-soft)}.App{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding-top:var(--nav-height)}.main-content:has(.home){padding-top:0}@media (max-width: 900px){.main-content:not(:has(.home)){padding-top:calc(var(--nav-height) - .35rem)}}*{margin:0;padding:0;box-sizing:border-box}:root{--kc-shore: #E0D7CE;--kc-sand: #EADAD0;--kc-tan: #D4B89B;--kc-ocean: #3F6683;--kc-horizon: #4A7683;--kc-drift: #AEC8D5;--kc-moss: #3F3914;--kc-orange: #D34C1C;--kc-orange-deep: #b84218;--kc-cream: var(--kc-shore);--kc-cream-deep: #d5ccc2;--kc-paper: #ebe4dc;--kc-butter: var(--kc-tan);--kc-butter-deep: #c4a886;--kc-sky: var(--kc-drift);--kc-sky-deep: var(--kc-horizon);--kc-sage: var(--kc-drift);--kc-sage-deep: var(--kc-horizon);--kc-brown: var(--kc-moss);--kc-brown-soft: #6d5e4a;--kc-white: #f7f3ef;--kc-navy: var(--kc-ocean);--kc-line: rgba(63, 57, 20, .12);--kc-line-strong: rgba(63, 57, 20, .2);--kc-nav-bg: rgba(224, 215, 206, .92);--kc-nav-bg-dark: rgba(36, 32, 26, .94);--primary-color: var(--kc-moss);--secondary-color: var(--kc-brown-soft);--accent-color: var(--kc-tan);--text-dark: var(--kc-moss);--text-light: var(--kc-brown-soft);--text-cream: var(--kc-shore);--background: var(--kc-paper);--background-light: var(--kc-cream-deep);--background-cream: var(--kc-shore);--background-dark: var(--kc-moss);--border-color: var(--kc-line);--kc-bg: var(--kc-shore);--kc-ink: var(--kc-moss);--kc-teal: var(--kc-brown-soft);--kc-accent: var(--kc-moss);--kc-accent-hover: #524a1a;--btn-bg: var(--kc-brown);--btn-text: var(--kc-shore);--btn-bg-hover: var(--kc-accent-hover);--btn-border: var(--kc-brown);--font-display: "Fraunces", Georgia, serif;--font-heading: "EB Garamond", Georgia, serif;--font-body: "EB Garamond", Georgia, serif;--font-script: "Allison", cursive;--nav-height: 5.5rem;--theme-transition: .4s ease;--radius-pill: 33px;--radius-soft: 10px;--shadow-soft: 0 12px 36px rgba(63, 57, 20, .07);--ocean-deep: var(--kc-ocean);--ocean: var(--kc-horizon);--ocean-soft: var(--kc-drift);--ink: var(--kc-moss);--ink-muted: var(--kc-horizon);--surface: var(--kc-white);--poppy: var(--kc-moss);--poppy-deep: var(--kc-accent-hover);--poppy-glow: rgba(63, 57, 20, .12);--moss: var(--kc-moss);--moss-light: var(--kc-horizon);--moss-muted: rgba(174, 200, 213, .35);--light-blue: var(--kc-drift);--light-blue-deep: var(--kc-horizon)}body.dark-mode{--kc-shore: #E0D7CE;--kc-sand: #EADAD0;--kc-cream: #2a2620;--kc-cream-deep: #242018;--kc-paper: #2e2a24;--kc-tan: #3a3530;--kc-butter: #343028;--kc-butter-deep: #403a34;--kc-white: #36322c;--kc-moss: #EADAD0;--kc-brown: var(--kc-moss);--kc-brown-soft: #b8aea0;--kc-ocean: #AEC8D5;--kc-horizon: #8eb4c8;--kc-drift: #6a95a8;--kc-sage: var(--kc-drift);--kc-sage-deep: var(--kc-brown-soft);--kc-orange: #c45a38;--kc-orange-deep: #a84a2e;--kc-line: rgba(224, 215, 206, .14);--kc-line-strong: rgba(224, 215, 206, .22);--kc-nav-bg-dark: rgba(36, 32, 26, .94);--primary-color: var(--kc-brown-soft);--secondary-color: var(--kc-brown-soft);--accent-color: var(--kc-tan);--text-dark: var(--kc-moss);--text-light: var(--kc-brown-soft);--text-cream: var(--kc-shore);--background: var(--kc-cream);--background-light: var(--kc-tan);--background-cream: var(--kc-cream-deep);--background-dark: #1a1712;--border-color: var(--kc-line);--shadow-soft: 0 16px 40px rgba(0, 0, 0, .35);--kc-bg: var(--kc-cream);--kc-ink: var(--kc-moss);--kc-teal: var(--kc-brown-soft);--kc-accent: #524a1a;--kc-accent-hover: #6b6348;--btn-bg: #524a1a;--btn-text: var(--kc-shore);--btn-bg-hover: #6b6348;--btn-border: #524a1a;--ocean-deep: var(--kc-ocean);--ocean-soft: var(--kc-drift);--ink: var(--kc-moss);--ink-muted: var(--kc-brown-soft);--surface: var(--kc-white);--poppy: var(--kc-brown-soft);--poppy-deep: var(--kc-shore);--moss-light: var(--kc-brown-soft);--poppy-glow: rgba(224, 215, 206, .12);--moss-muted: rgba(184, 174, 160, .2)}body{font-family:var(--font-body);color:var(--text-dark);background-color:var(--kc-cream);line-height:1.8;font-size:16px;font-weight:400;letter-spacing:.01em;transition:background-color var(--theme-transition),color var(--theme-transition)}#root{position:relative;z-index:1}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:multiply}body.dark-mode:before{opacity:.07;mix-blend-mode:overlay}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;letter-spacing:.02em;line-height:1.2;color:var(--kc-brown)}body.dark-mode h1,body.dark-mode h2,body.dark-mode h3,body.dark-mode h4,body.dark-mode h5,body.dark-mode h6{color:var(--text-dark)}h1{font-size:clamp(2.25rem,4.5vw,3.5rem);margin-bottom:.75rem}h2{font-size:clamp(1.85rem,3.5vw,2.75rem);margin-bottom:.75rem}h3{font-size:clamp(1.35rem,2.5vw,2rem);margin-bottom:.5rem}p{margin-bottom:1rem;line-height:1.85}a{text-decoration:none;color:inherit;transition:color .25s ease,border-color .25s ease,opacity .25s ease}img{max-width:100%;height:auto;display:block}button{cursor:pointer;border:none;font-family:var(--font-body);transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .2s ease}input,textarea,select{font-family:var(--font-body);transition:background-color .25s ease,color .25s ease,border-color .25s ease}body.dark-mode .hotel-card,body.dark-mode .travel-option,body.dark-mode .photo-item,body.dark-mode .location-carousel,body.dark-mode .map-legend,body.dark-mode .travel-legend,body.dark-mode .rsvp-card,body.dark-mode .map-section,body.dark-mode .world-map-section,body.dark-mode nav{background-color:var(--kc-white);border-color:var(--border-color)}body.dark-mode{color:var(--text-dark);background-color:var(--kc-cream)}body.dark-mode p{color:var(--text-dark)}body.dark-mode a:hover{color:var(--kc-brown-soft)}body.dark-mode input,body.dark-mode textarea,body.dark-mode select{color:var(--text-dark);background-color:transparent}body.dark-mode input::placeholder,body.dark-mode textarea::placeholder{color:var(--text-light);opacity:.7}body.dark-mode img{opacity:.96}
