picture{display:contents}:root{--cream:#f6efe4;--paper:#fbf7f0;--paper-hi:#fffcf6;--ink:#3b2f24;--ink-soft:#5a4a3b;--muted:#8a7560;--gold:#b88a4a;--gold-deep:#9a7038;--gold-soft:#d9b77e;--line:#e4d5bd;--tint:#ebdfcb;--err:#9b4a2f;--ease:cubic-bezier(.2, .7, .2, 1);--gutter:20px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Jost,system-ui,sans-serif;font-weight:300;line-height:1.6;overflow-x:hidden}::selection{background:var(--gold-soft);color:var(--ink)}img{max-width:100%;display:block}.amp{font-family:Playfair Display,serif;font-size:.8em;font-weight:400}.nw{white-space:nowrap}.eyebrow{text-transform:uppercase;letter-spacing:.42em;color:var(--muted);font-size:.7rem;font-weight:400}.display{text-wrap:balance;font-family:Italiana,serif;font-weight:400;line-height:1.08}.standfirst,.body{text-wrap:pretty}.ph{background:var(--tint);position:relative;overflow:hidden}.ph img{object-fit:cover;width:100%;height:100%}.js .ph img{opacity:0;transition:opacity 1.2s var(--ease), transform 2.4s var(--ease);transform:scale(1.025)}.js .ph img.loaded{opacity:1;transform:none}figcaption{letter-spacing:.06em;color:var(--muted);align-items:baseline;gap:10px;margin-top:12px;font-size:.74rem;display:flex}figcaption b{color:var(--gold);letter-spacing:.04em;font-family:Italiana,serif;font-size:.95rem;font-weight:400}.reveal{transition:opacity 1.1s var(--ease), transform 1.1s var(--ease)}.js .reveal:not(.in){opacity:0;transform:translateY(22px)}.hero{color:#fffaf1;text-align:center;background:#c9a577;height:100svh;min-height:560px;max-height:1100px;position:relative;overflow:hidden}.hero img{object-fit:cover;object-position:50% 60%;width:100%;height:100%;animation:settle 2.6s var(--ease) both;position:absolute;inset:0}.hero:before,.hero:after{content:"";pointer-events:none;z-index:1;position:absolute;left:0;right:0}.hero:before{background:radial-gradient(60% 45% at 50% 22%,#60380e42,#60380e00 72%),linear-gradient(#603a1280,#82522238 50%,#a06e3200);height:48%;top:0}.hero:after{background:linear-gradient(#3c281200,#3c281247 45%,#281c0ea3);height:40%;bottom:0}.hero-top,.hero-bottom{z-index:2;padding:0 var(--gutter);text-shadow:0 1px 2px #46280a59,0 2px 18px #50300c73;position:absolute;left:0;right:0}.hero-top{animation:rise 1.8s var(--ease) both;top:clamp(48px,9vh,96px)}.hero-bottom{animation:rise 1.8s .25s var(--ease) both;bottom:clamp(30px,6vh,60px)}.hero .eyebrow{color:inherit;letter-spacing:.5em;margin-right:-.5em;font-size:.78rem}.hero h1{margin-top:.42em;font-family:Italiana,serif;font-size:clamp(3rem,13vw,6.8rem);font-weight:400;line-height:1}.hero .date{letter-spacing:.28em;text-transform:uppercase;margin-right:-.28em;font-size:clamp(.95rem,4.2vw,1.35rem);font-weight:400}.hero .place{letter-spacing:.3em;text-transform:uppercase;opacity:.95;margin-top:.9em;font-size:clamp(.62rem,2.6vw,.78rem);line-height:2}.masthead{z-index:20;height:52px;padding:0 var(--gutter);padding-top:env(safe-area-inset-top);backdrop-filter:blur(12px)saturate(1.2);transition:transform .6s var(--ease);background:#f6efe4e6;border-bottom:1px solid #e4d5bdcc;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.masthead.show,.masthead:focus-within{transform:none}.masthead .mono{letter-spacing:.14em;color:var(--ink);font-family:Italiana,serif;font-size:1.25rem;text-decoration:none}.masthead .mid{letter-spacing:.36em;text-transform:uppercase;color:var(--muted);font-size:.66rem;display:none;position:absolute;left:50%;transform:translate(-50%)}.wrap{max-width:1180px;padding:0 var(--gutter);margin:0 auto}.chapter{padding-top:clamp(88px,14vw,168px)}.ch-date .center{text-align:center}.ch-date .spread{margin-top:0}.lead{color:var(--ink);text-wrap:balance;max-width:16ch;margin:0 auto 40px;font-size:clamp(1.9rem,8vw,2.5rem);line-height:1.15}.ch-date .col-weekend{text-align:center}.month{text-align:center;letter-spacing:.42em;text-transform:uppercase;color:var(--gold-deep);margin-top:0;margin-right:-.42em;font-size:.72rem;font-weight:400}.month+.days{margin-top:16px}.ch-date .col-place{text-align:center}.ch-date .col-place .range{margin-left:auto;margin-right:auto}.ch-date .vline{margin:8px 0}.ch-date .col-weekend .body{text-align:center;margin-left:auto;margin-right:auto}.col-weekend{order:1}.ch-date .vline{order:2;margin:36px 0}.col-place{order:3}.bigdate{margin-top:44px}.bigdate .dow{letter-spacing:.5em;text-transform:uppercase;color:var(--ink-soft);margin-right:-.5em;font-size:.8rem;font-weight:400;display:block}.bigdate .md{letter-spacing:.005em;margin-top:14px;font-family:Italiana,serif;font-size:clamp(3.6rem,17vw,8.6rem);font-weight:400;line-height:1;display:block}.bigdate .yr{color:var(--gold);letter-spacing:.3em;justify-content:center;align-items:center;gap:18px;margin-top:14px;font-family:Italiana,serif;font-size:clamp(1.5rem,5.5vw,2.2rem);font-weight:400;display:flex}.bigdate .yr:before,.bigdate .yr:after{content:"";background:var(--gold-soft);width:40px;height:1px}.bigdate .yr i{margin-right:-.3em;font-style:normal}.standfirst{color:var(--ink-soft);max-width:30ch;margin:40px auto 0;font-family:Playfair Display,serif;font-size:clamp(1.18rem,4.6vw,1.55rem);font-style:italic;font-weight:400;line-height:1.55}.cal-row{flex-direction:column;align-items:center;gap:16px;margin-top:44px;display:flex}.btn{border:1px solid var(--gold);min-height:52px;color:var(--ink);letter-spacing:.32em;text-transform:uppercase;cursor:pointer;isolation:isolate;transition:color .45s var(--ease), border-color .45s;background:0 0;justify-content:center;align-items:center;gap:12px;padding:0 30px;font:400 .7rem/1 Jost,sans-serif;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:var(--gold);transform-origin:bottom;transition:transform .45s var(--ease);position:absolute;inset:0;transform:scaleY(0)}.btn:hover,.btn:focus-visible{color:var(--paper-hi)}.btn:hover:before,.btn:focus-visible:before{transform:scaleY(1)}.btn .arr{letter-spacing:0;transition:transform .45s var(--ease);font-family:Jost;font-size:.9rem}.btn:hover .arr{transform:translate(3px)}.textlink{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid #0000;padding:6px 0;font-size:.7rem;text-decoration:none;transition:color .3s,border-color .3s}.textlink:hover{color:var(--gold-deep);border-bottom-color:var(--gold-soft)}:focus-visible{outline:1px solid var(--gold);outline-offset:4px}.spread{gap:0;display:grid}.col h2{margin-top:28px;font-size:clamp(2.6rem,11vw,4rem)}.where{letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-top:12px;font-size:.72rem;font-weight:400;line-height:1.9}.body{color:var(--ink-soft);max-width:34ch;margin-top:26px;font-size:1.04rem;line-height:1.8}.vline{width:0;height:0;margin:20px 0}.range{width:100%;max-width:300px;height:auto;margin-top:34px;display:block}@media (width>=900px){.range{max-width:320px}}.days{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:44px;display:grid}.day{text-align:center;padding:22px 0 20px}.day+.day{border-left:1px solid var(--line)}.day .n{color:var(--ink-soft);font-family:Italiana,serif;font-size:clamp(2.6rem,11vw,3.6rem);line-height:1;display:block}.day .d{letter-spacing:.34em;text-transform:uppercase;color:var(--muted);margin-top:10px;margin-right:-.34em;font-size:.66rem;font-weight:400;display:block}.day.main .n{color:var(--gold)}.day:not(.main) .t{color:var(--muted)}.day .t{color:var(--gold-deep);margin-top:6px;font-family:Playfair Display,serif;font-size:.9rem;font-style:italic;display:block}.ch-invite{padding-bottom:clamp(80px,12vw,150px)}.invite-head{text-align:center}.invite-head h2{margin-top:30px;font-size:clamp(1.9rem,7.5vw,2.9rem)}.invite-head .body{text-align:center;max-width:32ch;margin:22px auto 0}.invite-note{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:14px;font-size:.72rem}.invite-grid{margin-top:52px;display:grid}.invite-fig{margin:0 calc(-1 * var(--gutter))}.invite-fig .ph{aspect-ratio:4/5}.invite-fig img{object-position:42% 50%}.invite-grid .envelope{z-index:2;margin-top:-120px}.envelope{background:var(--paper-hi);margin:0 -6px;padding:26px 22px 30px;position:relative;box-shadow:inset 0 1px #fffc,0 2px 4px #5a3e1e0f,0 28px 60px -28px #5a3e1e61}.envelope:before{content:"";border:1px solid var(--line);pointer-events:none;position:absolute;inset:8px}.env-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:relative}.return{letter-spacing:.24em;text-transform:uppercase;color:var(--muted);padding-top:4px;font-size:.62rem;font-weight:400;line-height:1.9}.return .k{text-transform:none;letter-spacing:.04em;color:var(--ink);margin-bottom:4px;font-family:Italiana,serif;font-size:1.15rem;line-height:1.2;display:block}.postage{flex:none;position:relative}.stamp{filter:drop-shadow(0 1px 1.5px #50371947);background:radial-gradient(circle,#0000 2.6px,#fffefa 3px) -4px -4px/8px 8px;width:70px;height:88px;padding:5px;position:relative;transform:rotate(2deg)}.stamp .in{background:#d8b88a;width:100%;height:100%;position:relative;overflow:hidden}.stamp img{object-fit:cover;object-position:50% 40%;width:100%;height:100%}.stamp .den{letter-spacing:.08em;color:#fffaf1;text-shadow:0 1px 4px #28190899;font-family:Jost,sans-serif;font-size:.7rem;font-weight:400;position:absolute;bottom:4px;left:6px}.postmark{width:132px;height:80px;color:var(--gold-deep);opacity:0;pointer-events:none;z-index:2;position:absolute;top:6px;right:38px;transform:rotate(-9deg)scale(1.35)}.sent-mode .postmark{animation:.7s cubic-bezier(.3,1.4,.5,1) .35s forwards stampdown}.addr{margin-top:20px;position:relative}.fields{grid-template-columns:1fr 1fr;gap:16px 18px;display:grid}.f{grid-column:1/-1;position:relative}.f.half{grid-column:span 1}.f label{white-space:nowrap;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-size:.62rem;font-weight:400;display:block}.f label em{text-transform:none;letter-spacing:.02em;color:#ab9a86;margin-left:4px;font-style:normal}.f input{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);letter-spacing:.01em;background:0 0;background:linear-gradient(var(--gold), var(--gold)) no-repeat left bottom / 0% 1px;transition:border-color .3s, background-size .55s var(--ease);-webkit-appearance:none;appearance:none;border-radius:0;margin-top:0;padding:6px 0 7px;font:300 1.06rem/1.3 Jost,sans-serif;display:block}.f.name input{letter-spacing:.02em;padding:4px 0 7px;font-family:Italiana,serif;font-size:1.62rem}.f input::placeholder{color:#c3b29b;opacity:1;letter-spacing:.01em;font-family:Jost;font-size:.95rem}.f input:focus{background-size:100% 1px;outline:none}.f:focus-within label{color:var(--gold-deep)}.f .msg{color:var(--err);letter-spacing:.02em;margin-top:7px;font-size:.74rem;line-height:1.3;display:none}.f.bad input{border-bottom-color:var(--err)}.f.bad .msg{animation:fadein .35s var(--ease);display:block}.f.bad label{color:var(--err)}.hp{width:1px;height:1px;left:-10000px;overflow:hidden;position:absolute!important}.actions{flex-direction:column;align-items:stretch;gap:14px;margin-top:28px;display:flex}.submit{background:var(--ink);width:100%;min-height:56px;color:var(--paper-hi);letter-spacing:.34em;text-transform:uppercase;cursor:pointer;isolation:isolate;border:0;font:400 .72rem/1 Jost,sans-serif;transition:background .4s;position:relative;overflow:hidden}.submit:before{content:"";z-index:-1;background:var(--gold-deep);transform-origin:0;transition:transform .55s var(--ease);position:absolute;inset:0;transform:scaleX(0)}.submit:hover:before,.submit:focus-visible:before{transform:scaleX(1)}.submit .arr{letter-spacing:0;transition:transform .45s var(--ease);margin-left:10px;display:inline-block}.submit:hover .arr{transform:translate(4px)}.submit[aria-busy=true]{cursor:progress}.submit[aria-busy=true]:after{content:"";background:var(--gold-soft);width:40%;height:2px;animation:1.1s ease-in-out infinite sweep;position:absolute;bottom:0;left:0}.fine{text-align:center;color:var(--muted);letter-spacing:.03em;font-size:.74rem}.alert{border-left:2px solid var(--err);color:var(--err);background:#9b4a2f0f;padding:12px 14px;font-size:.86rem;line-height:1.5;display:none}.alert.show{animation:fadein .4s var(--ease);display:block}.sent{margin-top:34px;display:none}.sent-mode .addr{display:none}.sent-mode .sent{animation:fadein .9s var(--ease) both;display:block}.sent .eyebrow{color:var(--gold-deep)}.sent .lede{color:var(--ink-soft);margin-top:12px;font-family:Playfair Display,serif;font-size:1.1rem;font-style:italic}.addressee{color:var(--ink);overflow-wrap:anywhere;margin:26px 0 0 14%;font-family:Italiana,serif;font-size:clamp(1.35rem,5.6vw,1.75rem);font-style:normal;line-height:1.45}.addressee .nm{margin-bottom:4px;font-size:1.22em;display:block}.sent .after{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:34px;padding-top:22px;font-size:.92rem;line-height:1.7}.sent .links{flex-wrap:wrap;gap:6px 22px;margin-top:14px;display:flex}.linkbtn{cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;font-family:inherit;font-weight:300}footer{text-align:center;padding:0 var(--gutter) 64px}footer .mono{color:var(--gold);letter-spacing:.22em;margin-right:-.22em;font-family:Italiana,serif;font-size:1.6rem}footer .eyebrow{letter-spacing:.38em;margin-top:12px;font-size:.62rem}@media (width>=600px){:root{--gutter:40px}.hero br.m{display:none}.envelope{margin:0;padding:30px 36px 32px}.envelope:before{inset:10px}.stamp{width:84px;height:104px}.postmark{width:150px;height:90px;right:50px}.fields{grid-template-columns:1.25fr 1.2fr .95fr}.f.half,.f.city{grid-column:span 1}.actions{flex-direction:row;justify-content:space-between;align-items:center}.submit{width:auto;padding:0 36px}.fine{text-align:right;max-width:22ch}.cal-row{flex-direction:row;justify-content:center;gap:30px}}@media (width<=599px){.hero .sep{display:none}.f.city{grid-column:1/-1}}@media (width>=900px){.hero img{object-position:50% 55%}.hero:before{opacity:.8}.masthead{height:60px;padding:0 40px}.masthead .mid{display:block}.spread{grid-template-columns:1fr 1px 1fr;align-items:center;column-gap:clamp(56px,7vw,104px)}.col-weekend{order:1}.ch-date .vline{order:2;margin:0}.col-place{order:3}.ch-date .col-place{text-align:left}.ch-date .col-place .range{margin-left:0}.ch-date .col-weekend .body{text-align:left;margin-left:0}.ch-date .col-weekend{text-align:left}.lead{margin-top:28px;margin-bottom:44px;margin-left:0}.ch-date .spread{align-items:start}.vline{background:var(--line);align-self:stretch;width:1px;height:auto;margin:0}.col{padding-top:8px}.days{margin-top:36px}.invite-grid{grid-template-columns:repeat(12,1fr);align-items:start;column-gap:24px;margin-top:72px}.invite-fig{grid-column:1/7;align-self:stretch;margin:0}.invite-grid .envelope{margin-top:0}.invite-fig .ph{aspect-ratio:auto;height:100%}.invite-fig img{object-position:45% 55%}.envelope{grid-column:7/13;margin-left:16px}.addr{margin:28px 0 0 8%}.sent{margin-left:14%}.addressee{margin-left:0}.stamp{width:96px;height:120px}.postmark{width:168px;height:101px;right:60px}.f label{font-size:.66rem}.f input{font-size:1.1rem}.f.name input{font-size:1.8rem}.return .k{font-size:1.3rem}.hero .eyebrow{font-size:.86rem}.hero .place{font-size:.82rem}}@media (width>=1200px){.envelope{padding:46px 56px 50px}}@keyframes settle{0%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes stampdown{0%{opacity:0;transform:rotate(-9deg)scale(1.35)}to{opacity:.78;transform:rotate(-9deg)scale(1)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js .reveal:not(.in){opacity:1;transform:none}}
