main.etterem-page {
  background: var(--color-espresso-950);
}

.etterem-page .etterem-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-height: 760px;
  overflow: hidden;
  isolation: isolate;
}

.etterem-page .etterem-hero__media,
.etterem-page .etterem-hero__scrim {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.etterem-page .etterem-hero__media {
  z-index: -2;
  margin: 0;
}

.etterem-page .etterem-hero__media img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 64% center;
  animation: etteremHeroReveal 500ms ease-out both;
}

.etterem-page .etterem-hero__scrim {
  z-index: -1;
  background: linear-gradient(90deg, rgba(20, 13, 10, 0.8) 0%, rgba(20, 13, 10, 0.68) 38%, rgba(20, 13, 10, 0.32) 72%, rgba(20, 13, 10, 0.44) 100%);
}

.etterem-page .etterem-hero__content {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 1.5rem;
  width: min(100% - (var(--container-padding) * 2), var(--container-max));
  min-width: 0;
  margin-inline: auto;
  padding-top: 12rem;
  padding-bottom: 6rem;
  align-content: end;
}

.etterem-page .etterem-hero__copy {
  grid-column: 2 / span 6;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  max-width: 36rem;
  gap: var(--space-5);
}

.etterem-page .etterem-hero__copy > * {
  margin: 0;
}

.etterem-page .etterem-hero__copy h1 {
  max-width: 35rem;
}

.etterem-page .etterem-hero__intro {
  max-width: 34rem;
  color: var(--color-cream-200);
  font-family: var(--font-heading);
  font-size: var(--text-intro);
  line-height: 1.45;
}

.etterem-page .etterem-hero__support {
  max-width: 31rem;
  color: var(--color-cream-500);
  font-size: var(--text-meta);
  line-height: 1.55;
}

.etterem-page .etterem-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: min(100%, 19rem);
  min-width: 0;
  gap: var(--space-3);
}

.etterem-page .etterem-hero__actions .button {
  width: 100%;
}

.etterem-page .etterem-link {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  color: inherit;
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
}

.etterem-page .etterem-link::after {
  width: 100%;
  height: 2px;
  margin-top: 1.5rem;
  content: "";
  position: absolute;
  transform: scaleX(0);
  transform-origin: left center;
  background: var(--color-brass-500);
  transition: transform var(--transition-base);
}

.etterem-page .etterem-link {
  position: relative;
}

.etterem-page .etterem-link:hover::after,
.etterem-page .etterem-link:focus-visible::after {
  transform: scaleX(1);
}

.etterem-page .hospitality-section {
  background: var(--color-espresso-950);
}

.etterem-page .hospitality-section__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 2rem 1.5rem;
  min-width: 0;
}

.etterem-page .hospitality-section__intro {
  grid-column: 1 / span 5;
  min-width: 0;
  max-width: 30rem;
}

.etterem-page .hospitality-section__intro > *:last-child {
  margin-bottom: 0;
}

.etterem-page .hospitality-section__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  border-top: 1px solid var(--color-border-dark);
  padding-top: var(--space-5);
  gap: var(--space-3);
}

.etterem-page .hospitality-section__item > * {
  margin: 0;
}

.etterem-page .hospitality-section__item--one {
  grid-column: 1 / span 5;
}

.etterem-page .hospitality-section__item--two {
  grid-column: 6 / span 3;
  margin-top: var(--space-9);
}

.etterem-page .hospitality-section__item--three {
  grid-column: 10 / span 3;
  margin-top: calc(var(--space-9) + var(--space-5));
}

.etterem-page .hospitality-section__number {
  color: var(--color-brass-500);
}

.etterem-page .hospitality-section__item h3 {
  margin: 0;
  font-size: clamp(1.75rem, 1.45rem + 1vw, 2.25rem);
}

.etterem-page .hospitality-section__item p {
  max-width: 36rem;
  color: var(--color-cream-500);
}

.etterem-page .kitchen-section {
  overflow: hidden;
  background: var(--color-cream-050);
  color: var(--color-espresso-950);
}

.etterem-page .kitchen-section__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: start;
  min-width: 0;
}

.etterem-page .kitchen-section__copy {
  grid-column: 1 / span 6;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  max-width: 42rem;
  padding-top: var(--space-4);
  gap: var(--space-5);
}

.etterem-page .kitchen-section__copy > * {
  margin: 0;
}

.etterem-page .kitchen-section__copy h2 {
  max-width: 37rem;
}

.etterem-page .kitchen-section__lead {
  max-width: 42rem;
  font-size: 1.0625rem;
  line-height: var(--leading-body);
}

.etterem-page .kitchen-section__detail {
  max-width: 34rem;
  padding-left: var(--space-5);
  border-left: 2px solid var(--color-terracotta-700);
}

.etterem-page .kitchen-section__closing {
  max-width: 32rem;
  color: #5a4037;
}

.etterem-page .kitchen-section__media {
  grid-column: 8 / span 5;
  width: 100%;
  min-width: 0;
  margin: var(--space-8) 0 calc(var(--space-8) * -1);
}

.etterem-page .kitchen-section__media img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center bottom;
}

.etterem-page .bar-section {
  background: var(--color-espresso-900);
}

.etterem-page .bar-section__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: start;
  min-width: 0;
}

.etterem-page .bar-section__intro {
  grid-column: 1 / span 4;
  min-width: 0;
  max-width: 30rem;
}

.etterem-page .bar-section__intro > *:last-child {
  margin-bottom: 0;
}

.etterem-page .bar-section__intro p {
  max-width: 30rem;
  color: var(--color-cream-500);
}

.etterem-page .bar-section__content {
  grid-column: 6 / span 7;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
  padding: var(--space-6);
  background: var(--color-olive-800);
}

.etterem-page .bar-section__photo {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  margin: 0 0 var(--space-6);
}

.etterem-page .bar-section__photo img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
}

.etterem-page .bar-section__category {
  min-width: 0;
  padding: var(--space-5);
  border-top: 1px solid var(--color-border-dark);
}

.etterem-page .bar-section__category:nth-of-type(odd) {
  border-right: 1px solid var(--color-border-dark);
}

.etterem-page .bar-section__category h3 {
  margin-bottom: var(--space-3);
  font-size: clamp(1.75rem, 1.45rem + 1vw, 2rem);
}

.etterem-page .bar-section__category p {
  margin-bottom: 0;
  color: var(--color-cream-500);
  font-size: 0.975rem;
}

.etterem-page .bar-section__menu-link {
  grid-column: 1 / -1;
  min-width: 0;
  padding: var(--space-5) 0 0;
}

.etterem-page .spaces-section {
  background: var(--color-espresso-950);
}

.etterem-page .spaces-section__intro {
  max-width: 34rem;
  margin-bottom: var(--space-8);
}

.etterem-page .spaces-section__intro p {
  max-width: 34rem;
  color: var(--color-cream-500);
}

.etterem-page .spaces-section__intro > *:last-child {
  margin-bottom: 0;
}

.etterem-page .spaces-section__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  border-top: 1px solid var(--color-border-dark);
  border-left: 1px solid var(--color-border-dark);
}

.etterem-page .space-panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  min-height: 20rem;
  padding: var(--space-6);
  border-right: 1px solid var(--color-border-dark);
  border-bottom: 1px solid var(--color-border-dark);
  gap: var(--space-4);
}

.etterem-page .space-panel > * {
  margin: 0;
}

.etterem-page .space-panel:nth-child(2),
.etterem-page .space-panel:nth-child(5) {
  background: var(--color-espresso-900);
}

.etterem-page .space-panel:nth-child(3),
.etterem-page .space-panel:nth-child(6) {
  background: var(--color-olive-800);
}

.etterem-page .space-panel--poker {
  background: linear-gradient(90deg, var(--color-terracotta-700) 0.3rem, var(--color-espresso-900) 0.3rem) !important;
}

.etterem-page .space-panel h3 {
  font-size: clamp(1.8rem, 1.5rem + 1vw, 2.3rem);
}

.etterem-page .space-panel p {
  max-width: 34rem;
  color: var(--color-cream-500);
}

.etterem-page .space-panel .etterem-link {
  margin-top: auto;
}

.etterem-page .spaces-section__closing {
  max-width: 38rem;
  margin: var(--space-7) 0 0;
  color: var(--color-cream-200);
  font-family: var(--font-heading);
  font-size: var(--text-intro);
  line-height: 1.35;
}

.etterem-page .poker-section {
  background: var(--color-olive-800);
}

.etterem-page .poker-section__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: center;
  min-width: 0;
}

.etterem-page .poker-section__visual {
  grid-column: 1 / span 5;
  position: relative;
  width: 100%;
  min-width: 0;
}

.etterem-page .poker-section__photo {
  width: 100%;
  margin: calc(var(--space-9) * -1) 0 0;
}

.etterem-page .poker-section__photo img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
}

.etterem-page .poker-section__quote {
  position: absolute;
  right: calc(var(--space-6) * -1);
  bottom: calc(var(--space-6) * -1);
  width: min(18rem, 82%);
  margin: 0;
  padding: var(--space-5);
  border-left: 2px solid var(--color-brass-500);
  background: var(--color-espresso-950);
  color: var(--color-cream-200);
  font-family: var(--font-heading);
  font-size: 1.4rem;
  font-style: italic;
  line-height: 1.25;
}

.etterem-page .poker-section__copy {
  grid-column: 7 / span 5;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  max-width: 36rem;
  gap: var(--space-5);
}

.etterem-page .poker-section__copy > * {
  margin: 0;
}

.etterem-page .poker-section__copy p {
  max-width: 36rem;
  color: var(--color-cream-500);
}

.etterem-page .poker-section__support {
  max-width: 34rem !important;
  color: var(--color-cream-200) !important;
  font-family: var(--font-heading);
  font-size: var(--text-intro);
  font-style: italic;
  line-height: 1.4;
}

.etterem-page .groups-section {
  background: var(--color-espresso-950);
}

.etterem-page .groups-section__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  min-width: 0;
}

.etterem-page .groups-section__intro {
  grid-column: 1 / span 4;
  min-width: 0;
  min-height: 100%;
  padding: var(--space-8) var(--space-6);
  background: var(--color-terracotta-700);
  color: var(--color-cream-200);
}

.etterem-page .groups-section__intro .eyebrow {
  color: var(--color-cream-200);
}

.etterem-page .groups-section__intro p {
  max-width: 34rem;
}

.etterem-page .groups-section__intro > *:last-child {
  margin-bottom: 0;
}

.etterem-page .groups-section__list {
  grid-column: 5 / span 8;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  padding-left: var(--space-8);
}

.etterem-page .groups-section__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: var(--space-6) 0;
  border-bottom: 1px solid var(--color-border-dark);
  gap: var(--space-3);
}

.etterem-page .groups-section__item:first-child {
  padding-top: 0;
}

.etterem-page .groups-section__item > * {
  margin: 0;
}

.etterem-page .groups-section__item h3 {
  font-size: clamp(1.8rem, 1.5rem + 1vw, 2.3rem);
}

.etterem-page .groups-section__item p {
  max-width: 36rem;
  color: var(--color-cream-500);
}

.etterem-page .directions-section {
  background: var(--color-espresso-900);
}

.etterem-page .directions-section__intro {
  max-width: 32rem;
  margin: 0 auto var(--space-8);
  text-align: center;
}

.etterem-page .directions-section__intro p {
  max-width: 32rem;
  margin-inline: auto;
  color: var(--color-cream-500);
}

.etterem-page .directions-section__intro > *:last-child {
  margin-bottom: 0;
}

.etterem-page .directions-section__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
}

.etterem-page .direction-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: var(--space-6);
  border-left: 1px solid var(--color-border-dark);
  gap: var(--space-3);
}

.etterem-page .direction-item:last-child {
  border-right: 1px solid var(--color-border-dark);
}

.etterem-page .direction-item--up {
  transform: translateY(calc(var(--space-5) * -1));
}

.etterem-page .direction-item--down {
  transform: translateY(var(--space-5));
}

.etterem-page .direction-item > * {
  margin: 0;
}

.etterem-page .direction-item h3 {
  font-size: clamp(1.8rem, 1.5rem + 1vw, 2.3rem);
}

.etterem-page .direction-item p {
  max-width: 30rem;
  color: var(--color-cream-500);
}

.etterem-page .closing-section {
  overflow: hidden;
  background: var(--color-cream-050);
  color: var(--color-espresso-950);
}

.etterem-page .closing-section__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: stretch;
  min-width: 0;
}

.etterem-page .closing-section__copy {
  grid-column: 1 / span 7;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  max-width: 38rem;
  padding: var(--space-4) 0;
  gap: var(--space-5);
}

.etterem-page .closing-section__copy > * {
  margin: 0;
}

.etterem-page .closing-section__copy p {
  max-width: 38rem;
}

.etterem-page .closing-section__support {
  color: #5a4037;
  font-size: var(--text-meta);
}

.etterem-page .closing-section__art {
  grid-column: 9 / span 4;
  position: relative;
  min-width: 0;
  min-height: 24rem;
  overflow: hidden;
  background: var(--color-terracotta-700);
}

.etterem-page .closing-section__art::before,
.etterem-page .closing-section__art::after {
  position: absolute;
  content: "";
  border: 1px solid rgba(233, 220, 199, 0.42);
}

.etterem-page .closing-section__art::before {
  right: 12%;
  bottom: -18%;
  width: 82%;
  height: 105%;
  border-radius: 999rem 999rem 0 0;
}

.etterem-page .closing-section__art::after {
  top: 15%;
  left: -24%;
  width: 72%;
  height: 72%;
  border-radius: 999rem 999rem 0 0;
}

@keyframes etteremHeroReveal {
  from { opacity: 0; transform: scale(1.015); }
  to { opacity: 1; transform: scale(1); }
}

@media (max-width: 1039px) {
  .etterem-page .etterem-hero__content,
  .etterem-page .hospitality-section__grid,
  .etterem-page .kitchen-section__grid,
  .etterem-page .bar-section__grid,
  .etterem-page .poker-section__grid,
  .etterem-page .groups-section__grid,
  .etterem-page .closing-section__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: 1.25rem;
  }

  .etterem-page .etterem-hero__copy { grid-column: 1 / span 5; }
  .etterem-page .hospitality-section__intro { grid-column: 1 / span 4; }
  .etterem-page .hospitality-section__item--one { grid-column: 1 / span 4; }
  .etterem-page .hospitality-section__item--two { grid-column: 5 / span 4; margin-top: 0; }
  .etterem-page .hospitality-section__item--three { grid-column: 1 / span 4; margin-top: var(--space-4); }
  .etterem-page .kitchen-section__copy { grid-column: 1 / span 4; }
  .etterem-page .kitchen-section__media { grid-column: 5 / span 4; }
  .etterem-page .bar-section__intro { grid-column: 1 / span 8; margin-bottom: var(--space-5); }
  .etterem-page .bar-section__content { grid-column: 1 / span 8; }
  .etterem-page .spaces-section__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .etterem-page .poker-section__visual { grid-column: 1 / span 4; }
  .etterem-page .poker-section__copy { grid-column: 5 / span 4; }
  .etterem-page .groups-section__intro { grid-column: 1 / span 8; min-height: auto; }
  .etterem-page .groups-section__list { grid-column: 1 / span 8; padding: var(--space-7) 0 0; }
  .etterem-page .closing-section__copy { grid-column: 1 / span 5; }
  .etterem-page .closing-section__art { grid-column: 6 / span 3; }
}

@media (max-width: 899px) {
  .etterem-page .etterem-hero { min-height: 700px; }
  .etterem-page .etterem-hero__scrim { background: linear-gradient(90deg, rgba(20, 13, 10, 0.82) 0%, rgba(20, 13, 10, 0.73) 52%, rgba(20, 13, 10, 0.45) 100%); }
  .etterem-page .kitchen-section__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-7); }
  .etterem-page .kitchen-section__media { grid-column: 1; grid-row: 1; margin: 0; }
  .etterem-page .kitchen-section__copy { grid-column: 1; grid-row: 2; max-width: 42rem; }
  .etterem-page .poker-section__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-7); }
  .etterem-page .poker-section__visual { grid-column: 1; }
  .etterem-page .poker-section__copy { grid-column: 1; max-width: 36rem; }
  .etterem-page .poker-section__photo { margin: 0; }
  .etterem-page .poker-section__quote { position: static; width: min(24rem, 100%); margin-top: calc(var(--space-5) * -1); }
  .etterem-page .closing-section__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .etterem-page .closing-section__copy { grid-column: 1; }
  .etterem-page .closing-section__art { grid-column: 1; min-height: 11.25rem; }
}

@media (max-width: 759px) {
  .etterem-page .etterem-hero { min-height: 660px; }
  .etterem-page .etterem-hero__media img { object-position: 62% center; }
  .etterem-page .etterem-hero__content { display: grid; grid-template-columns: minmax(0, 1fr); width: min(100% - (var(--container-padding) * 2), var(--container-max)); padding-top: 8rem; padding-bottom: var(--space-6); }
  .etterem-page .etterem-hero__copy { grid-column: 1; width: 100%; max-width: 30rem; gap: var(--space-4); }
  .etterem-page .etterem-hero__copy h1 { font-size: 2.5rem; }
  .etterem-page .etterem-hero__actions { width: 100%; }
  .etterem-page .etterem-hero__actions .button { min-height: 3rem; }

  .etterem-page .hospitality-section__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .etterem-page .hospitality-section__intro,
  .etterem-page .hospitality-section__item--one,
  .etterem-page .hospitality-section__item--two,
  .etterem-page .hospitality-section__item--three { grid-column: 1; margin-top: 0; }
  .etterem-page .hospitality-section__item { padding-top: var(--space-4); }

  .etterem-page .kitchen-section__media { width: calc(100% - var(--space-5)); margin-left: var(--space-5); }
  .etterem-page .kitchen-section__media img { border-radius: 999rem 999rem 0 0; }

  .etterem-page .bar-section__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .etterem-page .bar-section__intro,
  .etterem-page .bar-section__content { grid-column: 1; }
  .etterem-page .bar-section__content { grid-template-columns: minmax(0, 1fr); padding: var(--space-5); }
  .etterem-page .bar-section__category { padding: var(--space-5) 0; border-right: 0 !important; }

  .etterem-page .spaces-section__grid { grid-template-columns: minmax(0, 1fr); }
  .etterem-page .space-panel { min-height: auto; padding: var(--space-5); }
  .etterem-page .space-panel--private { order: 4; }
  .etterem-page .space-panel--poker { order: 5; }
  .etterem-page .space-panel--lighting { order: 6; }

  .etterem-page .poker-section__quote { width: min(24rem, 100%); margin-top: calc(var(--space-4) * -1); }
  .etterem-page .poker-section__copy { gap: var(--space-4); }

  .etterem-page .groups-section__grid { grid-template-columns: minmax(0, 1fr); }
  .etterem-page .groups-section__intro,
  .etterem-page .groups-section__list { grid-column: 1; }
  .etterem-page .groups-section__intro { padding: var(--space-5); }
  .etterem-page .groups-section__list { padding-top: var(--space-6); }
  .etterem-page .groups-section__item { padding: var(--space-5) 0; }

  .etterem-page .directions-section__intro { margin-inline: 0; text-align: left; }
  .etterem-page .directions-section__intro p { margin-inline: 0; }
  .etterem-page .directions-section__grid { grid-template-columns: minmax(0, 1fr); border-top: 1px solid var(--color-border-dark); }
  .etterem-page .direction-item { padding: var(--space-5) 0; border-right: 0 !important; border-left: 0; border-bottom: 1px solid var(--color-border-dark); transform: none; }

  .etterem-page .closing-section__copy { gap: var(--space-4); }
  .etterem-page .closing-section__art { min-height: 7.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .etterem-page .etterem-hero__media img { animation: none; }
}
