.venues-page {
  background: var(--color-ink-night);
}

.venues-page .section {
  position: relative;
}

.venues-hero {
  padding-block: var(--space-10) var(--section-space);
  background: linear-gradient(135deg, var(--color-ink-night) 0%, var(--color-candle-black) 100%);
}

.venues-hero__grid,
.venues-criteria__grid,
.venues-responsible__grid,
.venues-cta__panel {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.venues-hero__grid > *,
.venues-criteria__grid > *,
.venues-responsible__grid > *,
.venues-cta__panel > * {
  min-width: 0;
}

.venues-hero__copy {
  grid-column: span 5;
  align-self: center;
  max-width: 28ch;
}

.venues-hero__copy .intro {
  max-width: 29ch;
}

.venues-hero__link {
  margin-block-start: var(--space-2);
}

.venues-hero__visual {
  position: relative;
  grid-column: span 7;
  min-width: 0;
  padding-block-end: var(--space-8);
}

.venues-hero__figure {
  height: 40.625rem;
  margin: 0;
}

.venues-hero__figure::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(12, 10, 13, 0.48), transparent 52%);
  content: "";
  pointer-events: none;
}

.venues-hero__figure img {
  object-position: center;
}

.venues-concept-card {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: calc(var(--space-8) * -1);
  display: flex;
  width: min(24.375rem, calc(100% - var(--space-5)));
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--color-border-dark);
  border-block-start-color: var(--color-cognac);
  background: var(--color-wine-panel);
  box-shadow: var(--shadow-raised);
}

.venues-concept-card h2,
.venues-concept-card p {
  margin: 0;
}

.venues-concept-card h2 {
  font-size: 2rem;
}

.venues-concept-card p {
  max-width: 33ch;
}

.venues-concept-card .button {
  align-self: flex-start;
}

.venues-section-head {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.venues-section-head > * {
  min-width: 0;
  margin: 0;
}

.venues-regions__head {
  width: min(100%, 44rem);
}

.venues-regions__head .intro {
  max-width: 58ch;
}

.venues-regions__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-8);
}

.venues-regions__grid > * {
  min-width: 0;
}

.venues-region-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.venues-region-card > * {
  margin: 0;
}

.venues-region-card p {
  max-width: 32ch;
}

.venues-region-card .editorial-link {
  margin-block-start: auto;
}

.venues-region-card__number {
  color: var(--color-cognac);
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
}

.venues-criteria {
  background: var(--color-champagne-paper);
}

.venues-criteria__content {
  grid-column: span 7;
}

.venues-criteria__content > .eyebrow {
  margin-block-end: var(--space-4);
}

.venues-criteria__content > .intro {
  max-width: 62ch;
}

.venues-criteria__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-7);
}

.venues-criteria__list > * {
  min-width: 0;
}

.venues-criterion {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  gap: var(--space-3);
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--color-border-light);
}

.venues-criterion > * {
  min-width: 0;
}

.venues-criterion__number {
  color: var(--color-cognac);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
}

.venues-criterion h3 {
  font-size: 1.75rem;
}

.venues-criterion p {
  max-width: 39ch;
}

.venues-criteria__figure {
  grid-column: span 4;
  align-self: center;
  margin: 0;
}

.venues-criteria__figure .media-frame {
  aspect-ratio: 4 / 5;
}

.venues-criteria__figure img {
  object-position: center;
}

.venues-capacity__head {
  width: min(100%, 39rem);
}

.venues-capacity__head .intro {
  max-width: 50ch;
}

.venues-capacity__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-8);
}

.venues-capacity__grid > * {
  min-width: 0;
}

.venues-capacity-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-height: 100%;
}

.venues-capacity-card > * {
  margin: 0;
}

.venues-capacity-card--raised {
  background: var(--color-wine-panel);
}

.venues-capacity-card__range {
  color: var(--color-cognac);
  font-family: var(--font-heading);
  font-size: clamp(3rem, 5vw, 4.5rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 0.9;
}

.venues-capacity-card p {
  max-width: 34ch;
}

.venues-capacity-card .editorial-link {
  margin-block-start: auto;
}

.venues-capacity__note {
  width: 100%;
  margin-block-start: var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--color-border-dark);
  border-inline-start-color: var(--color-cognac);
}

.venues-capacity__note h3,
.venues-capacity__note p {
  max-width: 42.5rem;
}

.venues-technical__head {
  width: min(100%, 39rem);
}

.venues-technical__figure {
  margin-block: var(--space-7) var(--space-8);
}

.venues-technical__figure .media-frame {
  aspect-ratio: 16 / 10;
}

.venues-technical__figure img {
  object-position: center;
}

.venues-technical__figure figcaption {
  max-width: 68ch;
}

.venues-technical__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.venues-technical__grid > * {
  min-width: 0;
}

.venues-technical__block {
  grid-column: span 5;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding-block-start: var(--space-5);
  border-block-start: 1px solid var(--color-cognac);
}

.venues-technical__block:nth-child(2) {
  grid-column: 8 / span 5;
}

.venues-technical__block > * {
  margin: 0;
}

.venues-technical__block p {
  max-width: 48ch;
}

.venues-production {
  background: var(--color-plum-shadow);
}

.venues-production__head {
  width: min(100%, 40rem);
}

.venues-production__head .intro {
  max-width: 58ch;
}

.venues-production__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-8);
}

.venues-production__grid > * {
  min-width: 0;
}

.venues-step {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding-block-start: var(--space-5);
  border-block-start: 1px solid var(--color-border-dark);
}

.venues-step > * {
  margin: 0;
}

.venues-step__number {
  color: var(--color-cognac);
  font-family: var(--font-heading);
  font-size: 3rem;
  font-weight: 600;
  line-height: 0.9;
}

.venues-step p {
  max-width: 38ch;
}

.venues-step .editorial-link {
  margin-block-start: auto;
}

.venues-responsible {
  background: var(--color-champagne-paper);
}

.venues-responsible__notice {
  width: min(100%, 57rem);
  margin-block-end: var(--space-8);
}

.venues-responsible__main {
  grid-column: span 7;
}

.venues-responsible__main > .eyebrow {
  margin-block-end: var(--space-4);
}

.venues-responsible__main .intro {
  max-width: 52ch;
}

.venues-responsible__tokens {
  grid-column: 9 / span 4;
}

.venues-responsible__tokens p {
  max-width: 44ch;
}

.venues-responsible__tokens .content-list {
  max-width: 36ch;
}

.venues-responsible__excluded {
  grid-column: 1 / -1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-block-start: var(--space-6);
  padding: var(--space-6);
  border: 1px solid rgba(247, 244, 238, 0.2);
  border-inline-start: 3px solid var(--color-bordeaux);
  background: var(--color-ink-night);
  color: var(--color-ivory);
}

.venues-responsible__excluded > * {
  margin: 0;
}

.venues-responsible__excluded p {
  max-width: 58ch;
}

.venues-scenarios__head {
  width: min(100%, 40rem);
}

.venues-scenarios__head .intro {
  max-width: 55ch;
}

.venues-scenarios__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-8);
}

.venues-scenarios__grid > * {
  min-width: 0;
}

.venues-scenario {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--color-border-dark);
}

.venues-scenario > * {
  margin: 0;
}

.venues-scenario p {
  max-width: 38ch;
}

.venues-scenario--dark {
  background: var(--color-plum-shadow);
}

.venues-scenario--paper {
  border-color: var(--color-border-light);
  background: var(--color-champagne-paper);
  color: var(--color-ink-night);
}

.venues-scenario--paper .label {
  color: var(--color-bordeaux);
}

.venues-scenario--bordeaux {
  border-color: rgba(247, 244, 238, 0.2);
  background: var(--color-bordeaux);
  color: var(--color-ivory);
}

.venues-scenario--bordeaux .label {
  color: var(--color-champagne-paper);
}

.venues-scenario--bordeaux .editorial-link {
  margin-block-start: auto;
  color: var(--color-cognac-light);
}

.venues-cta {
  padding-block-start: 0;
}

.venues-cta__panel {
  grid-template-columns: repeat(10, minmax(0, 1fr));
  width: min(100%, 64.5rem);
  margin-inline: auto;
  padding: var(--space-8);
  border: 1px solid var(--color-border-dark);
  background: var(--color-wine-panel);
  box-shadow: inset 0 1px 0 var(--color-cognac-wash), var(--shadow-subtle);
}

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

.venues-cta__content > * {
  margin: 0;
}

.venues-cta__content .intro {
  max-width: 54ch;
}

.venues-cta__actions {
  margin-block-start: var(--space-2);
}

.venues-cta__responsible {
  color: var(--color-ash-caption);
  font-size: var(--text-meta);
  line-height: var(--line-meta);
}

.venues-cta__brief {
  grid-column: 8 / span 3;
  min-width: 0;
  padding-inline-start: var(--space-5);
  border-inline-start: 1px solid var(--color-border-dark);
}

.venues-cta__brief h3 {
  margin-block-end: var(--space-4);
}

.venues-cta__brief ul {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
}

.venues-cta__brief li {
  min-width: 0;
  padding-block-end: var(--space-3);
  border-block-end: 1px solid var(--color-border-dark);
  font-size: var(--text-label);
  font-weight: 600;
}

.venues-selection-note {
  padding-block: var(--space-6) var(--space-9);
}

.venues-selection-note__content {
  width: min(100%, 44rem);
  padding-block-start: var(--space-6);
  border-block-start: 1px solid var(--color-border-dark);
}

.venues-selection-note__content .eyebrow {
  margin-block-end: var(--space-4);
}

.venues-selection-note__content p {
  max-width: 64ch;
}

@media (max-width: 64rem) {
  .venues-hero__grid,
  .venues-criteria__grid,
  .venues-responsible__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .venues-hero__copy {
    grid-column: span 3;
  }

  .venues-hero__visual {
    grid-column: span 5;
    padding-block-end: var(--space-7);
  }

  .venues-hero__figure {
    height: 33rem;
  }

  .venues-concept-card {
    left: calc(var(--space-5) * -1);
    width: min(22.5rem, calc(100% - var(--space-4)));
  }

  .venues-regions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .venues-criteria__content {
    grid-column: span 5;
  }

  .venues-criteria__figure {
    grid-column: span 3;
  }

  .venues-criteria__list {
    grid-template-columns: 1fr;
  }

  .venues-capacity__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .venues-capacity-card:nth-child(3) {
    grid-column: 1 / -1;
  }

  .venues-technical__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .venues-technical__block,
  .venues-technical__block:nth-child(2) {
    grid-column: span 4;
  }

  .venues-production__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .venues-responsible__main {
    grid-column: span 5;
  }

  .venues-responsible__tokens {
    grid-column: span 3;
  }

  .venues-cta__panel {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .venues-cta__content {
    grid-column: span 5;
  }

  .venues-cta__brief {
    grid-column: span 3;
  }
}

@media (max-width: 48rem) {
  .venues-hero {
    padding-block: var(--space-8) var(--section-space);
  }

  .venues-hero__grid,
  .venues-criteria__grid,
  .venues-responsible__grid,
  .venues-cta__panel,
  .venues-technical__grid {
    grid-template-columns: 1fr;
  }

  .venues-hero__copy,
  .venues-hero__visual,
  .venues-criteria__content,
  .venues-criteria__figure,
  .venues-responsible__main,
  .venues-responsible__tokens,
  .venues-technical__block,
  .venues-technical__block:nth-child(2),
  .venues-cta__content,
  .venues-cta__brief {
    grid-column: 1;
  }

  .venues-hero__copy {
    max-width: none;
  }

  .venues-hero__copy .intro,
  .venues-hero__copy p {
    max-width: 30ch;
  }

  .venues-hero__visual {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    padding: 0;
  }

  .venues-hero__figure {
    height: auto;
    aspect-ratio: 4 / 5;
  }

  .venues-hero__figure img {
    object-position: center top;
  }

  .venues-concept-card {
    position: static;
    width: 100%;
  }

  .venues-concept-card .button {
    width: 100%;
  }

  .venues-regions__grid,
  .venues-capacity__grid,
  .venues-production__grid,
  .venues-scenarios__grid,
  .venues-criteria__list {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .venues-capacity-card:nth-child(3) {
    grid-column: auto;
  }

  .venues-region-card p,
  .venues-capacity-card p,
  .venues-step p,
  .venues-scenario p,
  .venues-criterion p,
  .venues-technical__block p,
  .venues-responsible__main .intro,
  .venues-responsible__tokens p,
  .venues-responsible__tokens .content-list {
    max-width: none;
  }

  .venues-criteria__grid {
    gap: var(--space-7);
  }

  .venues-criteria__figure {
    order: -1;
  }

  .venues-criteria__figure .media-frame {
    aspect-ratio: 4 / 5;
  }

  .venues-capacity__grid,
  .venues-production__grid,
  .venues-scenarios__grid {
    margin-block-start: var(--space-6);
  }

  .venues-capacity-card__range {
    font-size: 3rem;
  }

  .venues-technical__figure .media-frame {
    aspect-ratio: 4 / 5;
  }

  .venues-technical__figure {
    margin-block: var(--space-6);
  }

  .venues-technical__grid {
    gap: var(--space-7);
  }

  .venues-production__grid {
    gap: var(--space-4);
  }

  .venues-step {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    column-gap: var(--space-3);
    row-gap: var(--space-3);
  }

  .venues-step__number {
    grid-row: span 3;
    font-size: 2rem;
  }

  .venues-step h3,
  .venues-step p,
  .venues-step .editorial-link {
    grid-column: 2;
  }

  .venues-responsible__notice {
    margin-block-end: var(--space-6);
  }

  .venues-responsible__grid {
    gap: var(--space-7);
  }

  .venues-responsible__excluded {
    grid-column: 1;
    margin-block-start: var(--space-6);
    padding: var(--space-5);
  }

  .venues-scenario {
    padding: var(--space-5);
  }

  .venues-cta__panel {
    gap: var(--space-7);
    padding: var(--space-5);
  }

  .venues-cta__brief {
    padding: 0;
    border: 0;
  }

  .venues-cta__actions {
    width: 100%;
  }

  .venues-selection-note {
    padding-block: var(--space-5) var(--space-8);
  }
}

@media (max-width: 30rem) {
  .venues-concept-card,
  .venues-responsible__excluded,
  .venues-cta__panel {
    padding: var(--space-4);
  }

  .venues-criterion h3 {
    font-size: 1.5rem;
  }
}
