@font-face{font-family:Amiri;src:url(/fonts/amiri-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Amiri;src:url(/fonts/amiri-bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Diwani;src:url(/fonts/diwani-letter.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{color:#521a25;font-synthesis:weight;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--wine:#520d1b;--gold:#b88949;--cream:#f7eddc;background:#230b12;font-family:Amiri,Times New Roman,serif}*{box-sizing:border-box}body{min-width:280px;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline-offset:6px;outline:2px solid #d6ae73}img{max-width:100%;display:block}p,h1,h2,h3,figure,blockquote{margin:0}time{font-variant-numeric:lining-nums tabular-nums;display:inline-block}::selection{background:#b8894966}.invitation-shell{background:var(--cream);text-align:center;width:min(100%,520px);margin-inline:auto;box-shadow:0 0 100px #0007}.opening{z-index:10;opacity:1;background:#351011;width:min(100%,520px);height:100svh;margin-inline:auto;transition:opacity .85s,visibility .85s;position:fixed;inset:0;overflow:hidden}.opening-art{object-fit:cover;object-position:center;width:100%;height:100%}.opening-skip{white-space:nowrap;position:absolute;bottom:35px;left:50%;transform:translate(-50%)}.opening-shade{background:linear-gradient(#0000 18%,#1a030448 42%,#19030955 68%,#18030788);position:absolute;inset:0}.opening-copy{color:#ffe7b8;text-shadow:0 2px 14px #1a0000;flex-direction:column;justify-content:center;align-items:center;padding:100px 24px 50px;display:flex;position:absolute;inset:0}.opening-occasion{font-size:clamp(25px,7vw,34px)}.opening-name{font-family:Diwani,Amiri,serif;font-size:clamp(94px,26vw,132px);font-weight:700;line-height:1.6}.open-button{color:#ffe4b0;cursor:pointer;background:#430713bd;border:1px solid #d7ac6999;border-radius:2px;flex-direction:column;align-items:center;gap:10px;padding:13px 30px 12px;font-size:22px;transition:background .2s;display:flex;box-shadow:0 0 0 5px #41061235,0 10px 35px #18000544}.open-button:hover{background:#630f22e6}.button-line{background:#e7bc78;width:36px;height:1px}.opening-date{letter-spacing:3px;margin-top:28px;font-family:Georgia,serif;font-size:14px}.opening--leaving{opacity:0;visibility:hidden;pointer-events:none}.hero{aspect-ratio:941/1672;isolation:isolate;background:#b58451;position:relative}.hero-art{object-fit:contain;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.hero-copy{top:28%;color:#561325;flex-direction:column;align-items:center;display:flex;position:absolute;inset-inline:23%}.hero-occasion{font-size:clamp(23px,6.7vw,34px);line-height:1.6}.hero h1{text-shadow:0 2px 15px #ffeccc88;font-family:Diwani,Amiri,serif;font-size:clamp(76px,22vw,114px);font-weight:700;line-height:1.25}.hero h1:focus{outline:none}.fine-rule{background:var(--gold);width:62px;height:1px;margin-inline:auto;position:relative}.fine-rule:after{content:"";background:var(--gold);width:5px;height:5px;position:absolute;top:-2px;left:calc(50% - 2px);transform:rotate(45deg)}.hero-date{letter-spacing:1.5px;margin-top:16px;font-family:Georgia,serif;font-size:clamp(14px,3.9vw,19px)}.scroll-cue{color:#ffe3b5;background:#390612d9;border:1px solid #e5bf8288;border-radius:40px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:130px;min-height:64px;padding:9px 22px 15px;text-decoration:none;display:flex;position:absolute;bottom:3%;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #230b1226}.scroll-cue-label{white-space:nowrap;font-size:19px;line-height:1.4}.scroll-cue-arrow{border-bottom:1px solid;border-right:1px solid;width:9px;height:9px;transform:rotate(45deg)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}[data-reveal].reveal-in{animation:.85s cubic-bezier(.22,1,.36,1) both reveal-text}[data-reveal=art].reveal-in{animation-name:reveal-art;animation-duration:1.1s}.hero-copy [data-reveal]:nth-child(2){animation-delay:.1s}.hero-copy [data-reveal]:nth-child(4){animation-delay:.2s}[data-reveal]:focus-within{animation:none}.scroll-cue-arrow{animation:2.4s ease-in-out 3 scroll-nudge}}@keyframes reveal-text{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-art{0%{opacity:0;transform:translateY(16px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes scroll-nudge{0%,to{transform:translateY(0)rotate(45deg)}50%{transform:translateY(4px)rotate(45deg)}}.invitation-section{background:#f7ebd3;padding-bottom:0;position:relative}.frame-cap,.frame-foot{background-image:var(--frame-image);background-repeat:no-repeat;background-size:100%;height:clamp(150px,39vw,202px)}.frame-cap{background-position:top;-webkit-mask-image:linear-gradient(#000 83%,#0000);mask-image:linear-gradient(#000 83%,#0000)}.frame-foot{background-position:bottom;height:clamp(160px,43vw,220px);-webkit-mask-image:linear-gradient(#0000,#000 17%);mask-image:linear-gradient(#0000,#000 17%)}.invitation-body{padding:12px 12% 8px;font-size:clamp(20px,5.4vw,25px);line-height:1.9;position:relative}.invitation-body:before,.invitation-body:after{content:"";background:#b8894977;width:1px;position:absolute;top:-26px;bottom:-26px}.invitation-body:before{right:5.3%}.invitation-body:after{left:5.3%}.poem{margin-bottom:33px;font-size:clamp(21px,5.7vw,28px);font-weight:700;line-height:1.95}.poem span{display:block}.invitation-body>.fine-rule{margin-bottom:32px}.person-name{font-weight:700}.host-name{font-size:clamp(35px,9vw,44px);line-height:1.8}.celebrant-name{margin-block:3px 7px;font-family:Diwani,Amiri,serif;font-size:clamp(64px,18vw,88px);line-height:1.7}.event-sentence{font-size:clamp(19px,5vw,23px)}.event-sentence time{font-size:.85em}.programme{background:var(--wine);color:#fae9c9;padding:57px 30px 59px}.section-kicker{color:#966736;font-size:18px;line-height:1.8;display:block}.programme .section-kicker{color:#d7b27a}h2{font-size:clamp(33px,8.6vw,42px);font-weight:400;line-height:1.7}.programme-rule{background:#d7b27a66;width:1px;height:30px;margin:18px auto 0}.timeline{margin:0;padding:0;list-style:none}.timeline-dot{border:1px solid #e8c996;border-radius:50%;width:7px;height:7px;margin:0 auto 18px;display:block}.timeline h3{font-size:26px;font-weight:400;line-height:1.7}.timeline p{color:#e4c49a;font-size:21px}.timeline time{margin-inline-end:5px;font-size:28px}.venue{background:var(--cream);padding-bottom:62px}.venue-intro{position:relative}.venue-intro img{width:100%;height:auto}.venue-heading{top:10%;position:absolute;inset-inline:20px}.venue-photo{border:1px solid #b8894977;margin:20px 7% 27px;padding:7px;box-shadow:0 12px 25px #6e442212}.venue-photo img{width:100%;height:auto}.venue-address{margin-bottom:24px;padding-inline:24px;font-size:clamp(22px,6vw,28px);line-height:1.85}.map-button{background:var(--wine);color:#fae6c3;border:1px solid #9f7347;justify-content:center;align-items:center;gap:18px;min-height:50px;padding:12px 25px;font-size:20px;text-decoration:none;transition:background .2s,box-shadow .2s;display:inline-flex}.map-button:hover{background:#70172b;box-shadow:0 5px 20px #520d1b20}.map-button span{font-family:sans-serif;font-size:19px}.guest-notes{color:#efd7b3;background:#240405;overflow:hidden}.notes-body{padding:58px 12% 8px}.notes-body>.fine-rule{margin-bottom:28px}.notes-body h2{color:#f0cf96;font-size:clamp(29px,7.8vw,36px)}.notes-body p{margin-top:9px;font-size:clamp(20px,5.5vw,24px);line-height:1.95}.notes-divider{background:#b8894955;width:36px;height:1px;margin:28px auto}.notes-art{width:100%;height:auto;-webkit-mask-image:linear-gradient(#0000,#000 28%);mask-image:linear-gradient(#0000,#000 28%)}@media (width>=700px){.invitation-shell{border-inline:1px solid #a4784555}}@media (width<=350px){.hero-copy{top:28%}.hero h1{font-size:74px}.hero-occasion{font-size:22px}.hero-date{margin-top:13px;font-size:13px}.invitation-body{padding-inline:11%}.poem{font-size:19px}.open-button{padding-inline:22px;font-size:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
