@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-ext-400-normal-Drx2k2n9.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-400-normal-uvC0WHQr.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-ext-400-italic-BdEzgT7i.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-400-italic-CQvLaSWn.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-400-italic-BLh7T8o8.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-ext-400-normal-CMDvPJRp.woff2) format("woff2"),url(/assets/manrope-latin-ext-400-normal-C-X6QNXX.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2) format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff) format("woff")}:root{--ivory: #f5f2eb;--white: #fdfbf7;--cream: #e9e4da;--champagne: #b7a78c;--ink: #302d29;--muted: #6f685f;--line: #cfc7ba;--dark: #343b31;--error: #9b3932;--serif: "Cormorant Garamond", Georgia, serif;--sans: "Manrope", Arial, sans-serif;--page: 1440px;--gutter: clamp(24px, 5vw, 88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}a,button,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:5px}::selection{background:var(--cream)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04}h2{font-size:clamp(48px,5.5vw,88px);letter-spacing:-.035em}h3{font-size:40px}h2 em,h3 em{font-weight:400}p{color:var(--muted)}img{display:block;width:100%;height:100%;object-fit:cover}button{border:0;background:none}section{scroll-margin-top:30px}.section{padding:110px var(--gutter);max-width:var(--page);margin:auto}.eyebrow{display:block;font-size:12px;letter-spacing:.2em;line-height:1.7}.line-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:12px 0 8px;border-bottom:1px solid currentColor;font-size:14px;min-height:44px;transition:opacity .2s}.line-link:hover{opacity:.6}.photo{display:block;width:100%;height:100%;overflow:hidden}.photo-caption{font-size:12px;letter-spacing:.09em;color:var(--muted);display:block;margin-top:18px}.site-header{height:102px;max-width:var(--page);margin:auto;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5}.brand{font:25px var(--serif);letter-spacing:-.03em}.header-note{font-size:10px;letter-spacing:.2em;margin-left:120px}.site-header nav{display:flex;gap:27px;font-size:12px}.site-header nav a{padding:12px 0}.site-header nav a:last-child{border-bottom:1px solid var(--ink)}.menu-button{display:none}.hero{max-width:var(--page);margin:auto;padding:12px var(--gutter) 0}.hero-heading{position:relative;text-align:center;padding:25px 0 34px}.hero h1{font-size:clamp(50px,7.65vw,116px);line-height:.96;letter-spacing:-.06em;position:relative;max-width:1050px;margin:auto;outline:none}.hero h1 span{display:block}.hero h1 span:first-child{padding-right:15%}.hero h1 span:last-child{padding-left:14%;margin-top:18px}.hero h1 em{position:absolute;left:46%;top:37%;font-size:.53em;line-height:1;color:#897d68}.hero-kicker{margin-bottom:25px;font-size:10px}.hero-edition{position:absolute;bottom:43px;left:0;display:flex;flex-direction:column;align-items:start;gap:3px;font-size:10px;letter-spacing:.13em}.hero-image-wrap{height:clamp(360px,36vw,560px);position:relative;overflow:hidden}.hero-image{height:calc(100% + 80px);position:absolute;inset:-45px 0 0}.hero-image img{object-position:50% 46%}.hero-photo-caption{position:absolute;left:26px;right:26px;bottom:20px;display:flex;align-items:center;justify-content:space-between;color:var(--white);font-size:10px;letter-spacing:.16em;text-shadow:0 1px 8px #222}.hero-photo-caption a{height:44px;width:44px;border:1px solid #ffffff80;border-radius:50%;display:grid;place-content:center;font-size:24px}.hero-bottom{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.08em;margin-top:18px}.invitation-copy{text-align:center;padding-top:140px;padding-bottom:70px}.invitation-copy h2{margin:25px 0}.invitation-copy p{max-width:590px;margin:30px auto;line-height:1.9}.signature{font:italic 30px var(--serif);display:inline-block;margin-top:15px}.main-countdown{padding-top:30px;padding-bottom:110px;text-align:center}.countdown .eyebrow{font-size:10px}.countdown-values{display:flex;align-items:start;justify-content:center;gap:35px;margin-top:23px}.countdown-values div{min-width:68px;display:flex;flex-direction:column}.countdown-values b{font:400 67px/1 var(--serif);font-variant-numeric:tabular-nums}.countdown-values span{font-size:11px;letter-spacing:.1em;margin-top:12px}.countdown-values i{font:40px var(--serif);color:var(--champagne)}.story{display:grid;grid-template-columns:1.06fr 1fr;gap:12%;padding-top:50px;align-items:center}.story-photo .photo{aspect-ratio:4/5}.story-text{position:relative;padding-bottom:90px}.story-text h2{margin:25px 0 32px}.story-text p{max-width:370px}.story-text .story-note{font:italic 28px/1.3 var(--serif);margin-top:30px;max-width:300px}.large-amp{position:absolute;right:0;bottom:-90px;font:200px var(--serif);color:var(--line);z-index:-1}.henna-section{display:grid;grid-template-columns:1fr 1fr;gap:14%;padding-top:120px;padding-bottom:120px;border-top:1px solid var(--line);margin-top:40px}.event-intro h2{font-size:clamp(72px,9vw,130px);margin:30px 0}.event-intro p{max-width:355px}.small{margin-top:45px}.small .countdown-values{justify-content:start;gap:20px}.small .countdown-values b{font-size:44px}.small .countdown-values div{min-width:42px}.small .countdown-values i{font-size:28px}.henna-details{position:relative;padding-top:175px}.event-number{font:150px/.8 var(--serif);position:absolute;right:0;top:10px;letter-spacing:-.06em}.event-number em{font:italic 35px var(--serif);letter-spacing:0;margin-left:10px}.event-details{margin:0 0 15px}.event-details>div{display:grid;grid-template-columns:82px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}dt{font-size:10px;letter-spacing:.12em;line-height:2.5}dd{font-size:14px;margin:0;line-height:1.7}dd small{display:block;font-size:12px;color:var(--muted)}.calendar-links{display:flex;flex-wrap:wrap;gap:5px 20px;font-size:12px;margin-top:28px}.calendar-links span{width:100%;color:var(--muted);margin-bottom:5px}.calendar-links a,.calendar-links button{min-height:44px;padding:8px 0;text-decoration:underline;text-underline-offset:5px}.wedding-section{display:grid;grid-template-columns:1fr 1fr;background:var(--cream);max-width:1600px;margin:auto}.wedding-image{position:relative;min-height:820px}.wedding-image img{object-position:45% 50%}.image-word{position:absolute;bottom:40px;left:8%;font:italic clamp(55px,7vw,110px) var(--serif);color:var(--white);text-shadow:0 1px 20px #333}.wedding-content{padding:80px clamp(35px,6vw,100px)}.wedding-content h2{margin:25px 0 30px}.wedding-content>p{margin-bottom:35px;max-width:420px}.program-section{padding-top:120px;padding-bottom:120px}.section-heading h2{margin-top:20px}.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin-top:60px}.program-column h3{font-size:36px;margin-bottom:28px}.program-column ol{list-style:none;padding:0;margin:0}.program-column li{display:flex;gap:40px;border-bottom:1px solid var(--line);padding:20px 0;font-size:15px}.program-column time{color:var(--muted);font-size:13px}.program-note{font-size:12px;margin-top:28px;max-width:650px}.gallery{display:grid;grid-template-columns:1fr .7fr 1fr;grid-template-rows:auto auto;gap:35px 40px;padding-top:50px;padding-bottom:120px;align-items:start}.gallery-heading{grid-column:1/3;padding-top:60px}.gallery-heading h2{margin-top:22px}.gallery-one{grid-column:3;grid-row:1}.gallery-one .photo{aspect-ratio:3/4}.gallery-two{grid-column:1/3;grid-row:2;margin-top:25px;width:90%}.gallery-two .photo{aspect-ratio:1.6}.gallery-three{grid-column:3;grid-row:2;align-self:end;margin-top:35px}.gallery-three .photo{aspect-ratio:.8}.gallery-footnote{grid-column:1/3;font-size:11px;letter-spacing:.16em;margin-top:10px}.dress-code{text-align:center;background:var(--dark);color:var(--ivory);max-width:none;padding-top:95px;padding-bottom:100px}.dress-code h2{margin:28px 0}.dress-code p{max-width:500px;margin:auto;color:var(--cream)}.dress-note{font:italic 25px var(--serif);display:block;margin-top:30px;color:var(--cream)}.locations{padding-top:120px;padding-bottom:120px}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin-top:55px}.location-grid article{border-top:1px solid var(--line);padding-top:26px}.location-grid h3{font-size:45px;margin:20px 0}.location-grid p{font-size:14px;margin-bottom:20px}.rsvp-section{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:10%;max-width:none}.rsvp-heading h2{margin:25px 0 30px}.rsvp-heading p{max-width:380px}.rsvp-monogram{display:block;font:60px var(--serif);margin-top:100px;color:var(--muted)}.rsvp-form{max-width:620px;width:100%}.deferred-rsvp{min-height:1060px;min-width:0}.deferred-rsvp.is-loaded{min-height:0}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:22px}.field label,.field legend,fieldset legend{font-size:14px}.field input,.field select,.field textarea{width:100%;padding:13px 12px;border:1px solid var(--line);border-radius:0;color:var(--ink);background:var(--white);font-size:16px;min-height:49px}.field textarea{resize:vertical;min-height:110px}.field small{font-size:12px;color:var(--muted)}fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}fieldset legend{padding:0;margin-bottom:10px}.radio-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.radio-pair label{border:1px solid var(--line);padding:12px;display:flex;align-items:center;gap:10px;font-size:14px;min-height:50px;background:var(--white);cursor:pointer}.radio-pair label:has(:checked){border-color:var(--ink);background:var(--ivory)}input[type=radio],input[type=checkbox]{accent-color:var(--ink);width:17px;height:17px;flex-shrink:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.submit-button{background:var(--ink);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:17px 22px;width:100%;font-size:14px;min-height:54px}.submit-button:hover{background:var(--dark)}.privacy-note{font-size:12px;margin:18px 0}.form-error{color:var(--error);font-size:14px;margin-bottom:16px}.field-error{font-size:13px;color:var(--error)}.form-status{padding:16px 0;font-size:14px}.form-success{border-top:1px solid var(--ink);padding-top:40px}.form-success h3{font-size:55px;margin:25px 0}.form-success .success-mark{font:45px var(--serif)}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.route-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px;gap:25px}footer{text-align:center;padding:80px var(--gutter) 35px}.footer-monogram{font:60px var(--serif)}footer>div{display:flex;justify-content:center;gap:30px;font-size:12px;letter-spacing:.1em;margin:20px 0}footer p{font:italic 26px var(--serif)}.back-top{display:block;font-size:12px;margin-top:50px;padding:10px}.opening{position:fixed;inset:0;background:var(--ivory);z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:35px 24px;overflow:auto}.opening-paper{border:1px solid var(--line);outline:1px solid var(--line);outline-offset:9px;width:min(540px,90%);text-align:center;padding:clamp(25px,5vh,55px) 20px;margin:30px auto}.opening-monogram{font:38px var(--serif);color:#887961}.fine-rule{height:1px;width:44px;background:var(--champagne);margin:23px auto}.opening h1{font-size:clamp(48px,6vw,78px);letter-spacing:-.04em}.opening-paper>.eyebrow{margin:30px 0 20px}.opening .line-link{min-width:170px}.skip{font-size:12px;text-decoration:underline;text-underline-offset:5px;min-height:44px}.skip-content{position:fixed;top:-100px;left:20px;z-index:200;padding:12px;background:var(--white)}.skip-content:focus{top:15px}@media(min-width:1600px){.rsvp-section{padding-left:calc((100vw - 1264px)/2);padding-right:calc((100vw - 1264px)/2)}}@media(max-width:1050px){.header-note{display:none}.hero-edition{position:static;flex-direction:row;justify-content:space-between;margin-top:28px}.henna-section{gap:9%}.wedding-content{padding:60px 35px}.wedding-image{min-height:830px}.gallery{gap:25px}.story{gap:8%}.rsvp-section{gap:7%}.radio-pair label{font-size:13px;padding:12px 8px}}@media(max-width:700px){html{scroll-padding-top:15px}.section{padding:75px var(--gutter)}.site-header{height:78px}.brand{font-size:24px}.menu-button{display:flex;gap:18px;align-items:center;padding:10px 0;font-size:13px;min-height:44px}.menu-button span{font-size:22px}.site-header nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--ivory);padding:24px var(--gutter) 32px;border-bottom:1px solid var(--line);gap:4px}.site-header nav.is-open{display:flex;flex-direction:column}.site-header nav a{font:30px var(--serif);padding:9px 0}.site-header nav a:last-child{border:0}.hero{padding-top:6px}.hero-heading{padding:17px 0 22px}.hero-kicker{font-size:9px;letter-spacing:.18em;margin-bottom:25px}.hero h1{font-size:clamp(39px,11.6vw,81px);letter-spacing:-.055em}.hero h1 span:first-child{padding-right:4%}.hero h1 span:last-child{padding-left:4%;margin-top:27px}.hero h1 em{left:48%;top:41%;font-size:.62em}.hero-edition{font-size:9px;margin-top:28px;letter-spacing:.08em}.hero-image-wrap{height:405px}.hero-image img{object-position:50% 50%}.hero-photo-caption{left:15px;right:15px;bottom:15px}.hero-photo-caption>span{max-width:180px;font-size:9px}.hero-bottom{font-size:9px;gap:15px;letter-spacing:0}.hero-bottom span:last-child{text-align:right}.invitation-copy{padding-top:88px;padding-bottom:35px}.invitation-copy h2{font-size:53px}.invitation-copy p{font-size:15px;line-height:1.9;margin:25px 0}.signature{font-size:27px}.eyebrow{font-size:10px}.main-countdown{padding-top:22px;padding-bottom:70px}.countdown-values{gap:15px}.countdown-values div{min-width:47px}.countdown-values b{font-size:52px}.countdown-values i{font-size:32px}.countdown-values span{font-size:10px}.story{display:flex;flex-direction:column;gap:50px;padding-top:15px}.story-photo{width:86%;align-self:flex-start}.story-photo .photo{aspect-ratio:4/5}.story-text{align-self:flex-end;width:89%;padding-bottom:20px}.story-text h2{font-size:60px}.story-text p{font-size:15px}.story-text .story-note{font-size:27px}.large-amp{font-size:150px;bottom:-60px}.henna-section{grid-template-columns:1fr;margin-top:20px;gap:42px;padding-top:70px;padding-bottom:75px}.event-intro h2{font-size:86px;margin:22px 0}.event-intro>p{font-size:15px}.small{margin-top:30px}.small .countdown-values{gap:23px}.small .countdown-values b{font-size:41px}.henna-details{padding-top:95px}.event-number{font-size:102px;top:0}.event-number em{font-size:28px}.event-details>div{padding:14px 0;grid-template-columns:66px 1fr}.event-details dd{font-size:14px}.wedding-section{grid-template-columns:1fr}.wedding-image{height:470px;min-height:0}.image-word{font-size:75px;bottom:25px}.wedding-content{padding:60px var(--gutter)}.wedding-content h2{font-size:80px}.program-grid{grid-template-columns:1fr;gap:40px;margin-top:40px}.program-column h3{font-size:34px;margin-bottom:15px}.program-column li{padding:18px 0}.program-note{font-size:12px}.gallery{grid-template-columns:1fr 1fr;gap:25px 18px;padding-top:20px;padding-bottom:70px}.gallery-heading{grid-column:1/3;padding-top:0;margin-bottom:5px}.gallery-heading h2{font-size:57px}.gallery-one{grid-column:2;grid-row:2;margin-top:0}.gallery-one .photo{aspect-ratio:.62}.gallery-two{grid-column:1;grid-row:2;margin-top:85px;width:100%}.gallery-two .photo{aspect-ratio:.7}.gallery-two .photo-caption{font-size:10px;line-height:1.6}.gallery-three{grid-column:1/3;grid-row:3;margin-top:5px;width:83%}.gallery-three .photo{aspect-ratio:1.4}.gallery-footnote{grid-column:1/3;font-size:10px}.dress-code{padding:70px var(--gutter)}.dress-code h2{font-size:53px}.dress-code p{font-size:15px}.dress-note{font-size:25px}.location-grid{grid-template-columns:1fr;gap:36px;margin-top:38px}.location-grid h3{font-size:42px}.rsvp-section{grid-template-columns:1fr;gap:40px}.rsvp-heading h2{font-size:63px}.rsvp-heading p{font-size:15px}.rsvp-monogram{display:none}.radio-pair label{font-size:13px;padding:12px 10px;gap:8px}.form-row{gap:12px}.form-row label{font-size:13px}.rsvp-form{max-width:none}footer{padding-top:60px}.footer-monogram{font-size:48px}.opening-paper{width:calc(100% - 24px)}.opening h1{font-size:53px}.opening>.eyebrow{font-size:10px}.opening-monogram{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.invitation-footer>.footer-memory-trigger{display:block;font:42px/1.25 var(--serif);letter-spacing:-.035em;margin:12px auto 0;border:0;padding:0;background:none;color:inherit;min-height:44px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.footer-memory-trigger:hover{opacity:.9}.memory-dialog{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--ink);overflow:hidden;overscroll-behavior:contain}.memory-dialog[open]{display:flex;align-items:center;justify-content:center}.memory-dialog::backdrop{background:transparent}.memory-backdrop{position:absolute;inset:0;background:#efebe3f5;touch-action:none}.memory-close{position:absolute;z-index:2;top:max(12px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--reading, #59534c);font:30px/1 var(--sans);touch-action:manipulation}.memory-photo{position:relative;margin:0;max-width:min(90vw,720px);pointer-events:none}.memory-photo img{display:block;width:auto;height:auto;max-width:min(90vw,720px);max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px - env(safe-area-inset-top) - env(safe-area-inset-bottom));object-fit:contain;box-shadow:0 14px 50px #332a2129;user-select:none;-webkit-user-select:none;pointer-events:auto}.memory-photo.has-caption img{max-height:calc(100dvh - 210px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.memory-photo figcaption{max-width:55ch;margin:14px auto 0;text-align:center;color:var(--reading, #59534c);font:italic 18px/1.45 var(--serif);overflow-wrap:anywhere}.memory-status{position:absolute;max-width:80vw;text-align:center;font:16px/1.6 var(--sans);color:var(--reading, #59534c)}.seal-opening{--paper-edge: color-mix(in srgb, var(--champagne) 42%, var(--cream));--fold-paper: color-mix(in srgb, var(--white) 64%, var(--cream));position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden;isolation:isolate;background:var(--ivory)}.opening-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 23% 15%,var(--white),transparent 70%)}.opening-scene{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;padding:54px 20px 80px}.opening-heading{text-align:center;margin-bottom:clamp(64px,12svh,116px);transition:opacity .4s,transform .8s}.opening-rule{display:block;width:28px;height:1px;margin:0 auto 21px;background:var(--champagne)}.opening-heading p{font:italic 26px/1.2 var(--serif);color:var(--ink);max-width:320px;overflow-wrap:anywhere}.envelope-stage{width:min(82vw,460px);aspect-ratio:1.48;perspective:1200px;position:relative}.envelope-object{display:block;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;height:100%;position:relative;transform:rotate(-5deg);transition:transform 1.5s cubic-bezier(.22,1,.36,1) .2s}.envelope-pocket{position:absolute;inset:0;background:var(--paper-edge);border-radius:2px;box-shadow:0 28px 35px -20px #302d2940,0 7px 11px -6px #302d2928}.envelope-letter{position:absolute;z-index:2;inset:5% 5% 4%;background:var(--white);border:1px solid color-mix(in srgb,var(--champagne) 24%,transparent);box-shadow:0 2px 6px #302d2910;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:16px;text-align:center;color:var(--ink);transition:transform 1.05s cubic-bezier(.22,1,.36,1) .65s}.envelope-letter>span{font:400 clamp(24px,6vw,36px)/1.1 var(--serif);overflow-wrap:anywhere;max-width:100%}.envelope-letter em{font:italic 25px/1.3 var(--serif);color:var(--champagne)}.letter-rule{width:24px;height:1px;background:var(--line);margin:12px 0;flex-shrink:0}.envelope-front{position:absolute;inset:0;z-index:4;pointer-events:none}.envelope-fold{position:absolute;inset:0;background:var(--fold-paper)}.fold-left{clip-path:polygon(0 0,56% 56%,0 100%);background:color-mix(in srgb,var(--white) 45%,var(--cream))}.fold-right{clip-path:polygon(100% 0,44% 56%,100% 100%)}.fold-bottom{clip-path:polygon(0 100%,0 97%,50% 44%,100% 97%,100% 100%);background:color-mix(in srgb,var(--white) 75%,var(--cream))}.envelope-imprint{position:absolute;left:0;bottom:8%;width:100%;text-align:center;font:10px/1 var(--serif);letter-spacing:.2em;color:color-mix(in srgb,var(--muted) 60%,var(--white))}.envelope-flap{position:absolute;inset:0 0 auto;height:65%;z-index:5;transform-origin:center top;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.45,0,.2,1) .23s,z-index 0s linear .62s}.flap-face{position:absolute;inset:0;backface-visibility:hidden;clip-path:polygon(0 0,100% 0,52% 98%,50% 100%,48% 98%)}.flap-outside{background:linear-gradient(170deg,var(--white) 5%,var(--fold-paper) 95%)}.flap-inside{background:var(--cream);transform:rotateX(180deg);clip-path:polygon(0 100%,100% 100%,52% 2%,50% 0,48% 2%)}.wax-seal{position:absolute;z-index:6;left:50%;top:57%;width:clamp(78px,22vw,104px);aspect-ratio:1;transform:translate(-50%,-50%) rotate(5deg);display:grid;place-items:center;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .3s,opacity .26s}.seal-wax{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(1px 4px 3px #302d2933)}.wax-body{fill:color-mix(in srgb,var(--champagne) 67%,var(--cream));stroke:color-mix(in srgb,var(--champagne) 85%,var(--ink));stroke-width:.65}.wax-rim{fill:none;stroke:color-mix(in srgb,var(--ink) 24%,var(--champagne));stroke-width:1.1}.wax-engraving{fill:none;stroke:color-mix(in srgb,var(--ink) 27%,var(--champagne));stroke-width:.6}.wax-seal span{position:relative;max-width:64%;font:clamp(12px,3.3vw,16px)/1.05 var(--serif);color:var(--ink);text-shadow:0 1px 0 #ffffff60;overflow-wrap:anywhere}.seal-opening:focus{outline:none}.envelope-object:focus-visible{outline:1px solid var(--muted);outline-offset:8px;border-radius:2px}.envelope-object>*{pointer-events:none}.envelope-object:active .wax-seal{transform:translate(-50%,-48%) rotate(5deg) scale(.96)}.seal-hint{text-align:center;margin-top:clamp(64px,10svh,98px);transition:opacity .3s,transform .6s}.seal-hint>span{display:block;text-transform:uppercase;font:400 .875rem/1.7 var(--sans);letter-spacing:.05em;color:var(--muted)}.seal-hint em{display:block;font:italic 19px/1.5 var(--serif);margin-top:7px;color:var(--muted)}.opening-skip{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));min-height:44px;padding:12px 15px;font:400 .9375rem/1.4 var(--sans);color:var(--muted)}.opening-skip span{margin-left:10px}.is-opening .opening-heading{opacity:0;transform:translateY(-12px)}.is-opening .seal-hint{opacity:0;transform:translateY(8px)}.is-opening .wax-seal{opacity:0;transform:translate(-50%,-35%) rotate(11deg) scale(1.06);pointer-events:none}.is-opening .envelope-object{transform:rotate(0) translateY(24px)}.is-opening .envelope-flap{transform:rotateX(-178deg);z-index:1}.is-opening .envelope-letter{transform:translateY(-44%) scale(1.025)}@media(hover:hover){.envelope-object:hover .wax-seal{transform:translate(-50%,-52%) rotate(2deg)}}@media(max-height:650px){.opening-heading{margin-bottom:42px}.opening-heading p{font-size:22px}.envelope-stage{width:min(65vw,330px)}.seal-hint{margin-top:42px}.opening-rule{display:none}}@media(prefers-reduced-motion:reduce){.seal-opening *,.seal-opening *:before,.seal-opening *:after{transition:none!important;animation:none!important}}.seal-hint,.seal-hint>span,.seal-hint em,.opening-skip{color:var(--reading, #59534c)}.theme-ivory{--ivory: #f5f2eb;--white: #fdfbf7;--cream: #e9e4da;--ink: #302d29;--muted: #6f685f;--reading: #59534c;--line: #cfc7ba;--champagne: #b7a78c}.theme-champagne{--ivory: #f3ece1;--white: #fbf6ee;--cream: #e7ddcf;--ink: #3d342d;--muted: #736252;--reading: #605143;--line: #cbbba6;--champagne: #b29d7f}.theme-sage{--ivory: #eef0e8;--white: #f8f9f3;--cream: #dfe4d7;--ink: #343c30;--muted: #626c5b;--reading: #515b4b;--line: #bdc7b5;--champagne: #9aa58a}.invitation-page{background:var(--ivory);color:var(--ink);padding:0 26px;overflow-wrap:anywhere}.invitation-page main{max-width:1000px;margin:auto}.invitation-hero{text-align:center;padding-top:68px}.invitation-hero>.invitation-eyebrow:before{content:"";display:block;width:34px;height:1px;background:var(--champagne);margin:0 auto 24px}.invitation-eyebrow{font:400 .875rem/1.7 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.couple-names{font:400 clamp(44px,12.3vw,94px)/.97 var(--serif);text-transform:uppercase;letter-spacing:-.045em;margin:32px auto 0;max-width:900px}.couple-names span{display:block}.couple-names em{display:block;font-size:.63em;line-height:1.28;text-transform:none;color:var(--muted)}.couple-names:focus{outline:none}.invitation-families{margin:29px auto 0;font:400 1.125rem/1.55 var(--serif)}.invitation-families p{color:var(--ink)}.invitation-families p+p:before{content:"·";display:block;color:var(--muted);line-height:1.1}.invitation-message{max-width:350px;margin:27px auto 0;font:400 1.25rem/1.5 var(--serif)}.invitation-sketch{width:min(235px,75%);margin:35px auto 40px}.invitation-sketch img{height:auto;object-fit:contain;mix-blend-mode:darken}.invitation-events{max-width:760px;margin:38px auto 0;display:grid;gap:18px}.invitation-event{position:relative;text-align:center;padding:34px 22px 25px;background:color-mix(in srgb,var(--white) 64%,var(--ivory));border:1px solid color-mix(in srgb,var(--line) 62%,transparent)}.invitation-event:after{content:"";position:absolute;inset:6px;border:1px solid color-mix(in srgb,var(--line) 25%,transparent);pointer-events:none}.event-index{position:absolute;top:21px;left:23px;font:10px var(--sans);color:var(--muted);letter-spacing:.18em}.invitation-event h2{font-size:51px;margin:8px 0 20px;letter-spacing:-.025em}.invitation-event time{font:1.5625rem/1.3 var(--serif)}.invitation-event .event-city{font:400 .875rem/1.6 var(--sans);text-transform:uppercase;letter-spacing:.07em;margin-top:7px}.event-time,.event-venue{margin-top:12px;font-size:1.0625rem}.event-address{font-size:1rem;max-width:300px;margin:8px auto 0}.invitation-event .line-link{margin-top:20px;min-height:44px;font-size:1rem}.invitation-countdown{text-align:center;border-top:1px solid var(--line);padding:32px 0}.invitation-countdown .countdown{margin:0}.invitation-countdown .countdown-values{justify-content:center}.invitation-rsvp{border-top:1px solid var(--line);max-width:760px;margin:48px auto 0;padding:38px 0 0}.invitation-rsvp-heading{margin-bottom:36px;text-align:center}.invitation-rsvp-heading h2{font-size:43px;line-height:1.04;margin-top:12px}.invitation-rsvp-heading h2 em{display:block}.invitation-rsvp-description{max-width:32ch;margin:16px auto 0;font:400 18px/1.5 var(--serif);color:var(--muted)}.invitation-rsvp .rsvp-form{max-width:none}.invitation-rsvp .deferred-rsvp{min-height:620px}.invitation-rsvp .deferred-rsvp.is-loaded{min-height:0}.invitation-rsvp .field{margin-bottom:25px;gap:8px}.invitation-rsvp fieldset{margin-bottom:25px}.invitation-rsvp .field label,.invitation-rsvp legend{font-size:1rem}.invitation-rsvp .field input,.invitation-rsvp .field textarea{background:transparent;border-width:0 0 1px;padding:10px 0}.invitation-rsvp .field textarea{min-height:72px}.invitation-rsvp .radio-pair{gap:8px;grid-template-columns:repeat(auto-fit,minmax(min(100%,10.25rem),1fr))}.invitation-rsvp .radio-pair label{background:transparent;font-size:13px;padding:14px 6px;gap:6px}.invitation-rsvp .radio-pair label:has(:checked){background:var(--cream)}.invitation-rsvp .submit-button{margin-top:12px}.invitation-rsvp .privacy-note{font-size:.875rem;line-height:1.7;margin-top:16px}.invitation-rsvp .form-success{padding:35px 0;min-height:250px}.invitation-footer{text-align:center;padding:64px 0 max(38px,env(safe-area-inset-bottom))}.footer-rule{width:36px;height:1px;margin:0 auto 28px;background:var(--champagne)}.invitation-footer p{font:italic 1.375rem/1.5 var(--serif);color:var(--muted)}.invitation-footer>span{display:block;font:42px/1.25 var(--serif);letter-spacing:-.035em;margin-top:12px}.invitation-loading{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px}.map-sheet{width:calc(100% - 24px);max-width:440px;border:1px solid var(--line);background:var(--ivory);color:var(--ink);padding:38px 26px 26px;position:fixed;margin:auto auto 12px}.map-sheet::backdrop{background:#27231d66}.map-sheet h2{font-size:36px;margin:12px 0}.map-sheet>p:not(.eyebrow){font-size:14px;margin-bottom:22px}.map-sheet>a{display:flex;justify-content:space-between;padding:17px 0;border-top:1px solid var(--line);font-size:15px}.sheet-close{position:absolute;top:6px;right:8px;font-size:25px;width:44px;height:44px}@media(min-width:768px){.invitation-page{padding:0 60px}.invitation-hero{padding-top:90px}.couple-names{font-size:96px}.invitation-families{display:flex;justify-content:center;gap:32px;font-size:1.25rem}.invitation-families p+p:before{display:none}.invitation-message{max-width:420px;font-size:22px}.invitation-sketch{width:270px;margin:38px auto}.invitation-events{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px}.invitation-event{display:flex;flex-direction:column;align-items:center;padding:38px 24px}.invitation-rsvp{padding:50px 0 0;display:grid;grid-template-columns:1fr 1.3fr;gap:45px}.invitation-rsvp-heading h2{font-size:49px}.invitation-rsvp-heading{text-align:left}.map-sheet{margin:auto}.invitation-footer{padding:82px 0 48px}}@media(prefers-reduced-motion:reduce){.seal-opening *{transition:none!important;animation:none!important}}.invitation-rsvp .event-guest-count{margin-top:18px;margin-bottom:0}@media(min-width:768px){.invitation-event .line-link{margin-top:auto;padding-top:20px}}.invitation-eyebrow,.invitation-rsvp-description,.invitation-footer p,.invitation-rsvp .privacy-note,.invitation-rsvp .field label>span,.invitation-countdown .eyebrow,.invitation-countdown .countdown-values span,.map-sheet>p{color:var(--reading, #59534c)}.invitation-rsvp-deadline{max-width:34ch;margin:20px auto 0;color:var(--ink);font:400 1rem/1.7 var(--sans)}.invitation-rsvp-deadline time{white-space:nowrap;text-decoration:underline;text-decoration-color:var(--champagne);text-decoration-thickness:1px;text-underline-offset:4px}.invitation-countdown .eyebrow,.map-sheet .eyebrow{font-size:.875rem;letter-spacing:.07em}.invitation-countdown .countdown-values span{font-size:.875rem;letter-spacing:.03em}.invitation-countdown .countdown-values{gap:clamp(10px,3vw,20px)}.invitation-countdown .countdown-values div{min-width:0}.invitation-rsvp .field small,.invitation-rsvp .field-error{font-size:.875rem}.invitation-rsvp .radio-pair label{font-size:.9375rem}.invitation-rsvp .field input,.invitation-rsvp .field textarea{font-size:max(16px,1rem)}.invitation-rsvp input::placeholder,.invitation-rsvp textarea::placeholder{color:var(--reading, #59534c);opacity:1}@media(min-width:768px){.invitation-rsvp-deadline{margin-left:0}}.invitation-event .map-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%;white-space:normal;text-align:center;line-height:1.5}.map-cta-pin{flex:0 0 17px}.map-cta-text{min-width:0;overflow-wrap:anywhere}
