/* Keep long names and degrees legible without overwhelming the photographs. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.couple-name,.name-amp{display:block}
.name-main,.name-degree{display:inline}
.couple-name{max-width:100%;min-width:0}
.name-main{overflow-wrap:anywhere;text-wrap:balance;line-height:1.25}
.name-degree{font:500 11px/1.5 var(--sans);letter-spacing:.4px;margin:0 0 0 2px;white-space:nowrap}
.name-degree::before{content:", "}
.name-amp{font:italic 22px/1.1 var(--serif);margin:7px 0}
.cover .script,.intro .script,.closing .script{font-size:36px;line-height:1.25;margin:8px auto 18px;max-width:100%;width:100%}
.cover .script{font-size:34px}
.cover-content{left:30px;right:30px;bottom:max(42px,6svh)}
.cover .tiny-tag{margin-bottom:10px}
.cover .eyebrow{font-size:9px;letter-spacing:2.2px;margin-bottom:11px}
.cover-date{font-size:9px;letter-spacing:1.8px;margin-bottom:16px}
.cover-line{margin-bottom:16px}
.guest-name{font-size:21px;line-height:1.35;margin-bottom:18px}
.cover-note{margin-top:14px}
.serif{font-size:35px;line-height:1.2}
.couple-card h3{font-size:36px;line-height:1.25;margin:15px auto 12px;max-width:100%}
.intro-text{font-size:18px}
.quote-section>p:not(.eyebrow):not(.verse){font-size:19px}
.desktop-copy{bottom:15%;left:10%;right:10%;max-width:800px}
.desktop-copy h1{font-size:clamp(34px,3.6vw,62px);line-height:1.2;margin:20px 0 24px}
.desktop-copy .name-main{line-height:1.15;text-wrap:balance}
.desktop-copy .name-degree{font-size:14px;color:#fff8efde}
.desktop-copy .name-amp{font-size:30px;margin:12px 0}
.desktop-copy p:last-child{font-size:21px;line-height:1.6}
@media(max-width:520px){.cover .script{font-size:32px}.intro .script,.closing .script{font-size:34px}.couple-card h3{font-size:34px}.serif{font-size:32px}.cover-content{left:28px;right:28px}.name-degree{font-size:10px}.name-amp{font-size:20px;margin:6px 0}.section{padding-left:35px;padding-right:35px}}
@media(max-width:360px){.cover .script{font-size:28px}.intro .script,.closing .script,.couple-card h3{font-size:31px}.serif{font-size:29px}.cover-content{left:25px;right:25px}.cover-date{font-size:8px;letter-spacing:1.2px}.guest-name{font-size:20px}}
@media(max-height:740px){.cover .script{font-size:30px;margin-bottom:13px}.cover-content{bottom:32px}.cover .name-amp{margin:4px 0}.cover .cover-line{margin-bottom:12px}.cover .guest-name{margin-bottom:14px}}
/* Cover: tagline sits at the very top above the photo; degree flows inline with the name. */
.cover-top{position:absolute;top:30px;left:0;right:0;z-index:2;text-align:center;white-space:nowrap}
.cover .cover-top .tiny-tag{display:block;margin-bottom:6px;font-size:8px;letter-spacing:2.4px}
.cover .cover-top .eyebrow{margin:0;font-size:9px;letter-spacing:2.2px}
@media(max-height:740px){.cover .tiny-tag{display:block}}

/* A continuous paper surface under the photograph avoids a visible image edge. */
.invitation,.cover{background-color:var(--paper);background-image:radial-gradient(ellipse at 0% 35%,#cfaa8d26,transparent 58%),radial-gradient(ellipse at 100% 75%,#aeb99b24,transparent 52%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='420' viewBox='0 0 300 420'%3E%3Cg fill='none' stroke='%23958064' stroke-width='.7' opacity='.09'%3E%3Cpath d='M-20 340Q100 230 28 60M320 400Q205 280 272 180'/%3E%3Cpath d='M40 248Q-8 221 2 184Q43 195 40 248ZM49 209Q81 181 67 150Q41 168 49 209ZM45 165Q9 144 15 117Q44 126 45 165ZM35 120Q63 97 48 75Q29 92 35 120ZM260 330Q214 309 226 277Q258 290 260 330ZM250 287Q282 264 282 235Q248 245 250 287Z'/%3E%3C/g%3E%3C/svg%3E");background-size:auto,auto,300px 420px;background-repeat:no-repeat,no-repeat,repeat}
.cover-photo{height:74%;-webkit-mask-image:linear-gradient(to bottom,#000 35%,transparent 100%);mask-image:linear-gradient(to bottom,#000 35%,transparent 100%)}
.cover-fade{background:linear-gradient(to bottom,transparent 25%,#fcf8f21a 44%,#fcf8f240 58%,transparent 78%);pointer-events:none}
.event-card{background:linear-gradient(145deg,#fffdf9d9,#f4eadfd9);border-color:#d6c2ac;box-shadow:0 12px 32px #72563908}
.gift-section .event-card{position:relative;border-radius:80px 80px 12px 12px;padding-top:36px}
.gift-section .event-card h3{letter-spacing:2px}
#gift-number,#gift-number-2{font:500 clamp(18px,5vw,24px)/1.5 var(--sans);letter-spacing:1px;margin:12px 0;overflow-wrap:anywhere}
#gift-name,#gift-name-2{margin-bottom:20px}
#gift-copy-status,#gift-copy-status-2{font-size:11px;min-height:1.8em;margin:12px 0 0;color:var(--accent)}
