/* Cover and opened invitation; separate guest pages retain copied Burgundy styles. */
.wedding::before{background:linear-gradient(#17050b88,#17050b88),url('assets/burgundy-fabric.webp') center 46%/cover no-repeat}
#celebration .celebration-heading,#celebration .guest-toolbar,#celebration .guest-music-status,#celebration .heart-date,#celebration .wedding-countdown,#celebration .countdown-kicker,#celebration .countdown-label,#celebration .countdown-dot,#celebration .countdown-date,#celebration .story-copy,#celebration .wedding-footer,#celebration .back-to-envelope{color:#f1eee8}
#celebration .guest-nav{border-color:#f1eee838}
#celebration .guest-nav a[aria-current="page"]{text-decoration-color:#f1eee8}
#celebration .section-divider{color:#f1eee8b3}
#welcome{background:#301715;min-height:100svh;padding:52px 7vw 58px;color:#f1eee8}
#welcome .fabric{background:linear-gradient(#17050b88,#17050b88),url('assets/burgundy-fabric.webp') center 46%/cover no-repeat}
#welcome::before{display:none}
#welcome .arrangement{width:min(620px,100%);container-type:inline-size}
#welcome .envelope-heading{position:relative;inset:auto;width:100%;margin:0 0 21px;color:#f1eee8;transition:none}
#welcome .envelope-heading p{margin:0 0 22px;font:400 clamp(12px,3.15cqw,19px)/1.4 'EB Garamond',Georgia,serif;letter-spacing:.15em;text-transform:uppercase;font-variant:normal}
#welcome .envelope-heading h1{margin:0;padding:.08em .12em .18em;font:400 clamp(54px,19.8cqw,120px)/1.12 'Ballet',cursive;font-optical-sizing:none;font-variation-settings:'opsz' 48;font-synthesis:none;white-space:normal;overflow-wrap:anywhere}
#welcome .envelope-heading h1>span{display:block}
#welcome .cover-second-line{margin-top:-.06em}
#welcome .envelope-date{position:static;width:auto;margin:0 0 27px;color:#d2c7c1;font-size:clamp(11px,2.2cqw,14px);letter-spacing:.18em;line-height:1.4}
#welcome .envelope{aspect-ratio:1582/994;filter:drop-shadow(0 14px 20px #10080745)}
#welcome .seal{inset:0;width:100%;height:100%;aspect-ratio:auto;transform:none;filter:none;border-radius:2px}
#welcome .seal img{position:absolute;left:42.15%;top:64.5%;width:15.7%;height:auto;aspect-ratio:1;filter:grayscale(1) drop-shadow(0 .65cqw .8cqw #1f202242);transition:transform .22s ease}
#welcome .seal:hover,#welcome .seal:active{transform:none}
@media(hover:hover) and (pointer:fine){#welcome .seal:hover img{transform:rotate(-3deg) scale(1.035)}}
@media(prefers-reduced-motion:reduce){#welcome .seal img{transition:none}}
#welcome .open-invitation{margin:22px 0 0;padding:10px 12px;min-height:48px;color:#f1eee8;font-size:clamp(13px,3.2cqw,20px);font-variant:normal;text-transform:uppercase;letter-spacing:.13em;border:0;background:transparent;text-shadow:none;box-shadow:none}
#welcome .open-invitation:hover{background:transparent;box-shadow:none;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
#welcome .footnote{display:none}
@media(max-width:600px){
  #welcome{padding:56px 7vw 60px}
  #welcome .envelope-heading{margin-bottom:15px}
  #welcome .envelope-heading p{margin-bottom:22px}
  #welcome .envelope-date{margin-bottom:26px}
  #welcome .open-invitation{margin-top:17px}
}
@media(min-width:601px) and (max-height:800px){
  #welcome{padding-block:26px}
  #welcome .arrangement{width:min(520px,100%,calc((100svh - 290px)*1.59))}
  #welcome .envelope-heading p{margin-bottom:16px}
  #welcome .envelope-heading h1{font-size:clamp(54px,18cqw,94px)}
  #welcome .envelope-date{margin-bottom:20px}
  #welcome .open-invitation{margin-top:13px}
}
