:root{--teal: #3c6168;--teal-dark: #2f4d53;--teal-text: #354a4f;--teal-muted: #5a7a80;--cream: #f8f7ed}.app{font-family:EB Garamond,serif;color:var(--teal-text);background:#fff;min-height:100vh;line-height:1.6;margin:0;padding:0}.header-minimal{display:none;position:fixed;top:0;right:0;left:0;z-index:1000;padding:1.25rem 1.5rem;justify-content:flex-end;align-items:center;background:transparent;pointer-events:none}.header-minimal .hamburger-menu{pointer-events:auto}.header-overlay{position:absolute;top:0;left:0;right:0;background:transparent;z-index:10;padding:2rem 2rem 1rem}.header-block{text-align:center;padding:2.5rem 2rem 2rem;background:#fff;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.header-block-page{padding:0 0 1.5rem;background:transparent;box-shadow:none;border-radius:0}.page-content-wrapper .header-block-page{padding:0 0 1.5rem}.header-block-divider{width:100%;margin:0;border:none;border-top:1px solid rgba(0,0,0,.12)}.header-block .header-logo{font-family:EB Garamond,serif;font-size:2rem;font-weight:500;color:var(--teal-text);text-decoration:none;transition:opacity .2s ease;display:flex;flex-direction:column;align-items:center;gap:.05em}.header-block .header-logo .name-line,.header-block .header-logo .name-amp{display:block}.header-block .header-logo .name-amp{font-size:.55em}.header-block .header-logo.header-logo-oneline{display:inline-block;flex-direction:row}.header-block .header-logo:hover{opacity:.8;color:var(--teal-text)}.header-subtitle{text-align:center;margin:0;padding:0}.header-date-location{font-family:EB Garamond,serif;font-size:.95rem;color:var(--teal-muted);margin:0 0 .25rem;letter-spacing:.02em}.header-countdown{font-family:EB Garamond,serif;font-size:1rem;color:var(--teal-text);margin:0;font-weight:500}.header .hamburger-menu{display:none;position:relative}.hamburger-menu{display:none;flex-direction:column;justify-content:space-around;width:30px;height:30px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001;position:relative}.hamburger-line{width:100%;height:3px;background:var(--teal-text);border-radius:3px;transition:all .3s ease;transform-origin:center}.header-overlay .hamburger-line{background:var(--teal-text)}.mobile-nav{display:none;position:fixed;top:0;right:0;width:min(300px,88vw);height:100dvh;max-height:100dvh;background:#fff;flex-direction:column;padding:0;z-index:1002;transform:translate(100%);transition:transform .3s ease;box-shadow:-4px 0 20px #00000014;pointer-events:auto;overflow:hidden}.mobile-nav.open{transform:translate(0)}.mobile-nav-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0;padding:calc(.85rem + env(safe-area-inset-top,0px)) 1rem .85rem 1.25rem;border-bottom:1px solid rgba(45,90,90,.12);background:#fff}.mobile-nav-title{font-family:EB Garamond,serif;font-size:1.25rem;font-weight:600;color:var(--teal-text)}.mobile-nav-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--teal-text);font-family:EB Garamond,serif;font-size:2rem;line-height:1;cursor:pointer;flex-shrink:0}.mobile-nav-close:hover{background:#2d5a5a0f}.mobile-nav-links{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.5rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom,0px))}.mobile-menu-backdrop{position:fixed;top:0;left:0;bottom:0;right:min(300px,88vw);background:#0000001f;z-index:1000;pointer-events:auto}.mobile-nav-link{font-family:EB Garamond,serif;font-size:1.25rem;color:var(--teal-text);text-decoration:none;padding:1rem 0;border-bottom:1px solid #e5e5e5;transition:color .3s ease;pointer-events:auto;cursor:pointer;display:block}.mobile-nav-link:hover,.mobile-nav-link.active{color:var(--teal)}.mobile-rsvp-button{font-family:EB Garamond,serif;font-size:1rem;font-weight:500;background:var(--teal);color:#fff;border:none;padding:.65rem 1.25rem;border-radius:6px;text-align:center;margin-top:.75rem;border-bottom:none;text-decoration:none;box-sizing:border-box;pointer-events:auto;cursor:pointer;display:block;width:100%;transition:background .2s ease}.mobile-rsvp-button:hover,.mobile-rsvp-button.active{background:var(--teal-dark);color:#fff;text-decoration:none}.desktop-tabs{display:flex;flex-wrap:nowrap;gap:1rem;justify-content:center;align-items:center}.tab-link{font-family:EB Garamond,serif;font-size:1.1rem;color:var(--teal-text);text-decoration:none;padding:.25rem 0;transition:color .2s ease}.tab-link:hover{color:var(--teal)}.tab-link.active{color:var(--teal);font-weight:600;text-decoration:underline;text-underline-offset:4px}.tab-link-rsvp{background:var(--teal);color:#fff!important;padding:.35rem .75rem;border-radius:6px;text-decoration:none!important}.tab-link-rsvp:hover,.tab-link-rsvp.active{background:var(--teal-dark);color:#fff!important;text-decoration:none!important}.desktop-nav-left{display:flex;gap:2rem;justify-self:start;grid-column:1;grid-row:1}.nav-link-top-left{font-size:20px!important;text-decoration:none;transition:text-decoration .3s ease;color:var(--teal-text)}.desktop-nav-link{display:block}.desktop-back-link{font-size:24px!important;line-height:1;padding:.25rem 0}.desktop-back-link:hover{text-decoration:none;opacity:.7}.desktop-back-link.active{text-decoration:none}.nav-link-top-left:hover,.nav-link-top-left.active{text-decoration:underline;text-underline-offset:4px}.logo-link{justify-self:center;z-index:1001;grid-column:2;grid-row:1}.desktop-rsvp-button{justify-self:end;display:inline-block;grid-column:3;grid-row:1}.logo-top{margin:0;font-size:32px;color:var(--teal-text)}.rsvp-button-top{justify-self:end;background:var(--teal);color:#fff;border:none;padding:.75rem 1.5rem;font-size:.9rem;border-radius:6px;cursor:pointer;transition:all .3s ease;font-family:EB Garamond,serif;font-weight:500;text-decoration:none;display:inline-block}.logo-link{text-decoration:none;display:inline-block}.logo{font-family:EB Garamond,serif;font-size:2.5rem;font-weight:500;color:var(--teal-text);margin-bottom:1.5rem;letter-spacing:.01em}.header-overlay .logo{color:var(--teal-text);text-shadow:none;margin-bottom:0}.hero{width:100vw;min-height:100vh;position:relative;margin:0;padding:0;overflow:hidden;background-size:cover;background-position:center center;background-repeat:no-repeat;background-attachment:fixed;display:flex;flex-direction:column}.hero-content{position:relative;z-index:2;flex:1;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;min-height:60vh}.content-wrapper{position:relative;z-index:3;max-width:800px;margin:0 auto;text-align:center}.hero .content-wrapper{width:100%;background:#fff;padding:6rem 5rem;border-radius:16px;box-shadow:0 4px 24px #00000014}.page-hero .page-content-wrapper{width:100%;background:#fff;padding:3rem 5rem 6rem;border-radius:16px;box-shadow:0 4px 24px #00000014}.schedule-day{background:var(--cream);color:var(--teal-text);padding:2.5rem 2rem 4rem;margin-top:2rem;border-radius:16px}.schedule-day-inner{max-width:560px;margin:0 auto;text-align:center}.schedule-day-date{font-family:EB Garamond,serif;font-size:1.25rem;font-weight:500;color:var(--teal-text);letter-spacing:.05em;margin-bottom:2.5rem}.schedule-day-event{margin-bottom:3rem}.schedule-day-event:last-child{margin-bottom:0}.schedule-day-rings{width:28px;height:28px;margin:0 auto 1rem;display:block;color:var(--teal-muted)}.schedule-day-event-title{font-family:EB Garamond,serif;font-size:1.75rem;font-weight:600;color:var(--teal-text);margin-bottom:.5rem}.schedule-day-time{font-size:1rem;color:var(--teal-text);margin-bottom:.35rem}.schedule-day-venue{font-size:1rem;color:var(--teal-text);margin-bottom:.25rem}.schedule-day-address{font-size:.95rem;color:var(--teal);font-style:italic;text-decoration:underline;text-underline-offset:3px;margin-bottom:1rem;display:inline-block}.schedule-day-address:hover{color:var(--teal-dark)}.schedule-day-intro{font-size:.95rem;color:var(--teal-muted);line-height:1.55;margin-bottom:2rem;text-align:center}.schedule-day-phone{font-size:.95rem;color:var(--teal);font-style:italic;text-decoration:underline;text-underline-offset:3px;margin-bottom:1rem;display:inline-block}.schedule-day-phone:hover{color:var(--teal-dark)}.travel-block-label{font-size:.75rem;font-weight:600;color:var(--teal-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem}.travel-block-times{font-size:1rem;color:var(--teal-text);margin-bottom:1rem}.travel-block-description{margin-top:.5rem;margin-bottom:0}.schedule-day-inner--wide{max-width:640px}.things-to-do-intro{margin-bottom:2.5rem}.things-to-do-area{margin-bottom:3.5rem;padding-bottom:.5rem;border-bottom:1px solid rgba(45,90,90,.12)}.things-to-do-area:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.things-to-do-area-title{font-family:EB Garamond,serif;font-size:1.5rem;font-weight:600;color:var(--teal-text);margin:0 0 .35rem;line-height:1.3}.things-to-do-distance{font-size:.9rem;color:var(--teal-muted);font-style:italic;margin:0 0 1.5rem}.things-to-do-subsection{margin-bottom:1.75rem}.things-to-do-subsection:last-child{margin-bottom:0}.things-to-do-subsection-intro{font-size:.9rem;color:var(--teal-muted);line-height:1.5;margin:0 0 1rem}.things-to-do-places{list-style:none;padding:0;margin:0}.things-to-do-places+.things-to-do-subsection{margin-top:2.25rem}.things-to-do-place{margin-bottom:1.15rem}.things-to-do-place:last-child{margin-bottom:0}.things-to-do-place-name{font-family:EB Garamond,serif;font-size:1.15rem;font-weight:600;color:var(--teal);text-decoration:underline;text-underline-offset:3px}.things-to-do-place-name:hover{color:var(--teal-dark)}.things-to-do-place-note{font-size:.9rem;color:var(--teal-muted);line-height:1.5;margin:.35rem auto 0;max-width:520px}.things-to-do-restaurants{margin-top:.5rem}.faq-intro{margin-bottom:2.5rem}.faq-item{margin-bottom:2.5rem;text-align:center}.faq-item:last-child{margin-bottom:0}.faq-question{font-family:EB Garamond,serif;font-size:1.35rem;font-weight:600;color:var(--teal-text);letter-spacing:.02em;text-transform:uppercase;margin:0 0 .75rem;line-height:1.3}.faq-answer{font-size:.95rem;color:var(--teal-text);line-height:1.6;max-width:480px;margin:0 auto}.schedule-day-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.schedule-day-btn{display:inline-block;padding:.5rem 1.25rem;font-size:.9rem;font-weight:500;font-family:inherit;color:var(--teal);background:#fff;border:1px solid var(--teal);border-radius:8px;text-decoration:none;cursor:pointer;transition:background .2s ease,color .2s ease}.schedule-day-actions button.schedule-day-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.schedule-day-btn:hover{background:var(--teal);color:#fff}.date-line{font-family:EB Garamond,serif;font-size:1.5rem;font-weight:400;color:var(--teal-text);margin-bottom:1.5rem;letter-spacing:.05em}.hero .names{margin-bottom:1.25rem}.name-top{font-family:EB Garamond,serif;font-size:4.5rem;font-weight:600;color:var(--teal-text);line-height:1.2;letter-spacing:.01em;display:flex;flex-direction:column;align-items:center;gap:.1em}.name-top .name-line,.name-top .name-amp{display:block}.name-top .name-amp{font-size:.5em;font-weight:500}.tagline{font-family:EB Garamond,serif;font-size:1.5rem;color:var(--teal-text);font-weight:400;letter-spacing:.02em}.hero .header-block{margin-top:1.25rem;padding:0;background:transparent;gap:1.25rem}.hero:not(.page-hero) .header-block .header-logo{display:none}.hero-intro{font-family:EB Garamond,serif;font-size:1.1rem;line-height:1.65;color:var(--teal-text);margin:1.75rem auto 0;max-width:520px;text-align:center}.hero-rsvp-button{margin-top:1.75rem;background:var(--teal);color:#fff;border:none;padding:.9rem 2.75rem;font-size:1.05rem;border-radius:6px;cursor:pointer;transition:all .3s ease;font-family:EB Garamond,serif;font-weight:500;text-decoration:none;display:inline-block}.hero-rsvp-button:hover{background:var(--teal-dark);color:#fff}.rsvp-button-top:hover{background:var(--teal-dark);transform:translateY(-1px)}.lookup-divider{text-align:center;margin:1.5rem 0;position:relative}.lookup-divider:before,.lookup-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:#e5e5e5}.lookup-divider:before{left:0}.lookup-divider:after{right:0}.lookup-divider span{background:#fff;padding:0 1rem;color:var(--teal-muted);font-size:.9rem;position:relative}.rsvp-toggle{margin-top:1rem;text-align:center}.toggle-description{font-size:1.1rem;color:var(--teal-muted);margin-bottom:1rem;line-height:1.5}.toggle-button{background:transparent;color:var(--teal);border:1px solid var(--teal);padding:.75rem 1.5rem;font-size:.9rem;border-radius:4px;cursor:pointer;transition:all .3s ease;font-family:EB Garamond,serif;text-decoration:none;display:inline-block;font-weight:500}.toggle-button:hover{background:var(--teal);color:#fff}.rsvp-lookup{margin-bottom:0;text-align:center}.rsvp-lookup h3{font-family:EB Garamond,serif;font-size:1.5rem;margin-bottom:.5rem;color:var(--teal);font-weight:500;text-align:center}.rsvp-lookup p{font-size:1.1rem;color:var(--teal-text);margin-bottom:1.5rem;line-height:1.6;text-align:center}.lookup-form{display:flex;flex-direction:column;gap:1rem;max-width:400px;margin:0 auto}.lookup-form input{padding:.875rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem;font-family:EB Garamond,serif;transition:border-color .3s ease;color:var(--teal-text)}.lookup-form input:focus{outline:none;border-color:var(--teal)}.lookup-button{background:var(--teal);color:#fff;border:none;padding:.875rem;font-size:1rem;border-radius:4px;cursor:pointer;transition:background-color .3s ease;font-family:EB Garamond,serif;font-weight:500}.lookup-button:hover:not(:disabled){background:var(--teal-dark)}.lookup-button:disabled{opacity:.6;cursor:not-allowed}.use-found-button{background:var(--teal);color:#fff;border:none;padding:.75rem 1.5rem;font-size:1rem;border-radius:4px;cursor:pointer;transition:background-color .3s ease;font-family:EB Garamond,serif;margin-top:.5rem;font-weight:500}.use-found-button:hover{background:var(--teal-dark)}.rsvp-form{display:flex;flex-direction:column;gap:1rem}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{padding:.875rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:EB Garamond,serif;transition:border-color .3s ease;color:var(--teal-text)}.rsvp-choice-group{border:none;margin:0;padding:0;min-width:0}.rsvp-choice-group-legend{font-family:EB Garamond,serif;font-size:.95rem;font-weight:600;color:var(--teal-text);margin:0 0 .65rem;padding:0;text-align:left;width:100%}.rsvp-choice-options{display:flex;flex-direction:column;gap:.5rem}.rsvp-choice-option{display:flex;align-items:center;gap:.65rem;padding:.75rem .85rem;border:1px solid rgba(45,90,90,.2);border-radius:6px;cursor:pointer;background:#fff;text-align:left}.rsvp-choice-option.selected{border-color:var(--teal);background:#2d5a5a0a}.rsvp-choice-option input[type=radio]{width:1rem;height:1rem;min-width:1rem;flex-shrink:0;accent-color:var(--teal);margin:0}.rsvp-choice-option span{font-size:.95rem;line-height:1.4;color:var(--teal-text)}.rsvp-form select,.rsvp-guest-card select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:.875rem 2.75rem .875rem .875rem;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%235a7a7a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px 8px;cursor:pointer}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{outline:none;border-color:var(--teal)}.submit-button{background:var(--teal);color:#fff;border:none;padding:.875rem;font-size:1rem;border-radius:4px;cursor:pointer;transition:background-color .3s ease;font-family:inherit;margin-top:.5rem}.submit-button:hover:not(:disabled){background:var(--teal-dark)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.submit-message{padding:1rem;border-radius:4px;margin-bottom:1.5rem;text-align:center}.rsvp-lookup .submit-message{max-width:400px;margin:1rem auto 1.5rem}.rsvp-success-view{padding:2.5rem 1rem;margin-bottom:0}.submit-message.success{background:#8b73551a;color:var(--teal-text);border:1px solid rgba(139,115,85,.3)}.submit-message.error{background:#dc35451a;color:var(--teal-text);border:1px solid rgba(220,53,69,.3)}.submit-message p{margin:0;font-weight:400}.section{padding:5rem 2rem;background:#fff;scroll-margin-top:100px}.about-section{text-align:center}.about-content{max-width:800px;margin:0 auto}.about-main-text{font-family:EB Garamond,serif;font-size:2rem;font-weight:400;color:var(--teal);line-height:1.6;margin-bottom:2rem}.about-subtext{font-family:EB Garamond,serif;font-size:1.1rem;color:var(--teal-text);line-height:1.7;margin:0}.when-where-scroll-section{background:var(--cream)}.when-where-scroll-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:1000px;margin:0 auto;padding:4rem 2rem;justify-items:center}.when-scroll-section,.where-scroll-section{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}.section-label-scroll{font-family:EB Garamond,serif;font-size:1.5rem;font-weight:400;color:var(--teal-text);margin:0 0 1.5rem;letter-spacing:.05em;text-align:center}.section-content-scroll{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;gap:.5rem}.date-large-scroll{font-family:EB Garamond,serif;font-size:2.5rem;font-weight:400;color:var(--teal-text);margin:0 0 1rem;line-height:1.3;text-align:center}.timings-scroll{display:flex;flex-direction:column;gap:.5rem;align-items:center;width:100%}.timing-line-scroll{font-family:EB Garamond,serif;font-size:1.25rem;font-weight:400;color:var(--teal-text);margin:0;text-align:center}.venue-name-large-scroll{font-family:EB Garamond,serif;font-size:2.5rem;font-weight:400;color:var(--teal-text);margin:0 0 1rem;line-height:1.3;text-align:center}.venue-link-scroll{color:var(--teal-text);text-decoration:none;font-size:1.25rem;line-height:1.6;display:block;margin:0;text-align:center;width:100%}.venue-link-scroll:hover{color:var(--teal-text);text-decoration:none}.accommodations-scroll-section{background:#fff}.accommodations-header{font-family:EB Garamond,serif;font-size:1.25rem;color:var(--teal-text);text-align:center;margin:0 auto 2rem;font-weight:400;letter-spacing:.01em}.accommodations-intro-text{font-family:EB Garamond,serif;font-size:1.5rem;color:var(--teal-text);line-height:1.7;text-align:center;max-width:800px;margin:0 auto 3rem;padding:0 2rem}.about-us-section{background:var(--cream)}.about-us-header{font-family:EB Garamond,serif;font-size:1.25rem;color:var(--teal-text);text-align:center;margin:0 auto 2rem;font-weight:400;letter-spacing:.01em}.about-us-content{max-width:1000px;margin:0 auto}.about-us-subsection{display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin-bottom:4rem;align-items:start}.about-us-subsection:last-child{margin-bottom:0}.about-us-column-left{text-align:center}.about-us-column-right{text-align:left}.about-us-label{font-family:EB Garamond,serif;font-size:2rem;font-weight:400;color:var(--teal);margin:0;letter-spacing:.05em}.about-us-subheading{font-family:EB Garamond,serif;font-size:1.5rem;font-weight:400;color:var(--teal);margin:0 0 1rem}.about-us-text{font-family:EB Garamond,serif;font-size:1rem;color:var(--teal-text);line-height:1.7;margin:0}@media (max-width: 768px){.about-us-subsection{grid-template-columns:1fr;gap:1.5rem;margin-bottom:3rem}.about-us-column-right{text-align:center}}.accommodations-book-button{background:var(--teal);color:#fff;border:none;padding:.75rem 2rem;font-size:1rem;border-radius:6px;cursor:pointer;transition:all .3s ease;font-family:EB Garamond,serif;font-weight:500;text-decoration:none;display:inline-block;margin-top:1rem}.accommodations-book-button:hover{background:var(--teal-dark);color:#fff;text-decoration:none}@media (max-width: 768px){.when-where-scroll-layout{grid-template-columns:1fr;gap:3rem;padding:3rem 1.5rem}}.registry-section{background:#fff}.registry-header{font-family:EB Garamond,serif;font-size:2rem;color:var(--teal-text);text-align:center;margin:0 auto 2rem;font-weight:400;letter-spacing:.01em}.registry-content{max-width:800px;margin:0 auto;text-align:center}.registry-content p{font-family:EB Garamond,serif;font-size:1.1rem;color:var(--teal-text);line-height:1.7;margin:0 0 2rem}.registry-boxes{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:800px;margin:0 auto;justify-items:center}.registry-box{background:var(--cream);border:1px solid var(--teal);border-radius:8px;padding:1rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;transition:all .3s ease;cursor:pointer;width:100%;max-width:300px}.registry-box:hover{background:var(--teal);transform:translateY(-2px);box-shadow:0 4px 8px #2d501633}.registry-box:hover .registry-box-text{color:#fff}.registry-box-text{font-family:EB Garamond,serif;font-size:1.1rem;color:var(--teal);margin:0!important;padding:0!important;font-weight:500;transition:color .3s ease;line-height:1;display:block}@media (max-width: 768px){.registry-boxes{grid-template-columns:1fr;gap:1.5rem}}.closer-section{background:var(--cream)}.closer-content{max-width:800px;margin:0 auto;text-align:center;padding:3rem 2rem}.closer-heading{font-family:EB Garamond,serif;font-size:3.5rem;color:var(--teal);line-height:1.6;margin:0 0 2.5rem;font-weight:400}.closer-rsvp-button{background:var(--teal);color:#fff;border:none;padding:1.25rem 5rem;font-size:1.25rem;border-radius:6px;cursor:pointer;transition:all .3s ease;font-family:EB Garamond,serif;font-weight:500;min-width:300px;text-decoration:none;display:inline-block}.closer-rsvp-button:hover{background:var(--teal-dark);color:#fff}.footer{background:var(--teal-dark);padding:3rem 2rem;text-align:center}.footer-content{max-width:800px;margin:0 auto}.footer-heading{font-family:EB Garamond,serif;font-size:2rem;color:#fff;margin:0 0 1rem;font-weight:400}.footer-subtext{font-family:EB Garamond,serif;font-size:1rem;color:#fff;margin:0;line-height:1.6}.container{max-width:1200px;margin:0 auto}.section-title{font-family:EB Garamond,serif;font-size:2.5rem;text-align:center;margin-bottom:3rem;color:var(--teal-text);font-weight:500;letter-spacing:.01em}.rsvp-section-inner{max-width:600px}.rsvp-form-section{display:flex;flex-direction:column;gap:.75rem;text-align:left}.rsvp-form-section-title{font-family:EB Garamond,serif;font-size:1.2rem;font-weight:600;color:var(--teal-text);margin:.5rem 0 0;text-align:center}.rsvp-field-hint{font-size:.9rem;color:var(--teal-muted);line-height:1.5;margin:0;text-align:center}.rsvp-inline-link{color:var(--teal);text-decoration:underline;text-underline-offset:3px}.rsvp-inline-link:hover{color:var(--teal-dark)}.rsvp-guest-list{display:flex;flex-direction:column;gap:1rem}.rsvp-guest-card{border:1px solid rgba(45,90,90,.2);border-radius:8px;padding:1.25rem;margin:0;display:flex;flex-direction:column;gap:.85rem;background:#fff}.rsvp-guest-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(45,90,90,.12)}.rsvp-guest-card-title{font-family:EB Garamond,serif;font-size:1.1rem;font-weight:600;color:var(--teal-text);margin:0;text-align:left}.rsvp-guest-remove{flex-shrink:0;background:transparent;border:none;color:var(--teal-muted);font-family:EB Garamond,serif;font-size:.85rem;text-decoration:underline;cursor:pointer;padding:0}.rsvp-guest-remove:hover:not(:disabled){color:var(--teal-dark)}.rsvp-checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:var(--teal-text);cursor:pointer}.rsvp-checkbox-label input{width:1rem;height:1rem;accent-color:var(--teal)}.rsvp-add-guest-button{align-self:center;background:transparent;border:1px dashed var(--teal-muted);color:var(--teal);padding:.65rem 1.25rem;border-radius:6px;font-family:EB Garamond,serif;font-size:1rem;cursor:pointer;transition:border-color .2s ease,color .2s ease}.rsvp-add-guest-button:hover:not(:disabled){border-color:var(--teal);color:var(--teal-dark)}.rsvp-add-guest-button:disabled{opacity:.6;cursor:not-allowed}.rsvp-meal-field{display:flex;flex-direction:column;gap:.65rem;padding-top:.25rem}.rsvp-meal-field-label{font-family:EB Garamond,serif;font-size:.95rem;font-weight:600;color:var(--teal-text);margin:0;text-align:left}.rsvp-dietary-field{display:flex;flex-direction:column;gap:.5rem}.rsvp-dietary-label{font-family:EB Garamond,serif;font-size:.95rem;font-weight:600;color:var(--teal-text);text-align:left}.rsvp-meal-options{display:flex;flex-direction:column;gap:.5rem}.rsvp-meal-option{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem;border:1px solid rgba(45,90,90,.2);border-radius:6px;cursor:pointer;text-align:left;background:#fff;transition:border-color .2s ease,background .2s ease}.rsvp-meal-option.selected{border-color:var(--teal);background:#2d5a5a0a}.rsvp-meal-option input[type=radio]{width:1rem;height:1rem;min-width:1rem;margin:.2rem 0 0;flex-shrink:0;accent-color:var(--teal)}.rsvp-meal-option span{flex:1;min-width:0;font-size:.92rem;line-height:1.45;color:var(--teal-text)}.rsvp-meal-vegan-note{margin:0;text-align:left;font-size:.85rem}.rsvp-guest-card input:not([type=radio]):not([type=checkbox]),.rsvp-guest-card select{width:100%;box-sizing:border-box}.rsvp-section-title{font-family:EB Garamond,serif;font-size:1.75rem;font-weight:600;color:var(--teal-text);text-align:center;margin:0 0 1rem}.rsvp-section .section-title{padding-top:0;margin-bottom:2rem;color:var(--teal)}.rsvp-subheading{font-family:EB Garamond,serif;font-size:1rem;text-align:center;color:var(--teal-muted);max-width:480px;margin:0 auto 1rem;line-height:1.6}.rsvp-deadline{font-family:EB Garamond,serif;font-size:1.1rem;text-align:center;color:var(--teal);font-weight:500;margin:0 auto 1.75rem}.rsvp-divider{width:100%;max-width:600px;height:1px;background:var(--teal);margin:0 auto 3rem}.rsvp-page-content{max-width:600px;margin:0 auto}.when-where-section{background:#fff}.when-where-layout{display:flex;flex-direction:column;gap:4rem;max-width:1000px;margin:0 auto;padding:6rem 2rem 4rem}.when-section,.where-section{display:flex;align-items:baseline;gap:3rem}.section-label{font-family:EB Garamond,serif;font-size:1.5rem;font-weight:400;color:var(--teal-text);margin:0;padding:0;letter-spacing:.05em;white-space:nowrap;flex-shrink:0;line-height:1.2}.section-content{display:flex;flex-direction:column;align-items:flex-start;margin:0;padding:0}.date-large,.venue-name-large{font-family:EB Garamond,serif;font-size:2.5rem;font-weight:400;color:var(--teal-text);margin:0 0 1rem;padding:0;line-height:1.2}.section-divider{width:100%;height:1px;background:var(--teal-text);margin:0}@media (max-width: 768px){.when-where-layout{gap:3rem;padding:3rem 1.5rem}.when-section,.where-section{flex-direction:column;gap:1.5rem}}.section-label{font-family:EB Garamond,serif;font-size:1.5rem;font-weight:400;color:var(--teal-text);margin:0;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.section-content{display:flex;flex-direction:column}.date-large{font-family:EB Garamond,serif;font-size:2.5rem;font-weight:400;color:var(--teal-text);margin-bottom:1rem;line-height:1.3}.timings{display:flex;flex-direction:column;gap:.5rem}.timing-line{font-family:EB Garamond,serif;font-size:1.25rem;font-weight:400;color:var(--teal-text);margin:0}.when-where-section .venue-link{color:var(--teal-text)!important;text-decoration:none;font-size:1.25rem;line-height:1.6;display:block;margin-top:1rem}.when-where-section .venue-link:hover{color:var(--teal-text)!important;text-decoration:none}.hotel-booking-container{width:100%;max-width:500px;margin:2rem auto;text-align:center;display:flex;flex-direction:column;gap:1rem}.hotel-booking-button{display:inline-block;background:var(--teal);color:#fff;text-decoration:none;padding:1rem 2.5rem;border-radius:4px;font-size:.95rem;font-weight:500;transition:all .3s ease;font-family:EB Garamond,serif;text-transform:uppercase;letter-spacing:.02em}.hotel-booking-button:hover{background:var(--teal-dark);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #2c2c2c26}@media (max-width: 768px){:root{--mobile-header-height: calc(2.5rem + 48px) }.header-minimal{display:flex;position:fixed;top:0;left:0;right:0;padding-top:calc(1.25rem + env(safe-area-inset-top,0px))}.header-minimal .hamburger-menu{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;box-sizing:border-box;border-radius:50%;background:#ffffffeb;box-shadow:0 2px 10px #0000001f;flex-shrink:0}.header-minimal.menu-open .hamburger-menu{display:none}.header-minimal .hamburger-menu .hamburger-line{width:22px;height:2px;margin:0}.header-block{padding:2rem 1.5rem 1.5rem}.header-block .header-logo{font-size:1.5rem}.header-date-location{font-size:.85rem}.header-countdown{font-size:.9rem}.desktop-tabs,.desktop-nav-link,.desktop-rsvp-button{display:none}.mobile-nav{display:flex}.hero,.page-hero{overflow:visible;background-attachment:scroll}.page-content-wrapper,.schedule-day,.rsvp-section{overflow:visible}.rsvp-form input:not([type=radio]):not([type=checkbox]),.rsvp-form select,.rsvp-form textarea,.rsvp-guest-card input:not([type=radio]):not([type=checkbox]){font-size:16px}.hero{min-height:100vh}.hero-content{min-height:85vh;padding:0}.hero .content-wrapper,.page-hero .page-content-wrapper{margin:15px;padding:2.5rem 1.5rem;border-radius:20px}.schedule-day{padding:2rem 1rem 3rem;margin-top:1.5rem}.schedule-day-event-title{font-size:1.5rem}.faq-question{font-size:1.15rem}.hero .names{margin-bottom:1rem}.hero .header-block{margin-top:.75rem;gap:1rem}.hero-intro{margin-top:1.25rem;font-size:1rem}.name-top,.section-title{font-size:2.5rem}.hotel-booking-button{padding:.875rem 2rem;font-size:1rem}.section{padding:3rem 1.5rem}.content-wrapper{padding:0 1.5rem}.when-where-layout{flex-direction:column;gap:2rem;padding-top:3rem;padding:3rem 1.5rem}.section-divider{width:100%;margin:2rem 0}.section-label{font-size:1.25rem;white-space:normal}.date-large,.venue-name-large{font-size:2rem}.timing-line{font-size:1.1rem}.when-where-section .venue-link{font-size:1.1rem;word-break:break-word}.rsvp-section-title{font-size:1.5rem}.rsvp-subheading{font-size:.95rem;padding:0 .5rem}.rsvp-deadline{font-size:1rem}.rsvp-page-content{padding:0 1rem}.accommodations-intro-text{font-size:1.25rem;padding:0 1rem}.accommodations-header{font-size:1.1rem}.accommodations-content{padding:0 1rem}.accommodations-item{text-align:center}.accommodations-item h3{font-size:1.5rem}.accommodations-item p{font-size:1rem;padding:0 1rem}.hotel-booking-container{max-width:100%;padding:0 1rem}.hotel-booking-button{width:100%;padding:1rem;font-size:.9rem}.about-main-text{font-size:1.5rem;padding:0 1rem}.about-subtext{font-size:1rem;padding:0 1rem}.about-us-label{font-size:1.75rem}.about-us-subheading{font-size:1.25rem}.about-us-text{font-size:.95rem}.registry-header{font-size:1.75rem}.closer-heading{font-size:2.5rem}.closer-rsvp-button{padding:1rem 3rem;font-size:1.1rem;min-width:auto;width:100%;max-width:300px}.footer{padding:3rem 1.5rem}.footer-heading{font-size:2rem}.name-top{font-size:3rem}.tagline,.date-line{font-size:1.25rem}.when-where-scroll-section{padding:3rem 1.5rem}.date-large-scroll,.venue-name-large-scroll{font-size:2rem}.timing-line-scroll{font-size:1.1rem}.venue-link-scroll{font-size:1.1rem;word-break:break-word}.accommodations-scroll-section{padding:3rem 1.5rem}.accommodations-scroll-section .when-where-scroll-layout{padding:2rem 0;gap:2.5rem;justify-items:center}.accommodations-scroll-section .when-scroll-section,.accommodations-scroll-section .where-scroll-section{max-width:100%;width:100%;align-items:center}.accommodations-scroll-section .section-label-scroll{text-align:center;width:100%}.accommodations-scroll-section .section-content-scroll{gap:.75rem;align-items:center;width:100%;max-width:100%}.accommodations-scroll-section .venue-link-scroll{text-align:center;width:100%;max-width:100%}.accommodations-book-button{width:100%;max-width:300px;padding:1rem;font-size:.95rem;margin:.5rem auto 0;display:block}.container{padding:0 1rem}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;margin:0;padding:0;width:100%;height:100%}body{margin:0;padding:0;min-width:320px;width:100%;height:100%;font-family:EB Garamond,serif;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{width:100%;height:100%;margin:0;padding:0}
