.groupes-prives-page {
  padding-block: var(--space-12) var(--space-16);
}

.groupes-prives-page .gp-section + .gp-section {
  margin-block-start: var(--space-16);
}

.groupes-prives-page .gp-section-intro {
  min-width: 0;
}

.groupes-prives-page .gp-section-intro > :last-child,
.groupes-prives-page .gp-hero__intro > :last-child,
.groupes-prives-page .gp-hero__rail > :last-child,
.groupes-prives-page .gp-rhythm__story > :last-child,
.groupes-prives-page .gp-dining__intro > :last-child,
.groupes-prives-page .gp-dining__continuity > :last-child,
.groupes-prives-page .gp-dining__brief > :last-child,
.groupes-prives-page .gp-parameter > :last-child,
.groupes-prives-page .gp-dimension > :last-child,
.groupes-prives-page .gp-questions__rail > :last-child,
.groupes-prives-page .gp-process-step > :last-child {
  margin-block-end: 0;
}

.groupes-prives-page .gp-section-intro p {
  max-width: 60ch;
}

.groupes-prives-page .gp-hero__grid,
.groupes-prives-page .gp-rhythm__grid,
.groupes-prives-page .gp-dining__grid,
.groupes-prives-page .gp-questions__grid,
.groupes-prives-page .gp-request__grid {
  display: grid;
  min-width: 0;
  gap: var(--grid-gap);
}

.groupes-prives-page .gp-hero__grid {
  /*grid-template-columns: minmax(0, 5fr) minmax(12rem, 2fr) minmax(0, 5fr);*/
  align-items: stretch;
}

.groupes-prives-page .gp-hero__intro,
.groupes-prives-page .gp-hero__rail,
.groupes-prives-page .gp-hero__media,
.groupes-prives-page .gp-rhythm__story,
.groupes-prives-page .gp-rhythm__media,
.groupes-prives-page .gp-sequence-list,
.groupes-prives-page .gp-dining__intro,
.groupes-prives-page .gp-dining__media,
.groupes-prives-page .gp-dining__continuity,
.groupes-prives-page .gp-dining__brief,
.groupes-prives-page .gp-accordion,
.groupes-prives-page .gp-questions__rail,
.groupes-prives-page .gp-request-form,
.groupes-prives-page .gp-summary {
  min-width: 0;
  width: 100%;
}

.groupes-prives-page .gp-hero__intro,
.groupes-prives-page .gp-hero__rail {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
}

.groupes-prives-page .gp-hero__intro .lead {
  max-width: 61ch;
  margin-block-end: 0;
}

.groupes-prives-page .gp-hero__intro p:not(.lead) {
  max-width: 58ch;
  margin-block: 0;
}

.groupes-prives-page .gp-hero__rail {
  justify-content: flex-start;
}

.groupes-prives-page .gp-hero__rail p {
  max-width: 30ch;
  margin-block: 0;
  font-size: var(--text-secondary);
}

.groupes-prives-page .gp-status-list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
}

.groupes-prives-page .gp-status-list .status {
  align-items: flex-start;
  font-size: var(--text-micro);
  letter-spacing: var(--tracking-micro);
}

.groupes-prives-page .gp-status-list .status__dot {
  margin-block-start: 0.25rem;
}

.groupes-prives-page .gp-hero__media,
.groupes-prives-page .gp-rhythm__media,
.groupes-prives-page .gp-dining__media {
  width: 100%;
  margin: 0;
  border: var(--border);
  background: var(--color-panel);
}

.groupes-prives-page .gp-hero__media .media-16x9,
.groupes-prives-page .gp-rhythm__media .media-4x3,
.groupes-prives-page .gp-dining__media .media-4x3 {
  width: 100%;
}

.groupes-prives-page .gp-hero__media figcaption,
.groupes-prives-page .gp-rhythm__media figcaption,
.groupes-prives-page .gp-dining__media figcaption {
  padding: var(--space-3) var(--space-4);
  border-top: var(--border);
  font-size: var(--text-micro);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-micro);
}

.groupes-prives-page .gp-formats__intro {
  width: 58.333%;
  min-width: 0;
  margin-block-end: var(--space-6);
  padding-top: var(--space-4);
  border-top: var(--border);
}

.groupes-prives-page .gp-format-grid,
.groupes-prives-page .gp-parameter-grid,
.groupes-prives-page .gp-dimension-grid,
.groupes-prives-page .gp-process-grid {
  display: grid;
  min-width: 0;
  gap: var(--grid-gap);
}

.groupes-prives-page .gp-format-grid,
.groupes-prives-page .gp-dimension-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.groupes-prives-page .gp-format-card,
.groupes-prives-page .gp-dimension,
.groupes-prives-page .gp-parameter,
.groupes-prives-page .gp-process-step {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
}

.groupes-prives-page .gp-format-card h3,
.groupes-prives-page .gp-dimension h3,
.groupes-prives-page .gp-parameter h3,
.groupes-prives-page .gp-process-step h3 {
  margin: 0;
}

.groupes-prives-page .gp-format-card p,
.groupes-prives-page .gp-dimension p,
.groupes-prives-page .gp-parameter p,
.groupes-prives-page .gp-process-step p {
  max-width: 46ch;
  margin: 0;
}

.groupes-prives-page .gp-card-list {
  margin: 0;
}

.groupes-prives-page .gp-format-select {
  width: 100%;
  margin-top: auto;
}

.groupes-prives-page .gp-format-card.is-selected {
  border-color: var(--color-green-highlight);
  box-shadow: inset 0 2px 0 var(--color-green-highlight);
}

.groupes-prives-page .gp-rhythm__grid {
  grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr);
  align-items: start;
}

.groupes-prives-page .gp-rhythm__story {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.groupes-prives-page .gp-rhythm__story h2,
.groupes-prives-page .gp-rhythm__story p {
  margin: 0;
}

.groupes-prives-page .gp-rhythm__story p {
  max-width: 56ch;
}

.groupes-prives-page .gp-sequence-list {
  display: grid;
  grid-template-columns: 1fr;
  min-width: 0;
  gap: var(--space-3);
}

.groupes-prives-page .gp-sequence {
  min-width: 0;
}

.groupes-prives-page .gp-sequence h3 {
  margin-block: var(--space-3);
}

.groupes-prives-page .gp-sequence p {
  max-width: 38ch;
  margin-block-end: 0;
}

.groupes-prives-page .gp-dining__grid {
  /*grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr);*/
  align-items: start;
}

.groupes-prives-page .gp-dining__intro {
  grid-column: 1 / span 5;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.groupes-prives-page .gp-dining__intro h2,
.groupes-prives-page .gp-dining__intro p {
  margin: 0;
}

.groupes-prives-page .gp-dining__intro p {
  max-width: 52ch;
}

.groupes-prives-page .gp-dining__media {
  grid-column: 9 / span 4;
  grid-row: 1 / span 2;
}

.groupes-prives-page .gp-dining__continuity {
  grid-column: 1 / span 3;
}

.groupes-prives-page .gp-dining__brief {
  grid-column: 4 / span 5;
}

.groupes-prives-page .gp-dining__continuity p,
.groupes-prives-page .gp-dining__brief p,
.groupes-prives-page .gp-dining__brief li {
  max-width: 40ch;
}

.groupes-prives-page .gp-checklist__top {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 2fr) minmax(16.25rem, 4fr);
  min-width: 0;
  gap: var(--grid-gap);
  align-items: end;
  margin-block-end: var(--space-6);
}

.groupes-prives-page .gp-checklist__intro {
  grid-column: 1 / span 6;
}

.groupes-prives-page .gp-checklist__intro p {
  max-width: 58ch;
}

.groupes-prives-page .gp-progress {
  grid-column: 9 / span 4;
  min-width: 0;
}

.groupes-prives-page .gp-progress p {
  margin-block: var(--space-3) 0;
  font-size: var(--text-secondary);
  font-variant-numeric: tabular-nums;
}

.groupes-prives-page .gp-parameter-grid,
.groupes-prives-page .gp-process-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.groupes-prives-page .gp-parameter p {
  max-width: 40ch;
}

.groupes-prives-page .gp-parameter a {
  margin-top: auto;
}

.groupes-prives-page .gp-dimensions__intro {
  width: 58.333%;
  min-width: 0;
  margin-block-end: var(--space-6);
  padding-top: var(--space-4);
  border-top: var(--border);
}

.groupes-prives-page .gp-dimensions__intro p {
  max-width: 58ch;
}

.groupes-prives-page .gp-dimension {
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.groupes-prives-page .gp-dimension:hover,
.groupes-prives-page .gp-dimension:focus-within {
  border-color: var(--color-green-highlight);
  box-shadow: inset 0 2px 0 var(--color-green-highlight);
}

.groupes-prives-page .gp-dimension .metadata {
  margin-top: auto;
}

.groupes-prives-page .gp-questions__intro {
  width: 58.333%;
  min-width: 0;
  margin-block-end: var(--space-6);
}

.groupes-prives-page .gp-questions__intro p {
  max-width: 54ch;
}

.groupes-prives-page .gp-questions__grid {
  grid-template-columns: minmax(0, 8fr) minmax(13.75rem, 3fr);
}

.groupes-prives-page .gp-accordion {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
}

.groupes-prives-page .gp-accordion-item {
  padding: 0;
}

.groupes-prives-page .gp-accordion-item h3 {
  margin: 0;
}

.groupes-prives-page .gp-accordion-item button {
  width: 100%;
  min-height: 3rem;
  justify-content: space-between;
  padding: var(--space-4);
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: var(--text-card-heading);
  font-weight: var(--weight-semibold);
  text-align: left;
}

.groupes-prives-page .gp-accordion-item button::after {
  content: '+';
  flex: 0 0 auto;
  margin-inline-start: var(--space-4);
  color: var(--color-green-highlight);
}

.groupes-prives-page .gp-accordion-item button[aria-expanded="true"]::after {
  content: '−';
}

.groupes-prives-page .gp-accordion-answer {
  padding: 0 var(--space-4) var(--space-4);
  border-top: var(--border);
}

.groupes-prives-page .gp-accordion-answer p {
  max-width: 56ch;
  margin-block: var(--space-4) 0;
}

.groupes-prives-page .gp-questions__rail {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  align-self: start;
}

.groupes-prives-page .gp-questions__rail h3,
.groupes-prives-page .gp-questions__rail p {
  margin: 0;
}

.groupes-prives-page .gp-questions__rail p {
  max-width: 34ch;
}

.groupes-prives-page .gp-process__intro {
  width: 50%;
  min-width: 0;
  margin-block-end: var(--space-6);
}

.groupes-prives-page .gp-process__intro p {
  max-width: 52ch;
}

.groupes-prives-page .gp-process-step .display-number {
  color: var(--color-muted);
}

.groupes-prives-page .gp-process-step p {
  max-width: 36ch;
}

.groupes-prives-page .gp-process-step a {
  margin-top: auto;
}

.groupes-prives-page .gp-request__intro {
  width: 58.333%;
  min-width: 0;
  margin-block-end: var(--space-6);
}

.groupes-prives-page .gp-request__intro p {
  max-width: 56ch;
}

.groupes-prives-page .gp-request__grid {
  grid-template-columns: minmax(0, 8fr) minmax(17.5rem, 4fr);
  align-items: start;
}

.groupes-prives-page .gp-request-form {
  grid-column: 1;
  grid-row: 1;
}

.groupes-prives-page .gp-summary {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
}

.groupes-prives-page .gp-summary h3,
.groupes-prives-page .gp-summary p {
  margin: 0;
}

.groupes-prives-page .gp-summary dl {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0;
}

.groupes-prives-page .gp-summary dl > div {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  min-width: 0;
  gap: var(--space-2);
  padding-block-end: var(--space-2);
  border-bottom: var(--border);
}

.groupes-prives-page .gp-summary dt,
.groupes-prives-page .gp-summary dd {
  min-width: 0;
  margin: 0;
  font-size: var(--text-secondary);
}

.groupes-prives-page .gp-request-form {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-5);
}

.groupes-prives-page .gp-request-form fieldset {
  min-width: 0;
  margin: 0;
}

.groupes-prives-page .gp-field-help {
  max-width: 50ch;
  margin-block: 0 var(--space-4);
  color: var(--color-muted);
  font-size: var(--text-secondary);
}

.groupes-prives-page .gp-form-grid {
  display: grid;
  min-width: 0;
  gap: var(--space-4);
}

.groupes-prives-page .gp-form-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.groupes-prives-page .gp-field {
  min-width: 0;
}

.groupes-prives-page .gp-field--full {
  grid-column: 1 / -1;
}

.groupes-prives-page .gp-field label {
  overflow-wrap: anywhere;
}

.groupes-prives-page .gp-error {
  display: block;
  min-height: 1.35em;
  margin-top: var(--space-1);
  color: var(--color-danger);
  font-size: var(--text-secondary);
}

.groupes-prives-page .gp-checkboxes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
  gap: var(--space-2) var(--space-4);
  margin-top: var(--space-5);
}

.groupes-prives-page .gp-checkboxes .data-label {
  grid-column: 1 / -1;
}

.groupes-prives-page .gp-checkboxes label {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 2.75rem;
  margin: 0;
  gap: var(--space-2);
  font-size: var(--text-secondary);
}

.groupes-prives-page .gp-checkboxes input {
  flex: 0 0 1rem;
}

.groupes-prives-page .gp-confirmation {
  padding: var(--space-4);
  border: 1px solid var(--color-green-highlight);
  background: var(--color-panel-raised);
}

.groupes-prives-page .gp-confirmation h3 {
  margin-block: var(--space-3);
}

.groupes-prives-page .gp-confirmation p:last-child {
  margin-block-end: 0;
}

.groupes-prives-page .gp-final__cell {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(11.25rem, 2fr);
  min-width: 0;
  gap: var(--space-6);
  width: 66.666%;
  margin-inline: auto;
}

.groupes-prives-page .gp-final__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
}

.groupes-prives-page .gp-final__content h2,
.groupes-prives-page .gp-final__content p {
  margin: 0;
}

.groupes-prives-page .gp-final__content p {
  max-width: 58ch;
}

.groupes-prives-page .gp-final__content .button {
  align-self: flex-start;
}

.groupes-prives-page .gp-final__meta {
  align-self: end;
  margin: 0;
  padding-inline-start: var(--space-4);
  border-inline-start: var(--border);
}

@media (max-width: 1019px) {
  .groupes-prives-page .gp-hero__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);
  }

  .groupes-prives-page .gp-hero__media {
    grid-column: 1 / -1;
  }

  .groupes-prives-page .gp-format-grid,
  .groupes-prives-page .gp-dimension-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .groupes-prives-page .gp-format-card:nth-child(3),
  .groupes-prives-page .gp-dimension:nth-child(3) {
    grid-column: 1 / -1;
  }

  .groupes-prives-page .gp-rhythm__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);
  }

  .groupes-prives-page .gp-sequence-list {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .groupes-prives-page .gp-dining__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);
  }

  .groupes-prives-page .gp-dining__intro {
    grid-column: 1;
  }

  .groupes-prives-page .gp-dining__media {
    grid-column: 2;
    grid-row: 1;
  }

  .groupes-prives-page .gp-dining__continuity,
  .groupes-prives-page .gp-dining__brief {
    grid-column: auto;
  }

  .groupes-prives-page .gp-checklist__top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .groupes-prives-page .gp-checklist__intro,
  .groupes-prives-page .gp-progress {
    grid-column: auto;
  }

  .groupes-prives-page .gp-parameter-grid,
  .groupes-prives-page .gp-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .groupes-prives-page .gp-questions__grid,
  .groupes-prives-page .gp-request__grid {
    grid-template-columns: 1fr;
  }

  .groupes-prives-page .gp-questions__rail,
  .groupes-prives-page .gp-request-form,
  .groupes-prives-page .gp-summary {
    grid-column: 1;
    grid-row: auto;
  }

  .groupes-prives-page .gp-summary {
    grid-row: 1;
  }

  .groupes-prives-page .gp-request-form {
    grid-row: 2;
  }
}

@media (max-width: 759px) {
  .groupes-prives-page {
    padding-block: var(--space-8) var(--space-12);
  }

  .groupes-prives-page .gp-section + .gp-section {
    margin-block-start: var(--space-12);
  }

  .groupes-prives-page .gp-hero__grid,
  .groupes-prives-page .gp-rhythm__grid,
  .groupes-prives-page .gp-dining__grid,
  .groupes-prives-page .gp-checklist__top,
  .groupes-prives-page .gp-format-grid,
  .groupes-prives-page .gp-parameter-grid,
  .groupes-prives-page .gp-dimension-grid,
  .groupes-prives-page .gp-sequence-list,
  .groupes-prives-page .gp-process-grid,
  .groupes-prives-page .gp-final__cell {
    grid-template-columns: minmax(0, 1fr);
  }

  .groupes-prives-page .gp-hero__intro,
  .groupes-prives-page .gp-hero__rail,
  .groupes-prives-page .gp-hero__media,
  .groupes-prives-page .gp-rhythm__story,
  .groupes-prives-page .gp-rhythm__media,
  .groupes-prives-page .gp-sequence-list,
  .groupes-prives-page .gp-dining__intro,
  .groupes-prives-page .gp-dining__media,
  .groupes-prives-page .gp-dining__continuity,
  .groupes-prives-page .gp-dining__brief,
  .groupes-prives-page .gp-checklist__intro,
  .groupes-prives-page .gp-progress,
  .groupes-prives-page .gp-format-card:nth-child(3),
  .groupes-prives-page .gp-dimension:nth-child(3) {
    grid-column: 1;
    grid-row: auto;
  }

  .groupes-prives-page .gp-hero__intro h1 {
    font-size: clamp(2.25rem, 11vw, 3rem);
  }

  .groupes-prives-page .gp-hero__intro .lead,
  .groupes-prives-page .gp-hero__intro p:not(.lead),
  .groupes-prives-page .gp-section-intro p,
  .groupes-prives-page .gp-rhythm__story p,
  .groupes-prives-page .gp-dining__intro p,
  .groupes-prives-page .gp-request__intro p {
    max-width: 42ch;
  }

  .groupes-prives-page .gp-hero__intro .button,
  .groupes-prives-page .gp-final__content .button {
    width: 100%;
  }

  .groupes-prives-page .gp-formats__intro,
  .groupes-prives-page .gp-dimensions__intro,
  .groupes-prives-page .gp-questions__intro,
  .groupes-prives-page .gp-process__intro,
  .groupes-prives-page .gp-request__intro,
  .groupes-prives-page .gp-final__cell {
    width: 100%;
  }

  .groupes-prives-page .gp-format-card p,
  .groupes-prives-page .gp-dimension p,
  .groupes-prives-page .gp-parameter p,
  .groupes-prives-page .gp-process-step p,
  .groupes-prives-page .gp-sequence p,
  .groupes-prives-page .gp-questions__rail p {
    max-width: 42ch;
  }

  .groupes-prives-page .gp-form-grid--two,
  .groupes-prives-page .gp-checkboxes {
    grid-template-columns: minmax(0, 1fr);
  }

  .groupes-prives-page .gp-field--full,
  .groupes-prives-page .gp-checkboxes .data-label {
    grid-column: 1;
  }

  .groupes-prives-page .gp-summary dl > div {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-1);
  }

  .groupes-prives-page .gp-final__meta {
    padding-inline-start: 0;
    padding-top: var(--space-4);
    border-inline-start: 0;
    border-top: var(--border);
  }
}
