@import "https://fonts.googleapis.com/css2?family=Inknut+Antiqua:wght@400;500;600;700&display=swap";
:root{--wedding-blue:#0d36a8;--wedding-gold:#ffe44f;--wedding-gold-soft:#ffe44f7a;--wedding-gold-faint:#ffe44f33;--edge-space:clamp(1.25rem, 4vw, 5.25rem)}*{box-sizing:border-box}html{background:var(--wedding-blue);color:var(--wedding-gold);scroll-behavior:smooth;scrollbar-width:none;overflow:hidden}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}body{background:var(--wedding-blue);min-height:100vh;color:var(--wedding-gold);margin:0;font-family:Inknut Antiqua,Georgia,serif;overflow:hidden}button,a{font:inherit}a{color:inherit;text-decoration:none}.wedding-shell{background:var(--wedding-blue);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;background:var(--wedding-blue);opacity:0;pointer-events:none;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{border:4px solid var(--wedding-gold);width:44px;min-height:84px;color:var(--wedding-gold);letter-spacing:0;flex-direction:column;justify-content:center;align-items:center;font-size:1.3rem;line-height:1.35;display:flex}.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.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{width:min(720px,100%)}.date-label,.text-line,.section-actions{margin:0}.text-list{gap:clamp(1rem,2.2vw,1.85rem);max-width:610px;display:grid}.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}.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}.section-actions a:focus-visible,.nav-rail:focus-visible{outline:2px solid var(--wedding-gold);outline-offset:8px}.nav-items button:focus-visible{outline:0}.nav-items button:focus-visible span{outline:2px solid var(--wedding-gold);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-gold);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-gold);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}.section-inner{width:calc(100% - .8rem)}.text-line{font-size:clamp(.9rem,4.3vw,1.08rem)}.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 (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
