html,body{margin:0!important;padding:0!important;min-height:100%;height:auto!important;background:#faf9df;scroll-behavior:smooth}html{overflow-x:clip!important;overflow-y:auto!important}body{position:static!important;width:100%!important;overflow:visible!important;touch-action:auto!important}.desktop-photo{display:none}#invitation{width:100%;max-width:480px;margin:0 auto;overflow:clip;background:#faf9df}#artwork{width:390px;transform-origin:top left}#artwork>section{width:390px!important;min-height:0!important;position:relative;margin:0!important;overflow:hidden}#artwork>section[hidden]{display:none!important}iframe{border:0}a:focus-visible,button:focus-visible{outline:3px solid #b30060;outline-offset:5px}.music-toggle{position:fixed;right:16px;bottom:16px;z-index:20;border:1px solid #365b27;border-radius:50%;width:44px;height:44px;background:#faf9df;color:#365b27;font-size:21px;cursor:pointer;box-shadow:0 3px 14px #365b2720}.music-message{position:fixed;bottom:66px;right:16px;background:#faf9df;color:#365b27;max-width:250px;padding:8px;font:12px/1.5 sans-serif;z-index:20}.music-message:empty{display:none}@media(min-width:600px){#invitation{box-shadow:0 0 60px #365b2718}}@media(prefers-reduced-motion:reduce){html,body{scroll-behavior:auto!important}*{animation:none!important;transition:none!important}}
.interactive-link{transition:filter .2s ease,opacity .2s ease}.interactive-link:hover{filter:brightness(1.18)}.interactive-link:active{opacity:.7}.music-toggle{transition:scale .2s ease,box-shadow .2s ease}.music-toggle:hover{scale:1.09;box-shadow:0 5px 18px #365b2733}.music-toggle:active{scale:.93}.music-toggle[aria-pressed=true]{animation:music-breathe 2s ease-in-out infinite}@keyframes music-breathe{50%{box-shadow:0 0 0 7px #365b2718}}@media(prefers-reduced-motion:reduce){.music-toggle{animation:none!important}}
/* AOS custom fade-up uses translate to preserve the artwork's own transforms. */
.aos-position{position:absolute;left:0;width:0;height:0;pointer-events:none}
[data-aos="invitation-up"]{opacity:0;translate:0 20px;transition-property:opacity,translate}
[data-aos="invitation-up"].aos-animate{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){[data-aos="invitation-up"]{opacity:1!important;translate:none!important;transition:none!important}}
/* The cover is the only reachable section until the guest opens the invitation. */
html:not(.invitation-open){overflow:hidden!important;height:100dvh!important;scroll-behavior:auto}
body:not(.invitation-open){overflow:hidden!important;height:100dvh!important;min-height:0!important;overscroll-behavior:none}
body:not(.invitation-open) #invitation{height:100dvh;overflow:hidden!important}
body:not(.invitation-open) #artwork>section:not(:first-child){display:none!important}
body:not(.invitation-open) .music-toggle,body:not(.invitation-open) .music-message{display:none}
html.invitation-open{overflow-y:auto!important}
.cover-guest{position:absolute;top:18px;left:24px;right:24px;z-index:5;text-align:center;color:#345b26;font:10px/1.5 Georgia,serif;pointer-events:none}.cover-guest strong{display:block;margin-top:4px;font:18px/1.25 Georgia,serif;color:#9d0251;overflow-wrap:anywhere}

/* Guest name belongs with the invitation greeting. */
.cover-guest{top:auto;bottom:calc(100% + 8px);left:-60px;right:-60px;color:#fff;font:26px/1.2 Georgia,serif}.cover-guest strong{margin:0;font:26px/1.2 Georgia,serif;color:#fff;overflow-wrap:anywhere}
/* Compact cover composition and a dedicated, readable guest-name row. */
#PB6DycmJyyljn6bv>.cover-composition{position:relative;transform:translateY(-64px)}
#PB6DycmJyyljn6bv .cover-guest{top:609px;bottom:auto;left:65px;right:65px;font-size:16px}
#PB6DycmJyyljn6bv .cover-guest strong{font:16px/1.2 Georgia,serif;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.cover-invited-line{translate:0 26px}
#PB6DycmJyyljn6bv .cover-open-group{margin-top:20px}
.cover-invited-line{translate:0 6px}
#PB6DycmJyyljn6bv .cover-open-group{margin-top:0}
#PB6DycmJyyljn6bv .cover-guest strong{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
