.fitted-heading{transition:opacity var(--fade-duration, 1.5s) ease-out}@media (prefers-reduced-motion: reduce){.fitted-heading{transition:none}}.fitted-heading__measure{position:absolute;top:0;left:0;font-size:100px;white-space:nowrap;visibility:hidden;pointer-events:none}.title-screen{position:sticky;top:0;z-index:0;width:100%;height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;background-color:#000;background-position:center;background-repeat:no-repeat;background-size:cover;overflow:hidden}.title-screen__stage{position:relative;display:flex}.title-screen__title{--title-overlap: 15.5%;position:absolute;bottom:calc(100% - var(--title-overlap));left:50%;transform:translate(-50%);z-index:0}.title-screen__heading{--swash-scale: 2;margin:0;white-space:nowrap;text-align:center;font-family:Cormorant SC,Georgia,serif;font-weight:400;line-height:1;color:#fffaf2;text-shadow:0 1px 12px rgba(40,60,90,.35)}.title-screen__heading .swash{font-family:Ephesis,Cormorant SC,cursive;font-size:calc(var(--swash-scale) * 1em);line-height:0;vertical-align:-.06em}.title-screen__monogram{position:relative;z-index:1;max-width:100vw;max-height:65vh;width:auto;height:auto;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;opacity:0;transition:opacity var(--fade-duration, 1.5s) ease-out}.title-screen__monogram.is-revealed{opacity:1}.title-screen__date-slot{--date-gap: 4%;position:absolute;top:calc(100% + var(--date-gap));left:50%;transform:translate(-50%);z-index:0}.title-screen__date{margin:0;white-space:nowrap;text-align:center;font-family:Cormorant SC,Georgia,serif;font-weight:400;line-height:1;letter-spacing:.08em;color:#fffaf2;text-shadow:0 1px 12px rgba(40,60,90,.35)}@media (prefers-reduced-motion: reduce){.title-screen__monogram{transition:none}}.itinerary{display:flex;align-items:center;justify-content:center;width:100%;min-height:100%;padding:clamp(1rem,4svh,5rem) clamp(1.25rem,6vw,6rem)}.itinerary__list{width:min(100%,44rem);margin:0;padding:0;list-style:none;text-align:center}.itinerary__event+.itinerary__event:before{content:"❦";display:block;margin:clamp(.9rem,2.8svh,2.25rem) auto;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(.9rem,2.4vw,1.15rem);color:#33414f6b}.itinerary__name{--swash-scale: 1.9;margin:0 0 .45em;font-family:Cormorant SC,Georgia,serif;font-weight:400;font-size:clamp(1.5rem,5.5vw,2.5rem);line-height:1}.itinerary__name .swash{font-family:Ephesis,Cormorant SC,cursive;font-size:calc(var(--swash-scale) * 1em);line-height:0;vertical-align:-.06em}.swash-word{white-space:nowrap}.itinerary__when-where{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.15em .9em;margin:0 0 .85em}.itinerary__date{font-family:Jost,system-ui,sans-serif;font-weight:400;font-size:clamp(.68rem,2vw,.82rem);letter-spacing:.24em;text-transform:uppercase;color:#33414f9e}.itinerary__venue{display:inline-block;padding:.15em .1em;font-family:Cormorant Garamond,Georgia,serif;font-weight:500;font-size:clamp(.98rem,2.7vw,1.15rem);letter-spacing:.03em;color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.3em;text-decoration-color:#33414f59;transition:text-decoration-color .25s ease}.itinerary__venue:hover,.itinerary__venue:focus-visible{text-decoration-color:currentColor}.itinerary__details{width:min(100%,33rem);margin:0 auto;font-family:Cormorant Garamond,Georgia,serif;font-weight:400;font-size:clamp(1rem,2.9vw,1.2rem);line-height:1.65;text-wrap:pretty}.itinerary__timeline{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:baseline;gap:.4em 1.1em;margin:1.05em 0 0;text-align:left}.itinerary__time{justify-self:end;white-space:nowrap;font-family:Jost,system-ui,sans-serif;font-size:clamp(.66rem,1.9vw,.78rem);letter-spacing:.18em;text-transform:uppercase;color:#33414f9e}.itinerary__step{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(.95rem,2.6vw,1.1rem);line-height:1.35}.essentials{display:flex;align-items:center;justify-content:center;width:100%;min-height:100%;padding:clamp(1rem,4svh,7rem) clamp(1.25rem,6vw,6rem)}.essentials__inner{width:min(100%,42rem);text-align:center}.essentials__inner>*+*{margin-top:clamp(1.25rem,4svh,4rem)}.essentials__heading{--swash-scale: 1.9;margin:0 0 .5em;font-family:Cormorant SC,Georgia,serif;font-weight:400;font-size:clamp(1.4rem,5vw,2.2rem);line-height:1}.essentials__heading .swash{font-family:Ephesis,Cormorant SC,cursive;font-size:calc(var(--swash-scale) * 1em);line-height:0;vertical-align:-.06em}.essentials__body{width:min(100%,33rem);margin:0 auto;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1rem,2.9vw,1.2rem);line-height:1.65;text-wrap:pretty}.essentials__stays{display:flex;flex-wrap:wrap;justify-content:center;gap:.5em 1.6em;margin:1.1em 0 0;padding:0;list-style:none}.essentials__stay{font-family:Cormorant Garamond,Georgia,serif;font-weight:500;font-size:clamp(.95rem,2.6vw,1.1rem);letter-spacing:.03em;color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.3em;text-decoration-color:#33414f59;transition:text-decoration-color .25s ease}.essentials__stay:hover,.essentials__stay:focus-visible{text-decoration-color:currentColor}.essentials__stay--empty{color:#33414f73;text-decoration-style:dashed;text-decoration-color:#33414f4d}.essentials__note{width:min(100%,34rem);margin-inline:auto;padding-block:clamp(1rem,3svh,2.5rem);border-top:1px solid rgba(51,65,79,.18);border-bottom:1px solid rgba(51,65,79,.18)}.essentials__rsvp{margin-top:clamp(1.5rem,5svh,4.5rem);padding:1.05em 3.4em;font-family:Jost,system-ui,sans-serif;font-size:clamp(.72rem,2vw,.85rem);font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:inherit;background:transparent;border:1px solid rgba(51,65,79,.45);border-radius:0;cursor:pointer;transition:background-color .25s ease,color .25s ease,border-color .25s ease}.essentials__rsvp:hover,.essentials__rsvp:focus-visible{background:#33414f;border-color:#33414f;color:#f6f1e9}@media (prefers-reduced-motion: reduce){.essentials__stay,.essentials__rsvp{transition:none}}.montage{--per-photo: 33;--track: calc(var(--count) * var(--per-photo));--spread: 1;--size-scale: 1;--scroll: 0;--depth-scale: .55;--lead-in: 160vh;--shift-cap: 45vh;--tallest: calc(var(--max-size) * var(--size-scale) * 1.4vw);--tail: calc(100vh + var(--tallest) + var(--shift-cap));position:relative;z-index:2;height:calc(var(--lead-in) + var(--track) * 1vh + var(--tail));pointer-events:none}.montage__photo{--rest: calc(var(--lead-in) + var(--y) * var(--track) * 1vh);position:absolute;top:var(--rest);left:calc(50% + (var(--x) - 50) * var(--spread) * 1%);width:calc(var(--size) * var(--size-scale) * 1vw);height:auto;transform:translate(-50%,clamp(calc(-1 * var(--shift-cap)),calc((var(--scroll) * 1px + 50vh - var(--rest)) * var(--depth) * var(--depth-scale)),var(--shift-cap))) rotate(calc(var(--rot) * 1deg));will-change:transform;border-radius:2px;box-shadow:0 1.2rem 2.5rem #1e325047}@keyframes montage-drift{0%{translate:0 calc(var(--depth) * var(--drift) * -1)}to{translate:0 calc(var(--depth) * var(--drift))}}@supports (animation-timeline: view()){.montage__photo{--drift: calc(50vh + var(--size) * var(--size-scale) * .67vw);animation:montage-drift linear both;animation-timeline:view();transform:translate(-50%) rotate(calc(var(--rot) * 1deg));will-change:auto}}@media (max-width: 1024px){.montage{--size-scale: 1.15;--spread: .92}}@media (max-width: 700px){.montage{--per-photo: 24;--spread: .8;--size-scale: 1.4;--lead-in: 130vh}}@media (max-width: 430px){.montage{--size-scale: 1.5;--spread: .72}}@media (prefers-reduced-motion: reduce){.montage__photo{will-change:auto}}.story{position:relative;z-index:1;background:#f6f1e9}.story__panel{position:sticky;top:0;z-index:1;height:100vh;height:100svh;overflow:hidden;background:#f6f1e9;color:#33414f;box-shadow:0 -1.5rem 3rem #1e325038;clip-path:inset(-4rem 0 0 0)}.story__layer{position:absolute;top:0;right:0;bottom:0;left:0}.story__layer--itinerary{opacity:var(--fade-out, 1)}.story__layer--essentials{opacity:var(--fade-in, 0)}.story__layer.is-inactive{visibility:hidden;pointer-events:none}.fp{position:relative;min-height:100dvh;padding:clamp(1.5rem,4vw,3rem) 0 6rem;background-color:#b9cbdd;background-position:center;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}.fp__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#1e325026,#1e325066);pointer-events:none}.fp__inner{position:relative;width:min(94%,78rem);margin:0 auto}.fp__hint{margin:0 0 clamp(1.5rem,4vw,3rem);font-family:Jost,system-ui,sans-serif;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#fffaf2d9;text-align:center}.fp__hint code{font-family:ui-monospace,Menlo,Consolas,monospace;text-transform:none;letter-spacing:0}.fp__row{padding:clamp(1.25rem,3vw,2.25rem) 0;border-top:1px solid rgba(255,250,242,.25)}.fp__sample{margin:0 0 .75rem;text-align:center;color:#fffaf2;font-weight:400;line-height:1.05;text-shadow:0 1px 12px rgba(40,60,90,.35)}.fp__meta{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.5rem 1rem;font-family:Jost,system-ui,sans-serif;color:#fffaf2e6}.fp__name{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}.fp__note{font-size:.85rem;font-weight:300;color:#fffaf2b3}.fp__sample--cormorant-ephesis{font-family:Cormorant SC,Georgia,serif;font-size:clamp(1.9rem,6.5vw,5rem)}.fp__sample--cormorant-ephesis .fp-swash{font-family:Ephesis,cursive;font-size:1.45em;line-height:0;vertical-align:-.06em}.fp__sample--playfair-italianno{font-family:Playfair Display SC,Georgia,serif;font-size:clamp(1.6rem,5.4vw,4.2rem)}.fp__sample--playfair-italianno .fp-swash{font-family:Italianno,cursive;font-size:1.6em;line-height:0;vertical-align:-.08em}.fp__sample--bodoni-ephesis{font-family:Bodoni Moda,Didot,Georgia,serif;font-size:clamp(1.35rem,4.4vw,3.4rem);font-variant-caps:small-caps;letter-spacing:.04em}.fp__sample--bodoni-ephesis .fp-swash{font-family:Ephesis,cursive;font-size:1.7em;font-variant-caps:normal;letter-spacing:0;line-height:0;vertical-align:-.06em}.fp__sample--cormorant-pinyon{font-family:Cormorant SC,Georgia,serif;font-size:clamp(1.9rem,6.5vw,5rem)}.fp__sample--cormorant-pinyon .fp-swash{font-family:Pinyon Script,cursive;font-size:1.15em;line-height:0;vertical-align:-.02em}.fp__sample--cinzel{font-family:Cinzel Decorative,Georgia,serif;font-size:clamp(1.2rem,4vw,3rem);text-transform:uppercase;letter-spacing:.03em}.fp__sample--cinzel .fp-swash{font-family:inherit}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
