.hosted-sessions-page {
  overflow-x: clip;
}

.hosted-sessions-page h1,
.hosted-sessions-page h2,
.hosted-sessions-page h3,
.hosted-sessions-page p,
.hosted-sessions-page blockquote,
.hosted-sessions-page figure {
  overflow-wrap: anywhere;
}

.hs-hero {
  padding-block: clamp(4.5rem, 9vw, 8rem);
}

.hs-hero__grid,
.hs-host__grid,
.hs-dining__grid,
.hs-enquiry__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(2.5rem, 5vw, 4rem);
  align-items: center;
}

.hs-hero__copy,
.hs-host__copy,
.hs-dining__copy,
.hs-enquiry__copy,
.hs-hero__media,
.hs-host__media,
.hs-dining__media,
.hs-enquiry-form {
  min-width: 0;
  width: 100%;
}

.hs-hero__copy {
  max-width: 38.125rem;
}

.hs-hero__copy > .eyebrow,
.hs-host__copy > .eyebrow,
.hs-dining__copy > .eyebrow,
.hs-enquiry__copy > .eyebrow {
  margin-block-end: var(--space-3);
}

.hs-hero h1 {
  max-width: 43.75rem;
  font-size: clamp(3rem, 5.2vw, 4rem);
}

.hs-hero__lead {
  max-width: 35rem;
  color: var(--color-platinum-muted);
  font-size: var(--text-lead);
}

.hs-hero__actions {
  margin-block-start: var(--space-7);
}

.hs-hero__note,
.hs-host__aside,
.hs-dining__aside,
.hs-enquiry__note {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  margin-block-start: var(--space-7);
}

.hs-hero__note .meta {
  max-width: 31rem;
}

.hs-hero__media {
  aspect-ratio: 16 / 10;
}

.hs-hero__media::after,
.hs-host__media::after,
.hs-dining__media::after {
  position: absolute;
  inset: 0;
  background: rgb(13 13 13 / 20%);
  content: "";
  pointer-events: none;
  transition: background-color var(--transition-base);
}

.hs-hero__media:hover::after,
.hs-host__media:hover::after,
.hs-dining__media:hover::after {
  background: rgb(13 13 13 / 12%);
}

.hs-hero__media img,
.hs-host__media img,
.hs-dining__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hs-hero__media img {
  object-position: 64% center;
}

.hs-rhythm__intro {
  width: 100%;
  max-width: 38.75rem;
}

.hs-rhythm__intro > .eyebrow,
.hs-conventions__intro > .eyebrow,
.hs-paths__intro > .eyebrow {
  margin-block-end: var(--space-3);
}

.hs-rhythm__sequence {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  min-width: 0;
  margin-block-start: var(--space-9);
}

.hs-sequence-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: 0 var(--space-7);
  border-inline-start: 0.0625rem solid var(--color-border);
}

.hs-sequence-card:first-child {
  padding-inline-start: 0;
  border-inline-start: 0;
}

.hs-sequence-card:last-child {
  padding-inline-end: 0;
}

.hs-sequence-card__number {
  margin-block-end: var(--space-4);
  color: var(--color-antique-gold);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-label);
}

.hs-sequence-card > .eyebrow {
  margin-block-end: var(--space-3);
}

.hs-sequence-card h3 {
  max-width: 20rem;
}

.hs-sequence-card > p:not(.eyebrow):not(.hs-sequence-card__number) {
  max-width: 20.625rem;
}

.hs-sequence-card .text-link {
  margin-block-start: auto;
}

.hs-host__grid {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}

.hs-host__media {
  aspect-ratio: 4 / 5;
}

.hs-host__media img {
  object-position: center center;
}

.hs-host__copy {
  max-width: 32.5rem;
}

.hs-host__copy > p:not(.eyebrow) {
  max-width: 32.5rem;
}

.hs-host__aside p {
  max-width: 26.25rem;
}

.hs-host__copy blockquote {
  max-width: 26.25rem;
  margin-block-start: var(--space-6);
}

.hs-conventions__intro {
  width: 100%;
  max-width: 35rem;
}

.hs-conventions__cards,
.hs-paths__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-block-start: var(--space-8);
}

.hs-convention-card,
.hs-path-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  min-height: 100%;
  transition: border-color var(--transition-base);
}

.hs-convention-card:hover,
.hs-path-card:hover {
  border-color: var(--color-border-gold);
}

.hs-convention-card > .eyebrow,
.hs-path-card > .eyebrow {
  margin-block-end: var(--space-3);
}

.hs-convention-card > p:not(.eyebrow),
.hs-path-card > p:not(.eyebrow) {
  max-width: 19.375rem;
}

.hs-convention-card .text-link,
.hs-path-card .text-link {
  margin-block-start: auto;
}

.hs-dining__copy {
  max-width: 31.875rem;
}

.hs-dining__copy > p:not(.eyebrow) {
  max-width: 31.875rem;
}

.hs-dining__aside p {
  max-width: 28rem;
}

.hs-dining__media {
  aspect-ratio: 3 / 2;
}

.hs-dining__media img {
  object-position: center center;
}

.hs-paths__intro {
  width: 100%;
  max-width: 43.75rem;
  margin-inline: auto;
  text-align: center;
}

.hs-paths__intro > p:not(.eyebrow) {
  max-width: 41.25rem;
  margin-inline: auto;
}

.hs-path-card h3 {
  max-width: 18.75rem;
}

.hs-enquiry__copy {
  max-width: 30rem;
}

.hs-enquiry__copy > p:not(.eyebrow) {
  max-width: 30rem;
}

.hs-enquiry__note p {
  max-width: 28rem;
}

.hs-enquiry-form {
  max-width: 40rem;
  justify-self: end;
}

.hs-enquiry-form__heading,
.hs-enquiry-form__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.hs-enquiry-form__heading {
  gap: var(--space-2);
}

.hs-enquiry-form__heading h3,
.hs-enquiry-form__heading p {
  margin-block-end: 0;
}

.hs-enquiry-form__heading p {
  max-width: 32.5rem;
  font-size: var(--text-sm);
}

.hs-enquiry-form__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  min-width: 0;
  margin-block-start: var(--space-6);
}

.hs-field {
  min-width: 0;
  width: 100%;
}

.hs-field--full {
  grid-column: 1 / -1;
}

.hs-field__error {
  min-height: 1.25rem;
  margin: var(--space-1) 0 0;
  color: var(--color-error);
  font-size: var(--text-xs);
  line-height: var(--leading-small);
}

.hs-field [aria-invalid="true"] {
  border-color: var(--color-error);
}

.hs-enquiry-form__actions {
  gap: var(--space-3);
  margin-block-start: var(--space-5);
}

.hs-enquiry-form__status {
  min-height: 1.5rem;
  margin: 0;
  font-size: var(--text-sm);
}

.hs-enquiry-form__status--error {
  color: var(--color-error);
}

.hs-enquiry-form__status--success {
  color: var(--color-success);
}

.hs-closing {
  padding-block: clamp(6rem, 9vw, 8rem);
}

.hs-closing__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  max-width: 47.5rem;
  text-align: center;
}

.hs-closing__inner .rule {
  margin-block-end: var(--space-5);
}

.hs-closing__inner > .eyebrow {
  margin-block-end: var(--space-3);
}

.hs-closing__inner h2 {
  max-width: 38.75rem;
}

.hs-closing__inner > p:not(.eyebrow) {
  max-width: 37.5rem;
}

.hs-closing__actions {
  justify-content: center;
  margin-block-start: var(--space-7);
}

@media (max-width: 68.6875rem) {
  .hs-hero__grid,
  .hs-dining__grid,
  .hs-enquiry__grid {
    gap: var(--space-7);
  }

  .hs-hero__copy,
  .hs-dining__copy,
  .hs-enquiry__copy {
    max-width: none;
  }

  .hs-rhythm__sequence {
    gap: var(--space-5);
  }

  .hs-sequence-card {
    padding-inline: var(--space-5);
  }
}

@media (max-width: 63.9375rem) {
  .hs-hero__grid,
  .hs-host__grid,
  .hs-dining__grid,
  .hs-enquiry__grid {
    grid-template-columns: 1fr;
  }

  .hs-hero__copy,
  .hs-host__copy,
  .hs-dining__copy,
  .hs-enquiry__copy,
  .hs-enquiry-form {
    justify-self: start;
    max-width: 38.75rem;
  }

  .hs-hero__media {
    min-height: 20rem;
  }

  .hs-host__grid {
    gap: var(--space-7);
  }

  .hs-host__media {
    order: -1;
    max-width: 35rem;
    aspect-ratio: 4 / 4.5;
  }

  .hs-dining__grid {
    gap: var(--space-7);
  }

  .hs-dining__media {
    max-width: 50rem;
  }

  .hs-enquiry-form {
    max-width: 40rem;
  }
}

@media (max-width: 56.1875rem) {
  .hs-rhythm__sequence,
  .hs-conventions__cards,
  .hs-paths__cards {
    grid-template-columns: 1fr;
  }

  .hs-rhythm__sequence {
    gap: 0;
    margin-block-start: var(--space-7);
  }

  .hs-sequence-card {
    padding: var(--space-6) 0;
    border-block-start: 0.0625rem solid var(--color-border);
    border-inline-start: 0;
  }

  .hs-sequence-card:first-child {
    padding-block-start: 0;
    border-block-start: 0;
  }

  .hs-sequence-card:last-child {
    padding-block-end: 0;
  }

  .hs-sequence-card > p:not(.eyebrow):not(.hs-sequence-card__number),
  .hs-convention-card > p:not(.eyebrow),
  .hs-path-card > p:not(.eyebrow) {
    max-width: 38.75rem;
  }

  .hs-conventions__cards,
  .hs-paths__cards {
    gap: var(--space-4);
    margin-block-start: var(--space-7);
  }
}

@media (max-width: 35rem) {
  .hs-hero {
    padding-block-start: var(--space-9);
  }

  .hs-hero__grid,
  .hs-host__grid,
  .hs-dining__grid,
  .hs-enquiry__grid {
    gap: var(--space-6);
  }

  .hs-hero h1 {
    font-size: clamp(2.75rem, 13vw, 3rem);
  }

  .hs-hero__lead {
    font-size: var(--text-base);
  }

  .hs-hero__media {
    width: calc(100% + (var(--gutter) * 2));
    margin-inline: calc(var(--gutter) * -1);
    min-height: 20rem;
    aspect-ratio: 16 / 11;
  }

  .hs-hero__media img {
    object-position: 60% center;
  }

  .hs-host__media,
  .hs-dining__media {
    width: calc(100% + (var(--gutter) * 2));
    max-width: none;
    margin-inline: calc(var(--gutter) * -1);
  }

  .hs-host__media img {
    object-position: 54% center;
  }

  .hs-dining__media {
    aspect-ratio: 3 / 2.2;
  }

  .hs-dining__media img {
    object-position: center center;
  }

  .hs-enquiry-form {
    padding: var(--space-5);
  }

  .hs-enquiry-form__fields {
    grid-template-columns: 1fr;
  }

  .hs-field--full {
    grid-column: auto;
  }

  .hs-closing__actions {
    flex-direction: column;
    align-items: center;
  }

  .hs-closing__actions .button,
  .hs-closing__actions .text-link {
    max-width: 100%;
  }
}

@media (hover: none) {
  .hs-hero__media:hover::after,
  .hs-host__media:hover::after,
  .hs-dining__media:hover::after {
    background: rgb(13 13 13 / 20%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hs-hero__media::after,
  .hs-host__media::after,
  .hs-dining__media::after,
  .hs-convention-card,
  .hs-path-card {
    transition: none;
  }
}
