/* Full-bleed photographic cover; retains the album typefaces. */
.cover-nav{position:absolute;inset:0 0 auto;z-index:3;max-width:none;padding:25px 5.5%;border:0;color:#fffdf7;gap:20px;text-shadow:0 1px 8px #17201480}
.cover-nav .brand{color:inherit}.cover-nav nav{gap:32px}.cover-nav a:focus-visible,.cover a:focus-visible{outline-color:#fffdf7}
.hero.cover{position:relative;isolation:isolate;display:grid;place-items:center;min-height:780px;min-height:max(780px,100svh);padding:125px 24px 155px;background:#3e4938;color:#fffdf7;overflow:hidden}
.cover-photo{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:50% 52%}
.cover:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(20,30,17,.45),rgba(20,30,17,.27) 30%,rgba(20,30,17,.42) 80%,rgba(20,30,17,.22));pointer-events:none}
.cover:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:150px;z-index:-1;background:linear-gradient(0deg,var(--paper),rgba(250,248,242,.8) 20%,rgba(250,248,242,0));pointer-events:none}
.cover .hero-inner{margin:0;width:100%;max-width:1000px;text-shadow:0 2px 20px #17201455}
.cover .kicker{color:inherit;font-family:'Wedding Serif',Georgia,serif;font-size:16px;font-style:italic;margin:0 0 30px;letter-spacing:.7px}
.cover h1{display:flex;flex-direction:column;align-items:center;margin:0;color:inherit;font-family:'Album Script',cursive;font-weight:500;font-size:clamp(85px,10.5vw,150px);line-height:1.2;white-space:normal}
.cover h1>span{display:block}.cover h1 .heart{display:flex;align-items:center;gap:25px;margin:22px 0;font-family:'Wedding Serif',Georgia,serif;font-size:27px;line-height:1.3;color:inherit}
.cover .heart:before,.cover .heart:after{content:'';width:80px;height:1px;background:#fffdf780}
.cover-details{margin-top:36px}.cover .hero-dates{font-family:'Wedding Serif',Georgia,serif;color:inherit;font-size:17px;letter-spacing:4px;line-height:1.8;margin:0 0 8px}
.cover-location{font-family:'Wedding Serif',Georgia,serif;font-size:13px;letter-spacing:1px;margin:0 0 10px}.cover-events{font:12px/1.8 Arial,sans-serif;margin:0 0 20px;color:#fffdf7}
.cover-link{display:inline-flex;align-items:center;gap:20px;text-decoration:none;font:14px/1.5 'Wedding Serif',Georgia,serif;padding:12px 2px;border-bottom:1px solid #fffdf780;min-height:46px}.cover-link span{font-family:Arial,sans-serif;font-size:18px}
.cover-note{position:absolute;bottom:21px;left:0;right:0;margin:0;color:var(--muted);font:10px/1.6 Arial,sans-serif;text-shadow:none}.family-section{border-top:0}
@media(max-width:700px){.cover-nav{padding:21px 6%;gap:12px}.cover-nav nav{gap:18px}.hero.cover{min-height:max(730px,100svh);padding:120px 20px 125px}.cover h1{font-size:clamp(72px,15vw,105px);line-height:1.3}.cover h1 .heart{margin:12px 0;font-size:23px;gap:20px}.cover .heart:before,.cover .heart:after{width:55px}.cover .kicker{font-size:14px;margin-bottom:27px}.cover-details{margin-top:29px}.cover .hero-dates{font-size:15px;letter-spacing:3px}.cover-location{font-size:12px;letter-spacing:.4px}.cover-photo{object-position:53% center}.cover:after{height:115px}}
@media(max-width:360px){.cover-nav nav{gap:12px;font-size:11px}.cover-nav .brand{font-size:22px}.cover h1{font-size:69px}.cover-events{font-size:11px}}
