.wedding-shell{--cream:#faf9f4;--sage:#edf1e9;--green:#20483c;--ink:#193e36;--muted:#52675a;isolation:isolate;min-height:100svh;color:var(--ink);background:var(--cream);background-image:radial-gradient(at 15% 8%,#ffffff68,#0000 50%),radial-gradient(at 80% 60%,#e9e5d529,#0000 55%);position:relative}.botanical-frame{pointer-events:none;z-index:-1;position:absolute;inset:0;overflow:hidden}.botanical-branch{opacity:.68;background:url(/images/decor/olive-branch.svg) 50%/contain no-repeat;width:15rem;height:19rem;position:absolute}.branch-top-left{top:-4rem;left:-4.5rem;transform:rotate(99deg)}.branch-top-right{opacity:.46;top:-4rem;right:-6rem;transform:rotate(-20deg)scaleX(-1)}.branch-bottom-left{bottom:-3rem;left:-3.5rem;transform:rotate(15deg)}.branch-bottom-right{bottom:-4rem;right:-4.5rem;transform:rotate(-26deg)scaleX(-1)}.botanical-wash{opacity:.45;background:#e5ebe1;width:50%;height:23rem;position:absolute}.wash-top{border-radius:43% 37% 65% 28%;top:-17rem;left:-16%;transform:rotate(-16deg)}.wash-bottom{border-radius:44% 65% 0 0/65% 70% 0 0;width:120%;height:28rem;bottom:-18rem;left:-10%;transform:rotate(2deg)}.botanical-divider{justify-content:center;align-items:center;gap:1.25rem;width:100%;max-width:33rem;margin:0 auto 2rem;display:flex}.botanical-divider>span{opacity:.7;background:#a6b2a3;flex:1;height:1px}.botanical-divider>svg{flex-shrink:0;width:4.5rem;height:3rem}.wedding-shell .site-header{max-width:78rem;padding:1rem 2.5rem 1.75rem}.wedding-shell .header-top{min-height:2.75rem}.wedding-shell .languages{font-family:var(--reading);gap:.25rem;font-size:1.125rem}.wedding-shell .languages a{padding:.25rem .4rem}.wedding-shell .languages a+a:before{content:"·";color:var(--muted);margin-right:.65rem;display:inline-block}.wedding-shell .couple-name{margin:.4rem auto 1rem;font-size:clamp(3.2rem,8vw,6.5rem);line-height:1.55}.header-divider{max-width:47rem;margin:0 auto 1.25rem}.header-divider>svg{width:3.5rem;height:2.2rem}.wedding-shell .main-nav{gap:.5rem 2.25rem}.wedding-shell .main-nav a[aria-current=page]{border-bottom:2px solid var(--green)}.wedding-shell .section-wide,.wedding-shell .section-form{padding-top:2.25rem}.wedding-shell h1{margin-bottom:.4rem}.wedding-shell .home-photo{max-width:100rem}.wedding-shell .home-photo img{aspect-ratio:2.1;object-position:50% 55%}.wedding-shell .welcome{max-width:60rem;padding-top:2.5rem;padding-bottom:1.5rem}.wedding-shell .welcome h1,.wedding-shell .day-page h1{text-wrap:balance;font-size:clamp(2.2rem,4.5vw,3.8rem);line-height:1.6}.wedding-shell .wedding-date{font-size:2rem}.wedding-shell .welcome-line{font-size:1.35rem}.wedding-shell .button{border-radius:2rem;padding:.85rem 1.6rem;box-shadow:0 2px 5px #163f3010}.wedding-shell .button:not(.secondary){background:linear-gradient(115deg,#234d3f,#1b4037);border-color:#20483c}.wedding-shell .button:not(.secondary):hover{background:#16392e}.button-arrow{flex-shrink:0;margin-left:.8rem;font-size:1.25em;font-weight:400;line-height:1}.wedding-shell .section-action .button{font-family:var(--reading);width:min(100%,24rem);padding:.8rem 1.5rem;font-size:1.5rem}.wedding-shell .welcome .button-group{flex-direction:column;align-items:center;gap:1rem;margin-top:2.5rem}.wedding-shell .welcome .button{width:min(100%,28rem);font-family:var(--reading);border-radius:3rem;padding:.8rem 1.5rem;font-size:1.65rem}.wedding-shell .portrait-photo{margin-bottom:1.5rem}.wedding-shell .event-timeline h2{font-family:var(--reading);font-size:clamp(1.65rem,2.5vw,2.1rem);font-weight:500;line-height:1.4}.wedding-shell .event-time{font-family:var(--reading);font-size:1.375rem}.wedding-shell .event-timeline li{padding-bottom:2.25rem}.wedding-shell .transport-announcement{background:#edf1e9bd;border:1px solid #acb8a66e;border-radius:1rem}.wedding-shell .transport-announcement h2{font-family:var(--reading);font-size:2rem;line-height:1.4}.wedding-shell .intro{max-width:45rem}.wedding-shell .hotel-map-panel{background:#eaf0e7b3;border:1px solid #acb8a666;border-radius:1rem;padding:1.25rem}.wedding-shell .map-selector{background:0 0;padding:0}.wedding-shell .hotel-map{border-radius:.75rem;height:26rem}.wedding-shell .map-external{background:var(--cream);font-size:.9375rem}.map-credit{border-top:1px solid var(--line);font-family:var(--ui);text-align:center;color:var(--muted);margin:1.25rem 0 0;padding-top:1rem;font-size:.875rem;line-height:1.65}.map-credit a{justify-content:center;align-items:center;max-width:100%;min-height:2.75rem;display:inline-flex}.wedding-shell .hotel-card{background:#ffffff80;border:1px solid #9caa9580;border-radius:1rem;grid-template-columns:9rem minmax(0,1fr);padding:.5rem}.wedding-shell .hotel-thumbnail{border-radius:.65rem;margin-top:1rem}.wedding-shell .hotel-body{padding:1rem 1rem 1rem 1.25rem}.wedding-shell .hotel-card h2{font-size:1.8rem}.wedding-shell .hotel-links .button{font-family:var(--reading);background:0 0;padding:.5rem 1rem;font-size:1.3rem}.wedding-shell .travel-photo{aspect-ratio:2.6;max-width:46rem;margin:0 auto 2.5rem}.wedding-shell .travel-row{border-top:0;gap:2.75rem;padding:2rem 0}.wedding-shell .travel-label{text-align:center;flex-direction:column;align-items:center;padding:.5rem 1rem;display:flex}.wedding-shell .travel-label>svg{box-sizing:content-box;background:#e6ece1c7;border-radius:50%;width:3.2rem;height:3.2rem;margin-bottom:.75rem;padding:1.5rem}.wedding-shell .travel-label h2{font-family:var(--reading);font-size:1.9rem;font-weight:500;line-height:1.35}.wedding-shell .travel-row>.prose{border-left:1px solid #9caa9580;padding-left:2rem}.wedding-shell .journey-copy{background:#eef1e87a;border:1px solid #9caa9580;border-radius:1rem;padding:2rem}.wedding-shell .gift-details{background:#ffffff73;border-radius:.6rem}.wedding-shell .rsvp-header{border-bottom:1px solid #a7b2a091}.wedding-shell .rsvp-header .couple-name{margin:0 auto;line-height:1.45}.header-invitation{text-align:center;margin-bottom:1rem}.header-invitation .wedding-date{margin:0 0 .3rem}.header-invitation .eyebrow{letter-spacing:.3em;margin:.25rem 0 1.25rem;font-size:.7rem}.wedding-shell .section-form{max-width:52rem}.wedding-shell .form-intro{margin-bottom:2rem;font-size:1.625rem}.wedding-shell .rsvp-form{font-size:1rem}.wedding-shell input:not([type=radio]):not([type=checkbox]),.wedding-shell textarea,.wedding-shell select{background:#ffffff80;border-radius:4px}.wedding-shell .person-card{background:#edf1e956;border-radius:.65rem}.wedding-shell .submit-button{text-transform:uppercase;letter-spacing:.14em;border-radius:4px}.wedding-shell .error-summary{background:#fff9f4;border-radius:4px}.wedding-shell .success-panel{border-radius:.75rem}.page-end{max-width:70rem;margin:1rem auto 0;padding:0 3rem 4rem}.page-end .botanical-divider{max-width:none;margin:0}.page-end .botanical-divider>svg{width:3.5rem}@media (max-width:1000px){.botanical-branch{width:12rem;height:16rem}.branch-top-left{top:-3.5rem;left:-4rem}.branch-top-right{top:-3rem;right:-5.5rem}.wedding-shell .hotel-card{grid-template-columns:minmax(0,1fr)}.wedding-shell .hotel-thumbnail{width:9rem;height:7.5rem;margin:1rem auto 0}}@media (max-width:700px){.botanical-branch{opacity:.4;width:8rem;height:11rem}.branch-top-left{top:-3.5rem;left:-4rem}.branch-top-right{opacity:.3;top:-3.5rem;right:-4.5rem}.branch-bottom-left{bottom:-3rem;left:-4rem}.branch-bottom-right{bottom:-3rem;right:-4rem}.botanical-divider{gap:.75rem;margin-bottom:1.5rem}.botanical-divider>svg{width:3.25rem;height:2.5rem}.wedding-shell .site-header{padding:.5rem 1rem 1.25rem}.wedding-shell .header-top{justify-content:center}.wedding-shell .languages{font-size:1rem}.wedding-shell .couple-name{margin:.5rem auto .25rem;font-size:clamp(2.8rem,10vw,4.5rem);line-height:1.6}.wedding-shell .header-divider{margin-bottom:.75rem}.wedding-shell .menu-toggle{background:#faf9f4dd;border-radius:4px}.wedding-shell .main-nav{gap:0}.wedding-shell .main-nav a[aria-current=page]{border-bottom-width:2px}.wedding-shell .section-wide,.wedding-shell .section-form{padding:1.75rem 1rem}.wedding-shell .home-photo img{aspect-ratio:1.25;object-position:50% 60%}.wedding-shell .wedding-date{font-size:1.65rem}.wedding-shell .welcome-line{font-size:1.2rem}.wedding-shell .welcome .button,.wedding-shell .section-action .button{font-size:1.35rem}.wedding-shell .hotel-map-panel{padding:1rem}.wedding-shell .hotel-map{height:20rem}.wedding-shell .hotel-body{padding:1rem}.wedding-shell .travel-photo{aspect-ratio:1.7}.wedding-shell .travel-row{gap:1rem;padding:1.5rem 0}.wedding-shell .travel-label{text-align:left;flex-direction:row;align-items:center;padding:0}.wedding-shell .travel-label>svg{box-sizing:content-box;width:2rem;height:2rem;margin:0;padding:.75rem}.wedding-shell .travel-label h2{font-size:1.6rem}.wedding-shell .travel-row>.prose{border-left:0;padding-left:0}.wedding-shell .journey-copy{padding:1rem}.wedding-shell .form-intro{font-size:1.4rem}.header-invitation .eyebrow{letter-spacing:.15em;font-size:.65rem}.page-end{margin-top:1.5rem;padding:0 1.5rem 2.5rem}}.neighborhoods{margin:0 auto 3.5rem}.neighborhoods>h2{text-align:center}.neighborhood-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.neighborhood-list li{background:#edf1e97a;border:1px solid #9caa9580;border-radius:1rem;min-width:0;padding:1.5rem}.neighborhood-list h3{font-family:var(--reading);margin-bottom:1rem;font-size:1.65rem;font-weight:500;line-height:1.4}.neighborhood-list a{min-height:2.75rem;font-family:var(--ui);align-items:center;font-size:.9375rem;display:inline-flex}@media (max-width:700px){.neighborhood-list{grid-template-columns:minmax(0,1fr)}.neighborhood-list li{padding:1.25rem}}.uk-account-details dd{flex-direction:column;gap:.25rem;display:flex}.gift-account-label{font-family:var(--ui);font-size:.9375rem}
