@font-face{font-family:Lora;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/lora-cyrillic-ext-400-italic.sNZZY6P_.woff2) format("woff2"),url(/_astro/lora-cyrillic-ext-400-italic.CkoKUlaJ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/lora-cyrillic-400-italic.BZqWJcgY.woff2) format("woff2"),url(/_astro/lora-cyrillic-400-italic.rXhP2Nh9.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Lora;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/lora-math-400-italic.crS9HkY9.woff2) format("woff2"),url(/_astro/lora-math-400-italic.BeF_1bGp.woff) format("woff");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Lora;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/lora-symbols-400-italic.Bx3UNHSW.woff2) format("woff2"),url(/_astro/lora-symbols-400-italic.DQuLZM7M.woff) format("woff");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Lora;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/lora-vietnamese-400-italic.gHdExvB5.woff2) format("woff2"),url(/_astro/lora-vietnamese-400-italic.CtzHldi2.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/lora-latin-ext-400-italic.CVhprPj2.woff2) format("woff2"),url(/_astro/lora-latin-ext-400-italic.Dr1WeUAM.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/lora-latin-400-italic.CGrJIlEd.woff2) format("woff2"),url(/_astro/lora-latin-400-italic.BBrxGpT3.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--ink: #171816;--paper: #f0eee8;--warm-white: #f8f5ed;--muted: rgba(255, 255, 255, .72);--serif: "Lora", Georgia, serif;--sans: "Inter", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y mandatory;background:var(--ink)}body{margin:0;overflow-x:hidden;background:var(--ink);color:#fff;font-family:var(--serif);text-rendering:optimizeLegibility}body.invitation-locked{height:100svh;overflow:hidden}main>section{height:100svh;min-height:100svh;scroll-snap-align:start;scroll-snap-stop:always}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.invitation-cover{position:fixed;inset:0;z-index:100;display:grid;min-height:100svh;place-items:center;overflow:hidden;text-align:center;transition:opacity .7s ease,visibility .7s ease}.invitation-cover.is-open{opacity:0;visibility:hidden;pointer-events:none}.cover-image,.panel-image,.closing-image{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.cover-image{-o-object-position:center 48%;object-position:center 48%;animation:cover-drift 14s ease-out both}.photo-shade{position:absolute;inset:0;pointer-events:none}.cover-shade{background:linear-gradient(180deg,rgba(11,12,11,.52) 0%,transparent 35%),linear-gradient(0deg,rgba(11,12,11,.75) 0%,transparent 56%),#0b0c0b33}.cover-copy,.guest-copy{position:absolute;z-index:2;left:50%;width:min(88vw,680px);transform:translate(-50%)}.cover-copy{top:clamp(36px,6vh,64px)}.guest-copy{bottom:clamp(42px,7vh,80px);display:flex;flex-direction:column;align-items:center}.cover-copy h1,.panel-copy h2,.profile-copy h2,.gallery-heading h2,.event-content>h2{margin:0;font-family:var(--serif);font-weight:400;letter-spacing:-.035em}.cover-copy h1{margin-top:14px;font-size:clamp(2.35rem,7vw,4.8rem);line-height:1}.cover-names{display:flex;align-items:baseline;justify-content:center;gap:.16em;white-space:nowrap}.cover-ampersand{font-size:.58em;font-style:italic;letter-spacing:0;line-height:1}.eyebrow{margin:0;font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.24em;line-height:1.4;text-transform:uppercase}.wedding-date{width:-moz-max-content;width:max-content;max-width:100%;margin:16px auto 0;padding-top:10px;border-top:1px solid rgba(255,255,255,.42);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.guest-copy>p{margin:0}.guest-name{margin-top:8px!important;font-size:clamp(1.25rem,4vw,1.7rem)}.guest-note{max-width:390px;margin-top:12px!important;color:var(--muted);font-size:.78rem;line-height:1.55}.pill-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;margin-top:22px;padding:.78rem 1.6rem;border:1px solid rgba(255,255,255,.6);border-radius:999px;background:transparent;color:#fff;cursor:pointer;font-family:var(--sans);font-size:.68rem;font-weight:600;letter-spacing:.13em;text-decoration:none;text-transform:uppercase;transition:background-color .22s ease,color .22s ease,transform .22s ease}.pill-button:hover{transform:translateY(-2px)}.pill-button.light{border-color:var(--warm-white);background:var(--warm-white);color:var(--ink)}.pill-button.dark{border-color:var(--ink);color:var(--ink)}.pill-button.dark:hover{background:var(--ink);color:#fff}.photo-panel{position:relative;display:grid;min-height:100svh;place-items:center;overflow:hidden}.panel-copy{position:relative;z-index:2;width:min(88vw,760px);text-align:center}.panel-copy.narrow{width:min(82vw,600px)}.hero-image{-o-object-position:center 42%;object-position:center 42%}.hero-shade{background:linear-gradient(180deg,rgba(10,11,10,.1) 0%,transparent 35%),linear-gradient(0deg,rgba(10,11,10,.88) 0%,transparent 68%),#0a0b0a38}.hero-copy{align-self:end;padding-bottom:clamp(68px,10vh,110px)}.hero-copy h2{margin-top:12px;font-size:clamp(2.1rem,6vw,4.6rem)}.verse{max-width:700px;margin:22px auto 0;color:#ffffffd6;font-size:clamp(.8rem,1.7vw,1rem);line-height:1.65}.verse-source{margin:12px 0 0;font-size:.72rem}.profile-panel{place-items:end start}.profile-image{-o-object-position:center 34%;object-position:center 34%}.profile-shade{background:linear-gradient(0deg,rgba(12,13,12,.88) 0%,transparent 60%),linear-gradient(90deg,rgba(12,13,12,.26),transparent 70%)}.profile-copy{position:relative;z-index:2;width:min(86vw,640px);padding:0 0 clamp(58px,9vh,104px) clamp(24px,8vw,110px)}.profile-copy.align-right{justify-self:end;padding-right:clamp(24px,8vw,110px);padding-left:0;text-align:right}.profile-copy h2{margin-top:12px;font-size:clamp(2.35rem,6vw,5rem);line-height:1}.family-label{margin:24px 0 5px;font-family:var(--sans);font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.profile-copy p:not(.eyebrow,.family-label){margin:0;color:var(--muted);font-size:.82rem}.instagram-link{display:inline-block;margin-top:18px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.46);color:#fff;font-family:var(--sans);font-size:.72rem;text-decoration:none}.story-image{-o-object-position:center;object-position:center}.story-shade{background:#111311a3}.story-panel h2,.save-panel h2,.closing-panel h2{margin-top:18px;font-size:clamp(2.5rem,7vw,5.4rem);line-height:1.05}.story-text,.closing-copy>p:not(.eyebrow,.signature){max-width:520px;margin:24px auto 0;color:var(--muted);font-size:clamp(.86rem,1.6vw,1rem);line-height:1.75}.signature{margin:24px 0 0;font-size:.8rem;font-style:italic}.signature.large{font-size:1.4rem}.save-image{-o-object-position:center 26%;object-position:center 26%}.save-shade{background:#0f110f8f}.countdown-copy{width:min(90vw,780px)}.countdown{display:grid;max-width:560px;grid-template-columns:repeat(4,1fr);margin:42px auto 0;border-top:1px solid rgba(255,255,255,.46);border-bottom:1px solid rgba(255,255,255,.46)}.countdown div{position:relative;padding:20px 5px}.countdown div+div:before{position:absolute;top:50%;left:0;width:5px;height:5px;background:#ffffffad;content:"";transform:translate(-50%,-50%) rotate(45deg)}.countdown strong{display:block;font-size:clamp(1.7rem,5vw,3rem);font-weight:400;font-variant-numeric:tabular-nums}.countdown span{display:block;margin-top:5px;font-family:var(--sans);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase}.event-panel{display:grid;min-height:100svh;overflow:hidden;background:var(--paper);color:var(--ink)}.event-photo{position:relative;min-height:52svh;overflow:hidden}.event-photo img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 38%;object-position:center 38%}.event-content{padding:clamp(54px,8vw,110px) clamp(26px,7vw,100px)}.dark-text{color:#1718169e}.event-content>h2{margin-top:14px;font-size:clamp(2.5rem,6vw,5.4rem);line-height:1}.event-detail{display:grid;grid-template-columns:38px 1fr;gap:20px;margin-top:38px;padding-top:24px;border-top:1px solid rgba(23,24,22,.22)}.event-index{margin:0;font-style:italic}.event-detail h3,.venue h3{margin:0;font-size:1.65rem;font-weight:400}.event-detail p:not(.event-index),.venue>p:last-of-type{margin:7px 0 0;color:#171816ad;font-size:.78rem;line-height:1.6}.venue{margin-top:44px;padding-top:30px;border-top:1px solid rgba(23,24,22,.22)}.venue h3{margin-top:12px}.gallery-panel{min-height:100svh;overflow:hidden;padding:clamp(64px,9vw,120px) 0;background:#11120f}.gallery-heading{padding:0 clamp(24px,8vw,110px)}.gallery-heading h2{max-width:760px;margin-top:16px;font-size:clamp(2.35rem,6vw,5rem);line-height:1.06}.gallery-track{display:flex;gap:16px;margin-top:46px;padding:0 clamp(24px,8vw,110px) 20px;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-padding-inline:clamp(24px,8vw,110px);scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x pan-y}.gallery-track::-webkit-scrollbar{display:none}.gallery-item{position:relative;flex:0 0 min(76vw,440px);height:min(64svh,620px);overflow:hidden;padding:0;border:0;background:#252620;color:#fff;cursor:zoom-in;scroll-snap-align:center;scroll-snap-stop:always}.gallery-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .7s ease}.gallery-item:hover img{transform:scale(1.025)}.gallery-item span{position:absolute;right:16px;bottom:14px;font-family:var(--sans);font-size:.64rem;letter-spacing:.14em}.gallery-controls{display:grid;grid-template-columns:1fr auto auto 1fr;align-items:center;gap:20px;padding:12px clamp(24px,8vw,110px) 0}.gallery-controls>button{padding:0;border:0;background:transparent;color:#ffffffb8;cursor:pointer;font-family:var(--sans);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}.gallery-controls>button:first-child{text-align:left}.gallery-controls>button:last-child{text-align:right}.gallery-counter{margin:0;font-size:.75rem}.gallery-dots{display:none;align-items:center;justify-content:center}.gallery-dots button{width:28px;height:28px;padding:10px;border:0;border-radius:999px;background:transparent;cursor:pointer}.gallery-dots button:after{display:block;width:8px;height:8px;border-radius:999px;background:#ffffff52;content:"";transition:background-color .22s ease,transform .22s ease}.gallery-dots button.is-active:after{background:#fff;transform:scale(1.25)}.closing-slides{position:absolute;inset:0}.closing-image{opacity:0;animation:closing-slideshow 18s infinite}.closing-image-1{animation-delay:0s}.closing-image-2{animation-delay:6s}.closing-image-3{animation-delay:12s}.closing-shade{background:#0b0c0b9e}.lightbox{width:min(92vw,1100px);height:min(90svh,900px);padding:0;border:0;background:#0e0f0d;color:#fff}.lightbox::backdrop{background:#000000e0;backdrop-filter:blur(7px)}.lightbox img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.lightbox button{position:absolute;z-index:2;top:16px;right:16px;min-height:42px;padding:0 17px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:#0f100eb3;color:#fff;cursor:pointer;font-family:var(--sans);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes cover-drift{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes closing-slideshow{0%,28%{opacity:1;transform:scale(1.02)}34%,94%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1.02)}}@media (min-width: 900px){.hero-image{-o-object-position:center;object-position:center}.event-panel{grid-template-columns:1fr 1fr}.event-photo{min-height:100svh}.event-content{align-self:center}.gallery-item{flex-basis:min(34vw,480px)}}@media (max-width: 899px){.cover-image{-o-object-position:center 50%;object-position:center 50%}.guest-copy{bottom:max(clamp(72px,10svh,104px),calc(env(safe-area-inset-bottom) + 24px))}.profile-image{-o-object-position:50% 34%;object-position:50% 34%}.profile-copy,.profile-copy.align-right{width:100%;padding-right:24px;padding-left:24px;text-align:left}.event-panel{grid-template-rows:28svh 72svh}.event-photo{min-height:0}.event-content{align-self:center;padding:20px 26px 24px}.event-content>h2{margin:8px 0 0;font-size:clamp(2rem,9vw,3rem)}.event-detail{grid-template-columns:24px 1fr;gap:12px;margin-top:18px;padding-top:13px}.event-detail h3,.venue h3{font-size:1.35rem}.event-detail p:not(.event-index),.venue>p:last-of-type{margin-top:3px;font-size:.7rem;line-height:1.4}.venue{margin-top:18px;padding-top:15px}.venue h3{margin-top:7px}.venue .pill-button{min-width:148px;margin-top:13px;padding:9px 17px}.gallery-panel{display:flex;min-height:100svh;flex-direction:column;justify-content:center;padding:clamp(44px,6svh,68px) 0}.gallery-heading h2{margin-top:10px;font-size:clamp(2rem,9vw,3rem)}.gallery-track{gap:12px;margin-top:24px;padding-right:7vw;padding-left:7vw;scroll-padding-inline:7vw}.gallery-item{flex-basis:86vw;height:min(50svh,470px);cursor:grab}.gallery-item:active{cursor:grabbing}.gallery-controls{display:flex;justify-content:center;padding-top:8px}.gallery-controls>button,.gallery-counter{display:none}.gallery-dots{display:flex}}@media (max-width: 520px){.cover-copy{top:4vh}.cover-copy h1{font-size:2.35rem}.cover-image{-o-object-position:center center;object-position:center center}.hero-image{-o-object-position:52% 40%;object-position:52% 40%}.profile-image{-o-object-position:50% 30%;object-position:50% 30%}.profile-copy{padding-bottom:60px}.profile-copy h2{font-size:2.65rem}.story-image{-o-object-position:53% center;object-position:53% center}.save-image{-o-object-position:51% 30%;object-position:51% 30%}.gallery-item{height:58svh}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
