/* ═══════════════════════════════════════════════════════════════
   Ember Chophouse — Try Me Ethiopian Cuisine — Design Slot A
   All rules scoped to [data-design="a"] / .dq-design[data-design="a"].dq-design
   Keyframes prefixed ec-a-
   ═══════════════════════════════════════════════════════════════ */

/* ─── Root tokens ─── */
[data-design="a"] {
  --a-char:    #14100B;
  --a-walnut:  #211811;
  --a-cellar:  #0E0B07;
  --a-linen:   #F2E6CC;
  --a-linen-soft: #CBB48C;
  --a-muted:   #8E7A57;
  --a-rule:    #3A2C1E;
  --a-brass:   #B58B43;
  --a-brass-lit: #E7C677;
  --a-oxblood: #7C2F26;
  --a-oxblood-deep: #5E231C;
  --a-ember:   #CF5A2C;
  --a-success: #7E8A4E;
  --a-critical: #D23B2A;
  --font-display: 'Hoefler Text','Bodoni 72','Didot','Big Caslon','Times New Roman',serif;
  --font-body: 'Neue Haas Grotesk Text','Helvetica Neue',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --font-mono: 'IBM Plex Mono',ui-monospace,'SFMono-Regular','JetBrains Mono',monospace;
  --t-meta: 13px; --t-cap: 14px; --t-body: 17px; --t-lead: 20px;
  --t-h3: clamp(1.3rem,2.6vw,1.6rem);
  --t-h2: clamp(1.7rem,4.2vw,2.5rem);
  --t-h1: clamp(2.25rem,6.2vw,4rem);
  --t-display: clamp(2.9rem,8vw,4.9rem);
  --dur-sear:    180ms;
  --dur-plate:   520ms;
  --dur-engrave: 1600ms;
  --ease-sear:    cubic-bezier(.2,.8,.2,1);
  --ease-plate:   cubic-bezier(.22,1,.36,1);
  --ease-engrave: cubic-bezier(.65,.02,.28,1);
  --r-brand: 2px; --r-panel: 4px; --r-line: 3px; --r-coin: 999px;
  --sp-ash: 4px; --sp-coal: 8px; --sp-skewer: 12px; --sp-cut: 16px;
  --sp-plate: 24px; --sp-course: 32px; --sp-table: 48px; --sp-room: 80px;
  --sp-hall: clamp(56px,9vw,120px);
  --elev-ring: 0 0 0 1px var(--a-rule);
  --elev-brass: 0 0 0 1px color-mix(in oklab,var(--a-brass),transparent 55%);
  --elev-deboss: inset 0 1px 0 rgba(0,0,0,.5), inset 0 -1px 0 color-mix(in oklab,var(--a-brass),transparent 80%);
  --elev-raised: 0 2px 2px rgba(0,0,0,.4), 0 22px 44px rgba(0,0,0,.55);
  --glow-ember: 0 0 22px color-mix(in oklab,var(--a-ember),transparent 62%);
  --focus-ring: 0 0 0 3px color-mix(in oklab,var(--a-brass),transparent 60%);
  --design-a-primary: var(--a-brass);
  color: var(--a-linen);
  background: var(--a-char);
  font-family: var(--font-body);
  box-sizing: border-box;
}

@media (prefers-color-scheme: dark) {
  [data-design="a"] {
    --a-char:    #0C0907;
    --a-walnut:  #1A130D;
    --a-cellar:  #070504;
    --a-linen:   #F4E8CF;
    --a-linen-soft: #C3AB80;
    --a-muted:   #87724E;
    --a-rule:    #2F2318;
    --a-brass:   #C49A4E;
    --a-brass-lit: #EAC97A;
    --a-oxblood: #8A352A;
    --a-oxblood-deep: #6A281F;
    --a-ember:   #DA6233;
    --a-success: #94A05F;
    --a-critical: #E05241;
  }
}

[data-design="a"].dq-design *, [data-design="a"].dq-design *::before, [data-design="a"].dq-design *::after {
  box-sizing: border-box;
}

/* ─── Mobile no-hscroll + img safety ─── */
[data-design="a"].dq-design,
[data-design="a"] .dq-design {
  max-width: 100%;
  overflow-x: clip;
}
[data-design="a"].dq-design * { min-width: 0; }
[data-design="a"].dq-design img,
[data-design="a"].dq-design svg:not([data-keep-size]) {
  max-width: 100%;
  height: auto;
}

/* ─── Shared keyframes ─── */
@keyframes ec-a-engrave  { to { stroke-dashoffset: 0; } }
@keyframes ec-a-spark    { to { opacity: 1; } }
@keyframes ec-a-flicker  { 0%,100%{ opacity:1; transform:scaleY(1); } 45%{ opacity:.82; transform:scaleY(.96); } 70%{ opacity:.95; } }
@keyframes ec-a-ember    { 0%,100%{ opacity:.35; } 50%{ opacity:.6; } }
@keyframes ec-a-gild     { 0%{ transform:translateX(-160%); } 100%{ transform:translateX(320%); } }
@keyframes ec-a-plate-settle { from{ opacity:0; transform:translateY(.18em); } to{ opacity:1; transform:none; } }
@keyframes ec-a-plate-up    { to{ opacity:1; transform:none; } }
@keyframes ec-a-shimmer  { 0%{ opacity:0; transform:translateY(2px) scale(.9); } 40%{ opacity:.7; } 100%{ opacity:0; transform:translateY(-13px) scale(1.05); } }
@keyframes ec-a-wipe-in  { to{ clip-path:inset(0 0 0 0); } }
@keyframes ec-a-sear-breath { 0%,100%{ box-shadow:var(--elev-brass); } 50%{ box-shadow:var(--elev-brass),var(--glow-ember); } }
@keyframes ec-a-coal-pulse  { 0%,100%{ opacity:.7; transform:scale(.92); } 50%{ opacity:1; transform:scale(1.12); } }
@keyframes ec-a-gallery-in  { to{ opacity:1; transform:none; } }


/* ═══════════════════════════════════════════════
   ELEMENT 1 — Header
   ═══════════════════════════════════════════════ */
[data-design="a"] .ec-header {
  position: relative;
  background: var(--a-char);
  border-bottom: 1px solid var(--a-rule);
}
[data-design="a"] .ec-header__atmos {
  position: absolute; inset: 0; overflow: hidden; pointer-events: none;
}
[data-design="a"] .ec-header__glow {
  position: absolute; left: clamp(10px,5vw,60px); top: 50%;
  width: min(260px,52vw); height: 120px; transform: translateY(-50%);
  background: radial-gradient(ellipse at center, color-mix(in oklab,var(--a-ember),transparent 68%),transparent 70%);
  filter: blur(7px); opacity: .45;
  animation: ec-a-ember 26s ease-in-out infinite;
}
[data-design="a"] .ec-header__rail {
  position: absolute; left: 0; right: 0; bottom: 0; height: 1.5px;
  background: var(--a-rule); overflow: hidden; opacity: .85;
}
[data-design="a"] .ec-header__rail::after {
  content: ""; position: absolute; top: 0; bottom: 0; width: 38%;
  background: linear-gradient(90deg,transparent,var(--a-brass-lit),transparent);
  transform: translateX(-160%);
  animation: ec-a-gild 22s linear infinite;
}
[data-design="a"] .ec-header__bar {
  position: relative; display: flex; align-items: center;
  justify-content: space-between; gap: var(--sp-cut);
  padding: var(--sp-plate) clamp(16px,5vw,64px); max-width: 100%;
}
[data-design="a"] .ec-logo {
  display: inline-flex; align-items: center; gap: var(--sp-coal); text-decoration: none;
}
[data-design="a"] .ec-logo__crest { width: 28px; height: 28px; flex: none; }
[data-design="a"] .ec-logo__ring {
  stroke-dasharray: 80; stroke-dashoffset: 80;
  animation: ec-a-engrave 1.6s var(--ease-engrave) .2s forwards;
}
[data-design="a"] .ec-logo__flame {
  opacity: 0; transform-origin: 14px 16px;
  animation: ec-a-spark .55s var(--ease-plate) 1.1s forwards, ec-a-flicker 5s ease-in-out 1.7s infinite;
}
[data-design="a"] .ec-logo__mark {
  font-family: var(--font-display); font-size: clamp(1rem,2.8vw,1.4rem);
  font-weight: 600; letter-spacing: .04em; color: var(--a-linen);
  animation: ec-a-plate-settle .7s var(--ease-sear) both;
}
[data-design="a"] .ec-burger {
  display: grid; gap: 5px; padding: 11px; background: none;
  border: 1px solid var(--a-brass); border-radius: var(--r-brand);
  cursor: pointer; min-width: 44px; min-height: 44px;
}
[data-design="a"] .ec-burger span {
  width: 20px; height: 1.6px; background: var(--a-brass);
  transition: transform var(--dur-sear) var(--ease-sear), opacity var(--dur-sear);
}
[data-design="a"] .ec-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6.6px) rotate(45deg); }
[data-design="a"] .ec-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
[data-design="a"] .ec-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6.6px) rotate(-45deg); }
[data-design="a"] .ec-drawer {
  position: fixed; inset: 0; z-index: 60; background: var(--a-cellar);
  box-shadow: inset 0 0 0 2px color-mix(in oklab,var(--a-brass),transparent 60%), var(--elev-raised);
  display: grid; place-items: center;
  animation: ec-a-plate-settle .42s var(--ease-plate) both;
}
[data-design="a"] .ec-drawer[hidden] { display: none; }
[data-design="a"] .ec-drawer__case {
  display: grid; gap: var(--sp-course); text-align: center; padding: var(--sp-room);
}
[data-design="a"] .ec-rail-link {
  font-family: var(--font-display); font-size: var(--t-h2);
  color: var(--a-linen); text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .ec-rail-link:hover { color: var(--a-brass-lit); }
}


/* ═══════════════════════════════════════════════
   ELEMENT 3 — Hero carte (popular-items menu)
   ═══════════════════════════════════════════════ */
[data-design="a"] .ec-hero {
  padding: var(--sp-hall) clamp(16px,5vw,64px);
  max-width: 1280px; margin-inline: auto;
}
[data-design="a"] .ec-hero__crest {
  width: 120px; max-width: 46vw; height: auto; display: block;
  margin-bottom: var(--sp-cut);
}
[data-design="a"] .ec-crest__arc {
  stroke-dasharray: 140; stroke-dashoffset: 140;
  animation: ec-a-engrave 1.7s var(--ease-engrave) .2s forwards;
}
[data-design="a"] .ec-crest__flame {
  opacity: 0; transform-origin: 60px 36px;
  animation: ec-a-spark .6s var(--ease-plate) 1.1s forwards, ec-a-flicker 5.5s ease-in-out 1.8s infinite;
}
[data-design="a"] .ec-kicker {
  font-family: var(--font-mono); font-size: var(--t-meta); letter-spacing: .16em;
  text-transform: uppercase; color: var(--a-brass); margin: 0 0 var(--sp-skewer);
}
[data-design="a"] .ec-hero__title {
  font-family: var(--font-display); font-weight: 600; font-size: var(--t-h1);
  line-height: 1.1; letter-spacing: -.012em; color: var(--a-linen);
  margin: 0; max-width: 22ch;
}
[data-design="a"] .ec-hero__sub {
  font-size: var(--t-lead); color: var(--a-linen-soft); max-width: 46ch;
  margin: var(--sp-cut) 0 var(--sp-table);
}
[data-design="a"] .ec-carte {
  list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-skewer);
  max-width: 600px;
}
[data-design="a"] .ec-carte__row {
  display: grid; grid-template-columns: minmax(0,auto) 1fr auto;
  align-items: baseline; column-gap: var(--sp-skewer);
  padding: var(--sp-skewer) 0; border-bottom: 1px solid var(--a-rule);
  opacity: 0; transform: translateY(.55em);
}
[data-design="a"] .ec-carte.is-plated .ec-carte__row {
  animation: ec-a-plate-up var(--dur-plate) var(--ease-plate) forwards;
  animation-delay: calc(var(--i,0) * 110ms);
}
[data-design="a"] .ec-carte__name {
  min-width: 0; overflow-wrap: anywhere; font-family: var(--font-display);
  font-size: var(--t-h3); color: var(--a-linen); position: relative;
}
[data-design="a"] .ec-carte__leader {
  align-self: end; height: 1px; margin-bottom: .34em;
  background-image: radial-gradient(circle,var(--a-brass) .6px,transparent .7px);
  background-size: 6px 2px; background-repeat: repeat-x; opacity: .6;
}
[data-design="a"] .ec-carte__price {
  justify-self: end; white-space: nowrap; font-family: var(--font-mono);
  font-variant-numeric: tabular-nums; font-size: var(--t-body); color: var(--a-linen-soft);
}
[data-design="a"] .ec-carte__price::before { content: "$"; color: var(--a-muted); }
/* idle: shimmer wisp off top dish — hero stays alive */
[data-design="a"] .ec-carte.is-idle .ec-carte__row:first-child .ec-carte__name::after {
  content: ""; position: absolute; right: -12px; top: -3px;
  width: 8px; height: 15px; border-radius: 60%;
  background: radial-gradient(circle at 50% 100%, color-mix(in oklab,var(--a-ember),transparent 50%),transparent 70%);
  opacity: 0;
  animation: ec-a-shimmer 5.5s ease-in-out infinite;
}
[data-design="a"] .ec-carte__preview-note {
  font-family: var(--font-mono); font-size: var(--t-meta); letter-spacing: .1em;
  text-transform: uppercase; color: var(--a-muted); margin: var(--sp-skewer) 0 0;
}

/* ─── ELEMENT 2 — Action cluster (hero CTA) ─── */
[data-design="a"] .ec-actions {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: var(--sp-skewer); margin-top: var(--sp-plate);
}
[data-design="a"] .ec-plaque {
  --mx: 0px; --my: 0px; position: relative; display: inline-flex;
  align-items: center; gap: var(--sp-coal); padding: var(--sp-skewer) var(--sp-plate);
  border-radius: var(--r-brand); font-family: var(--font-display); font-size: var(--t-lead);
  letter-spacing: .02em; text-decoration: none; cursor: pointer;
  transform: translate(var(--mx),var(--my));
  transition: transform var(--dur-sear) var(--ease-sear), box-shadow var(--dur-sear), background var(--dur-sear);
  min-height: 44px;
}
[data-design="a"] .ec-plaque--sear {
  background: var(--a-oxblood); color: var(--a-linen);
  box-shadow: var(--elev-brass);
  animation: ec-a-sear-breath 5s ease-in-out infinite;
}
[data-design="a"] .ec-plaque__glyph { width: 18px; height: 18px; color: var(--a-ember); }
[data-design="a"] .ec-plaque:active {
  transform: translateY(1px);
  box-shadow: var(--elev-deboss), inset 0 0 18px color-mix(in oklab,var(--a-ember),transparent 52%);
  background: var(--a-oxblood-deep); animation: none;
}
[data-design="a"] .ec-plaque:focus-visible {
  outline: none; box-shadow: var(--focus-ring), var(--elev-deboss);
}
[data-design="a"] .ec-chip {
  padding: var(--sp-coal) var(--sp-cut); border: 1px solid var(--a-brass);
  border-radius: var(--r-brand); color: var(--a-linen); text-decoration: none;
  font-size: var(--t-cap); min-height: 44px; display: inline-flex; align-items: center;
  transition: border-color var(--dur-sear), color var(--dur-sear);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .ec-plaque--sear:hover { background: var(--a-oxblood-deep); }
  [data-design="a"] .ec-chip:hover { border-color: var(--a-brass-lit); color: var(--a-brass-lit); }
}


/* ═══════════════════════════════════════════════
   ELEMENT 6 — Pointer
   ═══════════════════════════════════════════════ */
[data-design="a"] .ec-pointer {
  display: grid; justify-items: center; gap: var(--sp-coal);
  padding: var(--sp-course) 0; color: var(--a-muted);
  opacity: 1; /* never opacity:0 */
}
[data-design="a"] .ec-pointer__skewer { max-width: 100%; }
[data-design="a"] .ec-pointer__line {
  stroke-dasharray: 170; stroke-dashoffset: 170;
  animation: ec-a-engrave 2.2s var(--ease-engrave) forwards;
}
[data-design="a"] .ec-pointer__coal {
  transform-origin: 12px 68px;
  filter: drop-shadow(0 0 5px color-mix(in oklab,var(--a-ember),transparent 40%));
  opacity: 0;
  animation: ec-a-spark .5s var(--ease-plate) 2.1s forwards, ec-a-coal-pulse 6s ease-in-out 2.6s infinite;
}
[data-design="a"] .ec-pointer__steam {
  width: 8px; height: 18px; border-radius: 60%; margin-top: -8px;
  background: radial-gradient(circle at 50% 100%, color-mix(in oklab,var(--a-ember),transparent 55%),transparent 70%);
  animation: ec-a-shimmer 5.5s ease-in-out 2.4s infinite;
}
[data-design="a"] .ec-pointer__label {
  font-family: var(--font-mono); font-size: var(--t-meta);
  letter-spacing: .16em; text-transform: uppercase; color: var(--a-brass);
}


/* ═══════════════════════════════════════════════
   ELEMENT 5 — Cloche / daily special
   ═══════════════════════════════════════════════ */
[data-design="a"] .ec-special {
  padding: var(--sp-hall) clamp(16px,5vw,64px); text-align: center;
  background: var(--a-walnut);
}
[data-design="a"] .ec-special__h {
  font-family: var(--font-display); font-size: var(--t-h2);
  margin: 0 0 var(--sp-table); color: var(--a-linen);
}
[data-design="a"] .ec-cloche {
  position: relative; width: min(420px,92vw); margin-inline: auto;
  aspect-ratio: 8/5; cursor: pointer; border-radius: var(--r-panel);
}
[data-design="a"] .ec-cloche:focus-visible { outline: none; box-shadow: var(--focus-ring); }
[data-design="a"] .ec-cloche__plate {
  position: absolute; inset: 0; display: grid; place-content: center;
  gap: var(--sp-skewer); padding: var(--sp-plate); background: var(--a-walnut);
  border: 1px solid var(--a-rule); border-radius: var(--r-panel); box-shadow: var(--elev-ring);
}
[data-design="a"] .ec-cloche__dish {
  font-family: var(--font-display); font-size: var(--t-h3);
  color: var(--a-linen); margin: 0; max-width: 30ch;
  /* Hidden until lift — display:none; revealed via .is-open, never opacity:0 */
  display: none;
}
[data-design="a"] .ec-cloche.is-open .ec-cloche__dish { display: block; }
[data-design="a"] .ec-coin--today {
  /* Hidden until lift — display:none; never opacity:0 */
  display: none;
  padding: var(--sp-ash) var(--sp-skewer); border-radius: var(--r-coin);
  background: var(--a-ember); color: var(--a-char); font-family: var(--font-mono);
  font-size: var(--t-meta); letter-spacing: .14em; text-transform: uppercase;
  justify-self: center;
}
[data-design="a"] .ec-cloche.is-open .ec-coin--today { display: inline-block; }
[data-design="a"] .ec-cloche__dome {
  position: absolute; inset: 0; display: grid; place-content: center;
  transform-origin: 50% 88%;
  transition: transform .7s var(--ease-plate), opacity .55s var(--ease-plate);
  will-change: transform;
}
[data-design="a"] .ec-cloche__dome svg { width: min(300px,72%); height: auto; }
[data-design="a"] .ec-cloche__steam {
  position: absolute; left: 50%; top: 30%; width: 10px; height: 22px;
  border-radius: 60%; transform: translateX(-50%);
  background: radial-gradient(circle at 50% 100%, color-mix(in oklab,var(--a-ember),transparent 55%),transparent 70%);
  opacity: 0;
}
[data-design="a"] .ec-cloche__hint {
  position: absolute; left: 0; right: 0; bottom: var(--sp-skewer);
  font-family: var(--font-mono); font-size: var(--t-meta); letter-spacing: .14em;
  text-transform: uppercase; color: var(--a-brass);
  transition: opacity var(--dur-sear);
}
[data-design="a"] .ec-cloche.is-open .ec-cloche__dome {
  transform: translateY(-86%) scale(1.04); opacity: 0;
}
[data-design="a"] .ec-cloche.is-open .ec-cloche__steam {
  animation: ec-a-shimmer 5.5s ease-in-out .2s 3;
}
[data-design="a"] .ec-cloche.is-open .ec-cloche__hint { opacity: 0; }


/* ═══════════════════════════════════════════════
   ELEMENT 4 — Gallery (ambient segment B)
   ═══════════════════════════════════════════════ */
[data-design="a"] .ec-gallery {
  padding: var(--sp-hall) clamp(16px,5vw,64px);
  max-width: 1280px; margin-inline: auto;
}
[data-design="a"] .ec-section-head {
  display: flex; align-items: end; gap: var(--sp-cut);
  margin-bottom: var(--sp-table);
}
[data-design="a"] .ec-section-title {
  font-family: var(--font-display); font-weight: 600; font-size: var(--t-h2);
  margin: 0; color: var(--a-linen); white-space: nowrap;
}
[data-design="a"] .ec-board__rule {
  flex: 1; height: 22px; max-width: 100%;
}
[data-design="a"] .ec-board__rule path {
  stroke-dasharray: 200; stroke-dashoffset: 200;
  transition: stroke-dashoffset var(--dur-engrave) var(--ease-engrave);
}
[data-design="a"] .ec-gallery.is-seen .ec-board__rule path,
[data-design="a"] .ec-menu-section.is-seen .ec-board__rule path { stroke-dashoffset: 0; }
[data-design="a"] .ec-gallery__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(260px,100%),1fr));
  gap: 24px;
}
[data-design="a"] .ec-gallery__item {
  margin: 0; overflow: hidden; border-radius: var(--r-panel);
  border: 1px solid var(--a-rule); aspect-ratio: 4/3;
  opacity: 0; transform: translateY(.4em);
}
[data-design="a"] .ec-gallery.is-seen .ec-gallery__item {
  animation: ec-a-gallery-in var(--dur-plate) var(--ease-plate) forwards;
  animation-delay: calc(var(--gi,0) * 70ms);
}
[data-design="a"] .ec-gallery__item img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}


/* ═══════════════════════════════════════════════
   Full Menu section
   ═══════════════════════════════════════════════ */
[data-design="a"] .ec-menu-section {
  padding: var(--sp-hall) clamp(16px,5vw,64px);
  max-width: 1280px; margin-inline: auto; background: var(--a-char);
}
[data-design="a"] .ec-menu-preview-note {
  font-family: var(--font-mono); font-size: var(--t-meta); letter-spacing: .1em;
  text-transform: uppercase; color: var(--a-muted);
  margin: 0 0 var(--sp-table);
}
[data-design="a"] .ec-menu-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(320px,100%),1fr));
  gap: var(--sp-table);
}
[data-design="a"] .ec-menu-cat__title {
  font-family: var(--font-display); font-size: var(--t-h3);
  color: var(--a-brass); margin: 0 0 var(--sp-course);
  border-bottom: 1px solid var(--a-rule); padding-bottom: var(--sp-skewer);
}
[data-design="a"] .ec-cuts {
  list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-skewer);
}
[data-design="a"] .ec-cuts li {
  display: grid; grid-template-columns: minmax(0,auto) 1fr auto;
  align-items: baseline; column-gap: var(--sp-skewer);
  padding: var(--sp-skewer) 0; border-bottom: 1px solid var(--a-rule);
  clip-path: inset(0 100% 0 0);
}
[data-design="a"] .ec-menu-section.is-seen .ec-cuts li {
  animation: ec-a-wipe-in var(--dur-plate) var(--ease-engrave) forwards;
  animation-delay: calc(var(--i,0) * 90ms);
}
[data-design="a"] .ec-cuts__name {
  min-width: 0; overflow-wrap: anywhere; font-family: var(--font-display);
  font-size: var(--t-h3); color: var(--a-linen);
}
[data-design="a"] .ec-cuts__note { color: var(--a-linen-soft); font-size: var(--t-cap); align-self: center; }
[data-design="a"] .ec-cuts__price {
  justify-self: end; white-space: nowrap; font-family: var(--font-mono);
  font-variant-numeric: tabular-nums; font-size: var(--t-meta); letter-spacing: .06em; color: var(--a-muted);
}


/* ═══════════════════════════════════════════════
   Hours & Location
   ═══════════════════════════════════════════════ */
[data-design="a"] .ec-hours {
  padding: var(--sp-hall) clamp(16px,5vw,64px);
  max-width: 1280px; margin-inline: auto;
}
[data-design="a"] .ec-panel {
  background: var(--a-walnut); border: 1px solid var(--a-rule);
  border-radius: var(--r-panel); padding: var(--sp-table);
  box-shadow: var(--elev-ring); max-width: 520px;
}
[data-design="a"] .ec-hours__note {
  font-size: var(--t-body); color: var(--a-linen-soft); margin: var(--sp-cut) 0;
}
[data-design="a"] .ec-hours__tel {
  color: var(--a-brass); text-decoration: none;
}
[data-design="a"] .ec-hours__address {
  font-style: normal; font-size: var(--t-body); color: var(--a-linen-soft);
  margin: var(--sp-cut) 0 var(--sp-plate);
  line-height: 1.6;
}
[data-design="a"] .ec-chip--map {
  margin-top: var(--sp-plate);
}


/* ═══════════════════════════════════════════════
   About
   ═══════════════════════════════════════════════ */
[data-design="a"] .ec-about {
  padding: var(--sp-hall) clamp(16px,5vw,64px);
  max-width: 1280px; margin-inline: auto;
  background: var(--a-char);
}
[data-design="a"] .ec-about__inner {
  display: flex; gap: var(--sp-table); align-items: flex-start; flex-wrap: wrap;
}
[data-design="a"] .ec-about__crest {
  width: 80px; height: auto; flex: none; margin-top: var(--sp-coal);
}
[data-design="a"] .ec-about__arc {
  stroke-dasharray: 100; stroke-dashoffset: 100;
  animation: ec-a-engrave 1.8s var(--ease-engrave) .4s forwards;
}
[data-design="a"] .ec-about__copy { flex: 1; min-width: min(260px,100%); }
[data-design="a"] .ec-about__copy p {
  font-size: var(--t-body); color: var(--a-linen-soft); line-height: 1.65;
  max-width: 60ch; margin: 0 0 var(--sp-cut);
}
[data-design="a"] .ec-about__address-line {
  font-size: var(--t-cap); color: var(--a-muted);
}
[data-design="a"] .ec-about__address-line a { color: var(--a-brass); text-decoration: none; }


/* ═══════════════════════════════════════════════
   Footer
   ═══════════════════════════════════════════════ */
[data-design="a"] .ec-footer {
  background: var(--a-cellar); border-top: 1px solid var(--a-rule);
  padding: var(--sp-table) clamp(16px,5vw,64px);
}
[data-design="a"] .ec-footer__inner {
  max-width: 1280px; margin-inline: auto; display: grid; gap: var(--sp-course);
}
[data-design="a"] .ec-footer__brand {
  display: flex; align-items: center; gap: var(--sp-coal);
}
[data-design="a"] .ec-footer__name {
  font-family: var(--font-display); font-size: var(--t-body);
  color: var(--a-linen); font-weight: 600;
}
[data-design="a"] .ec-footer__cols {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(min(160px,100%),1fr));
  gap: var(--sp-table);
}
[data-design="a"] .ec-footer__label {
  font-family: var(--font-mono); font-size: var(--t-meta); letter-spacing: .14em;
  text-transform: uppercase; color: var(--a-brass); margin: 0 0 var(--sp-coal);
}
[data-design="a"] .ec-footer address, [data-design="a"] .ec-footer p {
  font-style: normal; font-size: var(--t-cap); color: var(--a-linen-soft);
  margin: 0; line-height: 1.6;
}
[data-design="a"] .ec-footer__tel { color: var(--a-brass); text-decoration: none; }
[data-design="a"] .ec-footer__copy {
  font-family: var(--font-mono); font-size: var(--t-meta); letter-spacing: .08em;
  color: var(--a-muted); text-align: center; border-top: 1px solid var(--a-rule);
  padding-top: var(--sp-course); margin: 0;
}


/* ═══════════════════════════════════════════════
   Reduced motion fallbacks
   ═══════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .ec-logo__ring  { animation: none; stroke-dashoffset: 0; }
  [data-design="a"] .ec-logo__flame { animation: none; opacity: 1; }
  [data-design="a"] .ec-header__glow { animation: none; opacity: .45; }
  [data-design="a"] .ec-header__rail::after { animation: none; opacity: 0; }
  [data-design="a"] .ec-logo__mark, [data-design="a"] .ec-drawer { animation: none; opacity: 1; transform: none; }
  [data-design="a"] .ec-crest__arc  { animation: none; stroke-dashoffset: 0; }
  [data-design="a"] .ec-crest__flame { animation: none; opacity: 1; }
  [data-design="a"] .ec-carte__row  { opacity: 1; transform: none; }
  [data-design="a"] .ec-carte.is-plated .ec-carte__row { animation: none; }
  [data-design="a"] .ec-carte.is-idle .ec-carte__row:first-child .ec-carte__name::after { animation: none; }
  [data-design="a"] .ec-plaque--sear { animation: none; }
  [data-design="a"] .ec-plaque { transform: none !important; transition: box-shadow var(--dur-sear); }
  [data-design="a"] .ec-pointer__line  { animation: none; stroke-dashoffset: 0; }
  [data-design="a"] .ec-pointer__coal  { animation: none; opacity: 1; }
  [data-design="a"] .ec-pointer__steam { animation: none; opacity: .4; }
  [data-design="a"] .ec-cloche__dome { transition: none; }
  [data-design="a"] .ec-cloche.is-open .ec-cloche__dome { transform: none; opacity: 0; display: none; }
  [data-design="a"] .ec-cloche.is-open .ec-cloche__steam { animation: none; }
  [data-design="a"] .ec-board__rule path { transition: none; stroke-dashoffset: 0; }
  [data-design="a"] .ec-cuts li { clip-path: none; animation: none; }
  [data-design="a"] .ec-gallery__item { opacity: 1; transform: none; animation: none; }
  [data-design="a"] .ec-about__arc { animation: none; stroke-dashoffset: 0; }
}


/* ═══════════════════════════════════════════════
   Responsive adjustments
   ═══════════════════════════════════════════════ */
@media (max-width: 560px) {
  [data-design="a"] .ec-header__glow  { width: 60vw; }
  [data-design="a"] .ec-logo__mark    { font-size: clamp(.85rem,4.5vw,1.1rem); }
  [data-design="a"] .ec-carte__name   { font-size: var(--t-body); }
  [data-design="a"] .ec-cuts li       { grid-template-columns: minmax(0,1fr) auto; }
  [data-design="a"] .ec-cuts__note    { grid-column: 1 / -1; align-self: start; }
  [data-design="a"] .ec-cloche__dish  { font-size: var(--t-body); }
}
@media (max-width: 380px) {
  [data-design="a"] .ec-actions { gap: var(--sp-coal); }
}

/* Phase-3.4 hero visibility floor (forge_assemble) */
[data-design="a"] [data-mf-role="hero"] :is(h1,h2,p,.headline,.subtitle,.proof,[class*="headline"],[class*="subtitle"],[class*="proof"]),
[data-design="a"] [data-mf-role="cta"] { opacity: 1 !important; }
