.etlap-page { overflow: clip; }
.etlap-page h1, .etlap-page h2, .etlap-page h3 { hyphens: auto; overflow-wrap: break-word; text-wrap: balance; }
.etlap-hero { position: relative; min-height: 640px; display: grid; grid-template-columns: minmax(0, 1fr); align-items: end; isolation: isolate; }
.etlap-hero__image, .etlap-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.etlap-hero__image { object-fit: cover; object-position: 68% 50%; z-index: -2; }
.etlap-hero__shade { z-index: -1; background: linear-gradient(90deg, rgba(16,18,20,.94) 0%, rgba(16,18,20,.75) 43%, rgba(16,18,20,.28) 78%), rgba(16,18,20,.18); }
.etlap-hero__container { width: min(100% - (var(--container-padding) * 2), var(--container-width)); padding-block: 96px 72px; }
.etlap-hero__content { width: min(100%, 560px); min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.etlap-hero__content .eyebrow, .etlap-hero__content h1, .etlap-hero__content p { margin: 0; }
.etlap-hero__content h1 { font-size: clamp(3.5rem, 7vw, 4rem); }
.etlap-hero__lead { color: var(--color-offwhite-100); font-size: var(--text-lead); line-height: var(--leading-lead); }
.etlap-hero__actions { width: auto; }
.etlap-hero__salon-note { width: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); padding: var(--space-4); border: 2px solid var(--color-steel-700); border-left-color: var(--color-warning-yellow-500); background: rgba(25,28,31,.86); }
.etlap-hero__salon-note p { max-width: 500px; color: var(--color-offwhite-300); font-size: var(--text-meta); line-height: var(--leading-meta); }
.etlap-hero__salon-note a { font-size: var(--text-meta); font-weight: var(--weight-semibold); }
.etlap-principles__head { width: min(100%, 520px); min-width: 0; }
.etlap-principles__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.etlap-principles__grid > * { min-width: 0; width: 100%; }
.etlap-principle { position: relative; min-height: 100%; padding: var(--space-5); border: 2px solid var(--color-steel-700); background: var(--color-charcoal-900); box-shadow: var(--shadow-hard-soft); }
.etlap-principle--marked::after { position: absolute; top: 0; right: 0; width: 28px; height: 28px; background: var(--color-warning-yellow-500); clip-path: polygon(100% 0, 100% 100%, 0 0); content: ""; }
.etlap-principle__number, .etlap-main-card > span, .etlap-evening__points article > span { display: block; margin-bottom: var(--space-4); color: var(--color-warning-yellow-500); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: var(--weight-bold); letter-spacing: .08em; }
.etlap-principle h3, .etlap-principle p { margin: 0; }
.etlap-principle h3 { font-size: 1.75rem; }
.etlap-principle p { margin-top: var(--space-3); color: var(--color-offwhite-300); }
.etlap-shared__grid { display: grid; grid-template-columns: minmax(0, 58fr) minmax(0, 42fr); gap: var(--space-6); align-items: stretch; }
.etlap-shared__grid > * { min-width: 0; width: 100%; }
.etlap-shared__menu { padding: var(--space-6); background: var(--color-concrete-200); color: var(--color-charcoal-950); border: 2px solid var(--color-steel-700); }
.etlap-shared__menu .eyebrow, .etlap-shared__menu h2, .etlap-shared__menu p { color: var(--color-charcoal-950); }
.etlap-shared__lead { width: min(100%, 520px); }
.etlap-menu-list { display: flex; flex-direction: column; gap: 0; margin-top: var(--space-5); }
.etlap-menu-list > * { width: 100%; min-width: 0; }
.etlap-menu-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-4); padding-block: var(--space-4); border-top: 1px solid var(--color-steel-700); }
.etlap-menu-item:last-child { border-bottom: 3px solid var(--color-charcoal-950); }
.etlap-menu-item > div { min-width: 0; width: 100%; }
.etlap-menu-item h3, .etlap-menu-item p { margin: 0; }
.etlap-menu-item h3 { font-size: 1.5rem; color: var(--color-charcoal-950); }
.etlap-menu-item p { width: min(100%, 500px); margin-top: var(--space-2); color: var(--color-charcoal-950); }
.etlap-menu-item > span { align-self: start; color: var(--color-rust-600); font-family: var(--font-heading); font-size: var(--text-label); font-weight: var(--weight-bold); letter-spacing: .08em; }
.etlap-shared__media { position: relative; min-height: 100%; margin: 0; border: 3px solid var(--color-steel-700); overflow: hidden; box-shadow: var(--shadow-hard); }
.etlap-shared__media img { width: 100%; height: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; transition: filter var(--transition-fast), transform var(--transition-fast); filter: saturate(.86) contrast(.96); }
.etlap-shared__media:hover img { filter: saturate(1) contrast(1.03); transform: translate(-2px, -2px) scale(1.01); }
.etlap-shared__media figcaption { position: absolute; right: var(--space-3); bottom: var(--space-3); padding: var(--space-2) var(--space-3); background: rgba(16,18,20,.86); color: var(--color-offwhite-100); font-size: var(--text-label); }
.etlap-mains { background: #15181a; }
.etlap-mains__head { width: min(100%, 620px); min-width: 0; }
.etlap-mains__head p { width: min(100%, 620px); color: var(--color-offwhite-300); }
.etlap-mains__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.etlap-mains__grid > * { min-width: 0; width: 100%; }
.etlap-main-card { position: relative; min-height: 100%; padding: var(--space-5); border: 2px solid var(--color-steel-700); background: var(--color-charcoal-900); box-shadow: var(--shadow-hard-soft); transition: transform var(--transition-fast), border-color var(--transition-fast); }
.etlap-main-card::before { position: absolute; top: 0; left: 0; width: 52px; height: 3px; background: var(--color-steel-500); content: ""; transition: background-color var(--transition-fast); }
.etlap-main-card:hover { border-color: var(--color-steel-500); transform: translate(-2px, -2px); }
.etlap-main-card:hover::before, .etlap-main-card--accent::before { background: var(--color-warning-yellow-500); }
.etlap-main-card h3, .etlap-main-card p { margin: 0; }
.etlap-main-card h3 { font-size: 2rem; }
.etlap-main-card p { width: min(100%, 360px); margin-top: var(--space-3); color: var(--color-offwhite-300); }
.etlap-sides__grid { display: grid; grid-template-columns: minmax(0, 65fr) minmax(320px, 35fr); gap: var(--space-6); align-items: stretch; }
.etlap-sides__grid > * { min-width: 0; width: 100%; }
.etlap-sides__content { min-width: 0; }
.etlap-sides__lead { width: min(100%, 500px); color: var(--color-offwhite-300); }
.etlap-side-list { display: flex; flex-direction: column; margin-top: var(--space-5); border-top: 2px solid var(--color-steel-700); }
.etlap-side-list > * { width: 100%; min-width: 0; }
.etlap-side-list article { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: var(--space-5); align-items: start; padding: var(--space-4); border-bottom: 2px solid var(--color-steel-700); background: var(--color-charcoal-900); }
.etlap-side-list article > div { min-width: 0; width: 100%; }
.etlap-side-list h3, .etlap-side-list p { margin: 0; }
.etlap-side-list h3 { font-size: 1.55rem; }
.etlap-side-list p { width: min(100%, 620px); margin-top: var(--space-2); color: var(--color-offwhite-300); }
.etlap-side-list span { justify-self: end; padding-top: var(--space-1); color: var(--color-warning-yellow-500); font-family: var(--font-heading); font-size: var(--text-label); font-weight: var(--weight-bold); letter-spacing: .08em; }
.etlap-sides__media, .etlap-sides__mobile-media { margin: 0; overflow: hidden; border: 2px solid var(--color-steel-700); }
.etlap-sides__media img, .etlap-sides__mobile-media img { width: 100%; height: 100%; aspect-ratio: 3 / 4; object-fit: cover; transition: filter var(--transition-fast); filter: saturate(.86); }
.etlap-sides__media:hover img { filter: saturate(1.03) contrast(1.03); }
.etlap-sides__mobile-media { display: none; }
.etlap-desserts { background: #1b1b1a; }
.etlap-desserts__head { width: min(100%, 540px); min-width: 0; margin-inline: auto; text-align: center; }
.etlap-desserts__head .eyebrow { justify-content: center; }
.etlap-desserts__head p { color: var(--color-offwhite-300); }
.etlap-desserts__grid { display: grid; grid-template-columns: minmax(0, 42fr) minmax(0, 58fr); gap: var(--space-6); margin-top: var(--space-6); align-items: stretch; }
.etlap-desserts__grid > * { min-width: 0; width: 100%; }
.etlap-desserts__media { margin: 0; overflow: hidden; border: 3px solid var(--color-steel-700); box-shadow: var(--shadow-hard); }
.etlap-desserts__media img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; transition: filter var(--transition-fast); filter: saturate(.9); }
.etlap-desserts__media:hover img { filter: saturate(1.05) contrast(1.03); }
.etlap-dessert-list { display: flex; flex-direction: column; gap: var(--space-4); }
.etlap-dessert-list > * { width: 100%; min-width: 0; }
.etlap-dessert-list article { padding: var(--space-5); border: 2px solid var(--color-steel-700); background: var(--color-charcoal-900); }
.etlap-dessert-list h3, .etlap-dessert-list p { margin: 0; }
.etlap-dessert-list h3 { font-size: 1.7rem; }
.etlap-dessert-list p { width: min(100%, 330px); margin-top: var(--space-2); color: var(--color-offwhite-300); }
.etlap-evening__frame { position: relative; min-height: 630px; display: grid; grid-template-columns: minmax(0, 1fr); align-items: end; padding: var(--space-6); overflow: hidden; border: 2px solid var(--color-steel-700); isolation: isolate; }
.etlap-evening__image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; }
.etlap-evening__frame::after { position: absolute; inset: 0; z-index: -1; background: rgba(16,18,20,.28); content: ""; }
.etlap-evening__panel { width: min(100%, 860px); min-width: 0; padding: var(--space-6); background: rgba(16,18,20,.93); border: 2px solid var(--color-steel-700); }
.etlap-evening__points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-5); }
.etlap-evening__points > * { min-width: 0; width: 100%; }
.etlap-evening__points article { padding-left: var(--space-3); border-left: 2px solid var(--color-steel-700); }
.etlap-evening__points .etlap-evening__point--accent { border-left-color: var(--color-warning-yellow-500); }
.etlap-evening__points h3, .etlap-evening__points p { margin: 0; }
.etlap-evening__points h3 { font-size: 1.55rem; }
.etlap-evening__points p { width: min(100%, 340px); margin-top: var(--space-2); color: var(--color-offwhite-300); }
.etlap-notes__head { width: min(100%, 620px); min-width: 0; }
.etlap-notes__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.etlap-notes__grid > * { min-width: 0; width: 100%; }
.etlap-note { padding: var(--space-5); border: 2px solid var(--color-steel-700); border-left-color: var(--color-warning-yellow-500); background: var(--color-charcoal-900); }
.etlap-note h3, .etlap-note p { margin: 0; }
.etlap-note h3 { font-size: 1.75rem; }
.etlap-note p { width: min(100%, 460px); margin-top: var(--space-3); color: var(--color-offwhite-300); }
.etlap-location__panel { display: grid; grid-template-columns: minmax(0, 60fr) minmax(0, 40fr); gap: var(--space-6); padding: var(--space-6); border: 3px solid var(--color-steel-700); background: var(--color-concrete-200); color: var(--color-charcoal-950); box-shadow: var(--shadow-hard); }
.etlap-location__panel > * { min-width: 0; width: 100%; }
.etlap-location__panel h2, .etlap-location__panel h3, .etlap-location__panel p, .etlap-location__panel .eyebrow { color: var(--color-charcoal-950); }
.etlap-location__address address { width: min(100%, 590px); margin-bottom: var(--space-4); color: var(--color-charcoal-950); font-size: 1.25rem; font-style: normal; font-weight: var(--weight-semibold); line-height: 1.45; }
.etlap-location__address p { width: min(100%, 590px); }
.etlap-location__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding-left: var(--space-6); border-left: 2px solid var(--color-steel-700); }
.etlap-location__actions h3, .etlap-location__actions p { margin: 0; }
.etlap-location__actions p { width: min(100%, 390px); }
.etlap-location__actions .actions { width: 100%; }
.etlap-location__actions .actions > * { min-width: 0; }
.etlap-closing { padding-block: var(--section-space); }
.etlap-closing__content { width: min(100%, 700px); min-height: 220px; margin-inline: auto; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-4); padding: var(--space-6); border-top: 3px solid var(--color-warning-yellow-500); background: var(--color-charcoal-900); text-align: center; }
.etlap-closing__content .eyebrow, .etlap-closing__content h2, .etlap-closing__content p { margin: 0; }
.etlap-closing__content .eyebrow { justify-content: center; }
.etlap-closing__content p { width: min(100%, 560px); color: var(--color-offwhite-300); }
@media (max-width: 980px) { .etlap-hero { min-height: 590px; } .etlap-hero__content { width: min(100%, 640px); } .etlap-hero__shade { background: linear-gradient(90deg, rgba(16,18,20,.93), rgba(16,18,20,.66) 67%, rgba(16,18,20,.35)); } }
@media (max-width: 900px) { .etlap-shared__grid, .etlap-desserts__grid { grid-template-columns: minmax(0, 1fr); } .etlap-shared__media { max-width: none; aspect-ratio: 16 / 9; } .etlap-shared__media img { aspect-ratio: 16 / 9; } .etlap-desserts__media { aspect-ratio: 16 / 9; } .etlap-desserts__media img { aspect-ratio: 16 / 9; } .etlap-sides__grid { grid-template-columns: minmax(0, 1fr); } .etlap-sides__media { display: none; } .etlap-sides__mobile-media { display: block; width: 100%; margin-block: var(--space-5); } .etlap-sides__mobile-media img { aspect-ratio: 16 / 9; } .etlap-evening__frame { min-height: 0; padding: 0; overflow: visible; border: 0; } .etlap-evening__image { position: relative; inset: auto; z-index: auto; aspect-ratio: 16 / 9; height: auto; border: 2px solid var(--color-steel-700); } .etlap-evening__frame::after { display: none; } .etlap-evening__panel { width: 100%; padding: var(--space-5); border-top: 0; } .etlap-evening__points { grid-template-columns: minmax(0, 1fr); } .etlap-evening__points p { max-width: 540px; } }
@media (max-width: 860px) { .etlap-principles__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .etlap-principles__grid > :last-child { grid-column: 1 / -1; } }
@media (max-width: 780px) { .etlap-location__panel { grid-template-columns: minmax(0, 1fr); } .etlap-location__actions { padding-top: var(--space-5); padding-left: 0; border-top: 2px solid var(--color-steel-700); border-left: 0; } }
@media (max-width: 760px) { .etlap-mains__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 720px) { .etlap-notes__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 620px) { .etlap-hero { min-height: 440px; align-items: end; } .etlap-hero__image { object-position: 62% 50%; } .etlap-hero__shade { background: linear-gradient(180deg, rgba(16,18,20,.18) 0%, rgba(16,18,20,.72) 45%, rgba(16,18,20,.98) 100%); } .etlap-hero__container { padding-block: 80px var(--space-4); } .etlap-hero__content { width: 100%; gap: var(--space-3); padding: var(--space-4); background: rgba(16,18,20,.88); } .etlap-hero__content h1 { font-size: 2.25rem; line-height: 1; } .etlap-hero__lead { font-size: 1.0625rem; } .etlap-hero__actions, .etlap-hero__actions .button { width: 100%; } .etlap-hero__salon-note { padding: var(--space-3); } .etlap-principles__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); } .etlap-principles__grid > :last-child { grid-column: auto; } .etlap-principle, .etlap-shared__menu, .etlap-main-card, .etlap-dessert-list article, .etlap-note, .etlap-location__panel { padding: var(--space-4); } .etlap-menu-item { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); } .etlap-menu-item > span { justify-self: start; } .etlap-menu-item h3 { font-size: 1.45rem; } .etlap-main-card h3 { font-size: 1.65rem; } .etlap-side-list article { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); } .etlap-side-list span { justify-self: start; } .etlap-desserts__head { text-align: center; } .etlap-dessert-list h3 { font-size: 1.55rem; } .etlap-location__actions .actions, .etlap-location__actions .actions .button { width: 100%; } .etlap-closing__content { min-height: 190px; padding: var(--space-5) var(--space-4); } }
@media (prefers-reduced-motion: reduce) { .etlap-shared__media img, .etlap-sides__media img, .etlap-desserts__media img, .etlap-main-card { transition: none; } .etlap-shared__media:hover img, .etlap-main-card:hover { transform: none; } }
