.bridal-party-page { background: var(--paper); }
.bridal-party-page nav [aria-current="page"] { color: inherit; text-decoration: underline; text-underline-offset: 6px; }
.party-intro { position: relative; padding: 92px 28px 100px; text-align: center; color: var(--paper); background: linear-gradient(#36222088, #362220b3), url('assets/invitation-landscape-panels.webp') center 56% / cover; }
.party-intro h1 { display: block; font-family: var(--script); font-size: clamp(66px, 8vw, 110px); line-height: 1.2; margin: 16px 0 20px; }
.party-intro-copy { max-width: 420px; margin: auto; font-size: 17px; line-height: 1.8; }
.party-sides { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.party-side { padding: 72px 32px 84px; text-align: center; color: var(--wine); }
.party-lauren { background: #CDA6B4 url('assets/paper.svg'); }
.party-matt { background: var(--blue) url('assets/paper.svg'); }
.party-side h2 { color: inherit; font-size: clamp(55px, 5.3vw, 74px); }
.party-roster { list-style: none; padding: 0; margin: 36px auto 0; max-width: 370px; }
.party-roster li { padding: 17px 0; }
.party-roster h3 { color: inherit; font-family: var(--serif); font-size: clamp(21px, 2vw, 26px); line-height: 1.4; margin: 0; }
.party-roster p { color: var(--chocolate); font-size: 14px; line-height: 1.7; font-style: italic; margin-top: 3px; }
.party-roster .party-honor { padding-top: 0; padding-bottom: 28px; margin-bottom: 12px; border-bottom: 1px solid #48111F30; }
.party-honor h3 { font-size: clamp(25px, 2.3vw, 31px); }
.party-roster .party-ceremony { border-top: 1px solid #48111F30; margin-top: 12px; padding-top: 28px; }
.party-return { position: relative; padding: 52px 24px 42px; text-align: center; background: var(--wine); color: var(--paper); }
.party-return p { margin-top: 20px; font-size: 12px; font-style: italic; }
@media (max-width: 760px) {
  .party-intro { padding: 66px 26px 70px; }
  .party-intro h1 { font-size: clamp(56px, 13vw, 76px); }
  .party-intro-copy { font-size: 15px; max-width: 300px; }
  .party-sides { grid-template-columns: 1fr; }
  .party-side { padding: 52px 28px 58px; }
  .party-roster { margin-top: 28px; max-width: 330px; }
  .party-matt { border-top: 1px solid #48111F30; }
}
