/* ============================================================
   Carver Cafe — Design A (Krone) — styles.css
   Slot-scoped: [data-design="a"]
   ============================================================ */

/* ---------- Design tokens (slot-scoped) ---------- */
[data-design="a"] {
  --design-a-primary: #C8341F;

  /* Krone color tokens */
  --krone-paper:          #FAF7F0;
  --krone-ink:            #1A1815;
  --krone-ink-2:          #3A352E;
  --krone-muted:          #6E665B;
  --krone-rule:           rgba(26,24,21,0.12);
  --krone-vermillion:     #C8341F;
  --krone-vermillion-on:  #FAF7F0;
  --krone-stone:          #EAE5DA;
  --krone-critical:       #A02418;
  --krone-success:        #3B5F2E;

  /* Krone typography */
  --krone-display: 'GT Sectra','Tiempos Headline','Iowan Old Style',Charter,Georgia,serif;
  --krone-body:    'Sectra Fine','Tiempos Text','Iowan Old Style',Charter,Georgia,serif;
  --krone-spec:    'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;

  /* Krone spacing */
  --krone-tick:     4px;
  --krone-em:       8px;
  --krone-cap:      16px;
  --krone-leading:  24px;
  --krone-rule-sp:  40px;
  --krone-spread:   80px;
  --krone-gutter:   128px;
  --krone-overture: 200px;

  /* Krone motion */
  --krone-cut:      120ms;
  --krone-settle:   280ms;
  --krone-register: 600ms;
  --krone-unfurl:   1200ms;
  --krone-tide:     22s;
  --krone-drift:    18s;
  --krone-ease-cut:    cubic-bezier(0.85,0,0.15,1);
  --krone-ease-settle: cubic-bezier(0.2,0.8,0.2,1);
  --krone-ease-tide:   cubic-bezier(0.45,0,0.55,1);

  /* Krone radius */
  --krone-radius-none:  0px;
  --krone-radius-stamp: 2px;
  --krone-radius-disc:  9999px;

  /* Elevation */
  --krone-elev-flat:       none;
  --krone-elev-rule:       inset 0 -1px 0 var(--krone-ink);
  --krone-elev-frame:      0 0 0 1px var(--krone-ink);
  --krone-elev-frame-2:    0 0 0 2px var(--krone-ink);
  --krone-elev-vermillion: 0 0 0 2px var(--krone-vermillion);

  background: var(--krone-paper);
  color: var(--krone-ink);
  font-family: var(--krone-body);
}

/* Overflow guard — scoped tightly */
[data-design="a"].dq-design,
[data-design="a"] .dq-design {
  max-width: 100%;
  overflow-x: clip;
  position: relative;
}
[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;
}

/* ---------- ELEMENT 1: Header ---------- */
[data-design="a"] .rf-header {
  position: sticky; top: 0; z-index: 50;
  background: var(--krone-paper);
  border-bottom: 1px solid var(--krone-ink);
  box-sizing: border-box;
}
[data-design="a"] .rf-header__bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 22px clamp(20px,4vw,64px);
  position: relative; z-index: 2;
}
[data-design="a"] .rf-logo { text-decoration: none; color: var(--krone-ink); }
[data-design="a"] .rf-logo__mark {
  font-family: var(--krone-display);
  font-size: clamp(20px,2vw,26px);
  letter-spacing: -0.01em;
  font-weight: 400;
}
[data-design="a"] .rf-burger {
  background: transparent; border: 1px solid var(--krone-ink);
  width: 44px; height: 36px; padding: 0; cursor: pointer;
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px;
}
[data-design="a"] .rf-burger__line {
  display: block; width: 20px; height: 1.5px; background: var(--krone-ink);
  transition: transform var(--krone-settle) var(--krone-ease-settle);
}
[data-design="a"] .rf-burger[aria-expanded="true"] .rf-burger__line:nth-child(1) { transform: translateY(3.25px) rotate(45deg); }
[data-design="a"] .rf-burger[aria-expanded="true"] .rf-burger__line:nth-child(2) { transform: translateY(-3.25px) rotate(-45deg); }

/* Tide rule */
[data-design="a"] .rf-tide {
  position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  pointer-events: none; overflow: hidden;
}
[data-design="a"] .rf-tide__rule {
  display: block; height: 100%;
  background: var(--krone-vermillion);
  transform-origin: left center;
  animation: a-tide var(--krone-tide) var(--krone-ease-tide) infinite;
}
@keyframes a-tide {
  0%   { transform: scaleX(0); transform-origin: left center; }
  45%  { transform: scaleX(1); transform-origin: left center; }
  50%  { transform: scaleX(1); transform-origin: right center; }
  95%  { transform: scaleX(0); transform-origin: right center; }
  100% { transform: scaleX(0); transform-origin: right center; }
}

/* Drawer */
[data-design="a"] .rf-drawer {
  position: fixed; inset: 0; background: var(--krone-paper);
  z-index: 100; padding: 96px clamp(24px,6vw,96px);
  display: flex; flex-direction: column; justify-content: space-between;
  animation: a-drawer-wipe var(--krone-register) var(--krone-ease-cut) both;
}
[data-design="a"] .rf-drawer[hidden] { display: none; }
@keyframes a-drawer-wipe {
  0%   { clip-path: inset(0 100% 0 0); }
  100% { clip-path: inset(0 0 0 0); }
}
[data-design="a"] .rf-drawer__inner { display: flex; flex-direction: column; justify-content: space-between; height: 100%; }
[data-design="a"] .rf-drawer__nav { display: flex; flex-direction: column; gap: var(--krone-leading); }
[data-design="a"] .rf-drawer__nav a {
  font-family: var(--krone-display);
  font-size: clamp(40px,7vw,88px);
  color: var(--krone-ink); text-decoration: none;
  line-height: 1.02; letter-spacing: -0.015em;
  position: relative; display: inline-block; width: max-content;
}
[data-design="a"] .rf-drawer__nav a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 4px;
  height: 3px; background: var(--krone-vermillion);
  transform: scaleX(0); transform-origin: left;
  transition: transform var(--krone-register) var(--krone-ease-settle);
}
[data-design="a"] .rf-drawer__nav a:focus-visible::after { transform: scaleX(1); }
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .rf-drawer__nav a:hover::after { transform: scaleX(1); }
}
[data-design="a"] .rf-drawer__meta {
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--krone-muted);
}

/* ---------- HERO section ---------- */
[data-design="a"] .cc-hero {
  min-height: 90vh;
  display: flex; align-items: stretch;
  background: var(--krone-paper);
  position: relative; overflow: hidden;
  border-bottom: 1px solid var(--krone-ink);
  padding: clamp(40px,6vw,var(--krone-overture)) 0 0;
}
[data-design="a"] .cc-hero__inner {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 clamp(20px,5vw,var(--krone-gutter));
  display: flex;
  flex-direction: column;
  gap: var(--krone-spread);
  box-sizing: border-box;
}
[data-design="a"] .cc-hero__frame {
  position: relative;
}

/* Hero ambient wrap — sits as a sibling before the hero section, absolutely tracked */
[data-design="a"] .cc-hero__ambient-wrap-wrap {
  position: absolute;
  left: 0; right: 0;
  height: 200px;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}
[data-design="a"] .cc-steam {
  position: absolute;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to top, transparent, var(--krone-vermillion), transparent);
  opacity: 0;
  border-radius: 1px;
  transform-origin: bottom center;
  animation: a-steam-rise 6s var(--krone-ease-tide) infinite;
}
[data-design="a"] .cc-steam--1 { left: 12%; height: 120px; animation-delay: 0s; animation-duration: 7s; }
[data-design="a"] .cc-steam--2 { left: 38%; height: 80px;  animation-delay: 2.3s; animation-duration: 5.5s; }
[data-design="a"] .cc-steam--3 { left: 62%; height: 100px; animation-delay: 4.1s; animation-duration: 6.5s; }
@keyframes a-steam-rise {
  0%   { transform: translateY(0) scaleX(1); opacity: 0; }
  15%  { opacity: 0.35; }
  70%  { opacity: 0.18; }
  100% { transform: translateY(-140px) scaleX(0.3); opacity: 0; }
}

/* Hero text */
[data-design="a"] .cc-hero__text { position: relative; z-index: 1; }
[data-design="a"] .cc-hero__kicker {
  font-family: var(--krone-spec);
  font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--krone-muted); margin: 0 0 var(--krone-cap) 0;
  opacity: 1;
}
[data-design="a"] .cc-hero__headline {
  font-family: var(--krone-display);
  font-size: clamp(48px,7.5vw,120px);
  font-weight: 400; letter-spacing: -0.02em; line-height: 0.95;
  color: var(--krone-ink);
  margin: 0 0 var(--krone-spread) 0;
  opacity: 1;
  animation: a-headline-in var(--krone-unfurl) var(--krone-ease-settle) both;
}
@keyframes a-headline-in {
  0%   { transform: translateY(20px); opacity: 0; }
  100% { transform: translateY(0);    opacity: 1; }
}

/* Element 3: Animated popular-items menu */
[data-design="a"] .cc-menu-reveal {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column;
  border-top: 1px solid var(--krone-ink);
  position: relative; z-index: 1;
}
[data-design="a"] .cc-menu-reveal__item {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr) auto;
  gap: var(--krone-cap);
  align-items: baseline;
  padding: var(--krone-leading) 0;
  border-bottom: 1px solid var(--krone-rule);
  opacity: 1;
  transform: translateX(0);
}
/* Initial state for scroll entrance — uses transform only */
[data-design="a"] .cc-menu-reveal__item[data-state="hidden"] {
  opacity: 0;
  transform: translateX(32px);
}
[data-design="a"] .cc-menu-reveal__item[data-state="visible"] {
  transition: opacity var(--krone-register) var(--krone-ease-settle),
              transform var(--krone-register) var(--krone-ease-cut);
  opacity: 1;
  transform: translateX(0);
}
[data-design="a"] .cc-menu-reveal__num {
  font-family: var(--krone-spec);
  font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--krone-muted);
}
[data-design="a"] .cc-menu-reveal__name {
  font-family: var(--krone-display);
  font-size: clamp(18px,2vw,28px); letter-spacing: -0.01em; line-height: 1.1;
  color: var(--krone-ink);
  overflow-wrap: anywhere;
}
[data-design="a"] .cc-menu-reveal__price {
  font-family: var(--krone-spec);
  font-size: 13px; letter-spacing: 0.04em;
  color: var(--krone-muted);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  justify-self: end;
}

/* Idle ambient on the menu — the vermillion rule under the active item pulses */
[data-design="a"] .cc-menu-reveal__item:nth-child(1) .cc-menu-reveal__name::after,
[data-design="a"] .cc-menu-reveal__item:nth-child(3) .cc-menu-reveal__name::after {
  content: "";
  display: block;
  height: 1.5px;
  background: var(--krone-vermillion);
  margin-top: 4px;
  transform-origin: left;
  animation: a-menu-shimmer 8s var(--krone-ease-tide) infinite;
}
[data-design="a"] .cc-menu-reveal__item:nth-child(3) .cc-menu-reveal__name::after {
  animation-delay: 4s;
}
@keyframes a-menu-shimmer {
  0%   { transform: scaleX(0.1); opacity: 0.4; }
  40%  { transform: scaleX(0.7); opacity: 1; }
  80%  { transform: scaleX(0.3); opacity: 0.6; }
  100% { transform: scaleX(0.1); opacity: 0.4; }
}

/* Hero actions */
[data-design="a"] .cc-hero__actions {
  display: flex; flex-direction: column; gap: var(--krone-leading);
  padding-bottom: var(--krone-spread);
  opacity: 1;
}

/* ELEMENT 2: CTA — breath animation */
[data-design="a"] .rf-cta {
  display: inline-flex; align-items: baseline; gap: var(--krone-cap);
  position: relative; padding: 4px 0 12px 0;
  font-family: var(--krone-display);
  font-size: clamp(36px,5vw,72px);
  color: var(--krone-ink); text-decoration: none;
  letter-spacing: -0.02em; line-height: 0.9;
  transition: transform var(--krone-settle) var(--krone-ease-settle);
  will-change: transform;
}
[data-design="a"] .rf-cta__label { position: relative; z-index: 1; }
[data-design="a"] .rf-cta__rule {
  position: absolute; left: 0; bottom: 6px; height: 4px;
  background: var(--krone-vermillion);
  width: 60%;
  /* motion-exception: breath animation owns transform:scaleX; hover uses width — the only available axis since transform-origin:left is in use */
  animation: a-breath 5s var(--krone-ease-tide) infinite;
  transform-origin: left center;
  transition: width var(--krone-settle) var(--krone-ease-cut);
}
[data-design="a"] .rf-cta__chip {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; background: var(--krone-vermillion);
  color: var(--krone-vermillion-on); border-radius: var(--krone-radius-stamp);
  opacity: 1;
  transform: translateX(-12px);
  transition: transform var(--krone-settle) var(--krone-ease-settle);
}
@keyframes a-breath {
  0%   { transform: scaleX(0.85); }
  50%  { transform: scaleX(1.1); }
  100% { transform: scaleX(0.85); }
}
[data-design="a"] .rf-cta:focus-visible .rf-cta__rule { width: 100%; animation-play-state: paused; transform: scaleX(1); }
[data-design="a"] .rf-cta:focus-visible .rf-cta__chip { transform: translateX(0); }
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .rf-cta:hover .rf-cta__rule { width: 100%; animation-play-state: paused; transform: scaleX(1); }
  [data-design="a"] .rf-cta:hover .rf-cta__chip { transform: translateX(0); }
}
[data-design="a"] .rf-cta:active { transform: translateY(2px); }
[data-design="a"] .rf-cta:focus-visible { outline: none; }

/* Action chips */
[data-design="a"] .cc-hero__chips {
  display: flex; flex-wrap: wrap; gap: var(--krone-cap);
}
[data-design="a"] .cc-chip {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 14px 22px; min-height: 44px; min-width: 44px;
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--krone-paper); background: var(--krone-ink);
  border: 1px solid var(--krone-ink); border-radius: var(--krone-radius-none);
  text-decoration: none;
  transition: box-shadow var(--krone-settle) var(--krone-ease-settle);
}
[data-design="a"] .cc-chip--outline {
  color: var(--krone-ink); background: transparent;
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .cc-chip:hover { box-shadow: var(--krone-elev-frame-2); }
}
[data-design="a"] .cc-chip:focus-visible { outline: none; box-shadow: var(--krone-elev-vermillion); }
[data-design="a"] .cc-hero__status {
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--krone-muted); margin: 0;
}

/* ---------- ELEMENT 5: Daily-special / cloche reveal ---------- */
[data-design="a"] .cc-special {
  background: var(--krone-stone);
  border-top: 1px solid var(--krone-ink);
  border-bottom: 1px solid var(--krone-ink);
  padding: var(--krone-spread) 0;
}
[data-design="a"] .cc-special__inner {
  max-width: 1440px; margin: 0 auto;
  padding: 0 clamp(20px,5vw,var(--krone-gutter));
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(var(--krone-spread),6vw,120px);
  align-items: center;
  box-sizing: border-box;
}
[data-design="a"] .cc-special__kicker {
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--krone-muted); margin: 0 0 var(--krone-cap) 0;
}
[data-design="a"] .cc-special__title {
  font-family: var(--krone-display);
  font-size: clamp(36px,5vw,72px); letter-spacing: -0.015em; line-height: 1.02;
  margin: 0;
}

/* Cloche button */
[data-design="a"] .cc-cloche-wrap {
  display: flex; flex-direction: column; align-items: center; gap: var(--krone-leading);
}
[data-design="a"] .cc-cloche {
  background: transparent; border: none; cursor: pointer;
  display: flex; flex-direction: column; align-items: center; gap: var(--krone-cap);
  padding: var(--krone-cap);
  transition: transform var(--krone-settle) var(--krone-ease-settle);
}
[data-design="a"] .cc-cloche__dome {
  color: var(--krone-ink);
  transition: transform var(--krone-unfurl) var(--krone-ease-settle);
  transform-origin: bottom center;
}
[data-design="a"] .cc-cloche.is-lifted .cc-cloche__dome {
  transform: translateY(-60px) scaleY(0.6);
}
[data-design="a"] .cc-cloche__svg { width: 160px; }
[data-design="a"] .cc-cloche__label {
  font-family: var(--krone-spec); font-size: 11px; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--krone-muted);
}
[data-design="a"] .cc-cloche.is-lifted .cc-cloche__label { opacity: 0; }
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .cc-cloche:hover { transform: translateY(-4px); }
}
[data-design="a"] .cc-cloche:focus-visible { outline: 2px solid var(--krone-vermillion); outline-offset: 6px; }

/* Reveal panel */
[data-design="a"] .cc-special__reveal {
  text-align: center;
  animation: a-reveal-in var(--krone-register) var(--krone-ease-settle) both;
}
@keyframes a-reveal-in {
  0%   { opacity: 0; transform: translateY(12px); }
  100% { opacity: 1; transform: translateY(0); }
}
[data-design="a"] .cc-special__day {
  font-family: var(--krone-spec); font-size: 11px; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--krone-muted); margin: 0 0 var(--krone-em) 0;
}
[data-design="a"] .cc-special__dish {
  font-family: var(--krone-display);
  font-size: clamp(28px,3.5vw,52px); letter-spacing: -0.015em; line-height: 1.1;
  color: var(--krone-ink); margin: 0 0 var(--krone-leading) 0;
}
[data-design="a"] .cc-special__note {
  font-family: var(--krone-body); font-size: 16px; line-height: 1.5;
  color: var(--krone-muted); margin: 0;
}
[data-design="a"] .cc-special__note a { color: var(--krone-vermillion); }

/* ---------- ELEMENT 6: Pointer ---------- */
[data-design="a"] .cc-pointer {
  background: var(--krone-paper);
  border-bottom: 1px solid var(--krone-ink);
  padding: var(--krone-rule-sp) 0;
  opacity: 1;
  min-height: 80px;
}
[data-design="a"] .cc-pointer__inner {
  max-width: 1440px; margin: 0 auto;
  padding: 0 clamp(20px,5vw,var(--krone-gutter));
  display: flex; align-items: center; gap: var(--krone-leading);
  box-sizing: border-box;
}
[data-design="a"] .cc-pointer__steam {
  display: block;
  width: 2px; height: 32px;
  background: linear-gradient(to top, var(--krone-vermillion), transparent);
  opacity: 0;
  transform-origin: bottom center;
  animation: a-ptr-steam 3.5s var(--krone-ease-tide) infinite;
}
[data-design="a"] .cc-pointer__steam--a { animation-delay: 0s; }
[data-design="a"] .cc-pointer__steam--b { animation-delay: 1.2s; }
[data-design="a"] .cc-pointer__steam--c { animation-delay: 2.4s; }
@keyframes a-ptr-steam {
  0%   { opacity: 0; transform: scaleX(1) translateY(0); }
  30%  { opacity: 0.7; }
  100% { opacity: 0; transform: scaleX(0.2) translateY(-20px); }
}
[data-design="a"] .cc-pointer__rule {
  flex: 1; height: 1px; background: var(--krone-ink); opacity: 0.18;
  animation: a-ptr-rule 4s var(--krone-ease-tide) infinite;
}
@keyframes a-ptr-rule {
  0%, 100% { transform: scaleX(0.95); opacity: 0.12; }
  50%       { transform: scaleX(1);   opacity: 0.25; }
}
[data-design="a"] .cc-pointer__label {
  font-family: var(--krone-spec); font-size: 11px; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--krone-muted); white-space: nowrap;
}

/* ---------- MENU section (Element 4 + full menu) ---------- */
[data-design="a"] .cc-menu {
  background: var(--krone-paper);
  border-bottom: 1px solid var(--krone-ink);
}
[data-design="a"] .cc-menu__inner {
  max-width: 1440px; margin: 0 auto;
  padding: var(--krone-spread) clamp(20px,5vw,var(--krone-gutter));
  box-sizing: border-box;
}
[data-design="a"] .cc-menu__head {
  margin-bottom: var(--krone-spread);
  border-bottom: 1px solid var(--krone-ink);
  padding-bottom: var(--krone-rule-sp);
}
[data-design="a"] .cc-menu__kicker {
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--krone-muted); margin: 0 0 var(--krone-cap) 0;
}
[data-design="a"] .cc-menu__title {
  font-family: var(--krone-display);
  font-size: clamp(40px,6vw,96px); letter-spacing: -0.02em; line-height: 0.95;
  margin: 0 0 var(--krone-leading) 0;
}
[data-design="a"] .cc-menu__note {
  font-family: var(--krone-body); font-style: italic; font-size: 14px;
  color: var(--krone-muted); margin: 0;
}
[data-design="a"] .cc-menu__sections {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(360px,100%), 1fr));
  gap: var(--krone-spread) clamp(var(--krone-rule-sp), 4vw, 80px);
}

/* Menu section entry animation */
[data-design="a"] .cc-menu__section { opacity: 1; }
[data-design="a"] .cc-menu__section[data-rf-enter] {
  opacity: 0;
  transform: translateY(20px);
}
[data-design="a"] .cc-menu__section[data-rf-enter].is-in {
  transition: opacity var(--krone-register) var(--krone-ease-settle),
              transform var(--krone-register) var(--krone-ease-settle);
  opacity: 1;
  transform: translateY(0);
}

/* Section header — uniform 2-track grid */
[data-design="a"] .cc-menu__sec-head {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: var(--krone-cap);
  padding-bottom: var(--krone-cap);
  margin-bottom: var(--krone-leading);
  border-bottom: 1px solid var(--krone-ink);
}
[data-design="a"] .cc-menu__sec-title {
  font-family: var(--krone-spec); font-size: 11px; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--krone-ink); margin: 0;
  min-width: 0; overflow-wrap: anywhere;
}
[data-design="a"] .cc-menu__sec-rule { display: none; }

/* Uniform 3-track menu row */
[data-design="a"] .cc-menu__list { list-style: none; padding: 0; margin: 0; }
[data-design="a"] .cc-menu__row {
  display: grid;
  grid-template-columns: minmax(0,auto) 1fr auto;
  align-items: baseline;
  gap: 0 var(--krone-cap);
  padding: 10px 0;
  border-bottom: 1px solid var(--krone-rule);
  column-gap: var(--krone-cap);
}
[data-design="a"] .cc-menu__item-name {
  font-family: var(--krone-body); font-size: 16px; line-height: 1.4;
  color: var(--krone-ink);
  min-width: 0; overflow-wrap: anywhere;
}
[data-design="a"] .cc-menu__leader {
  /* dotted leader fills the middle 1fr track */
  display: block; height: 1px;
  border-bottom: 1px dotted var(--krone-muted);
  opacity: 0.4;
  align-self: end;
  margin-bottom: 4px;
}
[data-design="a"] .cc-menu__price {
  font-family: var(--krone-spec); font-size: 13px; letter-spacing: 0.03em;
  color: var(--krone-muted);
  white-space: nowrap; justify-self: end;
  font-variant-numeric: tabular-nums;
}

/* ---------- HOURS & LOCATION ---------- */
[data-design="a"] .cc-hours {
  background: var(--krone-stone);
  border-bottom: 1px solid var(--krone-ink);
}
[data-design="a"] .cc-hours__inner {
  max-width: 1440px; margin: 0 auto;
  padding: var(--krone-spread) clamp(20px,5vw,var(--krone-gutter));
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(var(--krone-spread),6vw,120px);
  box-sizing: border-box;
}
[data-design="a"] .cc-hours__kicker {
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--krone-muted); margin: 0 0 var(--krone-cap) 0;
}
[data-design="a"] .cc-hours__title {
  font-family: var(--krone-display);
  font-size: clamp(32px,4vw,56px); letter-spacing: -0.015em; line-height: 1.02;
  margin: 0 0 var(--krone-rule-sp) 0;
}
[data-design="a"] .cc-hours__list {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: var(--krone-em) var(--krone-leading);
  margin: 0 0 var(--krone-leading) 0;
  font-family: var(--krone-body); font-size: 16px; line-height: 1.5;
}
[data-design="a"] .cc-hours__list dt { color: var(--krone-ink-2); }
[data-design="a"] .cc-hours__list dd { margin: 0; color: var(--krone-ink); font-weight: 500; }
[data-design="a"] .cc-hours__note {
  font-family: var(--krone-body); font-size: 14px; color: var(--krone-muted);
  margin: 0 0 var(--krone-em) 0;
}
[data-design="a"] .cc-hours__address {
  font-family: var(--krone-body); font-size: 18px; line-height: 1.55;
  color: var(--krone-ink); margin: 0 0 var(--krone-leading) 0;
  font-style: normal;
}
[data-design="a"] .cc-hours__map {
  display: inline-block;
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--krone-vermillion);
  text-decoration: none; margin-bottom: var(--krone-leading);
}
[data-design="a"] .cc-hours__contact {
  font-family: var(--krone-display); font-size: clamp(24px,3vw,40px);
  letter-spacing: -0.01em; margin: 0;
}
[data-design="a"] .cc-hours__contact a { color: var(--krone-ink); text-decoration: none; }
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .cc-hours__contact a:hover { color: var(--krone-vermillion); }
}

/* ---------- ABOUT ---------- */
[data-design="a"] .cc-about {
  background: var(--krone-paper);
  border-bottom: 1px solid var(--krone-ink);
}
[data-design="a"] .cc-about__inner {
  max-width: 1440px; margin: 0 auto;
  padding: var(--krone-spread) clamp(20px,5vw,var(--krone-gutter));
  box-sizing: border-box;
}
[data-design="a"] .cc-about__kicker {
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--krone-muted); margin: 0 0 var(--krone-cap) 0;
}
[data-design="a"] .cc-about__title {
  font-family: var(--krone-display);
  font-size: clamp(40px,6vw,96px); letter-spacing: -0.02em; line-height: 0.95;
  margin: 0 0 var(--krone-spread) 0;
  max-width: 16ch;
}

/* Krone considered paragraph (Element 4 re-use) */
[data-design="a"] .rf-considered {
  position: relative; max-width: 60ch;
}
[data-design="a"] .rf-considered__lede {
  font-family: var(--krone-display);
  font-size: clamp(20px,2.2vw,28px); line-height: 1.4;
  letter-spacing: -0.005em; color: var(--krone-ink); margin: 0;
  transition: max-width var(--krone-drift) var(--krone-ease-tide);
  max-width: 100%;
}
[data-design="a"] .rf-considered__lede.is-tight { max-width: 93%; }
[data-design="a"] .rf-considered__lede.is-loose { max-width: 100%; }
[data-design="a"] .rf-considered__rule {
  display: block; position: relative; height: 2px;
  margin-top: var(--krone-rule-sp);
  background: var(--krone-vermillion);
  width: 88px;
  animation: a-drift var(--krone-drift) var(--krone-ease-tide) infinite;
}
@keyframes a-drift {
  0%   { transform: translateX(-3px); }
  50%  { transform: translateX(3px); }
  100% { transform: translateX(-3px); }
}
[data-design="a"] .cc-about__sign {
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--krone-muted);
  margin: var(--krone-rule-sp) 0 0 0;
}

/* ---------- FAQ ---------- */
[data-design="a"] .cc-faq {
  background: var(--krone-stone);
  border-bottom: 1px solid var(--krone-ink);
}
[data-design="a"] .cc-faq__inner {
  max-width: 1440px; margin: 0 auto;
  padding: var(--krone-spread) clamp(20px,5vw,var(--krone-gutter));
  box-sizing: border-box;
}
[data-design="a"] .cc-faq__kicker {
  font-family: var(--krone-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--krone-muted); margin: 0 0 var(--krone-cap) 0;
}
[data-design="a"] .cc-faq__title {
  font-family: var(--krone-display);
  font-size: clamp(36px,5vw,72px); letter-spacing: -0.015em; line-height: 1.02;
  margin: 0 0 var(--krone-spread) 0;
}
[data-design="a"] .cc-faq__list { margin: 0; padding: 0; }
[data-design="a"] .cc-faq__row {
  border-top: 1px solid var(--krone-ink);
  padding: var(--krone-leading) 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--krone-rule-sp);
  align-items: start;
}
[data-design="a"] .cc-faq__row:last-child { border-bottom: 1px solid var(--krone-ink); }
[data-design="a"] .cc-faq__q {
  font-family: var(--krone-display);
  font-size: clamp(18px,1.8vw,24px); letter-spacing: -0.01em; line-height: 1.2;
  color: var(--krone-ink); margin: 0;
}
[data-design="a"] .cc-faq__a {
  font-family: var(--krone-body); font-size: 17px; line-height: 1.55;
  color: var(--krone-ink-2); margin: 0;
}
[data-design="a"] .cc-faq__a a { color: var(--krone-vermillion); }

/* ---------- FOOTER ---------- */
[data-design="a"] .cc-footer {
  background: var(--krone-paper);
  border-top: 1px solid var(--krone-ink);
}
[data-design="a"] .cc-footer__inner {
  max-width: 1440px; margin: 0 auto;
  padding: var(--krone-spread) clamp(20px,5vw,var(--krone-gutter));
  box-sizing: border-box;
}
[data-design="a"] .cc-footer__brand {
  font-family: var(--krone-display);
  font-size: clamp(24px,3vw,40px); letter-spacing: -0.015em;
  border-bottom: 1px solid var(--krone-ink);
  padding-bottom: var(--krone-leading);
  margin-bottom: var(--krone-spread);
  color: var(--krone-ink);
}
[data-design="a"] .cc-footer__sep { color: var(--krone-vermillion); }
[data-design="a"] .cc-footer__cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--krone-spread);
  margin-bottom: var(--krone-rule-sp);
}
[data-design="a"] .cc-footer__col {
  font-family: var(--krone-body); font-size: 15px; line-height: 1.7;
  color: var(--krone-ink-2);
}
[data-design="a"] .cc-footer__col address { font-style: normal; }
[data-design="a"] .cc-footer__col p { margin: 0; }
[data-design="a"] .cc-footer__col a { color: var(--krone-ink-2); text-decoration: none; }
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .cc-footer__col a:hover { color: var(--krone-vermillion); }
}
[data-design="a"] .cc-footer__label {
  font-family: var(--krone-spec); font-size: 11px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--krone-muted); margin: 0 0 var(--krone-em) 0;
}
[data-design="a"] .cc-footer__legal {
  font-family: var(--krone-spec); font-size: 11px; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--krone-muted);
  border-top: 1px solid var(--krone-rule);
  padding-top: var(--krone-leading);
  margin: 0;
}

/* ---------- Scroll parallax (TRIAD-2: premium scroll motion) ---------- */
[data-design="a"] .cc-hero {
  --hero-scroll-offset: 0px;
}
[data-design="a"] .cc-hero__ambient-wrap {
  transform: translateY(var(--hero-scroll-offset));
  will-change: transform;
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .rf-tide__rule { animation: none; transform: scaleX(0.5); }
  [data-design="a"] .rf-drawer { animation: none; }
  [data-design="a"] .rf-drawer__nav a::after { transition: none; }
  [data-design="a"] .rf-burger__line { transition: none; }
  [data-design="a"] .cc-hero__headline { animation: none; opacity: 1; transform: none; }
  [data-design="a"] .cc-steam { animation: none; opacity: 0; }
  [data-design="a"] .rf-cta__rule { animation: none; transform: scaleX(1); }
  [data-design="a"] .rf-cta__chip { transition: none; }
  [data-design="a"] .rf-cta { transition: none; }
  [data-design="a"] .cc-cloche__dome { transition: none; }
  [data-design="a"] .cc-special__reveal { animation: none; }
  [data-design="a"] .cc-pointer__steam { animation: none; }
  [data-design="a"] .cc-pointer__rule { animation: none; opacity: 0.2; }
  [data-design="a"] .cc-menu__section[data-rf-enter] { opacity: 1; transform: none; }
  [data-design="a"] .cc-menu__section[data-rf-enter].is-in { transition: none; }
  [data-design="a"] .cc-menu-reveal__name::after { animation: none; }
  [data-design="a"] .rf-considered__lede { transition: none; max-width: 100%; }
  [data-design="a"] .rf-considered__rule { animation: none; }
  [data-design="a"] .cc-hero__ambient-wrap { transform: none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
  [data-design="a"] .cc-special__inner {
    grid-template-columns: 1fr;
  }
  [data-design="a"] .cc-hours__inner {
    grid-template-columns: 1fr;
    gap: var(--krone-spread);
  }
  [data-design="a"] .cc-faq__row {
    grid-template-columns: 1fr;
    gap: var(--krone-leading);
  }
  [data-design="a"] .cc-footer__cols {
    grid-template-columns: 1fr;
    gap: var(--krone-leading);
  }
  [data-design="a"] .cc-menu-reveal__item {
    grid-template-columns: 36px minmax(0,1fr) auto;
  }
}

@media (max-width: 560px) {
  [data-design="a"] .rf-header__bar { padding: 16px 20px; }
  [data-design="a"] .rf-drawer { padding: 80px 20px; }
  [data-design="a"] .cc-hero__inner { padding: 0 20px; }
  [data-design="a"] .cc-menu-reveal__item {
    grid-template-columns: 28px minmax(0,1fr);
  }
  [data-design="a"] .cc-menu-reveal__price { display: none; }
  [data-design="a"] .cc-menu-reveal__num { font-size: 10px; }
  [data-design="a"] .cc-cloche__svg { width: 120px; }
  [data-design="a"] .cc-special__inner { padding: 0 20px; }
  [data-design="a"] .cc-hours__inner { padding: var(--krone-rule-sp) 20px; }
  [data-design="a"] .cc-about__inner { padding: var(--krone-rule-sp) 20px; }
  [data-design="a"] .cc-faq__inner { padding: var(--krone-rule-sp) 20px; }
  [data-design="a"] .cc-menu__inner { padding: var(--krone-rule-sp) 20px; }
  [data-design="a"] .cc-footer__inner { padding: var(--krone-rule-sp) 20px; }
}

@media (max-width: 380px) {
  [data-design="a"] .cc-hero__headline { font-size: clamp(40px,12vw,60px); }
  [data-design="a"] .cc-menu-reveal__name { font-size: 16px; }
  [data-design="a"] .rf-cta { font-size: clamp(28px,8vw,48px); }
}

/* 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; }
