.locations-band .event-media figure { position: relative; margin: 0; min-width: 0; overflow: hidden; }
.locations-band .event-media figure img { width: 100%; height: 100%; object-fit: cover; object-position: 65% 20%; }
.locations-band .event-media figcaption { position: absolute; inset: auto 0 0; padding: 54px 24px 24px; background: linear-gradient(transparent, rgba(18,18,23,.72)); color: white; font: 500 32px/1.1 var(--font-display); }
.locations-band .event-copy h2 { font-size: 76px; letter-spacing: 0; }
.setting-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.setting-actions .button { text-align: center; }
.setting-page { letter-spacing: 0; }
.setting-page main section { scroll-margin-top: 86px; }
.setting-skip { position: fixed; top: -100px; left: 16px; z-index: 200; padding: 12px 20px; background: var(--ivory); color: var(--soft-black); }
.setting-skip:focus { top: 12px; }
.setting-page main :is(a, button, summary):focus-visible, .locations-band a:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.setting-intro { padding: 116px var(--edge) 62px; }
.setting-breadcrumbs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 38px; font-size: 11px; text-transform: uppercase; }
.setting-breadcrumbs a { border-bottom: 1px solid var(--line); }
.setting-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: end; }
.setting-intro h1 { margin: 14px 0 0; max-width: 12ch; font: 500 88px/1.02 var(--font-display); letter-spacing: 0; }
.setting-intro p { max-width: 48ch; margin: 0 0 28px; font-size: 20px; line-height: 1.6; color: rgba(30,27,24,.74); }
.setting-image-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.setting-image-pair figure { position: relative; min-width: 0; height: 68svh; min-height: 440px; max-height: 760px; margin: 0; overflow: hidden; }
.setting-image-pair img { height: 100%; width: 100%; object-fit: cover; object-position: var(--photo-focus, 50% 20%); }
.setting-section { padding: 96px var(--edge); }
.setting-section h2, .setting-invite h2 { margin: 14px 0 26px; font: 500 64px/1.06 var(--font-display); letter-spacing: 0; max-width: 15ch; }
.setting-overview { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; }
.setting-overview p { margin: 0 0 24px; font-size: 18px; color: rgba(30,27,24,.74); }
.setting-features { margin: 0; padding: 0; list-style: none; }
.setting-features li { padding: 18px 0; border-top: 1px solid var(--line); }
.setting-features strong { display: block; margin-bottom: 6px; font-weight: 600; }
.setting-features span { color: rgba(30,27,24,.7); }
.setting-preparation { background: var(--graphite); color: var(--ivory); }
.setting-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; margin: 40px 0 0; padding: 0; list-style: none; }
.setting-steps li { border-top: 1px solid rgba(255,255,255,.22); padding-top: 24px; }
.setting-step-number { font-size: 11px; color: var(--gold); }
.setting-steps h3 { margin: 26px 0 16px; font: 500 32px/1.15 var(--font-display); }
.setting-steps p { margin: 0; color: rgba(247,242,234,.78); }
.setting-gallery-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 36px; }
.setting-gallery-heading h2 { margin-bottom: 0; }
.setting-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.setting-gallery a { display: block; aspect-ratio: 3 / 4; overflow: hidden; }
.setting-gallery img { width: 100%; height: 100%; object-fit: cover; object-position: var(--photo-focus, 50% 20%); transition: transform 400ms ease; }
.setting-gallery a:hover img { transform: scale(1.03); }
.setting-faq { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; padding-top: 0; }
.setting-faq details { border-top: 1px solid var(--line); }
.setting-faq details:last-child { border-bottom: 1px solid var(--line); }
.setting-faq summary { padding: 24px 24px 24px 0; cursor: pointer; font-weight: 600; }
.setting-faq details p { color: rgba(30,27,24,.72); margin: 0 0 26px; max-width: 58ch; }
.setting-invite { padding: 76px var(--edge); background: var(--graphite); color: var(--ivory); display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.setting-invite h2 { max-width: 18ch; margin-bottom: 0; }
@media (max-width: 1099px) {
  .locations-band .event-copy h2 { font-size: 56px; }
  .setting-intro h1 { font-size: 68px; }
  .setting-intro-grid { gap: 32px; }
  .setting-intro p { font-size: 17px; }
  .setting-overview, .setting-faq { gap: 40px; }
  .setting-section h2, .setting-invite h2 { font-size: 48px; }
  .setting-steps { gap: 28px; }
  .setting-invite { align-items: start; flex-direction: column; }
}
@media (max-width: 699px) {
  .locations-band .event-media { min-height: 0; height: 500px; }
  .locations-band .event-media figcaption { font-size: 26px; padding-inline: 14px; }
  .locations-band .event-copy h2 { font-size: 46px; }
  .locations-band .setting-actions .button { flex: 1 1 170px; }
  .setting-intro { padding: 100px var(--edge) 42px; }
  .setting-breadcrumbs { margin-bottom: 28px; font-size: 10px; }
  .setting-intro-grid, .setting-overview, .setting-faq { grid-template-columns: 1fr; gap: 28px; }
  .setting-intro h1 { font-size: 52px; }
  .setting-image-pair figure { min-height: 0; height: 340px; }
  .setting-image-pair figure:first-child { grid-column: 1 / -1; height: 480px; }
  .setting-image-pair figure:first-child img { object-position: 15% 20%; }
  .setting-image-pair figure:last-child { display: none; }
  .setting-section { padding: 60px var(--edge); }
  .setting-section h2, .setting-invite h2 { font-size: 42px; }
  .setting-overview p { font-size: 17px; }
  .setting-steps { grid-template-columns: 1fr; gap: 30px; margin-top: 26px; }
  .setting-steps h3 { margin-top: 14px; }
  .setting-gallery-heading { align-items: start; flex-direction: column; gap: 18px; }
  .setting-gallery { grid-template-columns: 1fr 1fr; gap: 8px; }
  .setting-gallery a:first-child { grid-column: 1 / -1; aspect-ratio: 4 / 5; }
  .setting-faq { padding-top: 0; }
  .setting-invite { padding: 54px var(--edge) 70px; }
  .setting-actions .button { padding-inline: 18px; }
}
@media (prefers-reduced-motion: reduce) { .setting-page * { transition: none; } }
