/* Party's editorial layer. The approved canvas framing is unchanged. */
body[data-opening-cutout] .stage-photo { background: var(--ivory); }
html[data-motion=on] body[data-hero-story=party] .cinema { height: 420vh; }
body[data-hero-story=party] .scene .eyebrow { letter-spacing: 1.65px; }
.party-reveal-copy { display: none; }
html[data-motion=on] .party-reveal-copy {
  display: block; position: absolute; z-index: 3; left: 5%; bottom: 105px;
  max-width: 360px; padding: 24px 28px; background: rgba(245,240,232,.96);
  opacity: var(--party-reveal, 0); pointer-events: none;
  transform: translateY(calc((1 - var(--party-reveal, 0)) * 14px));
}
.party-reveal-copy .eyebrow { font-size: 9px; letter-spacing: 1.6px; color: #6c5747; }
.party-reveal-copy h2 { font-size: clamp(30px, 2.8vw, 42px); line-height: 1.1; letter-spacing: -1.3px; margin-top: 13px; }
@media (max-width: 1000px) and (min-width: 801px) {
  html[data-motion=on] .party-reveal-copy { max-width: 290px; padding: 20px; }
}
@media (max-width: 800px) {
  html[data-motion=on] body[data-hero-story=party] .cinema { height: 380vh; }
  html[data-motion=on] .party-reveal-copy {
    left: 7%; right: 7%; top: 28px; bottom: auto; max-width: none;
    padding: 0; background: none;
  }
  .party-reveal-copy h2 { font-size: 31px; margin-top: 10px; }
  .party-reveal-copy h2 br { display: none; }
  .party-reveal-copy h2 em { display: block; }
  .party-reveal-copy .eyebrow { font-size: 8px; letter-spacing: 1.3px; }
}
@media (max-width: 800px) and (max-height: 740px) {
  html[data-motion=on] .party-reveal-copy { top: 10px; }
  .party-reveal-copy .eyebrow { display: none; }
  .party-reveal-copy h2 { font-size: 22px; margin: 0; line-height: 1.05; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-motion=on] .party-reveal-copy { transform: none; }
}

/* The product cutout sits on the same ivory as the surrounding page. */
body[data-hero-story=party] .gift { background: transparent; align-items: center; }
body[data-hero-story=party] .gift > img {
  display: block; height: auto; max-height: none; object-fit: contain;
  padding: clamp(12px, 2vw, 30px);
}

/* Corrected product flat lay with a simple invitation to shop. */
body[data-hero-story=party] .closing {
  display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: center; gap: clamp(32px, 6vw, 96px);
  margin: 0 auto; padding: 48px 5% 80px; max-width: 1600px;
  text-align: left; background: var(--ivory); color: var(--ink);
}
body[data-hero-story=party] .closing-flatlay {
  display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain;
}
body[data-hero-story=party] .closing h2 {
  font-size: clamp(44px, 5.1vw, 80px); line-height: 1.03;
  letter-spacing: -.045em; margin: 0;
}
body[data-hero-story=party] .closing h2 em { color: var(--wine); }
body[data-hero-story=party] .closing-amazon {
  display: inline-flex; align-items: center; gap: 24px; min-height: 48px;
  margin-top: 30px; padding: 8px 0; border-bottom: 1px solid currentColor;
  color: var(--wine); font-size: 16px; line-height: 1.4;
}
body[data-hero-story=party] .closing-amazon:hover { color: var(--ink); }
body[data-hero-story=party] .closing-amazon span { font-size: 24px; }
@media (max-width: 800px) {
  body[data-hero-story=party] .closing {
    grid-template-columns: 1fr; gap: 30px; padding: 16px 7% 56px;
  }
  body[data-hero-story=party] .closing h2 { font-size: clamp(42px, 10.5vw, 68px); }
  body[data-hero-story=party] .closing-amazon { margin-top: 20px; }
}
