.etlap-page {
  overflow: clip;
}

.etlap-page .button {
  min-height: 3rem;
  border-radius: var(--radius-sm);
}

.etlap-page .etlap-text-link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-walnut);
  font-size: var(--text-nav);
  font-weight: 650;
  text-decoration: none;
}

.etlap-page .etlap-text-link::after {
  width: 100%;
  height: 2px;
  background: var(--color-gold);
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--transition-fast);
}

.etlap-page .etlap-text-link {
  position: relative;
}

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

.etlap-hero__layout,
.etlap-courses__layout,
.etlap-evening__layout,
.etlap-booking__layout {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  align-items: center;
}

.etlap-hero__copy,
.etlap-hero__figure,
.etlap-courses__panels,
.etlap-craft,
.etlap-evening__copy,
.etlap-evening__figure,
.etlap-booking__copy,
.etlap-booking__panel {
  min-width: 0;
}

.etlap-hero__copy { grid-column: 1; max-width: 32.5rem; }
.etlap-hero__figure { grid-column: 3; width: 100%; margin: 0; }
.etlap-hero__figure img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center center; }
.etlap-hero__copy > :last-child { margin-block-end: 0; }
.etlap-hero__copy h1 { max-width: 31.25rem; font-size: var(--text-hero); line-height: var(--leading-hero); }
.etlap-hero__copy > .lead { max-width: 31.25rem; color: var(--color-text-muted); }
.etlap-hero__action { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); margin-block-start: var(--space-5); }
.etlap-hero__note { max-width: 27rem; margin: 0; color: var(--color-text-muted); font-size: var(--text-nav); line-height: var(--leading-body); }

.etlap-image-reveal { position: relative; }
.etlap-image-reveal figcaption { transition: opacity var(--transition-fast), transform var(--transition-fast); }
@media (hover: hover) {
  .etlap-image-reveal figcaption { opacity: .76; transform: translateY(4px); }
  .etlap-image-reveal:hover figcaption { opacity: 1; transform: translateY(0); }
}

.etlap-map { border-block: var(--border); }
.etlap-map__layout { display: grid; min-width: 0; grid-template-columns: minmax(0, 2fr) minmax(0, 10fr); column-gap: var(--space-5); row-gap: var(--space-3); padding-block: var(--space-4); }
.etlap-map__label { min-width: 0; align-self: center; }
.etlap-map__label .eyebrow { margin: 0; color: var(--color-walnut); }
.etlap-map__nav { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-5); border-block-end: var(--border); }
.etlap-map__nav a { display: inline-flex; min-width: 2.75rem; min-height: 2.75rem; align-items: center; border-block-end: 2px solid transparent; color: var(--color-walnut); font-size: var(--text-nav); font-weight: 600; text-decoration: none; white-space: nowrap; }
.etlap-map__nav a:hover,
.etlap-map__nav a:focus-visible,
.etlap-map__nav a[aria-current="location"] { border-color: var(--color-sage); color: var(--color-walnut-soft); }
.etlap-map__note { grid-column: 2; max-width: 38.75rem; margin: 0; color: var(--color-text-muted); font-size: var(--text-nav); line-height: var(--leading-body); }

.etlap-principles__intro { max-width: 45rem; }
.etlap-principles__intro > :last-child,
.etlap-courses__intro > :last-child,
.etlap-drinks__intro > :last-child,
.etlap-service__intro > :last-child,
.etlap-groups__intro > :last-child,
.etlap-planning__intro > :last-child,
.etlap-booking__copy > :last-child { margin-block-end: 0; }
.etlap-principles__grid { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-7) var(--space-8); margin-block-start: var(--space-8); }
.etlap-principle { display: grid; min-width: 0; grid-template-columns: minmax(3rem, .12fr) minmax(0, 1fr); gap: var(--space-4); padding-inline-start: var(--space-4); border-inline-start: 1px solid var(--color-line); }
.etlap-principle__number { color: var(--color-gold); font-size: var(--text-micro); font-weight: 700; letter-spacing: .14em; line-height: var(--leading-micro); }
.etlap-principle__copy { min-width: 0; max-width: 35rem; }
.etlap-principle__copy > :last-child { margin-block-end: 0; }
.etlap-principle p { color: var(--color-text-muted); }

.etlap-courses { padding-block-start: 0; }
.etlap-courses__intro { max-width: 46.25rem; }
.etlap-courses__layout { margin-block-start: var(--space-8); align-items: start; }
.etlap-courses__panels { grid-column: 1; display: flex; flex-direction: column; align-items: stretch; gap: var(--space-4); }
.etlap-course { display: grid; min-width: 0; grid-template-columns: minmax(3rem, .1fr) minmax(0, 1fr); gap: var(--space-4); padding: var(--space-5); border: var(--border); background: var(--color-ivory); }
.etlap-course--warm { background: var(--color-champagne); }
.etlap-course > span { color: var(--color-gold); font-size: var(--text-micro); font-weight: 700; letter-spacing: .14em; }
.etlap-course > div { min-width: 0; max-width: 38.75rem; }
.etlap-course h3 { margin-block-end: var(--space-3); }
.etlap-course p { margin: 0; color: var(--color-text-muted); }
.etlap-craft { grid-column: 3; display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-5); padding-block-start: var(--space-8); }
.etlap-craft__figure { width: 100%; margin: 0; }
.etlap-craft__figure img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: center; }
.etlap-craft__copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.etlap-craft__copy h3,
.etlap-craft__copy p { margin: 0; }
.etlap-craft__copy p { color: var(--color-text-muted); }

.etlap-drinks__intro { max-width: 42.5rem; padding-block-start: var(--space-3); border-block-start: 2px solid var(--color-gold); }
.etlap-drinks__grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr); align-items: start; margin-block: var(--space-7) var(--space-5); }
.etlap-drink-panel { display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-4); padding: var(--space-6); border: var(--border); }
.etlap-drink-panel > * { margin: 0; }
.etlap-drink-panel--wine { grid-column: 1; max-width: 30rem; background: var(--color-ivory); }
.etlap-drink-panel--cocktail { grid-column: 3; background: var(--color-walnut-soft); color: var(--color-white); }
.etlap-drink-panel--cocktail h3 { color: var(--color-white); }
.etlap-drink-panel--cocktail p { color: var(--color-champagne); }
.etlap-drinks > .container > .etlap-text-link { color: var(--color-walnut); }

.etlap-service__intro { width: min(100%, 38.75rem); margin-inline: auto; text-align: center; }
.etlap-service__intro .eyebrow { justify-content: center; }
.etlap-service__grid { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-block-start: var(--space-8); }
.etlap-service-item { display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-4); padding-block-start: var(--space-4); border-block-start: 2px solid var(--color-gold); }
.etlap-service-item > * { margin: 0; }
.etlap-service-item > span,
.etlap-plan > span { color: var(--color-gold); font-size: var(--text-micro); font-weight: 700; letter-spacing: .14em; }
.etlap-service-item p { color: var(--color-text-muted); }
.etlap-service-item em { color: var(--color-walnut-soft); font-family: var(--font-heading); font-size: 1.15em; }

.etlap-evening { padding-block: var(--section-space-compact); }
.etlap-evening__copy { grid-column: 1; max-width: 32.5rem; }
.etlap-evening__copy > :last-child { margin-block-end: 0; }
.etlap-evening__copy h2 { max-width: 27rem; }
.etlap-evening__copy p { color: var(--color-champagne); }
.etlap-evening__figure { grid-column: 3; width: 100%; margin: 0; }
.etlap-evening__figure img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: center; }
.etlap-evening__figure figcaption { color: var(--color-champagne); border-color: rgb(232 216 190 / .45); }

.etlap-groups__intro { max-width: 38.75rem; }
.etlap-groups__grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr); align-items: start; margin-block-start: var(--space-7); }
.etlap-group-panel { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); border: var(--border); }
.etlap-group-panel > * { margin: 0; }
.etlap-group-panel p { max-width: 30rem; }
.etlap-group-panel--private { grid-column: 1; background: var(--color-ivory); }
.etlap-group-panel--private p { color: var(--color-text-muted); }
.etlap-group-panel--group { grid-column: 3; margin-block-start: var(--space-6); background: var(--color-walnut-soft); color: var(--color-white); }
.etlap-group-panel--group h3 { color: var(--color-white); }
.etlap-group-panel--group p { color: var(--color-champagne); }
.etlap-group-panel--group .etlap-text-link { color: var(--color-white); }

.etlap-planning__intro { max-width: 45rem; }
.etlap-planning__grid { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-block-start: var(--space-7); }
.etlap-plan { display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-3); padding-block: var(--space-4); border-block-start: var(--border); }
.etlap-plan > * { margin: 0; }
.etlap-plan p { max-width: 22.5rem; color: var(--color-text-muted); }

.etlap-booking__layout { align-items: stretch; }
.etlap-booking__copy { grid-column: 1; align-self: center; max-width: 42.5rem; }
.etlap-booking__panel { grid-column: 3; display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-4); padding: clamp(var(--space-5), 3vw, var(--space-6)); background: var(--color-walnut); color: var(--color-champagne); }
.etlap-booking__panel > * { margin: 0; }
.etlap-booking__panel h3 { color: var(--color-white); }
.etlap-booking__panel p { max-width: 26.25rem; }
.etlap-booking__panel .button { width: 100%; min-width: 0; margin-block-start: var(--space-2); }

@media (max-width: 65rem) {
  .etlap-hero__layout,
  .etlap-courses__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-7); }
  .etlap-hero__copy,
  .etlap-hero__figure,
  .etlap-courses__panels,
  .etlap-craft { grid-column: 1; }
  .etlap-hero__figure { max-width: 38.75rem; }
  .etlap-craft { padding-block-start: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
  .etlap-craft__copy { padding-block-start: var(--space-4); }
}

@media (max-width: 63.75rem) {
  .etlap-service__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .etlap-service-item:nth-child(3) { grid-column: 1 / -1; max-width: 50%; }
}

@media (max-width: 60rem) {
  .etlap-principles__grid { gap: var(--space-6); }
}

@media (max-width: 58.75rem) {
  .etlap-drinks__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .etlap-drink-panel--wine,
  .etlap-drink-panel--cocktail { grid-column: 1; max-width: none; }
}

@media (max-width: 57.5rem) {
  .etlap-evening__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .etlap-evening__copy,
  .etlap-evening__figure { grid-column: 1; }
}

@media (max-width: 56.25rem) {
  .etlap-planning__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .etlap-plan:nth-child(3) { grid-column: 1 / -1; max-width: 50%; }
}

@media (max-width: 55rem) {
  .etlap-groups__grid,
  .etlap-booking__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .etlap-group-panel--private,
  .etlap-group-panel--group,
  .etlap-booking__copy,
  .etlap-booking__panel { grid-column: 1; }
  .etlap-group-panel--group { margin-block-start: 0; }
}

@media (max-width: 47.9375rem) {
  .etlap-hero__layout { gap: var(--space-6); }
  .etlap-hero__copy h1 { font-size: clamp(2.75rem, 13vw, 3.5rem); }
  .etlap-hero__action,
  .etlap-hero__action .button { width: 100%; }
  .etlap-hero__action { align-items: stretch; }
  .etlap-hero__figure { max-width: none; }
  .etlap-hero__figure img { object-position: center; }

  .etlap-map__layout { grid-template-columns: minmax(0, 1fr); padding-block: var(--space-4); }
  .etlap-map__nav { grid-column: 1; flex-wrap: nowrap; gap: var(--space-5); overflow-x: auto; scrollbar-width: thin; }
  .etlap-map__note { grid-column: 1; max-width: 38.75rem; }

  .etlap-principles__grid { grid-template-columns: minmax(0, 1fr); margin-block-start: var(--space-6); }
  .etlap-principle { grid-template-columns: 2.5rem minmax(0, 1fr); }

  .etlap-courses__layout { margin-block-start: var(--space-6); }
  .etlap-course { padding: var(--space-5); }
  .etlap-craft { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .etlap-craft__figure img { aspect-ratio: 4 / 5; }
  .etlap-craft__copy { padding-block-start: 0; }

  .etlap-drink-panel,
  .etlap-group-panel { padding: var(--space-5); }

  .etlap-service__intro { width: 100%; margin-inline: 0; text-align: left; }
  .etlap-service__intro .eyebrow { justify-content: flex-start; }
  .etlap-service__grid,
  .etlap-planning__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); margin-block-start: var(--space-6); }
  .etlap-service-item:nth-child(3),
  .etlap-plan:nth-child(3) { grid-column: 1; max-width: none; }

  .etlap-evening__figure img { aspect-ratio: 4 / 5; object-position: center; }
  .etlap-booking__panel { padding: var(--space-5); }
}
