.restaurant-page {
  background: var(--color-blackberry-950);
}

.restaurant-page .eyebrow {
  color: var(--color-brass-300);
}

.restaurant-page .surface-light .eyebrow {
  color: var(--color-rust-700);
}

.restaurant-page .button {
  min-height: 3rem;
}

.restaurant-page .restaurant-inline-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-weight: 700;
}

.restaurant-hero {
  position: relative;
  width: min(100%, var(--container-wide));
  min-height: 47.5rem;
  margin-inline: auto;
  overflow: hidden;
  background: var(--color-blackberry-900);
}

.restaurant-hero__image,
.restaurant-hero__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.restaurant-hero__image {
  object-fit: cover;
  object-position: 72% center;
}

.restaurant-hero__shade {
  background: linear-gradient(90deg, rgb(23 17 22 / 94%) 0%, rgb(23 17 22 / 76%) 39%, rgb(23 17 22 / 20%) 68%, rgb(23 17 22 / 12%) 100%);
}

.restaurant-hero__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: min(100% - (var(--gutter) * 2), 35rem);
  min-width: 0;
  padding-top: clamp(10rem, 24vh, 17rem);
  padding-bottom: var(--space-9);
  margin-left: max(var(--gutter), calc((100% - var(--container-wide)) / 2 + var(--gutter)));
}

.restaurant-hero__content > * {
  min-width: 0;
  margin: 0;
}

.restaurant-hero h1 {
  max-width: 34rem;
  font-size: clamp(3.4rem, 6.4vw, 5.7rem);
}

.restaurant-hero__lead {
  max-width: 35rem;
  color: var(--color-oatmeal-100);
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

.restaurant-hero__pathway {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  max-width: 47.5rem;
  padding-top: var(--space-4);
  border-top: var(--rule-brass);
  color: var(--color-brass-300);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: var(--tracking-utility);
  line-height: var(--leading-utility);
}

.restaurant-hero__pathway span,
.restaurant-hero__pathway b {
  min-width: 0;
}

.restaurant-hero__pathway b {
  color: var(--color-oatmeal-300);
  font-size: 1rem;
  font-weight: 400;
}

.restaurant-hero__microcopy {
  max-width: 34rem;
  color: var(--color-oatmeal-300);
  font-size: var(--text-meta);
  line-height: var(--leading-meta);
}

.restaurant-hero__actions,
.restaurant-closing__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  min-width: 0;
}

.restaurant-hero__actions > *,
.restaurant-closing__actions > * {
  min-width: 0;
}

.restaurant-kitchen {
  padding: var(--space-11) 0 var(--space-10);
}

.restaurant-kitchen__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-8);
  align-items: start;
}

.restaurant-kitchen__grid > * {
  min-width: 0;
}

.restaurant-kitchen__intro {
  width: min(100%, 38.75rem);
}

.restaurant-kitchen__intro .lead {
  max-width: 38.75rem;
}

.restaurant-kitchen__narratives {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  width: min(100%, 29.375rem);
  min-width: 0;
  padding-top: var(--space-8);
}

.restaurant-kitchen__story {
  min-width: 0;
  padding-left: var(--space-5);
  border-left: var(--rule-brass);
}

.restaurant-kitchen__story > :last-child {
  margin-bottom: 0;
}

.restaurant-label {
  margin-bottom: var(--space-2);
  color: var(--color-rust-700);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: var(--tracking-utility);
  line-height: var(--leading-utility);
  text-transform: uppercase;
}

.restaurant-late-table {
  padding: var(--space-10) 0;
}

.restaurant-late-table__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-8);
  align-items: start;
}

.restaurant-late-table__grid > * {
  min-width: 0;
}

.restaurant-late-table__media {
  width: calc(100% + var(--space-7));
  min-width: 0;
  height: 39rem;
  margin-left: calc(var(--space-7) * -1);
}

.restaurant-late-table__media img {
  object-position: 38% center;
}

.restaurant-late-table__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: min(100%, 27.5rem);
  min-width: 0;
  padding-top: var(--space-8);
}

.restaurant-late-table__copy > * {
  min-width: 0;
  margin: 0;
}

.restaurant-late-table__copy blockquote {
  max-width: 16.25rem;
  padding: var(--space-4) 0 var(--space-4) var(--space-5);
}

.restaurant-descent {
  padding: var(--space-11) 0;
}

.restaurant-descent__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
  row-gap: var(--space-8);
}

.restaurant-descent__grid > * {
  min-width: 0;
}

.restaurant-descent__lead {
  grid-column: 1 / span 7;
  width: min(100%, 35rem);
}

.restaurant-descent__statements {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.restaurant-descent__statements > * {
  min-width: 0;
}

.restaurant-descent__statement {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
  padding-left: var(--space-4);
  border-left: var(--rule-brass);
}

.restaurant-descent__statement > * {
  min-width: 0;
  margin: 0;
}

.restaurant-descent__statement:nth-child(2) {
  margin-top: var(--space-7);
}

.restaurant-descent__statement:nth-child(3) {
  margin-top: var(--space-9);
}

.restaurant-number {
  color: var(--color-brass-300);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: var(--tracking-utility);
}

.restaurant-descent__statement .button {
  align-self: flex-start;
  margin-top: var(--space-2);
}

.restaurant-holdem {
  padding: var(--space-11) 0;
}

.restaurant-holdem__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-8);
  align-items: center;
}

.restaurant-holdem__grid > * {
  min-width: 0;
}

.restaurant-holdem__copy {
  width: min(100%, 37.5rem);
}

.restaurant-holdem__unit {
  width: min(100%, 28rem);
  margin-top: var(--space-7);
}

.restaurant-holdem__unit > :last-child {
  margin-bottom: 0;
}

.restaurant-holdem__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  min-width: 0;
  margin-top: var(--space-5);
}

.restaurant-holdem__links > * {
  min-width: 0;
  font-weight: 700;
}

.restaurant-holdem__media {
  width: calc(100% + var(--space-6));
  min-width: 0;
  height: 40rem;
  margin-right: calc(var(--space-6) * -1);
}

.restaurant-holdem__media img {
  object-position: center;
}

.restaurant-tournaments {
  padding: var(--space-10) 0;
  background: var(--color-blackberry-900);
}

.restaurant-tournaments__intro {
  width: min(100%, 35rem);
}

.restaurant-tournaments__layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-5);
  align-items: start;
  margin-top: var(--space-8);
}

.restaurant-tournaments__layout > * {
  min-width: 0;
}

.restaurant-tournament-feature,
.restaurant-tournament-panel {
  min-width: 0;
  border: var(--border-dark);
  background: var(--color-blackberry-950);
}

.restaurant-tournament-feature {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-8);
}

.restaurant-tournament-feature > * {
  min-width: 0;
  margin: 0;
}

.restaurant-tournament-stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  min-width: 0;
}

.restaurant-tournament-stack > * {
  min-width: 0;
}

.restaurant-tournament-panel {
  padding: var(--space-5);
}

.restaurant-tournament-panel > :last-child {
  margin-bottom: 0;
}

.restaurant-tournament-panel--accent {
  border-bottom: 2px solid var(--color-rust-600);
  background: var(--color-blackberry-800);
}

.restaurant-tournament-panel__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  min-width: 0;
  margin-top: var(--space-5);
}

.restaurant-tournament-panel__links > * {
  min-width: 0;
  font-size: var(--text-meta);
  font-weight: 700;
}

.restaurant-occasions {
  padding: var(--space-11) 0;
  background: linear-gradient(135deg, var(--color-blackberry-950), var(--color-blackberry-800));
}

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

.restaurant-occasions__grid > * {
  min-width: 0;
}

.restaurant-occasions__intro {
  grid-column: 1 / span 6;
  width: min(100%, 33.125rem);
}

.restaurant-occasions__stories {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  row-gap: var(--space-7);
}

.restaurant-occasions__stories > * {
  min-width: 0;
}

.restaurant-occasion {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
  padding-left: var(--space-5);
  border-left: var(--rule-brass);
}

.restaurant-occasion > * {
  min-width: 0;
  margin: 0;
}

.restaurant-occasion:nth-child(1) {
  grid-column: 1 / span 4;
}

.restaurant-occasion:nth-child(2) {
  grid-column: 5 / span 4;
  margin-top: var(--space-7);
}

.restaurant-occasion:nth-child(3) {
  grid-column: 9 / span 4;
  margin-top: var(--space-9);
}

.restaurant-occasion .button {
  align-self: flex-start;
  margin-top: var(--space-2);
}

.restaurant-ritual {
  padding: var(--space-10) 0;
}

.restaurant-ritual__shell {
  width: min(100% - (var(--gutter) * 2), var(--container-wide));
}

.restaurant-ritual__heading {
  width: min(100%, 32.5rem);
  margin-bottom: var(--space-7);
}

.restaurant-ritual__scene {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: var(--color-blackberry-900);
}

.restaurant-ritual__scene > img {
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
  object-fit: cover;
  object-position: center;
}

.restaurant-ritual__steps {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-width: 0;
}

.restaurant-ritual__steps > * {
  min-width: 0;
}

.restaurant-ritual__step {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  min-height: 15.5rem;
  padding: var(--space-5);
  border-top: var(--border-dark);
  border-right: var(--border-dark);
  background: rgb(23 17 22 / 88%);
}

.restaurant-ritual__step:last-child {
  border-right: 0;
}

.restaurant-ritual__step > * {
  min-width: 0;
  margin: 0;
}

.restaurant-ritual__step > span {
  color: var(--color-brass-300);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: var(--tracking-utility);
}

.restaurant-ritual__step .button {
  align-self: flex-start;
  margin-top: auto;
}

.restaurant-enquiry {
  padding: var(--space-10) 0;
}

.restaurant-enquiry__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-6);
  min-width: 0;
}

.restaurant-enquiry__inner > * {
  min-width: 0;
  margin: 0;
}

.restaurant-enquiry__intro {
  width: min(100%, 32.5rem);
  text-align: center;
}

.restaurant-enquiry__intro p:last-child {
  margin-bottom: 0;
}

.restaurant-enquiry__prompts {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: min(100%, 47.5rem);
  min-width: 0;
}

.restaurant-enquiry__prompts > * {
  min-width: 0;
}

.restaurant-enquiry__prompts a {
  display: grid;
  grid-template-columns: minmax(10rem, 0.62fr) minmax(0, 1.38fr) auto;
  gap: var(--space-4);
  align-items: center;
  min-width: 0;
  min-height: 4.25rem;
  padding: var(--space-4);
  border: var(--border-dark);
  color: var(--color-oatmeal-100);
  text-decoration: none;
}

.restaurant-enquiry__prompts a:hover {
  border-color: var(--color-brass-300);
  background: var(--color-bottle-green-700);
  color: var(--color-oatmeal-100);
}

.restaurant-enquiry__prompts strong,
.restaurant-enquiry__prompts span,
.restaurant-enquiry__prompts b {
  min-width: 0;
}

.restaurant-enquiry__prompts strong {
  font-size: var(--text-meta);
}

.restaurant-enquiry__prompts span {
  color: var(--color-oatmeal-300);
  font-size: var(--text-meta);
  line-height: var(--leading-meta);
}

.restaurant-enquiry__prompts b {
  color: var(--color-brass-300);
  font-size: 1.25rem;
}

.restaurant-enquiry__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  min-width: 0;
}

.restaurant-enquiry__actions > * {
  min-width: 0;
}

.restaurant-enquiry__note {
  width: min(100%, 28.75rem);
  color: var(--color-oatmeal-300);
  font-size: var(--text-meta);
  line-height: var(--leading-meta);
  text-align: center;
}

.restaurant-closing {
  padding: var(--space-11) var(--gutter);
  background-color: var(--color-blackberry-950);
  background-image: radial-gradient(circle at 50% 50%, rgb(29 74 62 / 26%), transparent 62%);
}

.restaurant-closing__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  width: min(100%, 47.5rem);
  min-width: 0;
  margin-inline: auto;
  text-align: center;
}

.restaurant-closing__inner > * {
  min-width: 0;
  margin: 0;
}

.restaurant-closing .display {
  width: min(100%, 47.5rem);
  color: var(--color-oatmeal-100);
}

.restaurant-closing__inner > p {
  width: min(100%, 23.75rem);
  color: var(--color-oatmeal-300);
}

.restaurant-closing__actions {
  justify-content: center;
}

@media (max-width: 1080px) {
  .restaurant-hero__image {
    object-position: 78% center;
  }

  .restaurant-hero__content {
    width: min(100% - (var(--gutter) * 2), 30rem);
  }
}

@media (max-width: 980px) {
  .restaurant-kitchen__grid,
  .restaurant-holdem__grid,
  .restaurant-tournaments__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .restaurant-kitchen__narratives {
    width: min(100%, 32.5rem);
    padding-top: 0;
  }

  .restaurant-late-table__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .restaurant-late-table__media {
    width: 100%;
    height: 31rem;
    margin-left: 0;
  }

  .restaurant-late-table__copy {
    width: min(100%, 32.5rem);
    padding-top: 0;
  }

  .restaurant-descent__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .restaurant-descent__lead,
  .restaurant-descent__statements {
    grid-column: 1;
  }

  .restaurant-descent__statements {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .restaurant-descent__statement:nth-child(2),
  .restaurant-descent__statement:nth-child(3) {
    margin-top: 0;
  }

  .restaurant-holdem__media {
    grid-row: 1;
    width: min(100%, 43rem);
    height: 31rem;
    margin-right: 0;
  }

  .restaurant-holdem__copy {
    grid-row: 2;
  }

  .restaurant-occasions__grid,
  .restaurant-occasions__stories {
    grid-template-columns: minmax(0, 1fr);
  }

  .restaurant-occasions__intro,
  .restaurant-occasions__stories {
    grid-column: 1;
  }

  .restaurant-occasions__stories {
    gap: var(--space-6);
    width: min(100%, 32.5rem);
  }

  .restaurant-occasion:nth-child(1),
  .restaurant-occasion:nth-child(2),
  .restaurant-occasion:nth-child(3) {
    grid-column: 1;
    margin-top: 0;
  }
}

@media (max-width: 1000px) and (min-width: 681px) {
  .restaurant-ritual__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .restaurant-ritual__step {
    min-height: 12rem;
  }

  .restaurant-ritual__step:nth-child(2) {
    border-right: 0;
  }
}

@media (max-width: 820px) {
  .restaurant-enquiry__prompts {
    width: 100%;
  }
}

@media (max-width: 700px) {
  .restaurant-hero {
    min-height: 43rem;
  }

  .restaurant-hero__image {
    object-position: 66% center;
  }

  .restaurant-hero__shade {
    background: linear-gradient(180deg, rgb(23 17 22 / 10%) 0%, rgb(23 17 22 / 35%) 30%, rgb(23 17 22 / 94%) 66%, var(--color-blackberry-950) 100%);
  }

  .restaurant-hero__content {
    width: calc(100% - (var(--gutter-mobile) * 2));
    padding-top: 17rem;
    padding-bottom: var(--space-6);
    margin-left: var(--gutter-mobile);
  }

  .restaurant-hero h1 {
    font-size: clamp(2.9rem, 13vw, 3.4rem);
    line-height: 0.96;
  }

  .restaurant-hero__lead {
    font-size: var(--text-body);
    line-height: var(--leading-body);
  }

  .restaurant-hero__actions,
  .restaurant-closing__actions,
  .restaurant-enquiry__actions {
    flex-direction: column;
    width: 100%;
  }

  .restaurant-hero__actions .button,
  .restaurant-closing__actions .button,
  .restaurant-enquiry__actions .button {
    width: 100%;
  }

  .restaurant-kitchen,
  .restaurant-holdem,
  .restaurant-descent,
  .restaurant-occasions,
  .restaurant-closing {
    padding-top: var(--space-9);
    padding-bottom: var(--space-9);
  }

  .restaurant-late-table,
  .restaurant-tournaments,
  .restaurant-ritual,
  .restaurant-enquiry {
    padding-top: var(--space-8);
    padding-bottom: var(--space-8);
  }

  .restaurant-kitchen__grid,
  .restaurant-late-table__grid,
  .restaurant-holdem__grid,
  .restaurant-tournaments__layout,
  .restaurant-descent__grid,
  .restaurant-occasions__grid {
    gap: var(--space-6);
  }

  .restaurant-late-table__media {
    height: auto;
    aspect-ratio: 4 / 5;
  }

  .restaurant-late-table__media img {
    object-position: 40% center;
  }

  .restaurant-descent__statement .button,
  .restaurant-occasion .button {
    align-self: stretch;
    width: 100%;
  }

  .restaurant-holdem__media {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
  }

  .restaurant-holdem__links {
    flex-direction: column;
    gap: var(--space-3);
  }

  .restaurant-holdem__links a {
    display: flex;
    align-items: center;
    min-height: 3rem;
    padding: var(--space-3);
    border: var(--border-light);
  }

  .restaurant-tournament-feature {
    padding: var(--space-5);
  }

  .restaurant-ritual__shell {
    width: min(100% - (var(--gutter-mobile) * 2), var(--container-wide));
  }

  .restaurant-ritual__scene {
    overflow: visible;
  }

  .restaurant-ritual__scene > img {
    aspect-ratio: 4 / 5;
    object-position: 57% center;
  }

  .restaurant-ritual__steps {
    position: static;
    grid-template-columns: minmax(0, 1fr);
  }

  .restaurant-ritual__step {
    min-height: auto;
    border-right: 0;
    border-top: var(--border-dark);
    background: var(--color-blackberry-900);
  }

  .restaurant-ritual__step .button {
    align-self: stretch;
    width: 100%;
  }

  .restaurant-enquiry__prompts a {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-2) var(--space-3);
    min-height: 5rem;
  }

  .restaurant-enquiry__prompts strong {
    grid-column: 1;
  }

  .restaurant-enquiry__prompts span {
    grid-column: 1;
  }

  .restaurant-enquiry__prompts b {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
}

@media (max-width: 430px) {
  .restaurant-hero__pathway {
    gap: var(--space-1) var(--space-2);
  }

  .restaurant-hero__pathway b {
    font-size: 0.875rem;
  }

  .restaurant-tournament-panel__links {
    flex-direction: column;
  }
}

[data-reveal] {
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity var(--transition-reveal), transform var(--transition-reveal);
}

[data-reveal].is-revealed {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1;
    transform: none;
  }
}
