.helyszin-page {
  background: var(--color-background);
}

.helyszin-page .image-frame {
  margin-block-end: 0;
}

.helyszin-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: 42.5rem;
  overflow: hidden;
}

.helyszin-hero__media,
.helyszin-hero__overlay,
.helyszin-hero__container {
  grid-area: 1 / 1;
  width: 100%;
  min-width: 0;
}

.helyszin-hero__media {
  height: 100%;
}

.helyszin-hero__media img {
  object-position: 68% 50%;
}

.helyszin-hero__overlay {
  z-index: 1;
  background: rgba(11, 12, 13, 0.37);
}

.helyszin-hero__container {
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
  align-items: end;
  padding-block: var(--space-9);
}

.helyszin-hero__content {
  grid-column: 1;
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 38.75rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.helyszin-hero__content h1,
.helyszin-hero__content p {
  margin: 0;
}

.helyszin-hero__content h1 {
  max-width: 38.75rem;
  font-size: clamp(3.5rem, 5vw, 4rem);
  line-height: 1.0625;
}

.helyszin-hero__content .lead {
  max-width: 33.75rem;
}

.helyszin-hero__action {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
}

.helyszin-hero__action > * {
  min-width: 0;
}

.helyszin-hero__action .meta {
  margin: 0;
}

.helyszin-pillars__head {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 35rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.helyszin-pillars__head > * {
  margin: 0;
}

.helyszin-pillars__grid {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  margin-block-start: var(--space-7);
}

.helyszin-pillar {
  min-width: 0;
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--color-border);
}

.helyszin-pillar__number {
  margin-block-end: var(--space-5);
  color: var(--color-text-muted);
  font-size: var(--font-size-meta);
  letter-spacing: var(--letter-spacing-label);
}

.helyszin-pillar h3 {
  max-width: 21rem;
  font-size: 1.75rem;
}

.helyszin-pillar p:not(.helyszin-pillar__number):not(.meta) {
  max-width: 22.5rem;
}

.helyszin-pillar .meta {
  margin-block-end: var(--space-3);
}

.helyszin-dining__grid {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 5fr);
  align-items: start;
}

.helyszin-dining__copy {
  grid-column: 3;
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 33.75rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.helyszin-dining__copy > * {
  margin: 0;
}

.helyszin-dining__copy .lead {
  max-width: 33.75rem;
}

.helyszin-dining__note {
  width: 100%;
  min-width: 0;
  padding-block-start: var(--space-5);
  border-block-start: 1px solid var(--color-border);
}

.helyszin-dining__note p {
  max-width: 32.5rem;
}

.helyszin-dining__media {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  aspect-ratio: 4 / 5;
}

.helyszin-dining__media img {
  object-position: 50% 55%;
}

.helyszin-text-link {
  display: inline-block;
  min-width: 0;
  color: var(--color-text);
  font-size: var(--font-size-small);
  font-weight: 600;
  line-height: var(--line-height-small);
  text-underline-offset: 0.24em;
}

.helyszin-route__head {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 32.5rem;
  margin-inline: auto;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  text-align: center;
}

.helyszin-route__head > * {
  margin: 0;
}

.helyszin-route__grid {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-7);
  margin-block-start: var(--space-7);
}

.helyszin-route__stop {
  min-width: 0;
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--color-border);
}

.helyszin-route__stop h3,
.helyszin-route__stop p:not(.helyszin-route__number):not(.meta) {
  max-width: 21.25rem;
}

.helyszin-route__number {
  margin-block-end: var(--space-5);
  color: var(--color-text-muted);
  font-size: var(--font-size-meta);
  letter-spacing: var(--letter-spacing-label);
}

.helyszin-route__stop .meta {
  margin-block-end: 0;
  padding-block-start: var(--space-3);
  border-block-start: 1px solid var(--color-border);
}

.helyszin-tables__media {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.helyszin-tables__media img {
  object-position: 50% 50%;
}

.helyszin-tables__content {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-7);
  margin-block-start: var(--space-8);
}

.helyszin-statement {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  background: var(--color-surface-raised);
}

.helyszin-statement p {
  margin: 0;
}

.helyszin-statement > p:last-child {
  max-width: 100%;
  font-size: var(--font-size-lead);
  font-weight: 600;
  line-height: var(--line-height-lead);
}

.helyszin-tables__copy {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 38.75rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.helyszin-tables__copy > * {
  margin: 0;
}

.helyszin-tables__copy > p:not(.eyebrow):not(.meta) {
  max-width: 38.75rem;
}

.helyszin-tables__link-wrap {
  width: 100%;
  min-width: 0;
  padding-block-start: var(--space-5);
  border-block-start: 1px solid var(--color-border);
}

.helyszin-quiet__head {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 32.5rem;
  margin-inline: auto;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  text-align: center;
}

.helyszin-quiet__head > * {
  margin: 0;
}

.helyszin-quiet__grid {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-8);
  margin-block-start: var(--space-7);
}

.helyszin-quiet__block {
  min-width: 0;
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--color-border);
}

.helyszin-quiet__block p,
.helyszin-quiet__block h3 {
  max-width: 28.75rem;
}

.helyszin-quiet__closing {
  width: 100%;
  min-width: 0;
  max-width: 48.75rem;
  margin-block: var(--space-8) 0;
  padding-block-start: var(--space-5);
  border-block-start: 1px solid var(--color-border);
  color: var(--color-text-soft);
  font-family: var(--font-heading);
  font-size: 1.75rem;
  line-height: 1.214;
}

.helyszin-private__panel {
  padding: var(--space-8);
  background: var(--color-surface-raised);
}

.helyszin-private__head {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 33.75rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.helyszin-private__head > * {
  margin: 0;
}

.helyszin-private__grid {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  margin-block-start: var(--space-7);
}

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

.helyszin-private__item > * {
  margin: 0;
}

.helyszin-private__item h3,
.helyszin-private__item p {
  max-width: 21.25rem;
}

.helyszin-private__item .button {
  margin-block-start: auto;
}

.helyszin-address__container {
  width: min(100% - (var(--container-padding) * 2), 66.666rem);
  padding-inline-start: 10.416%;
}

.helyszin-address__container > .eyebrow,
.helyszin-address__container > h2 {
  max-width: 48.75rem;
}

.helyszin-address__card {
  width: 100%;
  min-width: 0;
  max-width: 48.75rem;
  margin-block: var(--space-6);
  padding-block: var(--space-5);
  border-block: 1px solid var(--color-border);
}

.helyszin-address__card p {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1.75rem;
  line-height: 1.214;
}

.helyszin-address__copy {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 31.25rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.helyszin-address__copy > * {
  margin: 0;
}

.helyszin-before {
  background: var(--color-surface);
}

.helyszin-before__panel {
  padding-block: var(--space-7);
}

.helyszin-before__head {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 32.5rem;
  margin-inline: auto;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  text-align: center;
}

.helyszin-before__head > * {
  margin: 0;
}

.helyszin-before__grid {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-8);
  margin-block-start: var(--space-7);
}

.helyszin-before__item {
  min-width: 0;
}

.helyszin-before__item h3,
.helyszin-before__item p {
  max-width: 28.75rem;
}

.helyszin-closing {
  padding-block: var(--space-10);
}

.helyszin-closing__content {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 35rem;
  margin-inline: auto;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  text-align: center;
}

.helyszin-closing__content > * {
  margin: 0;
}

.helyszin-closing__content .lead {
  max-width: 35rem;
}

.helyszin-closing__content .button {
  min-width: 11.875rem;
}

.helyszin-page [data-helyszin-image] {
  transform: translateY(8px);
}

.helyszin-page [data-helyszin-image].is-visible {
  transform: translateY(0);
}

@media (max-width: 61.25rem) {
  .helyszin-dining__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .helyszin-dining__copy,
  .helyszin-dining__media {
    grid-column: 1;
  }

  .helyszin-dining__copy {
    grid-row: 1;
  }

  .helyszin-dining__media {
    grid-row: 2;
    aspect-ratio: 3 / 2;
  }
}

@media (max-width: 56.25rem) {
  .helyszin-route__grid,
  .helyszin-private__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .helyszin-route__stop {
    padding-block-start: 0;
    padding-inline-start: var(--space-5);
    border-block-start: 0;
    border-inline-start: 1px solid var(--color-border);
  }

  .helyszin-route__stop h3,
  .helyszin-route__stop p:not(.helyszin-route__number):not(.meta),
  .helyszin-private__item h3,
  .helyszin-private__item p {
    max-width: 33.75rem;
  }

  .helyszin-private__item + .helyszin-private__item {
    padding-block-start: var(--space-5);
    border-block-start: 1px solid var(--color-border);
  }
}

@media (max-width: 51.25rem) {
  .helyszin-quiet__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .helyszin-quiet__block + .helyszin-quiet__block {
    padding-block-start: var(--space-5);
  }

  .helyszin-quiet__closing {
    margin-block-start: var(--space-7);
    font-size: 1.5rem;
  }
}

@media (max-width: 47.99rem) {
  .helyszin-hero {
    min-height: 0;
    aspect-ratio: 4 / 5;
  }

  .helyszin-hero__media img {
    object-position: 50% 48%;
  }

  .helyszin-hero__overlay {
    background: rgba(11, 12, 13, 0.45);
  }

  .helyszin-hero__container {
    grid-template-columns: minmax(0, 1fr);
    padding-block: var(--space-8) 4.5rem;
  }

  .helyszin-hero__content {
    grid-column: 1;
    gap: var(--space-4);
  }

  .helyszin-hero__content h1 {
    font-size: 2.75rem;
    line-height: 1.091;
  }

  .helyszin-hero__action {
    align-items: stretch;
    flex-direction: column;
    gap: var(--space-3);
  }

  .helyszin-hero__action .button {
    width: 100%;
    min-height: 3rem;
  }

  .helyszin-pillars__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
    margin-block-start: var(--space-6);
  }

  .helyszin-pillars__head,
  .helyszin-pillars__head > p,
  .helyszin-dining__copy,
  .helyszin-tables__copy,
  .helyszin-address__copy {
    max-width: 100%;
  }

  .helyszin-dining__media,
  .helyszin-tables__media {
    aspect-ratio: 3 / 2;
  }

  .helyszin-route__grid,
  .helyszin-quiet__grid,
  .helyszin-before__grid {
    margin-block-start: var(--space-6);
  }

  .helyszin-tables__content {
    gap: var(--space-6);
    margin-block-start: var(--space-6);
  }

  .helyszin-statement {
    padding: var(--space-5);
  }

  .helyszin-private__panel {
    padding: var(--space-5);
  }

  .helyszin-address__container {
    width: min(100% - (var(--container-padding) * 2), var(--container-max));
    padding-inline-start: 0;
  }

  .helyszin-address__card {
    margin-block: var(--space-5);
  }

  .helyszin-before__panel {
    padding-block: var(--space-6);
  }

  .helyszin-before__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .helyszin-before__item + .helyszin-before__item {
    padding-block-start: var(--space-5);
    border-block-start: 1px solid var(--color-border);
  }

  .helyszin-closing {
    padding-block: 4.75rem;
  }

  .helyszin-closing__content {
    gap: var(--space-4);
  }

  .helyszin-closing__content .button {
    width: 100%;
    min-height: 3rem;
  }
}

@media (min-width: 48rem) and (max-width: 59.99rem) {
  .helyszin-pillars__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .helyszin-pillars__grid > :nth-child(3) {
    grid-column: 1 / -1;
  }

  .helyszin-pillars__grid > :nth-child(3) p:not(.helyszin-pillar__number):not(.meta) {
    max-width: 35rem;
  }
}

@media (max-width: 47.5rem) {
  .helyszin-before__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .helyszin-page [data-helyszin-image],
  .helyszin-page [data-helyszin-image].is-visible {
    transform: none;
  }
}
