/* A consistent white, editorial layout with comfortable reading sizes. */
:root{--muted:#646863;--line:#e8e4de}
.section{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;padding:80px 64px}
h2{font-size:clamp(44px,4.6vw,68px);line-height:1.08;margin:16px 0 26px}
.eyebrow{font-size:13px;letter-spacing:.17em}
.intro,.story-copy>p,.chapter-panel p,.details-intro p,.details details p,.registry p{font-size:18px;line-height:1.8}
.text-link{font-size:17px;padding-bottom:5px}
header{max-width:1600px;margin:auto;height:88px}nav{font-size:12px;gap:22px}.nav-rsvp{padding:9px 16px}
.invitation{max-width:1120px;padding-top:85px;padding-bottom:40px}.invitation h2{max-width:780px;margin-left:auto;margin-right:auto}.intro{max-width:660px}.signature{font-size:42px;margin-top:22px}
.invitation-grid{margin-top:44px;padding:32px 0;border-top:0}.invitation-grid .eyebrow{font-size:13px}.invitation-divider{height:140px}.invitation-grid h3{font-size:36px}.invitation .quiet{margin-top:20px;font-size:20px}
.countdown{max-width:992px;margin:0 auto;padding:40px 24px 48px;border:0}.countdown h2{font-size:40px;margin-bottom:24px}.countdown-value{font-size:72px}.countdown-clock{max-width:580px;gap:14px}.countdown-label{font-size:13px}.countdown-colon{line-height:1.55}#countdown-note{margin-top:24px}
.rsvp{max-width:1152px;margin:0 auto 0;padding:72px 0;display:grid;grid-template-columns:.8fr 1.2fr;column-gap:64px;align-items:start;border-top:1px solid var(--line);text-align:left}.countdown+.rsvp{padding-top:72px}.address-intro{padding-top:28px}.rsvp .address-intro h2{font-size:clamp(44px,4.6vw,64px);margin:18px 0 24px}.rsvp .address-intro p:not(.eyebrow){font-size:18px;margin:0 0 20px;max-width:380px;line-height:1.8}.rsvp .address-intro .form-help{font-size:16px!important}.rsvp-form{width:100%;margin:0;padding:30px;border:1px solid var(--line);background:#fdfcfb}.rsvp-form legend{font-size:30px;margin-bottom:20px}.rsvp-fields{gap:16px}.rsvp-form input:not([type=radio]){padding:10px}.rsvp-progress{margin-bottom:24px}.rsvp-actions{margin-top:24px}#rsvp-success{margin:0;width:100%}
.schedule,.details{grid-template-columns:.8fr 1.2fr;gap:64px}.schedule-list li{padding:19px 0}.schedule-list h3{font-size:29px}.schedule-time{font-size:17px}.schedule-list p{font-size:16px}.details summary{font-size:28px;line-height:1.35}.details details{padding:21px 0}.details-intro p{max-width:340px}
.story{gap:64px;grid-template-columns:1fr 1fr}.story-photo img{height:580px}.story-photo span{font-size:19px}.chapter-panel{min-height:200px}.chapter-tabs{margin-top:24px}.chapter-tabs button{font-size:15px}.chapter-panel h3{font-size:30px}
.moments{padding-top:60px}.section-heading{margin-bottom:32px}.section-heading>p{font-size:18px;max-width:290px}.section-heading h2{margin-bottom:0}.engagement-album{grid-template-columns:1fr 1.3fr 1fr;align-items:center;gap:22px}.album-photo{aspect-ratio:3/4}.album-photo[style="order:1"]{aspect-ratio:3/4}.album-photo img{object-position:center}.album-invitation{margin-top:28px}.album-invitation .rsvp-primary{background:white;color:var(--wine);padding:12px 30px}.album-invitation .rsvp-primary:hover{background:#faf7f6}.album-invitation .album-end{font-size:25px;margin-top:14px}
.registry{padding-top:48px;padding-bottom:54px}.registry h3{font-size:36px}.registry p{max-width:660px}.registry>.text-link{flex-shrink:0}footer{padding-top:36px}.footer-names{font-size:54px}footer p{font-size:14px}footer a{font-size:14px;margin-top:18px}
@media(max-width:1200px){.section{padding-left:6%;padding-right:6%}.rsvp{margin-left:6%;margin-right:6%;width:88%;gap:36px}.schedule,.details,.story{gap:36px}header nav{gap:13px;font-size:11px}.countdown{width:88%}}
@media(max-width:850px){header nav{gap:10px}.nav-rsvp{padding:8px}.rsvp{display:block;text-align:center;padding-top:48px;padding-bottom:56px}.countdown+.rsvp{padding-top:48px}.address-intro{padding-top:0}.rsvp .address-intro p:not(.eyebrow){max-width:540px;margin-left:auto;margin-right:auto}.rsvp-form{max-width:640px;margin:28px auto 0}.story-photo img{height:500px}}
@media(max-width:700px){.section{padding:56px 7%}h2{font-size:46px}.eyebrow{font-size:12px}.intro,.story-copy>p,.chapter-panel p,.details-intro p,.details details p,.registry p{font-size:17px}header nav{font-size:14px;gap:20px}.nav-rsvp{padding:10px}.invitation{padding-top:60px;padding-bottom:26px}.invitation-grid{margin-top:30px;gap:24px;padding:22px 0}.invitation-divider{height:1px}.invitation .quiet{font-size:18px}.countdown{padding:30px 0 36px}.countdown h2{font-size:34px}.countdown-clock{gap:6px}.countdown-value{font-size:clamp(38px,10vw,62px)}.countdown-colon{font-size:24px;line-height:1.6}.countdown-label{font-size:11px}.rsvp .address-intro h2{font-size:46px}.rsvp-form{padding:24px 18px}.schedule-intro,.details-intro{margin-bottom:30px}.schedule-list li{grid-template-columns:120px 1fr;gap:14px}.schedule-time{font-size:15px}.schedule-list h3{font-size:26px}.details summary{font-size:26px}.story{gap:28px}.story-photo img{height:auto;max-height:550px;object-fit:cover}.chapter-panel{min-height:0}.section-heading{margin-bottom:26px}.section-heading h2{font-size:46px}.section-heading>p{margin-top:16px;font-size:17px}.engagement-album{grid-template-columns:1fr 1fr;gap:12px}.album-photo[style="order:1"]{grid-column:1/-1;order:-1!important;aspect-ratio:4/3}.album-photo[style="order:1"] img{object-fit:contain;background:#f9f8f5}.album-invitation .rsvp-primary{width:100%}.registry{padding-top:38px;padding-bottom:40px}.registry>.text-link{margin-top:10px}}
.rsvp-fields label{display:block;line-height:1.5}.rsvp-fields label>span{display:inline;font-size:14px}.rsvp-fields input,.rsvp-fields textarea,.rsvp-fields select{display:block;margin-top:8px}.js .reveal{opacity:1;transform:none;transition:none}
#lookup-form>input{display:block;margin:12px 0 22px}#lookup-form>button{width:100%}.invited-person{padding:22px 0!important;margin:0 0 24px!important;border-bottom:1px solid var(--line)!important}.invited-person legend{font-size:26px}.rsvp-form .guest-choice{display:flex;flex-direction:row;align-items:center;gap:12px;margin-bottom:10px}.guest-choice input{accent-color:var(--wine);width:18px;height:18px}.invited-person>label:not(.guest-choice){margin-top:16px}#reply-error{color:#8d2239}#review-content p{overflow-wrap:anywhere}.rsvp-form [hidden]{display:none!important}.rsvp-form button:disabled{opacity:.6;cursor:wait}
