@import "https://fonts.googleapis.com/css2?family=Inknut+Antiqua:wght@400;500;600;700&display=swap";
:root{--wedding-paper:#f3edda;--wedding-paper-image:url(/paper-background.jpg);--wedding-ink:#050505;--edge-space:clamp(1.25rem, 4vw, 5.25rem)}*{box-sizing:border-box}html{background:var(--wedding-paper-image) center / cover no-repeat fixed, var(--wedding-paper);color:var(--wedding-ink);scroll-behavior:smooth;scrollbar-width:none;overflow-x:hidden}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}body{background:var(--wedding-paper-image) center / cover no-repeat fixed, var(--wedding-paper);min-height:100vh;color:var(--wedding-ink);margin:0;font-family:Inknut Antiqua,Georgia,serif;overflow-x:hidden}button,a{font:inherit}a{color:inherit;text-decoration:none}.wedding-shell{background:var(--wedding-paper-image) center / cover no-repeat, var(--wedding-paper);overscroll-behavior:none;touch-action:none;height:100vh;min-height:100svh;position:relative;overflow:hidden}.monogram-screen,.section-stack,.wedding-section{position:absolute;inset:0}.monogram-screen{z-index:3;opacity:0;pointer-events:none;background:0 0;place-items:center;transition:opacity .56s,transform .56s;display:grid;transform:scale(.985)}.monogram-screen.is-current{opacity:1;pointer-events:auto;transform:scale(1)}.monogram-screen.is-previous{opacity:0;transform:scale(1.01)}.monogram-box{width:clamp(4.2rem,9vw,6.75rem)}.monogram-logo{width:100%;height:auto;display:block}.section-stack{z-index:2;pointer-events:none}.wedding-section{padding:var(--edge-space);opacity:0;pointer-events:none;align-items:center;padding-right:clamp(5rem,10vw,9rem);transition:opacity .56s,transform .56s;display:flex;transform:translateY(18px)}.wedding-section--with-art{padding:clamp(4.75rem, 13svh, 8.5rem) clamp(5rem, 8vw, 8rem) var(--edge-space);justify-content:center;align-items:flex-start}.wedding-section.is-current{z-index:2;opacity:1;pointer-events:auto;transform:translateY(0)}.wedding-section.is-previous{z-index:1;opacity:0;transform:translateY(-10px)}.section-inner{z-index:1;width:min(720px,100%);position:relative}.wedding-section--with-art .section-inner{text-align:center;text-shadow:0 0 1px #f3edda,0 0 4px #f3edda,0 0 9px #f3eddaf2,0 0 18px #f3eddae0,0 1px 2px #f3eddae6;width:min(640px,100%)}.section-art{z-index:0;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;height:min(88svh,70vw,946px);position:absolute;top:50%;left:50%;transform:translate(-50%,-44%)}.wedding-section--invitation{padding:clamp(3.5rem,8.45svh,7rem) clamp(5rem,8vw,8rem) clamp(3rem,8svh,6rem)}.wedding-section--invitation .section-art{height:100svh;max-height:none;top:50%;transform:translate(-50%,-50%)}.wedding-section--invitation .section-inner{text-align:center;width:min(620px,100%);text-shadow:none}.wedding-section--invitation .text-list--compact{gap:clamp(.16rem,.44svh,.34rem);max-width:none}.wedding-section--invitation .text-list--compact .text-line{font-size:clamp(.94rem,1.35vw,1.02rem);font-weight:600;line-height:1.55}.wedding-section--invitation .text-list--compact .text-line--small{font-size:clamp(.78rem,1.08vw,.92rem);line-height:1.6}.wedding-section--invitation .text-list--compact .text-line--name{font-size:clamp(1.18rem,1.85vw,1.72rem);font-weight:700;line-height:1.18}.wedding-section--invitation .text-list--compact .text-line--ampersand{margin-top:clamp(.15rem,.55svh,.5rem);font-size:clamp(.9rem,1.42vw,1.24rem);font-weight:700;line-height:1.2}.wedding-section--invitation .text-list--compact .text-line--spaced{margin-top:clamp(.55rem,1.45svh,1.25rem)}.wedding-section--event{--event-copy-color:var(--wedding-ink);--event-copy-top:27.3svh;padding:var(--event-copy-top) clamp(5rem, 8vw, 8rem) 0;justify-content:center;align-items:flex-start}.wedding-section--copy-top{--event-copy-top:11.7svh}.wedding-section--copy-center{--event-copy-top:27.3svh}.wedding-section--copy-breakfast{--event-copy-top:21.75svh}.wedding-section--light{--event-copy-color:#fffaf0}.wedding-section--dark{--event-copy-color:var(--wedding-ink)}.wedding-section--event .section-art{height:100svh;max-height:none;top:50%;transform:translate(-50%,-50%)}.wedding-section--event .section-inner{width:min(620px,100%);color:var(--event-copy-color);text-align:center;text-shadow:none}.wedding-section--event .text-list--compact{gap:clamp(.12rem,.28svh,.25rem);max-width:none}.wedding-section--event .text-list--compact .text-line{font-size:clamp(.94rem,1.35vw,1.02rem);font-weight:600;line-height:1.55}.wedding-section--event .text-list--compact .text-line--lead{margin-bottom:clamp(.25rem,.68svh,.55rem);font-size:clamp(1.18rem,1.85vw,1.72rem);font-weight:700;line-height:1.18}.wedding-section--event .section-actions{justify-content:center;margin-top:clamp(1.2rem,2.8svh,2rem)}.wedding-section--event .section-actions a{min-height:auto;font-weight:700;line-height:1.25}.date-label,.text-line,.section-actions{margin:0}.text-list{gap:clamp(1rem,2.2vw,1.85rem);max-width:610px;display:grid}.wedding-section--with-art .text-list{margin-inline:auto}.text-line{font-size:clamp(.98rem,1.85vw,1.34rem);line-height:1.78}.text-list .text-line--lead{opacity:1;font-size:clamp(1rem,1.75vw,1.28rem);font-weight:600;line-height:1.7}.section-groups{gap:clamp(2.3rem,4.5vw,3.6rem);max-width:640px;display:grid}.section-group{gap:clamp(.55rem,1.2vw,.9rem);display:grid}.date-label{opacity:.62;font-size:clamp(.72rem,1.15vw,.86rem);line-height:1.6}.text-list--compact{gap:clamp(.32rem,.78vw,.62rem)}.text-list--compact .text-line{font-size:clamp(.82rem,1.35vw,1rem);line-height:1.62}.text-list--compact .text-line--lead{opacity:1;font-size:clamp(1rem,1.75vw,1.28rem);font-weight:600;line-height:1.7}.section-actions{flex-wrap:wrap;gap:1rem;margin-top:clamp(2.2rem,5vw,4rem);display:flex}.wedding-section--with-art .section-actions{justify-content:center;margin-top:clamp(1.2rem,2.6vw,2rem)}.wedding-section--invitation .section-actions--floating{z-index:1;justify-content:center;margin-top:0;position:absolute;bottom:clamp(5.25rem,11svh,9.6rem);left:50%;transform:translate(-50%)}.section-actions a{border-bottom:2px solid;align-items:center;min-height:42px;font-size:clamp(.88rem,1.5vw,1rem);line-height:1.6;display:inline-flex}.wedding-section--invitation .section-actions--floating a{border-bottom-width:3px;min-height:auto;font-size:clamp(.95rem,1.35vw,1.42rem);font-weight:700;line-height:1.25}.section-actions a:focus-visible,.nav-rail:focus-visible{outline:2px solid var(--wedding-ink);outline-offset:8px}.nav-items button:focus-visible{outline:0}.nav-items button:focus-visible span{outline:2px solid var(--wedding-ink);outline-offset:.28rem}.section-nav{--nav-track-height:min(48vh, 390px);z-index:5;width:clamp(12rem,18vw,16rem);height:calc(var(--nav-track-height) + 5rem);opacity:1;justify-content:flex-end;align-items:center;padding:2.5rem clamp(.4rem,1vw,.75rem) 2.5rem 2.5rem;transition:opacity .28s;display:flex;position:fixed;top:50%;right:clamp(.6rem,2.4vw,2rem);transform:translateY(-50%)}.section-nav[aria-hidden=true]{opacity:0;pointer-events:none}.nav-rail{width:4px;height:var(--nav-track-height);cursor:pointer;background:0 0;border:0;border-radius:0;min-height:190px;padding:0;position:relative}.nav-rail-indicator{width:4px;height:calc(100% / var(--section-count));background:var(--wedding-ink);transform:translateY(calc(var(--active-index) * 100%));transition:height .22s,transform .32s;position:absolute;top:0;right:0}.nav-items{grid-template-rows:repeat(var(--section-count), 1fr);height:var(--nav-track-height);opacity:1;pointer-events:none;justify-items:end;min-width:9.5rem;min-height:190px;display:grid;position:absolute;top:50%;right:1.65rem;transform:translateY(-50%)}.section-nav.is-open .nav-items{pointer-events:auto}.nav-items button{width:100%;height:100%;color:var(--wedding-ink);cursor:pointer;opacity:0;pointer-events:none;text-align:right;background:0 0;border:0;justify-content:flex-end;align-items:center;padding:0;transition:opacity .22s,transform .22s;display:flex;transform:translate(.42rem)}.nav-items button.active{opacity:1;transform:translate(0)}.section-nav.is-open .nav-items button{opacity:.42;pointer-events:auto;transform:translate(0)}.section-nav.is-open .nav-items button.active{opacity:1}.section-nav.is-open .nav-items button:hover{opacity:.82}.nav-items span{font-size:.72rem;line-height:1.7;display:inline-block}@media (max-width:680px){:root{--edge-space:clamp(1.35rem, 7vw, 2.2rem)}.wedding-section{align-items:flex-start;padding-top:16vh;padding-right:4.75rem}.wedding-section--with-art{padding:clamp(7.5rem,18svh,10.75rem) clamp(4.15rem,12vw,5rem) clamp(1.8rem,7svh,3rem) clamp(1.35rem,7vw,2.2rem)}.wedding-section--invitation{padding:clamp(1.6rem,5.4svh,3rem) clamp(4.15rem,12vw,5rem) clamp(1.8rem,7svh,3rem) clamp(1.2rem,6vw,2rem)}.section-art{height:min(54svh,96vw,440px);top:51.5%;transform:translate(-50%,-60%)}.wedding-section--invitation .section-art{height:min(66svh,116vw,520px);top:58%;transform:translate(-50%,-48%)}.wedding-section--event{padding:var(--event-copy-top) clamp(4.15rem, 12vw, 5rem) 0 clamp(1.35rem, 7vw, 2.2rem)}.wedding-section--event.wedding-section--copy-top{--event-copy-top:11svh}.wedding-section--event.wedding-section--copy-center{--event-copy-top:25svh}.wedding-section--event.wedding-section--copy-breakfast{--event-copy-top:21svh}.wedding-section--event .section-art{height:min(92svh,156vw,680px);max-height:none;top:50%;transform:translate(-50%,-50%)}.section-inner{width:calc(100% - .8rem)}.wedding-section--with-art .section-inner{width:min(100%,24rem)}.wedding-section--invitation .section-inner,.wedding-section--event .section-inner{width:min(100%,22.5rem)}.text-line{font-size:clamp(.9rem,4.3vw,1.08rem)}.wedding-section--with-art .text-list--compact .text-line{font-size:clamp(.78rem,3.6vw,.96rem);line-height:1.52}.wedding-section--with-art .text-list--compact .text-line--lead{font-size:clamp(.9rem,4vw,1.08rem)}.wedding-section--invitation .text-list--compact{gap:clamp(.05rem,.22svh,.14rem)}.wedding-section--invitation .text-list--compact .text-line{font-size:clamp(.64rem,2.55vw,.8rem);line-height:1.36}.wedding-section--invitation .text-list--compact .text-line--small{font-size:clamp(.56rem,2.2vw,.68rem)}.wedding-section--invitation .text-list--compact .text-line--name{font-size:clamp(.88rem,3.45vw,1.06rem);line-height:1.28}.wedding-section--invitation .text-list--compact .text-line--ampersand{margin-top:clamp(.24rem,.86svh,.5rem);font-size:clamp(.7rem,2.8vw,.86rem)}.wedding-section--invitation .text-list--compact .text-line--spaced{margin-top:clamp(.4rem,1.2svh,.74rem)}.wedding-section--event .text-list--compact{gap:clamp(.08rem,.32svh,.2rem)}.wedding-section--event .text-list--compact .text-line{font-size:clamp(.68rem,2.8vw,.88rem);line-height:1.42}.wedding-section--event .text-list--compact .text-line--lead{margin-bottom:clamp(.16rem,.58svh,.42rem);font-size:clamp(.9rem,3.8vw,1.15rem);line-height:1.22}.wedding-section--with-art .section-actions{margin-top:.35rem}.wedding-section--with-art .section-actions a{min-height:32px}.wedding-section--invitation .section-actions--floating{bottom:clamp(1.45rem,5.2svh,2.75rem)}.wedding-section--invitation .section-actions--floating a{min-height:auto;font-size:clamp(.82rem,3.2vw,1rem)}.section-nav{--nav-track-height:38vh;width:10.5rem;height:calc(var(--nav-track-height) + 4rem);padding:2rem .45rem 2rem 2rem;right:.85rem}.nav-rail{min-height:150px}.nav-items{min-width:7.5rem;min-height:150px;right:1.45rem}.section-nav.is-open .nav-items button:hover{opacity:.42}.section-nav.is-open .nav-items button.active:hover{opacity:1}.nav-items span{font-size:.64rem}}@media (max-width:900px){.wedding-section--with-art{--responsive-copy-inline:clamp(1.5rem, 8vw, 4rem);--responsive-image-inline:clamp(1.25rem, 6.5vw, 3.75rem);grid-template-rows:minmax(0,39%) minmax(0,61%);grid-template-columns:minmax(0,1fr);place-items:center;gap:0;padding:0;display:grid}.wedding-section--with-art .section-inner{width:min(620px, calc(100vw - var(--responsive-copy-inline) - var(--responsive-copy-inline)));color:var(--wedding-ink);text-shadow:none;order:1;grid-row:1;place-self:center}.wedding-section--with-art .section-art{width:min(720px, calc(100vw - var(--responsive-image-inline) - var(--responsive-image-inline)), 62.9svh);object-fit:contain;order:2;grid-row:2;place-self:center;height:auto;max-height:none;display:block;position:static;transform:none}.wedding-section--invitation{grid-template-rows:minmax(0,49%) minmax(0,33%) minmax(0,18%)}.wedding-section--invitation .section-art{grid-row:2}.wedding-section--event{--event-copy-color:var(--wedding-ink)}.wedding-section--event:not(.wedding-section--with-art){justify-content:center;align-items:center;padding:0 clamp(1.5rem,8vw,4rem)}.wedding-section--with-art .section-actions{order:3;grid-row:2;margin-top:0}.wedding-section--invitation .section-actions--floating{order:3;grid-row:3;place-self:center;margin-top:0;position:static;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
