/* Cedar & Fork Neighborhood Eatery — theme.css
   Neighborhood restaurant: cream ground, deep cedar green, gold accent,
   warm serif display + friendly grotesque body, hairline-bordered cards. */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400;1,9..144,500&family=Karla:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');

/* ---------- Tokens ---------- */

:root {
  /* Two-part lockup (SPEC.md): part 1 sits over part 2.
     --brand-name stays defined as the single-string full name. */
  --brand-name: "Cedar & Fork Neighborhood Eatery";
  --brand-name-1: "Cedar & Fork";
  --brand-name-2: "Neighborhood Eatery";

  --color-bg: #f5f0e2;
  --color-surface: #fdfaf1;
  --color-surface-alt: #ece4d0;
  --color-ink: #27302a;
  --color-ink-muted: #6f6a58;
  --color-brand: #2e4634;
  --color-brand-deep: #223528;
  --color-on-brand: #f5f0e2;
  --color-accent: #b8892f;
  --color-border: #ddd2b9;
  --color-link: #2e4634;

  --font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --font-body: "Karla", "Helvetica Neue", Arial, sans-serif;
  --font-accent: "Fraunces", Georgia, serif;

  --radius-sm: 3px;
  --radius-md: 5px;
  --radius-lg: 10px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 3px rgba(39, 48, 42, 0.08);
  --shadow-md: 0 10px 28px rgba(39, 48, 42, 0.12);

  --container-max: 1120px;
  --section-pad: 5rem;
}

/* ---------- Base ---------- */

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.65;
  color: var(--color-ink);
  background: var(--color-bg);
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: 500;
  line-height: 1.18;
  color: var(--color-ink);
  margin: 0 0 0.55em;
}

p { margin: 0 0 1em; }

a { color: var(--color-link); }

img { max-width: 100%; }

:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

.container {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

/* ---------- Sections ---------- */

.section { padding-block: var(--section-pad); }

.section-alt { background: var(--color-surface-alt); }

.section-head { max-width: 46rem; margin-bottom: 2.5rem; }

.eyebrow {
  display: block;
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: 0.7rem;
}

.section-title {
  font-size: clamp(1.75rem, 3.4vw, 2.5rem);
  margin-bottom: 0.4em;
}

.section-sub {
  color: var(--color-ink-muted);
  font-size: 1.05rem;
  margin: 0;
}

/* ---------- Brand ---------- */

.brand {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  color: inherit;
}

.brand-name {
  display: block;
  /* both lines inherit these; each part then overrides its own scale */
  color: var(--color-ink);
  text-transform: uppercase;
  white-space: nowrap;
}

.brand-name::before {
  content: var(--brand-name-1);
  display: block;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.42rem;
  letter-spacing: 0.045em;
  line-height: 1.05;
}

.brand-name::after {
  content: var(--brand-name-2);
  display: block;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.6rem;
  letter-spacing: 0.2em;
  line-height: 1.5;
  color: var(--color-ink-muted);
}

/* Crossed fork + wheat sprig mark, traced from the source design. Carried as
   an inline data-URI mask so it inherits the surrounding ink color (dark on
   the header, cream on the footer) without a second asset. */
.brand-mark {
  width: 38px;
  height: 38px;
  flex: none;
  display: inline-block;
  background-color: var(--color-brand);
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201104%201008%22%3E%3Cg%20transform%3D%22translate%280.000000%2C1008.000000%29%20scale%280.100000%2C-0.100000%29%22%20fill%3D%22%23000%22%3E%3Cpath%20d%3D%22M1875%209138%20c-72%20-39%20-74%20-153%20-5%20-288%2024%20-47%2051%20-75%20329%20-340%20373%0A-355%20392%20-379%20469%20-586%2056%20-152%2099%20-184%20253%20-184%2060%200%2079%204%2096%2019%2028%2026%2036%2092%0A23%20193%20-15%20124%20-35%20192%20-85%20295%20-38%2077%20-57%20103%20-124%20165%20-71%2066%20-120%2099%20-300%0A202%20-65%2038%20-259%20244%20-333%20354%20-73%20110%20-114%20150%20-172%20167%20-58%2018%20-123%2019%20-151%0A3z%22%2F%3E%3Cpath%20d%3D%22M8855%209096%20c-80%20-25%20-94%20-37%20-437%20-351%20-152%20-140%20-237%20-213%20-479%0A-411%20-183%20-150%20-274%20-229%20-364%20-315%20-49%20-47%20-117%20-107%20-150%20-134%20-189%20-150%0A-569%20-548%20-670%20-701%20-47%20-71%20-109%20-205%20-147%20-319%20-52%20-154%20-39%20-333%2038%20-540%0A35%20-92%2038%20-108%2038%20-210%201%20-134%20-2%20-141%20-146%20-328%20-132%20-171%20-239%20-288%20-595%0A-647%20-161%20-162%20-319%20-329%20-351%20-370%20-31%20-41%20-79%20-97%20-106%20-124%20-48%20-48%20-49%0A-48%20-102%20-44%20-65%206%20-78%2016%20-150%20126%20-73%20110%20-152%20187%20-337%20325%20-208%20156%20-329%0A266%20-466%20426%20-64%2074%20-170%20192%20-237%20261%20-132%20137%20-160%20176%20-170%20236%20-9%2061%2010%0A114%2087%20228%2092%20139%20105%20179%20125%20397%2018%20205%2012%20286%20-31%20417%20-44%20130%20-98%20214%0A-230%20352%20-106%20110%20-128%20139%20-174%20230%20-127%20247%20-195%20320%20-301%20320%20-56%200%20-106%0A-28%20-197%20-110%20-43%20-39%20-106%20-85%20-139%20-102%20-34%20-18%20-67%20-41%20-74%20-51%20-6%20-11%20-16%0A-65%20-21%20-120%20-15%20-160%20-41%20-199%20-159%20-245%20-107%20-42%20-208%20-54%20-229%20-28%20-7%208%0A-18%2054%20-26%20103%20-29%20197%20-45%20224%20-185%20317%20-74%2048%20-128%20108%20-221%20246%20-40%2058%0A-114%20145%20-194%20226%20-181%20182%20-461%20444%20-517%20482%20-67%2046%20-188%20102%20-220%20102%20-74%200%0A-112%20-104%20-69%20-192%2042%20-86%20124%20-178%20350%20-394%20127%20-122%20262%20-256%20300%20-300%2037%0A-44%20109%20-110%20160%20-147%2098%20-73%20126%20-111%20161%20-213%2030%20-87%2047%20-115%2099%20-157%2060%0A-49%20149%20-91%20235%20-110%2038%20-9%2074%20-21%2080%20-27%2014%20-14%2012%20-116%20-4%20-174%20-17%20-61%20-49%0A-91%20-147%20-138%20-92%20-44%20-111%20-63%20-179%20-178%20-72%20-121%20-119%20-134%20-268%20-74%20-99%2040%0A-175%2093%20-246%20174%20-138%20156%20-164%20181%20-217%20206%20-44%2022%20-63%2026%20-110%2022%20-73%20-6%0A-93%20-29%20-93%20-102%200%20-119%2045%20-200%20162%20-292%2077%20-61%20164%20-142%20337%20-315%2077%20-77%0A128%20-118%20185%20-150%2043%20-24%2088%20-56%2099%20-70%2019%20-26%2019%20-30%203%20-106%20-29%20-144%20-15%0A-222%2050%20-287%2054%20-53%20129%20-79%20339%20-116%2039%20-7%20144%20-37%20235%20-67%20138%20-47%20180%20-57%0A256%20-61%20142%20-7%20188%2014%20280%20129%2064%2081%2095%2099%20164%2099%20101%200%20175%20-55%20333%20-245%2055%0A-66%20143%20-163%20196%20-215%2053%20-52%20137%20-141%20186%20-198%2091%20-105%20164%20-174%20320%20-305%2050%0A-41%20124%20-109%20165%20-152%2041%20-42%20118%20-112%20171%20-155%20104%20-85%20134%20-128%20133%20-195%20-1%0A-82%20-37%20-122%20-214%20-243%20-69%20-46%20-143%20-97%20-165%20-112%20-87%20-60%20-268%20-97%20-347%20-71%0A-19%206%20-65%2041%20-104%2077%20-117%20111%20-182%20126%20-322%2077%20-111%20-38%20-177%20-37%20-276%205%0A-112%2048%20-153%2043%20-374%20-41%20-168%20-64%20-271%20-111%20-322%20-147%20-14%20-9%20-68%20-37%20-120%0A-62%20-129%20-61%20-166%20-91%20-247%20-197%20-44%20-57%20-98%20-113%20-144%20-149%20-98%20-75%20-127%0A-109%20-188%20-217%20-29%20-49%20-77%20-119%20-107%20-155%20-78%20-91%20-108%20-146%20-155%20-288%20-28%0A-85%20-55%20-142%20-84%20-185%20-24%20-34%20-60%20-84%20-79%20-112%20-81%20-116%20-85%20-286%20-9%20-396%2010%0A-14%2050%20-53%2088%20-87%2039%20-33%2093%20-81%20120%20-106%2061%20-55%2099%20-65%20161%20-41%2089%2034%20204%0A181%20204%20261%200%2034%20-18%2046%20-88%2058%20-107%2018%20-152%2069%20-152%20168%200%2067%2018%20106%20150%20323%0A57%2094%20121%20208%20143%20255%2089%20193%20158%20327%20181%20352%2024%2025%2063%2041%20169%2068%2086%2023%20132%0A61%20203%20170%2081%20125%20129%20173%20202%20200%20108%2041%20200%2017%20219%20-57%2019%20-79%20-27%20-158%0A-155%20-265%20-151%20-126%20-224%20-205%20-287%20-313%20-41%20-69%20-88%20-131%20-154%20-200%20-53%20-55%0A-109%20-125%20-125%20-155%20-16%20-30%20-55%20-93%20-87%20-140%20-82%20-122%20-121%20-211%20-149%20-337%0A-14%20-61%20-1%20-73%2069%20-62%2085%2013%20114%2035%20233%20174%2042%2050%20111%20124%20153%20165%2047%2046%2096%0A107%20127%20160%2062%20103%2082%20125%20179%20201%2049%2038%20109%20100%20170%20176%2052%2065%20141%20172%20199%0A237%2058%2066%20152%20178%20210%20250%20127%20157%20171%20186%20284%20194%2094%206%20130%20-11%20158%20-75%2030%0A-67%2020%20-132%20-36%20-246%20-48%20-99%20-73%20-129%20-179%20-215%20-37%20-30%20-118%20-113%20-180%20-186%0A-63%20-72%20-161%20-180%20-218%20-241%20-58%20-60%20-143%20-155%20-189%20-210%20-46%20-55%20-127%20-147%0A-180%20-205%20-53%20-58%20-119%20-135%20-148%20-171%20-28%20-36%20-73%20-84%20-99%20-105%20-78%20-64%20-514%0A-503%20-575%20-581%20-33%20-41%20-119%20-123%20-200%20-191%20-220%20-183%20-257%20-234%20-258%20-345%200%0A-70%2025%20-124%2070%20-151%2047%20-27%20125%20-24%20186%207%2070%2036%20180%20141%20263%20251%2054%2072%2094%20111%0A163%20162%20105%2079%20142%20125%20234%20294%2045%2083%2086%20142%20119%20175%20109%20108%20261%20243%20344%20305%0A89%2067%20182%20178%20318%20380%2073%20108%20135%20169%20251%20247%20103%2070%20161%2091%20200%2073%2024%20-11%2025%0A-13%2020%20-104%20-5%20-101%20-28%20-164%20-92%20-261%20-19%20-27%20-56%20-88%20-82%20-134%20-54%20-91%20-95%0A-132%20-272%20-266%20-83%20-63%20-127%20-105%20-195%20-190%20-137%20-173%20-304%20-334%20-434%20-421%0A-61%20-41%20-119%20-87%20-129%20-102%20-10%20-15%20-20%20-51%20-22%20-79%20-4%20-50%20-3%20-55%2035%20-92%2030%0A-30%2050%20-41%2085%20-46%2081%20-12%20107%203%20272%20169%2084%2083%20167%20170%20185%20194%2019%2024%2075%2076%0A126%20117%2051%2041%20107%2092%20125%20113%2017%2022%2062%2064%2098%2093%2037%2029%20105%2086%20152%20125%2047%2039%0A159%20119%20250%20179%20188%20122%20215%20145%20241%20200%2031%2066%2025%20111%20-35%20261%20-64%20157%20-95%0A210%20-167%20279%20l-52%2049%206%2083%20c9%20147%2072%20232%20185%20249%2066%2010%2090%20-7%20135%20-96%2051%20-104%0A75%20-205%2087%20-382%2011%20-157%2025%20-209%2058%20-227%2081%20-44%20227%2042%20268%20156%2021%2061%2017%20155%0A-11%20236%20-55%20161%20-79%20285%20-79%20412%20-1%20160%2011%20187%20128%20284%2056%2047%20118%20113%20177%20189%0A98%20127%20151%20176%20208%20192%2050%2014%2070%2012%20116%20-9%2054%20-25%2073%20-49%20133%20-165%2028%20-54%2085%0A-149%20127%20-211%2041%20-62%20106%20-173%20144%20-247%2082%20-159%2092%20-210%2065%20-328%20-30%20-132%20-30%0A-217%200%20-320%2029%20-103%2092%20-233%20135%20-283%2016%20-18%2065%20-59%20108%20-91%2043%20-32%2094%20-79%0A113%20-104%2057%20-76%20113%20-124%20191%20-166%2041%20-21%2092%20-53%20114%20-71%2022%20-17%2069%20-51%20105%0A-75%2095%20-65%20113%20-82%20220%20-225%20195%20-259%20259%20-323%20353%20-350%2059%20-16%20113%20-9%20156%2023%0A14%2010%2049%2052%2077%2093%2055%2081%2084%20102%20129%2093%2067%20-13%20283%20-168%20356%20-254%2023%20-27%2076%0A-75%20118%20-106%2042%20-31%20123%20-105%20181%20-165%2096%20-99%20110%20-109%20164%20-125%20117%20-33%20212%0A-1%20318%20108%2089%2091%20128%20169%20128%20255%200%20111%20-41%20180%20-168%20280%20-184%20144%20-220%20191%0A-229%20293%20-6%2061%202%2083%2070%20194%2059%2095%2063%20204%2011%20279%20-16%2022%20-63%2069%20-104%20105%20-228%0A195%20-237%20207%20-268%20363%20-14%2073%20-14%2092%201%20232%2023%20206%2022%20271%20-3%20313%20-23%2036%20-62%0A50%20-102%2035%20-14%20-5%20-59%20-41%20-100%20-79%20-87%20-81%20-131%20-100%20-189%20-83%20-46%2014%20-75%2056%0A-91%20135%20-15%2077%207%20167%2062%20248%2022%2033%2040%2069%2040%2080%200%2030%20-52%2075%20-101%2088%20-24%207%20-83%0A12%20-131%2012%20-49%201%20-94%206%20-101%2012%20-8%206%20-19%2031%20-26%2056%20-16%2053%20-47%2084%20-76%2075%20-112%0A-35%20-139%20-39%20-247%20-39%20-152%20-1%20-149%20-5%20-142%20164%205%20117%204%20128%20-18%20170%20-40%2078%0A-135%20101%20-230%2057%20-66%20-29%20-92%20-64%20-124%20-160%20-41%20-123%20-55%20-137%20-139%20-137%20-80%0A0%20-145%2033%20-243%20124%20-96%2088%20-119%2099%20-232%20111%20-173%2019%20-251%20100%20-237%20244%207%2066%0A47%20129%20120%20186%2028%2022%20220%20209%20428%20415%20595%20592%20750%20734%20854%20781%2027%2012%2064%2019%0A110%2019%2071%200%20105%20-10%20305%20-86%2069%20-26%2086%20-28%20210%20-28%20105%20-1%20171%206%20293%2028%20229%0A40%20307%2065%20488%20156%20237%20120%20604%20448%20802%20719%2042%2058%20120%20165%20172%20236%20198%20270%20410%0A528%20574%20700%20134%20139%20174%20212%20175%20320%201%20118%20-41%20160%20-159%20160%20-129%20-1%20-200%20-50%0A-322%20-222%20-73%20-102%20-99%20-129%20-324%20-338%20-101%20-93%20-226%20-213%20-279%20-266%20-52%20-54%0A-124%20-122%20-160%20-152%20-36%20-30%20-92%20-80%20-125%20-112%20-107%20-103%20-185%20-145%20-271%20-145%0A-49%200%20-90%2029%20-139%20100%20-34%2050%20-85%2080%20-185%20112%20-130%2040%20-190%20123%20-176%20242%207%2065%0A44%20124%20103%20165%2026%2019%2063%2048%2082%2065%2029%2027%20320%20374%20346%20413%206%208%2078%2075%20162%20149%0A178%20158%20388%20374%20443%20456%2077%20116%2075%20229%20-4%20243%20-50%2010%20-106%20-19%20-218%20-113%20-101%0A-85%20-260%20-265%20-404%20-457%20-87%20-116%20-278%20-311%20-381%20-389%20-34%20-25%20-96%20-84%20-138%0A-130%20-78%20-86%20-111%20-106%20-171%20-106%20-75%200%20-112%2045%20-100%20123%208%2050%2064%20168%20103%20218%0A141%20181%20227%20275%20497%20542%20185%20184%20341%20330%20386%20361%20130%2092%20210%20198%20240%20318%2029%0A116%20-85%20188%20-225%20144z%20m-5305%20-1666%20c83%20-42%20106%20-109%2094%20-274%20-15%20-202%20-10%0A-250%2027%20-320%2082%20-154%2091%20-175%2096%20-235%207%20-78%20-18%20-175%20-57%20-223%20-53%20-64%20-142%0A-71%20-226%20-19%20-44%2027%20-73%2068%20-141%20201%20-33%2063%20-78%20147%20-101%20185%20-67%20112%20-74%20192%0A-35%20400%208%2044%2025%20103%2037%20130%2025%2055%2095%20128%20147%20156%2045%2024%20111%2024%20159%20-1z%20m-797%0A-1053%20c286%20-170%20355%20-229%20383%20-323%2039%20-137%20-45%20-223%20-208%20-211%20-67%204%20-87%2012%0A-258%2097%20-308%20154%20-370%20196%20-370%20250%200%2058%2047%20147%2090%20170%2027%2014%20182%2038%20260%2039%0A51%200%2073%20-4%20103%20-22z%20m4087%20-2788%20c0%20-23%20-27%20-36%20-42%20-21%20-15%2015%20-4%2037%2021%2039%0A15%201%2021%20-4%2021%20-18z%22%2F%3E%3Cpath%20d%3D%22M875%208153%20c-33%20-8%20-65%20-44%20-76%20-85%20-31%20-119%20117%20-323%20311%20-429%2045%0A-24%20118%20-66%20163%20-93%2045%20-26%20130%20-74%20188%20-106%20130%20-71%20327%20-216%20435%20-321%2090%0A-87%20130%20-109%20199%20-109%2091%200%20135%2047%20135%20142%200%20127%20-39%20181%20-162%20223%20-127%2043%0A-175%2071%20-257%20149%20-72%2068%20-320%20273%20-441%20364%20-30%2023%20-100%2077%20-155%20121%20-55%2044%0A-127%2094%20-160%20110%20-59%2030%20-140%2045%20-180%2034z%22%2F%3E%3Cpath%20d%3D%22M9563%208129%20c-40%20-16%20-69%20-38%20-125%20-99%20-40%20-43%20-113%20-112%20-163%20-154%0A-129%20-108%20-345%20-322%20-461%20-457%20-199%20-234%20-251%20-389%20-128%20-389%2062%200%20262%20169%0A565%20476%20118%20120%20266%20269%20328%20329%20130%20128%20161%20169%20168%20224%2011%2083%20-69%20114%20-184%0A70z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201104%201008%22%3E%3Cg%20transform%3D%22translate%280.000000%2C1008.000000%29%20scale%280.100000%2C-0.100000%29%22%20fill%3D%22%23000%22%3E%3Cpath%20d%3D%22M1875%209138%20c-72%20-39%20-74%20-153%20-5%20-288%2024%20-47%2051%20-75%20329%20-340%20373%0A-355%20392%20-379%20469%20-586%2056%20-152%2099%20-184%20253%20-184%2060%200%2079%204%2096%2019%2028%2026%2036%2092%0A23%20193%20-15%20124%20-35%20192%20-85%20295%20-38%2077%20-57%20103%20-124%20165%20-71%2066%20-120%2099%20-300%0A202%20-65%2038%20-259%20244%20-333%20354%20-73%20110%20-114%20150%20-172%20167%20-58%2018%20-123%2019%20-151%0A3z%22%2F%3E%3Cpath%20d%3D%22M8855%209096%20c-80%20-25%20-94%20-37%20-437%20-351%20-152%20-140%20-237%20-213%20-479%0A-411%20-183%20-150%20-274%20-229%20-364%20-315%20-49%20-47%20-117%20-107%20-150%20-134%20-189%20-150%0A-569%20-548%20-670%20-701%20-47%20-71%20-109%20-205%20-147%20-319%20-52%20-154%20-39%20-333%2038%20-540%0A35%20-92%2038%20-108%2038%20-210%201%20-134%20-2%20-141%20-146%20-328%20-132%20-171%20-239%20-288%20-595%0A-647%20-161%20-162%20-319%20-329%20-351%20-370%20-31%20-41%20-79%20-97%20-106%20-124%20-48%20-48%20-49%0A-48%20-102%20-44%20-65%206%20-78%2016%20-150%20126%20-73%20110%20-152%20187%20-337%20325%20-208%20156%20-329%0A266%20-466%20426%20-64%2074%20-170%20192%20-237%20261%20-132%20137%20-160%20176%20-170%20236%20-9%2061%2010%0A114%2087%20228%2092%20139%20105%20179%20125%20397%2018%20205%2012%20286%20-31%20417%20-44%20130%20-98%20214%0A-230%20352%20-106%20110%20-128%20139%20-174%20230%20-127%20247%20-195%20320%20-301%20320%20-56%200%20-106%0A-28%20-197%20-110%20-43%20-39%20-106%20-85%20-139%20-102%20-34%20-18%20-67%20-41%20-74%20-51%20-6%20-11%20-16%0A-65%20-21%20-120%20-15%20-160%20-41%20-199%20-159%20-245%20-107%20-42%20-208%20-54%20-229%20-28%20-7%208%0A-18%2054%20-26%20103%20-29%20197%20-45%20224%20-185%20317%20-74%2048%20-128%20108%20-221%20246%20-40%2058%0A-114%20145%20-194%20226%20-181%20182%20-461%20444%20-517%20482%20-67%2046%20-188%20102%20-220%20102%20-74%200%0A-112%20-104%20-69%20-192%2042%20-86%20124%20-178%20350%20-394%20127%20-122%20262%20-256%20300%20-300%2037%0A-44%20109%20-110%20160%20-147%2098%20-73%20126%20-111%20161%20-213%2030%20-87%2047%20-115%2099%20-157%2060%0A-49%20149%20-91%20235%20-110%2038%20-9%2074%20-21%2080%20-27%2014%20-14%2012%20-116%20-4%20-174%20-17%20-61%20-49%0A-91%20-147%20-138%20-92%20-44%20-111%20-63%20-179%20-178%20-72%20-121%20-119%20-134%20-268%20-74%20-99%2040%0A-175%2093%20-246%20174%20-138%20156%20-164%20181%20-217%20206%20-44%2022%20-63%2026%20-110%2022%20-73%20-6%0A-93%20-29%20-93%20-102%200%20-119%2045%20-200%20162%20-292%2077%20-61%20164%20-142%20337%20-315%2077%20-77%0A128%20-118%20185%20-150%2043%20-24%2088%20-56%2099%20-70%2019%20-26%2019%20-30%203%20-106%20-29%20-144%20-15%0A-222%2050%20-287%2054%20-53%20129%20-79%20339%20-116%2039%20-7%20144%20-37%20235%20-67%20138%20-47%20180%20-57%0A256%20-61%20142%20-7%20188%2014%20280%20129%2064%2081%2095%2099%20164%2099%20101%200%20175%20-55%20333%20-245%2055%0A-66%20143%20-163%20196%20-215%2053%20-52%20137%20-141%20186%20-198%2091%20-105%20164%20-174%20320%20-305%2050%0A-41%20124%20-109%20165%20-152%2041%20-42%20118%20-112%20171%20-155%20104%20-85%20134%20-128%20133%20-195%20-1%0A-82%20-37%20-122%20-214%20-243%20-69%20-46%20-143%20-97%20-165%20-112%20-87%20-60%20-268%20-97%20-347%20-71%0A-19%206%20-65%2041%20-104%2077%20-117%20111%20-182%20126%20-322%2077%20-111%20-38%20-177%20-37%20-276%205%0A-112%2048%20-153%2043%20-374%20-41%20-168%20-64%20-271%20-111%20-322%20-147%20-14%20-9%20-68%20-37%20-120%0A-62%20-129%20-61%20-166%20-91%20-247%20-197%20-44%20-57%20-98%20-113%20-144%20-149%20-98%20-75%20-127%0A-109%20-188%20-217%20-29%20-49%20-77%20-119%20-107%20-155%20-78%20-91%20-108%20-146%20-155%20-288%20-28%0A-85%20-55%20-142%20-84%20-185%20-24%20-34%20-60%20-84%20-79%20-112%20-81%20-116%20-85%20-286%20-9%20-396%2010%0A-14%2050%20-53%2088%20-87%2039%20-33%2093%20-81%20120%20-106%2061%20-55%2099%20-65%20161%20-41%2089%2034%20204%0A181%20204%20261%200%2034%20-18%2046%20-88%2058%20-107%2018%20-152%2069%20-152%20168%200%2067%2018%20106%20150%20323%0A57%2094%20121%20208%20143%20255%2089%20193%20158%20327%20181%20352%2024%2025%2063%2041%20169%2068%2086%2023%20132%0A61%20203%20170%2081%20125%20129%20173%20202%20200%20108%2041%20200%2017%20219%20-57%2019%20-79%20-27%20-158%0A-155%20-265%20-151%20-126%20-224%20-205%20-287%20-313%20-41%20-69%20-88%20-131%20-154%20-200%20-53%20-55%0A-109%20-125%20-125%20-155%20-16%20-30%20-55%20-93%20-87%20-140%20-82%20-122%20-121%20-211%20-149%20-337%0A-14%20-61%20-1%20-73%2069%20-62%2085%2013%20114%2035%20233%20174%2042%2050%20111%20124%20153%20165%2047%2046%2096%0A107%20127%20160%2062%20103%2082%20125%20179%20201%2049%2038%20109%20100%20170%20176%2052%2065%20141%20172%20199%0A237%2058%2066%20152%20178%20210%20250%20127%20157%20171%20186%20284%20194%2094%206%20130%20-11%20158%20-75%2030%0A-67%2020%20-132%20-36%20-246%20-48%20-99%20-73%20-129%20-179%20-215%20-37%20-30%20-118%20-113%20-180%20-186%0A-63%20-72%20-161%20-180%20-218%20-241%20-58%20-60%20-143%20-155%20-189%20-210%20-46%20-55%20-127%20-147%0A-180%20-205%20-53%20-58%20-119%20-135%20-148%20-171%20-28%20-36%20-73%20-84%20-99%20-105%20-78%20-64%20-514%0A-503%20-575%20-581%20-33%20-41%20-119%20-123%20-200%20-191%20-220%20-183%20-257%20-234%20-258%20-345%200%0A-70%2025%20-124%2070%20-151%2047%20-27%20125%20-24%20186%207%2070%2036%20180%20141%20263%20251%2054%2072%2094%20111%0A163%20162%20105%2079%20142%20125%20234%20294%2045%2083%2086%20142%20119%20175%20109%20108%20261%20243%20344%20305%0A89%2067%20182%20178%20318%20380%2073%20108%20135%20169%20251%20247%20103%2070%20161%2091%20200%2073%2024%20-11%2025%0A-13%2020%20-104%20-5%20-101%20-28%20-164%20-92%20-261%20-19%20-27%20-56%20-88%20-82%20-134%20-54%20-91%20-95%0A-132%20-272%20-266%20-83%20-63%20-127%20-105%20-195%20-190%20-137%20-173%20-304%20-334%20-434%20-421%0A-61%20-41%20-119%20-87%20-129%20-102%20-10%20-15%20-20%20-51%20-22%20-79%20-4%20-50%20-3%20-55%2035%20-92%2030%0A-30%2050%20-41%2085%20-46%2081%20-12%20107%203%20272%20169%2084%2083%20167%20170%20185%20194%2019%2024%2075%2076%0A126%20117%2051%2041%20107%2092%20125%20113%2017%2022%2062%2064%2098%2093%2037%2029%20105%2086%20152%20125%2047%2039%0A159%20119%20250%20179%20188%20122%20215%20145%20241%20200%2031%2066%2025%20111%20-35%20261%20-64%20157%20-95%0A210%20-167%20279%20l-52%2049%206%2083%20c9%20147%2072%20232%20185%20249%2066%2010%2090%20-7%20135%20-96%2051%20-104%0A75%20-205%2087%20-382%2011%20-157%2025%20-209%2058%20-227%2081%20-44%20227%2042%20268%20156%2021%2061%2017%20155%0A-11%20236%20-55%20161%20-79%20285%20-79%20412%20-1%20160%2011%20187%20128%20284%2056%2047%20118%20113%20177%20189%0A98%20127%20151%20176%20208%20192%2050%2014%2070%2012%20116%20-9%2054%20-25%2073%20-49%20133%20-165%2028%20-54%2085%0A-149%20127%20-211%2041%20-62%20106%20-173%20144%20-247%2082%20-159%2092%20-210%2065%20-328%20-30%20-132%20-30%0A-217%200%20-320%2029%20-103%2092%20-233%20135%20-283%2016%20-18%2065%20-59%20108%20-91%2043%20-32%2094%20-79%0A113%20-104%2057%20-76%20113%20-124%20191%20-166%2041%20-21%2092%20-53%20114%20-71%2022%20-17%2069%20-51%20105%0A-75%2095%20-65%20113%20-82%20220%20-225%20195%20-259%20259%20-323%20353%20-350%2059%20-16%20113%20-9%20156%2023%0A14%2010%2049%2052%2077%2093%2055%2081%2084%20102%20129%2093%2067%20-13%20283%20-168%20356%20-254%2023%20-27%2076%0A-75%20118%20-106%2042%20-31%20123%20-105%20181%20-165%2096%20-99%20110%20-109%20164%20-125%20117%20-33%20212%0A-1%20318%20108%2089%2091%20128%20169%20128%20255%200%20111%20-41%20180%20-168%20280%20-184%20144%20-220%20191%0A-229%20293%20-6%2061%202%2083%2070%20194%2059%2095%2063%20204%2011%20279%20-16%2022%20-63%2069%20-104%20105%20-228%0A195%20-237%20207%20-268%20363%20-14%2073%20-14%2092%201%20232%2023%20206%2022%20271%20-3%20313%20-23%2036%20-62%0A50%20-102%2035%20-14%20-5%20-59%20-41%20-100%20-79%20-87%20-81%20-131%20-100%20-189%20-83%20-46%2014%20-75%2056%0A-91%20135%20-15%2077%207%20167%2062%20248%2022%2033%2040%2069%2040%2080%200%2030%20-52%2075%20-101%2088%20-24%207%20-83%0A12%20-131%2012%20-49%201%20-94%206%20-101%2012%20-8%206%20-19%2031%20-26%2056%20-16%2053%20-47%2084%20-76%2075%20-112%0A-35%20-139%20-39%20-247%20-39%20-152%20-1%20-149%20-5%20-142%20164%205%20117%204%20128%20-18%20170%20-40%2078%0A-135%20101%20-230%2057%20-66%20-29%20-92%20-64%20-124%20-160%20-41%20-123%20-55%20-137%20-139%20-137%20-80%0A0%20-145%2033%20-243%20124%20-96%2088%20-119%2099%20-232%20111%20-173%2019%20-251%20100%20-237%20244%207%2066%0A47%20129%20120%20186%2028%2022%20220%20209%20428%20415%20595%20592%20750%20734%20854%20781%2027%2012%2064%2019%0A110%2019%2071%200%20105%20-10%20305%20-86%2069%20-26%2086%20-28%20210%20-28%20105%20-1%20171%206%20293%2028%20229%0A40%20307%2065%20488%20156%20237%20120%20604%20448%20802%20719%2042%2058%20120%20165%20172%20236%20198%20270%20410%0A528%20574%20700%20134%20139%20174%20212%20175%20320%201%20118%20-41%20160%20-159%20160%20-129%20-1%20-200%20-50%0A-322%20-222%20-73%20-102%20-99%20-129%20-324%20-338%20-101%20-93%20-226%20-213%20-279%20-266%20-52%20-54%0A-124%20-122%20-160%20-152%20-36%20-30%20-92%20-80%20-125%20-112%20-107%20-103%20-185%20-145%20-271%20-145%0A-49%200%20-90%2029%20-139%20100%20-34%2050%20-85%2080%20-185%20112%20-130%2040%20-190%20123%20-176%20242%207%2065%0A44%20124%20103%20165%2026%2019%2063%2048%2082%2065%2029%2027%20320%20374%20346%20413%206%208%2078%2075%20162%20149%0A178%20158%20388%20374%20443%20456%2077%20116%2075%20229%20-4%20243%20-50%2010%20-106%20-19%20-218%20-113%20-101%0A-85%20-260%20-265%20-404%20-457%20-87%20-116%20-278%20-311%20-381%20-389%20-34%20-25%20-96%20-84%20-138%0A-130%20-78%20-86%20-111%20-106%20-171%20-106%20-75%200%20-112%2045%20-100%20123%208%2050%2064%20168%20103%20218%0A141%20181%20227%20275%20497%20542%20185%20184%20341%20330%20386%20361%20130%2092%20210%20198%20240%20318%2029%0A116%20-85%20188%20-225%20144z%20m-5305%20-1666%20c83%20-42%20106%20-109%2094%20-274%20-15%20-202%20-10%0A-250%2027%20-320%2082%20-154%2091%20-175%2096%20-235%207%20-78%20-18%20-175%20-57%20-223%20-53%20-64%20-142%0A-71%20-226%20-19%20-44%2027%20-73%2068%20-141%20201%20-33%2063%20-78%20147%20-101%20185%20-67%20112%20-74%20192%0A-35%20400%208%2044%2025%20103%2037%20130%2025%2055%2095%20128%20147%20156%2045%2024%20111%2024%20159%20-1z%20m-797%0A-1053%20c286%20-170%20355%20-229%20383%20-323%2039%20-137%20-45%20-223%20-208%20-211%20-67%204%20-87%2012%0A-258%2097%20-308%20154%20-370%20196%20-370%20250%200%2058%2047%20147%2090%20170%2027%2014%20182%2038%20260%2039%0A51%200%2073%20-4%20103%20-22z%20m4087%20-2788%20c0%20-23%20-27%20-36%20-42%20-21%20-15%2015%20-4%2037%2021%2039%0A15%201%2021%20-4%2021%20-18z%22%2F%3E%3Cpath%20d%3D%22M875%208153%20c-33%20-8%20-65%20-44%20-76%20-85%20-31%20-119%20117%20-323%20311%20-429%2045%0A-24%20118%20-66%20163%20-93%2045%20-26%20130%20-74%20188%20-106%20130%20-71%20327%20-216%20435%20-321%2090%0A-87%20130%20-109%20199%20-109%2091%200%20135%2047%20135%20142%200%20127%20-39%20181%20-162%20223%20-127%2043%0A-175%2071%20-257%20149%20-72%2068%20-320%20273%20-441%20364%20-30%2023%20-100%2077%20-155%20121%20-55%2044%0A-127%2094%20-160%20110%20-59%2030%20-140%2045%20-180%2034z%22%2F%3E%3Cpath%20d%3D%22M9563%208129%20c-40%20-16%20-69%20-38%20-125%20-99%20-40%20-43%20-113%20-112%20-163%20-154%0A-129%20-108%20-345%20-322%20-461%20-457%20-199%20-234%20-251%20-389%20-128%20-389%2062%200%20262%20169%0A565%20476%20118%20120%20266%20269%20328%20329%20130%20128%20161%20169%20168%20224%2011%2083%20-69%20114%20-184%0A70z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center / contain no-repeat;
}

/* ---------- Header ---------- */

.site-header {
  background: var(--color-bg);
  border-bottom: 1px solid var(--color-border);
  position: relative;
  z-index: 10;
}

.site-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: 78px;
  flex-wrap: wrap;
  padding-block: 0.75rem;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  flex-wrap: wrap;
}

.nav-link {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--color-ink);
  padding-block: 0.35rem;
  border-bottom: 2px solid transparent;
}

.nav-link:hover { color: var(--color-brand); }

.nav-link.is-active {
  color: var(--color-brand);
  border-bottom-color: var(--color-accent);
}

.nav-cta { margin-left: 0.4rem; }

/* ---------- Buttons ---------- */

.btn {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  line-height: 1;
  padding: 1rem 1.6rem;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  cursor: pointer;
  transition: background-color 140ms ease, color 140ms ease, border-color 140ms ease;
}

.btn-primary {
  background: var(--color-brand);
  color: var(--color-on-brand);
  border-color: var(--color-brand);
}

.btn-primary:hover {
  background: var(--color-brand-deep);
  border-color: var(--color-brand-deep);
}

.btn-secondary {
  background: transparent;
  color: var(--color-ink);
  border-color: var(--color-ink);
}

.btn-secondary:hover {
  background: var(--color-ink);
  color: var(--color-bg);
}

.btn-small { padding: 0.65rem 1.1rem; font-size: 0.72rem; }

/* ---------- Cards & media ---------- */

.card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-sm);
}

.card-media { display: block; }

.card-media .media-ph { border-radius: 0; border: none; }

.card-body { padding: 1.25rem 1.35rem 1.5rem; display: flex; flex-direction: column; gap: 0.4rem; flex: 1; }

.card-title {
  font-size: 1.15rem;
  font-weight: 600;
  margin: 0;
}

.card-text {
  color: var(--color-ink-muted);
  font-size: 0.92rem;
  margin: 0;
  flex: 1;
}

.card-link {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--color-brand);
  margin-top: 0.5rem;
}

.card-link:hover { color: var(--color-accent); }

/* CSS-painted photography: warm, low-lit food mood */
.media-ph {
  display: block;
  width: 100%;
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 32% 28%, rgba(216, 168, 92, 0.55), transparent 52%),
    radial-gradient(circle at 74% 72%, rgba(78, 104, 68, 0.5), transparent 58%),
    radial-gradient(circle at 82% 18%, rgba(245, 240, 226, 0.14), transparent 40%),
    linear-gradient(140deg, #57422a 0%, #3d3a24 48%, #26301f 100%);
  aspect-ratio: 4 / 3;
}

.media-ph--wide { aspect-ratio: 16 / 9; }
.media-ph--square { aspect-ratio: 1 / 1; }
.media-ph--tall { aspect-ratio: 3 / 4; }

/* ---------- Footer ---------- */

.site-footer {
  background: var(--color-brand-deep);
  color: rgba(245, 240, 226, 0.85);
  margin-top: var(--section-pad);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 2.5rem;
  padding-block: 3.5rem 2.5rem;
}

.footer-col { display: flex; flex-direction: column; align-items: flex-start; gap: 0.45rem; }

.footer-about .brand-name { color: var(--color-on-brand); }
.footer-about .brand-name::after { color: rgba(245, 240, 226, 0.72); }
/* same traced mark, reversed to cream on the dark green footer */
.footer-about .brand-mark { background-color: var(--color-on-brand); }

.footer-tagline {
  color: rgba(245, 240, 226, 0.7);
  font-size: 0.92rem;
  margin-top: 0.8rem;
  max-width: 26ch;
}

.footer-heading {
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-accent);
  margin: 0 0 0.6rem;
}

.footer-link {
  color: rgba(245, 240, 226, 0.85);
  text-decoration: none;
  font-size: 0.95rem;
}

.footer-link:hover { color: #ffffff; text-decoration: underline; }

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding-block: 1.4rem;
  border-top: 1px solid rgba(245, 240, 226, 0.18);
  font-size: 0.85rem;
  color: rgba(245, 240, 226, 0.6);
}

.footer-bottom .footer-link { font-size: 0.85rem; }

/* ---------- Dashboard ---------- */

.dash-layout {
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: 2.5rem;
  padding-block: 2.75rem;
  align-items: start;
}

.dash-sidebar {
  position: sticky;
  top: 1.5rem;
}

.dash-nav {
  display: flex;
  flex-direction: column;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

.dash-nav-link {
  padding: 0.85rem 1.15rem;
  text-decoration: none;
  color: var(--color-ink-muted);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  border-left: 3px solid transparent;
  border-bottom: 1px solid var(--color-border);
}

.dash-nav-link:last-child { border-bottom: none; }

.dash-nav-link:hover { color: var(--color-brand); background: var(--color-bg); }

.dash-nav-link.is-active {
  color: var(--color-brand);
  background: var(--color-surface-alt);
  border-left-color: var(--color-accent);
}

.dash-main { display: flex; flex-direction: column; gap: 1.75rem; min-width: 0; }

.dash-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.page-title { font-size: 2rem; margin-bottom: 0.15em; }

.page-sub { color: var(--color-ink-muted); margin: 0; }

.stat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}

.stat {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  padding: 1.25rem 1.3rem 1.15rem;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.stat-value {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.05;
  color: var(--color-brand);
}

.stat-label {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-ink-muted);
}

.stat-delta { font-size: 0.82rem; font-weight: 600; }

.stat-delta.is-up { color: #3c6e46; }
.stat-delta.is-down { color: #a4502e; }
.stat-delta.is-info { color: var(--color-accent); }

.panel {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

.panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.4rem;
  border-bottom: 1px solid var(--color-border);
  background: var(--color-surface);
}

.panel-title { font-size: 1.25rem; margin: 0; }

.panel-body { padding: 1.4rem; }

/* Tables */

.table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.table th {
  text-align: left;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-ink-muted);
  padding: 0.6rem 0.85rem;
  border-bottom: 2px solid var(--color-brand);
}

.table td {
  padding: 0.8rem 0.85rem;
  border-bottom: 1px solid var(--color-border);
}

.table tbody tr:nth-child(even) { background: rgba(236, 228, 208, 0.45); }

.table tbody tr:hover { background: var(--color-surface-alt); }

/* Badges */

.badge {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1;
  padding: 0.4em 0.75em;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  background: var(--color-surface-alt);
  color: var(--color-ink-muted);
}

.badge.is-success {
  background: #e2ead9;
  border-color: #b9caa9;
  color: #2f5237;
}

.badge.is-warning {
  background: #f3e5c4;
  border-color: #dcc389;
  color: #7c5a17;
}

.badge.is-info {
  background: #e2e6dc;
  border-color: #b7c2b0;
  color: #3a4f3f;
}

/* Activity */

.activity-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.activity-item {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--color-border);
  font-size: 0.95rem;
}

.activity-item:last-child { border-bottom: none; }

.activity-time {
  margin-left: auto;
  flex: none;
  font-size: 0.8rem;
  color: var(--color-ink-muted);
}

.avatar {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-pill);
  background: var(--color-brand);
  color: var(--color-on-brand);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.05em;
}

/* Forms */

.profile-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.1rem 1.5rem;
}

.form-field { display: flex; flex-direction: column; gap: 0.35rem; }

.form-actions { justify-content: flex-end; grid-column: 1 / -1; align-items: flex-start; }

.form-label {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-ink-muted);
}

.form-input,
.form-select {
  font-family: var(--font-body);
  font-size: 0.98rem;
  color: var(--color-ink);
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: 0.7rem 0.85rem;
}

.form-input:focus,
.form-select:focus {
  outline: 2px solid var(--color-brand);
  outline-offset: 1px;
  border-color: var(--color-brand);
}

/* ---------- Blog post ---------- */

.post {
  max-width: 760px;
  margin-inline: auto;
  padding-top: 3.25rem;
}

.post-header { text-align: center; margin-bottom: 2.25rem; }

.tag-list {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 1.1rem;
}

.tag {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--color-brand);
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: 0.4em 0.8em;
}

.tag:hover { border-color: var(--color-brand); }

.post-title {
  font-size: clamp(2rem, 4.5vw, 2.9rem);
  margin-bottom: 0.4em;
}

.post-excerpt {
  font-family: var(--font-accent);
  font-style: italic;
  font-size: 1.2rem;
  color: var(--color-ink-muted);
  max-width: 40rem;
  margin-inline: auto;
}

.post-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  flex-wrap: wrap;
  font-size: 0.9rem;
  color: var(--color-ink-muted);
  margin-top: 1.4rem;
}

.post-meta .avatar { width: 34px; height: 34px; font-size: 0.75rem; }

.post-meta-author { font-weight: 700; color: var(--color-ink); }

.post-meta-sep { color: var(--color-border); }

.post-hero { margin-bottom: 2.5rem; }

.post-hero .media-ph { box-shadow: var(--shadow-md); }

/* Prose */

.prose { font-size: 1.06rem; }

.prose h2 {
  font-size: 1.7rem;
  margin-top: 2.2em;
}

.prose h3 { font-size: 1.25rem; margin-top: 1.8em; }

.prose p { margin-bottom: 1.15em; }

.prose a {
  color: var(--color-link);
  text-decoration-color: var(--color-accent);
  text-underline-offset: 3px;
}

.prose ul, .prose ol { padding-left: 1.4rem; margin: 0 0 1.15em; }

.prose li { margin-bottom: 0.4em; }

.prose li::marker { color: var(--color-accent); }

.prose blockquote {
  margin: 1.8em 0;
  padding: 1.1rem 1.5rem;
  border-left: 3px solid var(--color-accent);
  background: var(--color-surface-alt);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

.prose blockquote p {
  font-family: var(--font-accent);
  font-style: italic;
  font-size: 1.18rem;
  color: var(--color-brand);
  margin: 0;
}

.prose figure { margin: 2em 0; }

.prose figcaption {
  font-size: 0.85rem;
  color: var(--color-ink-muted);
  text-align: center;
  margin-top: 0.7rem;
  font-style: italic;
}

.prose code {
  font-family: "SFMono-Regular", Consolas, Menlo, monospace;
  font-size: 0.88em;
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: 0.12em 0.4em;
}

.prose pre {
  background: var(--color-brand-deep);
  color: var(--color-on-brand);
  border-radius: var(--radius-md);
  padding: 1.1rem 1.3rem;
  overflow-x: auto;
  font-size: 0.9rem;
}

.prose pre code { background: none; border: none; padding: 0; color: inherit; }

.prose table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  margin: 1.8em 0;
}

.prose th {
  text-align: left;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-on-brand);
  background: var(--color-brand);
  padding: 0.65rem 0.85rem;
}

.prose td {
  padding: 0.7rem 0.85rem;
  border-bottom: 1px solid var(--color-border);
}

.prose tbody tr:nth-child(even) { background: rgba(236, 228, 208, 0.45); }

.prose hr {
  border: none;
  border-top: 1px solid var(--color-border);
  margin: 2.5em auto;
  width: 40%;
}

.prose .media-ph { margin: 0; }

/* Author card */

.author-card {
  display: flex;
  gap: 1.1rem;
  align-items: flex-start;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  padding: 1.4rem 1.5rem;
  margin-block: 3rem 1rem;
}

.author-card .avatar { width: 52px; height: 52px; font-size: 1rem; }

.author-card-name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.15rem;
  display: block;
  margin-bottom: 0.25rem;
}

.author-card-bio {
  color: var(--color-ink-muted);
  font-size: 0.93rem;
  margin: 0;
}

/* Blog photography — real imagery layered over the painted fallback,
   graded gently toward the cedar/cream palette with a top tint layer. */

.post-hero .media-ph,
.prose figure .media-ph,
.related-grid .card .media-ph {
  filter: saturate(0.94) sepia(0.06) contrast(0.98);
}

.post-hero .media-ph {
  background:
    linear-gradient(rgba(46, 70, 52, 0.08), rgba(46, 70, 52, 0.08)),
    url("../../assets/img/pack/blog-hero.webp") center / cover no-repeat,
    radial-gradient(circle at 32% 28%, rgba(216, 168, 92, 0.55), transparent 52%),
    radial-gradient(circle at 74% 72%, rgba(78, 104, 68, 0.5), transparent 58%),
    linear-gradient(140deg, #57422a 0%, #3d3a24 48%, #26301f 100%);
}

.prose figure .media-ph {
  background:
    linear-gradient(rgba(46, 70, 52, 0.08), rgba(46, 70, 52, 0.08)),
    url("../../assets/img/pack/blog-figure.webp") center / cover no-repeat,
    radial-gradient(circle at 32% 28%, rgba(216, 168, 92, 0.55), transparent 52%),
    radial-gradient(circle at 74% 72%, rgba(78, 104, 68, 0.5), transparent 58%),
    linear-gradient(140deg, #57422a 0%, #3d3a24 48%, #26301f 100%);
}

.related-grid .card:nth-child(1) .media-ph {
  background:
    linear-gradient(rgba(46, 70, 52, 0.08), rgba(46, 70, 52, 0.08)),
    url("../../assets/img/pack/blog-rel-1.webp") center / cover no-repeat,
    linear-gradient(140deg, #57422a 0%, #3d3a24 48%, #26301f 100%);
}

.related-grid .card:nth-child(2) .media-ph {
  background:
    linear-gradient(rgba(46, 70, 52, 0.08), rgba(46, 70, 52, 0.08)),
    url("../../assets/img/pack/blog-rel-2.webp") center / cover no-repeat,
    linear-gradient(140deg, #57422a 0%, #3d3a24 48%, #26301f 100%);
}

.related-grid .card:nth-child(3) .media-ph {
  background:
    linear-gradient(rgba(46, 70, 52, 0.08), rgba(46, 70, 52, 0.08)),
    url("../../assets/img/pack/blog-rel-3.webp") center / cover no-repeat,
    linear-gradient(140deg, #57422a 0%, #3d3a24 48%, #26301f 100%);
}

/* Related posts */

.related-posts { padding-bottom: 0; }

.related-posts .section-head { text-align: center; margin-inline: auto; }

.related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

/* ---------- Responsive ---------- */

@media (max-width: 1024px) {
  :root { --section-pad: 3.5rem; }

  .footer-grid { grid-template-columns: 1fr 1fr; }

  .dash-layout { grid-template-columns: 1fr; gap: 1.75rem; }

  .dash-sidebar { position: static; }

  .dash-nav { flex-direction: row; flex-wrap: wrap; }

  .dash-nav-link {
    border-left: none;
    border-bottom: 3px solid transparent;
    flex: 1 1 auto;
    text-align: center;
  }

  .dash-nav-link.is-active { border-bottom-color: var(--color-accent); }

  .stat-grid { grid-template-columns: 1fr 1fr; }

  .related-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .site-header-inner { justify-content: center; }

  .site-nav { justify-content: center; gap: 0.9rem 1.2rem; }

  .footer-grid { grid-template-columns: 1fr; gap: 1.75rem; }

  .stat-grid { grid-template-columns: 1fr; }

  .profile-form { grid-template-columns: 1fr; }

  .dash-header { align-items: flex-start; flex-direction: column; }

  .panel-body { padding: 1.1rem; }

  .panel-body:has(.table) { overflow-x: auto; }

  .activity-item { flex-wrap: wrap; }

  .activity-time { margin-left: 52px; width: 100%; }

  .brand-name::before { font-size: 1.15rem; }
  .brand-name::after { font-size: 0.55rem; letter-spacing: 0.16em; }
}
