:root{--font-display: "Kalnia", "Times New Roman", serif;--font-body: Helvetica, "Helvetica Neue", "Arimo", Arial, sans-serif;font-family:var(--font-body);line-height:1.6;font-weight:400;color-scheme:light;color:#637888;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:block;min-width:320px;min-height:100vh;font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:300}.hero{--photo: min(76vw, 50vh, 480px);--title-size: calc(var(--photo) * .235);--veil-height: calc(var(--title-size) * 1.3);position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(2.5rem,7vh,4.5rem) 1.25rem clamp(4.75rem,11vh,6.5rem);text-align:center;overflow:hidden}@supports (height: 1svh){.hero{--photo: min(76vw, 50svh, 480px);min-height:100svh}}.hero__inner{display:flex;flex-direction:column;align-items:center}.hero__names{display:flex;justify-content:space-between;align-items:baseline;width:calc(var(--photo) * 1.16);max-width:calc(100vw - 2.5rem);font-size:clamp(.85rem,calc(var(--photo) * .04),1.2rem);font-weight:700;letter-spacing:.5em;text-transform:uppercase;color:var(--color-heading)}.hero__names span{margin-right:-.5em}.hero__kicker{margin-top:clamp(1.1rem,3.5vh,2rem);margin-right:-.42em;font-size:clamp(.85rem,calc(var(--photo) * .04),1.2rem);letter-spacing:.42em;text-transform:uppercase;color:var(--color-heading)}.hero__photo{margin-top:clamp(1rem,3vh,1.75rem);width:var(--photo);aspect-ratio:1;overflow:hidden;background:var(--color-tint)}.hero__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 0}.hero__title{position:relative;margin-top:calc(var(--title-size) * -.5);margin-right:-.04em;font-family:var(--font-display);font-size:var(--title-size);line-height:1;letter-spacing:.04em;text-transform:uppercase;color:var(--color-heading)}.hero__date{margin-top:clamp(.9rem,2.6vh,1.6rem);margin-right:-.38em;font-size:clamp(.9rem,calc(var(--photo) * .042),1.25rem);letter-spacing:.38em;text-transform:uppercase;color:var(--color-heading)}.hero__place{margin-top:.55rem;margin-right:-.3em;font-size:clamp(.72rem,calc(var(--photo) * .031),.95rem);letter-spacing:.3em;text-transform:uppercase;color:var(--color-text-muted)}.hero__scroll{position:absolute;left:50%;bottom:clamp(.75rem,2.5vh,1.75rem);width:44px;height:3.25rem;transform:translate(-50%);overflow:hidden}.hero__scroll:before,.hero__scroll span{content:"";position:absolute;left:50%;width:1px}.hero__scroll:before{top:0;bottom:0;background:var(--color-border)}.hero__scroll span{top:-40%;height:40%;background:var(--color-heading);animation:hero-scroll 2.4s ease-in-out infinite}@keyframes hero-scroll{0%{top:-40%}to{top:100%}}.hero__names,.hero__kicker,.hero__date,.hero__place,.hero__scroll{animation:hero-in 1.2s cubic-bezier(.2,.7,.2,1) both}.hero__names{animation-delay:.1s}.hero__kicker{animation-delay:.3s}.hero__date{animation-delay:1.05s}.hero__place{animation-delay:1.2s}.hero__scroll{animation-delay:1.8s}.hero__photo{animation:hero-fade 1.6s ease .45s both}.hero__photo img{animation:hero-zoom 2.6s cubic-bezier(.2,.7,.2,1) .45s both}.hero__title{animation:hero-title 1.6s cubic-bezier(.2,.7,.2,1) .75s both}@keyframes hero-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.hero__scroll{animation-name:hero-fade}@keyframes hero-fade{0%{opacity:0}to{opacity:1}}@keyframes hero-zoom{0%{transform:scale(1.08)}to{transform:none}}@keyframes hero-title{0%{opacity:0;transform:translateY(18px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}@media(prefers-reduced-motion:reduce){.hero *,.hero *:before{animation:none!important}}@media(max-width:480px){.hero{--title-size: calc(var(--photo) * .215)}.hero__names{width:calc(var(--photo) * 1.1)}}@media(min-aspect-ratio:4/3)and (max-height:720px){.hero{--photo: min(76vw, 46vh, 480px)}}.details-grid{display:grid;grid-template-columns:1fr;gap:clamp(2.25rem,5vw,3rem);max-width:var(--column-max);margin:0 auto;text-align:left}.details-map__frame{position:relative;aspect-ratio:4 / 3;background:var(--color-tint);border:1px solid var(--color-border);overflow:hidden}.details-map__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.5);transition:filter .4s ease}.details-map__frame:hover iframe,.details-map__frame:focus-within iframe{filter:none}.details-map__links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.details-map__links span{color:var(--color-star)}@media(min-width:900px){.details-grid{grid-template-columns:1fr 1.1fr;align-items:start;max-width:62rem;gap:4rem}}.program-list{list-style:none;width:fit-content;max-width:100%;margin:0 auto;text-align:left}.program-item{display:grid;grid-template-columns:auto 1px 1fr;align-items:center;column-gap:clamp(.9rem,2.5vw,1.4rem);padding:clamp(.7rem,1.6vw,.95rem) 0;font-family:var(--font-body);font-size:clamp(.9rem,1.9vw,1.08rem);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--color-text);line-height:1.5}.program-time{font-variant-numeric:tabular-nums;color:var(--color-heading)}.program-sep{width:1px;height:1.3em;background:var(--color-text-muted)}.ws-reveal .program-item{opacity:0;transform:translate(-12px);transition:opacity .6s ease,transform .6s ease}.ws-reveal.is-visible .program-item{opacity:1;transform:none}@media(max-width:380px){.program-item{font-size:.8rem;letter-spacing:.16em}}.rsvp-form{display:flex;flex-direction:column;gap:2.25rem;margin-top:2.75rem}.rsvp-names{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem}.rsvp-field{display:flex;flex-direction:column;min-width:0;border:0}.rsvp-field legend{padding:0}.rsvp-field input[type=text]{appearance:none;-webkit-appearance:none;width:100%;padding:.55rem 0 .65rem;border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:transparent;font-family:var(--font-body);font-size:1rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text);outline:none;transition:border-color .2s}.rsvp-field input[type=text]:focus{border-bottom-color:var(--color-heading)}.rsvp-choices{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.rsvp-choice{position:relative;display:flex;align-items:center;justify-content:center;min-height:3.25rem;padding:.75rem .9rem;border:1px solid var(--color-border);font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;text-align:center;line-height:1.4;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .2s,background .2s,color .2s}.rsvp-choice:hover{border-color:var(--color-text-muted);background:var(--color-tint)}.rsvp-choice input{position:absolute;left:50%;bottom:0;width:1px;height:1px;opacity:0;margin:0}.rsvp-choice:has(input:focus-visible){outline:2px solid var(--color-heading);outline-offset:3px}.rsvp-choice.active{border-color:var(--color-heading);background:var(--color-heading);color:#fff}.rsvp-actions{text-align:center}.rsvp-actions .ws-button{margin-top:.25rem}.rsvp-error{font-size:.85rem;letter-spacing:.05em;color:#a2433b}.rsvp-success{margin-top:2.75rem;padding:clamp(2.5rem,6vw,3.5rem) clamp(1.5rem,5vw,3rem);background:var(--color-tint);text-align:center}.rsvp-success__star{display:block;width:1.75rem;margin:0 auto 1.25rem;fill:var(--color-star)}@media(max-width:520px){.rsvp-names{grid-template-columns:1fr;gap:2.25rem}.rsvp-choice{font-size:.76rem;letter-spacing:.14em;padding:.75rem .6rem}}.closing{--photo: min(74vw, 420px);--title-size: calc(var(--photo) * .15);--veil-height: calc(var(--title-size) * 1.6);padding-bottom:clamp(4rem,10vw,6.5rem)}.closing__inner{display:flex;flex-direction:column;align-items:center}.closing__kicker{margin-right:-.42em;font-size:clamp(.85rem,2vw,1.05rem);letter-spacing:.42em;text-transform:uppercase;color:var(--color-heading)}.closing__photo{margin-top:clamp(1.75rem,4vw,2.5rem);width:var(--photo);aspect-ratio:2 / 3;overflow:hidden;background:var(--color-tint)}.closing__photo img{width:100%;height:100%;object-fit:cover}.closing__title{position:relative;margin-top:calc(var(--title-size) * -.5);margin-right:-.06em;font-family:var(--font-display);font-size:var(--title-size);line-height:1;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--color-heading)}.closing__names{margin-top:clamp(1.75rem,4vw,2.5rem);margin-right:-.45em;font-size:clamp(.85rem,2vw,1.05rem);letter-spacing:.45em;text-transform:uppercase;color:var(--color-heading)}.ws-reveal .closing__photo img{transform:scale(1.06);transition:transform 2.2s cubic-bezier(.2,.7,.2,1) .2s}.ws-reveal.is-visible .closing__photo img{transform:none}.ws-reveal .closing__title{opacity:0;transform:translateY(16px);transition:opacity 1.2s ease .6s,transform 1.2s cubic-bezier(.2,.7,.2,1) .6s}.ws-reveal.is-visible .closing__title{opacity:1;transform:none}:root{--color-heading: #718695;--color-text: #637888;--color-text-muted: #8d9eab;--color-star: #c8d1d9;--color-border: #dbe2e8;--color-tint: #f4f7f9;--color-bg: #ffffff;--section-pad-v: clamp(3.5rem, 7vw, 5.5rem);--section-pad-h: clamp(1.75rem, 8vw, 3rem);--column-max: 38rem;--track-wide: .32em;--track-text: .2em}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}button{font-family:var(--font-body);cursor:pointer}::selection{background:var(--color-star);color:#fff}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.ws-section{padding:var(--section-pad-v) var(--section-pad-h);text-align:center;scroll-margin-top:1rem}.ws-column{max-width:var(--column-max);margin:0 auto;text-align:left}.ws-photo-veil{position:relative}.ws-photo-veil:after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--veil-height, 0);background:linear-gradient(#fff0,#fff9);pointer-events:none}.ws-star{display:block;width:clamp(2.6rem,6vw,3.4rem);height:auto;margin:0 auto clamp(2.25rem,5vw,3.25rem);fill:var(--color-star)}.ws-title{font-family:var(--font-display);font-size:clamp(1.6rem,8.6vw,4.25rem);font-weight:300;line-height:1.1;letter-spacing:.14em;margin-right:-.14em;text-transform:uppercase;color:var(--color-heading);margin-bottom:clamp(1.75rem,4vw,2.5rem)}.ws-label{font-family:var(--font-body);font-size:clamp(.82rem,1.6vw,.95rem);font-weight:700;letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--color-heading);line-height:1.6;margin-bottom:.65rem}.ws-text{font-family:var(--font-body);font-size:clamp(.84rem,1.7vw,.98rem);letter-spacing:var(--track-text);text-transform:uppercase;line-height:1.95;color:var(--color-text)}.ws-text+.ws-text{margin-top:1.4em}.ws-text strong{font-weight:700;color:var(--color-heading)}.ws-block+.ws-block{margin-top:clamp(2.25rem,5vw,3rem)}.ws-button{display:inline-block;font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:var(--track-wide);text-transform:uppercase;text-decoration:none;padding:15px 34px 15px calc(34px + var(--track-wide));border:1px solid var(--color-heading);background:transparent;color:var(--color-heading);border-radius:0;transition:background .25s,color .25s;cursor:pointer;margin-top:2.25rem}.ws-button:hover,.ws-button:focus-visible{background:var(--color-heading);color:#fff}.ws-button:disabled{opacity:.6;cursor:progress}.ws-link{color:var(--color-heading);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.ws-link:hover{text-decoration-thickness:2px}.ws-reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}.ws-reveal.is-visible{opacity:1;transform:none}.ws-reveal .ws-star{transform:scale(.4) rotate(-45deg);opacity:0;transition:transform 1s cubic-bezier(.2,.8,.2,1.2) .15s,opacity .8s ease .15s}.ws-reveal.is-visible .ws-star{transform:none;opacity:1}@media(prefers-reduced-motion:reduce){.ws-reveal,.ws-reveal *{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}}@media(max-width:480px){:root{--track-wide: .24em;--track-text: .14em}.ws-title{letter-spacing:.08em;margin-right:-.08em}}
