    .party button { font: inherit; cursor: pointer; }
    .party button:focus-visible { outline: 3px solid #f2bd3d; outline-offset: 5px; }
    /* A full-width experience interlude in the conference's navy and gold. */
    .party { color: #fff; padding: 65px 0 35px; overflow: hidden; background: radial-gradient(ellipse at 50% 62%, #24495b 0, #102f46 40%, #092335 76%); }
    .party-heading { max-width: 1100px; margin: auto; padding: 0 24px; text-align: center; }
    .party-eyebrow { color: #f2bd3d; text-transform: uppercase; letter-spacing: 2px; font-size: 12px; font-weight: bold; margin: 0 0 14px; }
    .party h2 { font: normal clamp(18px, 3.6vw, 44px)/1.15 Georgia, serif; margin: 0 0 18px; white-space: nowrap; }
    .party-lead { color: #d6e2ea; font-size: 18px; line-height: 26px; margin: 0 auto; max-width: 600px; }
    /* The active print stays central; neighboring prints invite exploration. */
    .party-stage { position: relative; height: 420px; max-width: 1400px; margin: 20px auto 0; touch-action: pan-y; }
    .party-polaroid { position: absolute; left: 50%; top: 50%; width: 330px; padding: 12px 12px 0; border: none; background: #fffdf7; color: #102f46; box-shadow: 0 22px 45px #0005; transform: translate(-50%, -50%) translateX(var(--x)) rotate(var(--r)) scale(var(--s)); opacity: var(--o); z-index: var(--z); transition: transform .65s cubic-bezier(.2,.75,.2,1), opacity .5s; }
    .party-polaroid[aria-current="true"] { box-shadow: 0 24px 60px #0007, 0 0 0 1px #f2bd3d55; cursor: zoom-in; }
    .party-photo { display: grid; place-items: center; width: 100%; aspect-ratio: 4/3; background: linear-gradient(135deg, var(--tone), #153445); overflow: hidden; position: relative; }
    .party-photo::before { content: ''; width: 150px; height: 150px; border: 1px solid #ffffff18; border-radius: 50%; position: absolute; transform: scale(2.3); }
    .party-placeholder { text-align: center; color: #ffffffc9; font-size: 12px; letter-spacing: 2px; line-height: 1.8; }
    .party-placeholder svg { display: block; width: 58px; height: 58px; margin: 0 auto 14px; opacity: .65; }
    .party-caption { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 62px; font: 18px Georgia, serif; text-align: left; }
    .party-caption small { font: 11px Arial, sans-serif; letter-spacing: 1px; color: #74818a; }
    .party-float { animation: cocktailDrift 6s ease-in-out infinite alternate; }
    .party-stage:hover .party-float, .party-stage:focus-within .party-float, .party.paused .party-float { animation-play-state: paused; }
    @keyframes cocktailDrift { from { translate: 0 -4px; } to { translate: 0 5px; } }
    .party-controls { display: flex; justify-content: center; align-items: center; gap: 22px; }
    .party-arrow { width: 48px; height: 48px; border: 1px solid #ffffff4d; border-radius: 50%; background: transparent; color: #fff; font-size: 25px; transition: background .2s; }
    .party-arrow:hover { background: #f2bd3d; color: #092335; border-color: #f2bd3d; }
    .party-dots { display: flex; gap: 2px; }
    .party-dot { padding: 15px 7px; border: 0; background: none; }
    .party-dot::after { content: ''; display: block; width: 7px; height: 7px; border-radius: 50%; background: #ffffff55; }
    .party-dot[aria-current="true"]::after { background: #f2bd3d; }
    .party-hint { text-align: center; color: #b4c7d3; font-size: 12px; margin: 19px 20px 0; }
    .party-motion { display: block; margin: 16px auto 0; border: 0; border-bottom: 1px solid #ffffff40; padding: 5px; background: none; color: #b4c7d3; font-size: 12px; }
    .party-demo-note { margin: 30px 24px 0; text-align: center; font-size: 11px; color: #8ca5b6; }
    @media(max-width:600px) {
      .party { padding-top: 40px; }
      .party-heading { padding: 0 10px; }
      .party h2 { font-size: clamp(14px, 4.4vw, 22px); white-space: nowrap; }
      .party-lead { font-size: 16px; line-height: 22px; }
      .party-stage { height: 355px; margin-top: 10px; }
      .party-polaroid { width: min(76vw, 310px); padding: 10px 10px 0; }
      .party-caption { min-height: 57px; font-size: 17px; }
      .party-controls { gap: 13px; }
    }
    @media(prefers-reduced-motion:reduce) {
      .party-float { animation: none; }
      .party-polaroid { transition: none; }
      .party-motion { display: none; }
    }
  
/* Real photos with editorial captions and print number */
.party .party-photo { object-fit: cover; display: block; }
.party .party-caption {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  padding: 10px 0 12px;
  font: 13px/1.35 Georgia, serif;
  color: #102f46;
  text-align: left;
}
.party .party-caption-text {
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.party .party-caption small {
  flex-shrink: 0;
  font: bold 11px/1.4 Arial, sans-serif;
  letter-spacing: 1px;
  color: #74818a;
  padding-top: 1px;
}
.party .party-heading { max-width: 1100px; }
.party .party-lead { color: #d6e2ea; }
.party .party-polaroid[hidden] { display: none; }
.party .party-dots { max-width: min(55vw, 380px); flex-wrap: wrap; justify-content: center; }
.party .party-polaroid { appearance: none; border-radius: 0; }
.party .party-stage { margin-bottom: 0; }
@media (max-width: 600px) {
  .party .party-heading { padding: 0 10px; }
  .party .party-dot { padding: 10px 5px; }
  .party .party-hint { font-size: 12px; line-height: 18px; }
}

.party h2 { color: #ffffff; }

/* Warm ivory distinguishes the gallery from the navy testimonials section. */
.party {
  background: radial-gradient(ellipse at 50% 55%, #fffdf6 0%, #f5f0e5 65%, #eee8dc 100%);
  color: #102f46;
}
.party h2 { color: #102f46; }
.party .party-eyebrow { color: #0069a9; }
.party .party-lead { color: #000000; }
.party .party-polaroid {
  box-shadow: 0 18px 38px rgb(58 46 24 / 18%);
}
.party .party-polaroid[aria-current="true"] {
  box-shadow: 0 22px 45px rgb(58 46 24 / 22%), 0 0 0 1px #c6af7933;
}
.party .party-arrow { color: #102f46; border-color: #102f4640; }
.party .party-arrow:hover { background: #f2bd3d; border-color: #f2bd3d; }
.party .party-dot::after { background: #102f4640; }
.party .party-dot[aria-current="true"]::after { background: #0069a9; }
/* A short settling motion, followed by still prints; browsing remains animated. */
.party .party-float { animation: cocktailDrift 2.4s ease-in-out 2 alternate; }
@media (prefers-reduced-motion: reduce) {
  .party .party-float { animation: none; }
}

/* Enlarged Polaroid Lightbox Modal */
.party-lightbox-dialog {
  border: none;
  background: transparent;
  padding: 0;
  margin: auto;
  max-width: 96vw;
  max-height: 96vh;
  overflow: visible;
}
.party-lightbox-dialog::backdrop {
  background: rgba(9, 35, 53, 0.85);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.party-lightbox-content {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.party-lightbox-polaroid {
  position: relative;
  background: #fffdf7;
  color: #102f46;
  padding: 16px 16px 20px;
  box-shadow: 0 25px 65px rgba(0, 0, 0, 0.65), 0 0 0 1px rgba(242, 189, 61, 0.35);
  border-radius: 2px;
  max-width: min(88vw, 680px);
  width: auto;
  margin: 0;
  transform: rotate(-0.75deg);
  transition: transform 0.2s ease;
}
.party-lightbox-polaroid img {
  display: block;
  width: 100%;
  max-height: min(65vh, 520px);
  object-fit: cover;
  aspect-ratio: 4/3;
  background: #153445;
  border-radius: 1px;
}
.party-lightbox-caption {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding-top: 14px;
  font: 16px/1.45 Georgia, serif;
  color: #102f46;
}
.party-lightbox-caption span {
  flex: 1;
}
.party-lightbox-caption small {
  flex-shrink: 0;
  font: bold 12px Arial, sans-serif;
  letter-spacing: 1.5px;
  color: #74818a;
}
.party-lightbox-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #102f46;
  color: #ffffff;
  border: 2px solid #f2bd3d;
  font-size: 26px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: background 0.2s, transform 0.15s;
}
.party-lightbox-close:hover {
  background: #f2bd3d;
  color: #102f46;
  transform: scale(1.08);
}
.party-lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(16, 47, 70, 0.9);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 32px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 8;
  transition: background 0.2s, border-color 0.2s;
}
.party-lightbox-nav:hover {
  background: #f2bd3d;
  color: #092335;
  border-color: #f2bd3d;
}
.party-lightbox-prev {
  left: -32px;
}
.party-lightbox-next {
  right: -32px;
}
@media (max-width: 768px) {
  .party-lightbox-content {
    padding: 12px;
  }
  .party-lightbox-prev {
    left: 4px;
    width: 40px;
    height: 40px;
    font-size: 26px;
  }
  .party-lightbox-next {
    right: 4px;
    width: 40px;
    height: 40px;
    font-size: 26px;
  }
  .party-lightbox-close {
    top: 2px;
    right: 2px;
    width: 36px;
    height: 36px;
    font-size: 22px;
  }
  .party-lightbox-polaroid {
    padding: 10px 10px 14px;
    transform: none;
    max-width: 92vw;
  }
  .party-lightbox-caption {
    font-size: 15px;
    padding-top: 10px;
  }
}
