.groups-events-page {
  overflow: clip;
}

.groups-events-page a:not(.button) {
  text-decoration-thickness: 1px;
  text-underline-offset: 0.28em;
}

.groups-events-page__hero {
  padding-block: clamp(4rem, 8vw, 6.5rem) var(--space-7);
  overflow: hidden;
  background: var(--color-chalk-white);
}

.groups-events-page__hero-grid,
.groups-events-page__occasions-grid,
.groups-events-page__kitchen-grid,
.groups-events-page__space-grid,
.groups-events-page__formats-grid,
.groups-events-page__statement-grid,
.groups-events-page__form-layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
}

.groups-events-page__hero-grid {
  align-items: center;
}

.groups-events-page__hero-copy {
  grid-column: 1 / span 5;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.groups-events-page__hero-copy > * {
  min-width: 0;
  margin: 0;
}

.groups-events-page__hero-title {
  max-inline-size: 8ch;
  font-size: clamp(2.25rem, 4vw, 3.25rem);
}

.groups-events-page__hero-display {
  max-inline-size: 10ch;
  font-family: var(--font-heading);
  font-size: clamp(2.75rem, 5vw, 5.25rem);
  font-weight: 700;
  letter-spacing: -0.065em;
  line-height: 0.9;
}

.groups-events-page__hero-intro {
  max-inline-size: 37rem;
  font-size: var(--text-intro);
  line-height: 1.5;
}

.groups-events-page__hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  min-width: 0;
}

.groups-events-page__hero-actions > * {
  min-width: 0;
}

.groups-events-page__hero-note {
  max-inline-size: 34rem;
  color: var(--color-text-muted);
  font-size: var(--text-small);
}

.groups-events-page__hero-media {
  grid-column: 7 / span 6;
  min-width: 0;
  margin: 0;
}

.groups-events-page__hero-frame {
  height: clamp(30rem, 46vw, 42rem);
  overflow: hidden;
  background: var(--color-concrete-grey);
}

.groups-events-page__hero-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% center;
}

.groups-events-page__hero-media figcaption,
.groups-events-page__kitchen-media figcaption,
.groups-events-page__formats-media figcaption {
  padding: var(--space-2) var(--space-3);
  color: var(--color-text-muted);
  font-size: var(--text-technical);
  letter-spacing: 0.08em;
  line-height: var(--leading-small);
  text-transform: uppercase;
}

.groups-events-page__hero-media figcaption {
  margin-block-start: var(--space-3);
  padding: var(--space-3) 0 0;
  border-block-start: var(--border);
}

.groups-events-page__reveal {
  clip-path: inset(0 100% 0 0);
  transition: clip-path var(--transition-fast);
}

.groups-events-page__reveal.is-revealed {
  clip-path: inset(0);
}

.groups-events-page__occasions {
  background: var(--color-chalk-white);
}

.groups-events-page__section-intro {
  grid-column: 1 / span 5;
  min-width: 0;
}

.groups-events-page__section-intro > p:last-child {
  max-inline-size: 31rem;
}

.groups-events-page__occasion-list {
  grid-column: 5 / span 8;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6) var(--space-5);
  min-width: 0;
}

.groups-events-page__occasion {
  min-width: 0;
  padding-block-start: var(--space-4);
  border-block-start: var(--border);
}

.groups-events-page__occasion:nth-child(2),
.groups-events-page__occasion:nth-child(4) {
  margin-block-start: var(--space-7);
}

.groups-events-page__occasion p:not(.meta) {
  max-inline-size: 31rem;
}

.groups-events-page__kitchen {
  background: var(--color-chalk-white);
}

.groups-events-page__kitchen-media {
  grid-column: 1 / span 6;
  min-width: 0;
  margin-inline-start: calc((100vw - min(100vw - (var(--gutter) * 2), var(--container-max))) / -2);
}

.groups-events-page__kitchen-media img {
  width: 100%;
  height: clamp(36rem, 55vw, 50rem);
  object-fit: cover;
  object-position: center;
}

.groups-events-page__kitchen-copy {
  grid-column: 8 / span 5;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.groups-events-page__kitchen-copy > * {
  min-width: 0;
  margin: 0;
}

.groups-events-page__kitchen-lead {
  max-inline-size: 39rem;
  font-size: var(--text-intro);
  line-height: 1.5;
}

.groups-events-page__kitchen-detail {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
  padding-inline-start: var(--space-5);
  border-inline-start: 2px solid var(--color-oxidized-copper);
}

.groups-events-page__kitchen-detail > * {
  min-width: 0;
  margin: 0;
}

.groups-events-page__kitchen-detail p {
  max-inline-size: 31rem;
}

.groups-events-page__space {
  background: var(--color-paper-muted);
}

.groups-events-page__space-mark {
  grid-column: 1 / span 2;
  min-width: 0;
}

.groups-events-page__space-mark span,
.groups-events-page__form-marker span {
  display: block;
  color: rgb(32 35 34 / 45%);
  font-family: var(--font-heading);
  font-size: clamp(4rem, 9vw, 8rem);
  font-weight: 700;
  letter-spacing: -0.08em;
  line-height: 0.8;
}

.groups-events-page__space-mark p,
.groups-events-page__form-marker p {
  margin-block-start: var(--space-3);
}

.groups-events-page__space-copy {
  grid-column: 3 / span 7;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
}

.groups-events-page__space-copy > * {
  min-width: 0;
  margin: 0;
}

.groups-events-page__space-copy > article {
  width: 100%;
  padding-block-start: var(--space-5);
  border-block-start: var(--border-strong);
}

.groups-events-page__space-copy > article:first-of-type {
  border-block-start: 0;
  padding-block-start: 0;
}

.groups-events-page__space-copy article p:not(.meta) {
  max-inline-size: 43rem;
}

.groups-events-page__formats {
  background: var(--color-deep-forest-green);
  color: var(--color-chalk-white);
}

.groups-events-page__formats-grid {
  row-gap: var(--space-7);
}

.groups-events-page__formats-copy {
  grid-column: 1 / span 6;
  min-width: 0;
}

.groups-events-page__formats-copy .eyebrow::before {
  background: var(--color-oxidized-copper);
}

.groups-events-page__formats-copy h2 {
  max-inline-size: 12ch;
  font-size: clamp(2.5rem, 5vw, 4.5rem);
}

.groups-events-page__formats-lead {
  max-inline-size: 38rem;
  font-size: var(--text-intro);
  line-height: 1.5;
}

.groups-events-page__formats-media {
  grid-column: 9 / span 4;
  grid-row: 1;
  min-width: 0;
  align-self: end;
}

.groups-events-page__formats-media img {
  width: 100%;
  height: clamp(28rem, 38vw, 42rem);
  object-fit: cover;
  object-position: center;
  transition: clip-path var(--transition-fast);
}

@media (hover: hover) {
  .groups-events-page__formats-media:hover img {
    clip-path: inset(2% 0 0 4%);
  }
}

.groups-events-page__formats-media figcaption {
  color: var(--color-concrete-grey);
}

.groups-events-page__format-list {
  grid-column: 1 / span 8;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
}

.groups-events-page__format {
  min-width: 0;
  padding-block-start: var(--space-5);
  border-block-start: 1px solid rgb(241 239 232 / 45%);
}

.groups-events-page__format p:not(.meta) {
  max-inline-size: 30rem;
}

.groups-events-page__process {
  background: var(--color-concrete-grey);
}

.groups-events-page__process-heading {
  width: 50%;
  min-width: 0;
  margin-block-end: var(--space-7);
}

.groups-events-page__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  border-block-start: var(--border-strong);
}

.groups-events-page__step {
  min-width: 0;
  padding-block-start: var(--space-5);
}

.groups-events-page__step-number {
  margin-block: 0 var(--space-4);
  color: var(--color-oxidized-copper);
  font-family: var(--font-heading);
  font-size: clamp(2.5rem, 4vw, 4rem);
  font-weight: 700;
  letter-spacing: -0.06em;
  line-height: 0.9;
}

.groups-events-page__step p:not(.groups-events-page__step-number) {
  max-inline-size: 29rem;
}

.groups-events-page__statement {
  background: var(--color-graphite);
  color: var(--color-chalk-white);
}

.groups-events-page__statement-grid {
  row-gap: var(--space-7);
}

.groups-events-page__statement-main {
  grid-column: 1 / span 9;
  min-width: 0;
}

.groups-events-page__statement-display {
  max-inline-size: 12ch;
  margin-block-end: 0;
  font-size: clamp(3.25rem, 8vw, 8.5rem);
  font-weight: 700;
  letter-spacing: -0.07em;
  line-height: 0.9;
}

.groups-events-page__statement-copy {
  grid-column: 4 / span 5;
  min-width: 0;
}

.groups-events-page__statement-copy p {
  max-inline-size: 36rem;
}

.groups-events-page__principles {
  grid-column: 8 / span 5;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
}

.groups-events-page__principles article {
  min-width: 0;
  padding-block-start: var(--space-4);
  border-block-start: 1px solid rgb(241 239 232 / 45%);
}

.groups-events-page__request-info {
  background: var(--color-chalk-white);
}

.groups-events-page__request-info-heading {
  width: 41.666%;
  min-width: 0;
  margin-block-end: var(--space-7);
}

.groups-events-page__request-info-heading p:last-child {
  max-inline-size: 31rem;
}

.groups-events-page__info-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  border-block-start: var(--border-strong);
}

.groups-events-page__info-card {
  min-width: 0;
  padding-block-start: var(--space-5);
}

.groups-events-page__info-card p:not(.meta) {
  max-inline-size: 28rem;
}

.groups-events-page__form-section {
  background: var(--color-paper-muted);
}

.groups-events-page__form-marker {
  grid-column: 1 / span 2;
  min-width: 0;
}

.groups-events-page__form-content {
  grid-column: 3 / span 8;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.groups-events-page__form-content > * {
  min-width: 0;
  margin: 0;
}

.groups-events-page__form-intro {
  max-inline-size: 37rem;
  font-size: var(--text-intro);
  line-height: 1.5;
}

.groups-events-page__form {
  width: 100%;
  min-width: 0;
}

.groups-events-page__form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
}

.groups-events-page__field {
  min-width: 0;
}

.groups-events-page__field--message {
  grid-column: 1 / -1;
}

.groups-events-page__field label {
  display: block;
}

.groups-events-page__field input,
.groups-events-page__field textarea {
  min-height: 3rem;
}

.groups-events-page__field textarea {
  min-height: 11rem;
}

.groups-events-page__field-error {
  min-height: 1.45em;
  margin: var(--space-2) 0 0;
  color: var(--color-graphite);
  font-size: var(--text-small);
  font-weight: 600;
  line-height: var(--leading-small);
}

.groups-events-page__field.has-error input,
.groups-events-page__field.has-error textarea {
  border-color: var(--color-oxidized-copper);
}

.groups-events-page__form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  min-width: 0;
  margin-block-start: var(--space-5);
}

.groups-events-page__form-actions > * {
  min-width: 0;
}

.groups-events-page__form-status {
  margin: 0;
  font-weight: 500;
}

.groups-events-page__more {
  background: var(--color-concrete-grey);
}

.groups-events-page__more-heading {
  width: 41.666%;
  min-width: 0;
  margin-block-end: var(--space-7);
}

.groups-events-page__more-list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-block-start: var(--border-strong);
}

.groups-events-page__more-row {
  display: grid;
  grid-template-columns: 1fr 3fr 5fr 3fr;
  gap: var(--space-4);
  align-items: start;
  min-width: 0;
  padding-block: var(--space-5);
  border-block-end: var(--border-strong);
  text-decoration: none;
}

.groups-events-page__more-row > * {
  min-width: 0;
}

.groups-events-page__more-number,
.groups-events-page__more-link {
  font-size: var(--text-technical);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.groups-events-page__more-title {
  font-family: var(--font-heading);
  font-size: var(--text-intro);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.groups-events-page__more-copy {
  max-inline-size: 34rem;
}

.groups-events-page__more-link {
  text-decoration: underline;
  text-decoration-color: var(--color-oxidized-copper);
  text-underline-offset: 0.3em;
}

.groups-events-page__more-row:hover .groups-events-page__more-link {
  text-decoration-color: currentcolor;
}

.groups-events-page__more-cta {
  margin-block-start: var(--space-5);
}

@media (max-width: 1050px) {
  .groups-events-page__hero-grid,
  .groups-events-page__occasions-grid,
  .groups-events-page__kitchen-grid,
  .groups-events-page__space-grid,
  .groups-events-page__formats-grid,
  .groups-events-page__statement-grid,
  .groups-events-page__form-layout {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: var(--space-4);
  }

  .groups-events-page__hero-copy,
  .groups-events-page__section-intro,
  .groups-events-page__kitchen-copy,
  .groups-events-page__formats-copy,
  .groups-events-page__statement-main,
  .groups-events-page__request-info-heading,
  .groups-events-page__more-heading {
    grid-column: 1 / -1;
    width: 100%;
  }

  .groups-events-page__hero-media,
  .groups-events-page__kitchen-media,
  .groups-events-page__formats-media {
    grid-column: 1 / -1;
    grid-row: auto;
    margin-inline: 0;
  }

  .groups-events-page__hero-media {
    margin-block-start: var(--space-6);
  }

  .groups-events-page__hero-frame {
    height: clamp(28rem, 60vw, 39rem);
  }

  .groups-events-page__kitchen-media {
    order: -1;
  }

  .groups-events-page__kitchen-media img {
    height: clamp(30rem, 75vw, 43rem);
  }

  .groups-events-page__occasion-list {
    grid-column: 1 / -1;
  }

  .groups-events-page__space-mark,
  .groups-events-page__form-marker {
    grid-column: 1 / -1;
    display: flex;
    align-items: baseline;
    gap: var(--space-3);
  }

  .groups-events-page__space-mark p,
  .groups-events-page__form-marker p {
    margin: 0;
  }

  .groups-events-page__space-copy,
  .groups-events-page__form-content {
    grid-column: 1 / -1;
  }

  .groups-events-page__format-list {
    grid-column: 1 / -1;
  }

  .groups-events-page__process-heading {
    width: 75%;
  }

  .groups-events-page__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .groups-events-page__statement-copy {
    grid-column: 1 / span 5;
  }

  .groups-events-page__principles {
    grid-column: 6 / span 3;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 899px) {
  .groups-events-page__hero {
    padding-block-start: var(--space-8);
  }

  .groups-events-page__hero-title {
    max-inline-size: 12ch;
  }

  .groups-events-page__occasion:nth-child(2),
  .groups-events-page__occasion:nth-child(4) {
    margin-block-start: 0;
  }

  .groups-events-page__formats-media img {
    height: clamp(28rem, 85vw, 40rem);
  }

  .groups-events-page__statement-copy,
  .groups-events-page__principles {
    grid-column: 1 / -1;
  }

  .groups-events-page__principles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .groups-events-page__more-row {
    grid-template-columns: 1fr 3fr 4fr;
  }

  .groups-events-page__more-link {
    grid-column: 2 / -1;
  }
}

@media (max-width: 680px) {
  .groups-events-page__hero-grid,
  .groups-events-page__occasions-grid,
  .groups-events-page__kitchen-grid,
  .groups-events-page__space-grid,
  .groups-events-page__formats-grid,
  .groups-events-page__statement-grid,
  .groups-events-page__form-layout {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .groups-events-page__hero {
    padding-block: var(--space-8) var(--space-7);
  }

  .groups-events-page__hero-copy {
    gap: var(--space-4);
  }

  .groups-events-page__hero-title {
    font-size: clamp(2.25rem, 11vw, 3.25rem);
  }

  .groups-events-page__hero-display {
    font-size: clamp(2.25rem, 11vw, 3.5rem);
  }

  .groups-events-page__hero-intro,
  .groups-events-page__kitchen-lead,
  .groups-events-page__formats-lead,
  .groups-events-page__form-intro {
    font-size: 1.125rem;
  }

  .groups-events-page__hero-actions,
  .groups-events-page__form-actions {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

  .groups-events-page__hero-actions .button-link {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
  }

  .groups-events-page__hero-frame {
    height: clamp(26rem, 125vw, 34rem);
  }

  .groups-events-page__hero-frame img {
    object-position: 68% center;
  }

  .groups-events-page__occasion-list,
  .groups-events-page__format-list,
  .groups-events-page__info-list,
  .groups-events-page__principles,
  .groups-events-page__steps,
  .groups-events-page__form-grid {
    grid-template-columns: 1fr;
  }

  .groups-events-page__section-intro > p:last-child,
  .groups-events-page__occasion p:not(.meta),
  .groups-events-page__kitchen-detail p,
  .groups-events-page__space-copy article p:not(.meta),
  .groups-events-page__format p:not(.meta),
  .groups-events-page__step p:not(.groups-events-page__step-number),
  .groups-events-page__statement-copy p,
  .groups-events-page__info-card p:not(.meta) {
    max-inline-size: none;
  }

  .groups-events-page__kitchen-media img {
    height: clamp(28rem, 125vw, 38rem);
  }

  .groups-events-page__space-mark span,
  .groups-events-page__form-marker span {
    font-size: 4rem;
  }

  .groups-events-page__space-copy {
    gap: var(--space-5);
  }

  .groups-events-page__formats-copy h2 {
    font-size: clamp(2.375rem, 11vw, 3.4rem);
  }

  .groups-events-page__formats-media img {
    height: clamp(27rem, 115vw, 35rem);
  }

  .groups-events-page__process-heading {
    width: 100%;
  }

  .groups-events-page__steps {
    gap: 0;
    border-block-start: 0;
    border-inline-start: var(--border-strong);
  }

  .groups-events-page__step {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    column-gap: var(--space-3);
    padding: var(--space-5) 0 var(--space-5) var(--space-4);
    border-block-start: var(--border);
  }

  .groups-events-page__step-number {
    grid-column: 1;
    margin: 0;
    font-size: 2rem;
  }

  .groups-events-page__step h3,
  .groups-events-page__step p:not(.groups-events-page__step-number) {
    grid-column: 2;
  }

  .groups-events-page__statement-display {
    font-size: clamp(2.625rem, 12vw, 3.75rem);
  }

  .groups-events-page__statement-grid {
    row-gap: var(--space-6);
  }

  .groups-events-page__field--message {
    grid-column: auto;
  }

  .groups-events-page__form-actions .button {
    width: 100%;
  }

  .groups-events-page__more-heading {
    margin-block-end: var(--space-6);
  }

  .groups-events-page__more-row {
    grid-template-columns: 1fr;
    gap: var(--space-3);
    padding-block: var(--space-5);
  }

  .groups-events-page__more-link {
    grid-column: auto;
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
  }

  .groups-events-page__more-copy {
    max-inline-size: none;
  }

  .groups-events-page__more-cta {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .groups-events-page__reveal {
    clip-path: none;
  }

  .groups-events-page__formats-media img {
    transition: none;
  }
}
