@font-face{font-family:editorial;src:url(../media/CormorantGaramond-s.p.0vov1dgqurkav.ttf)format("truetype");font-display:swap;font-weight:300 700}@font-face{font-family:editorial Fallback;src:local(Arial);ascent-override:105.47%;descent-override:32.76%;line-gap-override:0.0%;size-adjust:87.6%}.editorial_f36fd348-module__ZmPu7G__className{font-family:editorial,editorial Fallback}.editorial_f36fd348-module__ZmPu7G__variable{--font-editorial:"editorial", "editorial Fallback"}
@font-face{font-family:sans;src:url(../media/Manrope-s.p.3rjk17h6oms_8.ttf)format("truetype");font-display:swap;font-weight:200 800}@font-face{font-family:sans Fallback;src:local(Arial);ascent-override:106.45%;descent-override:29.96%;line-gap-override:0.0%;size-adjust:100.14%}.sans_1617433b-module__-cGgqq__className{font-family:sans,sans Fallback}.sans_1617433b-module__-cGgqq__variable{--font-sans:"sans", "sans Fallback"}
:root{--color-bg:#f7f6f0;--color-fg:#223246;--color-accent:#5b82a6;--color-botanical:#a9ba79;--color-sky:#cbeef3;--color-muted:color-mix(in srgb, var(--color-fg) 75%, var(--color-bg));--color-line:color-mix(in srgb, var(--color-fg) 20%, transparent);--font:var(--font-sans), "Segoe UI", sans-serif;--serif:var(--font-editorial), Georgia, serif}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--color-bg);min-height:100svh;color:var(--color-fg);font-family:var(--font);margin:0;font-size:15px;line-height:1.75}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}:focus-visible{outline:2px solid var(--color-accent);outline-offset:5px}img{max-width:100%}[hidden]{display:none!important}html.scroll-locked,html.scroll-locked body{overscroll-behavior:none;overflow:hidden}.page{width:100%;margin:0 auto}.page--center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100svh;padding:64px 28px;display:flex}.page--center h1{font:500 44px/1.08 var(--serif)}.page--center .muted{max-width:38ch}.public-monogram{mix-blend-mode:multiply;width:220px;height:auto}.public-date{font-family:var(--serif);font-size:25px}.muted{color:var(--color-muted)}.error,.field-error{color:#932f35}.invitation{background:var(--color-bg);min-height:100svh;color:var(--color-fg)}.invitation__content:focus{outline:none}.invitation__content:not([hidden]){animation:1.4s ease-out invitation-in}[data-reveal]{transition:opacity 1.4s ease var(--reveal-delay,0s), transform 1.4s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay,0s)}[data-reveal=pending]{opacity:0;transform:translateY(24px)}[data-reveal=visible]{opacity:1;transform:translateY(0)}@keyframes invitation-in{0%{opacity:0}to{opacity:1}}.cover{z-index:20;text-align:center;height:100dvh;padding:max(44px, env(safe-area-inset-top)) 36px max(40px, env(safe-area-inset-bottom));background:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;gap:12px;transition:opacity .5s,visibility .5s;display:flex;position:fixed;inset:0;overflow-y:auto}.cover[data-state=closed]{opacity:0;visibility:hidden;pointer-events:none}.cover__stationery{flex-direction:column;align-items:center;gap:12px;display:flex}.cover--illustrated{padding:0;display:block}.cover__art{pointer-events:none;position:fixed;inset:0}.cover__art img{object-fit:cover}.cover--illustrated .cover__stationery{min-height:100%;padding:max(64px, env(safe-area-inset-top)) 32px max(48px, env(safe-area-inset-bottom));justify-content:space-between;gap:0;position:relative}.cover--illustrated .cover__frame{inset:max(14px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom));border-color:color-mix(in srgb, var(--color-fg) 30%, transparent);position:fixed}.cover--illustrated .cover__eyebrow{letter-spacing:.16em;margin:0;font-size:9px;display:block}.cover--illustrated .cover__eyebrow,.cover--illustrated .cover__label,.cover--illustrated .cover__footer{color:var(--color-fg);text-shadow:0 1px 3px var(--color-bg)}.cover--illustrated .cover__recipient{gap:8px;margin-top:16px}.cover--illustrated .cover__guest{font-size:clamp(25px,7vw,36px)}.cover--illustrated .cover__monogram{width:clamp(190px,56vw,250px);margin:10px 0;transform:translateY(calc(-1*clamp(16px,3.5dvh,36px)))}.cover--illustrated .cover__couple{margin-bottom:18px;font-size:clamp(40px,11vw,64px);transform:translateY(calc(-1*clamp(44px,7.5dvh,72px)))}.cover--illustrated .cover__rule{display:none}.cover--illustrated .button{min-width:140px;padding:14px 20px}.cover--illustrated .link-button{margin-top:6px}.cover--illustrated .cover__footer{margin-top:24px;font-size:9px;display:block}@media (max-height:650px){.cover--illustrated .cover__stationery{padding-top:max(40px, env(safe-area-inset-top));padding-bottom:max(32px, env(safe-area-inset-bottom))}.cover--illustrated .cover__monogram{width:clamp(150px,28dvh,180px)}}@media (min-width:768px){.cover--illustrated .cover__stationery{padding:56px 40px 44px}.cover--illustrated .cover__frame{inset:28px}.cover--illustrated .cover__eyebrow,.cover--illustrated .cover__footer{font-size:12px}.cover--illustrated .cover__guest{font-size:36px}.cover--illustrated .cover__monogram{width:230px}.cover--illustrated .cover__couple{font-size:64px}.cover--illustrated .button{min-width:180px}.cover--illustrated .button,.cover--illustrated .link-button{transform:translateY(clamp(36px,6dvh,54px))}.cover--illustrated .cover__footer{transform:translateY(clamp(8px,1.5dvh,14px))}}@media (min-width:768px) and (max-height:760px){.cover--illustrated .cover__footer{font-size:10px}}.cover__frame{inset:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));border:1px solid color-mix(in srgb, var(--color-botanical) 65%, transparent);pointer-events:none;position:absolute}.cover__eyebrow,.cover__label,.cover__footer{letter-spacing:.17em;text-transform:uppercase;font-size:10px}.cover__eyebrow{color:var(--color-muted);margin-bottom:10px}.cover__recipient{gap:4px;max-width:34ch;display:grid}.cover__label{color:var(--color-muted)}.cover__guest{font:500 clamp(22px, 6vw, 30px)/1.15 var(--serif);overflow-wrap:anywhere}.cover__monogram{mix-blend-mode:multiply;width:clamp(185px,55vw,270px);height:auto;margin:0 0 -4px;display:block}.cover__couple{font:500 clamp(40px, 11vw, 58px)/1 var(--serif);letter-spacing:-.035em}.cover__date{letter-spacing:.06em;font-size:11px}.cover__rule{background:var(--color-botanical);width:38px;height:1px;margin:16px 0 4px}.button{appearance:none;border:1px solid var(--color-fg);background:var(--color-fg);min-height:50px;color:var(--color-bg);font-family:var(--font);letter-spacing:.06em;cursor:pointer;border-radius:0;padding:15px 30px;font-size:12px;font-weight:500;transition:background .18s}.button:hover{background:color-mix(in srgb, var(--color-fg) 80%, var(--color-accent))}.button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.button:disabled,.link-button:disabled{opacity:.55;cursor:progress}.link-button{color:var(--color-fg);text-underline-offset:5px;background:0 0;border:0;min-height:44px;padding:12px;font-size:12px;text-decoration:underline}.cover__music-note{color:var(--color-muted);font-size:10px}.cover__footer{letter-spacing:.1em;margin-top:22px;font-size:10px}.section{padding:64px 24px;position:relative}.section [id],.section[id]{scroll-margin-top:120px}.invitation-nav{z-index:9;background:var(--color-bg);border-bottom:1px solid var(--color-line);justify-content:center;align-items:center;gap:28px;min-height:64px;padding:8px 16px;display:flex;position:relative}.invitation-nav__names{font:500 28px/1 var(--serif);display:none}.invitation-nav__links{align-items:center;gap:clamp(14px,4vw,28px);display:flex}.invitation-nav a{white-space:nowrap;align-items:center;min-height:44px;font-size:11px;text-decoration:none;display:inline-flex}.invitation-nav a:hover{text-decoration:underline}.invitation-nav__confirm{border-bottom:1px solid var(--color-accent);font-weight:600}.section__inner{width:100%;max-width:1040px;margin:0 auto}.section__heading{text-align:center;max-width:640px;margin:0 auto 38px}.section__eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:500;line-height:1.5}.section__heading .section__eyebrow{color:var(--color-muted);margin-bottom:13px}.section__title{font:500 clamp(34px, 8vw, 52px)/1.05 var(--serif);letter-spacing:-.025em;text-wrap:balance}.section__body{margin:0 auto}.section--dark{background:var(--color-fg);color:var(--color-bg)}.section--dark .section__eyebrow,.section--dark .muted{color:var(--color-sky)}.section--hero{text-align:center;justify-content:center;align-items:flex-end;min-height:80svh;padding:64px 24px;display:flex}.section--hero-photo{color:#fff;isolation:isolate;height:100svh;max-height:1100px;padding:80px 24px 32px}.hero__image{z-index:-2;position:absolute;inset:0}.section--hero-photo:after{content:"";z-index:-1;background:linear-gradient(#0a161212 25%,#0a16121a 50%,#0d1c1ab8 100%);position:absolute;inset:0}.hero__content{width:100%}.hero__tagline{margin-bottom:20px}.hero__names{font:500 clamp(52px, 12.5vw, 106px)/.98 var(--serif);letter-spacing:-.035em;text-wrap:balance}.hero__date{letter-spacing:.06em;margin-top:20px;font-size:12px}.hero__rsvp{background:var(--color-bg);color:var(--color-fg);border-color:var(--color-bg);min-width:216px;margin:28px auto 0}.hero__rsvp:hover{background:var(--color-sky)}.hero__continue{justify-content:center;align-items:center;width:48px;height:48px;margin:8px auto 0;font-size:22px;text-decoration:none;display:flex}.personal__grid{gap:44px;display:grid}.personal__message{text-align:center;max-width:530px;margin:auto}.personal__salutation{color:var(--color-muted);margin-bottom:8px;font-size:12px}.guest-name{font:500 clamp(30px, 7vw, 42px)/1.12 var(--serif);overflow-wrap:anywhere}.personal__copy{max-width:38ch;margin:24px auto;font-size:14px;line-height:1.9}.personal__reservation{border-top:1px solid var(--color-line);margin-top:30px;padding-top:26px;font-size:12px}.personal__confirm{margin-top:14px}.personal__song{border-top:1px solid var(--color-line);margin-top:36px;padding-top:24px}.personal__song .section__eyebrow{color:var(--color-muted)}.personal__song-title{font:500 25px/1.25 var(--serif);text-wrap:balance;margin-top:10px}.personal__song .text-link{margin-top:4px}.seats{font:500 34px/1.3 var(--serif);margin:4px 0}.personal__portrait{aspect-ratio:2/3;width:100%;max-width:440px;margin:auto;position:relative}.section--date{text-align:center}.section--date .section__heading{margin-bottom:32px}.date__display{justify-items:center;display:grid}.date__weekday{text-transform:uppercase;letter-spacing:.15em;font-size:10px}.date__day-number{font:400 116px/.98 var(--serif);margin-top:18px}.date__month{font:400 38px/1.2 var(--serif)}.date__year{letter-spacing:.2em;margin-top:8px;font-size:13px}.date__time{margin-top:24px;font-size:12px}.countdown{text-align:center;border-top:1px solid #f7f6f038;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;max-width:430px;margin:32px auto 0;padding-top:28px;display:grid}.countdown__unit{gap:10px;display:grid}.countdown__number{font:400 clamp(30px, 7vw, 50px)/1 var(--serif);color:var(--color-sky);font-variant-numeric:tabular-nums}.countdown__label{letter-spacing:.05em;font-size:clamp(8px,2vw,10px)}.countdown__today{grid-column:1/-1;margin:10px 0 0}.section--venues{text-align:center;padding-top:72px;padding-bottom:72px}.venues{gap:34px;display:grid}.venue__label{color:var(--color-muted);margin-bottom:14px;font-size:11px}.venue__name{font:500 40px/1.12 var(--serif);text-wrap:balance}.venue__address{max-width:38ch;margin:20px auto;font-size:13px}.text-link{border-bottom:1px solid var(--color-accent);justify-content:center;align-items:center;gap:14px;min-height:48px;padding:12px 0;font-size:12px;text-decoration:none;display:inline-flex}.venue .text-link{margin-top:22px}.timeline{max-width:580px;margin:auto;padding:0;list-style:none}.timeline__item{grid-template-columns:60px 1fr;gap:24px;display:grid}.timeline__item:last-child .timeline__detail{padding-bottom:0}.timeline__time{color:var(--color-sky);font-variant-numeric:tabular-nums;padding-top:3px;font-size:13px}.timeline__detail{border-left:1px solid #f7f6f042;padding-bottom:30px;padding-left:24px;position:relative}.timeline__detail:before{content:"";background:var(--color-botanical);border-radius:50%;width:5px;height:5px;position:absolute;top:12px;left:-3px}.timeline__label{font:400 27px/1.2 var(--serif);display:block}.timeline__day{color:var(--color-sky);margin-top:6px;font-size:10px;display:block}.timeline__note{opacity:.8;max-width:32ch;margin-top:6px;font-size:10px}.section--family{padding-bottom:40px}.family__groups{text-align:center;gap:36px;display:grid}.family__label{text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted);margin-bottom:13px;font-size:10px;font-weight:500}.family__names{font:400 25px/1.3 var(--serif);gap:8px;margin:0;padding:0;list-style:none;display:grid}.section--dressCode{text-align:center}.section--dressCode .section__inner{border-top:1px solid var(--color-line);padding-top:44px}.dress-code__title{font:500 58px/1.1 var(--serif)}.dress-code__description{max-width:36ch;margin:20px auto 0;font-size:13px}.section--gallery{padding:14px 0 0}.section--gallery .section__heading{padding:0 24px}.section--gallery .section__inner{max-width:none}.gallery{gap:10px;display:grid}.gallery__image{aspect-ratio:3/2;position:relative}.gallery__image--2{aspect-ratio:3/4}.section--gifts{text-align:center}.gifts__message{max-width:44ch;margin:0 auto;font-size:14px;line-height:1.9}.gifts__qr-block{justify-items:center;gap:12px;margin-top:34px;display:grid}.gifts__reveal{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);max-width:360px;margin:28px auto 0}.gifts__reveal summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:14px 8px;font-size:12px;list-style:none;display:flex}.gifts__reveal summary::-webkit-details-marker{display:none}.gifts__reveal summary span{font-size:22px;transition:transform .18s}.gifts__reveal[open] summary span{transform:rotate(45deg)}.gifts__reveal .gifts__qr-block{margin-top:12px;padding-bottom:20px}.gifts__qr{width:min(100%,320px);height:auto;display:block}.gifts__qr-window{aspect-ratio:1;background:#fff;width:min(100%,320px);position:relative;overflow:hidden}.section--details{text-align:center;padding-top:0}.section--details .section__inner{border-top:1px solid var(--color-line);padding-top:54px}.details{gap:30px;max-width:520px;margin:auto;display:grid}.detail__title{font:500 28px/1.2 var(--serif);margin-bottom:14px}.detail__body{max-width:40ch;margin:auto;font-size:13px;line-height:1.9}.section--rsvp{background:color-mix(in srgb, var(--color-sky) 22%, var(--color-bg))}.section--rsvp .section__body{max-width:510px}.rsvp__deadline{text-align:center;max-width:36ch;margin:0 auto 18px;font-size:13px}.rsvp__reservation{text-align:center;margin-bottom:32px;font-size:12px}.rsvp__reservation strong{font-weight:600}.rsvp-form{gap:22px;display:grid}.rsvp-form__choices{border:0;gap:12px;margin:0;padding:0;display:flex}.rsvp-form__choices legend{font:500 30px/1.2 var(--serif);margin-bottom:15px}.rsvp-form__choices label{border:1px solid var(--color-line);background:var(--color-bg);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:10px;min-height:56px;padding:12px;font-size:14px;display:flex}.rsvp-form__choices label:has(input:checked){border-color:var(--color-fg);box-shadow:inset 0 0 0 1px var(--color-fg)}.rsvp-form__choices label:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:3px}.rsvp-form__choices input{width:20px;height:20px;accent-color:var(--color-fg);margin:0}.rsvp-form__attendees{gap:20px;display:grid}.field{gap:8px;display:grid}.field label{font-size:12px;font-weight:500}.field input,.field select,.field textarea{border:1px solid color-mix(in srgb, var(--color-fg) 35%, transparent);background:var(--color-bg);width:100%;min-height:50px;color:var(--color-fg);border-radius:0;padding:12px 14px;font-size:16px}.field textarea{resize:vertical}.field [aria-invalid=true]{border-color:#932f35}.field-error{font-size:12px;line-height:1.5}.rsvp-form__status{overflow-wrap:anywhere;min-height:1.5em;font-size:13px}.rsvp-form .button{width:100%;margin-top:6px}.rsvp-name-field{animation:.18s ease-out field-in}@keyframes field-in{0%{opacity:0;transform:translateY(-4px)}}.section--closing{padding:0}.closing__image{height:65svh;min-height:390px;max-height:700px;position:relative}.closing__content{text-align:center;padding:68px 28px max(60px, env(safe-area-inset-bottom))}.closing__title{font:500 42px/1.07 var(--serif);text-wrap:balance;max-width:20ch;margin:16px auto 8px}.closing__monogram{mix-blend-mode:multiply;width:170px;height:auto;margin-top:10px}.closing__names{font:500 33px/1.1 var(--serif)}.closing__date{letter-spacing:.04em;margin-top:15px;font-size:10px}.music-player{z-index:10;right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));background:var(--color-fg);max-width:min(360px,100vw - 32px);color:var(--color-bg);border:1px solid var(--color-line);flex-wrap:wrap;align-items:center;gap:0 12px;padding:5px 10px 5px 5px;display:flex;position:fixed;box-shadow:0 4px 20px #0000001a}.music-player__button{min-height:44px;color:inherit;background:0 0;border:0;padding:8px 12px;font-size:11px}.music-player__title{max-width:22ch;font-size:10px;line-height:1.5;display:none}.music-player__status{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.music-player__error{width:100%;max-width:30ch;padding:4px 12px 12px;font-size:11px;line-height:1.6}@media (min-width:768px){.cover{gap:14px}.cover__frame{inset:28px}.cover__monogram{width:270px}.music-player__title{display:block}.invitation-nav{justify-content:space-between;padding-left:max(32px,50vw - 520px);padding-right:max(32px,50vw - 520px)}.invitation-nav__names{display:block}.section{padding:104px 56px}.section--hero-photo{padding-bottom:80px}.personal__grid--with-photo{grid-template-columns:1fr 1fr;align-items:center;gap:80px}.personal__portrait{max-width:400px}.personal__message{text-align:left}.personal__copy{margin-left:0}.family__groups{grid-template-columns:repeat(2,1fr);gap:70px}.section--family{padding-bottom:30px}.section--gallery{padding:44px 0 0}.gallery{grid-template-columns:1.25fr 1fr;gap:14px}.gallery__image,.gallery__image--2{aspect-ratio:auto;height:660px}.gallery__image--3{grid-column:1/-1;height:580px}.section--details{padding-top:0}.section--closing{padding:0}.closing__content{padding:80px 32px}.closing__title{font-size:58px}.timeline{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:28px 0;max-width:none;display:grid}.timeline__item{flex-direction:column;gap:0;display:flex}.timeline__time{text-align:left;padding:0 0 18px}.timeline__detail{border-top:1px solid #f7f6f042;border-left:0;flex:1;padding:22px 16px 0 0}.timeline__detail:before{top:-3px;left:0}.timeline__label{font-size:23px}.timeline__note{font-size:11px}}@media (min-width:1024px){.event-logistics{grid-template-columns:1fr 1fr;display:grid}.event-logistics>.section{align-items:center;padding:72px 40px;display:flex}.event-logistics .section__title{font-size:44px}.event-logistics .countdown{max-width:360px}.event-logistics .countdown__label{line-height:1.6}.event-logistics .venue__name{font-size:46px}.section--rsvp .section__body{max-width:760px}.rsvp-form__attendees{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.rsvp-form__attendees>.field,.rsvp-form__attendees>.field-error{grid-column:1/-1}.rsvp-form__attendees--single{grid-template-columns:1fr}.section--closing-photo{grid-template-columns:1.1fr 1fr;align-items:stretch;display:grid}.closing__image{height:100%;min-height:620px;max-height:none}.closing__content{flex-direction:column;justify-content:center;align-items:center;padding:72px 48px;display:flex}.closing__title{font-size:44px}}@media (max-height:740px){.cover{gap:8px;padding-top:34px;padding-bottom:32px}.cover__eyebrow{margin-bottom:4px}.cover__monogram{width:180px}.cover__rule{margin-top:10px}.cover__footer{margin-top:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important}*,:before,:after{transition:none!important;animation:none!important}}.hero__image img{object-position:var(--hero-desktop-position,center)}@media (max-width:767px){.hero__image img{object-position:var(--hero-mobile-position,center)}}.cover.cover--illustrated{gap:0;padding:0}
