body.wedding-page {
 --font-body:'Karla',Arial,sans-serif;--font-heading:'Cormorant Garamond',Georgia,serif;
 --paper:#F6F2EA;--ink:#292B27;--eucalyptus:#455244;--muted:#455244;--sage:#e8e7dc;--line:#D9CDBB;
 --text-section:2.75rem;--text-subheading:1.75rem;
 background:var(--paper);color:var(--ink);
}
body.wedding-page :is(h2,h3,h4){font-weight:500}
body.wedding-page header{background:var(--paper);padding-top:.8rem;padding-bottom:.8rem}
body.wedding-page nav{font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em}
body.wedding-page nav a{display:inline-flex;align-items:center;min-height:44px}
body.wedding-page .nav-rsvp{border-radius:0;background:var(--eucalyptus);color:var(--paper);padding:.3rem 1.3rem}
body.wedding-page .hero{position:relative;isolation:isolate;overflow:hidden;background:var(--paper);color:var(--ink);min-height:480px;padding:3.5rem 6% 3rem;border-bottom:1px solid var(--line)}
body.wedding-page .hero-top,body.wedding-page .hero-bottom{display:none}
body.wedding-page .hero>.eyebrow{margin:0 0 1rem}
body.wedding-page .hero h1{font-size:5rem;font-weight:600;letter-spacing:-.025em;margin:0 0 1.2rem}
body.wedding-page .hero h1 em{font-weight:500}
body.wedding-page .hero-meta{flex-direction:column;gap:.35rem;margin-bottom:1.8rem;font-size:.9375rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em}
body.wedding-page .hero-meta span:nth-child(2){display:none}
body.wedding-page .button{min-height:48px;background:var(--eucalyptus);color:var(--paper);font-weight:600;padding:.65rem 2rem;border-radius:0}
body.wedding-page .eyebrow{font-size:.875rem;font-weight:500;letter-spacing:.14em;color:var(--eucalyptus)}
body.wedding-page .welcome{padding-top:4rem;padding-bottom:4rem}
body.wedding-page .photo-print{transform:none;padding:8px;background:#FFFDF9;box-shadow:none;border:1px solid var(--line)}
body.wedding-page .practical{background:#eeeadf}
body.wedding-page .rsvp{background:var(--paper);color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body.wedding-page :is(input,select,textarea){background:#FFFDF9;border:1px solid var(--line);color:var(--ink);min-height:48px}
body.wedding-page .small{color:var(--muted)}
body.wedding-page #rsvp-form>button{background:var(--eucalyptus);color:var(--paper);font-weight:600;min-height:48px}
body.wedding-page footer{position:relative;background:#e8e7dc;overflow:hidden}
.botanical{position:absolute;z-index:-1;width:220px;height:340px;color:#89917D;opacity:.65;pointer-events:none}
.botanical.left{left:-15px;bottom:8px;transform:rotate(12deg)}
.botanical.right{right:-15px;top:10px;transform:rotate(192deg)}
body.wedding-page .contact{border:0}
@media(max-width:760px){body.wedding-page{--text-section:2.125rem;--text-subheading:1.5rem;--text-body:1.0625rem}body.wedding-page .hero h1{font-size:3.25rem}body.wedding-page .hero{min-height:410px;padding-top:3rem}body.wedding-page .botanical{width:110px;opacity:.35}body.wedding-page .botanical.left{left:-40px}body.wedding-page .botanical.right{right:-40px}body.wedding-page nav{font-size:.8rem;gap:.9rem}body.wedding-page .hero-meta{font-size:.8125rem;letter-spacing:.08em}}
@media(max-width:380px){body.wedding-page nav{gap:.6rem;font-size:.75rem}body.wedding-page nav a{white-space:nowrap}body.wedding-page .nav-rsvp{padding:.3rem .8rem}}
/* Give the couple's names the strongest visual emphasis. */
body.wedding-page .hero h1{font-size:6rem;font-weight:700;line-height:1.05;letter-spacing:-.025em;color:#292B27}
body.wedding-page .hero h1 em{font-weight:600}
@media(max-width:760px){body.wedding-page .hero h1{font-size:clamp(3.5rem,12vw,4.5rem);max-width:100%}}
/* One calm reading column replaces the venue grid and numbered timeline. */
.day-story-inner{max-width:720px;margin:0 auto}
.day-story-copy p{margin-bottom:1.25rem}
.day-story-copy strong{font-weight:600;color:var(--eucalyptus)}
.day-story-details{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.25rem}
.day-story-details p{margin:1rem 0 0;color:var(--muted);font-size:1rem}

/* The invitation fills the first screen; the story begins below the fold. */
body.wedding-page .hero{min-height:calc(100svh - 69px);justify-content:center;padding-top:4rem;padding-bottom:4rem}
.contact-person{display:flex;flex-direction:column;gap:.25rem;margin-top:1.25rem}
.contact-person a{overflow-wrap:anywhere}
@media(max-width:760px){body.wedding-page .hero{min-height:calc(100svh - 104px);padding-top:3rem;padding-bottom:3rem}}

.photo-print figcaption{font-family:var(--font-body);font-size:1rem;line-height:1.4;color:var(--eucalyptus);padding:.8rem .3rem .4rem;text-align:center;min-height:4em}

body.wedding-page .hero h1,body.wedding-page .brand .header-names{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300}
body.wedding-page .hero h1 em,body.wedding-page .brand .header-names em{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;font-style:italic}
