:root {
  --bone: #f6f1e7;
  --ink: #2b2622;
  --clay: #c9683e;
  --moss: #6e7a4f;
  --water: #6fa8a7;
  --sage: #dde6d2;
  --sand: #e8dcc4;
  --muted: #8a8175;
  --paper: #fffaf1;
  --card: #fffdf8;
  --bone-dark: #ece5d6;
  --primary-container: #ffdbcc;
  --line: rgba(43, 38, 34, 0.14);
  --line-strong: rgba(43, 38, 34, 0.24);
  --shadow: 0 18px 50px rgba(43, 38, 34, 0.12);
  --radius: 12px;
  --wrap: 1180px;
  --display: Lora, "Source Serif 4", Georgia, serif;
  --body: Inter, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
}

[data-theme="dark"] {
  --bone: #211e1b;
  --ink: #ede7db;
  --paper: #2a2622;
  --card: #302b26;
  --sand: #40382f;
  --water: #8abfc0;
  --sage: #334032;
  --muted: #c2b7a8;
  --line: rgba(237, 231, 219, 0.14);
  --line-strong: rgba(237, 231, 219, 0.24);
  --shadow: 0 20px 60px rgba(0, 0, 0, 0.28);
  --bone-dark: #2a2622;
  --primary-container: #4a2415;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0;
  color: var(--ink);
  background: radial-gradient(circle at 12px 12px, rgba(201, 104, 62, 0.05) 1px, transparent 1px), var(--bone);
  background-size: 28px 28px;
  font-family: var(--body);
  line-height: 1.55;
  overflow-x: clip;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, select { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--clay) 72%, white); outline-offset: 3px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }

.wrap { width: min(var(--wrap), calc(100% - 40px)); margin-inline: auto; }

/* ── Header ── */
.site-header {
  position: sticky; top: 0; z-index: 20;
  display: flex; align-items: center; gap: 24px; min-height: 76px;
  padding: 12px max(20px, calc((100vw - var(--wrap)) / 2));
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--bone) 88%, transparent);
  backdrop-filter: blur(14px);
}
.brand { display: inline-flex; align-items: center; gap: 11px; min-width: max-content; }
.brand-mark { display: grid; width: 43px; height: 43px; place-items: center; border: 1px solid color-mix(in srgb, var(--clay) 55%, var(--line)); border-radius: 11px; background: var(--sand); color: var(--clay); font: 700 15px var(--mono); }
.brand strong { display: block; font: 700 22px var(--display); line-height: 1; }
.brand small { display: block; color: var(--muted); font-size: 12px; line-height: 1.2; }
.site-nav { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.site-nav a, .mobile-panel a { border-radius: 10px; color: var(--muted); font-weight: 700; padding: 9px 12px; }
.site-nav a { display: inline-flex; align-items: center; gap: 6px; }
.site-nav a .material-symbols-outlined { font-size: 20px; }
.site-nav a:hover, .site-nav a.is-active, .mobile-panel a:hover, .mobile-panel a.is-active { background: color-mix(in srgb, var(--clay) 11%, transparent); color: var(--ink); }
.header-actions { display: flex; align-items: center; gap: 8px; }
.utility-btn, .lang-switch, .menu-btn, .icon-btn { min-height: 44px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); color: var(--ink); font-weight: 800; }
.utility-btn, .icon-btn { padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; }
.icon-btn { width: 46px; }
.lang-switch { display: inline-flex; align-items: center; gap: 2px; padding: 4px; }
.lang-switch span, .lang-switch a { display: grid; min-width: 34px; min-height: 34px; place-items: center; border-radius: 8px; font-size: 12px; font-weight: 800; }
.lang-switch .is-active { background: var(--ink); color: var(--bone); }
.menu-btn { display: none; width: 46px; padding: 10px; }
.menu-btn span { display: block; height: 2px; margin: 5px 0; background: var(--ink); }
.mobile-panel { display: none; position: fixed; inset: 76px 16px auto; z-index: 19; border: 1px solid var(--line); border-radius: 16px; background: var(--card); box-shadow: var(--shadow); padding: 12px; }
.mobile-panel a { display: block; min-height: 44px; }
body.menu-open .mobile-panel { display: block; }

/* ── Main / page sections ── */
main { display: block; }
.view, .page-wrap { padding-block: 44px 72px; }

.hero-grid, .split-hero, .author-profile { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.75fr); gap: 34px; align-items: center; }
.hero-copy h1, .split-hero h1, .page-head h1, .article-head h1, .author-profile h1 { margin: 10px 0 0; font: 700 clamp(38px, 6vw, 72px) / 1.02 var(--display); letter-spacing: 0; }
.lead { max-width: 680px; color: var(--muted); font-size: 18px; }
.eyebrow { margin: 0; color: var(--clay); font: 800 12px / 1 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; border: 0; border-radius: 10px; background: var(--clay); color: white; font-weight: 800; padding: 0 18px; }
.btn:hover { filter: brightness(1.05); transform: translateY(-1px); }
.hero-actions, .chip-row, .topic-nav, .filter-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.text-link, .small-link { border: 0; background: transparent; color: var(--clay); font-weight: 800; padding: 0; }

.hero-media, .article-image { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--sand); box-shadow: var(--shadow); }
.hero-media img, .article-image img, .split-hero > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
figcaption { color: var(--muted); font-size: 12px; padding: 9px 14px 12px; }

/* ── Featured tool strip (home) ── */
.tool-strip, .tool-lab { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 34px; }
.tool-card { position: relative; border: 1px solid color-mix(in srgb, var(--clay) 38%, var(--line)); border-radius: 14px; background: linear-gradient(135deg, color-mix(in srgb, var(--sand) 92%, white), var(--card)); box-shadow: 0 12px 36px rgba(43, 38, 34, 0.08); padding: 22px; }
.tool-card--featured { background: var(--sand); }
.tool-card__mark { display: inline-flex; margin-bottom: 12px; border: 1px solid color-mix(in srgb, var(--clay) 35%, transparent); border-radius: 999px; color: var(--clay); font: 800 11px var(--mono); padding: 5px 9px; text-transform: uppercase; }
.tool-card p { color: var(--muted); }
.tool-card h2, .section-head h2, .content-band h2, .prose h2, .faq h2, .author-box h2, .partner-block h2, .sidebar-card h2, .hub-map h2 { margin: 0 0 10px; font: 700 clamp(24px, 3vw, 34px) / 1.12 var(--display); }

.section-block, .content-band, .hub-map, .author-articles { margin-top: 58px; }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 20px; }

/* ── Card grids ── */
.category-grid, .article-grid, .partner-grid, .hub-map { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.category-card, .article-card, .hub-map article, .sidebar-card, .author-box, .partner-block, .diagram-card, .checklist-card, .disclaimer, .answer-capsule { border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); }
.category-card, .article-card { display: flex; min-height: 154px; flex-direction: column; justify-content: end; overflow: hidden; padding: 16px; }
.category-card img, .category-card .img-ph, .article-card img, .article-card .img-ph { width: calc(100% + 32px); height: 140px; margin: -16px -16px 14px; object-fit: cover; }
.category-card span, .article-card strong { font: 700 19px / 1.16 var(--display); }
.category-card small, .article-card > span { color: var(--muted); font-size: 14px; }
.article-card .eyebrow { margin-bottom: 4px; }

/* image placeholder (no thumbnail) */
.img-ph { display: grid; place-items: center; background: var(--tint, var(--sand)); color: var(--cink, var(--muted)); }

.content-band { border-radius: 18px; background: linear-gradient(135deg, color-mix(in srgb, var(--water) 13%, var(--card)), color-mix(in srgb, var(--sage) 42%, var(--card))); padding: 28px; }

/* ── Article ── */
.crumbs { display: flex; flex-wrap: wrap; gap: 9px; color: var(--muted); font-size: 14px; margin-bottom: 24px; }
.article-shell { max-width: 1120px; }
.article-head { max-width: 840px; }
.cat-pill { display: inline-flex; border-radius: 999px; background: color-mix(in srgb, var(--moss) 16%, transparent); color: var(--moss); font-weight: 800; padding: 7px 12px; }
.meta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 22px; border-block: 1px solid var(--line); color: var(--muted); padding-block: 14px; }
.meta-row img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.meta-row strong, .meta-row small { display: block; }
.meta-row strong { color: var(--ink); }
.article-layout { display: grid; grid-template-columns: 220px minmax(0, 720px); gap: 46px; align-items: start; margin-top: 28px; }
.toc { position: sticky; top: 100px; display: flex; flex-direction: column; gap: 8px; color: var(--muted); font-size: 14px; }
.toc strong { color: var(--ink); font: 800 12px var(--mono); text-transform: uppercase; }
.toc a { border-left: 2px solid var(--line); padding: 6px 0 6px 12px; }
.toc a.is-active { border-color: var(--clay); color: var(--ink); }
.article-main { min-width: 0; }
.answer-capsule, .disclaimer, .author-box, .partner-block, .diagram-card, .checklist-card { margin-top: 22px; padding: 22px; }
.answer-capsule { border-left: 5px solid var(--clay); background: color-mix(in srgb, var(--clay) 7%, var(--card)); }
.answer-capsule h2 { margin: 0 0 8px; font: 800 13px var(--mono); text-transform: uppercase; }

/* ── Prose ── */
.prose { font-size: 18px; line-height: 1.72; }
.prose h2 { margin-top: 38px; }
.prose h3 { font: 700 22px var(--display); margin-top: 26px; }
.prose p { margin: 0 0 18px; }
.prose ul, .prose ol { margin: 0 0 18px; padding-left: 22px; }
.prose li { margin-bottom: 8px; }
.prose a { color: var(--clay); text-decoration: underline; text-underline-offset: 3px; }
.prose img { border-radius: var(--radius); margin: 18px 0; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); margin: 18px 0; }
table { width: 100%; border-collapse: collapse; min-width: 560px; }
th, td { border-bottom: 1px solid var(--line); padding: 14px; text-align: left; vertical-align: top; }
th { background: var(--ink); color: var(--bone); }
.sources { margin-top: 28px; font-size: 14px; color: var(--muted); }

.diagram-card { background: linear-gradient(135deg, color-mix(in srgb, var(--sage) 62%, var(--card)), color-mix(in srgb, var(--water) 10%, var(--card))); }
.diagram-card > span { color: var(--moss); font: 800 12px var(--mono); text-transform: uppercase; }
.diagram-card ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 14px 0 0; padding: 0; list-style: none; }
.diagram-card li { border: 1px solid var(--line); border-radius: 10px; background: var(--card); padding: 14px; }

.disclaimer { border-left: 5px solid var(--moss); background: var(--sand); }

/* ── FAQ ── */
.faq-item { border-top: 1px solid var(--line); }
.faq-item button { width: 100%; min-height: 56px; border: 0; background: transparent; color: var(--ink); display: flex; justify-content: space-between; gap: 16px; padding: 0; text-align: left; font: 700 18px var(--display); }
.faq-item p { display: none; margin: 0 0 18px; color: var(--muted); }
.faq-item.is-open p { display: block; }

/* ── Author / partner ── */
.author-box { display: grid; grid-template-columns: 84px 1fr; gap: 18px; align-items: start; }
.author-box img, .author-profile > img { width: 100%; border-radius: 16px; object-fit: cover; }
.partner-block > span { color: var(--clay); font: 800 12px var(--mono); text-transform: uppercase; }
.partner-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 14px; }
.partner-grid article { border: 1px solid var(--line); border-radius: 10px; padding: 16px; }
.partner-grid button, .partner-grid .btn { min-height: 42px; }

/* ── Category / hub / author / tools ── */
.split-hero { border-radius: 18px; background: color-mix(in srgb, var(--sand) 52%, transparent); padding: 30px; }
.split-hero > img { border-radius: 16px; }
.category-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; margin-top: 28px; }
.category-tool { margin-top: 18px; }
.sidebar-card { position: sticky; top: 100px; display: grid; gap: 10px; padding: 20px; }
.sidebar-card a { color: var(--ink); }
.sidebar-card a:hover { color: var(--clay); }
.hub-hero { align-items: stretch; }
.topic-nav a { display: inline-flex; align-items: center; min-height: 44px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); color: var(--ink); font-weight: 800; padding: 0 13px; }
.hub-map { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hub-map article { padding: 22px; }
.page-head { max-width: 840px; }
.filter-row button { min-height: 44px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); color: var(--ink); font-weight: 800; padding: 0 13px; }
.filter-row button.is-active { border-color: var(--clay); background: var(--clay); color: white; }
.tool-lab { align-items: start; }
.plain-list { margin: 12px 0 0; padding-left: 20px; color: var(--muted); }
.author-profile { align-items: start; max-width: 980px; }
.author-profile > img { aspect-ratio: 4 / 3; }
.trust-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 22px; }
.trust-grid span { border: 1px solid var(--line); border-radius: 10px; background: var(--card); padding: 14px; font-weight: 800; }

/* article-card row/mini variants (used by hv_article_card) */
.article-card--row { flex-direction: row; gap: 16px; min-height: 0; align-items: center; }
.article-card--row > a { flex: none; width: 120px; }
.article-card--row img, .article-card--row .img-ph { width: 120px; height: 90px; margin: 0; border-radius: 10px; }
.article-card--mini { min-height: 0; gap: 10px; padding: 14px; }
.article-card--mini img, .article-card--mini .img-ph { width: calc(100% + 28px); height: 110px; margin: -14px -14px 10px; }

/* ── Pagination ── */
.pager { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.pager .page-numbers { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); font-weight: 800; padding: 0 10px; }
.pager .page-numbers.current { border-color: var(--clay); background: var(--clay); color: white; }

/* ── Footer ── */
.site-footer { border-top: 1px solid var(--line); background: var(--ink); color: var(--bone); padding: 32px 0; margin-top: 60px; }
.footer-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 0.6fr); gap: 28px; }
.site-footer .brand strong, .site-footer a { color: var(--bone); }
.footer-grid p { color: color-mix(in srgb, var(--bone) 66%, transparent); }
.footer-grid nav { display: grid; gap: 8px; }
.footer-grid nav a:hover { color: var(--clay); }
.footer-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 24px; padding-top: 18px; border-top: 1px solid color-mix(in srgb, var(--bone) 18%, transparent); color: color-mix(in srgb, var(--bone) 66%, transparent); font-size: 14px; }

@media (max-width: 1040px) {
  .site-nav { display: none; }
  .menu-btn { display: block; }
  .hero-grid, .split-hero, .author-profile, .article-layout, .category-layout, .footer-grid { grid-template-columns: 1fr; }
  .toc, .sidebar-card { position: static; }
  .tool-strip, .tool-lab, .category-grid, .article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .wrap { width: min(100% - 28px, var(--wrap)); }
  .site-header { padding-inline: 14px; }
  .utility-btn { display: none; }
  .hero-copy h1, .split-hero h1, .page-head h1, .article-head h1, .author-profile h1 { font-size: 38px; }
  .tool-strip, .tool-lab, .category-grid, .article-grid, .partner-grid, .hub-map, .trust-grid, .footer-cols { grid-template-columns: 1fr; }
  .diagram-card ol { grid-template-columns: 1fr; }
  .author-box, .article-card--row { grid-template-columns: 1fr; flex-direction: column; }
  .article-card--row > a, .article-card--row img, .article-card--row .img-ph { width: 100%; height: 140px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* ============================================================
   Stitch-matching home page (front-page.php)
   ============================================================ */
.material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;}

.home{display:flex;flex-direction:column;gap:72px;padding-block:48px 80px;}
.home h2{margin:0;font:600 clamp(26px,3vw,34px)/1.2 var(--display);color:var(--ink);}
.home .sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:8px;}
.home .sec-head a{color:var(--clay);font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:4px;}

/* Hero (centered) */
.home-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;}
.home-hero h1{margin:0;max-width:820px;font:600 clamp(34px,5vw,52px)/1.12 var(--display);color:var(--ink);letter-spacing:-0.01em;}
.home-hero .lead{max-width:640px;margin:0;color:var(--muted);font-size:18px;}
.home-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;width:100%;margin-top:24px;}
.intro-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;background:var(--bone-dark);border:1px solid var(--line);border-radius:14px;padding:24px;text-align:left;box-shadow:0 4px 20px rgba(43,38,34,.05);transition:transform .25s,box-shadow .25s;}
.intro-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(43,38,34,.09);}
.intro-card__top{display:flex;justify-content:space-between;align-items:flex-start;width:100%;}
.intro-card__top h3{margin:0;font:600 22px var(--display);color:var(--ink);}
.intro-card__top .material-symbols-outlined{color:var(--clay);font-size:26px;}
.intro-card p{margin:0;color:var(--muted);font-size:15px;flex-grow:1;}
.intro-card .btn{width:100%;margin-top:auto;}

/* Interactive widgets row */
.home-widgets{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.feeding-card{background:var(--bone-dark);border:1px solid var(--line);border-radius:18px;padding:32px;}
.feeding-card h3{margin:0 0 6px;font:600 26px var(--display);color:var(--ink);}
.feeding-card p{margin:0 0 18px;color:var(--muted);}
.checklist-teaser{background:color-mix(in srgb,var(--primary-container) 28%,var(--card));border:2px dashed var(--clay);border-radius:18px;padding:32px;display:flex;flex-direction:column;gap:14px;}
.checklist-teaser__head{display:flex;align-items:center;gap:12px;color:var(--clay);}
.checklist-teaser__head h3{margin:0;font:600 24px var(--display);}
.checklist-teaser ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;}
.checklist-teaser li{display:flex;align-items:center;gap:10px;color:var(--muted);}
.checklist-teaser li .material-symbols-outlined{color:var(--moss);font-size:20px;}
.checklist-teaser a{margin-top:auto;color:var(--clay);font-weight:700;display:inline-flex;align-items:center;gap:6px;}

/* Species circles */
.species{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;}
.species-item{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;background:var(--bone-dark);border:1px solid transparent;border-radius:14px;transition:background .2s,border-color .2s;}
.species-item:hover{background:var(--surface-variant,var(--sand));border-color:var(--line);}
.species-item .circ{width:84px;height:84px;border-radius:50%;overflow:hidden;background:var(--bone);border:1px solid var(--line);display:grid;place-items:center;}
.species-item .circ img{width:100%;height:100%;object-fit:cover;}
.species-item span{font-weight:600;color:var(--ink);}
.species-item:hover span{color:var(--clay);}

/* About band */
.about-band{background:var(--bone-dark);border:1px solid var(--line);border-radius:16px;padding:clamp(28px,5vw,64px);display:flex;gap:48px;align-items:center;}
.about-band__body{flex:1;display:flex;flex-direction:column;gap:20px;}
.about-band h2{font:600 clamp(28px,4vw,42px) var(--display);}
.about-band p{margin:0;color:var(--ink);opacity:.9;font-size:18px;line-height:1.7;}
.about-band__features{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px;}
.about-band__features div{display:flex;gap:12px;align-items:flex-start;background:var(--bone);border:1px solid var(--line);border-radius:12px;padding:16px;}
.about-band__features .material-symbols-outlined{color:var(--clay);}
.about-band__features p{font-size:14px;}
.about-band__icon{flex:none;display:grid;place-items:center;position:relative;width:30%;min-width:200px;}
.about-band__icon .material-symbols-outlined{font-size:180px;color:var(--clay);position:relative;z-index:1;}
.about-band__icon::before{content:"";position:absolute;inset:10%;background:color-mix(in srgb,var(--primary-container) 60%,transparent);border-radius:50%;filter:blur(40px);}

/* Materials grid (article cards with badge) */
.materials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.mat-card{display:flex;flex-direction:column;gap:14px;cursor:pointer;}
.mat-card__media{position:relative;height:220px;border-radius:14px;overflow:hidden;background:var(--bone-dark);}
.mat-card__media img,.mat-card__media .img-ph{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.mat-card:hover .mat-card__media img{transform:scale(1.05);}
.mat-card__badge{position:absolute;top:16px;left:16px;background:var(--bone);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font:600 12px var(--mono);color:var(--ink);box-shadow:0 2px 8px rgba(43,38,34,.08);}
.mat-card h3{margin:0;font:600 22px/1.25 var(--display);color:var(--ink);transition:color .2s;}
.mat-card:hover h3{color:var(--clay);}
.mat-card p{margin:0;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* Popular rubrics (overlay cards) */
.rubrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.rubric{position:relative;height:200px;border-radius:14px;overflow:hidden;display:block;box-shadow:0 4px 14px rgba(43,38,34,.06);}
.rubric img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.rubric:hover img{transform:scale(1.06);}
.rubric::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(43,38,34,.92),rgba(43,38,34,.25) 55%,transparent);}
.rubric h3{position:absolute;left:16px;right:16px;bottom:16px;margin:0;z-index:1;color:#fff;font:600 20px var(--display);}

/* Seasonal band */
.seasonal-band{position:relative;overflow:hidden;background:var(--bone-dark);border:1px solid var(--line);border-radius:16px;padding:clamp(28px,5vw,56px);display:flex;gap:40px;align-items:center;}
.seasonal-band__body{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:14px;z-index:1;}
.seasonal-band__tag{display:inline-flex;align-items:center;gap:8px;background:var(--primary-container);color:var(--on-primary-container,#351000);border-radius:999px;padding:5px 14px;font:600 12px var(--mono);text-transform:uppercase;}
.seasonal-band h2{font:600 clamp(26px,3vw,34px) var(--display);}
.seasonal-band p{margin:0;color:var(--muted);font-size:18px;max-width:560px;}
.seasonal-band__quote{flex:0 0 33%;min-width:240px;background:color-mix(in srgb,var(--bone) 92%,transparent);border-left:4px solid var(--clay);border-radius:0 12px 12px 0;padding:24px;z-index:1;}
.seasonal-band__quote strong{display:block;margin-bottom:8px;color:var(--ink);}
.seasonal-band__quote p{color:var(--muted);font-style:italic;font-size:16px;line-height:1.6;}

@media (max-width:1040px){
  .home-tools{grid-template-columns:1fr 1fr;}
  .species{grid-template-columns:repeat(3,1fr);}
  .materials-grid{grid-template-columns:1fr 1fr;}
  .rubrics-grid{grid-template-columns:1fr 1fr;}
  .home-widgets,.about-band,.seasonal-band{grid-template-columns:1fr;flex-direction:column;}
  .about-band__icon{min-width:0;width:auto;}
}
@media (max-width:720px){
  .home-tools,.species,.materials-grid,.rubrics-grid,.about-band__features{grid-template-columns:1fr;}
  .species{grid-template-columns:repeat(2,1fr);}
  .seasonal-band__quote{flex-basis:auto;}
}

/* ============================================================
   Stitch-matching article page (single.php / _2)
   ============================================================ */
.article-wrap{padding-block:40px 72px;max-width:1120px;}
.article-wrap .article-head{max-width:820px;}
.article-wrap .meta-row{align-items:center;}
.article-wrap .meta-row .material-symbols-outlined{color:var(--muted);}
.meta-sep{color:var(--line-strong);}
.article-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start;margin-top:28px;}
.article-main{min-width:0;}
/* TOC as a boxed card in content flow */
.article-main .toc{position:static;display:block;background:var(--bone-dark);border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin:22px 0;color:var(--ink);}
.article-main .toc strong{display:flex;align-items:center;gap:8px;color:var(--ink);font:600 18px var(--display);text-transform:none;margin-bottom:10px;}
.article-main .toc strong::before{content:"format_list_bulleted";font-family:'Material Symbols Outlined';color:var(--clay);font-size:22px;}
.article-main .toc a{display:block;border-left:0;padding:6px 0;color:var(--ink);}
.article-main .toc a:hover,.article-main .toc a.is-active{color:var(--clay);}
.prose figure{margin:24px 0;border-radius:14px;overflow:hidden;border:1px solid var(--line);}
.prose figure img{width:100%;border-radius:0;margin:0;}
.prose figcaption{padding:10px 14px;background:var(--bone-dark);color:var(--muted);font-size:13px;}
.disclaimer__head{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.disclaimer__head .material-symbols-outlined{color:var(--moss);}
.disclaimer strong{font-weight:700;}

.article-aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:24px;}
.author-card{background:var(--bone-dark);border:1px solid var(--line);border-radius:14px;padding:22px;}
.author-card__top{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.author-card__top img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--clay);}
.author-card__top h3{margin:0;font:600 18px var(--display);color:var(--ink);}
.author-card__top p{margin:0;color:var(--muted);font-size:13px;}
.author-card__bio{margin:0 0 14px;color:var(--ink);font-size:14px;line-height:1.6;}
.author-card__btn{display:block;text-align:center;border:1px solid var(--ink);border-radius:12px;padding:9px;font-weight:700;font-size:14px;color:var(--ink);transition:background .2s,color .2s;}
.author-card__btn:hover{background:var(--ink);color:var(--bone);}
.popular-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;}
.popular-card h3{margin:0 0 14px;font:600 20px var(--display);color:var(--ink);display:flex;align-items:center;gap:8px;}
.popular-card h3 .material-symbols-outlined{color:var(--clay);}
.popular-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.popular-list a{display:flex;gap:12px;align-items:flex-start;}
.popular-list__num{font:700 14px var(--mono);color:var(--clay);opacity:.5;padding-top:2px;}
.popular-list strong{display:block;font:600 15px/1.3 var(--body);color:var(--ink);}
.popular-list a:hover strong{color:var(--clay);}
.popular-list small{color:var(--muted);font-size:12px;}
@media (max-width:1040px){ .article-cols{grid-template-columns:1fr;} .article-aside{position:static;flex-direction:row;flex-wrap:wrap;} .author-card,.popular-card{flex:1;min-width:260px;} }
@media (max-width:720px){ .article-aside{flex-direction:column;} }

/* ============================================================
   Stitch-matching category page (archive.php / _1)
   ============================================================ */
.cat-page{max-width:1000px;padding-block:40px 72px;}
.cat-head{margin-bottom:48px;}
.cat-head h1{margin:8px 0 14px;color:var(--clay);font:600 clamp(32px,5vw,48px)/1.1 var(--display);letter-spacing:-0.01em;}
.cat-intro{max-width:760px;color:var(--ink);font-size:18px;line-height:1.7;}
.cat-sec-title{display:flex;align-items:center;gap:8px;margin:0 0 20px;font:600 clamp(24px,3vw,32px) var(--display);color:var(--ink);}
.cat-sec-title .material-symbols-outlined{color:var(--clay);}
.cat-tools{margin-bottom:56px;}
.cat-articles{margin-top:8px;}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.cat-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 4px 18px rgba(43,38,34,.05);transition:transform .25s,box-shadow .25s;}
.cat-card:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(43,38,34,.09);}
.cat-card__media{display:block;height:190px;background:var(--bone-dark);}
.cat-card__media img,.cat-card__media .img-ph{width:100%;height:100%;object-fit:cover;}
.cat-card__body{display:flex;flex-direction:column;gap:8px;padding:18px;flex:1;}
.cat-card__body h3{margin:0;font:600 20px/1.25 var(--display);}
.cat-card__body h3 a{color:var(--ink);}
.cat-card:hover h3 a{color:var(--clay);}
.cat-card__body p{margin:0;color:var(--muted);font-size:15px;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.cat-card__more{color:var(--clay);font-weight:700;font-size:14px;align-self:flex-start;}
.cat-card__more:hover{text-decoration:underline;}
@media (max-width:1040px){ .cat-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:720px){ .cat-grid{grid-template-columns:1fr;} }
