/* The ALIBI — design slice A (krone, remapped [data-design="a"]) */

[data-design="a"] {
  --design-a-paper: #FAF7F0;
  --design-a-ink: #1A1815;
  --design-a-ink-2: #3A352E;
  --design-a-muted: #6E665B;
  --design-a-rule-c: #1A18151F;
  --design-a-primary: #C8341F;
  --design-a-primary-on: #FAF7F0;
  --design-a-stone: #EAE5DA;
  --design-a-critical: #A02418;
  --design-a-success: #3B5F2E;

  --design-a-display: 'GT Sectra', 'Tiempos Headline', 'Iowan Old Style', Charter, Georgia, serif;
  --design-a-body: 'Sectra Fine', 'Tiempos Text', 'Iowan Old Style', Charter, Georgia, serif;
  --design-a-spec: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;

  --a-tick: 4px; --a-em: 8px; --a-cap: 16px; --a-leading: 24px;
  --a-rule: 40px; --a-spread: 80px; --a-gutter: 128px; --a-overture: 200px;

  --a-cut: 120ms; --a-settle: 280ms; --a-register: 600ms; --a-unfurl: 1200ms;
  --a-tide: 22s; --a-drift: 18s;
  --a-ease-cut: cubic-bezier(0.85, 0, 0.15, 1);
  --a-ease-settle: cubic-bezier(0.2, 0.8, 0.2, 1);
  --a-ease-tide: cubic-bezier(0.45, 0, 0.55, 1);

  background: var(--design-a-paper);
  color: var(--design-a-ink);
  font-family: var(--design-a-body);
  display: block;
  isolation: isolate;
}

[data-design="a"].dq-design * { box-sizing: border-box; }
[data-design="a"].dq-design :where(h1, h2, h3, p) { margin: 0; }

/* ---------- Header (Element 1) ---------- */
[data-design="a"] .rf-header {
  position: sticky; top: 0; z-index: 50;
  background: var(--design-a-paper);
  border-bottom: 1px solid var(--design-a-ink);
}
[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(--design-a-ink); }
[data-design="a"] .rf-logo__mark {
  font-family: var(--design-a-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(--design-a-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(--design-a-ink);
  transition: transform var(--a-settle) var(--a-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); }
[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(--design-a-primary);
  transform-origin: left center;
  animation: a-tide var(--a-tide) cubic-bezier(0.45, 0, 0.55, 1) 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; }
}
[data-design="a"] .rf-drawer {
  position: fixed; inset: 0; background: var(--design-a-paper);
  z-index: 100; padding: 96px clamp(24px, 6vw, 96px);
  display: flex; flex-direction: column; justify-content: space-between;
  animation: a-drawer-wipe var(--a-register) var(--a-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__nav { display: flex; flex-direction: column; gap: var(--a-leading); }
[data-design="a"] .rf-drawer__nav a {
  font-family: var(--design-a-display);
  font-size: clamp(32px, 6vw, 64px);
  color: var(--design-a-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(--design-a-primary);
  transform: scaleX(0); transform-origin: left;
  transition: transform var(--a-register) var(--a-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"] .a-drawer-tel { font-family: var(--design-a-spec) !important; font-size: 22px !important; letter-spacing: 0.02em; }
[data-design="a"] .rf-drawer__meta {
  font-family: var(--design-a-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--design-a-muted);
}
@media (max-width: 560px) {
  [data-design="a"] .rf-header__bar { padding: 16px 20px; }
  [data-design="a"] .rf-drawer { padding: 80px 20px; }
}

/* ---------- Hero ---------- */
[data-design="a"] .a-hero {
  position: relative; isolation: isolate;
  padding: clamp(56px, 8vw, var(--a-overture)) clamp(20px, 6vw, 96px) var(--a-spread);
  background: var(--design-a-paper);
  overflow: hidden;
}
[data-design="a"] .a-hero::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(ellipse at 15% 20%, color-mix(in srgb, var(--design-a-primary) 10%, transparent) 0%, transparent 55%),
    radial-gradient(ellipse at 85% 80%, color-mix(in srgb, var(--design-a-success) 8%, transparent) 0%, transparent 60%);
  opacity: 0.9;
  animation: a-ambient-drift 26s var(--a-ease-tide) infinite;
}
@keyframes a-ambient-drift {
  0%   { transform: translate(0, 0) scale(1); }
  50%  { transform: translate(1.5%, -1.5%) scale(1.03); }
  100% { transform: translate(0, 0) scale(1); }
}
[data-design="a"] .a-hero__inner {
  position: relative; z-index: 2;
  max-width: 1320px; margin-inline: auto;
  display: flex; flex-direction: column; gap: var(--a-spread);
}
[data-design="a"] .a-hero__frame { max-width: 62ch; width: 100%; margin-inline: auto; }
[data-design="a"] .a-hero__kicker {
  font-family: var(--design-a-spec); font-size: 12px; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--design-a-muted);
  margin-bottom: var(--a-cap);
  opacity: 1;
}
[data-design="a"] .a-hero__headline {
  font-family: var(--design-a-display);
  font-size: clamp(40px, 6.5vw, 96px);
  font-weight: 400; letter-spacing: -0.02em; line-height: 0.98;
  color: var(--design-a-ink);
  opacity: 1;
  animation: a-register-in var(--a-unfurl) var(--a-ease-settle) both;
}
[data-design="a"] .a-hero__subtitle {
  font-family: var(--design-a-body); font-style: italic;
  font-size: clamp(17px, 1.6vw, 20px); line-height: 1.5;
  color: var(--design-a-ink-2);
  margin-top: var(--a-cap);
  max-width: 52ch;
  opacity: 1;
  animation: a-register-in var(--a-unfurl) var(--a-ease-settle) 120ms both;
}
@keyframes a-register-in {
  0%   { transform: translateY(14px); opacity: 1; }
  100% { transform: translateY(0); opacity: 1; }
}

/* Element 3 — animated popular-items menu (build-contract, krone grammar) */
[data-design="a"] .a-menu {
  border-top: 1px solid var(--design-a-ink);
  border-bottom: 1px solid var(--design-a-ink);
  padding: var(--a-leading) 0;
  max-width: 900px;
  width: 100%;
  margin-inline: auto;
  position: relative;
}
[data-design="a"] .a-menu__label {
  font-family: var(--design-a-spec); font-size: 12px; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--design-a-muted);
  margin-bottom: var(--a-cap);
}
[data-design="a"] .a-menu__list {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--a-cap) var(--a-rule);
}
[data-design="a"] .a-menu__item {
  font-family: var(--design-a-display);
  font-size: clamp(18px, 2vw, 24px);
  letter-spacing: -0.005em; line-height: 1.2;
  color: var(--design-a-ink);
  opacity: 1;
  transform: translateY(0);
  animation: a-menu-plate 560ms var(--a-ease-settle) both;
  animation-delay: calc(var(--i) * 90ms);
  position: relative;
  padding-left: var(--a-cap);
}
[data-design="a"] .a-menu__item::before {
  content: ""; position: absolute; left: 0; top: 0.35em; width: 6px; height: 6px;
  background: var(--design-a-primary); border-radius: 9999px;
  transform: scale(0.9);
  animation: a-menu-ember 4.5s ease-in-out infinite;
  animation-delay: calc(var(--i) * 300ms);
}
@keyframes a-menu-plate {
  0%   { opacity: 1; transform: translateY(10px); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes a-menu-ember {
  0%, 100% { opacity: 0.55; transform: scale(0.85); }
  50%      { opacity: 1;    transform: scale(1.05); }
}
[data-design="a"] .a-menu__rule {
  display: block; position: absolute; left: 0; bottom: -1px; height: 2px; width: 88px;
  background: var(--design-a-primary);
  animation: a-drift-rule var(--a-drift) var(--a-ease-tide) infinite;
}
@keyframes a-drift-rule {
  0%   { transform: translateX(-3px); }
  50%  { transform: translateX(3px); }
  100% { transform: translateX(-3px); }
}

/* Element 2 — action cluster, low weight */
[data-design="a"] .a-actions {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--a-cap);
  max-width: 900px; width: 100%; margin-inline: auto;
  opacity: 1;
}
[data-design="a"] .a-chip {
  display: inline-flex; flex-direction: column; gap: 2px;
  padding: 12px 20px; text-decoration: none;
  border: 1px solid var(--design-a-ink); background: var(--design-a-paper);
  color: var(--design-a-ink);
  min-height: 44px; justify-content: center;
  transition: box-shadow var(--a-settle) var(--a-ease-settle), background var(--a-settle) var(--a-ease-settle);
}
[data-design="a"] .a-chip__label {
  font-family: var(--design-a-spec); font-size: 13px; letter-spacing: 0.04em; font-weight: 500;
}
[data-design="a"] .a-chip__meta {
  font-family: var(--design-a-body); font-size: 13px; color: var(--design-a-muted);
}
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .a-chip:hover { box-shadow: 0 0 0 2px var(--design-a-ink); }
}
[data-design="a"] .a-chip:active { transform: translateY(1px); }
[data-design="a"] .a-chip--tel { border-color: var(--design-a-primary); }
[data-design="a"] .a-chip--wide { width: 100%; }
[data-design="a"] .a-chip--footer { border-color: var(--design-a-ink); }
[data-design="a"] .a-status {
  font-family: var(--design-a-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--design-a-success);
}

/* ---------- Pointer (Element 6) ---------- */
[data-design="a"] .a-pointer {
  display: flex; justify-content: center; align-items: flex-end; gap: 10px;
  height: 40px; padding: var(--a-cap) 0;
  opacity: 1;
}
[data-design="a"] .a-pointer__wisp {
  display: block; width: 3px; height: 22px; border-radius: 9999px;
  background: color-mix(in srgb, var(--design-a-primary) 60%, var(--design-a-muted));
  opacity: 0.6;
  transform-origin: bottom center;
  animation: a-wisp-rise 3.6s var(--a-ease-tide) infinite;
}
[data-design="a"] .a-pointer__wisp--2 { animation-delay: 0.5s; height: 28px; }
[data-design="a"] .a-pointer__wisp--3 { animation-delay: 1s; height: 18px; }
@keyframes a-wisp-rise {
  0%   { transform: translateY(0) scaleY(0.85); opacity: 0.35; }
  50%  { transform: translateY(-8px) scaleY(1.1); opacity: 0.75; }
  100% { transform: translateY(0) scaleY(0.85); opacity: 0.35; }
}

/* ---------- Element 5 — the tiki-mug daily reveal (INT-1 / TRIAD-3) ---------- */
[data-design="a"] .a-reveal {
  padding: var(--a-spread) clamp(20px, 6vw, 96px);
  background: var(--design-a-stone);
  border-top: 1px solid var(--design-a-ink);
  border-bottom: 1px solid var(--design-a-ink);
}
[data-design="a"] .a-reveal__frame {
  max-width: 640px; margin-inline: auto; text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: var(--a-cap);
}
[data-design="a"] .a-reveal__kicker {
  font-family: var(--design-a-spec); font-size: 12px; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--design-a-muted);
}
[data-design="a"] .a-reveal__title {
  font-family: var(--design-a-display); font-size: clamp(28px, 4vw, 44px);
  letter-spacing: -0.015em; line-height: 1.08; max-width: 18ch;
}
[data-design="a"] .a-mug {
  background: transparent; border: none; padding: var(--a-cap); cursor: pointer;
  display: flex; flex-direction: column; align-items: center; gap: var(--a-cap);
  min-width: 44px; min-height: 44px;
}
[data-design="a"] .a-mug__cup { display: inline-block; transition: transform var(--a-settle) var(--a-ease-settle); }
@media (hover: hover) and (pointer: fine) {
  [data-design="a"] .a-mug:hover .a-mug__cup { transform: translateY(-4px) scale(1.03); }
}
[data-design="a"] .a-mug__lid {
  transform-origin: 51px 46px;
  transition: transform 480ms var(--a-ease-cut);
}
[data-design="a"] .a-mug.is-open .a-mug__lid {
  transform: translateY(-18px) rotate(-14deg);
}
[data-design="a"] .a-mug__cta {
  font-family: var(--design-a-spec); font-size: 13px; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--design-a-ink);
}
[data-design="a"] .a-reveal__result {
  margin-top: var(--a-cap); padding: var(--a-leading) var(--a-rule);
  border: 1px solid var(--design-a-ink); background: var(--design-a-paper);
  max-width: 480px;
  animation: a-rule-in 480ms var(--a-ease-cut) both;
}
[data-design="a"] .a-reveal__result[hidden] { display: none; }
@keyframes a-rule-in {
  0%   { opacity: 1; clip-path: inset(0 100% 0 0); }
  100% { opacity: 1; clip-path: inset(0 0 0 0); }
}
[data-design="a"] .a-reveal__result-label {
  font-family: var(--design-a-spec); font-size: 12px; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--design-a-primary); margin-bottom: 6px;
}
[data-design="a"] .a-reveal__result-body {
  font-family: var(--design-a-display); font-size: clamp(18px, 2vw, 22px);
  line-height: 1.35; color: var(--design-a-ink);
}

/* ---------- Roster (Element 3 mid-page / history) ---------- */
[data-design="a"] .a-roster {
  padding: var(--a-spread) clamp(20px, 6vw, 96px);
  background: var(--design-a-paper);
}
[data-design="a"] .a-roster__head {
  display: grid; grid-template-columns: 1fr 2fr; gap: var(--a-rule);
  margin-bottom: var(--a-spread); align-items: end;
}
[data-design="a"] .a-roster__kicker {
  font-family: var(--design-a-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--design-a-muted);
}
[data-design="a"] .a-roster__title {
  font-family: var(--design-a-display); font-size: clamp(32px, 4.5vw, 56px);
  letter-spacing: -0.015em; line-height: 1.02;
}
[data-design="a"] .a-roster__list { list-style: none; padding: 0; margin: 0; }
[data-design="a"] .a-roster__row {
  display: grid;
  grid-template-columns: 80px minmax(0, 1.2fr) minmax(0, 1.6fr);
  gap: var(--a-rule); align-items: baseline;
  padding: var(--a-leading) 0;
  border-top: 1px solid var(--design-a-ink);
  position: relative;
}
[data-design="a"] .a-roster__row:last-child { border-bottom: 1px solid var(--design-a-ink); }
[data-design="a"] .a-roster__num {
  font-family: var(--design-a-spec); font-size: 13px; letter-spacing: 0.08em;
  color: var(--design-a-muted);
  display: inline-block; transform: translateY(8px); opacity: 1;
  transition: opacity var(--a-register) var(--a-ease-settle), transform var(--a-register) var(--a-ease-settle);
}
[data-design="a"] .a-roster__name {
  font-family: var(--design-a-display); font-size: clamp(20px, 2.2vw, 28px);
  letter-spacing: -0.01em; line-height: 1.15;
  opacity: 1; transform: translateX(24px);
  transition: opacity var(--a-register) var(--a-ease-settle) 80ms, transform var(--a-register) var(--a-ease-cut) 80ms;
  position: relative;
}
[data-design="a"] .a-roster__name::before {
  content: ""; position: absolute; left: -8px; top: 0; bottom: 0;
  width: 8px; background: var(--design-a-primary);
  transform: scaleX(0); transform-origin: left;
  transition: transform 120ms var(--a-ease-cut);
}
[data-design="a"] .a-roster__dek {
  font-family: var(--design-a-body); font-size: 16px; line-height: 1.5;
  font-style: italic; color: var(--design-a-ink-2);
  opacity: 1; transform: translateY(8px);
  transition: opacity var(--a-register) var(--a-ease-settle) 200ms, transform var(--a-register) var(--a-ease-settle) 200ms;
}
[data-design="a"] .a-roster__row.is-in .a-roster__num,
[data-design="a"] .a-roster__row.is-in .a-roster__name,
[data-design="a"] .a-roster__row.is-in .a-roster__dek {
  opacity: 1; transform: none;
}
[data-design="a"] .a-roster__row.is-in .a-roster__name::before {
  animation: a-wipe 240ms var(--a-ease-cut) 60ms both;
}
@keyframes a-wipe {
  0%   { transform: translateX(0) scaleX(0); }
  45%  { transform: translateX(0) scaleX(1); }
  100% { transform: translateX(8px) scaleX(0); }
}
@media (max-width: 768px) {
  [data-design="a"] .a-roster__head { grid-template-columns: 1fr; gap: var(--a-leading); }
  [data-design="a"] .a-roster__row { grid-template-columns: 48px 1fr; gap: var(--a-cap); row-gap: var(--a-em); }
  [data-design="a"] .a-roster__dek { grid-column: 2 / 3; }
}

/* ---------- Considered (Element 4) ---------- */
[data-design="a"] .a-considered {
  padding: var(--a-spread) clamp(20px, 6vw, 96px);
  background: var(--design-a-stone);
  display: grid; grid-template-columns: 1fr;
  max-width: 100%;
}
[data-design="a"] .a-considered__title {
  font-family: var(--design-a-display); font-size: clamp(32px, 5vw, 72px);
  letter-spacing: -0.02em; line-height: 0.98;
  margin: 0 0 var(--a-spread) 0;
}
[data-design="a"] .a-considered__body { position: relative; max-width: 60ch; margin-left: auto; }
[data-design="a"] .a-considered__lede {
  font-family: var(--design-a-display); font-size: clamp(19px, 2.2vw, 26px);
  line-height: 1.4; letter-spacing: -0.005em; color: var(--design-a-ink);
  width: 100%; max-width: 100%;
  transition: max-width var(--a-drift) var(--a-ease-tide);
}
[data-design="a"] .a-considered__lede.is-tight { max-width: 94%; }
[data-design="a"] .a-considered__lede.is-loose { max-width: 100%; }
[data-design="a"] .a-considered__rule {
  display: block; position: relative; height: 2px;
  margin-top: var(--a-rule); background: var(--design-a-primary); width: 88px;
  animation: a-drift-rule var(--a-drift) var(--a-ease-tide) infinite;
}
[data-design="a"] .a-considered__sign {
  font-family: var(--design-a-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--design-a-muted);
  margin: var(--a-rule) 0 0 auto; max-width: 60ch;
}
@media (max-width: 768px) {
  [data-design="a"] .a-considered__body { margin-left: 0; }
  [data-design="a"] .a-considered__sign { margin-left: 0; }
}

/* ---------- Full menu ---------- */
[data-design="a"] .a-full-menu {
  padding: var(--a-spread) clamp(20px, 6vw, 96px);
  background: var(--design-a-paper);
  max-width: 1320px; margin-inline: auto;
}
[data-design="a"] .a-full-menu__head { margin-bottom: var(--a-spread); }
[data-design="a"] .a-full-menu__kicker {
  font-family: var(--design-a-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--design-a-muted); margin-bottom: var(--a-em);
}
[data-design="a"] .a-full-menu__title {
  font-family: var(--design-a-display); font-size: clamp(32px, 4.5vw, 56px);
  letter-spacing: -0.015em;
}
[data-design="a"] .a-menu-section { margin-bottom: var(--a-spread); }
[data-design="a"] .a-menu-section:last-child { margin-bottom: 0; }
[data-design="a"] .a-menu-section__head {
  display: grid; grid-template-columns: 1fr auto; gap: var(--a-cap);
  align-items: baseline; border-bottom: 1px solid var(--design-a-ink);
  padding-bottom: var(--a-em); margin-bottom: var(--a-leading);
}
[data-design="a"] .a-menu-section__title {
  font-family: var(--design-a-display); font-size: clamp(22px, 2.6vw, 30px);
}
[data-design="a"] .a-menu-section__no {
  font-family: var(--design-a-spec); font-size: 12px; letter-spacing: 0.1em;
  color: var(--design-a-muted); justify-self: end;
}
[data-design="a"] .a-menu-rows { list-style: none; margin: 0; padding: 0; }
[data-design="a"] .a-menu-row {
  display: grid; grid-template-columns: minmax(0, auto) 1fr auto;
  align-items: baseline; column-gap: var(--a-cap);
  padding: var(--a-em) 0;
  border-bottom: 1px solid var(--design-a-rule-c);
}
[data-design="a"] .a-menu-row__name {
  font-family: var(--design-a-body); font-size: 17px; line-height: 1.5;
  color: var(--design-a-ink); min-width: 0; overflow-wrap: anywhere;
}
[data-design="a"] .a-menu-row__leader {
  border-bottom: 1px dotted var(--design-a-muted);
  transform: translateY(-4px);
}
[data-design="a"] .a-menu-note {
  font-family: var(--design-a-spec); font-size: 12px; letter-spacing: 0.04em;
  color: var(--design-a-muted); margin-top: var(--a-cap);
}

/* ---------- Hours & Location ---------- */
[data-design="a"] .a-hours {
  padding: var(--a-spread) clamp(20px, 6vw, 96px);
  background: var(--design-a-stone);
  border-top: 1px solid var(--design-a-ink);
}
[data-design="a"] .a-hours__grid {
  max-width: 1320px; margin-inline: auto;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--a-rule);
}
[data-design="a"] .a-hours__block { display: flex; flex-direction: column; gap: var(--a-em); }
[data-design="a"] .a-hours__kicker {
  font-family: var(--design-a-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--design-a-muted);
}
[data-design="a"] .a-hours__title {
  font-family: var(--design-a-display); font-size: clamp(26px, 3vw, 36px);
  margin-bottom: var(--a-em);
}
[data-design="a"] .a-hours__row { font-family: var(--design-a-body); font-size: 17px; line-height: 1.5; color: var(--design-a-ink-2); }
[data-design="a"] .a-hours__row--sub { font-size: 15px; }
[data-design="a"] .a-hours__block .a-chip { margin-top: var(--a-em); }
@media (max-width: 768px) {
  [data-design="a"] .a-hours__grid { grid-template-columns: 1fr; gap: var(--a-spread); }
}

/* ---------- Gallery ---------- */
[data-design="a"] .a-gallery {
  padding: var(--a-spread) clamp(20px, 6vw, 96px);
  background: var(--design-a-paper);
  max-width: 1320px; margin-inline: auto;
}
[data-design="a"] .a-gallery__head { max-width: 720px; margin-inline: auto; margin-bottom: var(--a-spread); }
[data-design="a"] .a-gallery__kicker {
  font-family: var(--design-a-spec); font-size: 12px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--design-a-muted); margin-bottom: var(--a-em);
}
[data-design="a"] .a-gallery__title {
  font-family: var(--design-a-display); font-size: clamp(28px, 4vw, 44px);
  letter-spacing: -0.015em; line-height: 1.1; margin-bottom: var(--a-cap);
}
[data-design="a"] .a-gallery__note {
  font-family: var(--design-a-body); font-style: italic; font-size: 15px;
  color: var(--design-a-muted); max-width: 60ch;
}
[data-design="a"] .a-gallery__frame {
  margin: 0; margin-inline: auto; border: 1px solid var(--design-a-ink); background: var(--design-a-stone);
  max-width: 640px;
}
[data-design="a"] .a-gallery__frame img { display: block; width: 100%; height: auto; }
[data-design="a"] .a-gallery__caption {
  font-family: var(--design-a-spec); font-size: 12px; letter-spacing: 0.04em;
  color: var(--design-a-muted); padding: var(--a-cap);
}

/* ---------- Footer ---------- */
[data-design="a"] .a-footer {
  padding: var(--a-spread) clamp(20px, 6vw, 96px) var(--a-leading);
  background: var(--design-a-ink); color: var(--design-a-paper);
}
[data-design="a"] .a-footer__grid {
  max-width: 1320px; margin-inline: auto;
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--a-spread);
  margin-bottom: var(--a-spread);
}
[data-design="a"] .a-footer__name {
  font-family: var(--design-a-display); font-size: clamp(22px, 2.4vw, 28px); margin-bottom: var(--a-cap);
}
[data-design="a"] .a-footer__row {
  font-family: var(--design-a-spec); font-size: 13px; letter-spacing: 0.04em;
  color: color-mix(in srgb, var(--design-a-paper) 75%, transparent);
  margin-bottom: 4px;
}
[data-design="a"] .a-footer__col { display: flex; flex-direction: column; gap: var(--a-em); }
[data-design="a"] .a-footer .a-chip--footer {
  border-color: color-mix(in srgb, var(--design-a-paper) 45%, transparent);
  color: var(--design-a-paper); background: transparent;
}
[data-design="a"] .a-footer__copyright {
  max-width: 1320px; margin-inline: auto;
  font-family: var(--design-a-spec); font-size: 12px; letter-spacing: 0.06em;
  color: color-mix(in srgb, var(--design-a-paper) 60%, transparent);
  border-top: 1px solid color-mix(in srgb, var(--design-a-paper) 25%, transparent);
  padding-top: var(--a-cap);
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  [data-design="a"] .rf-tide__rule { animation: none; transform: scaleX(0.5); transform-origin: left center; }
  [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"] .a-hero::before { animation: none; }
  [data-design="a"] .a-hero__headline,
  [data-design="a"] .a-hero__subtitle { animation: none; transform: none; }
  [data-design="a"] .a-menu__item { animation: none; transform: none; }
  [data-design="a"] .a-menu__item::before { animation: none; opacity: 0.85; }
  [data-design="a"] .a-menu__rule { animation: none; }
  [data-design="a"] .a-pointer__wisp { animation: none; opacity: 0.6; }
  [data-design="a"] .a-mug__cup,
  [data-design="a"] .a-mug__lid { transition: none; }
  [data-design="a"] .a-reveal__result { animation: none; }
  [data-design="a"] .a-roster__num,
  [data-design="a"] .a-roster__name,
  [data-design="a"] .a-roster__dek { transition: none; opacity: 1; transform: none; }
  [data-design="a"] .a-roster__row.is-in .a-roster__name::before { animation: none; }
  [data-design="a"] .a-considered__lede { transition: none; max-width: 100%; }
  [data-design="a"] .a-considered__rule { animation: none; }
  [data-design="a"] .a-chip { transition: none; }
}

/* ---------- Mobile / overflow safety (bottom of file, .dq-design scoped) ---------- */
[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; }
@media (max-width: 560px) {
  [data-design="a"] .a-menu__list { grid-template-columns: 1fr; }
  [data-design="a"] .a-actions { flex-direction: column; align-items: stretch; }
  [data-design="a"] .a-footer__grid { flex-direction: column; }
}

/* 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; }
