.ch-hospitality-page .ch-site-header {
  background: var(--ch-surface);
  border-bottom: 1px solid var(--ch-hairline);
}

.ch-hospitality-main {
  background: var(--ch-paper);
}

.ch-hospitality-hero {
  background: var(--ch-paper);
}

.ch-hospitality-section {
  border-bottom: 1px solid var(--ch-hairline);
  display: grid;
  gap: 62px;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  padding: 92px var(--ch-pad-page);
}

.ch-hospitality-section__head {
  max-width: 590px;
}

.ch-hospitality-section h2,
.ch-hospitality-audience-card h3,
.ch-hospitality-programme-card h3 {
  color: var(--ch-ink);
  font-family: var(--ch-display);
  font-weight: 400;
  letter-spacing: 0;
  margin: 0;
}

.ch-hospitality-section h2 {
  font-size: 43px;
  line-height: 1.08;
}

.ch-hospitality-section__head > p:not(.ch-kicker),
.ch-hospitality-audience-card p,
.ch-hospitality-programme-card p,
.ch-hospitality-pricebook p {
  color: var(--ch-ink-muted);
  font-size: 13px;
  line-height: 1.7;
  margin: 20px 0 0;
}

.ch-hospitality-audience {
  background: var(--ch-paper-soft);
  display: block;
}

.ch-hospitality-audience .ch-hospitality-section__head {
  margin-bottom: 48px;
}

.ch-hospitality-audience__grid {
  display: grid;
  gap: 28px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ch-hospitality-audience-card {
  background: var(--ch-surface);
  border: 1px solid var(--ch-hairline);
  min-width: 0;
}

.ch-hospitality-audience-card__media {
  aspect-ratio: 4 / 3;
}

.ch-hospitality-audience-card__media img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.ch-hospitality-audience-card__body {
  padding: 28px;
}

.ch-hospitality-audience-card h3,
.ch-hospitality-programme-card h3 {
  font-size: 29px;
  line-height: 1.05;
}

.ch-hospitality-audience-card ol {
  border-top: 1px solid var(--ch-hairline);
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 24px 0 0;
  padding: 20px 0 0;
}

.ch-hospitality-audience-card li {
  color: var(--ch-ink-soft);
  display: grid;
  font-size: 12px;
  gap: 14px;
  grid-template-columns: 30px minmax(0, 1fr);
  line-height: 1.45;
}

.ch-hospitality-audience-card li span {
  color: var(--ch-ink-muted);
  font-family: var(--ch-mono);
  font-size: 10px;
}

.ch-hospitality-workflow {
  background: var(--ch-paper);
}

.ch-hospitality-pricing {
  background: var(--ch-surface);
}

.ch-hospitality-pricebook {
  min-width: 0;
}

.ch-hospitality-pricebook table {
  border-collapse: collapse;
  width: 100%;
}

.ch-hospitality-pricebook th,
.ch-hospitality-pricebook td {
  border-bottom: 1px solid var(--ch-hairline);
  color: var(--ch-ink-soft);
  font-size: 13px;
  line-height: 1.45;
  padding: 22px 18px;
  text-align: left;
  vertical-align: top;
}

.ch-hospitality-pricebook thead th {
  color: var(--ch-ink-muted);
  font-family: var(--ch-mono);
  font-size: 10px;
  font-weight: 400;
  text-transform: uppercase;
}

.ch-hospitality-pricebook tbody th span,
.ch-hospitality-pricebook tbody th small {
  display: block;
}

.ch-hospitality-pricebook tbody th span {
  color: var(--ch-ink);
  font-family: var(--ch-display);
  font-size: 25px;
  font-weight: 400;
  line-height: 1.05;
}

.ch-hospitality-pricebook tbody th small {
  color: var(--ch-ink-muted);
  font-family: var(--ch-mono);
  font-size: 10px;
  font-weight: 400;
  margin-top: 7px;
  text-transform: uppercase;
}

.ch-hospitality-programmes {
  background: var(--ch-paper-soft);
  display: block;
}

.ch-hospitality-programmes .ch-hospitality-section__head {
  margin-bottom: 42px;
}

.ch-hospitality-programmes__grid {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ch-hospitality-programme-card {
  background: var(--ch-surface);
  border: 1px solid var(--ch-hairline);
  display: grid;
  gap: 18px;
  padding: 30px;
}

.ch-hospitality-programme-card p {
  margin: 0;
}

.ch-hospitality-programme-card .ch-button {
  justify-self: start;
}

.ch-hospitality-quote {
  background: var(--ch-surface);
}

.ch-hospitality-quote__form {
  min-width: 0;
}

.ch-hospitality-quote__form .ch-partner-form {
  display: grid;
  gap: 18px;
}

.ch-hospitality-quote__form .ch-partner-form__grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ch-hospitality-quote__form .ch-partner-form__field {
  display: grid;
  gap: 7px;
  margin: 0;
  min-width: 0;
}

.ch-hospitality-quote__form .ch-partner-form__field--full,
.ch-hospitality-quote__form .ch-shop-quote-context {
  grid-column: 1 / -1;
}

.ch-hospitality-quote__form .ch-partner-form__label,
.ch-hospitality-quote__form .ch-partner-form__note,
.ch-hospitality-quote__form .ch-shop-quote-context {
  font-family: var(--ch-mono);
  font-size: 10px;
  line-height: 1.5;
}

.ch-hospitality-quote__form input,
.ch-hospitality-quote__form select,
.ch-hospitality-quote__form textarea {
  background: var(--ch-paper);
  border: 1px solid var(--ch-hairline);
  border-radius: 0;
  color: var(--ch-ink);
  font: inherit;
  min-height: 48px;
  padding: 12px;
  width: 100%;
}

.ch-hospitality-quote__form textarea {
  min-height: 132px;
  resize: vertical;
}

.ch-hospitality-quote__form .ch-partner-form__checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.ch-hospitality-quote__form .ch-partner-form__checkbox {
  align-items: center;
  display: inline-flex;
  gap: 7px;
}

.ch-hospitality-quote__form .ch-partner-form__checkbox input {
  min-height: 0;
  width: auto;
}

.ch-hospitality-quote__form .ch-partner-form__actions {
  display: flex;
  justify-content: flex-end;
}

.ch-hospitality-quote__form .ch-partner-form__actions button {
  background: var(--ch-ink);
  border: 1px solid var(--ch-ink);
  color: var(--ch-surface);
  cursor: pointer;
  font-family: var(--ch-mono);
  min-height: 48px;
  min-width: 230px;
  padding: 12px 18px;
  text-transform: uppercase;
}

@media (max-width: 1100px) {
  .ch-hospitality-section {
    gap: 42px;
    grid-template-columns: 1fr;
  }

  .ch-hospitality-audience__grid,
  .ch-hospitality-programmes__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .ch-hospitality-section {
    gap: 28px;
    padding: 54px 18px;
  }

  .ch-hospitality-section h2 {
    font-size: 31px;
    line-height: 1.1;
  }

  .ch-hospitality-section__head > p:not(.ch-kicker),
  .ch-hospitality-audience-card p,
  .ch-hospitality-programme-card p,
  .ch-hospitality-pricebook p {
    font-size: 12px;
    line-height: 1.6;
    margin-top: 16px;
  }

  .ch-hospitality-audience .ch-hospitality-section__head,
  .ch-hospitality-programmes .ch-hospitality-section__head {
    margin-bottom: 28px;
  }

  .ch-hospitality-audience__grid {
    gap: 18px;
  }

  .ch-hospitality-audience-card__body,
  .ch-hospitality-programme-card {
    padding: 22px;
  }

  .ch-hospitality-audience-card h3,
  .ch-hospitality-programme-card h3 {
    font-size: 25px;
  }

  .ch-hospitality-pricebook table,
  .ch-hospitality-pricebook thead,
  .ch-hospitality-pricebook tbody,
  .ch-hospitality-pricebook tr,
  .ch-hospitality-pricebook th,
  .ch-hospitality-pricebook td {
    display: block;
  }

  .ch-hospitality-pricebook thead {
    display: none;
  }

  .ch-hospitality-pricebook tr {
    border: 1px solid var(--ch-hairline);
    margin-bottom: 12px;
    padding: 18px;
  }

  .ch-hospitality-pricebook th,
  .ch-hospitality-pricebook td {
    border: 0;
    padding: 0;
  }

  .ch-hospitality-pricebook td {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
  }

  .ch-hospitality-pricebook td::before {
    color: var(--ch-ink-muted);
    content: attr(data-label);
    font-family: var(--ch-mono);
    font-size: 10px;
    text-transform: uppercase;
  }

  .ch-hospitality-quote__form {
    width: 100%;
  }

  .ch-hospitality-quote__form .ch-partner-form__grid {
    grid-template-columns: 1fr;
  }

  .ch-hospitality-quote__form .ch-partner-form__actions button {
    width: 100%;
  }
}
