:root{--invitation-width:540px}
main{width:min(100%,var(--invitation-width));max-width:var(--invitation-width);margin:0 auto!important}
header,.bottom-nav,.journey-progress{left:50%;width:min(100%,var(--invitation-width));transform:translateX(-50%)}
header{background:none;height:76px;padding:0 15px;align-items:flex-start;padding-top:15px;pointer-events:none}
.header-actions{margin-left:auto;gap:10px}.header-title{display:none}
.bottom-nav{right:auto;box-sizing:border-box}
.desktop-note{left:max(20px,calc(50% - 540px));width:200px}
.music-tip{top:80px;right:max(14px,calc(50% - 252px))}
.witness-line{font-size:14px;letter-spacing:3px;color:#8b7650;margin:13px 0 0;line-height:1.8}
.scripture{padding-top:105px;padding-bottom:75px}
.scripture .hero-lunar{margin-bottom:12px}.scripture .fine-cross{margin-bottom:8px}.scripture blockquote{margin:12px 0}.scripture .divider{margin:17px 0}
.photo-slide{padding-top:132px}.slide-heading{top:91px}
.poster-cover{padding-top:82px}.hero-swipe{bottom:69px}
.second-verse,.waiting-verse,.covenant-page{padding-top:110px}
.celebration{padding-top:100px}.location{padding-top:105px}
.journey-progress{position:fixed;top:0;height:82px;z-index:14;background:linear-gradient(#f5f1ef 85%,#f5f1ef00);padding:8px 106px 0 16px;pointer-events:none}
.journey-track{position:relative;height:68px;--journey:0;--groom-x:0px}
.journey-rail{position:absolute;left:23px;right:23px;top:49px;height:2px;background:#d4d4c2;border-radius:2px}
.journey-fill{display:block;height:100%;width:calc(var(--journey)*100%);background:#a18b5e;border-radius:2px}
.journey-person{position:absolute;top:0;width:48px;height:58px;pointer-events:none;filter:drop-shadow(0 2px 1px #53584112)}
.journey-groom{left:0;transform:translateX(var(--groom-x))}.journey-bride{right:0}
.journey-person svg{display:block;width:100%;height:100%;overflow:visible}
.groom-arm,.bride-arm{transition:opacity .35s}.joined-arm{opacity:0}.is-together .joined-arm{opacity:1}.is-together .solo-arm{opacity:0}
.journey-person .walking-leg{transform-origin:24px 44px}.is-travelling .walking-leg{animation:tiny-steps .4s ease-in-out infinite alternate}
.journey-heart{position:absolute;top:0;right:35px;font:17px Georgia;color:#b78e82;opacity:0;transform:translateY(7px) scale(.5);transition:opacity .5s,transform .5s;pointer-events:none}
.is-together .journey-heart{opacity:1;transform:translateY(-3px) scale(1)}
.journey-status{position:absolute;top:56px;left:0;right:0;text-align:center;font:8px/1.4 var(--serif);color:#8a8978;letter-spacing:2px;margin:0;pointer-events:none}
.journey-range{position:absolute;inset:0;top:0;width:100%;height:56px;margin:0;opacity:0;cursor:ew-resize;pointer-events:auto;touch-action:pan-x}
.journey-track:focus-within{outline:1px solid #b39b72;outline-offset:4px;border-radius:4px}
@keyframes tiny-steps{from{transform:rotate(-8deg)}to{transform:rotate(8deg)}}
@media(max-width:1100px){.desktop-note{display:none}}
@media(max-width:370px){.journey-progress{padding-right:101px;padding-left:12px}.header-actions{gap:8px}.scripture .names{font-size:21px}.scripture h2{font-size:20px}.witness-line{font-size:13px}}
@media(max-height:760px){.scripture{height:auto;min-height:100svh;padding:105px 24px 80px}.scripture .hero-caption{display:none}.scripture .hero-title{display:none}.scripture .date{margin:9px 0 5px}.scripture .hero-lunar{font-size:15px;margin-bottom:9px}.scripture blockquote{font-size:18px;margin:9px 0}.scripture .eyebrow{font-size:8px;margin-bottom:5px}.scripture .body-copy{font-size:11px}.scripture .divider{margin:13px 0}.scripture .invitation{margin-top:10px}.witness-line{margin-top:10px;font-size:12px}.celebration{min-height:790px}.covenant-page{min-height:760px}}
@media(prefers-reduced-motion:reduce){.is-travelling .walking-leg{animation:none}.journey-heart,.groom-arm,.bride-arm{transition:none}}
/* Floating, frameless artwork; the narrower track is centered below the controls. */
.journey-progress{top:52px;height:58px;padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none}.journey-track{width:calc(100% - 132px);max-width:280px;height:57px;margin:0 auto;border:0;background:transparent;box-shadow:none}.journey-track:focus-within{outline:none;border-radius:0}.journey-person{width:38px;height:46px;filter:none}.journey-rail{left:18px;right:18px;top:39px;height:1px}.journey-status{top:45px;font-size:7px;letter-spacing:1.5px}.journey-range{height:48px}.journey-track:has(.journey-range:focus-visible) .journey-rail{height:2px}.journey-heart{right:27px;top:0;font-size:13px}.record:not(.playing):after{content:none;display:none}.record-center{font-size:8px;line-height:1;letter-spacing:-1px}.record:not(.playing) .record-center{padding-left:1px}.record{cursor:pointer;opacity:1;pointer-events:auto}.photo-slide{padding-top:158px}.slide-heading{top:121px}.poster-cover{padding-top:118px}.scripture{padding-top:130px}.music-tip{top:14px;right:max(100px,calc(50% - 160px));background:#f5f1e8e6}.journey-heart{transition:opacity .5s,transform .5s}@media(max-width:370px){.journey-progress{padding:0}.journey-track{width:calc(100% - 120px)}}@media(max-height:760px){.scripture{padding-top:125px}.witness-line{margin-top:8px}}@media(prefers-reduced-motion:reduce){.journey-heart{transition:none}}
.photo-slide{padding-bottom:108px}
