.etterem-page {
  background: var(--color-graphite-950);
  color: var(--color-text);
}

.etterem-page .container {
  max-width: var(--container-max);
}

.etterem-page .eyebrow {
  margin-block-end: var(--space-4);
}

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

.etterem-breadcrumb {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2);
  color: var(--color-pearl-200);
  font-size: var(--font-size-14);
}

.etterem-breadcrumb a {
  color: var(--color-pearl-050);
}

.etterem-hero {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 47.5rem;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  overflow: hidden;
  background: var(--color-graphite-950);
}

.etterem-hero__media {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  min-width: 0;
  height: 100%;
}

.etterem-hero__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(7, 9, 11, 0.9) 0%, rgba(7, 9, 11, 0.72) 38%, rgba(7, 9, 11, 0.15) 72%, rgba(7, 9, 11, 0.28) 100%);
  content: "";
}

.etterem-hero__media img {
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  object-position: 62% center;
}

.etterem-hero__image--drift {
  animation: etterem-hero-drift 8s ease-in-out infinite alternate;
}

@keyframes etterem-hero-drift {
  from { transform: scale(1); }
  to { transform: scale(1.025); }
}

.etterem-hero__rail {
  z-index: 1;
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 47.5rem;
  grid-column: 1 / span 1;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-16);
  padding: var(--space-12) var(--gutter) var(--space-16);
}

.etterem-hero__content {
  display: flex;
  width: min(100%, 46rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.etterem-hero__content .eyebrow,
.etterem-hero__content h1,
.etterem-hero__content p {
  margin-block: 0;
}

.etterem-hero__content h1 {
  width: min(100%, 56.25rem);
}

.etterem-hero__lead {
  max-width: 46rem;
  color: var(--color-pearl-200);
}

.etterem-hero__actions {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.etterem-hero__actions > * {
  min-width: 0;
}

.etterem-hero__note {
  max-width: 38rem;
  color: var(--color-pearl-500);
  font-size: var(--font-size-14);
  line-height: var(--leading-caption);
}

.etterem-hero__caption {
  position: absolute;
  z-index: 1;
  right: var(--gutter);
  bottom: var(--space-6);
  width: min(22rem, 30vw);
  margin: 0;
  text-align: right;
}

.etterem-rhythms {
  background: var(--color-graphite-900);
  padding-block: var(--space-16);
}

.etterem-rhythms__heading {
  width: min(100%, 44rem);
}

.etterem-rhythms__grid {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: var(--space-12);
  border-bottom: 1px solid var(--color-border);
}

.etterem-rhythm {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  border-top: 1px solid var(--color-border);
  padding: var(--space-6);
}

.etterem-rhythm + .etterem-rhythm {
  border-left: 1px solid var(--color-border);
}

.etterem-rhythm > * { margin: 0; }
.etterem-rhythm__number { color: var(--color-copper-300); font-size: var(--font-size-14); font-variant-numeric: tabular-nums; letter-spacing: var(--tracking-wide); }
.etterem-rhythm h3 { font-size: var(--font-size-32); }
.etterem-rhythm p:last-child { max-width: 24rem; }
.etterem-rhythm--casino { box-shadow: inset 2px 0 0 var(--color-sapphire-700); }

.etterem-dining { background: var(--color-walnut-900); }
.etterem-dining__grid {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(0, 5fr) minmax(2rem, 2fr) minmax(0, 3fr);
}

.etterem-dining__narrative { grid-column: 1 / span 1; width: 100%; min-width: 0; max-width: 46rem; }
.etterem-dining__narrative blockquote { margin-block: var(--space-12) 0; }
.etterem-dining__rail {
  display: flex;
  width: 100%;
  min-width: 0;
  grid-column: 3 / span 1;
  align-self: end;
  flex-direction: column;
  gap: var(--space-4);
  border-left: 1px solid var(--color-border);
  padding-left: var(--space-6);
}
.etterem-dining__rail > * { margin: 0; }
.etterem-dining__rail p:not(.meta) { max-width: 26rem; }
.etterem-dining__rail h3 { font-size: var(--font-size-32); }

.etterem-kitchen { background: var(--color-graphite-950); }
.etterem-kitchen__grid {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: stretch;
}
.etterem-kitchen__media { width: 100%; min-width: 0; min-height: 42rem; margin: 0; overflow: hidden; background: var(--color-graphite-800); }
.etterem-kitchen__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; transition: transform var(--transition-slow); }
.etterem-kitchen__media:hover img { transform: scale(1.03); }
.etterem-kitchen__panel { display: flex; width: 100%; min-width: 0; flex-direction: column; justify-content: center; gap: var(--space-4); background: var(--color-graphite-900); padding: var(--space-12); }
.etterem-kitchen__panel > * { margin: 0; }
.etterem-kitchen__panel h2 { max-width: 42rem; }
.etterem-kitchen__panel > p:not(.eyebrow):not(.etterem-kitchen__lead) { max-width: 42rem; }
.etterem-kitchen__lead { max-width: 42rem; color: var(--color-pearl-050); font-size: var(--font-size-20); line-height: 1.35; }
.etterem-kitchen__caption { display: flex; width: 100%; min-width: 0; flex-direction: column; gap: var(--space-3); border-top: 1px solid var(--color-border); margin-top: var(--space-2); padding-top: var(--space-6); }
.etterem-kitchen__caption > * { margin: 0; }
.etterem-kitchen__caption p { max-width: 36rem; }

.etterem-bar { background: var(--color-graphite-950); }
.etterem-bar__grid { display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); column-gap: var(--space-12); row-gap: var(--space-12); }
.etterem-bar__content { width: 100%; min-width: 0; grid-column: 1 / span 1; }
.etterem-bar__content h2 { max-width: 42rem; }
.etterem-bar__intro { max-width: 42rem; font-size: var(--font-size-20); line-height: 1.35; }
.etterem-bar__media { width: 100%; min-width: 0; grid-column: 2 / span 1; grid-row: 1 / span 2; margin: 0; align-self: start; }
.etterem-bar__media img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; object-position: 45% center; transition: transform var(--transition-slow); }
.etterem-bar__media:hover img { transform: scale(1.03); }
.etterem-bar__media figcaption { margin-top: var(--space-3); }
.etterem-bar__directions { display: grid; width: 100%; min-width: 0; grid-column: 1 / span 1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8) var(--space-6); }
.etterem-bar__directions article { width: 100%; min-width: 0; border-top: 1px solid var(--color-border); padding-top: var(--space-4); }
.etterem-bar__directions article:first-child { grid-column: 1 / -1; }
.etterem-bar__directions article > * { margin-block-start: 0; }
.etterem-bar__directions article p:last-child { max-width: 28rem; margin-block-end: 0; }
.etterem-bar__directions h3 { font-size: var(--font-size-24); }

.etterem-lounge { background: var(--color-sapphire-900); }
.etterem-lounge__grid { display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--space-12); }
.etterem-lounge__narrative { width: 100%; min-width: 0; max-width: 48rem; }
.etterem-lounge__narrative h2 { max-width: 47.5rem; }
.etterem-lounge__lead { max-width: 48rem; color: var(--color-pearl-050); font-size: var(--font-size-20); line-height: 1.35; }
.etterem-lounge__rail { display: flex; width: 100%; min-width: 0; align-self: end; flex-direction: column; gap: var(--space-4); border-top: 1px solid var(--color-sapphire-700); padding-top: var(--space-6); }
.etterem-lounge__rail > * { margin: 0; }
.etterem-lounge__rail p:not(.meta):not(.caption) { max-width: 30rem; }

.etterem-timeline { background: var(--color-graphite-950); }
.etterem-timeline__heading { width: min(100%, 48rem); }
.etterem-timeline__list { display: grid; width: 100%; min-width: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: var(--space-12) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--color-copper-500); }
.etterem-timeline__list li { display: flex; width: 100%; min-width: 0; flex-direction: column; gap: var(--space-3); border-bottom: 1px solid var(--color-border); padding: var(--space-6); }
.etterem-timeline__list li + li { border-left: 1px solid var(--color-border); }
.etterem-timeline__list li > * { margin: 0; }
.etterem-timeline__number { color: var(--color-copper-300); font-variant-numeric: tabular-nums; letter-spacing: var(--tracking-wide); }
.etterem-timeline__list h3 { font-size: var(--font-size-24); }
.etterem-timeline__list li > p:last-of-type { max-width: 22rem; }
.etterem-timeline__casino { background: var(--color-sapphire-900); }

.etterem-after { background: var(--color-graphite-900); }
.etterem-after__grid { display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-12); }
.etterem-after__narrative { width: 100%; min-width: 0; max-width: 46rem; }
.etterem-after__narrative h2 { max-width: 47.5rem; }
.etterem-after__links { display: flex; width: 100%; min-width: 0; flex-direction: column; align-self: start; }
.etterem-after__links a { display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3); border-top: 1px solid var(--color-border); padding: var(--space-5) 0; color: var(--color-pearl-050); text-decoration: none; transition: border-color var(--transition-base), color var(--transition-base); }
.etterem-after__links a:last-child { border-bottom: 1px solid var(--color-border); }
.etterem-after__links a:hover { border-color: var(--color-copper-500); }
.etterem-after__links a > span:first-child { display: flex; min-width: 0; flex-direction: column; gap: var(--space-1); }
.etterem-after__links b { font-family: var(--font-display); font-size: var(--font-size-32); font-weight: var(--weight-medium); }
.etterem-after__links small { color: var(--color-copper-300); letter-spacing: var(--tracking-wide); text-transform: uppercase; }
.etterem-after__links em { grid-column: 1 / -1; max-width: 28rem; color: var(--color-pearl-200); font-family: var(--font-body); font-size: var(--font-size-14); font-style: normal; line-height: var(--leading-caption); }

.etterem-private { background: var(--color-walnut-900); padding-block: var(--section-space); }
.etterem-private__grid { display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-12); }
.etterem-private__narrative { width: 100%; min-width: 0; max-width: 46rem; }
.etterem-private__lead { max-width: 46rem; color: var(--color-pearl-050); font-size: var(--font-size-20); line-height: 1.35; }
.etterem-private__rail { display: flex; width: 100%; min-width: 0; align-self: end; flex-direction: column; gap: var(--space-6); }
.etterem-private__rail > * { margin: 0; }
.etterem-private__rail ul { width: 100%; }
.etterem-private__rail li { border-top: 1px solid var(--color-border); padding: var(--space-3) 0; }
.etterem-private__rail li:last-child { border-bottom: 1px solid var(--color-border); }
.etterem-private__rail .caption { max-width: 28rem; }

.etterem-planning { background: var(--color-graphite-800); padding-block: var(--space-16); }
.etterem-planning__grid { display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--space-12); }
.etterem-planning__content { width: 100%; min-width: 0; max-width: 44rem; }
.etterem-planning__content h2 { font-size: clamp(2rem, 3vw, var(--font-size-44)); }
.etterem-arrival { display: flex; width: 100%; min-width: 0; flex-direction: column; gap: var(--space-3); border-top: 1px solid var(--color-border); margin-top: var(--space-8); padding-top: var(--space-6); }
.etterem-arrival > * { margin: 0; }
.etterem-arrival > div { display: flex; width: 100%; min-width: 0; flex-wrap: wrap; gap: var(--space-2) var(--space-4); }
.etterem-arrival span { font-size: var(--font-size-14); }
.etterem-hours { display: flex; width: 100%; min-width: 0; align-self: start; flex-direction: column; gap: var(--space-6); border-top: 1px solid var(--color-copper-500); background: var(--color-graphite-900); padding: var(--space-6); }
.etterem-hours > * { margin: 0; }
.etterem-hours dl { display: flex; width: 100%; min-width: 0; flex-direction: column; }
.etterem-hours dl > div { display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-4); border-top: 1px solid var(--color-border); padding: var(--space-3) 0; }
.etterem-hours dl > div:last-child { border-bottom: 1px solid var(--color-border); }
.etterem-hours dt { font-weight: var(--weight-regular); }
.etterem-hours dd { color: var(--color-pearl-050); text-align: right; }

@media (max-width: 1100px) {
  .etterem-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .etterem-hero__rail { width: min(100%, 50rem); }
  .etterem-hero__content h1 { font-size: clamp(3rem, 6vw, var(--font-size-64)); }
  .etterem-kitchen__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .etterem-bar__grid { column-gap: var(--space-8); }
  .etterem-timeline__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .etterem-timeline__list li:nth-child(3) { border-left: 0; }
  .etterem-timeline__list li:nth-child(n + 3) { border-top: 1px solid var(--color-border); }
}

@media (max-width: 1020px) {
  .etterem-rhythms__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .etterem-rhythm:nth-child(3) { grid-column: 1 / -1; border-left: 0; }
  .etterem-kitchen__panel { padding: var(--space-8); }
  .etterem-bar__directions { grid-template-columns: 1fr; }
  .etterem-bar__directions article:first-child { grid-column: auto; }
}

@media (max-width: 980px) {
  .etterem-dining__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr); gap: var(--space-8); }
  .etterem-dining__rail { grid-column: 2 / span 1; }
  .etterem-lounge__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr); gap: var(--space-8); }
  .etterem-after__grid,
  .etterem-private__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr); gap: var(--space-8); }
  .etterem-planning__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr); gap: var(--space-8); }
}

@media (max-width: 820px) {
  .etterem-hero { display: flex; min-height: 0; flex-direction: column; }
  .etterem-hero__media { position: relative; order: 0; height: clamp(18.75rem, 75vw, 32rem); }
  .etterem-hero__media::after { background: linear-gradient(180deg, rgba(7, 9, 11, 0.08), rgba(7, 9, 11, 0.38)); }
  .etterem-hero__media img { object-position: 50% center; }
  .etterem-hero__rail { min-height: 0; order: 1; gap: var(--space-12); background: var(--color-graphite-950); padding: var(--space-6) var(--gutter) var(--space-12); }
  .etterem-hero__content { width: min(100%, 34rem); gap: var(--space-4); }
  .etterem-hero__content h1 { font-size: clamp(2.625rem, 11vw, 3rem); }
  .etterem-hero__actions { flex-direction: column; gap: var(--space-3); }
  .etterem-hero__actions .button { width: 100%; }
  .etterem-hero__caption { position: static; order: 2; width: 100%; margin: 0; background: var(--color-graphite-950); padding: 0 var(--gutter) var(--space-6); text-align: left; }
  .etterem-rhythms { padding-block: var(--space-12); }
  .etterem-rhythms__grid { grid-template-columns: 1fr; margin-top: var(--space-8); }
  .etterem-rhythm,
  .etterem-rhythm + .etterem-rhythm,
  .etterem-rhythm:nth-child(3) { grid-column: auto; border-left: 0; }
  .etterem-rhythm { padding-inline: 0; }
  .etterem-dining__grid,
  .etterem-kitchen__grid,
  .etterem-bar__grid,
  .etterem-lounge__grid,
  .etterem-after__grid,
  .etterem-private__grid,
  .etterem-planning__grid { grid-template-columns: 1fr; gap: var(--space-8); }
  .etterem-dining__narrative,
  .etterem-dining__rail,
  .etterem-lounge__narrative,
  .etterem-lounge__rail,
  .etterem-after__narrative,
  .etterem-after__links,
  .etterem-private__narrative,
  .etterem-private__rail,
  .etterem-planning__content,
  .etterem-hours { grid-column: auto; }
  .etterem-dining__rail { border-top: 1px solid var(--color-border); border-left: 0; padding-top: var(--space-6); padding-left: 0; }
  .etterem-kitchen__media { min-height: 0; aspect-ratio: 4 / 3; }
  .etterem-kitchen__panel { padding: var(--space-8) var(--gutter); }
  .etterem-bar__content { grid-column: auto; }
  .etterem-bar__media { grid-column: auto; grid-row: auto; order: 2; }
  .etterem-bar__directions { grid-column: auto; order: 3; grid-template-columns: 1fr; }
  .etterem-bar__media img { aspect-ratio: 4 / 3; }
  .etterem-lounge { padding-block: var(--section-space); }
  .etterem-lounge__rail { padding-top: var(--space-6); }
  .etterem-timeline__list { grid-template-columns: 1fr; border-top: 0; border-left: 1px solid var(--color-copper-500); }
  .etterem-timeline__list li,
  .etterem-timeline__list li + li,
  .etterem-timeline__list li:nth-child(3),
  .etterem-timeline__list li:nth-child(n + 3) { border-top: 1px solid var(--color-border); border-left: 0; }
  .etterem-timeline__list li:first-child { border-top: 0; }
  .etterem-timeline__list li { padding-left: var(--space-6); }
  .etterem-private__rail { align-self: auto; }
  .etterem-planning { padding-block: var(--space-12); }
}

@media (max-width: 479px) {
  .etterem-page .section { padding-block: var(--section-space); }
  .etterem-page .section--compact { padding-block: var(--section-space-compact); }
  .etterem-hero__rail { padding-inline: var(--gutter); }
  .etterem-kitchen__panel { padding-inline: var(--gutter); }
  .etterem-rhythm h3,
  .etterem-dining__rail h3 { font-size: var(--font-size-24); }
  .etterem-lounge__narrative h2,
  .etterem-after__narrative h2 { font-size: clamp(2rem, 10vw, 2.5rem); }
  .etterem-after__links b { font-size: var(--font-size-24); }
  .etterem-hours { padding: var(--space-4); }
}

@media (prefers-reduced-motion: reduce) {
  .etterem-hero__image--drift { animation: none; }
  .etterem-kitchen__media:hover img,
  .etterem-bar__media:hover img { transform: none; }
}
