:root {
  --color-bg: #FFF9E8;
  --color-bg-yellow: #F2DA9C;
  --color-bg-bright: #FBD44B;
  --color-bg-cream: #F5F3E0;
  --color-fg: #1C140B;
  --color-fg-soft: rgba(28, 20, 11, 0.66);
  --color-rust: #AE4931;
  --color-saddle: #8E3F2E;
  --color-rule: rgba(28, 20, 11, 0.18);
  --color-rule-strong: rgba(28, 20, 11, 0.32);
  --font-display: "Fraunces", "Cormorant Garamond", Georgia, serif;
  --font-body: "Plus Jakarta Sans", -apple-system, system-ui, sans-serif;
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2.5rem;
  --space-5: 4rem;
  --space-6: 6rem;
  --tracking-caps: 0.18em;
  --tracking-display: 0.005em;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; }

body {
  background: var(--color-bg);
  color: var(--color-fg);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: inherit; }

.smallcaps {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: var(--tracking-caps);
}

/* ---------- top bar ---------- */

.top-bar {
  background: var(--color-fg);
  color: var(--color-bg-yellow);
  padding: var(--space-1) var(--space-3);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-3);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 0.7rem;
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
}

.top-bar .sep {
  display: inline-block;
  width: 5px;
  height: 5px;
  background: var(--color-bg-bright);
  border-radius: 50%;
}

@media (max-width: 720px) {
  .top-bar { font-size: 0.6rem; padding: var(--space-1); gap: var(--space-2); }
  .top-bar .hide-sm { display: none; }
}

/* ---------- nav ---------- */

nav.primary {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: var(--space-3) var(--space-4);
  max-width: 1320px;
  margin: 0 auto;
}

nav.primary ul {
  list-style: none;
  display: flex;
  gap: var(--space-4);
  align-items: center;
}

nav.primary ul:last-child { justify-content: flex-end; }

nav.primary a {
  color: var(--color-fg);
  text-decoration: none;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  transition: color 200ms ease;
}

nav.primary a:hover { color: var(--color-rust); }
nav.primary a.active { color: var(--color-rust); }

.mm-mark {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: -0.01em;
  color: var(--color-fg);
  text-decoration: none;
  display: inline-flex;
  align-items: baseline;
  gap: 0.05em;
  line-height: 1;
}

.mm-mark .amp {
  color: var(--color-rust);
  font-size: 1.05em;
  font-weight: 600;
  margin: 0 0.04em;
}

.mm-mark:hover .amp { color: var(--color-saddle); }

@media (max-width: 720px) {
  nav.primary { grid-template-columns: auto 1fr auto; padding: var(--space-2); gap: var(--space-2); }
  nav.primary ul { gap: var(--space-2); }
  nav.primary ul.mid-nav { display: none; }
}

/* ---------- wave rule (Kitchen Stories signature) ---------- */

.wave-rule {
  display: block;
  width: 100%;
  max-width: 460px;
  height: 14px;
  margin: var(--space-5) auto;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 14' preserveAspectRatio='none'><path d='M0 7 Q 5 0 10 7 T 20 7 T 30 7 T 40 7 T 50 7 T 60 7 T 70 7 T 80 7 T 90 7 T 100 7' stroke='%231C140B' stroke-width='1.4' fill='none' stroke-linecap='round' opacity='0.45'/></svg>");
  background-repeat: repeat-x;
  background-size: 100px 14px;
  background-position: center;
}

.wave-rule.tight { margin: var(--space-3) auto; }
.wave-rule.on-yellow {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 14' preserveAspectRatio='none'><path d='M0 7 Q 5 0 10 7 T 20 7 T 30 7 T 40 7 T 50 7 T 60 7 T 70 7 T 80 7 T 90 7 T 100 7' stroke='%231C140B' stroke-width='1.4' fill='none' stroke-linecap='round' opacity='0.55'/></svg>");
}

/* ---------- shared CTA buttons ---------- */

.btn-rust {
  background: var(--color-rust);
  color: var(--color-bg);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.95rem 1.6rem;
  border: none;
  border-radius: 999px;
  display: inline-block;
  transition: background 200ms ease, transform 200ms ease;
  cursor: pointer;
}

.btn-rust:hover {
  background: var(--color-saddle);
  transform: translateY(-1px);
}

.btn-outline {
  background: transparent;
  color: var(--color-fg);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.9rem 1.6rem;
  border: 1.5px solid var(--color-fg);
  border-radius: 999px;
  display: inline-block;
  transition: background 200ms ease, color 200ms ease;
}

.btn-outline:hover {
  background: var(--color-fg);
  color: var(--color-bg-yellow);
}

/* ---------- footer ---------- */

footer.site {
  background: var(--color-bg-cream);
  color: var(--color-fg);
  padding: var(--space-6) var(--space-4) var(--space-4);
  border-top: 1px solid var(--color-rule);
}

footer.site .inner {
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap: var(--space-5);
  align-items: start;
}

footer.site .brand-block .wordmark-footer {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 700;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  letter-spacing: var(--tracking-display);
  color: var(--color-fg);
  line-height: 1;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.18em;
}

footer.site .brand-block .wordmark-footer .amp {
  color: var(--color-rust);
  font-size: 1.15em;
  font-weight: 600;
  margin: 0 0.05em;
}

footer.site .brand-block .strap {
  margin-top: var(--space-2);
  font-family: var(--font-body);
  font-size: 0.92rem;
  color: var(--color-fg-soft);
  line-height: 1.7;
  max-width: 36ch;
}

footer.site .col h3 {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  color: var(--color-rust);
  margin-bottom: var(--space-2);
}

footer.site .col ul { list-style: none; display: flex; flex-direction: column; gap: 0.4rem; }

footer.site .col li {
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: var(--color-fg);
}

footer.site .col a { color: inherit; text-decoration: none; }
footer.site .col a:hover { color: var(--color-rust); }

footer.site .legal {
  max-width: 1240px;
  margin: var(--space-5) auto 0;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-rule);
  font-family: var(--font-body);
  font-size: 0.7rem;
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  color: var(--color-fg-soft);
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  flex-wrap: wrap;
}

@media (max-width: 720px) {
  footer.site .inner { grid-template-columns: 1fr; gap: var(--space-4); }
  footer.site { padding: var(--space-5) var(--space-3) var(--space-3); }
}

/* ---------- card primitives ---------- */

.card {
  background: var(--color-bg-cream);
  border-radius: 14px;
  padding: var(--space-3) var(--space-3);
  border: 1px solid var(--color-rule);
}

.card-yellow {
  background: var(--color-bg-bright);
  border-radius: 14px;
  padding: var(--space-3) var(--space-3);
  color: var(--color-fg);
}

.card h4 {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 600;
  font-size: 1.25rem;
  letter-spacing: var(--tracking-display);
  color: var(--color-fg);
  margin-bottom: var(--space-2);
  line-height: 1.15;
}

.card p {
  font-family: var(--font-body);
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--color-fg);
}
