.section.couple{padding:0}
.couple-intro{padding:70px 48px 58px}
.couple-intro .section-number{margin-bottom:42px}
.individual-profiles{background:#3e080e;color:#fff3e2}
.person-profile{padding:56px 44px 60px;text-align:right}
.profile-portrait-layout{display:grid;grid-template-columns:minmax(0,1fr) 56px;gap:15px;align-items:center;max-width:460px;margin:0 auto}
.profile-photo{aspect-ratio:2/3;overflow:hidden;background:#57402e;box-shadow:0 10px 35px #1f000333}
.profile-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.profile-vertical{font:400 clamp(2.8rem,4.3vw,4.2rem)/1 var(--serif);letter-spacing:-.055em;writing-mode:vertical-rl;white-space:nowrap;margin:0;justify-self:center;color:#fff3e2}
.profile-details{max-width:460px;margin:30px auto 0}
.profile-kicker{font-size:.7rem;letter-spacing:.2em;color:#d9ba80;margin:0 0 9px}
.profile-details h3{font:400 clamp(2.4rem,3.8vw,3.6rem)/1.05 var(--serif);letter-spacing:-.035em;margin:0;text-wrap:balance}
.profile-alias{font:400 2.4rem/1.2 var(--script);margin:9px 0 0;color:#dfbd86}
.family-role{font:400 1.05rem/1.6 var(--serif);text-transform:uppercase;letter-spacing:.045em;margin:25px 0 9px;color:#f1debf}
.profile-parents{font-size:.95rem;letter-spacing:.025em;line-height:1.8;margin:0;color:#fff3e2}
.profile-parents span{display:block;font:400 1.15rem/1.5 var(--serif);font-style:italic;color:#d9ba80;margin:2px 0}
.profile-bride{text-align:left;padding-top:38px;padding-bottom:65px}
.profile-bride .profile-portrait-layout{grid-template-columns:56px minmax(0,1fr)}
.profile-bride .profile-vertical{grid-column:1;grid-row:1;transform:rotate(180deg)}
.profile-bride .profile-photo{grid-column:2;grid-row:1}
.profile-union{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 auto;max-width:180px;padding:7px 0;color:#d9ba80}
.profile-union span{height:1px;flex:1;background:#d9ba8070}
.profile-union b{font:400 1.6rem/1.4 'Songti SC','SimSun',serif}
.couple-outro{padding:30px 30px 44px;background:var(--paper)}
.couple-outro .ornament-rule{margin:8px auto 20px}
.couple-outro .closing-note{margin:0}
@media(max-width:1050px) and (min-width:761px){.couple-intro{padding-left:30px;padding-right:30px}.person-profile{padding-left:30px;padding-right:30px}.profile-portrait-layout{grid-template-columns:minmax(0,1fr) 44px;gap:12px}.profile-bride .profile-portrait-layout{grid-template-columns:44px minmax(0,1fr)}.profile-vertical{font-size:3rem}}
@media(max-width:760px){.couple-intro{padding:48px 28px 45px}.couple-intro .section-number{margin-bottom:36px}.person-profile{padding:44px 27px 48px}.profile-portrait-layout{grid-template-columns:minmax(0,1fr) 38px;gap:12px;max-width:440px}.profile-vertical{font-size:2.9rem}.profile-details{margin-top:27px;max-width:440px}.profile-details h3{font-size:2.6rem}.profile-parents{font-size:.9rem}.family-role{font-size:1rem;margin-top:22px}.profile-bride{padding-top:32px;padding-bottom:48px}.profile-bride .profile-portrait-layout{grid-template-columns:38px minmax(0,1fr)}.profile-alias{font-size:2.25rem}}
@media(max-width:350px){.person-profile{padding-left:22px;padding-right:22px}.profile-vertical{font-size:2.5rem}.profile-portrait-layout{grid-template-columns:minmax(0,1fr) 33px;gap:10px}.profile-bride .profile-portrait-layout{grid-template-columns:33px minmax(0,1fr)}.profile-details h3{font-size:2.3rem}.profile-parents{font-size:.875rem}}
