.private-celebrations {
  overflow: hidden;
}

.private-celebrations .section {
  padding-block: var(--space-9);
}

.pc-hero {
  padding-block: var(--space-8) var(--space-9);
  background: var(--color-ink-paper);
  color: var(--color-crisp-white);
}

.pc-hero__grid,
.pc-space__grid,
.pc-tables__top {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: center;
}

.pc-hero__copy {
  grid-column: span 7;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.pc-hero__copy h1,
.pc-hero__copy p,
.pc-hero__copy .actions {
  margin: 0;
}

.pc-hero__copy h1 {
  max-width: 8.8em;
  font-size: clamp(3.4rem, 5.5vw, 4rem);
  line-height: .97;
}

.pc-hero__lead {
  max-width: 56ch;
  font-size: var(--text-20);
  line-height: 1.35;
}

.pc-hero__rules {
  max-width: 16.25rem;
  padding: var(--space-3) var(--space-4);
  border: var(--border);
  background: var(--color-sharp-yellow);
  color: var(--color-raw-black);
  font-family: var(--font-heading);
  font-size: var(--text-14);
  font-weight: 700;
  line-height: 1.25;
}

.pc-hero__actions > * {
  width: auto;
  min-width: 0;
}

.pc-hero__media {
  grid-column: span 5;
  min-width: 0;
  margin: 0;
  align-self: stretch;
}

.pc-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 39rem;
  object-fit: cover;
  object-position: center right;
}

.pc-hero__media figcaption {
  margin: 0;
  padding: var(--space-2) var(--space-3);
  background: var(--color-crisp-white);
  color: var(--color-raw-black);
  font-family: var(--font-heading);
  font-size: var(--text-12);
  font-weight: 700;
}

.pc-value__intro,
.pc-occasions__intro,
.pc-process__intro,
.pc-checklist__intro,
.pc-faq__intro,
.pc-contact__intro {
  min-width: 0;
  max-width: 60ch;
}

.pc-value__intro p,
.pc-occasions__intro p,
.pc-process__intro p,
.pc-checklist__intro p,
.pc-faq__intro p,
.pc-contact__intro p {
  max-width: 58ch;
}

.pc-value__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
  align-items: end;
}

.pc-value__card {
  min-width: 0;
  min-height: 100%;
  padding: var(--space-5);
  border: var(--border);
  box-shadow: var(--shadow-hard);
}

.pc-value__card h3,
.pc-value__card p,
.pc-occasion h3,
.pc-occasion p,
.pc-process__step h3,
.pc-process__step p,
.pc-principle h3,
.pc-principle p {
  margin: 0;
}

.pc-value__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.pc-value__card--white { background: var(--color-crisp-white); }
.pc-value__card--yellow { background: var(--color-sharp-yellow); transform: translateY(-2rem); }
.pc-value__card--green { background: var(--color-acid-green); }

.pc-card-number,
.pc-detail-number,
.pc-process__step > span,
.pc-principle > span,
.pc-checklist__number {
  font-family: var(--font-heading);
  font-size: var(--text-40);
  font-weight: 700;
  letter-spacing: -.06em;
  line-height: 1;
}

.pc-card-number { color: var(--color-electric-blue); }

.pc-occasions { background: var(--color-ink-paper); color: var(--color-crisp-white); }

.pc-occasions__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.pc-occasion {
  min-width: 0;
  padding: var(--space-5);
  border: var(--border);
  box-shadow: var(--shadow-hard);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.pc-occasion--white { background: var(--color-crisp-white); color: var(--color-raw-black); }
.pc-occasion--blue { background: var(--color-electric-blue); color: var(--color-crisp-white); transform: translateY(-1.5rem); }
.pc-occasion--green { background: var(--color-acid-green); color: var(--color-raw-black); }

.pc-occasion__top {
  display: flex;
  width: 100%;
  min-width: 0;
  justify-content: space-between;
  gap: var(--space-3);
  align-items: flex-start;
  font-family: var(--font-heading);
  font-size: var(--text-12);
  font-weight: 700;
}

.pc-occasion a,
.pc-tables__manifest a,
.pc-process__step a,
.pc-checklist__item a {
  color: currentColor;
  font-family: var(--font-heading);
  font-size: var(--text-14);
  font-weight: 700;
}

.pc-space__intro { grid-column: span 4; min-width: 0; }
.pc-space__media { grid-column: span 8; min-width: 0; margin: 0; }
.pc-space__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; }
.pc-space__media figcaption { margin: 0; padding-top: var(--space-2); }
.pc-space__media a { color: var(--color-electric-blue); font-family: var(--font-heading); font-weight: 700; }

.pc-space__details {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 3fr 3fr 2fr 4fr;
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-5);
}

.pc-space__detail,
.pc-space__rules {
  min-width: 0;
  border-top: var(--border);
  padding-top: var(--space-4);
}

.pc-space__detail {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.pc-space__detail h3,
.pc-space__detail p,
.pc-space__rules p { margin: 0; }
.pc-space__detail--group { grid-column: 2 / span 2; }
.pc-detail-number { color: var(--color-electric-blue); }

.pc-space__rules {
  grid-column: 4;
  padding: var(--space-4);
  border: var(--border);
  background: var(--color-sharp-yellow);
  color: var(--color-raw-black);
}

.pc-space__rules strong {
  display: block;
  margin-bottom: var(--space-2);
  font-family: var(--font-heading);
  font-size: var(--text-40);
  line-height: 1;
}

.pc-process { background: var(--color-crisp-white); }
.pc-process__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.pc-process__step {
  min-width: 0;
  min-height: 100%;
  padding: var(--space-5);
  border: var(--border);
  box-shadow: var(--shadow-hard);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.pc-process__step--white { background: var(--color-crisp-white); }
.pc-process__step--blue { background: var(--color-electric-blue); color: var(--color-crisp-white); }
.pc-process__step--yellow { background: var(--color-sharp-yellow); }
.pc-process__step--green { background: var(--color-acid-green); }
.pc-process__step > .label { margin: 0; }

.pc-tables { background: var(--color-ink-paper); color: var(--color-crisp-white); }
.pc-tables__media { grid-column: span 5; min-width: 0; margin: 0; }
.pc-tables__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; }
.pc-tables__manifest {
  grid-column: span 7;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}
.pc-tables__manifest h2,
.pc-tables__manifest p,
.pc-tables__manifest a { margin: 0; }
.pc-tables__manifest p { max-width: 58ch; }

.pc-tables__principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.pc-principle {
  min-width: 0;
  padding: var(--space-5);
  border: var(--border);
  background: var(--color-crisp-white);
  color: var(--color-raw-black);
  box-shadow: var(--shadow-hard);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.pc-principle--blue { background: var(--color-electric-blue); color: var(--color-crisp-white); }
.pc-principle--yellow { background: var(--color-sharp-yellow); color: var(--color-raw-black); }

.pc-checklist__list {
  display: grid;
  grid-template-columns: minmax(0, 9fr) minmax(0, 3fr);
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.pc-checklist__item {
  grid-column: 1;
  display: grid;
  grid-template-columns: minmax(3rem, 1fr) minmax(0, 3fr) minmax(0, 5fr);
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-4) 0;
  border-top: var(--border);
}
.pc-checklist__item:last-child { border-bottom: var(--border); }
.pc-checklist__item h3,
.pc-checklist__item p { margin: 0; }
.pc-checklist__item > div { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.pc-checklist__item > p { max-width: 52ch; }
.pc-checklist__item .label { margin-left: var(--space-2); vertical-align: middle; }

.pc-faq { background: var(--color-electric-blue); color: var(--color-crisp-white); }
.pc-faq__list {
  width: 75%;
  min-width: 0;
  margin-top: var(--space-7);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.pc-faq__item { min-width: 0; border: var(--border); background: var(--color-crisp-white); color: var(--color-raw-black); box-shadow: var(--shadow-hard); }
.pc-faq__item h3 { margin: 0; }
.pc-faq__button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 3rem;
  width: 100%;
  min-height: 3.5rem;
  padding: 0;
  border: 0;
  background: var(--color-crisp-white);
  color: var(--color-raw-black);
  box-shadow: none;
  text-align: left;
}
.pc-faq__button:hover:not(:disabled) { transform: none; box-shadow: none; }
.pc-faq__button > span:first-child { min-width: 0; padding: var(--space-4); }
.pc-faq__icon { display: grid; place-items: center; min-width: 3rem; min-height: 3rem; border-left: var(--border); font-family: var(--font-heading); font-size: var(--text-28); }
.pc-faq__button--blue { background: var(--color-electric-blue); color: var(--color-crisp-white); }
.pc-faq__button--yellow { background: var(--color-sharp-yellow); color: var(--color-raw-black); }
.pc-faq__button--green { background: var(--color-acid-green); color: var(--color-raw-black); }
.pc-faq__answer { padding: var(--space-5); border-top: var(--border); }
.pc-faq__answer p { max-width: 68ch; margin: 0; }

.pc-contact { background: var(--color-crisp-white); }
.pc-contact__panel {
  padding: var(--space-7);
  border: var(--border-strong);
  background: var(--color-ink-paper);
  color: var(--color-crisp-white);
  box-shadow: var(--shadow-hard);
}
.pc-contact__intro { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.pc-contact__intro h2,
.pc-contact__intro p { margin: 0; }
.pc-contact__channels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.pc-contact__channel { min-width: 0; min-height: 10rem; padding: var(--space-5); border: var(--border); display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-4); color: var(--color-raw-black); text-decoration: none; box-shadow: var(--shadow-hard); transition: transform var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast); }
.pc-contact__channel--email { background: var(--color-acid-green); }
.pc-contact__channel--phone { background: var(--color-crisp-white); }
.pc-contact__channel span,
.pc-contact__channel em { font-family: var(--font-heading); font-size: var(--text-12); font-style: normal; font-weight: 700; }
.pc-contact__channel strong { font-family: var(--font-heading); font-size: clamp(1.2rem, 2.1vw, 1.75rem); line-height: 1.2; overflow-wrap: anywhere; }
.pc-contact__address { width: fit-content; max-width: 24.4rem; margin-top: var(--space-6); margin-left: auto; padding: var(--space-3) var(--space-4); border: var(--border); background: var(--color-sharp-yellow); color: var(--color-raw-black); font-family: var(--font-heading); font-size: var(--text-14); font-weight: 700; line-height: 1.35; }

.pc-rules { padding-top: 0 !important; }
.pc-rules__bar { display: grid; grid-template-columns: 2fr 7fr 3fr; gap: var(--space-5); align-items: center; min-width: 0; padding: var(--space-5); border: var(--border-strong); background: var(--color-sharp-yellow); }
.pc-rules__bar > * { min-width: 0; }
.pc-rules__bar strong { font-family: var(--font-heading); font-size: clamp(2.5rem, 5vw, 4rem); line-height: 1; }
.pc-rules__bar p { max-width: 72ch; margin: 0; }
.pc-rules__bar a { color: var(--color-raw-black); font-family: var(--font-heading); font-size: var(--text-14); font-weight: 700; text-align: right; }

@media (hover: hover) and (pointer: fine) {
  .pc-contact__channel:hover { transform: translate(-4px, -4px); box-shadow: var(--shadow-hard); color: var(--color-raw-black); }
}

@media (max-width: 65rem) {
  .pc-process__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 61.25rem) {
  .pc-hero__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .pc-hero__copy, .pc-hero__media { grid-column: 1 / -1; }
  .pc-hero__media img { min-height: 0; aspect-ratio: 16 / 9; }
}

@media (max-width: 57.5rem) {
  .pc-value__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pc-value__card--green { grid-column: 1 / -1; }
  .pc-value__card--yellow { transform: none; }
  .pc-space__grid, .pc-tables__top { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .pc-space__intro, .pc-space__media, .pc-tables__media, .pc-tables__manifest { grid-column: 1 / -1; }
  .pc-space__details { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .pc-space__detail { grid-column: span 4; }
  .pc-space__detail--group, .pc-space__rules { grid-column: 1 / -1; }
  .pc-tables__principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pc-tables__principles > :last-child { grid-column: 1 / -1; }
  .pc-checklist__list { grid-template-columns: 1fr; }
  .pc-faq__list { width: 100%; }
}

@media (max-width: 53.75rem) {
  .pc-occasions__grid { grid-template-columns: 1fr; }
  .pc-occasion--blue { transform: none; }
  .pc-checklist__item { grid-template-columns: minmax(3rem, 1fr) minmax(0, 5fr); }
  .pc-checklist__item > p, .pc-checklist__item > div { grid-column: 2; }
}

@media (max-width: 47.5rem) {
  .pc-contact__channels { grid-template-columns: 1fr; }
  .pc-contact__address { width: 100%; max-width: none; margin-left: 0; }
  .pc-rules__bar { grid-template-columns: 2fr 6fr; }
  .pc-rules__bar a { grid-column: 1 / -1; text-align: left; }
}

@media (max-width: 38.75rem) {
  .private-celebrations .section { padding-block: 3.5rem; }
  .pc-hero { padding-block: var(--space-7); }
  .pc-hero__copy h1 { font-size: 2.625rem; line-height: 1.02; }
  .pc-hero__lead { font-size: 1.125rem; line-height: 1.5; }
  .pc-hero__actions { width: 100%; }
  .pc-hero__actions > * { width: 100%; }
  .pc-hero__media img { aspect-ratio: 4 / 3; }
  .pc-value__grid, .pc-process__grid, .pc-tables__principles { grid-template-columns: 1fr; }
  .pc-value__card--green, .pc-tables__principles > :last-child { grid-column: auto; }
  .pc-space__grid, .pc-tables__top { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pc-space__details { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
  .pc-space__detail, .pc-space__detail--group, .pc-space__rules { grid-column: 1 / -1; }
  .pc-space__media img { aspect-ratio: 4 / 3; }
  .pc-checklist__item { grid-template-columns: 1fr; gap: var(--space-3); }
  .pc-checklist__item > p, .pc-checklist__item > div { grid-column: auto; }
  .pc-contact__panel { padding: var(--space-4); }
  .pc-faq__button { grid-template-columns: minmax(0, 1fr) 2.75rem; }
  .pc-faq__icon { min-width: 2.75rem; min-height: 2.75rem; }
  .pc-rules__bar { grid-template-columns: 1fr; gap: var(--space-3); padding: var(--space-4); }
  .pc-rules__bar a { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .pc-value__card--yellow, .pc-occasion--blue { transform: none; }
  .pc-contact__channel:hover { transform: none; }
}
