/* Restrained handwritten accents and editorial body; the N&C monogram is unchanged. */
body{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:19px;line-height:1.75}
p,.welcome-copy p,.editorial-story p,.travel p,.detail p,.moment p,.palette-block>p,.dress-exclusions p,.faq details p{font-size:19px!important;line-height:1.75!important}
nav a,.btn,.eyebrow,.hero-date{font-weight:500}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.08))}
.hero-editorial,.hero-foot{text-shadow:0 1px 8px rgba(0,0,0,.65)}
.hero h1{font-size:66px}
.hero h1 em{font-style:normal}
.hero-foot,.scripture-section blockquote{font-family:'Parisienne',cursive;font-weight:400}
.scripture-section blockquote{font-size:clamp(32px,4vw,48px);line-height:1.45}
/* Reference composition: complete portrait, lower-left ivory invitation. */
:root{--ivory:#faf7f2}
.hero{height:860px;background:#292622;display:block;padding:0}
header{position:absolute;background:transparent;color:var(--ivory);text-shadow:0 1px 5px rgba(0,0,0,.65)}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-position:50% 50%;object-fit:contain;margin:0}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.30),rgba(0,0,0,.04) 72%);display:block}
.hero-editorial{position:absolute;inset:auto;left:50%;top:48%;transform:translateX(-50%);width:573.8px;max-width:100%;padding:0 36px;text-align:left;color:var(--ivory);display:block}
.hero-editorial .eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:10px}
.hero-monogram{font-size:104px;line-height:1;letter-spacing:-10px;margin:0}
.hero-monogram span{font-size:.46em;top:-.16em;letter-spacing:-5px}
.hero h1{font-size:54px;line-height:1.15;margin:10px 0 16px;white-space:nowrap}
.hero-date{font-size:12px;line-height:1.3;letter-spacing:2px}
.hero-link{position:static;margin:16px 0 0;font-size:16px;min-height:44px;padding:8px 0}
.hero .hero-foot{position:absolute;bottom:3%;left:50%;transform:translateX(-50%);right:auto;max-width:100%;width:573.8px;padding:0 36px;text-align:left;font-size:28px;line-height:1.2;color:var(--ivory);white-space:nowrap}
.photo-collage img{filter:none}
@media(max-width:760px){
 .hero{height:auto;aspect-ratio:854/1280;min-height:0}
 header{height:60px}header nav{top:60px}
 .hero-editorial{top:48%;padding:0 7%;bottom:auto;right:auto}
 .hero-editorial .eyebrow{font-size:clamp(8px,2.3vw,11px);letter-spacing:1.4px;margin-bottom:6px}
 .hero-monogram{font-size:18vw;letter-spacing:-1.6vw}
 .hero h1{font-size:10vw;margin:7px 0 12px}
 .hero-date{font-size:clamp(9px,2.5vw,12px);letter-spacing:1.3px}
 .hero-link{font-size:14px;margin-top:10px}
 .hero .hero-foot{font-size:5.2vw;bottom:3%;padding:0 7%}
}
/* Four previously unseen photographs. Original frames, never tinted. */
.memory-gallery{max-width:1120px;padding-top:52px;padding-bottom:92px}
.memory-gallery .gallery-heading{max-width:none;padding:0;margin:0 0 42px;text-align:center}
.memory-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:28px}
.memory-frame{margin:0;min-width:0}
.memory-frame img{display:block;width:100%;height:auto;filter:none}
.memory-frame-1{grid-column:1/8;grid-row:1}
.memory-frame-2{grid-column:9/13;grid-row:1;margin-top:90px}
.memory-frame-3{grid-column:2/7;grid-row:2;margin-top:15px}
.memory-frame-4{grid-column:7/13;grid-row:2;margin-top:90px}
.proposal-photos{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;max-width:680px;width:100%;margin:36px 0 40px}
.proposal-photos figure{margin:0;min-width:0}
.proposal-photos img{display:block;width:100%;height:auto;filter:none}
/* Original invitation-style timeline: serif hours, olive rule, italic events. */
/* Explicit page-like colour rhythm; no viewport-height sections or boxed washes. */
:root{--page-warm:#faf8f2;--page-beige:#efe9dc;--page-sage:#ede9dd;--olive:#74775d}
/* Separate every tinted page with warm white: beige and olive are deliberately
   too subtle to provide a clear boundary when placed directly together. */
.scripture-section,#verhaal,#verlowing,#vrydag,#besonderhede,#geskenke,#rsvp,footer{--page-wash:var(--page-warm)}
.editorial-welcome,#venue,#kleredrag,.countdown{--page-wash:var(--page-beige)}
.memory-gallery,#troudag,main>.band:has(#vrae){--page-wash:var(--page-sage)}
.countdown{width:100%;box-sizing:border-box;padding:54px 20px}
main>section:not(.hero),.countdown,footer{background:var(--page-wash)}
/* Preserve every max-width and padding. Extend only the painted surface. */
main>section.section{position:relative;isolation:isolate}
main>section.section::before{content:'';position:absolute;z-index:-1;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;background:var(--page-wash);pointer-events:none}
.venue-location{background:transparent}
#vrydag + .day-programme{border-top:0}
/* Remove accumulated list margin + section padding and default h3 margins. */
.day-programme>.section{padding-bottom:34px}
.day-programme .programme-list{margin-bottom:0}
#besonderhede{padding-top:38px}
#besonderhede h2{margin-bottom:0}
#besonderhede .travel{margin-top:26px}
#besonderhede .travel article:first-child{padding-top:0}
#besonderhede .travel h3{margin:0 0 16px}
#besonderhede .travel p{margin-top:0}
/* Visible by default; JS opts observed, below-fold section content in once. */
.reveal-pending{opacity:0;transform:translateY(16px)}
.reveal-ready{transition:opacity 650ms ease-out,transform 650ms ease-out;transition-delay:var(--reveal-delay,0ms)}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .reveal-pending{opacity:1;transform:none}
 .reveal-ready{transition:none}
}
.programme-title{margin:34px 0 4px;font-size:30px}
.programme-caveat{margin:0;color:var(--muted)}
.programme-list{--time-column:110px;--timeline-gap:64px;list-style:none;padding:20px 0;margin:36px auto 42px;position:relative;max-width:580px;text-align:left}
.programme-list:before{content:'';position:absolute;top:0;bottom:0;left:calc(var(--time-column) + var(--timeline-gap)/2);width:1px;background:var(--olive)}
.programme-list:after{content:'';position:absolute;top:0;bottom:0;left:calc(var(--time-column) + var(--timeline-gap)/2 - 2px);width:5px;background:radial-gradient(circle at 50% 2.5px,var(--olive) 2px,transparent 2.5px) top/5px 5px no-repeat,radial-gradient(circle at 50% 2.5px,var(--olive) 2px,transparent 2.5px) bottom/5px 5px no-repeat}
.programme-list li{display:grid;grid-template-columns:var(--time-column) minmax(0,1fr);gap:var(--timeline-gap);align-items:baseline;padding:22px 0;border:0}
.programme-list time{font-family:'Cormorant Garamond',Georgia,serif;font-size:27px;font-weight:600;line-height:1.3;letter-spacing:1px;text-align:right;color:#686b50;white-space:nowrap;font-variant-numeric:tabular-nums}
.programme-list h3{margin:0;font-size:30px;font-style:italic;font-weight:400;line-height:1.3;letter-spacing:0}
.programme-list li>div{min-width:0}
.programme-list p{margin:10px 0 0;line-height:1.5!important}
@media(max-width:760px){
 .programme-list{--time-column:62px;--timeline-gap:36px;margin:30px 0 36px;padding:12px 0}
 .programme-list li{padding:19px 0}
 .programme-list time{font-size:23px;letter-spacing:.5px}
 .programme-list h3{font-size:25px}
 .programme-title{font-size:28px}
}
@media(max-width:760px){
 .memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
 .memory-grid .memory-frame{grid-column:auto;grid-row:auto;margin:0}
 .memory-grid .memory-frame:nth-child(even){margin-top:24px}
 .memory-gallery{padding-bottom:62px}
 .memory-gallery .gallery-heading{margin-bottom:30px}
 .proposal-photos{gap:18px;margin:28px 0 32px}
}

/* Direct, screen-sized reading chapters; never clip or hide story copy. */
.welcome-copy,#verhaal>div{max-width:650px}
.editorial-welcome,.editorial-story,.proposal-chapter{padding-top:40px;padding-bottom:40px}
.welcome-copy{margin-bottom:28px}
.welcome-copy p,.editorial-story p,.proposal-chapter p{font-size:18px!important;line-height:1.5!important;margin:0 0 16px}
.proposal-photos{grid-template-columns:minmax(0,1fr);gap:18px;margin:24px 0 0}
@media(max-width:760px){
 .editorial-welcome,.editorial-story,.proposal-chapter{padding:32px 25px}
 .welcome-copy h2,.editorial-story h2,.proposal-chapter h2{font-size:36px;line-height:1.08;margin:10px 0 20px}
 .proposal-chapter .line-art{width:54px;height:44px;margin-bottom:14px}
 .welcome-copy p,.editorial-story p,.proposal-chapter p{font-size:18px!important;line-height:1.5!important;margin-bottom:14px}
 .proposal-photos{gap:10px;margin:22px 0 0}
}
