.etlap-page {
  background: var(--color-bone-white);
}

.etlap-page :is(.etlap-hero__grid, .etlap-compass__grid, .etlap-sharing__grid, .etlap-main-dishes__grid, .etlap-late__cards, .etlap-drinks__grid, .etlap-lounge__grid, .etlap-next__links, .etlap-enquiry__grid, .etlap-enquiry__form-grid, .etlap-lounge__route-cards) > * {
  min-width: 0;
}

.etlap-hero__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}

.etlap-hero__copy {
  grid-column: 1 / span 4;
  width: 100%;
  max-width: 430px;
}

.etlap-breadcrumb {
  margin-bottom: var(--space-5);
  color: var(--color-text-muted);
  font-size: var(--font-size-meta);
}

.etlap-breadcrumb a {
  color: var(--color-cornflower-blue);
}

.etlap-hero__copy h1 {
  margin-bottom: var(--space-5);
}

.etlap-hero__copy > p:not(.eyebrow):not(.etlap-breadcrumb) {
  max-width: 36ch;
}

.etlap-hero__action {
  margin-top: var(--space-2);
}

.etlap-hero__media {
  grid-column: 6 / span 6;
  width: 100%;
  margin: 0;
}

.etlap-hero__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border-radius: var(--radius-field);
}

.etlap-hero__ticket {
  grid-column: 11 / span 2;
  width: 100%;
  margin-top: 54%;
  padding: var(--space-4);
  transform: translateX(-10px);
}

.etlap-rhythm {
  display: grid;
  gap: var(--space-3);
  margin: 0;
}

.etlap-rhythm div {
  display: grid;
  gap: var(--space-1);
}

.etlap-rhythm dd {
  margin: 0;
  font-size: var(--font-size-fine);
}

.etlap-compass {
  border-top: var(--border);
  border-bottom: var(--border);
  background: var(--color-paper-white);
}

.etlap-compass__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}

.etlap-compass__intro {
  grid-column: 1 / span 3;
  width: 100%;
  max-width: 26ch;
}

.etlap-compass__intro h2 {
  margin-bottom: var(--space-3);
}

.etlap-category-nav {
  display: grid;
  grid-column: 4 / span 9;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
}

.etlap-category-nav a {
  display: flex;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3);
  border: var(--border);
  background: var(--color-paper-white);
  color: var(--color-ink);
  font-size: var(--font-size-meta);
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}

.etlap-category-nav a span {
  color: var(--color-cornflower-blue);
  font-size: var(--font-size-label);
  letter-spacing: 0.08em;
}

.etlap-category-nav a:hover,
.etlap-category-nav a.is-active {
  border-color: var(--color-tangerine);
  background: color-mix(in srgb, var(--color-tangerine) 14%, var(--color-paper-white));
}

.etlap-category-nav a.is-active span {
  color: var(--color-rosewood);
}

.etlap-season-note {
  max-width: 58ch;
  margin: var(--space-5) 0 0;
  padding-top: var(--space-4);
  border-top: var(--rule-perforated);
  color: var(--color-rosewood);
  font-size: var(--font-size-meta);
}

.etlap-sharing {
  padding-block: var(--space-10);
}

.etlap-sharing__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px;
  align-items: center;
}

.etlap-sharing__content {
  display: flex;
  grid-column: 1 / span 4;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

.etlap-sharing__primary,
.etlap-sharing__seasonal {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.etlap-sharing__primary > *,
.etlap-sharing__seasonal > * {
  margin: 0;
}

.etlap-sharing__primary p:not(.meta) {
  max-width: 40ch;
}

.etlap-sharing__seasonal {
  border-left: 4px solid var(--color-moss-green);
}

.etlap-green-label {
  color: var(--color-moss-green);
  font-size: var(--font-size-label);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.etlap-sharing__seasonal p:last-child {
  max-width: 36ch;
}

.etlap-sharing__steps {
  display: grid;
  gap: var(--space-3);
  width: 100%;
}

.etlap-sharing__steps p {
  display: grid;
  gap: var(--space-1);
  margin: 0;
  padding-bottom: var(--space-3);
  border-bottom: var(--rule-perforated);
  font-size: var(--font-size-meta);
}

.etlap-sharing__steps strong {
  color: var(--color-rosewood);
  font-size: var(--font-size-label);
  letter-spacing: 0.06em;
}

.etlap-sharing__media {
  grid-column: 6 / span 7;
  width: 100%;
  margin: 0;
}

.etlap-sharing__media img {
  width: 100%;
  min-width: 0;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
  border-radius: var(--radius-field);
}

.etlap-main-dishes__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}

.etlap-main-dishes__main {
  display: flex;
  grid-column: 1 / span 7;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

.etlap-main-dishes__main > * {
  margin: 0;
}

.etlap-main-dishes__main p:last-child {
  max-width: 48ch;
}

.etlap-main-dishes__side {
  display: flex;
  grid-column: 9 / span 4;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  margin-top: var(--space-6);
}

.etlap-main-dishes__vegetable {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  border-left: 4px solid var(--color-moss-green);
}

.etlap-main-dishes__vegetable > * {
  margin: 0;
}

.etlap-main-dishes__vegetable p:not(.etlap-green-label) {
  max-width: 34ch;
}

.etlap-main-dishes__note {
  width: 100%;
  margin: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-rosewood);
  font-size: var(--font-size-meta);
}

.etlap-late__heading {
  width: 100%;
  max-width: 42ch;
}

.etlap-late__cards {
  display: grid;
  grid-template-columns: repeat(11, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
  margin-top: var(--space-6);
}

.etlap-late__dessert {
  grid-column: 1 / span 5;
  width: 100%;
}

.etlap-late__snacks {
  grid-column: 7 / span 5;
  width: 100%;
  margin-top: var(--space-5);
}

.etlap-late__dessert,
.etlap-late__snacks {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.etlap-late__dessert > *,
.etlap-late__snacks > * {
  margin: 0;
}

.etlap-late__dessert p:last-child,
.etlap-late__snacks p:last-child {
  max-width: 38ch;
}

.etlap-card-number {
  color: var(--color-tangerine);
  font-family: var(--font-heading);
  font-size: 3.5rem;
  line-height: 0.9;
}

.etlap-late__links {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 54ch;
  margin-top: var(--space-6);
}

.etlap-late__links p {
  margin: 0;
}

.etlap-late__links div {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-5);
}

.etlap-drinks {
  background: var(--color-paper-white);
}

.etlap-drinks__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}

.etlap-drinks__content {
  display: flex;
  grid-column: 1 / span 5;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

.etlap-drinks__content > * {
  margin: 0;
}

.etlap-drinks__content > p:not(.eyebrow) {
  max-width: 42ch;
}

.etlap-drinks__text-links {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-5);
}

.etlap-drinks__note {
  display: flex;
  width: 100%;
  max-width: 32ch;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-4);
  border-left: 2px solid var(--color-cornflower-blue);
  background: var(--color-mist-blue);
}

.etlap-drinks__note > * {
  margin: 0;
}

.etlap-drinks__note p:last-child {
  font-size: var(--font-size-meta);
}

.etlap-drinks__cta {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.etlap-drinks__cta p {
  margin: 0;
  max-width: 36ch;
  font-size: var(--font-size-meta);
}

.etlap-drinks__media {
  grid-column: 9 / span 4;
  width: 100%;
  margin: 0;
}

.etlap-drinks__media img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
  border-radius: var(--radius-soft);
}

.etlap-lounge {
  padding-block: var(--space-10);
}

.etlap-lounge__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}

.etlap-lounge__story {
  grid-column: 1 / span 6;
  width: 100%;
}

.etlap-lounge__story h2 {
  max-width: 14ch;
}

.etlap-lounge__story p:last-child {
  max-width: 42ch;
}

.etlap-lounge__aside {
  display: flex;
  grid-column: 8 / span 4;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  margin-top: var(--space-6);
}

.etlap-lounge__clarifier {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  border-left: 4px solid var(--color-moss-green);
}

.etlap-lounge__clarifier > * {
  margin: 0;
}

.etlap-lounge__clarifier p:not(.etlap-green-label) {
  max-width: 32ch;
}

.etlap-lounge__clarifier ul {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding-left: 1.25rem;
  font-size: var(--font-size-meta);
}

.etlap-lounge__route-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
}

.etlap-lounge__route {
  display: flex;
  min-width: 0;
  min-height: 180px;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-4);
  color: var(--color-ink);
  text-decoration: none;
  transition: transform var(--transition-base), border-color var(--transition-fast);
}

.etlap-lounge__route:nth-child(2) {
  transform: rotate(1deg);
}

.etlap-lounge__route:hover,
.etlap-lounge__route:focus-visible {
  border-color: var(--color-cornflower-blue);
  color: var(--color-ink);
  transform: translateX(6px) rotate(0deg);
}

.etlap-lounge__route strong {
  font-family: var(--font-heading);
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 1.05;
}

.etlap-lounge__route > span:not(.meta) {
  font-size: var(--font-size-fine);
  line-height: 1.4;
}

.etlap-lounge__route b {
  margin-top: auto;
  color: var(--color-cornflower-blue);
}

.etlap-next__statement {
  width: 100%;
  max-width: 820px;
  margin-inline: auto;
  text-align: center;
}

.etlap-next__statement h2 {
  font-size: clamp(2.4rem, 5vw, 4.6rem);
}

.etlap-next__statement p {
  max-width: 58ch;
  margin-inline: auto;
}

.etlap-next__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  width: 100%;
  margin-top: var(--space-7);
  border-top: var(--border);
  border-bottom: var(--border);
}

.etlap-next__links a {
  display: flex;
  min-width: 0;
  min-height: 200px;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  color: var(--color-ink);
  text-decoration: none;
}

.etlap-next__links a + a {
  border-left: var(--border);
}

.etlap-next__links a:hover,
.etlap-next__links a:focus-visible {
  background: var(--color-mist-blue);
  color: var(--color-ink);
}

.etlap-next__links strong {
  font-family: var(--font-heading);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.1;
}

.etlap-next__links > a > span:not(.meta) {
  font-size: var(--font-size-meta);
  line-height: 1.4;
}

.etlap-next__links b {
  margin-top: auto;
  color: var(--color-cornflower-blue);
}

.etlap-enquiry {
  padding-block: var(--space-10);
}

.etlap-enquiry__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}

.etlap-enquiry__intro {
  grid-column: 1 / span 4;
  width: 100%;
  max-width: 40ch;
}

.etlap-enquiry__intro p:last-child {
  max-width: 40ch;
}

.etlap-enquiry__slip {
  grid-column: 7 / span 6;
  width: 100%;
}

.etlap-enquiry__slip form {
  width: 100%;
}

.etlap-enquiry__form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  width: 100%;
}

.etlap-enquiry__message {
  grid-column: 1 / -1;
  width: 100%;
}

.etlap-optional {
  color: var(--color-text-muted);
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.etlap-enquiry__form-footer {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-top: var(--space-5);
  padding-top: var(--space-5);
  border-top: var(--rule-perforated);
}

.etlap-enquiry__direct,
.etlap-enquiry__form-footer .fine-print {
  margin: 0;
}

.etlap-enquiry__direct {
  max-width: 58ch;
  font-size: var(--font-size-meta);
}

.etlap-enquiry__direct span {
  color: var(--color-text-muted);
}

.etlap-enquiry__form-footer .fine-print {
  max-width: 52ch;
}

.etlap-enquiry__success {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-moss-green);
  background: color-mix(in srgb, var(--color-moss-green) 10%, var(--color-paper-white));
}

.etlap-enquiry__success > * {
  margin: 0;
}

@media (max-width: 1080px) {
  .etlap-hero__grid,
  .etlap-compass__grid,
  .etlap-sharing__grid,
  .etlap-main-dishes__grid,
  .etlap-drinks__grid,
  .etlap-lounge__grid,
  .etlap-enquiry__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .etlap-hero__copy { grid-column: 1 / span 3; }
  .etlap-hero__media { grid-column: 4 / span 5; }
  .etlap-hero__ticket { grid-column: 4 / span 5; margin-top: 0; transform: none; }
  .etlap-compass__intro { grid-column: 1 / span 2; }
  .etlap-category-nav { grid-column: 3 / span 6; }
  .etlap-sharing__content { grid-column: 1 / span 3; }
  .etlap-sharing__media { grid-column: 4 / span 5; }
  .etlap-main-dishes__main { grid-column: 1 / span 5; }
  .etlap-main-dishes__side { grid-column: 6 / span 3; }
  .etlap-drinks__content { grid-column: 1 / span 4; }
  .etlap-drinks__media { grid-column: 5 / span 4; }
  .etlap-lounge__story { grid-column: 1 / span 5; }
  .etlap-lounge__aside { grid-column: 6 / span 3; }
  .etlap-enquiry__intro { grid-column: 1 / span 3; }
  .etlap-enquiry__slip { grid-column: 4 / span 5; }

  .etlap-lounge__route-cards { grid-template-columns: 1fr; }
  .etlap-lounge__route { min-height: 132px; }
}

@media (max-width: 900px) {
  .etlap-compass__grid { grid-template-columns: 1fr; }
  .etlap-compass__intro,
  .etlap-category-nav { grid-column: 1; max-width: none; }

  .etlap-main-dishes__grid { grid-template-columns: 1fr; }
  .etlap-main-dishes__main,
  .etlap-main-dishes__side { grid-column: 1; }
  .etlap-main-dishes__side { margin-top: 0; max-width: 520px; }

  .etlap-late__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .etlap-late__dessert,
  .etlap-late__snacks { grid-column: auto; margin-top: 0; }

  .etlap-lounge__grid { grid-template-columns: 1fr; }
  .etlap-lounge__story,
  .etlap-lounge__aside { grid-column: 1; }
  .etlap-lounge__aside { margin-top: 0; max-width: 600px; }

  .etlap-next__links { grid-template-columns: 1fr; }
  .etlap-next__links a { min-height: 0; }
  .etlap-next__links a + a { border-top: var(--border); border-left: 0; }

  .etlap-enquiry__grid { grid-template-columns: 1fr; }
  .etlap-enquiry__intro,
  .etlap-enquiry__slip { grid-column: 1; max-width: none; }
  .etlap-enquiry__intro { max-width: 48ch; }
}

@media (max-width: 820px) {
  .etlap-hero__grid,
  .etlap-sharing__grid,
  .etlap-drinks__grid { grid-template-columns: 1fr; }

  .etlap-hero__copy,
  .etlap-hero__media,
  .etlap-hero__ticket,
  .etlap-sharing__content,
  .etlap-sharing__media,
  .etlap-drinks__content,
  .etlap-drinks__media { grid-column: 1; max-width: none; }

  .etlap-hero__copy { max-width: 430px; }
  .etlap-hero__media { order: 2; }
  .etlap-hero__ticket { order: 3; max-width: 620px; }
  .etlap-sharing__media { order: 2; }
  .etlap-sharing__content { order: 1; max-width: 520px; }
  .etlap-drinks__media { order: 2; max-width: 560px; }

  .etlap-sharing__media img { aspect-ratio: 4 / 5; }
}

@media (max-width: 767px) {
  .etlap-hero__grid { gap: var(--space-5); }
  .etlap-hero__copy h1 { font-size: clamp(2.625rem, 12vw, 3.5rem); }
  .etlap-hero__copy > p:not(.eyebrow):not(.etlap-breadcrumb) { max-width: 34ch; }
  .etlap-hero__media img { aspect-ratio: 4 / 5; }
  .etlap-hero__ticket { padding: var(--space-5); }

  .etlap-category-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .etlap-category-nav__wide { grid-column: 1 / -1; }
  .etlap-category-nav a { font-size: 1rem; }

  .etlap-sharing { padding-block: var(--space-8); }
  .etlap-sharing__content { gap: var(--space-4); }
  .etlap-sharing__primary h2,
  .etlap-main-dishes__main h2,
  .etlap-late__heading h2 { font-size: clamp(2.125rem, 10vw, 2.75rem); }

  .etlap-late__cards { grid-template-columns: 1fr; gap: var(--space-4); }
  .etlap-late__dessert,
  .etlap-late__snacks { grid-column: 1; }
  .etlap-late__links div { display: grid; grid-template-columns: 1fr; gap: var(--space-3); }
  .etlap-late__links .action-link { min-height: 44px; }

  .etlap-drinks__content { gap: var(--space-4); }
  .etlap-drinks__content > p:not(.eyebrow) { max-width: 39ch; }
  .etlap-drinks__cta { align-items: stretch; }
  .etlap-drinks__cta .button { width: 100%; }

  .etlap-lounge { padding-block: var(--space-8); }
  .etlap-lounge__story h2 { max-width: 15ch; font-size: clamp(2.25rem, 11vw, 3rem); }
  .etlap-lounge__story p:last-child { max-width: 39ch; }
  .etlap-lounge__route-cards { grid-template-columns: 1fr; }
  .etlap-lounge__route { min-height: 132px; padding: var(--space-5); }

  .etlap-next__statement h2 { font-size: clamp(2.125rem, 11vw, 2.75rem); }
  .etlap-next__statement p { max-width: 34ch; }
  .etlap-next__links { margin-top: var(--space-6); }
  .etlap-next__links a { min-height: 160px; padding: var(--space-4); }

  .etlap-enquiry { padding-block: var(--space-8); }
  .etlap-enquiry__form-grid { grid-template-columns: 1fr; }
  .etlap-enquiry__message { grid-column: 1; }
  .etlap-enquiry__form-footer { align-items: stretch; }
  .etlap-enquiry__form-footer .button { width: 100%; }
  .etlap-enquiry__direct { display: grid; gap: var(--space-2); }
}

@media (prefers-reduced-motion: reduce) {
  .etlap-lounge__route,
  .etlap-lounge__route:nth-child(2),
  .etlap-lounge__route:hover,
  .etlap-lounge__route:focus-visible { transform: none; }
}
