/* One spacing rhythm and a restrained palette across all six pages. */
:root{--section-space:clamp(80px,9vw,132px);--module-gap:clamp(28px,3.5vw,52px);--panel-pad:clamp(28px,3vw,44px);--hairline:rgba(47,93,58,.2);--panel-shadow:none}
body{line-height:1.75}
.site-header{background:rgba(241,232,216,.97)}
.header-inner{border-bottom-color:var(--hairline)}
.brand-seal{color:var(--forest);border-color:var(--hairline)}
.section-number,.anticipation-copy .eyebrow,.hub-heading .eyebrow,.questions-heading .eyebrow,.venue-title-block>.eyebrow,.venue-details>.eyebrow{color:var(--forest)}
.section{padding-block:var(--section-space)}
body:not([data-page=home]) main>.section:first-child{padding-top:clamp(64px,7vw,100px)}
.page-masthead{margin-bottom:clamp(64px,7vw,100px);gap:16px;padding-bottom:24px}
.page-masthead .page-heading{line-height:1.14}
.page-masthead .chapter-note{line-height:1.6}
.hero{padding-bottom:36px}
.hero:before{display:none}
.hero-bottom{gap:32px;padding:32px;border-color:var(--hairline);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--cream);margin-top:12px}
.hero-top{padding-top:38px}
.hero-address{line-height:1.75}
.hero-date .date-line{line-height:1.3}
.anticipation{padding-block:var(--section-space) 0;gap:var(--module-gap)}
.anticipation h2,.hub-heading h2,.questions-heading h2{line-height:1.12}
.countdown-panel{padding:32px 24px;background:var(--cream);border-color:var(--hairline);box-shadow:none}
.countdown-units{gap:0}
.countdown-units>div{padding:12px 8px;border:0;border-radius:0}
.countdown-units>div+div{border-left:1px solid var(--hairline)}
.countdown-caption{margin-top:24px;padding-top:16px;border-top:1px solid var(--hairline)}
.chapter-index{padding-block:var(--section-space)}
.hub-heading{gap:var(--module-gap);margin-bottom:var(--module-gap);align-items:center}
.hub-heading>p{max-width:40ch;line-height:1.75}
.chapter-links{gap:28px}
.chapter-link{border-color:var(--hairline);box-shadow:none}
.chapter-link:hover,.chapter-link:focus-visible{box-shadow:none}
.hub-card-content{padding:var(--panel-pad);gap:30px}
.chapter-link h3{line-height:1.14;margin-bottom:18px}
.chapter-link p{line-height:1.7}
.hub-rueckantwort{border-color:var(--forest)}
.introduction{padding-bottom:clamp(64px,7vw,100px)}
.intro-layout{gap:var(--module-gap)}
.display-copy,.reply-heading .display-copy{line-height:1.1}
.intro-copy{max-width:40ch;line-height:1.8}
.intro-copy p+p{margin-top:26px}
.intro-copy .text-link{margin-top:28px}
.memories{padding-top:0;padding-bottom:var(--section-space);border-bottom-color:var(--hairline)}
.has-photos .memories.library-mode{gap:28px}
.album-toolbar{margin-bottom:12px;padding-bottom:24px;border-bottom:1px solid var(--hairline)}
.album-library{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.library-photo img{border-radius:8px}
.library-year{min-height:32px;line-height:32px}
.interlude{padding-block:64px 32px}
.interlude-track{font-size:clamp(2.5rem,5vw,5rem);line-height:1.3;gap:100px}
.day-layout{gap:clamp(40px,7vw,100px)}
.day-date{box-shadow:none}
.day-declaration{font-size:clamp(2.7rem,4.1vw,4.5rem);line-height:1.15;margin-bottom:40px}
.schedule:before{background:var(--hairline)}
.schedule-item{padding:0;min-height:0;margin-bottom:28px;gap:22px}
.schedule-item>div{padding:30px;border-color:var(--hairline);box-shadow:none}
.schedule-item h3{line-height:1.2;margin-bottom:16px}
.schedule-item p{max-width:40ch;line-height:1.75}
.schedule-number{color:var(--forest);padding:0;margin-top:30px}
.schedule-note{line-height:1.7;margin-top:30px}
.guest-questions{padding-top:24px;padding-bottom:var(--section-space);gap:var(--module-gap)}
.question{border-color:var(--hairline);box-shadow:none}
.question+.question{margin-top:24px}
.question summary{padding:26px 28px;line-height:1.3}
.question-answer{padding:0 28px 28px;max-width:60ch;line-height:1.8}
.venue-layout{row-gap:var(--module-gap)}
.venue-heading{align-items:start;column-gap:var(--module-gap)}
.venue-heading h3{line-height:1.08}
.venue-details{padding:var(--panel-pad);border-color:var(--hairline);box-shadow:none}
.venue-name{line-height:1.5}
.venue-details address{margin-top:20px;line-height:1.8}
.venue-image>img{filter:none}
.location-media{margin-top:var(--section-space)}
.location-media-heading{margin-bottom:40px}
.location-media-heading h2{line-height:1.15}
.location-photo-grid{gap:40px}
.location-media figcaption{margin-top:16px;line-height:1.65}
.location-film{margin-top:64px}
.travel-details{margin-top:var(--section-space);padding-top:0;border-top:0;gap:32px}
.travel-details>div{padding:var(--panel-pad);border-color:var(--hairline);box-shadow:none}
.travel-details h3{margin-bottom:18px;line-height:1.2}
.travel-details p{line-height:1.8;max-width:46ch}
.reply-layout{gap:var(--module-gap);align-items:start}
.reply-heading .display-copy{font-size:clamp(3.5rem,6.5vw,6.8rem)}
#rsvp-intro{max-width:35ch;margin-top:36px;line-height:1.8}
.rsvp-content{width:100%;padding:var(--panel-pad);border-color:var(--hairline);box-shadow:none}
.reply-card-heading{gap:20px;padding-bottom:28px;margin-bottom:36px;border-bottom-color:var(--hairline);flex-wrap:wrap}
.field{gap:12px;margin-bottom:32px}
.field label{line-height:1.6}
.field input,.field textarea{border-color:rgba(47,93,58,.4)}
.attendance{gap:16px;margin-bottom:32px}
.attendance label{line-height:1.65}
.mail-note{line-height:1.75;margin-bottom:28px}
.photo-invitation{padding:clamp(32px,5vw,64px);gap:var(--module-gap);border-color:var(--hairline);box-shadow:none}
.photo-invitation>.display-copy{font-size:clamp(2.8rem,4.5vw,5rem);line-height:1.16}
.photo-invitation>div{line-height:1.8;max-width:42ch}
.photo-invitation .button{margin-top:32px}
.page-next{padding-block:24px 72px}
.next-chapter{padding-top:32px;border-top:1px solid var(--hairline)}
.next-title{line-height:1.2;margin-top:20px}
.next-chapter>.eyebrow{color:var(--forest)}
.site-footer{margin-top:32px;padding-top:40px;border-top-color:var(--hairline)}
.footer-names{font-size:clamp(3.5rem,11vw,10rem);padding-block:40px;line-height:1.3}
.footer-bottom{padding-block:24px;border-top-color:var(--hairline)}
@media(min-width:701px) and (max-width:1100px){.chapter-links{grid-template-columns:1fr 1fr}.hub-der-ort{grid-column:auto;grid-row:auto}.hub-fotos{grid-column:1/-1}.hub-venue-photo{height:220px;min-height:0}.venue-heading{grid-template-columns:1.1fr 1fr}.venue-heading h3{font-size:clamp(3rem,5.2vw,4.3rem)}.attendance{grid-template-columns:1fr}}
@media(max-width:900px){.album-library{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media(max-width:700px){
 :root{--section-space:80px;--module-gap:36px;--panel-pad:28px}
 .hero{padding-bottom:12px}.hero-top{padding-top:24px}.hero-stage{height:460px}.hero-bottom{margin-top:0;padding:28px 24px;gap:28px}
 .hero-address{padding-top:24px;border-color:var(--hairline)}
 .anticipation{gap:36px}.anticipation-copy{display:block}.anticipation-copy .eyebrow{margin:0 0 18px}.anticipation h2{font-size:3rem}
 .countdown-panel{padding:24px 16px}.countdown-units>div{padding:10px 4px}.countdown-value{font-size:3.3rem}
 .chapter-links{gap:24px}.hub-card-content{gap:28px}.hub-heading{gap:28px;margin-bottom:36px}.hub-venue-photo{height:240px}
 body:not([data-page=home]) main>.section:first-child{padding-top:56px}body:not([data-page=home]) .page-masthead{margin-bottom:64px}
 .page-masthead .page-heading{font-size:clamp(2.65rem,10vw,3.5rem)}.intro-layout{gap:40px}.intro-copy{max-width:100%}
 .album-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.album-toolbar{align-items:center;gap:16px}.album-library-title{font-size:1.8rem}.album-view-toggle{padding-inline:12px}
 .interlude{padding-block:52px 24px}.interlude-track{font-size:2.8rem}
 .day-layout{gap:56px}.day-date{width:100%;margin-inline:auto}.day-declaration{font-size:3rem}.schedule-item{gap:14px;margin-bottom:24px}.schedule-item>div{padding:26px 22px}.schedule-item h3{font-size:2rem}.schedule-note{padding-left:46px}
 .guest-questions{padding-top:0;gap:36px}.question summary{padding:24px;font-size:1.5rem}.question-answer{padding:0 24px 26px}
 .venue-layout{gap:40px}.venue-heading{gap:36px}.venue-heading h3{font-size:clamp(3rem,10.5vw,4rem)}.venue-name{font-size:1.2rem}.venue-figure figcaption{line-height:1.6}
 .location-photo-grid{gap:36px}.location-media-heading{margin-bottom:32px}.location-media-heading h2{font-size:2.7rem}.location-film{margin-top:48px}.travel-details{gap:28px}
 .reply-layout{gap:48px}.reply-heading .display-copy{font-size:clamp(3.6rem,13vw,5.2rem)}.rsvp-content{padding:30px 24px}.reply-card-heading{margin-bottom:32px}.field{margin-bottom:28px}
 .photo-invitation{gap:36px}.photo-invitation>.display-copy{font-size:clamp(2.5rem,9.7vw,3.5rem)}
 .page-next{padding-block:16px 56px}.next-title{font-size:clamp(2.3rem,8vw,3rem)}.site-footer{margin-top:24px;padding-top:32px}.footer-top{gap:20px;flex-wrap:wrap}.footer-names{font-size:12vw;padding-block:36px}.footer-bottom{gap:16px}
}
@media(max-width:380px){.hero-stage{height:420px}.countdown-value{font-size:2.8rem}.rsvp-content{padding:26px 20px}.schedule-item>div{padding:24px 18px}.photo-invitation{padding:28px 22px}}

/* A little more vertical breathing room; keep the approved widths and styling. */
:root{--section-space:clamp(92px,10vw,148px)}
body:not([data-page=home]) .page-masthead{margin-bottom:clamp(76px,8vw,112px)}
.introduction{padding-bottom:clamp(76px,8vw,112px)}
.chapter-links{row-gap:40px}
.hub-heading{margin-bottom:calc(var(--module-gap) + 12px)}
.has-photos .memories.library-mode{row-gap:40px}
.intro-layout,.reply-layout,.photo-invitation,.venue-layout{row-gap:calc(var(--module-gap) + 12px)}
.schedule-item{margin-bottom:36px}
.question+.question{margin-top:32px}
.location-photo-grid{row-gap:52px}
.location-film{margin-top:76px}
.travel-details{row-gap:44px}
@media(max-width:700px){
 :root{--section-space:92px}
 .chapter-links{row-gap:36px}.hub-heading{margin-bottom:48px}
 .intro-layout,.photo-invitation,.venue-layout{row-gap:48px}
 .reply-layout{row-gap:60px}.venue-heading{row-gap:48px}
 .schedule-item{margin-bottom:32px}.location-photo-grid{row-gap:48px}
 .location-film{margin-top:60px}.travel-details{row-gap:40px}
}
