/* V2 layered character motion: real arm cutout and independent guest groups. */
.cover-petals,.wave-lines{display:none}
.dance-crowd{min-height:0;margin:28px auto 0}
.dance-crowd-main{width:100%;max-width:620px}
.dance-crowd-day{width:92%;max-width:550px}
.dance-crowd-linger{width:76%;max-width:420px}
.dance-stage{position:relative;width:100%;min-height:420px;background:transparent;cursor:zoom-in}
.dance-crowd-day .dance-stage{min-height:320px}
.dance-crowd-linger .dance-stage{min-height:225px}
.dance-stage .dance-sprite{position:absolute;display:block;height:auto;max-width:none;transform-origin:center bottom;filter:drop-shadow(0 1px 0 rgba(0,0,0,.06));will-change:transform}
.dance-stage .d1{width:29%;left:1%;top:4%;animation:dance-a 1.8s ease-in-out infinite}
.dance-stage .d2{width:31%;left:24%;top:0;animation:dance-b 2.1s ease-in-out .2s infinite}
.dance-stage .d3{width:28%;left:50%;top:4%;animation:dance-c 1.9s ease-in-out .1s infinite}
.dance-stage .d4{width:24%;left:73%;top:8%;animation:dance-d 2.2s ease-in-out .3s infinite}
.dance-stage .d5{width:27%;left:4%;top:42%;animation:dance-b 1.9s ease-in-out .15s infinite}
.dance-stage .d6{width:32%;left:23%;top:46%;animation:dance-d 2.25s ease-in-out infinite}
.dance-stage .d7{width:28%;left:49%;top:40%;animation:dance-a 2s ease-in-out .12s infinite}
.dance-stage .d8{width:24%;left:72%;top:44%;animation:dance-c 1.75s ease-in-out .18s infinite}
.dance-stage .d9{width:18%;left:41%;top:18%;animation:dance-b 1.7s ease-in-out .35s infinite;opacity:.96}
.dance-stage .d10{width:18%;left:80%;top:64%;animation:dance-a 1.9s ease-in-out .22s infinite;opacity:.96}
.dance-crowd-linger .d1{width:36%;left:0;top:5%}
.dance-crowd-linger .d2{width:40%;left:29%;top:0}
.dance-crowd-linger .d3{width:35%;left:64%;top:6%}
@keyframes dance-a{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}
@keyframes dance-b{0%,100%{transform:translateY(2px) rotate(1deg)}50%{transform:translateY(-10px) rotate(-1deg)}}
@keyframes dance-c{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.02)}}
@keyframes dance-d{0%,100%{transform:translateY(0) rotate(.6deg)}50%{transform:translateY(-11px) rotate(-.6deg)}}
@media(max-width:600px){.dance-stage{min-height:340px}.dance-crowd-day .dance-stage{min-height:270px}.dance-crowd-linger .dance-stage{min-height:190px}.dance-crowd-main{width:calc(100% + 16px);margin-left:-8px}}
@media(prefers-reduced-motion:reduce){.cover-art .couple-stage,.cover-art .couple-arm,.dance-stage .dance-sprite{animation:none!important}}

/* Reduced horizontal guest groups. */
.dance-stage{display:flex;align-items:flex-end;justify-content:center;gap:4%;min-height:0!important}
.dance-stage .dance-sprite{position:relative!important;left:auto!important;top:auto!important;width:48%!important;max-width:48%!important;flex:0 1 48%;opacity:1}
.dance-crowd-day .dance-sprite,.dance-crowd-linger .dance-sprite{width:68%!important;max-width:360px!important;flex-basis:68%}

/* Venue details and relocated map guidance. */
@font-face{font-family:'Wedding Pencil Venue';src:url('/fonts/WeddingPencilVenue.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
.venue-hall{margin:20px auto 8px!important;color:var(--red);font-family:'Wedding Pencil Venue','Wedding Pencil','Kaiti SC',cursive;font-size:20px;font-weight:400;letter-spacing:.08em}
.venue-map-link{display:inline-block;margin:0 auto 4px;font-family:'Wedding Pencil','Kaiti SC',cursive;font-size:16px}

/* Compact first screen for WeChat without overlaying the names or date. */
@media(max-width:600px){
 .paper{padding-top:18px}
 .masthead{padding-bottom:8px}
 .cover{padding-top:8px;padding-bottom:36px}
 .cover>.eyebrow:first-child{margin:6px 0 10px}
 .cover-art.has-image{width:92%;max-width:none;margin:0 auto 18px}
 .cover .marriage{margin:8px 0 4px}
 .cover .names{margin:4px 0}
 .cover .cover-date{margin:2px 0 0}
 .cover .scroll-note{position:static;display:inline-flex;flex-direction:row;gap:7px;align-items:center;margin:12px auto 0;padding:8px 13px 7px;border:1px solid rgba(147,69,52,.35);border-radius:999px;background:rgba(250,247,239,.72);color:var(--red);font-size:14px;line-height:1;box-shadow:none;transform:none}
 .cover .scroll-note span{font-size:17px;line-height:1}
}
