/* ============================================================
   KIN CAFE — cafe.kinfood.in
   Lighter, airier sibling. Paper cream, olive accent.
   ============================================================ */
body[data-brand="cafe"] {
  --bg: #FBF7EF;
  --fg: #1A1714;
  --accent: #5E6B4F;
  --accent-ink: #FBF7EF;
  --line: rgba(26, 23, 20, .13);
  --muted: #7E766A;
}

/* ---------- Hero ---------- */
.c-hero {
  padding-top: calc(var(--header-h) + clamp(2rem, 7vw, 5rem));
  padding-bottom: clamp(2rem, 6vw, 4rem);
  display: grid; gap: clamp(2rem, 5vw, 3rem);
}
@media (min-width: 1000px) {
  .c-hero {
    grid-template-columns: 1.15fr .85fr;
    align-items: end;
    gap: clamp(2rem, 4vw, 4rem);
    min-height: 100svh;
    padding-bottom: clamp(2.5rem, 5vw, 4rem);
  }
}

.c-hero__type { display: grid; gap: clamp(1.5rem, 3vw, 2.25rem); align-content: end; }
.c-hero h1 {
  font-size: clamp(3.6rem, 13vw, 9.5rem);
  line-height: .84; letter-spacing: -.05em;
}
.c-hero h1 em { font-style: italic; font-variation-settings: "SOFT" 60, "WONK" 1; }

.c-hero__foot {
  display: grid; gap: 1.25rem;
  padding-top: 1.25rem; border-top: 1px solid var(--line);
}
@media (min-width: 640px) { .c-hero__foot { grid-template-columns: 1fr auto; align-items: center; } }

.c-hero__fig { position: relative; }
.c-hero__fig .mask { aspect-ratio: 4 / 5; border-radius: 3px; }
@media (min-width: 1000px) { .c-hero__fig .mask { aspect-ratio: 3 / 4; height: 74svh; } }

/* Floating hours chip */
.chip {
  position: absolute; left: clamp(.9rem, 2vw, 1.5rem); bottom: clamp(.9rem, 2vw, 1.5rem);
  z-index: 3;
  display: inline-flex; align-items: center; gap: .6rem;
  padding: .7rem 1.05rem; border-radius: 100px;
  background: color-mix(in oklab, var(--bg) 90%, transparent);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--line);
}
.chip i {
  width: 7px; height: 7px; border-radius: 50%; background: var(--accent);
  box-shadow: 0 0 0 0 color-mix(in oklab, var(--accent) 60%, transparent);
  animation: pulse 2.4s infinite;
}
@keyframes pulse {
  70%  { box-shadow: 0 0 0 9px transparent; }
  100% { box-shadow: 0 0 0 0 transparent; }
}

/* ---------- Statement ---------- */
.statement { max-width: 22ch; }
.statement-grid { display: grid; gap: clamp(2rem, 5vw, 4rem); }
@media (min-width: 900px) { .statement-grid { grid-template-columns: 1.1fr .9fr; align-items: start; } }
.statement-note { display: grid; gap: 1.5rem; align-content: start; }
@media (min-width: 900px) { .statement-note { padding-top: .5rem; } }

/* ---------- Menu ---------- */
.filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: clamp(1.75rem, 4vw, 2.5rem); }
.filters button {
  padding: .6rem 1.1rem; border-radius: 100px;
  border: 1px solid var(--line);
  font-family: var(--mono); font-size: var(--t-micro);
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--muted);
  transition: color .35s var(--ease), border-color .35s var(--ease), background-color .35s var(--ease);
  white-space: nowrap;
}
.filters button:hover { color: var(--fg); border-color: currentColor; }
.filters button.is-on { background: var(--fg); border-color: var(--fg); color: var(--bg); }

.menu-list { border-top: 1px solid var(--line); }
.menu-item {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: .35rem 1.25rem;
  padding-block: clamp(1.1rem, 2.4vw, 1.6rem);
  border-bottom: 1px solid var(--line);
  position: relative;
  transition: padding-left .5s var(--ease);
}
@media (min-width: 900px) {
  .menu-item { grid-template-columns: 1.6rem minmax(0,1fr) minmax(0,1.15fr) auto; align-items: baseline; }
  .menu-item:hover { padding-left: .6rem; }
}
.menu-item__n { display: none; }
@media (min-width: 900px) {
  .menu-item__n { display: block; font-family: var(--mono); font-size: var(--t-micro); opacity: .4; }
}
.menu-item h3 {
  font-family: var(--display); font-size: clamp(1.2rem, 2.4vw, 1.7rem);
  font-weight: 300; letter-spacing: -.03em; line-height: 1.1;
}
.menu-item p { color: var(--muted); font-size: .95rem; grid-column: 1 / -1; max-width: 52ch; }
@media (min-width: 900px) { .menu-item p { grid-column: 3; margin: 0; } }
.menu-item__price {
  font-family: var(--mono); font-size: .82rem; letter-spacing: .04em;
  white-space: nowrap; grid-row: 1; grid-column: 2;
}
@media (min-width: 900px) { .menu-item__price { grid-column: 4; } }
.menu-item__tag {
  display: inline-block; margin-left: .55rem; padding: .18rem .5rem;
  border: 1px solid var(--line); border-radius: 100px;
  font-family: var(--mono); font-size: .58rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--muted); vertical-align: middle;
}

/* ---------- Split feature ---------- */
.split { display: grid; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
@media (min-width: 900px) { .split { grid-template-columns: 1fr 1fr; } }
@media (min-width: 900px) { .split--rev > :first-child { order: 2; } }

/* ---------- Hours ---------- */
.hours { display: grid; gap: 0; border-top: 1px solid var(--line); }
.hours div {
  display: flex; justify-content: space-between; gap: 1rem;
  padding-block: .9rem; border-bottom: 1px solid var(--line);
}
.hours dt { font-size: 1rem; }
.hours dd { margin: 0; font-family: var(--mono); font-size: .82rem; letter-spacing: .04em; color: var(--muted); }
.hours div.is-today dd { color: var(--accent); }
.hours div.is-today dt { font-weight: 500; }

/* ---------- Floor diagram — "we are the floor above" ---------- */
.floors { display: grid; gap: .75rem; }
.floor {
  border: 1px solid var(--line); border-radius: 3px;
  padding: clamp(1.15rem, 3vw, 1.75rem);
  display: grid; gap: .35rem;
  transition: transform .5s var(--ease);
}
.floor b {
  font-family: var(--display); font-weight: 300;
  font-size: clamp(1.5rem, 3.4vw, 2.1rem);
  letter-spacing: -.03em; line-height: 1;
}
.floor--kin { background: var(--fg); color: var(--bg); border-color: var(--fg); }
.floor--kin .label { color: inherit; opacity: .6; }
.floors:hover .floor--kin { transform: translateY(-3px); }

.floor__link { display: flex; align-items: center; gap: .9rem; padding-left: .35rem; color: var(--muted); }
.stairs { display: flex; align-items: flex-end; gap: 3px; height: 24px; }
.stairs i { display: block; width: 9px; background: currentColor; opacity: .4; }
.stairs i:nth-child(1) { height: 25%; }
.stairs i:nth-child(2) { height: 50%; }
.stairs i:nth-child(3) { height: 75%; }
.stairs i:nth-child(4) { height: 100%; opacity: .75; }

/* ---------- Coming soon holding page ---------- */
.soon {
  min-height: 100svh;
  display: grid;
  align-content: space-between;
  gap: clamp(2.5rem, 7vw, 4rem);
  padding-block: clamp(1.75rem, 4vw, 2.75rem);
}
.soon__top { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.soon__mid { display: grid; gap: clamp(2rem, 5vw, 3.5rem); align-items: center; }
@media (min-width: 900px) {
  .soon__mid { grid-template-columns: 1.25fr .75fr; gap: clamp(2rem, 5vw, 5rem); }
}
.soon__type { display: grid; gap: 1.5rem; justify-items: start; }
.soon h1 { font-size: clamp(3rem, 11vw, 7rem); line-height: .86; letter-spacing: -.05em; }
.soon h1 em { font-style: italic; color: var(--accent); font-variation-settings: "SOFT" 60, "WONK" 1; }
.soon__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .5rem; }

.soon__seal { justify-self: center; color: var(--accent); }
@media (min-width: 900px) { .soon__seal { justify-self: end; } }
.soon .seal { width: clamp(180px, 40vw, 300px); }
.soon .seal__core { color: var(--fg); }

.soon__foot {
  display: flex; flex-wrap: wrap; gap: .75rem 2rem;
  padding-top: 1.25rem; border-top: 1px solid var(--line);
}
