/* Shared vertical rhythm after removing the floral decorations. */
:root{--section-space:72px;--content-gap:24px;--heading-gap:32px}
main>.invitation,main>.schedule,main>.moments,main>.location,main>.yuki,main>.farewell{padding-top:var(--section-space);padding-bottom:var(--section-space);margin-top:0;margin-bottom:0;min-height:0}
main>.invitation,main>.schedule,main>.moments,main>.location,main>.yuki,main>.farewell{padding-left:clamp(24px,5vw,72px);padding-right:clamp(24px,5vw,72px)}
.section-head,.moments .section-head{margin:0 auto var(--heading-gap)}
.section-head .eyebrow,.invitation>.eyebrow,.location>.eyebrow,.yuki-copy>.eyebrow,.farewell>.eyebrow{margin:0;line-height:1.8}
.section-head h2,.invitation h2,.location h2,.yuki h2,.farewell h2{line-height:1.65;margin:12px 0 16px}
.section-head p{margin:0;line-height:1.95}
.section-head .gallery-hint{margin-top:12px!important}
.invitation{max-width:940px}
.invitation:before,.yuki-copy:before,.farewell:before,.countdown:before{width:180px;height:60px;margin:0 auto var(--content-gap)}
.invitation>p{margin:var(--content-gap) auto;line-height:2}
.invitation>p:last-of-type{margin-bottom:0}
.invitation .names{margin:28px 0;padding:24px 0}
.family{margin-top:28px;padding:0;gap:24px;line-height:2}
.countdown{padding:40px 24px}
.countdown:before{width:150px;height:50px;margin-bottom:16px}
.clock{margin:20px auto 0}
.events{margin-top:0;gap:20px}
.event{padding-top:24px;padding-bottom:24px}
.event:before{height:105px;margin:0 auto 12px}
.event small{margin:0 0 8px}
.event time{margin:0 0 12px}
.wedding-gallery{padding-top:16px;padding-bottom:16px;gap:48px 48px}
.location h3{margin:24px 0 16px;line-height:1.5}
.location>p{margin:0 auto;line-height:2}
.actions{margin-top:28px;gap:16px}
.yuki-copy{padding:0;max-width:650px}
.yuki p{margin:0;line-height:2}
.yuki .signature{margin:24px 0 20px}
.yuki-portrait{width:86%;max-width:450px;margin:0 auto;padding:0}
.farewell p{margin:0 auto;line-height:2}
.full-wedding-cover{padding-bottom:48px}
.real-family-cover .real-cover-art{padding-top:120px;padding-bottom:0}
.real-cover-kicker{margin:0 0 16px}
.real-cover-copy h1{margin:0 0 16px}
.real-cover-date{margin:0}
.real-cover-place{margin:8px 0 24px}
.real-cover-family{margin-top:0}
.cover-actions{padding-top:24px;gap:16px}
footer{padding:24px}
@media(max-width:700px){
 :root{--section-space:48px;--content-gap:20px;--heading-gap:28px}
 main>.invitation{margin-left:0;margin-right:0}
 main>.moments{padding-left:20px;padding-right:20px}
 .invitation:before,.yuki-copy:before,.farewell:before{width:150px;height:50px}
 .invitation .names{margin:24px 0;padding:20px 0}
 .family{margin-top:24px;gap:16px}
 .countdown{padding:32px 20px}
 .clock{margin-top:20px}
 .events{gap:16px}
 .event{padding:20px 16px;row-gap:4px}
 .event:before{height:90px;margin:0}
 .event time{margin:0}
 .wedding-gallery{padding:12px 4px;gap:32px 18px}
 .actions{margin-top:24px;gap:12px}
 .yuki .signature{margin:20px 0 16px}
 .yuki-portrait{max-width:360px;padding:0}
 .full-wedding-cover{padding-bottom:32px}
 .real-family-cover .real-cover-art{padding-top:96px;padding-bottom:0}
 .real-cover-kicker{margin-bottom:12px}
 .real-cover-copy h1{margin:0 0 12px}
 .real-cover-place{margin:8px 0 20px}
 .real-cover-family{margin-top:0}
 .cover-actions{padding-top:20px;gap:12px}
 footer{padding:24px 20px calc(92px + env(safe-area-inset-bottom))}
}
