@import"https://fonts.googleapis.com/css2?family=Noto+Serif+Display:wght@400;500;600;700&family=Karla:wght@400;500;600;700&display=swap";:root{color-scheme:light;font-family:Karla,system-ui,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-saffron: oklch(.72 .14 75);--color-saffron-light: oklch(.88 .06 75);--color-saffron-deep: oklch(.58 .14 60);--color-marigold: oklch(.8 .12 80);--color-clay: oklch(.52 .06 45);--color-terracotta: oklch(.58 .1 35);--color-celadon: oklch(.78 .06 175);--color-celadon-deep: oklch(.52 .08 175);--color-marigold-tint: oklch(.8 .12 80 / .07);--color-saffron-deep-tint: oklch(.58 .14 60 / .06);--color-saffron-glow: oklch(.72 .14 75 / .12);--color-saffron-glow-soft: oklch(.72 .14 75 / .06);--color-saffron-light-tint: oklch(.88 .06 75 / .4);--color-celadon-tint: oklch(.78 .06 175 / .12);--color-ivory: oklch(.97 .008 75);--color-cream: oklch(.95 .015 75);--color-ink: oklch(.28 .015 50);--color-ink-hover: oklch(.22 .015 50);--color-muted: oklch(.5 .02 50);--color-warm-gray: oklch(.72 .015 60);--color-surface: oklch(.99 .005 75);--color-surface-alt: oklch(.96 .012 75);--color-border: oklch(.9 .015 70);--color-shadow: oklch(.28 .015 50 / .07);--color-success: oklch(.55 .12 155);--color-error: oklch(.55 .14 20);--radius-lg: 20px;--radius-md: 12px;--radius-sm: 8px;--shadow-soft: 0 12px 32px var(--color-shadow);--max-width: 1100px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--space-4xl: 96px;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: clamp(1.25rem, 1.1rem + .5vw, 1.5rem);--text-xl: clamp(1.5rem, 1.2rem + 1vw, 2rem);--text-2xl: clamp(2rem, 1.5rem + 1.8vw, 2.8rem);--text-3xl: clamp(2.5rem, 1.8rem + 2.5vw, 3.8rem)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-ivory);color:var(--color-ink)}a{color:inherit;text-decoration:none}a[href^=http]:not(.button):not(.registry-cta):not(.footer-link):not(.home-nav-link),a[href^=mailto]:not(.button):not(.registry-cta):not(.footer-link):not(.home-nav-link){color:var(--color-saffron-deep);font-weight:500}a[href^=http]:not(.button):not(.registry-cta):not(.footer-link):not(.home-nav-link):hover,a[href^=mailto]:not(.button):not(.registry-cta):not(.footer-link):not(.home-nav-link):hover{color:var(--color-clay)}img{max-width:100%;display:block}#root{width:100%}h1,h2,h3,h4{font-family:"Noto Serif Display",Georgia,serif;line-height:1.15;color:var(--color-ink);margin:0 0 var(--space-md) 0;font-weight:500;letter-spacing:-.01em}p{margin:0 0 var(--space-md) 0;color:var(--color-muted);max-width:68ch}button,input,select,textarea{font:inherit}button{border-radius:var(--radius-sm);border:1px solid transparent;padding:.65rem 1.4rem;font-weight:600;background-color:var(--color-ink);color:var(--color-ivory);cursor:pointer;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s cubic-bezier(.22,1,.36,1),background .2s}button:hover{transform:translateY(-1px);box-shadow:0 6px 16px var(--color-shadow)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-saffron);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.page{max-width:var(--max-width);margin:0 auto;padding:var(--space-xl) var(--space-lg) var(--space-4xl)}.hero-title{font-size:var(--text-2xl);margin-bottom:var(--space-sm);font-weight:500}.hero-subtitle{font-size:var(--text-base);margin-bottom:var(--space-lg);max-width:52ch}.page-section{margin-top:var(--space-3xl);position:relative}.section-header{margin-bottom:var(--space-lg);max-width:640px}.section-title{font-size:var(--text-xl);margin-bottom:var(--space-sm);font-weight:500}.section-subtitle{color:var(--color-muted);margin:0;font-size:var(--text-sm)}.info-card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-lg)}.info-card h3{font-size:var(--text-base);margin-bottom:var(--space-sm)}.info-card p{margin-bottom:var(--space-md);font-size:var(--text-sm)}.info-card a{color:var(--color-saffron-deep);font-weight:600;font-size:var(--text-sm);border-bottom:1px solid var(--color-saffron-light);padding-bottom:1px;transition:border-color .2s}.info-card a:hover{border-color:var(--color-saffron-deep)}.two-column{display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.schedule-day{margin-bottom:var(--space-2xl)}.schedule-day-title{font-size:var(--text-lg);margin:0 0 var(--space-lg) 0;color:var(--color-ink);font-weight:500}.timeline{display:grid;gap:0;position:relative;padding-left:var(--space-xl)}.timeline:before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:1px;background:var(--color-saffron);opacity:.4}.timeline-item{position:relative;padding:var(--space-md) 0 var(--space-lg);display:grid;gap:var(--space-xs)}.timeline-item:before{content:"";position:absolute;left:calc(-1 * var(--space-xl) + 2px);top:calc(var(--space-md) + 4px);width:9px;height:9px;border-radius:50%;background:var(--color-saffron);border:2px solid var(--color-ivory)}.timeline-time{font-weight:600;color:var(--color-saffron-deep);font-size:var(--text-sm)}.timeline-item h3{margin:0;font-size:var(--text-base)}.timeline-item p{margin:0;font-size:var(--text-sm)}.timeline-desc{color:var(--color-muted);font-size:var(--text-sm);margin-top:var(--space-xs);max-width:44ch}.timeline-room{color:var(--color-saffron-deep);font-weight:500;font-size:var(--text-sm)}.venue-map-card{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);display:flex;align-items:center;justify-content:center}.venue-map-card-body{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);text-align:center}.venue-map-address{font-size:var(--text-base);color:var(--color-ink);line-height:1.6;margin:0}.venue-map-pin{display:block;font-size:var(--text-xl);color:var(--color-saffron-deep);margin-bottom:var(--space-xs);line-height:1}.venue-map-link{white-space:nowrap}@media(min-width:900px){.timeline{padding-left:var(--space-2xl)}.timeline:before{left:8px}.timeline-item:before{left:calc(-1 * var(--space-2xl) + 4px)}}.home{max-width:var(--max-width);margin:0 auto;padding:var(--space-lg) var(--space-lg) var(--space-4xl)}.home-hero{background:repeating-linear-gradient(45deg,transparent 0px,transparent 40px,var(--color-marigold-tint) 40px,var(--color-marigold-tint) 41px),repeating-linear-gradient(-45deg,transparent 0px,transparent 40px,var(--color-saffron-deep-tint) 40px,var(--color-saffron-deep-tint) 41px),linear-gradient(170deg,var(--color-cream) 0%,var(--color-saffron-light) 60%,var(--color-marigold) 100%);border-radius:var(--radius-lg);padding:var(--space-4xl) var(--space-2xl) var(--space-3xl);text-align:center;position:relative;overflow:hidden}.home-eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.28em;color:var(--color-clay);font-weight:600;margin:0 0 var(--space-md)}.home-title{font-size:var(--text-3xl);margin:0 0 var(--space-md);font-weight:500;line-height:1.05}.home-subtitle{font-size:var(--text-lg);color:var(--color-ink);max-width:44ch;margin:0 auto var(--space-xl)}.home-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);justify-content:center}.home-actions-secondary{font-size:var(--text-sm);color:var(--color-ink-muted);text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in oklch,var(--color-ink-muted) 40%,transparent);transition:color .15s,text-decoration-color .15s}.home-actions-secondary:hover{color:var(--color-ink);text-decoration-color:var(--color-ink)}.home-details{padding:var(--space-xl) 0 var(--space-md);border-top:1px solid var(--color-border)}.home-details-grid{display:flex;flex-wrap:wrap}.home-detail{flex:1;min-width:140px;padding:var(--space-sm) var(--space-2xl) var(--space-sm) 0;display:flex;flex-direction:column;gap:3px}.home-detail+.home-detail{padding-left:var(--space-2xl);border-left:1px solid var(--color-border)}.home-detail-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--color-saffron-deep);font-weight:600}.home-detail-value{font-weight:500;color:var(--color-ink);font-size:var(--text-sm)}.home-detail-link{color:var(--color-saffron-deep);text-decoration:underline;text-underline-offset:2px;text-decoration-color:transparent;transition:text-decoration-color .2s}.home-detail-link:hover{text-decoration-color:var(--color-saffron-deep)}.home-what{padding:var(--space-md) 0 var(--space-xl);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-3xl);display:flex;flex-wrap:wrap}.home-what-item{flex:1;min-width:180px;display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm) var(--space-2xl) var(--space-sm) 0;transition:color .15s}.home-what-item+.home-what-item{padding-left:var(--space-2xl);border-left:1px solid var(--color-border)}.home-what-label{font-size:var(--text-xs);color:var(--color-warm-gray);font-weight:500}.home-what-action{font-family:"Noto Serif Display",Georgia,serif;font-weight:500;font-size:var(--text-sm);color:var(--color-ink);transition:color .15s}.home-what-item--primary .home-what-action{color:var(--color-saffron-deep);font-size:var(--text-base)}.home-what-item--primary{border-left:3px solid var(--color-saffron);padding-left:var(--space-lg)}.home-what-item--primary .home-what-label{color:var(--color-saffron-deep);opacity:.75}.home-what-item:hover .home-what-action{color:var(--color-saffron-deep)}.home-note{max-width:52ch;margin:0 auto;text-align:center}.home-note p{color:var(--color-muted);font-size:var(--text-sm);font-style:italic;max-width:none}@media(max-width:640px){.home-hero{padding:var(--space-3xl) var(--space-lg) var(--space-2xl)}.home-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md) 0}.home-detail{padding:var(--space-sm) var(--space-md) var(--space-sm) 0}.home-detail+.home-detail{border-left:none;padding-left:0}.home-detail:nth-child(odd){padding-right:var(--space-lg);border-right:1px solid var(--color-border)}.home-detail:nth-child(2n){padding-left:var(--space-lg)}.home-what{flex-direction:column;gap:0}.home-what-item{padding:var(--space-sm) 0;min-width:0}.home-what-item--primary{padding-left:var(--space-lg)}.home-what-item+.home-what-item{padding-left:0;border-left:none;border-top:1px solid var(--color-border)}.home-what-item--primary+.home-what-item{padding-left:0}}.add-to-calendar{position:relative;display:inline-block}.add-to-calendar-trigger{background:transparent;border:1px solid var(--color-border);color:var(--color-ink);padding:.65rem 1.4rem;font-size:var(--text-sm);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;font-weight:600;box-shadow:none;transform:none;transition:background .15s,border-color .15s,color .15s}.add-to-calendar-trigger:hover{background:var(--color-saffron-light);color:var(--color-saffron-deep);border-color:var(--color-saffron);box-shadow:none;transform:none}.add-to-calendar-dropdown{position:absolute;top:calc(100% + 2px);left:0;z-index:30;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 4px 12px var(--color-shadow);min-width:160px;display:flex;flex-direction:column;overflow:hidden}.add-to-calendar-option{display:block;width:100%;padding:8px 12px;font-size:var(--text-xs);color:var(--color-ink);background:transparent;border:none;text-align:left;cursor:pointer;text-decoration:none;font-weight:500;box-shadow:none;transform:none}.add-to-calendar-option:hover{background:var(--color-cream);color:var(--color-saffron-deep);box-shadow:none;transform:none}.add-to-calendar-option+.add-to-calendar-option{border-top:1px solid var(--color-border)}.rsvp-header{padding:var(--space-2xl) 0 var(--space-lg);max-width:520px;text-align:center;margin:0 auto}.rsvp-header .hero-subtitle{margin-bottom:var(--space-sm)}.rsvp-deadline{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-saffron-deep);font-weight:600;margin:0}.rsvp-steps{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.rsvp-step{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:var(--color-warm-gray);font-weight:500}.rsvp-step.active{color:var(--color-ink)}.rsvp-step.done{color:var(--color-saffron-deep)}.rsvp-step-dot{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--color-border);font-size:11px;font-weight:600;line-height:1;flex-shrink:0}.rsvp-step.active .rsvp-step-dot{border-color:var(--color-saffron-deep);background:var(--color-saffron-light);color:var(--color-saffron-deep)}.rsvp-step.done .rsvp-step-dot{border-color:var(--color-saffron-deep);background:var(--color-saffron-deep);color:var(--color-ivory)}.rsvp-step-label{letter-spacing:.02em}.rsvp-card{max-width:520px;margin:0 auto;background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-xl);box-shadow:var(--shadow-soft)}.rsvp-card h2{font-size:var(--text-lg);margin-bottom:var(--space-md)}.lookup-form{display:flex;gap:var(--space-md);margin-bottom:var(--space-md);align-items:flex-end}.lookup-field{flex:1;display:flex;flex-direction:column;gap:2px}.lookup-field label{font-size:var(--text-xs);font-weight:600;color:var(--color-muted);letter-spacing:.02em}.lookup-form input{flex:1;padding:.65rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-base);background:var(--color-surface)}.lookup-form button{min-width:140px}.lookup-form button:hover{background:var(--color-ink-hover)}.lookup-form button:disabled{background:var(--color-warm-gray);cursor:not-allowed;opacity:.6}.lookup-help{font-size:var(--text-xs);color:var(--color-muted);margin:0}.lookup-help a{color:var(--color-saffron-deep);font-weight:500}.error{color:var(--color-error);margin-top:var(--space-md);font-size:var(--text-sm);font-weight:500}.rsvp-form{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border)}.rsvp-form h3{margin-bottom:var(--space-xs)}.form-instructions{color:var(--color-muted);margin-bottom:var(--space-lg);font-size:var(--text-sm)}.form-instructions a{color:var(--color-saffron-deep);font-weight:500}.guest-fieldset{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-lg);margin-bottom:var(--space-lg)}.guest-fieldset legend{font-weight:600;font-size:var(--text-sm);padding:0 var(--space-sm);color:var(--color-ink)}.guest-name-row{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md);align-items:flex-end}.guest-name-field{flex:1;display:flex;flex-direction:column;gap:2px}.guest-name-field label{font-size:var(--text-xs);font-weight:600;color:var(--color-muted);letter-spacing:.02em}.guest-name-field input{width:100%;padding:.55rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--color-surface)}.remove-guest-btn{background:transparent;color:var(--color-error);border:1px solid var(--color-error);padding:.45rem .75rem;font-size:var(--text-xs);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.remove-guest-btn:hover{background:var(--color-error);color:var(--color-ivory)}.event-checkboxes{display:flex;flex-direction:column;gap:var(--space-md)}.event-day-group{display:flex;flex-direction:column;gap:var(--space-sm)}.event-day-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border)}.event-day-heading{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-saffron-deep)}.event-day-toggle{background:transparent;border:none;padding:0;font-size:var(--text-xs);color:var(--color-muted);cursor:pointer;font-weight:500;text-decoration:underline;text-underline-offset:2px;box-shadow:none;transform:none}.event-day-toggle:hover{color:var(--color-ink);box-shadow:none;transform:none}.event-checkbox{display:flex;align-items:flex-start;gap:var(--space-sm);cursor:pointer;padding:var(--space-xs) 0}.event-checkbox input[type=checkbox]{margin-top:2px;width:1rem;height:1rem;flex-shrink:0;accent-color:var(--color-saffron-deep)}.event-label{display:flex;flex-direction:column;line-height:1.3}.event-name{font-weight:500;font-size:var(--text-sm)}.event-datetime{font-size:var(--text-xs);color:var(--color-muted)}.add-guest-btn{display:block;width:100%;background:transparent;color:var(--color-muted);border:1px dashed var(--color-border);padding:.65rem;font-size:var(--text-sm);border-radius:var(--radius-sm);cursor:pointer;margin-bottom:var(--space-lg);transition:background .2s,border-color .2s,color .2s}.add-guest-btn:hover{background:var(--color-cream);border-color:var(--color-saffron);color:var(--color-ink)}.submit-btn{width:100%;padding:.75rem;font-size:var(--text-base);background:var(--color-saffron-deep);color:var(--color-ivory);border-radius:var(--radius-sm)}.submit-btn:hover{background:var(--color-clay)}.submit-btn:disabled{background:var(--color-warm-gray);cursor:not-allowed;opacity:.6}.rsvp-review{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border)}.rsvp-review h3{margin-bottom:var(--space-xs)}.review-instructions{color:var(--color-muted);font-size:var(--text-sm);margin-bottom:var(--space-lg)}.review-instructions a{color:var(--color-saffron-deep);font-weight:500}.review-guests{background:var(--color-surface-alt);border-radius:var(--radius-sm);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-md)}.review-guest{padding-bottom:var(--space-md);margin-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.review-guest:last-child{padding-bottom:0;margin-bottom:0;border-bottom:none}.review-guest h4{margin:0 0 var(--space-sm);font-size:var(--text-base)}.review-events{list-style:none;padding:0;margin:0}.review-events li{font-size:var(--text-sm);color:var(--color-success);font-weight:500;padding:2px 0}.review-none{font-size:var(--text-sm);color:var(--color-muted);margin:0;font-style:italic}.review-warning{font-size:var(--text-sm);color:var(--color-saffron-deep);font-weight:500;margin:var(--space-md) 0 0}.review-decline-confirm{font-size:var(--text-sm);color:var(--color-ink);font-weight:500;margin:0 0 var(--space-xs);padding:var(--space-md);background:var(--color-saffron-light);border-radius:var(--radius-sm);border:1px solid var(--color-saffron)}.submit-btn--decline{background:transparent;color:var(--color-muted);border-color:var(--color-border)}.submit-btn--decline:hover{background:var(--color-cream);color:var(--color-ink);box-shadow:none;transform:none}.review-actions{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-xl)}.back-btn{width:100%;padding:.65rem;font-size:var(--text-sm);background:transparent;color:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.back-btn:hover{background:var(--color-cream);color:var(--color-ink);box-shadow:none;transform:none}.rsvp-confirmation{margin-top:var(--space-xl);animation:confirmFadeIn .6s cubic-bezier(.22,1,.36,1) both}@keyframes confirmFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.confirmation-celebration{text-align:center;padding:var(--space-2xl) var(--space-lg);background:linear-gradient(170deg,var(--color-saffron-light) 0%,var(--color-marigold) 100%);border-radius:var(--radius-md);margin-bottom:var(--space-xl);position:relative;overflow:hidden}.confirmation-icon{font-size:var(--text-2xl);color:var(--color-saffron-deep);margin:0 0 var(--space-md);line-height:1;animation:iconEntry .5s cubic-bezier(.22,1,.36,1) both,iconPulse 2.5s ease-in-out .5s infinite}@keyframes iconEntry{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.confirmation-celebration h3{font-size:var(--text-xl);color:var(--color-ink);margin-bottom:var(--space-md)}.confirmation-message{font-size:var(--text-sm);color:var(--color-ink);max-width:40ch;margin:0 auto;line-height:1.7}.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti span{position:absolute;top:-20px;font-style:normal;font-size:13px;animation:confettiFall 3.5s ease-in forwards;opacity:0}.confetti span:before{letter-spacing:20px}.confetti span:nth-child(1){left:5%;color:var(--color-saffron-deep);animation-delay:.05s}.confetti span:nth-child(1):before{content:"✦ ◇ ✦";letter-spacing:18px}.confetti span:nth-child(2){left:22%;color:var(--color-terracotta);animation-delay:.2s}.confetti span:nth-child(2):before{content:"◇ ✦ ◇";letter-spacing:22px}.confetti span:nth-child(3){left:44%;color:var(--color-marigold);animation-delay:0s}.confetti span:nth-child(3):before{content:"✦ ◇";letter-spacing:26px}.confetti span:nth-child(4){right:38%;color:var(--color-saffron-deep);animation-delay:.35s}.confetti span:nth-child(4):before{content:"◇ ✦ ◇ ✦";letter-spacing:14px}.confetti span:nth-child(5){right:18%;color:var(--color-terracotta);animation-delay:.15s}.confetti span:nth-child(5):before{content:"✦ ◇ ✦";letter-spacing:20px}.confetti span:nth-child(6){right:4%;color:var(--color-marigold);animation-delay:.45s}.confetti span:nth-child(6):before{content:"◇ ✦";letter-spacing:28px}@keyframes confettiFall{0%{opacity:0;transform:translateY(-10px) rotate(0)}12%{opacity:.9}to{opacity:0;transform:translateY(140px) rotate(30deg)}}.confirmation-summary{margin-bottom:var(--space-lg);background:var(--color-surface-alt);border-radius:var(--radius-sm);padding:var(--space-md) var(--space-lg)}.confirmation-summary-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--color-saffron-deep);font-weight:600;margin-bottom:var(--space-md)}.confirmation-guest{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.confirmation-guest:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.confirmation-guest h4{margin:0 0 var(--space-sm);font-size:var(--text-base)}.confirmation-events{list-style:none;padding:0;margin:0}.confirmation-events li{display:flex;justify-content:space-between;padding:var(--space-xs) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.confirmation-events li:last-child{border-bottom:none}.confirmation-event-name{font-weight:500}.confirmation-status{font-size:var(--text-xs);font-weight:600}.attending .confirmation-status{color:var(--color-success)}.not-attending .confirmation-status{color:var(--color-muted)}.confirmation-admin{text-align:center;color:var(--color-muted);font-size:var(--text-xs);margin-bottom:var(--space-md)}.confirmation-no-email{display:flex;align-items:center;gap:var(--space-sm);background:var(--color-saffron-light);border:1px solid var(--color-saffron);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);color:var(--color-ink);margin:var(--space-xl) 0 var(--space-md);max-width:none}.confirmation-admin a{color:var(--color-saffron-deep);font-weight:500}.confirmation-change-link{display:inline-block;margin-top:var(--space-xs);padding:5px 14px;border:1px solid var(--color-saffron);border-radius:var(--radius-sm);background:transparent;color:var(--color-saffron-deep);font-weight:600;font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;transition:background .18s,color .18s}.confirmation-change-link:hover{background:var(--color-saffron-light);color:var(--color-ink)}.confirmation-closing{text-align:center;font-family:"Noto Serif Display",Georgia,serif;font-size:var(--text-base);font-weight:500;color:var(--color-ink);margin:var(--space-xl) 0 0;padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.confirmation-calendar{margin:var(--space-lg) 0;padding:var(--space-lg);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);text-align:center}.confirmation-calendar-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-saffron-deep);font-weight:600;margin:0 0 var(--space-md)}.rsvp-restart{text-align:center;margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.restart-btn{background:transparent;border:none;padding:0;font-size:var(--text-xs);color:var(--color-muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px;box-shadow:none;transform:none}.restart-btn:hover{color:var(--color-ink);box-shadow:none;transform:none}@media(max-width:640px){.lookup-form,.guest-name-row{flex-direction:column;align-items:stretch}.remove-guest-btn{align-self:flex-end}}.schedule-header{padding:var(--space-2xl) 0 var(--space-xl);max-width:580px}.schedule-header .hero-title{margin-bottom:var(--space-xs)}.schedule-when{font-size:var(--text-sm);font-weight:600;color:var(--color-saffron-deep);letter-spacing:.02em;margin:0 0 var(--space-xs)}.schedule-where{font-size:var(--text-sm);color:var(--color-muted);margin:0 0 var(--space-lg)}.schedule-header-actions{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.schedule-day-nav{display:flex;gap:2px;margin-bottom:0;border-bottom:2px solid var(--color-border);position:sticky;top:var(--header-h, 61px);z-index:15;background:var(--color-surface)}.schedule-day-tab{padding:var(--space-sm) var(--space-lg);font-size:var(--text-sm);font-weight:600;color:var(--color-muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;letter-spacing:.01em}.schedule-day-tab:hover{color:var(--color-ink)}.schedule-day-tab--saturday:hover,.schedule-day-tab--saturday:focus-visible,.schedule-day-tab--saturday.active{color:var(--color-celadon-deep);border-bottom-color:var(--color-celadon)}.schedule-day-tab--sunday:hover,.schedule-day-tab--sunday:focus-visible,.schedule-day-tab--sunday.active{color:var(--color-saffron-deep);border-bottom-color:var(--color-saffron)}.schedule-color-key{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-lg);font-size:var(--text-xs);color:var(--color-muted);letter-spacing:.03em;border-bottom:1px solid var(--color-border);flex-wrap:wrap;row-gap:2px}.schedule-color-key-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.schedule-color-key-dot--celadon{background:var(--color-celadon)}.schedule-color-key-dot--saffron{background:var(--color-saffron)}.schedule-color-key-sep{margin:0 var(--space-xs);opacity:.4}.schedule-timeline-section{padding:var(--space-2xl) 0;border-bottom:1px solid var(--color-border)}.schedule-day,.schedule-dress{scroll-margin-top:calc(var(--header-h, 61px) + 44px)}.schedule-day:first-child .timeline-item:before{border-radius:2px;transform:rotate(45deg);background:var(--color-celadon)}.schedule-day:first-child .timeline:before{background:var(--color-celadon)}.schedule-day:first-child .timeline-time{color:var(--color-celadon-deep)}.schedule-day:last-child .timeline-item:before{border-radius:2px;background:var(--color-saffron)}.schedule-day:last-child .timeline:before{background:var(--color-saffron)}.schedule-day:last-child .timeline-time{color:var(--color-saffron)}.schedule-dress{margin-top:var(--space-3xl);position:relative}.schedule-dress:before{content:"◇ · ◇ · ◇";display:block;text-align:center;color:var(--color-terracotta);font-size:var(--text-xs);letter-spacing:.3em;margin-bottom:var(--space-xl);opacity:.5}.dress-list{display:grid;gap:0;margin-top:var(--space-lg)}.dress-item{display:flex;gap:var(--space-lg);padding:var(--space-md) 0;border-bottom:1px solid var(--color-border)}.dress-item:last-child{border-bottom:none}.dress-item dt{font-family:"Noto Serif Display",Georgia,serif;font-weight:500;font-size:var(--text-base);color:var(--color-ink);min-width:200px;flex-shrink:0}.dress-item dd{margin:0;color:var(--color-muted);font-size:var(--text-sm);padding-top:2px}@media(max-width:640px){.dress-item{flex-direction:column;gap:var(--space-xs)}.dress-item dt{min-width:auto}}.travel-header{padding:var(--space-2xl) 0 var(--space-xl);max-width:580px}.travel-header .hero-subtitle{margin-bottom:0}.travel-hotel-feature{display:grid;grid-template-columns:1fr;gap:var(--space-lg);padding:var(--space-2xl);border-radius:var(--radius-md);background:radial-gradient(circle at 100% 0%,var(--color-saffron-light-tint) 0%,transparent 50%),radial-gradient(circle at 0% 100%,var(--color-celadon-tint) 0%,transparent 40%),var(--color-surface-alt);border:1px solid var(--color-border)}.travel-hotel-info h2{font-size:var(--text-xl);margin-bottom:var(--space-xs)}.travel-address{font-size:var(--text-sm);color:var(--color-saffron-deep);font-weight:500;margin-bottom:var(--space-md)}.travel-hotel-info p{font-size:var(--text-sm)}.travel-hotel-info .button{margin-top:var(--space-sm)}.travel-hotel-alt{background:var(--color-surface-alt);border-radius:var(--radius-md);padding:var(--space-lg);border:1px solid var(--color-border)}.travel-hotel-alt h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--color-saffron-deep);margin-bottom:var(--space-sm)}.travel-hotel-alt p{font-size:var(--text-sm);margin:0}.travel-section{margin-top:var(--space-3xl)}.travel-transport{display:flex;flex-direction:column;gap:0;margin-top:var(--space-lg)}.transport-item{display:flex;gap:var(--space-lg);padding:var(--space-md) 0;border-bottom:1px solid var(--color-border)}.transport-item:last-child{border-bottom:none}.transport-label{font-weight:600;font-size:var(--text-sm);color:var(--color-ink);min-width:140px;flex-shrink:0}.transport-desc{color:var(--color-muted);font-size:var(--text-sm)}.explore-list{list-style:none;padding:0;margin:var(--space-lg) 0 0}.explore-list li{padding:var(--space-sm) 0;font-size:var(--text-sm);color:var(--color-muted);border-bottom:1px solid var(--color-border)}.explore-list li:last-child{border-bottom:none}.explore-list strong{color:var(--color-ink)}.explore-list li:before{content:"·";color:var(--color-celadon);font-weight:700;margin-right:var(--space-sm)}@media(min-width:900px){.travel-hotel-feature{grid-template-columns:1.5fr 1fr;align-items:start}}@media(max-width:640px){.transport-item{flex-direction:column;gap:var(--space-xs)}.transport-label{min-width:auto}}.registry-message{padding:var(--space-4xl) var(--space-lg) var(--space-3xl);max-width:560px}.registry-eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.2em;color:var(--color-saffron-deep);font-weight:600;margin:0 0 var(--space-md)}.registry-title{font-size:var(--text-2xl);font-weight:500;margin-bottom:var(--space-lg);line-height:1.15;color:var(--color-ink)}.registry .registry-body{font-size:var(--text-base);color:var(--color-muted);max-width:52ch;margin:0;line-height:1.75}.registry-give{border-top:1px solid var(--color-border);padding:var(--space-xl) var(--space-lg);max-width:560px}.registry-give-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--color-warm-gray);font-weight:600;margin:0 0 var(--space-lg)}.registry-options{display:flex;flex-direction:column;gap:0}.registry-option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--color-border)}.registry-option:last-child{border-bottom:none}.registry-option-method{font-family:"Noto Serif Display",Georgia,serif;font-weight:500;font-size:var(--text-base);color:var(--color-ink);min-width:80px}.registry-option-action{color:var(--color-saffron-deep);font-weight:600;font-size:var(--text-sm);transition:color .15s}.registry-option-action:hover{color:var(--color-clay)}.registry-zelle-copy{display:inline-flex;align-items:center;gap:var(--space-sm);padding:5px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-ivory);cursor:pointer;font-size:var(--text-xs);box-shadow:none;transform:none;transition:background .15s,border-color .15s}.registry-zelle-copy:hover{background:var(--color-cream);border-color:var(--color-saffron);box-shadow:none;transform:none}.registry-zelle-email{color:var(--color-ink);font-weight:500;font-family:ui-monospace,Cascadia Code,Courier New,monospace;font-size:var(--text-xs)}.registry-zelle-copy-label{color:var(--color-saffron-deep);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:10px;min-width:3.2ch}.registry-note{max-width:560px;margin:0;padding:var(--space-xl) var(--space-lg) var(--space-3xl);border-top:1px solid var(--color-border)}.registry-note p{font-size:var(--text-sm);color:var(--color-muted);max-width:none;margin:0}.registry-note a{color:var(--color-saffron-deep);font-weight:500}.faq-header{padding:var(--space-xl) 0 var(--space-lg);max-width:580px}.faq-header .hero-title{font-size:var(--text-xl);margin-bottom:var(--space-xs)}.faq-header .hero-subtitle{margin-bottom:0}.faq-section{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--color-border)}.faq-accordion-item{border-bottom:1px solid var(--color-border)}.faq-accordion-item.open{background:var(--color-surface-alt)}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);width:100%;padding:var(--space-lg) var(--space-sm);background:transparent;border:none;border-radius:0;text-align:left;font-family:"Noto Serif Display",Georgia,serif;font-size:var(--text-base);font-weight:500;color:var(--color-ink);cursor:pointer;box-shadow:none;transform:none}.faq-question:hover{background:var(--color-surface-alt);box-shadow:none;transform:none}.faq-accordion-item.open .faq-question:hover{background:transparent}.faq-chevron{font-size:var(--text-lg);color:var(--color-saffron-deep);flex-shrink:0;line-height:1;transition:transform .2s cubic-bezier(.22,1,.36,1)}.faq-accordion-item.open .faq-chevron{transform:rotate(180deg);color:var(--color-ink)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.22,1,.36,1),visibility 0s linear .28s;visibility:hidden}.faq-accordion-item.open .faq-answer{grid-template-rows:1fr;transition:grid-template-rows .28s cubic-bezier(.22,1,.36,1),visibility 0s linear 0s;visibility:visible}.faq-answer-inner{overflow:hidden;padding:0 var(--space-sm) 0}.faq-accordion-item.open .faq-answer-inner{padding-bottom:var(--space-lg)}@media(prefers-reduced-motion:reduce){.faq-answer{transition:none}}.faq-answer p{font-size:var(--text-sm);color:var(--color-muted);margin:0}.faq-answer p+p{margin-top:var(--space-sm)}.faq-answer a{color:var(--color-saffron-deep);font-weight:500}.faq-contact{margin-top:var(--space-3xl);padding:var(--space-lg);background:var(--color-saffron-light);border-radius:var(--radius-md);border:1px solid var(--color-saffron)}.faq-contact p{font-size:var(--text-sm);color:var(--color-ink);margin:0;max-width:none}.faq-contact a{color:var(--color-saffron-deep)}.site-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,transparent 0px,transparent 48px,oklch(.8 .12 80 / .05) 48px,oklch(.8 .12 80 / .05) 49px),repeating-linear-gradient(-45deg,transparent 0px,transparent 48px,oklch(.58 .14 60 / .04) 48px,oklch(.58 .14 60 / .04) 49px),linear-gradient(160deg,var(--color-cream) 0%,var(--color-saffron-light) 50%,var(--color-cream) 100%);padding:var(--space-xl)}.site-gate-content{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--space-3xl) var(--space-xl);max-width:460px;width:100%;box-shadow:var(--shadow-soft);text-align:center;position:relative;overflow:hidden}.site-gate-content:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:repeating-linear-gradient(90deg,var(--color-saffron) 0px,var(--color-saffron) 16px,var(--color-terracotta) 16px,var(--color-terracotta) 24px,var(--color-celadon) 24px,var(--color-celadon) 32px,var(--color-marigold) 32px,var(--color-marigold) 48px,var(--color-saffron-deep) 48px,var(--color-saffron-deep) 56px)}.site-gate-content h1{margin:0 0 var(--space-sm) 0;color:var(--color-ink);font-size:var(--text-xl)}.site-gate-content .subtitle{color:var(--color-muted);margin-bottom:var(--space-xl);font-size:var(--text-sm)}.gate-motif{color:var(--color-saffron);font-size:var(--text-xs);letter-spacing:.5em;margin:0 0 var(--space-lg);opacity:.6}.site-gate-form{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-md)}.site-gate-form input{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-base);text-align:center;transition:border-color .2s;background:var(--color-surface)}.site-gate-form input:focus-visible{outline:2px solid var(--color-saffron);outline-offset:2px;border-color:var(--color-saffron)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-gate-form button{padding:var(--space-md) var(--space-xl);background:var(--color-saffron);color:var(--color-ink);border:none;border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:background .2s,transform .25s cubic-bezier(.22,1,.36,1)}.site-gate-form button:hover{background:var(--color-saffron-deep);color:var(--color-ivory);transform:translateY(-1px)}.site-gate .error{color:var(--color-error);margin:var(--space-md) 0;font-weight:500;font-size:var(--text-sm)}.site-gate .hint{color:var(--color-muted);font-size:var(--text-xs);margin-top:var(--space-lg)}.storage-warning{background:var(--color-saffron-light, #fdf6e3);color:var(--color-ink);text-align:center;padding:.5rem 1rem;font-size:.85rem}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--color-ivory)}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:100;padding:var(--space-sm) var(--space-md);background:var(--color-saffron);color:var(--color-ink);font-weight:600;font-size:var(--text-sm);border-radius:var(--radius-sm);text-decoration:none}.skip-link:focus{position:fixed;top:var(--space-sm);left:var(--space-sm);width:auto;height:auto}.main-content{flex:1}.site-header{position:sticky;top:0;z-index:20;background:var(--color-surface);border-bottom:1px solid var(--color-border)}:root{--header-h: 61px}.nav{position:relative}.nav-inner{max-width:var(--max-width);margin:0 auto;padding:var(--space-md) var(--space-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.nav-brand{font-family:"Noto Serif Display",Georgia,serif;font-size:var(--text-md);font-weight:500;letter-spacing:.01em;color:var(--color-ink)}.nav-links{display:flex;align-items:center;gap:var(--space-sm)}.nav-link{font-weight:500;font-size:var(--text-sm);padding:6px 14px;border-radius:var(--radius-sm);color:var(--color-muted);transition:background .2s,color .2s;letter-spacing:.01em}.nav-link:hover,.nav-link.active{background:var(--color-cream);color:var(--color-ink)}.nav-link-cta{background:var(--color-saffron);color:var(--color-ink);font-weight:600}.nav-link-cta:hover,.nav-link-cta.active{background:var(--color-saffron-deep);color:var(--color-ivory)}.nav-toggle{display:none;align-items:center;gap:var(--space-sm);background:transparent;border:1px solid var(--color-border);color:var(--color-ink);padding:6px 12px;border-radius:var(--radius-sm);font-weight:600;box-shadow:none;transform:none}.nav-toggle:hover{background:var(--color-cream);box-shadow:none;transform:none}.nav-toggle-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em}.nav-toggle-bars{display:grid;gap:3px}.nav-toggle-bar{width:16px;height:1.5px;background:var(--color-ink);border-radius:1px}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.65rem 1.6rem;border-radius:var(--radius-sm);background:var(--color-ink);color:var(--color-ivory);font-weight:600;font-size:var(--text-sm);border:1px solid transparent;letter-spacing:.02em;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s cubic-bezier(.22,1,.36,1),background .2s}.button:hover{transform:translateY(-1px);box-shadow:0 8px 20px var(--color-shadow)}.button-outline{background:transparent;color:var(--color-ink);border-color:var(--color-saffron)}.button-outline:hover{background:var(--color-saffron-light);box-shadow:none}.site-footer{background:var(--color-ink);color:var(--color-cream);padding:var(--space-3xl) var(--space-lg) var(--space-2xl);position:relative}.site-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:repeating-linear-gradient(90deg,var(--color-saffron) 0px,var(--color-saffron) 16px,var(--color-terracotta) 16px,var(--color-terracotta) 24px,var(--color-celadon) 24px,var(--color-celadon) 32px,var(--color-marigold) 32px,var(--color-marigold) 48px,var(--color-saffron-deep) 48px,var(--color-saffron-deep) 56px)}.footer-inner{max-width:var(--max-width);margin:0 auto;display:grid;gap:var(--space-xl)}.footer-title{font-family:"Noto Serif Display",Georgia,serif;font-size:var(--text-lg);font-weight:500;color:var(--color-saffron-light);margin-bottom:var(--space-xs)}.footer-subtitle{color:var(--color-warm-gray);margin:0;font-size:var(--text-sm)}.footer-heading{font-family:Karla,system-ui,sans-serif;font-weight:600;color:var(--color-saffron-light);margin:0 0 var(--space-md);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.14em;line-height:1.6}.footer-links{display:grid;gap:var(--space-sm)}.footer-link{color:var(--color-warm-gray);transition:color .2s;font-size:var(--text-sm)}.footer-link:hover{color:var(--color-saffron-light)}.footer-note{color:var(--color-warm-gray);font-size:var(--text-xs);margin:0;opacity:.7}@media(max-width:820px){.nav-toggle{display:inline-flex}.nav-links{display:flex;position:absolute;top:100%;left:0;right:0;padding:var(--space-md) var(--space-lg) var(--space-lg);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column;align-items:flex-start;gap:var(--space-sm);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}.nav-links.open{visibility:visible;opacity:1;pointer-events:auto}}.nav-backdrop{display:none}@media(max-width:820px){.nav-backdrop{display:block;position:fixed;inset:0;z-index:10;background:#2f272266}body.menu-open{overflow:hidden}}.not-found{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:var(--space-3xl) var(--space-lg)}.not-found-inner{text-align:center;max-width:380px}.not-found-glyph{font-size:48px;color:var(--color-saffron);margin:0 0 var(--space-lg);line-height:1}.not-found-title{font-family:"Noto Serif Display",Georgia,serif;font-size:var(--text-2xl);font-weight:400;color:var(--color-ink);margin-bottom:var(--space-md)}.not-found-body{color:var(--color-muted);font-size:var(--text-base);margin-bottom:var(--space-2xl);line-height:1.6}.not-found-links{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}@media(min-width:900px){.footer-inner{grid-template-columns:1.6fr 1fr 1fr;align-items:start}}
