/* =========================================================================
   MistCulture — Botanical Precision Design System
   Theme: wp-content/themes/mistculture  •  Hand-written CSS • No Tailwind
   Spec: AGENTS.md v4.2 / botanical-precision/DESIGN.md
   ========================================================================= */

/* ------------------------------------------------------------------ Tokens */
:root {
  /* Color palette (locked tokens) — FINAL PALETTE single source of truth */
  --forest:        #276A47;  /* brand-green — primary CTA, links, active (== --mc-brand-green) */
  --forest-700:    #173D2B;  /* deep-green — dark sections, footer, Grow Room, hover (== --mc-deep-green) */
  --noir:          #173D2B;  /* deep-green — dark consoles, text, footer */
  --noir-800:      #0D3025;  /* footer band */
  --sage:          #7E9654;  /* botanical — growth, optimal, live telemetry, success */
  --sage-ink:      #276A47;  /* sage text on light — AA 4.5:1 */
  --sage-mist:     #F3F0E4;  /* bg — fills, tags */
  --terracotta:    #C46D4C;  /* terracotta — SPARINGLY: POPULAR/NEW tags, critical states only */
  --terracotta-600:#A95538;
  --terracotta-ink:#A95538;  /* terracotta text/buttons on light — AA 4.5:1 */
  --lime:          #7E9654;  /* botanical — live telemetry, status */
  --cream:         #FBF8EF;  /* Alabaster canvas (page bg) */
  --sandstone:     #F1EBDD;  /* Warm Sandstone — container low, code wells */
  --sand:          rgba(197,161,90,0.32);  /* Subtle Sand Border — universal 1px border */
  --white:         #FFFFFF;

  /* Semantic text */
  --ink:           #1C2A23;  /* primary text */
  --ink-2:         #4A5B4F;  /* secondary text (on light) */
  --ink-3:         #59665C;  /* tertiary / muted */
  --line:          rgba(197,161,90,0.32);  /* hairline */

  /* Canonical MistCulture design tokens — alias :root single source of truth */
  --mc-forest-dark: var(--forest-700);
  --mc-forest-mid:  var(--forest);
  --mc-obsidian:    var(--forest-700);
  --mc-cream:       var(--cream);
  --mc-sand:        var(--sandstone);
  --mc-border:      var(--sand);
  --mc-terracotta:  var(--terracotta);
  --mc-sage:        var(--sage);
  --mc-brand-green: #276A47;
  --mc-deep-green:  #173D2B;
  --mc-gold:        #C5A15A;
  --mc-bg:          #F7F7F3;  /* warm ivory page canvas */
  --mc-surface:     #FFFFFF;   /* crisp white bento cards */
  --mc-border-gold: rgba(197,161,90,.28);  /* refined gold card border */
  --mc-text:        #151816;               /* razor-sharp body text */
  --mc-botanical:   var(--sage);
  --mc-font-display: var(--font-display);
  --mc-font-sans:    var(--font-body);
  --mc-font-mono:    var(--font-mono);
  --mc-container:    1320px;
  --mc-space-section: clamp(4rem, 7vw, 6rem);
  --mc-space-hero:    clamp(4rem, 6vw, 5.5rem);
  --mc-radius-card:   16px;
  --mc-radial-glow-terracotta: rgba(185,111,82,.14);
  --mc-radial-glow-sage:       rgba(107,168,68,.10);
  --mc-hero-bg:
    radial-gradient(ellipse at 85% 0%, rgba(23,61,43,.08) 8%, rgba(185,111,82,.06) 6%, transparent 100%);
  --mc-paper-hero:
    linear-gradient(135deg, #F4F1E8 0%, #EAE4D3 100%);

  /* On-dark translucents */
  --w-90: rgba(255,255,255,.90);
  --w-80: rgba(255,255,255,.80);
  --w-70: rgba(255,255,255,.70);
  --w-60: rgba(255,255,255,.60);
  --w-50: rgba(255,255,255,.50);
  --w-40: rgba(255,255,255,.40);
  --w-12: rgba(255,255,255,.12);
  --w-8:  rgba(255,255,255,.08);
  --w-5:  rgba(255,255,255,.05);

  /* Typography */
  --font-display: 'Outfit', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  /* Radii */
  --r-lg: 1rem;         /* 16px cards */
  --r-md: .75rem;       /* 12px inputs/panels */
  --r-sm: .5rem;        /* 8px small controls */
  --r-pill: 9999px;     /* buttons, badges, tabs */

  /* Elevation */
  --shadow-botanical: 0 8px 30px rgba(23,61,43,.08);
  --shadow-hover: 0 14px 40px rgba(23,61,43,.12);
  --shadow-sm: 0 2px 10px rgba(23,61,43,.04);
  --shadow-dropdown: 0 18px 40px -6px rgba(23,61,43,.16);
  --shadow-inner: inset 0 2px 6px rgba(0,0,0,.25);

  /* Deep organic dark-band surface — shared by footer newsletter, home telemetry
     panel, dark tool callouts and Knowledge-Hub bridge. Deep green -> darker. */
  --mc-dark-band:
    radial-gradient(ellipse 720px 420px at 88% -12%, rgba(185,111,82,.18), transparent),
    radial-gradient(ellipse 620px 420px at -12% 18%, rgba(154,90,68,.14), transparent),
    linear-gradient(135deg, var(--forest-700) 0%, var(--noir-800) 46%, var(--noir) 100%);
  --mc-dark-grid:
    linear-gradient(to right, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.035) 1px, transparent 1px);
  --mc-dark-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 240' preserveAspectRatio='xMidYMid slice'%3E%3Cg fill='none' stroke='%23ffffff'%3E%3Cpath d='M-40 196 C 90 120, 180 214, 300 150 C 400 98, 480 172, 660 110' stroke-width='2' stroke-dasharray='2 9' stroke-opacity='.08'/%3E%3Cpath d='M-40 176 C 130 130, 250 196, 380 142 C 480 96, 560 142, 660 92' stroke-width='1.5' stroke-opacity='.05'/%3E%3Cpath d='M-40 150 C 170 116, 300 168, 440 128 C 520 100, 580 122, 660 96' stroke-width='1' stroke-opacity='.035'/%3E%3C/g%3E%3C/svg%3E");
  --shadow-panel-inner: inset 0 1px 0 rgba(255,255,255,.05), inset 0 2px 10px rgba(0,0,0,.18);

  /* Spacing */
  --s1: .25rem; --s2: .5rem; --s3: .75rem; --s4: 1rem;
  --s5: 1.25rem; --s6: 1.5rem; --s8: 2rem; --s12: 3rem; --s16: 4rem;
  --gutter: clamp(1.25rem, 3vw, 2.5rem);
  --container: 1440px;

  /* Category accent palette (Grow Lab domain coding) — FINAL PALETTE */
--accent-lime-soft: rgba(107,168,68,.12);
  --accent-sage:      #6BA844;  /* nutrients / botanical */
  --accent-sage-soft: rgba(107,168,68,.12);
  --accent-terracotta:#B96F52;  /* hydraulics — sparingly */
  --accent-terracotta-soft: rgba(185,111,82,.10);
  --accent-forest:    #276A47;  /* diagnostics — brand green */
  --accent-forest-soft: rgba(39,106,71,.07);

  /* Sticky header/filter offsets */
  --sticky-top: 68px;

  /* Mock-namespace aliases — parity with references/mocks design tokens */
  --forest-dark:      var(--forest-700);
  --forest-green:     var(--forest);
  --canvas-bg:        var(--cream);
  --sandstone-border: var(--sand);
  --sandstone-muted:  var(--ink-3);
  --aeroponic-lime:   var(--lime);
  --charcoal-body:    var(--ink);
  --terracotta-hover: var(--terracotta-600);
}

/* ------------------------------------------------------------------ Reset */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--sticky-top) + 16px); -webkit-text-size-adjust: 100%; }
html {
  overflow-x: clip !important;
}
body {
  margin: 0;
  overflow-x: clip !important;
  font-family: var(--font-body);
  font-size: 1rem; line-height: 1.6;
  color: var(--mc-text);
  background-color: var(--mc-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1,h2,h3,h4,h5,h6 { font-family: var(--font-display); line-height: 1.12; margin: 0 0 .5em; letter-spacing: -.02em; color: var(--ink); }
h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); font-weight: 800; }
h2 { font-size: clamp(1.625rem, 3.4vw, 2.375rem); font-weight: 700; letter-spacing: -.03em; }
h3 { font-size: clamp(1.2rem, 1.9vw, 1.45rem); font-weight: 700; }
h4 { font-size: 1.05rem; font-weight: 600; }
p  { margin: 0 0 1em; }
a  { color: var(--forest); text-decoration: none; }
a:hover { text-decoration: underline; }
img, svg { display: inline-block; max-width: 100%; }
button { font-family: inherit; cursor: pointer; }
ul, ol { margin: 0 0 1em; padding-left: 1.4em; }
::selection { background: var(--lime); color: var(--noir); }

:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 3px solid rgba(39,106,71,.32);
  outline-offset: 2px;
}
:where(a, button, summary):focus:not(:focus-visible) { outline: none; }

/* ------------------------------------------------------------------ Base type */
.display { font-family: var(--font-display); font-weight: 800; letter-spacing: -.02em; }
.lede { font-size: 1.125rem; line-height: 1.7; color: var(--ink-2); }
.mono, code, kbd { font-family: var(--font-mono); }
.label {
  font-family: var(--font-mono); font-size: .68rem; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3);
}
.overline { display: inline-flex; align-items: center; gap: .4rem; }
.small { font-size: .8125rem; color: var(--ink-2); }
.muted { color: var(--ink-3); }
.text-gradient {
  background: linear-gradient(100deg, var(--ink) 0%, var(--forest) 42%, var(--terracotta) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.glass {
  background: rgba(255,255,255,.72);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.85);
  box-shadow: 0 8px 30px rgba(39,106,71,.08);
}

/* Scroll-reveal (progressive: JS adds .reveal, no-JS stays visible) */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.reveal.reveal-in { opacity: 1; transform: none; }

/* ------------------------------------------------------------------ Layout */
.container,
.mc-container,
.mc-wrap,
.site-container,
.archive-container,
.content-area,
.site-main > div,
.archive-inner,
.hub-content-wrap {
  max-width: 1440px !important;
  width: 100% !important;
  margin-inline: auto !important;
  padding-inline: clamp(1.25rem, 3vw, 3rem) !important;
  box-sizing: border-box !important;
}
.section { padding-block: clamp(2.5rem, 5vw, 4rem); }
.section > .container { scroll-margin-top: calc(var(--sticky-top) + 1rem); }
.section-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--s4); margin-bottom: var(--s6); }
.section-head h2 { margin-bottom: .25rem; }
.suite-band { background: linear-gradient(165deg, var(--forest) 0%, var(--noir) 92%); color: #fff; padding-block: clamp(3rem, 6vw, 5rem); }
.suite-band > .container { scroll-margin-top: calc(var(--sticky-top) + 1rem); }
.join-band { background: linear-gradient(160deg, var(--forest) 0%, var(--forest-700) 100%); color: #fff; border-top: 1px solid rgba(255,255,255,.08); padding-block: clamp(3rem, 6vw, 5rem); }
.join-band > .container { scroll-margin-top: calc(var(--sticky-top) + 1rem); }
.hub-tint { background: linear-gradient(180deg, rgba(107,168,68,.10), rgba(107,168,68,.02)); border-top: 1px solid var(--sand); border-bottom: 1px solid var(--sand); padding-block: clamp(3.5rem, 7vw, 5.5rem); }
.stack { display: flex; flex-direction: column; gap: var(--s6); }
.grid { display: grid; gap: var(--s5); }
.grid-2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr)); }
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }

/* --- ITEM 1B: Force knowledge hub grid-3 into fixed 3-column bento --- */
body .grid.grid-3.hub-grid-list,
body .grid-3.hub-grid-list,
body .kh-hub-grid,
body .posts-grid,
body .mc-posts-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.75rem !important;
  max-width: 1440px !important;
  width: 100% !important;
  margin-inline: auto !important;
  padding-inline: clamp(1.25rem, 3vw, 3rem) !important;
}
@media (max-width: 1023px) {
  body .grid.grid-3.hub-grid-list,
  body .grid-3.hub-grid-list,
  body .kh-hub-grid,
  body .posts-grid,
  body .mc-posts-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 640px) {
  body .grid.grid-3.hub-grid-list,
  body .grid-3.hub-grid-list,
  body .kh-hub-grid,
  body .posts-grid,
  body .mc-posts-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Individual knowledge hub cards — pristine #FFFFFF bento surface */
body .grid.grid-3.hub-grid-list > article,
body .grid-3.hub-grid-list > article,
body .kh-hub-grid .hub-card,
body .hub-grid-list article {
  background: #FFFFFF !important;
  border: 1px solid rgba(197, 161, 90, 0.35) !important;
  border-radius: 18px !important;
  padding: 1.75rem !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform .2s ease, border-color .2s ease;
}
body .grid.grid-3.hub-grid-list > article:hover,
body .grid-3.hub-grid-list > article:hover,
body .kh-hub-grid .hub-card:hover,
body .hub-grid-list article:hover {
  transform: translateY(-4px);
  border-color: rgba(197, 161, 90, 0.55) !important;
  box-shadow: 0 22px 46px rgba(23, 61, 43, 0.12) !important;
}
.grid-4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.split { display: grid; grid-template-columns: 1fr; gap: var(--s6); }
.row-between { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); }
.row-center { display: flex; align-items: center; gap: var(--s2); }
.flex-wrap { flex-wrap: wrap; }

/* ------------------------------------------------------------------ Buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  height: 44px; padding: 0 1.5rem;
  border-radius: var(--r-pill); border: 1px solid transparent;
  font-family: var(--font-body); font-weight: 600; font-size: .875rem;
  letter-spacing: .01em; text-decoration: none; white-space: nowrap;
  transition: background .18s ease, box-shadow .18s ease, transform .12s ease, border-color .18s ease;
  user-select: none;
}
.btn:active { transform: translateY(1px) scale(.99); }
.btn:disabled { opacity: .5; cursor: not-allowed; }
.btn-primary { background: #276A47; color: #fff; border-color: #276A47; }
.btn-primary:hover { background: #173D2B; border-color: #173D2B; box-shadow: var(--shadow-botanical); text-decoration: none; }
.btn-brand { background: var(--forest); color: #fff; }
.btn-brand:hover { background: var(--forest-700); box-shadow: var(--shadow-botanical); text-decoration: none; }
.btn-dark { background: var(--noir); color: #fff; border-color: var(--w-12); }
.btn-dark:hover { background: var(--noir-800); text-decoration: none; }
.btn-subtle { background: var(--sandstone); border-color: var(--sand); color: var(--ink); }
.btn-subtle:hover { border-color: var(--forest); color: var(--forest); text-decoration: none; }
.btn-ghost { background: transparent; border-color: var(--sand); color: var(--forest); }
.btn-ghost:hover { border-color: var(--forest); background: rgba(39,106,71,.05); text-decoration: none; }
.btn-sm { height: 36px; padding: 0 1rem; font-size: .8125rem; }
.btn-lg { height: 52px; padding: 0 2rem; font-size: .9375rem; }
.btn-block { width: 100%; }
.iconbtn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: var(--r-sm);
  border: 1px solid var(--sand); background: var(--white); color: var(--ink);
  transition: background .15s ease, border-color .15s ease;
}
.iconbtn:hover { background: var(--sandstone); border-color: var(--sage-ink); }

/* ------------------------------------------------------------------ Chips & badges */
.chip {
  display: inline-flex; align-items: center; gap: .4rem;
  height: 24px; padding: 0 .65rem; border-radius: var(--r-pill);
  font-family: var(--font-mono); font-size: .625rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; white-space: nowrap;
  border: 1px solid transparent;
}
.chip-forest { background: rgba(39,106,71,.08); color: #276A47; border: 1px solid rgba(39,106,71,.22); }
.chip-gold { background: rgba(197,161,90,.12); color: #8A6D3A; border: 1px solid rgba(197,161,90,.32); }
.chip-gold-soft { background: rgba(197,161,90,.10); color: #B96F52; border: 1px solid rgba(197,161,90,.22); }
.chip-terracotta { background: rgba(185,111,82,.12); color: #8A3F28; border-color: rgba(185,111,82,.25); }
.chip-sage { background: var(--sandstone); color: var(--ink-2); border-color: var(--sand); }
.chip-lime { background: var(--lime); color: #0B1F15; }
.count { font-family: var(--font-mono); font-size: .69rem; font-weight: 700; padding: .15rem .5rem; border-radius: var(--r-pill); }
.count-forest { background: rgba(39,106,71,.08); color: var(--forest); }
.count-terracotta { background: rgba(185,111,82,.12); color: var(--terracotta-ink); border: 1px solid rgba(185,111,82,.28); }
.count-soft { background: var(--white); color: var(--ink-2); border: 1px solid var(--sand); }

/* Status dot */
.dot { width: .5rem; height: .5rem; border-radius: 50%; background: var(--sage); flex: none; }
.dot-lime { background: var(--lime); }
.dot-terracotta { background: var(--terracotta); }
.dot-live { animation: pulse 2.4s cubic-bezier(.4,0,.6,1) infinite; }
@keyframes pulse { 0%,100% { opacity: 1; transform: scale(1);} 50% { opacity: .45; transform: scale(.78);} }

/* ------------------------------------------------------------------ Forms */
.field { display: flex; flex-direction: column; gap: .35rem; }
.field-label { font-family: var(--font-mono); font-size: .68rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.input, .select, .textarea {
  width: 100%; height: 44px; padding: 0 .875rem;
  background: var(--cream); border: 1px solid var(--sand); border-radius: var(--r-sm);
  font-family: var(--font-body); font-size: .875rem; color: var(--ink);
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.textarea { height: auto; min-height: 96px; padding-block: .65rem; resize: vertical; }
.input:focus, .select:focus, .textarea:focus {
  outline: none; border-color: var(--forest);
  box-shadow: 0 0 0 3px rgba(39,106,71,.14); background: var(--white);
}
.input::placeholder, .textarea::placeholder { color: var(--ink-3); }
.input-unit { position: relative; }
.input-unit .input { padding-right: 3.4rem; }
.input-unit .unit {
  position: absolute; top: 4px; right: 4px; bottom: 4px; display: inline-flex; align-items: center;
  padding: 0 .6rem; border-radius: calc(var(--r-sm) - 3px);
  background: var(--sandstone); border: 1px solid var(--sand);
  font-family: var(--font-mono); font-size: .72rem; font-weight: 700; color: var(--ink-2);
}
/* On-dark variant */
.input--dark, .select--dark {
  background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.15); color: #fff;
}
.input--dark::placeholder { color: rgba(255,255,255,.4); }
.input--dark:focus { border-color: var(--lime); box-shadow: 0 0 0 3px rgba(185,111,82,.18); background: rgba(255,255,255,.14); }

/* Switch */
.switch { position: relative; display: inline-flex; align-items: center; gap: .6rem; cursor: pointer; }
.switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.switch-track { width: 38px; height: 21px; border-radius: var(--r-pill); background: var(--sand); transition: background .2s ease; position: relative; flex: none; }
.switch-track::after {
  content: ""; position: absolute; top: 2px; left: 2px; width: 17px; height: 17px;
  border-radius: 50%; background: #fff; box-shadow: var(--shadow-sm); transition: transform .2s ease;
}
.switch input:checked + .switch-track { background: var(--lime); }
.switch input:checked + .switch-track::after { transform: translateX(17px); }
.switch input:focus-visible + .switch-track { outline: 3px solid rgba(39,106,71,.32); outline-offset: 2px; }

/* ------------------------------------------------------------------ Cards — unified bento surface spec */
.card {
  background: var(--mc-surface, #FFFFFF);
  border: 1px solid var(--mc-border-gold, rgba(197,161,90,0.28));
  border-radius: var(--mc-radius-card, 16px);
  padding: var(--s6);
  box-shadow: 0 4px 20px rgba(17,26,19,0.04);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.card:hover { transform: translateY(-2px); border-color: #C5A15A; }
.card--flat { box-shadow: none; }
.card--sand { background: var(--sandstone); box-shadow: none; }
.card--dark {
  background: var(--noir); border-color: rgba(255,255,255,.10);
  box-shadow: var(--shadow-inner); color: #fff;
}
.card--dark h1, .card--dark h2, .card--dark h3, .card--dark h4 { color: #fff; }
.card-tight { padding: var(--s4); }

/* Telemetry console (dark HUD) */
.console { background: var(--noir); border: 1px solid rgba(255,255,255,.10); border-radius: var(--r-lg); box-shadow: var(--shadow-inner); padding: var(--s6); color: #fff; }
.console-label { font-family: var(--font-mono); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--w-70); }
.console-value { font-family: var(--font-mono); font-size: clamp(2.2rem, 5vw, 3.25rem); line-height: 1; font-weight: 700; color: var(--lime); letter-spacing: -.03em; }
.console-unit { font-family: var(--font-mono); font-size: 1rem; color: var(--w-70); margin-left: .25rem; }

/* Stat / metric row */
.stat-line { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s4); padding-block: .35rem; border-bottom: 1px dotted rgba(255,255,255,.16); font-size: .8125rem; }
.stat-line:last-child { border-bottom: 0; }
.stat-line .k { color: var(--w-70); }
.stat-line .v { font-family: var(--font-mono); color: var(--w-90); font-weight: 600; }

/* ------------------------------------------------------------------ Site header — true sticky pure-white header */
.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  background-color: #FFFFFF !important;
  border-bottom: 1px solid rgba(197, 161, 90, 0.28) !important;
  box-shadow: 0 4px 20px rgba(21, 24, 22, 0.04) !important;
}
body.admin-bar .site-header { top: 32px !important; }
@media screen and (max-width: 782px) {
  body.admin-bar .site-header { top: 46px !important; }
}
.headerbar {
  position: relative !important;
  background-color: #FFFFFF !important;
  backdrop-filter: none !important;
  border-bottom: 1px solid rgba(197, 161, 90, 0.28) !important;
  box-shadow: 0 4px 20px rgba(21, 24, 22, 0.04) !important;
  transition: none !important;
}
.headerbar-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  flex-wrap: nowrap !important;
  height: 68px !important;
}
@media (max-width: 640px) {
  .headerbar-inner { height: 60px !important; gap: .5rem !important; }
}
/* Tool engine shell — warm paper canvas, dark hero header (reference) */
.mc-v3 { background: #F7F7F3; }
body.single-mistculture_tool .mc-v3 .mc-hero,
body .mc-v3 .mc-hero {
  position: relative !important;
  overflow: hidden !important;
  border-bottom: none !important;
}
body.single-mistculture_tool .mc-v3 .mc-hero::before,
body .mc-v3 .mc-hero::before {
  content: none !important;
}
body .mc-v3 .mc-hero > .container,
body .mc-v3 .mc-hero > div {
  position: relative !important;
  z-index: 1 !important;
}
.mc-crumb { background: transparent !important; }

/* Brand — fixed logo size, no squish */
.brand { display: inline-flex !important; align-items: center !important; gap: .7rem !important; color: var(--ink) !important; flex-shrink: 0 !important; }
.brand:hover { text-decoration: none; }
.brand-logo { height: 40px !important; width: auto !important; max-width: none !important; object-fit: contain !important; display: block !important; flex-shrink: 0 !important; }
.brand-logo--drawer { height: 40px !important; flex-shrink: 0 !important; }

/* Nav */
.primary-nav { display: none; align-items: center; gap: 1.15rem; flex-wrap: nowrap; white-space: nowrap; }
.navlink {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .5rem .8rem; border-radius: var(--r-md);
  font-size: .875rem; font-weight: 500; color: var(--ink);
  border: 0; background: transparent;
  transition: background .15s ease, color .15s ease;
}
.navlink:hover { background: rgba(247,247,243,.75); text-decoration: none; }
.navlink .ic { color: var(--ink-3); transition: transform .15s ease; }
.navlink[aria-expanded="true"] .ic { transform: rotate(180deg); }
.navlink.is-active { color: var(--forest); font-weight: 600; }
.header-cta {
  display: inline-flex !important; align-items: center !important; gap: 0.45rem !important;
  white-space: nowrap !important; flex-shrink: 0 !important;
  height: auto; padding: 0.5rem 0.95rem !important;
  background: #173D2B !important; color: #FFFFFF !important; border-radius: 999px !important;
  font-size: .8125rem; font-weight: 600;
  transition: background .15s ease, box-shadow .18s ease;
}
.navlink-group { display: inline-flex !important; align-items: center !important; gap: 0.2rem !important; flex-wrap: nowrap !important; white-space: nowrap !important; }
.header-cta:hover { background: var(--forest-700); box-shadow: var(--shadow-botanical); text-decoration: none; }
.header-cta-count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 1.15rem; height: 1.15rem; padding: 0 .35rem;
  background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.3);
  border-radius: 99px; color: #FFFFFF;
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: .6rem; font-weight: 700; line-height: 1;
}
.header-cta-count[hidden] { display: none; }

/* Search box */
.searchbox { position: relative; display: none; }
.searchbox .input { height: 38px; padding-left: 2.3rem; font-size: .8125rem; width: 260px; }
.searchbox .ic { position: absolute; left: .7rem; top: 50%; transform: translateY(-50%); color: var(--ink-3); pointer-events: none; }
.kbd { font-family: var(--font-mono); font-size: .6rem; color: var(--ink-2); background: var(--white); border: 1px solid var(--sand); border-radius: .3rem; padding: .15rem .35rem; position: absolute; right: .55rem; top: 50%; transform: translateY(-50%); }
.iconbtn--mobile { display: inline-flex; }

/* ------------------------------------------------------------------ Mega menu — crisp #FFFFFF surface */
.mega {
  position: absolute; top: 100%; left: 0; right: 0;
  background: #FFFFFF !important; border-bottom: 1px solid rgba(197, 161, 90, 0.28) !important;
  box-shadow: 0 18px 40px -6px rgba(23, 61, 43, 0.16) !important;
  max-height: calc(100vh - 68px); overflow: auto;
  z-index: 1000 !important;
}
.mega-inner { padding-block: var(--s6); }
.mega-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s4); padding-bottom: var(--s4); border-bottom: 1px solid rgba(197, 161, 90, 0.28); margin-bottom: var(--s6); }
.mega-grid { display: grid; grid-template-columns: 1fr; gap: var(--s4); }

.mega-foot { margin-top: var(--s5); padding-top: var(--s4); border-top: 1px solid rgba(197, 161, 90, 0.28); }
.mega-foot a { display: flex; align-items: center; justify-content: space-between; gap: .5rem; font-family: var(--font-mono); font-size: .72rem; font-weight: 600; color: var(--forest); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; }
.mega-foot a:hover { color: #C5A15A; }
.mega-foot a:hover .ic { transform: translateX(2px); color: #C5A15A; }
.mega-foot a .ic { transition: transform .15s ease; color: #C5A15A; }

/* Hub pillar cards inside mega — white cards, forest headings, gold badges */
.mega-card { padding: var(--s4); border-radius: var(--r-md); border: 1px solid rgba(197, 161, 90, 0.28); background: #FFFFFF; transition: border-color .15s ease, box-shadow .15s ease; }
.mega-card:hover { border-color: #C5A15A; box-shadow: var(--shadow-botanical); }
.mega-card--active { border-color: #C5A15A; border-width: 2px; }
.mega-card-icon { width: 36px; height: 36px; border-radius: var(--r-sm); background: var(--forest); color: var(--lime); display: grid; place-items: center; }
.mega-card-icon--sandstone { background: var(--sandstone); color: var(--forest); }
.mega-card h4 { margin: .75rem 0 .35rem; font-size: .94rem; color: #173D2B !important; }
.mega-card h4 a { color: #173D2B !important; }
.mega-card h4 a:hover { color: #C5A15A !important; }
.mega-card ul { list-style: none; padding: 0; margin: 0; }
.mega-card li { display: flex; align-items: center; justify-content: space-between; gap: .5rem; font-size: .8125rem; color: var(--ink-2); padding: .3rem .35rem; border-radius: var(--r-sm); }
.mega-card li:hover { background: #F7F7F3; color: #173D2B; }
.mega-card li .n { font-family: var(--font-mono); font-size: .66rem; color: var(--ink-3); }
.mega-card-foot { display: flex; align-items: center; justify-content: space-between; font-family: var(--font-mono); font-size: .66rem; font-weight: 600; color: #276A47; letter-spacing: .08em; padding-top: .65rem; margin-top: .5rem; border-top: 1px solid rgba(197, 161, 90, 0.28); text-transform: uppercase; }
.mega-card-foot:hover { color: #C5A15A; }
.mega-card-foot:hover .ic { transform: translateX(2px); color: #C5A15A; }
.mega-card-foot .ic { transition: transform .15s ease; }

/* Mega-menu badges */
.mega-card .n { color: #C5A15A; font-weight: 700; }

/* Grow Lab mega reuses the Hub's light-card system */
.mega-card li a { color: inherit; text-decoration: none; color: #173D2B; }
.mega-card li a:hover { color: #C5A15A; }

/* ------------------------------------------------------------------ Mobile drawer — crisp #FFFFFF surface */
.drawer {
  position: fixed; inset: 0 0 0 auto; width: min(92vw, 400px); z-index: 70;
  background: #FFFFFF !important; border-left: 1px solid rgba(197, 161, 90, 0.28) !important;
  transform: translateX(105%); transition: transform .28s cubic-bezier(.16,1,.3,1);
  display: flex; flex-direction: column;
}
.drawer.is-open { transform: translateX(0); }
.drawer-head { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); padding: var(--s4); border-bottom: 1px solid rgba(197, 161, 90, 0.28); background: #FFFFFF !important; }
.drawer-body { padding: var(--s4); overflow-y: auto; flex: 1; }
.drawer-link { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .85rem .5rem; margin-bottom: .25rem; font-weight: 600; font-size: .95rem; color: #173D2B; border-radius: var(--r-sm); border-bottom: 1px solid rgba(197, 161, 90, 0.28); }
.drawer-link:hover, .drawer-link[aria-expanded="true"] { background: #F7F7F3; color: #276A47; text-decoration: none; }
.drawer-sublink { display: block; padding: .55rem .9rem; font-size: .85rem; color: var(--ink-2); border-left: 2px solid rgba(197, 161, 90, 0.28); margin-left: .9rem; }
.drawer-sublink:hover { color: #276A47; border-color: #276A47; text-decoration: none; background: #F7F7F3; }
.drawer-sub { display: none; }
.drawer-sub.is-open { display: block; }
.drawer-cta { margin-top: var(--s4); display: flex; flex-direction: column; gap: var(--s3); }
.backdrop { position: fixed; inset: 0; z-index: 60; background: rgba(23, 61, 43, 0.45); opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.backdrop.is-open { opacity: 1; pointer-events: auto; }
body.drawer-lock { overflow: hidden; }
.drawer-cta .btn-primary { background: #173D2B !important; color: #FFFFFF !important; border-color: #173D2B !important; }
.drawer-cta .btn-primary:hover { background: #276A47 !important; }
.drawer-cta .btn-subtle { background: #F7F7F3 !important; color: #173D2B !important; border: 1px solid rgba(197, 161, 90, 0.28) !important; }
.drawer-cta .btn-subtle:hover { background: #F7F7F3 !important; color: #C5A15A !important; }

/* ------------------------------------------------------------------ Footer */
.site-footer { background: var(--noir); color: #fff; margin-top: auto; border-top: 1px solid rgba(255,255,255,.08); }
.newsletter-band { background: radial-gradient(ellipse 720px 420px at 88% -12%, rgba(185,111,82,.22), transparent), radial-gradient(ellipse 620px 420px at -12% 18%, rgba(154,90,68,.16), transparent), linear-gradient(135deg, var(--forest-700) 0%, var(--noir-800) 46%, var(--noir) 100%); border-bottom: 1px solid rgba(255,255,255,.10); padding-block: 3rem; overflow: hidden; position: relative; }
.newsletter-band::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to right, rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 36px 36px; -webkit-mask-image: radial-gradient(ellipse 90% 70% at 50% 20%, #000 40%, transparent 90%); mask-image: radial-gradient(ellipse 90% 70% at 50% 20%, #000 40%, transparent 90%); }
.newsletter-ornament { position: absolute; inset: 0; width: 100%; height: 100%; color: rgba(255,255,255,.05); pointer-events: none; }
.newsletter-band .container, .newsletter-band .newsletter-grid { position: relative; z-index: 1; }
.newsletter-grid { display: grid; grid-template-columns: 1fr; gap: var(--s6); align-items: center; }
.newsletter-form { display: flex; flex-direction: column; gap: var(--s3); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.10); border-radius: var(--r-lg); padding: var(--s6); }
.newsletter-form .form-row { display: grid; grid-template-columns: 1fr; gap: var(--s3); align-items: end; }
.newsletter-form .form-row .btn { align-self: end; }
.newsletter-form .btn-primary { background: var(--mc-gold); color: var(--forest-700); border-color: var(--mc-gold); font-weight: 700; }
.newsletter-form .btn-primary:hover { background: #C5A15A; border-color: #C5A15A; color: var(--noir-800); }
.newsletter-micro { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); font-family: var(--font-mono); font-size: .64rem; color: var(--w-40); }
.newsletter-micro span { display: inline-flex; align-items: center; gap: .35rem; }
.footer-grid { display: grid; grid-template-columns: 1fr; gap: 2.5rem; padding-block: 3.5rem; }
.footer-col-title { color: #A8C47D; font-family: var(--font-display); text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; font-weight: 700; }
.footer-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .7rem; }
.footer-col ul li { line-height: 1.4; }
.footer-col a { color: var(--w-70); font-size: .875rem; }
.footer-col a:hover { color: #fff; text-decoration: none; }
.footer-brand { display: flex; align-items: center; gap: .75rem; }
/* Footer wordmark ships as a pre-recolored two-tone asset (mistculture-logo-dark.png):
   the greens/darks are cream #FFFFFF and the "Culture" + droplet stay brand
   terracotta — no CSS filter, which would bleach the accent. */
.footer-brand-logo { height: 44px; width: auto; object-fit: contain; display: block; }
.footer-note { color: var(--w-70); font-size: .8125rem; line-height: 1.65; max-width: 30rem; }
.footer-status { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.10); border-radius: var(--r-md); padding: var(--s4); font-family: var(--font-mono); font-size: .72rem; max-width: 30rem; }
.social-row { display: flex; gap: .5rem; }
.social-row a { width: 34px; height: 34px; border-radius: var(--r-md); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.10); display: grid; place-items: center; color: var(--w-70); transition: background .15s ease, color .15s ease; }
.social-row a:hover { background: rgba(255,255,255,.15); color: #fff; }
.footer-legal { border-top: 1px solid var(--mc-gold); background: #101F1A; padding-block: 1.25rem; }
.footer-legal-inner { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: var(--s4); font-family: var(--font-mono); font-size: .68rem; color: var(--w-70); }
.footer-legal a { color: var(--w-70); }
.footer-legal a:hover { color: #fff; text-decoration: none; }

/* Footer utilities */
.footer-status-row { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); }
.footer-status-row + .footer-status-row { margin-top: .5rem; }
.footer-status-label { color: var(--w-40); }
.footer-status-value { font-weight: 600; color: #A8C47D; }
.social-icon { width: 1em; height: 1em; }
.consent-banner { position: fixed; right: 20px; bottom: 20px; z-index: 9998; max-width: 400px; width: min(400px, calc(100vw - 40px)); background: var(--noir); color: #fff; border-radius: var(--r-lg); padding: var(--s4); font-size: .75rem; line-height: 1.6; box-shadow: var(--shadow-dropdown); }
.consent-banner strong { color: #A8C47D; }
.consent-banner button { cursor: pointer; font-size: .68rem; }
.consent-banner .btn-decline { background: #2A2F2C; border: 1px solid rgba(255,255,255,.25); border-radius: var(--radius-card); color: #FFFFFF; margin-right: 1rem; padding: 0 1.25rem; font-weight: 700; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.consent-banner .btn-accept { background: #A8C47D; color: #173D2B; border: 0; padding: 0 1.25rem; font-weight: 700; }

/* ─── Consent banner — phone polish (stacked actions, ≥44px touch targets) ─── */
@media (max-width: 480px) {
	.consent-banner { left: 0; right: 0; bottom: 0; max-width: none; width: 100%; border-radius: 0; padding: var(--s4) var(--s5) calc(var(--s4) + env(safe-area-inset-bottom)); }
	.consent-banner > div:last-child { display: flex; flex-direction: column; gap: .75rem; margin-top: 1rem; }
	.consent-banner button { width: 100%; min-height: 44px; margin: 0; padding: 0 1rem; }
	.consent-banner .btn-decline { border: 1px solid rgba(255,255,255,.25); border-radius: var(--radius-card); color: var(--w-80); font-weight: 600; }
}

.footer-col-title { margin-bottom: 1rem; }
.btn-growroom { border-color: rgba(255,255,255,.15); font-size: .68rem; padding: 0 .8rem; }

/* Newsletter utilities */
.newsletter-title { color: #fff; margin-bottom: .5rem; }
.newsletter-desc { color: var(--w-70); font-size: .9375rem; max-width: 32rem; }
.newsletter-features { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1rem; }
.newsletter-feature { display: inline-flex; align-items: center; gap: .35rem; font-family: var(--font-mono); font-size: .68rem; color: var(--w-70); }
.field-label--dark { color: var(--w-70); }
.subscribe-ok { padding: .6rem; border-radius: var(--r-sm); background: var(--lime); color: var(--noir); font-size: .85rem; font-weight: 600; text-align: center; }

/* ------------------------------------------------------------------ Breadcrumb */
body .mc-v3 .crumb,
body .mc-v3 .site-breadcrumbs {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-family: var(--font-mono, monospace) !important;
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  color: #4A5B4F !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 1.15rem !important;
}
body .mc-v3 .crumb a,
body .mc-v3 .site-breadcrumbs a {
  color: #276A47 !important;
  background: none !important;
  text-decoration: none !important;
}
body .mc-v3 .crumb a:hover,
body .mc-v3 .site-breadcrumbs a:hover {
  color: #173D2B !important;
  text-decoration: underline !important;
}
body .mc-v3 .crumb-sep,
body .mc-v3 .site-breadcrumbs .crumb-sep {
  color: #4A5B4F !important;
}
/* Breadcrumbs sitting on dark bands need light tones (AA on --noir) */
.kh-audit-bar .crumb, .kh-audit-bar .crumb-cur { color: var(--w-80); }
.kh-audit-bar .crumb a { color: #FFFFFF; }
.kh-audit-bar .crumb a:hover { color: #FFFFFF; text-decoration: underline; }
.kh-audit-bar .crumb-sep { color: var(--w-60); }

/* Semantic breadcrumb list (<nav class="site-breadcrumbs"><ol class="crumb-list">) */
.crumb-list { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: 0; margin: 0; }
.crumb-list li { margin: 0; }
.crumb-list a { text-decoration: none; }
.crumb-list a:hover { text-decoration: underline; }
/* High-contrast tones matching theme.css (dark bands) */
.site-breadcrumbs, .site-breadcrumbs .crumb-cur { color: rgba(255, 252, 245, .85); }
.site-breadcrumbs .crumb-sep { color: rgba(255, 252, 245, .4); }
.site-breadcrumbs a { color: rgba(255, 252, 245, .85); }
.site-breadcrumbs a:hover { color: #FFFFFF; }
.site-breadcrumbs .crumb-cur[aria-current="page"] { color: var(--terracotta); }
/* Breathing room between the breadcrumbs and the hero title on every page/category. */
.site-breadcrumbs, .crumb, .crumb-list { margin-bottom: 1.25rem !important; }
/* Light-context breadcrumbs (non-hero pages) fall back to the base ink palette.
   Dark-hero contexts carry their own higher-specificity overrides. */
.page-canvas > .site-breadcrumbs, .page-canvas > .site-breadcrumbs a { color: var(--ink-2); }
.page-canvas > .site-breadcrumbs .crumb-sep { color: var(--ink-3); }
/* Dark-context breadcrumbs inside the Dark Forest Vignette (.hero hub-hero).
   The pillar hub hero now reuses the shared .hero dark wash, so crumbs must
   read light-on-dark — override the base terracotta current-crumb with a
   light-safe tone. */
.page-canvas > .hub-hero .site-breadcrumbs,
.page-canvas > .hub-hero .site-breadcrumbs a { color: rgba(255,255,255,.92); }
.page-canvas > .hub-hero .site-breadcrumbs .crumb-sep { color: rgba(255,255,255,.5); }
.page-canvas > .hub-hero .site-breadcrumbs .crumb-cur[aria-current="page"] { color: var(--terracotta); }

/* ------------------------------------------------------------------ Footer flow
   Let the final section's own padding provide breathing room; avoid an extra
   blank band between the content and the global newsletter/footer. */
#main-content > section:last-of-type,
#main-content > .mc-band:last-child {
	margin-bottom: 0 !important;
}
/* The global newsletter band lives in footer.php and is intentionally flush with
   the footer — never give it a trailing gap. */
#main-content .newsletter-band, .newsletter-band { margin-bottom: 0 !important; }
/* The contact dual-pillar explore band is a full-bleed dark section that flows
   straight into the dark newsletter band — no breather gap (it would render as a
   stray cream strip between two dark bands). */
#main-content > .contact-explore-section,
#main-content > .contact-explore-section.engine-knowledge-cta { margin-bottom: 0 !important; }
/* The 404 quick-links bento is the final #main-content section and flows straight into
   the dark newsletter band — no breather gap (it would render as a stray cream
   strip between the sand bento and the dark band). */
#main-content > .mc-404-bento-section,
#main-content > section.mc-404-bento-section { margin-bottom: 0 !important; }

/* ------------------------------------------------------------------ Tabs / pills */
.tabs { display: flex; flex-wrap: wrap; gap: .5rem; }
.tab {
  display: inline-flex; align-items: center; gap: .4rem; height: 36px; padding: 0 1rem;
  border-radius: var(--r-pill); border: 1px solid var(--sand); background: #fff;
  font-family: var(--font-body); font-size: .8125rem; font-weight: 500; color: var(--ink-2);
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.tab:hover { background: var(--sandstone); }
.tab.active { background: var(--noir); color: #fff; border-color: var(--noir); }
.tab--mono { font-family: var(--font-mono); font-size: .68rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }

/* ------------------------------------------------------------------ Tables */
.table-wrap { overflow-x: auto; border: 1px solid var(--sand); border-radius: var(--r-md); background: #fff; }
.table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.table th { text-align: left; font-family: var(--font-mono); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); font-weight: 600; padding: .75rem 1rem; border-bottom: 1px solid var(--sand); background: var(--sandstone); white-space: nowrap; }
.table td { padding: .7rem 1rem; border-bottom: 1px solid var(--sand); color: var(--ink-2); }
.table tr:last-child td { border-bottom: 0; }
.table tbody tr:hover td { background: var(--sage-mist); }

/* ------------------------------------------------------------------ Alerts */
.alert { display: flex; gap: .75rem; align-items: flex-start; padding: .9rem 1rem; border-radius: var(--r-md); border: 1px solid; font-size: .875rem; }
.alert-info { color: var(--forest); background: var(--sage-mist); border-color: rgba(107,168,68,.4); }
.alert-warn { color: var(--terracotta-ink); background: rgba(185,111,82,.09); border-color: rgba(185,111,82,.3); }
.alert .ic { flex: none; margin-top: .15rem; }

/* ------------------------------------------------------------------ Modal */
.modal { position: fixed; inset: 0; z-index: 110; display: grid; place-items: center; padding: var(--s4); background: rgba(23,61,43,.6); backdrop-filter: blur(4px); }
.modal[hidden] { display: none; }
body.modal-lock { overflow: hidden; }
.modal-card { width: min(100%, 480px); background: #fff; border-radius: var(--r-lg); padding: var(--s8); position: relative; box-shadow: var(--shadow-dropdown); animation: rise .22s cubic-bezier(.16,1,.3,1); }
.modal-card .iconbtn { position: absolute; top: 1rem; right: 1rem; }
@keyframes rise { from { transform: translateY(12px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.modal-icon { width: 48px; height: 48px; border-radius: var(--r-md); background: var(--sage-mist); color: var(--forest); display: grid; place-items: center; margin-bottom: var(--s4); }

/* ------------------------------------------------------------------ Divider / helpers */
.divider { height: 1px; background: var(--sand); border: 0; margin: var(--s6) 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
[hidden] { display: none !important; }

/* Icons */
.ic { width: 1em; height: 1em; vertical-align: -0.125em; flex: none; }
.ic-sm { width: .875em; height: .875em; }
.ic-md { width: 1.1em; height: 1.1em; }
.ic-lg { width: 1.3em; height: 1.3em; }
.ic-xl { width: 1.25em; height: 1.25em; }
.ic-32 { width: 32px; height: 32px; }

.input--full { width: 100%; }

.mega-card-icon--sandstone { background: var(--sandstone); color: var(--forest); }

/* ------------------------------------------------------------------ Responsive */
@media (min-width: 640px) {
  .newsletter-form .form-row { grid-template-columns: 1fr 1fr; grid-auto-flow: row; }
  .newsletter-form .form-row .btn { grid-column: 1 / -1; }
}

@media (min-width: 1024px) {
  .newsletter-form .form-row { grid-template-columns: 1fr 1fr auto; grid-auto-flow: column; }
  .newsletter-form .form-row .btn { grid-column: auto; }
}

@media (min-width: 768px) {
  .footer-legal-inner { flex-direction: row; }
  .footer-legal-nav { display: flex; gap: 1.5rem; }
  .mega-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; gap: 2.5rem; }
}

@media (min-width: 900px) {
  .split { grid-template-columns: 2fr 1fr; }
  .split--6 { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 960px) {
  .mega-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 1024px) {
  .primary-nav { display: flex; }
  .iconbtn--mobile { display: none; }
  .mega-grid { grid-template-columns: repeat(3, 1fr); }
  .newsletter-grid { grid-template-columns: 5fr 6fr; }
}

@media (min-width: 1280px) {
  .searchbox { display: block; }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 3rem; }
}

/* ------------------------------------------------------------------ Global editorial hero component — universal across all templates */
body .hero,
body .kh-hero,
body .hub-hero,
body .domain-hero,
body .about-hero,
body .faq-hero,
body .contact-hero,
body .mc-hero,
body .mc-single-hero,
body .author-hero,
body .search-hero,
body .archive-hero,
body .page-hero {
  background:
    radial-gradient(circle at 12% 18%, rgba(197, 161, 90, 0.22) 0%, transparent 48%),
    radial-gradient(circle at 88% 82%, rgba(39, 106, 71, 0.14) 0%, transparent 52%),
    linear-gradient(135deg, #F4F1E8 0%, #EAE4D3 100%) !important;
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding-block: clamp(3rem, 5.5vw, 4.5rem) !important;
  padding-inline: 0 !important;
  border-bottom: 1px solid rgba(197, 161, 90, 0.35) !important;
  position: relative !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
body .hero::before,
body .kh-hero::before,
body .hub-hero::before,
body .domain-hero::before,
body .about-hero::before,
body .faq-hero::before,
body .contact-hero::before,
body .mc-hero::before,
body .mc-single-hero::before,
body .author-hero::before,
body .search-hero::before,
body .archive-hero::before,
body .page-hero::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image: url('../img/leaf-outline.svg');
  background-repeat: no-repeat; background-position: right 6% center; background-size: contain;
  opacity: 0.18 !important;
}
.hero > .container,
.kh-hero > .container,
.hub-hero > .container,
.domain-hero > .container,
.about-hero > .container,
.faq-hero > .container,
.contact-hero > .container,
.mc-hero > .container,
.mc-single-hero > .container,
.author-hero > .container,
.search-hero > .container,
.archive-hero > .container,
.page-hero > .container {
  position: relative;
  z-index: 1;
  width: 100% !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
  padding-inline: clamp(1.25rem, 3vw, 3rem) !important;
  box-sizing: border-box !important;
}
.hero-split { display: grid; grid-template-columns: 1fr; gap: clamp(2rem, 4vw, 3rem); align-items: center; }
@media (min-width: 1024px) {
  .hero-split { grid-template-columns: 1.55fr 1fr; }
}
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .35rem .85rem; border-radius: var(--r-pill);
  background: rgba(39,106,71,.10); border: 1px solid rgba(39,106,71,.20);
  font-family: var(--font-mono); font-size: .68rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: var(--ink);
}
.hero-eyebrow .dot { width: .45rem; height: .45rem; background: var(--lime); }
.hero-title {
  font-family: var(--font-display); font-weight: 800; font-size: clamp(2.35rem, 4.1vw, 3.5rem);
  line-height: 1.04; letter-spacing: -.025em; color: var(--ink); margin: 0 0 .75rem;
}
.hero .hero-title { color: var(--forest-700); }
.hero-title .hero-hl { color: #C5A15A; }
.hero-lede {
  font-size: clamp(1rem, 1.5vw, 1.125rem); line-height: 1.7;
  color: rgba(21,24,22,.72); max-width: 40rem; margin: 0 0 1.5rem;
}
.hero-cta { display: flex; flex-wrap: wrap; gap: .75rem; }
/* Light hero CTA overrides — brand green primary, green outline ghost */
.hero .btn-primary {
  background: var(--forest); color: #fff; border-color: var(--forest);
}
.hero .btn-primary:hover { background: var(--forest-700); border-color: var(--forest-700); }
.hero .btn-ghost, .hero .btn-subtle {
  background: transparent; border: 1px solid var(--forest); color: var(--forest);
}
.hero .btn-ghost svg, .hero .btn-subtle svg { color: var(--forest); }
.hero .btn-ghost:hover, .hero .btn-subtle:hover { background: rgba(39,106,71,.08); border-color: var(--forest-700); color: var(--forest-700); }
.hero-proof { margin-top: 1.5rem; gap: 1rem 1.5rem; }
.hero-proof-badge {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .45rem .9rem; border-radius: var(--r-pill);
  background: #fff; border: 1px solid rgba(197,161,90,.35);
  font-size: .8rem; color: var(--ink);
}
.hero-proof-badge svg { width: 16px; height: 16px; color: var(--terracotta); }
.hero-proof-badge strong { color: var(--ink); font-weight: 700; }
.hero .label,
.about-hero .label,
.faq-hero .label { color: var(--ink-2); }
.hero .mono.small,
.about-hero .mono.small,
.faq-hero .mono.small { color: var(--ink-3) !important; }
.contact-hero .mono.small { color: var(--ink-3) !important; background: transparent !important; }
/* High-contrast hero kicker — brand green, AA-safe on light bg */
.hero-kicker { color: var(--forest) !important; }
/* Top-right system meta — ink on light */
.hero-meta { display: inline-flex; align-items: center; flex-wrap: wrap; }
.hero-meta-sys { color: var(--ink) !important; font-weight: 700; }
.hero-meta-sep { margin: 0 .5rem; color: var(--ink-3) !important; }
.hero-meta-tag { color: #B96F52 !important; font-weight: 700; }
/* Bottom-left footnote — ink-3 on light */
.hero-footnote { color: var(--ink-3) !important; }

/* Hero visualizer — light card on light hero */
.hero-viz {
  background: #FFFFFF;
  border: 1px solid rgba(23,61,43,.08); border-radius: 16px;
  padding: clamp(1.5rem, 2.4vw, 1.75rem);
  box-shadow: 0 8px 30px rgba(23,61,43,.08);
  position: relative; overflow: hidden;
}
.hero-viz-head {
  display: flex; align-items: center; justify-content: space-between;
  padding-bottom: var(--s3); border-bottom: 1px solid rgba(197,161,90,.3); position: relative; z-index: 1;
}
.hero-viz-chip {
  display: inline-flex; align-items: center; padding: .16rem .55rem; margin-right: .4rem;
  border-radius: var(--r-pill); background: var(--lime); color: var(--noir);
  font-family: var(--font-mono); font-size: .56rem; font-weight: 800;
  letter-spacing: .12em; text-transform: uppercase;
}
.hero-viz-title { font-family: var(--font-display); font-weight: 700; font-size: .82rem; color: var(--ink); letter-spacing: -.01em; }
.hero-viz-badge {
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .2rem .6rem; border-radius: var(--r-pill);
  background: rgba(247,247,243,.9); border: 1px solid var(--sand);
  font-family: var(--font-mono); font-size: .6rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; color: var(--forest);
}
.hero-viz > *:not(.hero-viz-head) { position: relative; z-index: 1; }

/* Hero mini VPD widget — interactive */
.hero-widget-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s4); margin-block: var(--s5); }
.hero-widget-field {
  display: flex; flex-direction: column; gap: .65rem; padding: var(--s4);
  border-radius: .75rem; background: rgba(255,255,255,.82); border: 1px solid var(--sand);
  min-width: 0;
}
.hero-widget-field label {
  display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; gap: .25rem .35rem;
  font-family: var(--font-mono); font-size: .62rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3);
  min-width: 0;
}
.hero-widget-field label > span:first-child { min-width: 0; white-space: nowrap; }
.hero-widget-field label > .hero-value-pill { margin-left: auto; flex: none; }
.hero-slider-val { color: var(--forest); font-size: .72rem; }
/* Range — transparent 26px-tall input (generous touch target) with a 10px
   runnable track and a 22px thumb, so nothing clips inside the field. */
.hero-widget-field .hero-slider {
  width: 100%; height: 26px; margin: .15rem 0 0;
  -webkit-appearance: none; appearance: none; cursor: pointer;
  background: transparent; border: 0; outline: none;
}
.hero-widget-field .hero-slider::-webkit-slider-runnable-track {
  height: 10px; border-radius: 99px;
  background: linear-gradient(to right, var(--sage) 0%, var(--sage-mist) 100%);
  border: 1px solid var(--sand);
}
.hero-widget-field .hero-slider::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none; width: 22px; height: 22px; margin-top: -7px;
  border-radius: 50%; background: var(--forest); border: 3px solid var(--white);
  box-shadow: 0 1px 4px rgba(23,61,43,.35); cursor: pointer;
  transition: transform .12s ease, box-shadow .12s ease;
}
.hero-widget-field .hero-slider::-webkit-slider-thumb:hover { transform: scale(1.12); box-shadow: 0 2px 10px rgba(23,61,43,.45); }
.hero-widget-field .hero-slider::-moz-range-track {
  height: 10px; border-radius: 99px;
  background: linear-gradient(to right, var(--sage) 0%, var(--sage-mist) 100%);
  border: 1px solid var(--sand);
}
.hero-widget-field .hero-slider::-moz-range-thumb {
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--forest); border: 3px solid var(--white);
  box-shadow: 0 1px 4px rgba(23,61,43,.35); cursor: pointer;
}
.hero-widget-field .hero-slider:focus-visible { outline: 2px solid var(--forest); outline-offset: 4px; }
.hero-widget-unit { font-family: var(--font-mono); font-size: .62rem; font-weight: 700; color: var(--forest); }
/* Slider readouts — padded mono pill so values never crowd the card edge */
.hero-value-pill {
  display: inline-flex; align-items: baseline; gap: .12rem;
  padding: .2rem .42rem; border-radius: var(--r-pill);
  background: var(--sandstone); border: 1px solid var(--sand);
  font-family: var(--font-mono); font-size: .62rem; font-weight: 700;
  color: var(--forest); line-height: 1; white-space: nowrap;
}
.hero-value-pill .hero-slider-val { font-size: .62rem; }
.hero-value-unit { font-family: var(--font-mono); font-size: .54rem; font-weight: 700; color: var(--ink-3); }
.hero-widget-results {
  display: flex; align-items: stretch; justify-content: space-between; gap: var(--s3);
  margin-top: var(--s3); padding: var(--s4); border-radius: .75rem;
  background: var(--white); border: 1px solid var(--forest);
}
.hero-widget-result { display: flex; flex-direction: column; justify-content: center; }
.hero-widget-result .hero-widget-label {
  font-family: var(--font-mono); font-size: .62rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--forest);
}
.hero-widget-value {
  font-family: var(--font-mono); font-size: clamp(1.6rem, 3.5vw, 2.1rem);
  font-weight: 700; color: var(--forest); line-height: 1.1;
}
.hero-widget-value .hero-widget-unit { font-size: .9rem; margin-left: .3rem; }
.hero-widget-meter { flex: 1; display: flex; flex-direction: column; gap: .4rem; justify-content: center; min-width: 0; }
.hero-vpd-meter {
  position: relative; height: 12px; border-radius: 99px; overflow: hidden;
  background: linear-gradient(to right, #6BA844, #8BC46A, #C5A15A, #B96F52);
  border: 1px solid var(--sand);
}
.hero-vpd-vane { position: absolute; top: -3px; bottom: -3px; width: 6px; border-radius: 3px; background: var(--ink); }
.hero-vpd-hint {
  display: flex; justify-content: space-between; align-items: center; width: 100%; gap: .65rem;
  font-family: var(--font-mono); font-size: .72rem;
  font-weight: 700; color: var(--ink-3); letter-spacing: .04em; white-space: nowrap;
}
.hero-vpd-hint > span { flex: 1 1 0; min-width: 0; white-space: nowrap; }
.hero-vpd-hint > span:first-child { text-align: left; }
.hero-vpd-hint > span:nth-child(2) { text-align: center; }
.hero-vpd-hint > span:last-child { text-align: right; }
@media (max-width: 420px) {
  .hero-vpd-hint { font-size: .52rem; gap: .3rem; }
  .hero-vpd-hint > span { white-space: normal; }
}
.hero-cta-link {
  margin-top: var(--s3); display: inline-flex; align-items: center; gap: .35rem;
  font-family: var(--font-mono); font-size: .7rem; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: var(--forest); text-decoration: none;
}
.hero-cta-link svg { width: 14px; height: 14px; transition: transform .15s; }
.hero-cta-link:hover { text-decoration: none; color: var(--terracotta-ink); }
.hero-cta-link:hover svg { transform: translateX(3px); }
/* CTA link sits on the cream widget card — keep brand-forest ink. */

/* Hero leaf accent (bottom-right) */
.hero-leaf {
  position: absolute; bottom: 6%; right: 4%; width: 13rem; height: auto;
  z-index: 0; pointer-events: none; opacity: .45;
}
/* Hero sprig corner accent (bottom-right, warm botanical) */
.hero-sprig {
  position: absolute; bottom: 1%; right: 1%; width: 15rem; height: auto;
  z-index: 0; pointer-events: none; opacity: .30;
}

/* Hero trust badge row below CTAs */
.hero-trust { gap: var(--s3); }
.hero-trust-item {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .45rem .85rem; border-radius: var(--r-pill);
  background: var(--white); border: 1px solid var(--sand);
  font-family: var(--font-mono); font-size: .68rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2);
}
.hero-trust-item svg { width: 15px; height: 15px; color: var(--forest); }

/* ------------------------------------------------------------------
   Unified light parchment hero overrides — all inner-page heroes
   (contact, hub, domain, author, search, archive, grow-room, about, faq)
   now use the light warm parchment background with leaf-outline watermark.
   Scoped crumb / eyebrow / button colors so nothing leaks onto dark sections elsewhere.
   ------------------------------------------------------------------ */
/* Unified container positioning — background governed by universal hero component above */
.page-hero > .container,
.contact-hero > .container,
.hub-hero > .container,
.domain-hero > .container,
.mc-author-hero > .container,
.mc-srch-hero > .container,
.mc-arch-hero > .container,
.mc-growroom-hero > .container,
body header.page-header > .container,
body .site-header + .hero > .container { position: relative; z-index: 1; }
.page-hero > .container,
.contact-hero > .container,
.hub-hero > .container,
.domain-hero > .container,
.mc-author-hero > .container,
.mc-srch-hero > .container,
.mc-arch-hero > .container,
.mc-growroom-hero > .container { position: relative; z-index: 1; }
.page-hero .crumb,
.contact-hero .crumb,
.hub-hero .crumb,
.domain-hero .crumb,
.mc-author-hero .crumb,
.mc-srch-hero .crumb,
.mc-arch-hero .crumb,
.mc-growroom-hero .crumb,
.page-hero .crumb-cur,
.contact-hero .crumb-cur,
.hub-hero .crumb-cur,
.domain-hero .crumb-cur,
.mc-author-hero .crumb-cur,
.mc-srch-hero .crumb-cur,
.mc-arch-hero .crumb-cur,
.mc-growroom-hero .crumb-cur,
.page-hero .crumb-sep,
.contact-hero .crumb-sep,
.hub-hero .crumb-sep,
.domain-hero .crumb-sep,
.mc-author-hero .crumb-sep,
.mc-srch-hero .crumb-sep,
.mc-arch-hero .crumb-sep,
.mc-growroom-hero .crumb-sep { color: #173D2B !important; }
.page-hero .crumb a,
.contact-hero .crumb a,
.hub-hero .crumb a,
.domain-hero .crumb a,
.mc-author-hero .crumb a,
.mc-srch-hero .crumb a,
.mc-arch-hero .crumb a,
.mc-growroom-hero .crumb a { color: #276A47 !important; }
.page-hero .crumb a:hover,
.contact-hero .crumb a:hover,
.hub-hero .crumb a:hover,
.domain-hero .crumb a:hover,
.mc-author-hero .crumb a:hover,
.mc-srch-hero .crumb a:hover,
.mc-arch-hero .crumb a:hover,
.mc-growroom-hero .crumb a:hover { color: #173D2B !important; }
.page-hero .hero-eyebrow,
.contact-hero .hero-eyebrow,
.hub-hero .hero-eyebrow,
.domain-hero .hero-eyebrow,
.mc-author-hero .hero-eyebrow,
.mc-srch-hero .hero-eyebrow,
.mc-arch-hero .hero-eyebrow,
.mc-growroom-hero .hero-eyebrow {
  background: rgba(197,161,90,.18) !important;
  border: 1px solid rgba(197,161,90,.4) !important;
  color: #173D2B !important;
}
.page-hero .hero-eyebrow .dot,
.contact-hero .hero-eyebrow .dot,
.hub-hero .hero-eyebrow .dot,
.domain-hero .hero-eyebrow .dot,
.mc-author-hero .hero-eyebrow .dot,
.mc-srch-hero .hero-eyebrow .dot,
.mc-arch-hero .hero-eyebrow .dot,
.mc-growroom-hero .hero-eyebrow .dot { background: var(--terracotta) !important; }
.page-hero .hero-title,
.contact-hero .hero-title,
.hub-hero .hero-title,
.domain-hero .hero-title,
.mc-author-hero .hero-title,
.mc-srch-hero .hero-title,
.mc-arch-hero .hero-title,
.mc-growroom-hero .hero-title { color: #173D2B !important; }
.page-hero .hero-hl,
.contact-hero .hero-hl,
.hub-hero .hero-hl,
.domain-hero .hero-hl,
.mc-author-hero .hero-hl,
.mc-srch-hero .hero-hl,
.mc-arch-hero .hero-hl,
.mc-growroom-hero .hero-hl { color: #C5A15A !important; }
.page-hero .hero-lede,
.contact-hero .hero-lede,
.hub-hero .hero-lede,
.domain-hero .hero-lede,
.mc-author-hero .hero-lede,
.mc-srch-hero .hero-lede,
.mc-arch-hero .hero-lede,
.mc-growroom-hero .hero-lede { color: #3C473F !important; }
.page-hero .btn-primary,
.contact-hero .btn-primary,
.hub-hero .btn-primary,
.domain-hero .btn-primary,
.mc-author-hero .btn-primary,
.mc-srch-hero .btn-primary,
.mc-arch-hero .btn-primary,
.mc-growroom-hero .btn-primary {
  background: #276A47 !important; color: #FFFFFF !important; border-radius: 999px !important;
}
.page-hero .btn-ghost,
.contact-hero .btn-ghost,
.hub-hero .btn-ghost,
.domain-hero .btn-ghost,
.mc-author-hero .btn-ghost,
.mc-srch-hero .btn-ghost,
.mc-arch-hero .btn-ghost,
.mc-growroom-hero .btn-ghost {
  background: #FFFFFF !important; color: #173D2B !important;
  border: 1px solid rgba(23,61,43,.25) !important; border-radius: 999px !important;
}
/* Hero viz card — crisp white bento on the right of every inner hero */
.page-hero .hero-viz,
.contact-hero .hero-viz,
.hub-hero .hero-viz,
.domain-hero .hero-viz,
.mc-author-hero .hero-viz,
.mc-srch-hero .hero-viz,
.mc-arch-hero .hero-viz,
.mc-growroom-hero .hero-viz {
  background: #FFFFFF !important;
  border: 1px solid rgba(197, 161, 90, 0.35) !important;
  border-radius: 16px !important;
}

/* Hero watermark / sprig — never blocks clicks on hero buttons or inputs */
.hero-sprig, .hero-leaf, .hero-sprig, .hero-leaf {
  pointer-events: none !important;
  z-index: 0 !important;
}

/* Single post hero — governed by universal component */
.mc-single-hero {
  position: relative;
  overflow: hidden;
  border-bottom: none !important;
}

/* Pillar / filter chips inside heroes */
.pillar-chip {
  background: #FFFFFF !important;
  color: #173D2B !important;
  border: 1px solid rgba(197,161,90,0.35) !important;
  border-radius: 999px !important;
}
.pillar-chip.is-active {
  background: #276A47 !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.35) !important;
}

/* mc-hero utility overrides (light parchment context) */
.mc-hero .bg-brand-forest.text-white,
.mc-hero [class*="bg-brand-forest"][class*="text-white"] {
  background: #276A47 !important;
  color: #FFFFFF !important;
}
.mc-hero .text-brand-forestDark { color: #173D2B !important; }
.mc-hero .text-brand-forest { color: #276A47 !important; }
.mc-hero .text-brand-muted { color: #3C473F !important; }
.mc-hero .text-brand-charcoal { color: #151816 !important; }

/* Hero widget card */
.hero-viz {
  background: #FFFFFF;
  border: 1px solid rgba(23,61,43,.08);
  border-radius: 20px;
  padding: clamp(1.5rem, 2.4vw, 1.75rem);
  box-shadow: 0 12px 40px rgba(23,61,43,.10);
  position: relative; overflow: hidden;
}

/* Hero calc fields — Temperature / Relative Humidity steppers */
.hero-calc-field { display: flex; flex-direction: column; gap: .65rem; }
.hero-calc-field label {
  font-family: var(--font-mono); font-size: .62rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3);
}
.hero-stepper {
  display: inline-flex; align-items: center; gap: .5rem;
  border: 1px solid var(--sand); background: #F5F3EB; border-radius: .9rem;
  padding: .12rem .5rem;
}
.hero-step-val {
  width: 3.4rem; text-align: center; border: 0; border-inline: 1px solid var(--sand);
  background: transparent; color: var(--ink); font-family: var(--font-mono);
  font-size: 1rem; font-weight: 800; letter-spacing: .02em; appearance: textfield;
  padding: 0 .4rem;
}
.hero-step-val::-webkit-inner-spin-button,
.hero-step-val::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.hero-step-btns { display: inline-flex; }
.hero-step-btns button {
  width: 28px; height: 28px; border: 1px solid var(--sand); background: #FFFFFF;
  color: var(--ink); font-family: var(--font-mono); font-size: .7rem; font-weight: 800;
  cursor: pointer; border-radius: .6rem; line-height: 1; padding: 0;
}
.hero-step-btns button + button { border-left: 0; }
.hero-step-btns button:first-child { border-top-left-radius: .9rem; border-bottom-left-radius: .9rem; }
.hero-step-btns button:last-child { border-top-right-radius: .9rem; border-bottom-right-radius: .9rem; }
.hero-step-btns button:hover { background: var(--sandstone); border-color: var(--forest); color: var(--forest); }

/* Hero widget result box — soft green tint */
.hero-widget-results {
  display: flex; align-items: center; justify-content: space-between; gap: var(--s3);
  margin-top: var(--s3); padding: 0.9rem 1.1rem; border-radius: 12px;
  background: #EFF5F0; border: 1px solid rgba(39,106,71,0.18);
}
.hero-widget-result { display: flex; flex-direction: column; justify-content: center; gap: .1rem; }
.hero-widget-result .hero-widget-label {
  font-family: var(--font-mono); font-size: .62rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3);
}
.hero-widget-value {
  font-family: var(--font-mono); font-size: clamp(1.6rem, 3.5vw, 2.1rem);
  font-weight: 800; color: #276A47; line-height: 1.1;
}

/* Status badge states for the hero widget */
.hero-viz-badge { transition: background .2s, border-color .2s, color .2s; }
.hero-viz-badge.is-optimal  { background: rgba(185,111,82,.18); border-color: rgba(39,106,71,.25); color: var(--forest); }
.hero-viz-badge.is-warning  { background: rgba(185,111,82,.16); border-color: rgba(185,111,82,.4);  color: var(--terracotta-ink); }
.hero-viz-badge.is-critical { background: rgba(185,111,82,.12);  border-color: rgba(185,111,82,.45); color: #B96F52; }

/* Amber POPULAR badge on the hero VPD card */
.hero-popular {
  display: inline-flex; align-items: center;
  padding: 0.2rem 0.65rem; border-radius: 999px;
  background: #C5A15A; color: #FFFFFF;
  font-family: var(--font-mono); font-size: 0.68rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; white-space: nowrap;
}

/* Quick filter pills (shared with tool-phase filters) */
.quick-filters { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.quick-pill {
  display: inline-flex; align-items: center; height: 34px; padding: 0 .85rem;
  border-radius: var(--r-pill); border: 1px solid var(--sand); background: var(--white);
  font-family: var(--font-mono); font-size: .66rem; font-weight: 600; color: var(--ink-2);
  cursor: pointer; transition: all .15s;
}
.quick-pill:hover, .quick-pill.is-active { background: var(--forest); color: #fff; border-color: var(--forest); }

/* Telemetry strip HUD */
.telemetry-strip {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: var(--s4); padding: var(--s3) var(--s4); border-radius: var(--r-lg);
  background: rgba(255,255,255,.82); border: 1px solid var(--sand);
  box-shadow: 0 8px 30px rgba(39,106,71,.08);
}
.telemetry-strip-label {
  display: flex; align-items: center; gap: .4rem;
  font-family: var(--font-mono); font-size: .68rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--forest);
}
.telemetry-cells { flex: 1; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--s3); }
.telemetry-cell {
  padding: var(--s3); border-radius: .75rem;
  background: rgba(247,247,243,.6); border: 1px solid var(--sand);
  display: flex; flex-direction: column;
}
.telemetry-cell-label {
  font-family: var(--font-mono); font-size: .6rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3);
}
.telemetry-cell-value {
  font-family: var(--font-mono); font-size: 1.05rem; font-weight: 700; color: var(--ink);
}

/* ------------------------------------------------------------------ Home: Hub cards */
.hub-grid {
  display: grid; grid-template-columns: 1fr; gap: var(--s5);
}
@media (min-width: 640px) { .hub-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .hub-grid { grid-template-columns: repeat(3, 1fr); } }
.hub-card {
  display: flex; flex-direction: column; justify-content: space-between;
  padding: var(--s5); border-radius: 20px;
  background: var(--white); border: 1px solid var(--sand);
  box-shadow: 0 8px 30px rgba(23,61,43,.06);
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.hub-card:hover { border-color: var(--forest); box-shadow: 0 12px 34px rgba(23,61,43,.10); transform: translateY(-4px); }
.hub-card--alt { background: linear-gradient(165deg, var(--white) 0%, var(--sandstone) 100%); }
.hub-card--featured .hub-card-title { position: relative; }
.hub-card-icon {
  width: 40px; height: 40px; border-radius: .75rem;
  background: var(--sandstone); border: 1px solid var(--sand);
  display: grid; place-items: center; color: var(--forest); flex: none;
}
.hub-card-icon svg { width: 22px; height: 22px; }
.hub-card-icon--forest { background: var(--accent-forest-soft); color: var(--accent-forest); border-color: transparent; }
.hub-card-icon--sage    { background: var(--accent-sage-soft);    color: var(--accent-sage);    border-color: transparent; }
.hub-card-icon--lime    { background: var(--accent-lime-soft);    color: var(--forest);          border-color: transparent; }
.hub-card-icon--terracotta { background: var(--accent-terracotta-soft); color: var(--accent-terracotta); border-color: transparent; }
.hub-card:hover .hub-card-icon { background: var(--forest); color: var(--lime); border-color: transparent; }
.hub-card-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: var(--s3);
}
.hub-card-title {
  font-family: var(--font-display); font-size: 1.05rem; font-weight: 700;
  color: var(--ink); margin: 0 0 .35rem;
}
.hub-card-desc { font-size: .85rem; color: var(--ink-2); margin: 0 0 var(--s3); line-height: 1.6; }
.hub-card-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: var(--s4); }
.hub-card-tag {
  padding: .2rem .5rem; border-radius: .35rem;
  background: rgba(247,247,243,.8); border: 1px solid var(--sand);
  font-size: .68rem; font-weight: 500; color: var(--ink);
}
.hub-card-foot {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: var(--s3); border-top: 1px solid var(--sand);
  font-family: var(--font-mono); font-size: .72rem; font-weight: 700;
  color: var(--forest); letter-spacing: .06em; text-transform: uppercase;
  text-decoration: none;
}
.hub-card-foot:hover { color: var(--terracotta-ink); }
.hub-card-foot svg { width: 16px; height: 16px; transition: transform .15s; }
.hub-card-foot:hover svg { transform: translateX(3px); }

/* ------------------------------------------------------------------ Home: Grow Lab domains */
.growlab-section {
  padding-block: clamp(4.5rem, 9vw, 7.5rem);
  background: var(--sandstone); border-top: 1px solid var(--sand); border-bottom: 1px solid var(--sand);
}
.filter-bar {
  position: sticky; top: var(--sticky-top); z-index: 30;
  margin-bottom: var(--s6); padding: var(--s3) clamp(1.25rem, 3vw, 3rem);
  background: rgba(247,247,243,.85);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(226,216,197,.8);
}
.domain-card {
  padding: var(--s5); border-radius: 20px;
  background: var(--white); border: 1px solid var(--sand); border-left: 3px solid var(--card-accent, var(--forest));
  box-shadow: 0 8px 30px rgba(23,61,43,.06);
  display: flex; flex-direction: column; gap: var(--s4);
  height: 100%;
}
/* Per-domain accent theming via attribute selector */
.domain-card[data-tools-domain="climate"] { --card-accent: var(--forest);        --card-accent-soft: rgba(39,106,71,.08); }
.domain-card[data-tools-domain="water"]   { --card-accent: var(--sage);         --card-accent-soft: rgba(107,168,68,.10); }
.domain-card[data-tools-domain="light"]   { --card-accent: var(--terracotta);   --card-accent-soft: rgba(185,111,82,.08); }
.domain-card[data-tools-domain="nute"]    { --card-accent: var(--forest);       --card-accent-soft: rgba(39,106,71,.08); }
.domain-card[data-tools-domain="hydro"]   { --card-accent: var(--sage);         --card-accent-soft: rgba(107,168,68,.10); }
.domain-card[data-tools-domain="diag"]    { --card-accent: var(--terracotta);   --card-accent-soft: rgba(185,111,82,.08); }
.domain-card-head {
  display: flex; align-items: center; justify-content: space-between;
  padding-bottom: var(--s3); border-bottom: 2px solid var(--card-accent, var(--sand));
}
.domain-card-head h3 {
  display: flex; align-items: center; gap: .5rem;
  font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--ink); margin: 0;
}
.domain-card-head h3 svg { width: 22px; height: 22px; color: var(--card-accent, var(--forest)); }
.domain-card-count {
  font-family: var(--font-mono); font-size: .68rem; font-weight: 700; color: var(--card-accent, var(--forest));
  letter-spacing: .06em; padding: .2rem .6rem; border-radius: var(--r-sm);
  background: var(--card-accent-soft, var(--sage-mist));
}
.tool-grid { display: grid; grid-template-columns: 1fr; gap: var(--s3); }
.tool-tile {
  display: grid; grid-template-columns: 36px 1fr; gap: .6rem;
  padding: var(--s4); border-radius: 20px;
  background: var(--white); border: 1px solid var(--sand);
  transition: border-color .2s, background .2s, transform .2s, box-shadow .2s;
  text-decoration: none; color: inherit; align-items: start;
}
.tool-tile:hover { border-color: var(--forest); transform: translateY(-2px); box-shadow: 0 12px 34px rgba(23,61,43,.10); }
.tool-tile-ico {
  display: grid; place-items: center; width: 36px; height: 36px;
  border-radius: .65rem; background: var(--card-accent-soft, var(--sandstone));
  color: var(--card-accent, var(--forest)); flex: none;
}
.tool-tile-ico svg { width: 18px; height: 18px; }
.tool-tile-name { font-family: var(--font-body); font-size: .875rem; font-weight: 600; color: var(--ink); line-height: 1.3; }
.tool-tile:hover .tool-tile-name { color: var(--forest); }
.tool-tile-desc { font-size: .75rem; color: var(--ink-2); line-height: 1.5; }
.tool-meta { display: block; font-family: var(--font-mono); font-size: .62rem; font-weight: 600; color: var(--ink-3); margin-top: .25rem; }
.tool-tile.is-popular { background: var(--card-accent-soft, var(--sage-mist)); border-color: var(--card-accent, var(--sand)); }
.tool-tile.is-popular:hover { background: var(--white); }
.tool-tile-foot {
  display: flex; align-items: center; justify-content: center; gap: .3rem;
  padding: var(--s3); border-radius: .65rem; border: 1px dashed var(--sand);
  font-family: var(--font-mono); font-size: .72rem; font-weight: 700; letter-spacing: .06em;
  color: var(--card-accent, var(--forest)); text-transform: uppercase; text-decoration: none;
  transition: all .15s;
}
.tool-tile-foot:hover { border-color: var(--card-accent, var(--forest)); background: var(--white); text-decoration: none; }
.tool-tile-foot svg { width: 14px; height: 14px; transition: transform .15s; }
.tool-tile-foot:hover svg { transform: translateX(3px); }
.filter-pills { display: flex; flex-wrap: wrap; gap: .35rem; }
.filter-pill {
  display: inline-flex; align-items: center; gap: .35rem;
  height: 30px; padding: 0 .75rem; border-radius: var(--r-pill);
  border: 1px solid var(--sand); background: var(--white);
  font-family: var(--font-mono); font-size: .68rem; font-weight: 600; color: var(--ink-2);
  cursor: pointer; transition: all .15s;
}
.filter-pill:hover, .filter-pill.is-active {
  background: var(--noir); color: #fff; border-color: var(--noir);
}

/* ------------------------------------------------------------------ Home: post cards (latest / featured) */
.latest-grid { display: grid; grid-template-columns: 1fr; gap: var(--s5); }
@media (min-width: 1024px) { .latest-grid { grid-template-columns: 6fr 6fr; } }
.article-list { display: flex; flex-direction: column; gap: var(--s4); }
.post-card {
  background: var(--mc-surface, #FFFFFF);
  border: 1px solid var(--mc-border-gold, rgba(197,161,90,0.28));
  border-radius: var(--mc-radius-card, 16px);
  padding: var(--s5); box-shadow: 0 4px 20px rgba(17,26,19,0.04);
  display: flex; flex-direction: column; gap: .6rem;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.post-card:hover { border-color: #C5A15A; box-shadow: 0 4px 20px rgba(17,26,19,0.04); transform: translateY(-2px); }
.post-title { font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; line-height: 1.3; color: var(--ink); margin: 0; }
.post-title a { color: inherit; }
.post-title a:hover { color: var(--forest); text-decoration: none; }
.post-title--lg { font-size: 1.35rem; }
.post-excerpt { font-size: .875rem; color: var(--ink-2); line-height: 1.6; margin: 0; }
.post-meta { display: inline-flex; align-items: center; gap: .5rem; font-family: var(--font-mono); font-size: .66rem; color: var(--ink-3); }
.post-foot {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: .75rem; margin-top: auto;
  border-top: 1px solid var(--sand);
  font-family: var(--font-mono); font-size: .72rem; font-weight: 700;
  color: var(--forest); letter-spacing: .06em; text-transform: uppercase;
  text-decoration: none;
}
.post-foot:hover { color: var(--terracotta-ink); text-decoration: none; }
.post-foot svg { width: 16px; height: 16px; transition: transform .15s; }
.post-foot:hover svg { transform: translateX(3px); }
@media (pointer: coarse) { .post-card { padding: var(--s4); } }

/* ------------------------------------------------------------------ Home: Grow Room pod */
.growroom-card {
  padding: var(--s5); border-radius: var(--r-lg);
  background: var(--white); border: 1px solid var(--sand);
  box-shadow: var(--shadow-botanical); position: relative; overflow: hidden;
}
.growroom-card::after {
  content: ""; position: absolute; top: 0; right: 0;
  width: 24rem; height: 24rem; border-radius: 50%;
  background: rgba(107,168,68,.10); filter: blur(80px); pointer-events: none;
}
.growroom-card > * { position: relative; z-index: 1; }
.live-badge {
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .25rem .7rem; border-radius: var(--r-pill);
  background: rgba(185,111,82,.22); border: 1px solid rgba(39,106,71,.2);
  font-family: var(--font-mono); font-size: .6rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--forest);
}
.live-badge .dot { animation: pulse 1.6s ease infinite; }
.growroom-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--s4); }
.growroom-cell {
  padding: var(--s4); border-radius: .75rem;
  background: rgba(247,247,243,.6); border: 1px solid var(--sand);
  display: flex; flex-direction: column; gap: .35rem;
  cursor: pointer; transition: border-color .2s, box-shadow .2s;
}
.growroom-cell:hover { border-color: var(--forest); box-shadow: var(--shadow-botanical); }
.growroom-cell-label {
  font-family: var(--font-mono); font-size: .68rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3);
}
.growroom-cell-value {
  font-family: var(--font-mono); font-size: 1.5rem; font-weight: 700; color: var(--ink);
}
.growroom-cell-unit {
  font-family: var(--font-mono); font-size: .8rem; color: var(--forest); font-weight: 700; margin-left: .25rem;
}
.growroom-cell-meta {
  font-family: var(--font-mono); font-size: .6rem; color: var(--ink-3);
}
.spark { margin-top: auto; }
.spark svg { display: block; width: 100%; height: 30px; overflow: visible; }
.spark polyline { fill: none; stroke: var(--forest); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.growroom-open {
  display: flex; align-items: center; justify-content: space-between; width: 100%;
  margin-top: var(--s4); padding: var(--s3) var(--s4); border-radius: .75rem;
  background: var(--forest); border: 1px solid var(--forest);
  color: var(--lime); font-family: var(--font-mono); font-size: .74rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; cursor: pointer;
  transition: background .2s, color .2s;
}
.growroom-open:hover { background: var(--ink); }
.growroom-open svg { width: 16px; height: 16px; transition: transform .2s; }
.growroom-open[aria-expanded="true"] svg { transform: rotate(180deg); }
.growroom-dashboard {
  display: none; margin-top: var(--s4); padding-top: var(--s4);
  border-top: 1px solid var(--sand); gap: var(--s4);
}
.growroom-dashboard.is-open { display: grid; grid-template-columns: 1fr; }
@media (min-width: 768px) { .growroom-dashboard.is-open { grid-template-columns: 1fr 1fr; } }
.dash-panel {
  padding: var(--s4); border-radius: .75rem;
  background: rgba(247,247,243,.5); border: 1px solid var(--sand);
  display: flex; flex-direction: column; gap: var(--s3);
}
.dash-panel h4 { margin: 0; font-family: var(--font-display); font-size: .95rem; font-weight: 700; color: var(--ink); }
.dash-panel .spark svg { height: 56px; }
.dash-panel .spark polyline { stroke: var(--terracotta); }
.dash-note { font-size: .78rem; color: var(--ink-2); line-height: 1.55; margin: 0; }
.dash-cta {
  display: inline-flex; align-items: center; gap: .4rem; align-self: flex-start;
  font-family: var(--font-mono); font-size: .72rem; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: var(--forest); text-decoration: none;
}
.dash-cta:hover { text-decoration: none; color: var(--terracotta-ink); }

/* ------------------------------------------------------------------ Home: Trust band */
.trust-band {
  padding-block: clamp(4.5rem, 9vw, 7.5rem);
  background: linear-gradient(180deg, var(--sage-mist) 0%, var(--sandstone) 100%);
  border-top: 1px solid var(--sand); border-bottom: 1px solid var(--sand);
  position: relative; overflow: hidden;
}
.trust-band::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 640px 380px at 50% -10%, rgba(39,106,71,.12), transparent);
}
.trust-band > .container { position: relative; z-index: 1; }
.trust-grid { display: grid; grid-template-columns: 1fr; gap: var(--s5); }
@media (min-width: 1024px) { .trust-grid { grid-template-columns: repeat(3, 1fr); align-items: stretch; } }
.trust-band .card {
  display: flex; flex-direction: column; gap: var(--s4); height: 100%; }
.activity-feed { display: flex; flex-direction: column; gap: var(--s3); }
.activity-line {
  display: flex; align-items: flex-start; gap: .6rem;
  padding: .6rem 0; border-bottom: 1px solid rgba(226,216,197,.7);
}
.activity-line:last-child { border-bottom: 0; }
.activity-line .dot { margin-top: .3rem; flex: none; }
.cert-row { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: auto; }
.cert-chip {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .35rem .7rem; border-radius: var(--r-pill);
  background: var(--white); border: 1px solid var(--sand);
  font-family: var(--font-mono); font-size: .64rem; font-weight: 700; letter-spacing: .02em;
  color: var(--forest);
}
.testimonial-list { display: flex; flex-direction: column; gap: var(--s3); }
.testimonial {
  position: relative; padding: var(--s3) var(--s4) var(--s3) var(--s5);
  border-left: 3px solid var(--terracotta); border-radius: 0 var(--r-sm) var(--r-sm) 0;
  background: var(--sandstone); display: flex; flex-direction: column; gap: .35rem;
  font-size: .85rem; line-height: 1.5; color: var(--ink);
}
.testimonial-author { font-family: var(--font-mono); font-size: .66rem; font-weight: 600; color: var(--ink-3); }

/* ------------------------------------------------------------------ Home: IA audit strip */
.audit-strip {
  padding: var(--s5); border-radius: var(--r-lg);
  background: var(--white); border: 1px solid var(--sand);
  box-shadow: var(--shadow-botanical);
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--s4); justify-content: space-between;
}
.audit-chips { display: flex; flex-wrap: wrap; gap: .35rem; }
.audit-chip {
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .3rem .65rem; border-radius: var(--r-pill);
  background: var(--sandstone); border: 1px solid var(--sand);
  font-family: var(--font-mono); font-size: .62rem; font-weight: 700;
  letter-spacing: .06em; color: var(--forest);
}

/* ------------------------------------------------------------------ Home: progressive reveal */
.reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
.reveal.reveal-in { opacity: 1; transform: none; }

/* ------------------------------------------------------------------ Tool workbench (single tool engines) */
.tool-page { padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.tool-head { margin-bottom: var(--s6); }
.tool-title {
  font-family: var(--font-display); font-weight: 800;
  font-size: clamp(1.75rem, 4vw, 2.5rem); letter-spacing: -.02em; color: var(--ink); margin: .5rem 0 .25rem;
}
.tool-tagline { color: var(--ink-2); font-size: 1rem; max-width: 42rem; margin: 0; }
.tool-workbench { display: grid; grid-template-columns: 1fr; gap: var(--s5); }
@media (min-width: 980px) {
  .tool-workbench { grid-template-columns: 7fr 5fr; align-items: start; }
}
.tool-main { display: flex; flex-direction: column; gap: var(--s5); min-width: 0; }
.tool-sidebar { display: flex; flex-direction: column; gap: var(--s5); }
.tool-input-card, .tool-result-card, .tool-side-card {
  background: var(--white); border: 1px solid var(--sand); border-radius: var(--r-lg);
  box-shadow: var(--shadow-botanical); padding: var(--s5);
}
.tool-input-card-head {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--s3);
  padding-bottom: var(--s4); margin-bottom: var(--s4); border-bottom: 1px solid var(--sand);
}
.tool-input-card-head h2 { margin: 0; font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; color: var(--ink); }
.tool-inputs { display: flex; flex-direction: column; gap: var(--s4); }
.tool-input-group { display: flex; flex-direction: column; gap: .45rem; }
.tool-input-label {
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .4rem;
  font-family: var(--font-mono); font-size: .66rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3);
}
.tool-input-label .tool-input-hint { font-size: .6rem; text-transform: none; letter-spacing: 0; color: var(--ink-3); font-weight: 500; }
.tool-input-row { display: flex; align-items: center; gap: var(--s3); }
.tool-input-val {
  width: 96px; padding: .5rem .6rem; border-radius: .55rem;
  border: 1px solid var(--sand); background: var(--white);
  font-family: var(--font-mono); font-size: .95rem; font-weight: 600; color: var(--ink);
  text-align: center; transition: border-color .2s, box-shadow .2s;
}
.tool-input-val:focus { outline: none; border-color: var(--forest); box-shadow: 0 0 0 3px rgba(39,106,71,.15); }
.tool-input-unit { font-family: var(--font-mono); font-size: .72rem; font-weight: 700; color: var(--forest); min-width: 32px; }
.tool-input-range { display: flex; justify-content: space-between; font-family: var(--font-mono); font-size: .58rem; color: var(--ink-3); }

/* Sliders — custom track/thumb (no build, hand-written) */
input[type="range"].tool-range {
  -webkit-appearance: none; appearance: none; flex: 1; height: 34px;
  background: transparent; cursor: pointer; margin: 0; min-width: 0;
}
input[type="range"].tool-range::-webkit-slider-runnable-track {
  height: 6px; border-radius: 99px;
  background: linear-gradient(to right, var(--sand) 0%, var(--sand) 100%);
  border: 1px solid var(--sand);
}
input[type="range"].tool-range::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none; width: 20px; height: 20px; margin-top: -8px;
  border-radius: 50%; background: var(--forest); border: 3px solid var(--lime);
  box-shadow: 0 2px 8px rgba(39,106,71,.3); transition: transform .15s;
}
input[type="range"].tool-range::-webkit-slider-thumb:hover { transform: scale(1.12); }
input[type="range"].tool-range::-moz-range-track {
  height: 6px; border-radius: 99px; background: var(--sand); border: 1px solid var(--sand);
}
input[type="range"].tool-range::-moz-range-thumb {
  width: 18px; height: 18px; border-radius: 50%; background: var(--forest);
  border: 3px solid var(--lime); box-shadow: 0 2px 8px rgba(39,106,71,.3);
}
input[type="range"].tool-range:focus-visible { outline: 2px solid var(--forest); outline-offset: 4px; border-radius: 99px; }

.tool-phase-pills { display: flex; flex-wrap: wrap; gap: .35rem; }
.tool-phase-pills .quick-pill { height: 34px; padding: 0 .95rem; font-size: .7rem; }

/* Result card */
.tool-result-card { border-top: 3px solid var(--forest); }
.tool-result-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--s3); margin-bottom: var(--s4); }
.tool-result-main { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--s4); }
.tool-result-label {
  display: block; font-family: var(--font-mono); font-size: .64rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); margin-bottom: .3rem;
}
.tool-result-value {
  font-family: var(--font-mono); font-size: clamp(2.2rem, 6vw, 3rem); font-weight: 800;
  color: var(--ink); line-height: 1;
}
.tool-result-unit { font-size: 1.1rem; font-weight: 700; color: var(--forest); margin-left: .35rem; }
.tool-result-range { display: inline-block; font-family: var(--font-mono); font-size: 1rem; font-weight: 700; color: var(--ink-2); }
.tool-meter { margin-top: var(--s4); }
.tool-meter-track {
  position: relative; height: 12px; border-radius: 99px; overflow: hidden;
  background: linear-gradient(to right, rgba(39,106,71,.15), rgba(107,168,68,.5), rgba(185,111,82,.55), rgba(185,111,82,.55), rgba(185,111,82,.4));
  border: 1px solid var(--sand);
}
.tool-meter-vane {
  position: absolute; top: -3px; bottom: -3px; width: 6px; border-radius: 3px; background: var(--ink);
  transition: left .15s ease;
}
.tool-meter-labels { display: flex; justify-content: space-between; font-family: var(--font-mono); font-size: .56rem; font-weight: 700; color: var(--ink-3); margin-top: .3rem; }

/* Derived stat cells */
.tool-derived { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s3); }
@media (min-width: 640px) { .tool-derived { grid-template-columns: repeat(4, 1fr); } }
.tool-derived-cell {
  padding: var(--s3); border-radius: .7rem;
  background: rgba(247,247,243,.55); border: 1px solid var(--sand);
  display: flex; flex-direction: column; gap: .2rem;
}
.tool-derived-label {
  font-family: var(--font-mono); font-size: .56rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3);
}
.tool-derived-value { font-family: var(--font-mono); font-size: 1rem; font-weight: 700; color: var(--ink); }

/* Methodology accordion */
.tool-methodology {
  background: var(--white); border: 1px solid var(--sand); border-radius: var(--r-lg);
  box-shadow: var(--shadow-botanical); overflow: hidden;
}
.tool-methodology summary {
  display: flex; align-items: center; justify-content: space-between; gap: var(--s3);
  padding: var(--s4) var(--s5); cursor: pointer; list-style: none;
  font-family: var(--font-mono); font-size: .72rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; color: var(--forest);
}
.tool-methodology summary::-webkit-details-marker { display: none; }
.tool-methodology summary::after {
  content: ""; width: 10px; height: 10px; flex: none;
  border-right: 2px solid var(--forest); border-bottom: 2px solid var(--forest);
  transform: rotate(45deg); transition: transform .2s;
}
.tool-methodology[open] summary::after { transform: rotate(225deg); }
.tool-methodology summary:focus-visible { outline: 2px solid var(--forest); outline-offset: -2px; }
.tool-methodology-body { padding: 0 var(--s5) var(--s5); display: flex; flex-direction: column; gap: var(--s3); }
.tool-methodology-body h3 { margin: 0; font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--ink); }
.tool-methodology-body p { margin: 0; color: var(--ink-2); font-size: .875rem; line-height: 1.6; }
.tool-formula {
  font-family: var(--font-mono); font-size: .8rem; color: var(--ink);
  background: var(--sandstone); border: 1px solid var(--sand); border-radius: .6rem;
  padding: .7rem .9rem; overflow-x: auto;
}
.tool-table { width: 100%; border-collapse: collapse; font-family: var(--font-mono); font-size: .74rem; }
.tool-table th, .tool-table td { text-align: left; padding: .55rem .7rem; border-bottom: 1px solid var(--sand); }
.tool-table thead th {
  font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; color: var(--white);
  background: var(--forest); font-weight: 700;
}
.tool-table tbody tr:last-child td { border-bottom: 0; }
.tool-table tbody td:first-child { font-weight: 700; color: var(--forest); }

/* Sidebar */
.tool-side-card h3 {
  display: flex; align-items: center; gap: .5rem; margin: 0 0 var(--s4);
  font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--ink);
}
.tool-phase-info { display: flex; flex-direction: column; gap: .3rem; }
.tool-phase-name { font-family: var(--font-display); font-size: 1.3rem; font-weight: 800; color: var(--forest); }
.tool-phase-range { font-family: var(--font-mono); font-size: .9rem; font-weight: 700; color: var(--terracotta-ink); }
.tool-phase-tip { margin: 0; font-size: .83rem; color: var(--ink-2); line-height: 1.55; }
.tool-presets { display: flex; flex-direction: column; gap: var(--s3); }
.tool-preset {
  display: flex; align-items: center; justify-content: space-between; gap: var(--s3);
  width: 100%; padding: var(--s3) var(--s4); border-radius: .7rem;
  background: rgba(247,247,243,.5); border: 1px solid var(--sand);
  font-family: var(--font-body); cursor: pointer;
  transition: border-color .2s, background .2s, transform .2s;
}
.tool-preset:hover { border-color: var(--forest); background: var(--white); transform: translateY(-1px); }
.tool-preset:focus-visible { outline: 2px solid var(--forest); outline-offset: 2px; }
.tool-preset-name { font-size: .85rem; font-weight: 600; color: var(--ink); }
.tool-preset:hover .tool-preset-name { color: var(--forest); }
.tool-preset-val { font-family: var(--font-mono); font-size: .66rem; font-weight: 600; color: var(--ink-3); }
.tool-related {
  display: flex; align-items: center; gap: .5rem; padding: .6rem 0;
  border-bottom: 1px solid var(--sand); text-decoration: none; color: var(--ink-2);
  font-size: .83rem; font-weight: 600;
}
.tool-related:last-child { border-bottom: 0; }
.tool-related:hover { color: var(--forest); text-decoration: none; }
.tool-related svg { width: 16px; height: 16px; color: var(--forest); flex: none; }
.tool-related:hover svg { transform: translateX(2px); transition: transform .15s; }

/* Vault save confirmation */
.tool-save-note {
  display: none; align-items: center; gap: .4rem; font-family: var(--font-mono);
  font-size: .66rem; font-weight: 700; color: var(--forest);
}
.tool-save-note.is-visible { display: inline-flex; }
.tool-save-note svg { width: 14px; height: 14px; }

/* =================================================================================
   Knowledge Hub (/blog/) + Grow Lab (/tools/) — namespaced rebuild styles
   Appended after the locked 2276-line foundation. Prefixes: kh-, hub-, suite-,
   tool-, vault-, pillar-, routing-, moa-, catalog-, chamber-.
   ================================================================================= */

/* ---------------------------------------------------------------- KH audit bar */
.kh-audit-bar { background: var(--noir); border-bottom: 1px solid rgba(255,255,255,.1); padding: .65rem 0; }
.kh-audit-badge { display: inline-flex; align-items: center; gap: .45rem; font-family: var(--font-mono); font-size: .6rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--w-80); border: 1px solid rgba(255,255,255,.14); border-radius: var(--r-pill); padding: .32rem .6rem; }
.kh-audit-badge--dim { color: var(--w-50); }

/* ---------------------------------------------------------------- KS hero proof */
.kh-proof-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,160px),1fr)); gap: var(--s4); }
.kh-proof-cell { display: flex; flex-direction: column; gap: .5rem; background: var(--white); border: 1px solid var(--sand); border-radius: var(--r-md); padding: var(--s4); }
.kh-proof-value { font-family: var(--font-display); font-size: clamp(1.3rem,3vw,1.75rem); color: var(--forest); letter-spacing: -.02em; }
.kh-proof-value em { font-family: var(--font-mono); font-style: normal; font-size: .56rem; font-weight: 700; color: var(--terracotta-ink); letter-spacing: .08em; }
.kh-proof-value--accent b { color: var(--terracotta-ink); }

/* ---------------------------------------------------------------- Hub cards */
.hub-card { display: flex; flex-direction: column; gap: var(--s3); background: var(--white); border: 1px solid var(--sand); border-radius: var(--r-lg); padding: var(--s5); box-shadow: var(--shadow-sm); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.hub-card:hover { border-color: var(--forest); box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.hub-card-head { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); }
.hub-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: var(--r-md); background: var(--sandstone); color: var(--forest); }
.hub-card-icon--sage { background: var(--sage-mist); color: var(--forest); }
.hub-card-title { font-family: var(--font-display); font-size: clamp(1.1rem,1.9vw,1.35rem); margin: 0; line-height: 1.25; }
.hub-card-desc { font-size: .8rem; color: var(--ink-2); line-height: 1.6; margin: 0; }
.hub-card-tags { display: flex; flex-wrap: wrap; gap: .35rem; }
.hub-card-tag { font-family: var(--font-mono); font-size: .6rem; font-weight: 600; color: var(--forest); background: var(--sandstone); border: 1px solid var(--sand); border-radius: var(--r-pill); padding: .25rem .5rem; }
.hub-card-tag:hover { background: var(--white); border-color: var(--forest); text-decoration: none; }
.hub-card-foot { display: inline-flex; align-items: center; gap: .4rem; margin-top: auto; font-family: var(--font-mono); font-size: .64rem; font-weight: 700; color: var(--forest); border-top: 1px solid var(--sand); padding-top: var(--s3); }
.hub-card-foot:hover { text-decoration: none; }

/* ---------------------------------------------------------------- KH feature */
.kh-feature { display: grid; grid-template-columns: minmax(min(100%,280px),.9fr) 1.1fr; border-radius: var(--r-lg); overflow: hidden; border: 1px solid rgba(255,255,255,.08); box-shadow: var(--shadow-botanical); }
.kh-feature-visual { position: relative; display: grid; place-items: center; min-height: 260px; background: radial-gradient(ellipse at center, rgba(185,111,82,.14) 0%, rgba(23,61,43,.2) 70%); }
.kh-feature-icon { width: clamp(4.5rem,8vw,6.5rem); height: auto; color: var(--lime); filter: drop-shadow(0 8px 22px rgba(185,111,82,.25)); }
.kh-visual-label { position: absolute; bottom: 1rem; left: 50%; transform: translateX(-50%); display: inline-flex; align-items: center; gap: .5rem; font-family: var(--font-mono); font-size: .6rem; color: var(--w-80); border: 1px solid rgba(255,255,255,.16); background: rgba(20,32,16,.72); border-radius: var(--r-pill); padding: .35rem .7rem; }
.kh-visual-label em { font-style: normal; color: var(--lime); }
.kh-feature-body { display: flex; flex-direction: column; gap: var(--s3); justify-content: center; padding: clamp(1.5rem,4vw,2.75rem); }
.kh-feature-title { font-family: var(--font-display); font-size: clamp(1.6rem,3.4vw,2.4rem); line-height: 1.12; color: #fff; margin: 0; }
.kh-feature-title a:hover { text-decoration: none; }
.kh-mini-badge { display: inline-flex; align-items: center; gap: .35rem; font-family: var(--font-mono); font-size: .6rem; color: var(--w-80); border: 1px solid rgba(255,255,255,.18); border-radius: var(--r-pill); padding: .3rem .6rem; }

/* ---------------------------------------------------------------- KH toolbar & result */
.kh-toolbar { position: sticky; top: var(--sticky-top); z-index: 40; background: rgba(255,255,255,.94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--sand); }
.kh-toolbar-inner { padding-block: var(--s3); }
.kh-hashtags { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; margin-top: var(--s3); }
.kh-hashtag { font-family: var(--font-mono); font-size: .62rem; color: var(--sage-ink); background: transparent; border: 1px dashed var(--sand); border-radius: var(--r-pill); padding: .25rem .55rem; }
.kh-hashtag:hover { border-color: var(--sage-ink); color: var(--forest); }
.kh-hashtag.is-on { background: var(--sage-mist); border-style: solid; border-color: var(--sage-ink); color: var(--forest); }
.kh-sort-select { font-family: var(--font-mono); font-size: .68rem; font-weight: 700; letter-spacing: .04em; color: var(--forest); background: var(--white); border: 1px solid var(--sand); border-radius: var(--r-pill); padding: .55rem .9rem; min-height: 40px; line-height: 1.2; cursor: pointer; }
.kh-sort-select:focus-visible { outline: 2px solid var(--forest); outline-offset: 2px; }
.kh-result-count { font-family: var(--font-mono); font-size: .66rem; color: var(--ink-2); margin-bottom: var(--s3); }
.kh-empty { font-size: .85rem; color: var(--ink-2); background: var(--stone-100, var(--sandstone)); border: 1px dashed var(--sand); border-radius: var(--r-md); padding: var(--s4); margin-bottom: var(--s4); }
.kh-empty[hidden] { display: none; }
.kh-empty a { color: var(--forest); }
.kh-art-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%,320px),1fr)); }
.kh-card { display: flex; flex-direction: column; gap: var(--s3); background: var(--mc-surface, #FFFFFF); border: 1px solid var(--mc-border-gold, rgba(197,161,90,0.28)); border-radius: var(--mc-radius-card, 16px); padding: var(--s4); box-shadow: 0 4px 20px rgba(17,26,19,0.04); transition: border-color .18s ease, box-shadow .18s ease; }
.kh-card:hover { border-color: #C5A15A; box-shadow: 0 4px 20px rgba(17,26,19,0.04); transform: translateY(-2px); }
.kh-card[hidden] { display: none; }
.kh-card-head { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); border-bottom: 1px solid var(--sand); padding-bottom: var(--s3); }
.kh-card-title { font-family: var(--font-display); font-size: 1.05rem; line-height: 1.3; margin: 0; }
.kh-card-excerpt { font-size: .8rem; color: var(--ink-2); line-height: 1.6; margin: 0; }
.kh-card-foot { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); margin-top: auto; border-top: 1px solid var(--sand); padding-top: var(--s3); }
.kh-card-author { font-family: var(--font-mono); font-size: .62rem; color: var(--ink-2); }
.kh-card-date { font-family: var(--font-mono); font-size: .6rem; color: var(--ink-3); }
.kh-avatar { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: var(--r-pill); background: var(--forest); color: #fff; font-weight: 700; font-size: .6rem; }

/* ---------------------------------------------------------------- KH ← Grow Lab bridge */
.kh-bridge { color: var(--w-90); border-radius: var(--r-lg); padding: clamp(1.75rem,4vw,2.75rem); }
.kh-bridge-inner { display: flex; flex-direction: column; gap: var(--s4); }
.kh-bridge-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,180px),1fr)); gap: var(--s3); }
.kh-bridge-tile { display: flex; align-items: flex-start; gap: .8rem; color: var(--w-90); border: 1px solid rgba(255,255,255,.08); border-radius: var(--r-md); padding: var(--s3); background: rgba(255,255,255,.04); box-shadow: var(--shadow-panel-inner); }
.kh-bridge-tile:hover { background: rgba(255,255,255,.08); border-color: rgba(185,111,82,.4); text-decoration: none; }
.kh-bridge-tile span:last-child { display: flex; flex-direction: column; gap: .1rem; }
.kh-bridge-tile b { font-size: .8rem; color: #FFFFFF; }
.kh-bridge-tile em { font-family: var(--font-mono); font-style: normal; font-size: .6rem; color: var(--w-70); }
.kh-bridge-ico { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; flex: none; border-radius: var(--r-md); background: rgba(185,111,82,.12); color: var(--lime); }

/* ---------------------------------------------------------------- Grow Lab hero */
.growlab-hero { background: var(--noir); color: var(--w-90); padding-block: clamp(3rem,7vw,5rem); }
.kh-bridge-title { font-family: var(--font-display); color: #FFFFFF; letter-spacing: -.02em; line-height: 1.15; margin: 0; }
.kh-bridge-desc { font-size: .9rem; color: var(--w-70); margin: 0; max-width: 66ch; line-height: 1.6; }

/* ---------------------------------------------------------------- Suite layout */
.suite-layout { display: grid; grid-template-columns: minmax(min(100%,260px),300px) 1fr; gap: clamp(2rem,4vw,3rem); align-items: start; }
.suite-sidebar { display: flex; flex-direction: column; gap: var(--s6); position: sticky; top: calc(var(--sticky-top) + 1rem); max-height: calc(100vh - var(--sticky-top) - 2rem); overflow: auto; padding-right: .25rem; }
.suite-side-group { display: flex; flex-direction: column; gap: var(--s2); }
.suite-type-chips { display: flex; flex-wrap: wrap; gap: .35rem; }
.suite-type-chip { font-family: var(--font-mono); font-size: .6rem; color: var(--ink-2); border: 1px solid var(--sand); border-radius: var(--r-pill); padding: .25rem .55rem; }
.suite-vault-link { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); font-family: var(--font-mono); font-size: .68rem; color: var(--forest); border: 1px solid var(--sand); border-radius: var(--r-md); padding: var(--s3); background: var(--sandstone); }
.suite-vault-link:hover { border-color: var(--forest); text-decoration: none; }
.suite-stack { display: flex; flex-direction: column; gap: var(--s4); }
.suite-featured { background: var(--forest); }
.suite-formula-band { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; font-family: var(--font-mono); font-size: .72rem; color: #fff; background: rgba(20,32,16,.55); border: 1px solid rgba(255,255,255,.14); border-radius: var(--r-md); padding: var(--s3) var(--s4); }
.suite-zone { width: 12px; height: 12px; flex: none; display: inline-block; border-radius: var(--r-pill); margin-right: .35rem; }
.suite-zone--prop { background: var(--lime); }
.suite-zone--veg { background: var(--sage); }
.suite-zone--gen { background: var(--terracotta); }
.suite-title { font-family: var(--font-display); font-size: 1.05rem; color: var(--forest); margin: 0; }
.suite-desc { font-size: .8rem; color: var(--ink-2); line-height: 1.55; margin: 0; }

/* ---------------------------------------------------------------- Tool catalog */
.tool-category-section { border: 1px solid var(--sand); border-radius: var(--r-lg); overflow: hidden; background: var(--white); }
.tool-category-section.is-cat-hidden { display: none; }
.category-accordion-trigger { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); padding: var(--s4) var(--s5); background: var(--white); }
.category-accordion-trigger:hover { background: var(--sandstone-soft); }
.category-accordion-body { border-top: 1px solid var(--sand); background: var(--sandstone-soft); }
.catalog-ico { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: none; border-radius: var(--r-md); background: var(--sage-mist); color: var(--forest); }
.catalog-ico svg { width: 22px; height: 22px; }
.moa-suite-kicker { font-family: var(--font-mono); font-size: .6rem; font-weight: 700; letter-spacing: .12em; color: var(--terracotta-ink); }
.moa-ok { font-family: var(--font-mono); font-size: .6rem; color: var(--forest); }
.accordion-toggle-text { font-family: var(--font-mono); font-size: .6rem; color: var(--ink-3); }
.accordion-chevron { display: inline-flex; align-items: center; transition: transform .2s ease; color: var(--ink-2); }
.accordion-chevron svg { width: 14px; height: 14px; }
.accordion-chevron.is-open { transform: rotate(180deg); }
.tool-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,240px),1fr)); gap: var(--s4); }
.tool-grid--suite { grid-template-columns: 1fr; }
.tool-card.botanical-card { display: flex; flex-direction: column; gap: var(--s3); }
.tool-card-ico { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: var(--r-md); background: var(--sage-mist); color: var(--forest); }
.tool-card-ico svg { width: 18px; height: 18px; }
.tool-card-id { font-family: var(--font-mono); font-size: .6rem; color: var(--ink-3); }
.tool-card-title { font-family: var(--font-display); font-size: .95rem; margin: 0; line-height: 1.3; }
.tool-card-title a:hover { text-decoration: none; }
.tool-card-desc { font-size: .78rem; color: var(--ink-2); line-height: 1.55; margin: 0; }
.formula-chip { font-family: var(--font-mono); font-size: .58rem; font-weight: 700; letter-spacing: .05em; color: #8F4527; background: rgba(185,111,82,.08); border: 1px solid rgba(185,111,82,.22); border-radius: var(--r-pill); padding: .25rem .55rem; }
.tool-card-launch { display: inline-flex; align-items: center; gap: .35rem; font-family: var(--font-mono); font-size: .62rem; font-weight: 700; color: var(--forest); }

/* ---------------------------------------------------------------- Vault (my grow data) */
.vault { background: var(--noir); color: var(--w-90); }
.vault-grid { display: grid; grid-template-columns: 1fr; gap: var(--s4); }
@media (min-width: 900px) { .vault-grid { grid-template-columns: 1.6fr 1fr; } }
.vault-snapshot { border: 1px solid rgba(255,255,255,.14); border-radius: var(--r-md); padding: var(--s5); background: rgba(255,255,255,.03); }
.vault-cells { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,150px),1fr)); gap: var(--s4); margin-block: var(--s4); }
.vault-cell { display: flex; flex-direction: column; gap: .3rem; }
.vault-cell span { font-family: var(--font-mono); font-size: .56rem; letter-spacing: .08em; text-transform: uppercase; color: var(--w-50); }
.vault-cell b { font-family: var(--font-display); font-size: 1.1rem; color: #fff; }
.vault-cell em { font-family: var(--font-mono); font-style: normal; font-size: .6rem; color: var(--w-70); }
.vault-protocol { display: flex; flex-direction: column; gap: var(--s3); }
.vault-protocol-row { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); font-size: .8rem; border-bottom: 1px solid rgba(255,255,255,.1); padding-bottom: var(--s3); }
.vault-protocol-row span { flex: none; }
.vault-protocol-row b { color: #fff; font-family: var(--font-mono); font-size: .72rem; }

/* ---------------------------------------------------------------- Pillar cross-link cards */
.pillar-card { display: flex; flex-direction: column; gap: .4rem; background: var(--white); border: 1px solid var(--sand); border-radius: var(--r-lg); padding: var(--s4); text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.pillar-card:hover { border-color: var(--terracotta-ink); box-shadow: var(--shadow-hover); transform: translateY(-2px); text-decoration: none; }
.pillar-ico { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: var(--r-md); background: var(--sandstone); color: var(--forest); }
.pillar-ico svg { width: 18px; height: 18px; }
.pillar-foot { font-family: var(--font-mono); font-size: .6rem; color: var(--ink-2); border-top: 1px solid var(--sand); padding-top: var(--s3); }

/* ---------------------------------------------------------------- Routing integrity */
.routing-bar { padding-block: var(--s4); }
.routing-chip { font-family: var(--font-mono); font-size: .6rem; color: var(--ink-2); background: var(--white); border: 1px solid var(--sand); border-radius: var(--r-pill); padding: .25rem .6rem; }

/* ---------------------------------------------------------------- Filter utility */
.filter-btn.is-active { background: var(--forest); border-color: var(--forest); color: #fff; }
.searchbox:has(> .input) .ic, .searchbox > .ic { position: absolute; left: .9rem; top: 50%; transform: translateY(-50%); color: var(--ink-3); }

@media (max-width: 900px) {
  .suite-layout { grid-template-columns: 1fr; }
  .suite-sidebar { position: static; max-height: none; }
  .kh-feature { grid-template-columns: 1fr; }
  .kh-feature-visual { min-height: 180px; }
}
@media (prefers-reduced-motion: reduce) {
  .accordion-chevron, .hub-card, .pillar-card, .kh-card { transition: none; }
}

/* =========================================================================
   Home v2 — Landing sections (2026-09-21)
   Rebuilds the sections BELOW the unchanged hero (01). Phase 1 additions:
      --radius-card  global card radius (16px, aliased)
      --shadow-3d    soft multi-layer 3D elevation
      12-col bento grid (lp-bento) stacking to 1-col on mobile
   Iconography: sprite only (assets/img/icons.svg#ic-*). No emojis.
   ========================================================================= */

/* ------------------------------------------------ Phase 1 design tokens */
:root {
  --radius-card: var(--r-lg);                          /* 16px — one radius everywhere */
  --shadow-3d: 0 4px 24px rgba(0,0,0,.06), 0 1px 3px rgba(0,0,0,.04);
  --lp-gutter: clamp(1.25rem, 3vw, 2rem);              /* 20px mobile → 32px desktop */
  --lp-gap: var(--s5);
}

/* Landing sections live inside the 1320px container with responsive padding. */
/* Landing sections live inside the 1320px container with responsive padding. */
.lp-sec { padding-block: clamp(2rem, 4vw, 3rem); }
.lp-sec--sand { background: var(--sandstone); border-top: 1px solid var(--sand); border-bottom: 1px solid var(--sand); }
.lp-sec > .container { padding-inline: var(--lp-gutter); scroll-margin-top: calc(var(--sticky-top) + 1rem); }
.lp-sec .section-head { margin-bottom: var(--s6); }
.lp-sec h2 { letter-spacing: -.03em; }

/* ------------------------------------------------ 02 — Metrics bar
   Shared 4-stat strip spec: 1280px inner container, 4-up grid, white surface,
   sand hairline, 16px radius, the unified soft panel shadow. Matches the About
   (.about-metrics-grid) and FAQ (.faq-stats) strips. */
.lp-metrics {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px;
  max-width: 1280px; margin-inline: auto;
  padding: 0; background: rgba(197, 161, 90, 0.28);
}
.lp-metric { display: flex; align-items: center; gap: 1rem; padding: 1.25rem 1.5rem; text-align: left; background: #FFFFFF; }
.lp-metric a { text-decoration: none; display: flex; align-items: center; gap: 1rem; width: 100%; flex-direction: row; color: inherit; }
.lp-metric-ico {
  width: 46px; height: 46px; border-radius: 50%;
  background: rgba(197,161,90,0.14); color: #B96F52;
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.lp-metric-ico svg { width: 20px; height: 20px; }
.lp-metric-num { display: block; font-family: var(--font-display); font-weight: 800; font-size: 1.85rem; line-height: 1.1; color: #173D2B; letter-spacing: -.02em; }
.lp-metric-label { display: block; font-family: var(--font-mono); font-weight: 700; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); }
.lp-metric:hover { background: rgba(255,255,255,.55); }

.section-kicker {
  display: inline-flex; align-items: center; gap: .4rem;
  font-family: var(--font-mono); font-size: .68rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: var(--forest);
}

/* ------------------------------------------------ 03 — 3-step flow */
.lp-steps { display: grid; grid-template-columns: 1fr; gap: var(--lp-gap); }
@media (min-width: 900px) { .lp-steps { grid-template-columns: repeat(3, 1fr); gap: var(--s6); } }
.lp-step { position: relative; background: var(--white); border-radius: 20px; padding: var(--s6); box-shadow: 0 8px 24px rgba(23,61,43,.06); }
.lp-step-top { display: flex; align-items: center; gap: var(--s3); margin-bottom: var(--s4); }
.lp-step-ico { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; color: #fff; flex: none; transition: transform .15s ease; }
.lp-step-ico svg { width: 24px; height: 24px; }
.lp-step-ico--step1 { background: #276A47; }
.lp-step-ico--step2 { background: #C5A15A; }
.lp-step-ico--step3 { background: #C46D4C; }
.lp-step-num { font-family: var(--font-mono); font-size: .68rem; font-weight: 700; letter-spacing: .14em; color: #151816; text-transform: uppercase; margin-left: auto; }
.lp-step h3 { font-family: var(--font-display); margin: 0 0 .35rem; font-size: 1.14rem; }
.lp-step p { font-size: .875rem; color: var(--ink-2); margin: 0; }
.lp-step-examples { font-family: var(--font-mono); font-size: .66rem; color: var(--ink-3); margin: .6rem 0 var(--s4) !important; }
.lp-step-foot { font-family: var(--font-mono); font-size: .68rem; font-weight: 700; color: var(--forest); display: inline-flex; align-items: center; gap: .35rem; }
.lp-step-foot svg { width: 14px; height: 14px; transition: transform .15s; }
a.lp-step-foot:hover { text-decoration: none; color: var(--terracotta-ink); }
a.lp-step-foot:hover svg { transform: translateX(3px); }

/* ------------------------------------------------ 04 — Precision Toolkit (bento) */
.lp-bento { display: grid; grid-template-columns: 1fr; gap: var(--lp-gap); }
@media (min-width: 1024px) {
  .lp-bento {
    grid-template-columns: repeat(12, 1fr);
    grid-template-areas:
      "a a a a a a a a b b b b"
      "a a a a a a a a c c c c"
      "d d d e e e f f f f f f";
  }
  .lp-bento-vpd  { grid-area: a; }
  .lp-bento-wc   { grid-area: b; }
  .lp-bento-light{ grid-area: c; }
  .lp-bento-nute { grid-area: d; }
  .lp-bento-sys  { grid-area: e; }
  .lp-bento-diag { grid-area: f; }
}
.lp-tool { display: flex; flex-direction: column; align-items: flex-start; gap: 0.75rem; background: var(--mc-surface) !important; border: 1px solid var(--mc-border-gold) !important; border-radius: var(--mc-radius-card) !important; padding: 1.5rem; box-shadow: var(--shadow-3d); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
a.lp-tool:hover { border-color: var(--mc-brand-green); box-shadow: var(--shadow-hover); transform: translateY(-3px); text-decoration: none; }
.lp-tool-head { display: flex; align-items: flex-start; gap: 1rem; }
.lp-tool-head h3 { margin: 0; font-size: 1.05rem; line-height: 1.3; }
.lp-tool-head .lp-tool-ico + div { margin-top: 0; flex: 1; min-width: 0; }
.lp-tool-ico { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: var(--r-md); background: #EBF3EE; color: var(--forest); flex: none; margin-bottom: 0; flex-shrink: 0; }
.lp-tool-ico svg { width: 22px; height: 22px; fill: var(--forest); color: var(--forest); }
.lp-tool .lp-tool-ico { margin-bottom: 0; flex: none; }
.lp-tool-links { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: var(--s2); }
.lp-tool-chip { display: inline-flex; align-items: center; gap: .3rem; font-family: var(--font-mono); font-size: .62rem; font-weight: 600; color: var(--ink-2); background: var(--sandstone); border: 1px solid var(--sand); border-radius: var(--r-pill); padding: .3rem .6rem; }
.lp-tool-foot { font-family: var(--font-mono); font-size: .68rem; font-weight: 700; color: var(--forest); display: inline-flex; align-items: center; gap: .35rem; margin-top: var(--s4); width: 100%; justify-content: space-between; }
.lp-tool-foot svg { width: 14px; height: 14px; transition: transform .15s; }
a.lp-tool:hover .lp-tool-foot svg { transform: translateX(3px); }
.lp-tool-desc { font-size: .83rem; color: var(--ink-2); margin: 0; width: 100%; }
.lp-tool--feature {
  color: var(--white); border: 1px solid rgba(255,255,255,.12) !important; border-radius: var(--mc-radius-card) !important;
  background: var(--noir) !important;
  box-shadow: 0 8px 24px rgba(23,61,43,.12);
}
.lp-tool--feature::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 18px 18px;
  opacity: .12;
  -webkit-mask-image: radial-gradient(ellipse 120% 90% at 50% 0%, #000 30%, transparent 100%);
  mask-image: radial-gradient(ellipse 120% 90% at 50% 0%, #000 30%, transparent 100%);
}
.lp-tool--feature > * { position: relative; z-index: 1; }
.lp-tool--feature .lp-tool-head h3 { color: var(--white); }
.lp-tool--feature .lp-tool-ico { background: rgba(185,111,82,.14); color: var(--lime); }
.lp-tool--feature .lp-tool-desc { color: var(--w-90); }
.lp-tool--feature .lp-tool-chip { color: var(--lime); background: rgba(185,111,82,.1); border-color: rgba(185,111,82,.25); }
.lp-tool--feature .lp-tool-foot { color: #C5A15A; }

/* Bento live VPD mini-widget (feature card) */
.lp-tool-live { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s3); }
.lp-tool-live-field {
  display: flex; flex-direction: column; gap: .45rem; padding: var(--s3);
  border-radius: var(--r-md); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--shadow-panel-inner);
}
.lp-tool-live-field label {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .2rem .4rem;
  font-family: var(--font-mono); font-size: .6rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; color: var(--w-70);
}
.lp-tool-live-field .hero-value-pill { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.14); color: var(--lime); }
.lp-tool-live-field .hero-value-unit { color: var(--w-70); }
.lp-tool-live-field .hero-slider-val { color: var(--lime); }
.lp-tool-live-field .hero-slider {
  width: 100%; height: 30px; margin: 0; padding: 0; border-radius: 99px; -webkit-appearance: none; appearance: none;
  cursor: pointer; background: transparent; outline: none;
}
.lp-tool-live-field .hero-slider::-webkit-slider-runnable-track {
  height: 8px; border-radius: 99px;
  background: linear-gradient(to right, var(--sage) 0%, var(--sage-mist) 100%);
  border: 1px solid rgba(255,255,255,.18);
}
.lp-tool-live-field .hero-slider::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none; width: 22px; height: 22px; margin-top: -8px; border-radius: 50%;
  background: var(--forest); border: 3px solid var(--white);
  box-shadow: 0 1px 4px rgba(23,61,43,.45); cursor: pointer;
  transition: transform .12s ease, box-shadow .12s ease;
}
.lp-tool-live-field .hero-slider::-webkit-slider-thumb:hover { transform: scale(1.1); }
.lp-tool-live-field .hero-slider::-moz-range-track {
  height: 8px; border-radius: 99px;
  background: linear-gradient(to right, var(--sage) 0%, var(--sage-mist) 100%);
  border: 1px solid rgba(255,255,255,.18);
}
.lp-tool-live-field .hero-slider::-moz-range-thumb {
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--terracotta); border: 3px solid var(--white);
  box-shadow: 0 1px 4px rgba(23,61,43,.45); cursor: pointer;
}
.lp-tool-live-field .hero-slider:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 3px rgba(185,111,82,.3); }
.lp-tool-live-field .hero-slider:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 3px rgba(185,111,82,.3); }
.lp-tool-live-result {
  display: flex; align-items: center; justify-content: space-between; gap: var(--s4);
  padding: var(--s4); border-radius: var(--r-md);
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--shadow-panel-inner);
}
.lp-tool-live-label { display: block; font-family: var(--font-mono); font-size: .6rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--w-70); }
.lp-tool-live-value { display: block; font-family: var(--font-mono); font-size: clamp(1.4rem, 2.2vw, 1.9rem); font-weight: 700; color: var(--lime); line-height: 1.1; }
.lp-tool--feature .lp-tool-live-value { color: var(--mc-gold); }
/* Featured VPD card slider styling — gold thumb with gold active track */
.lp-tool--feature .lp-tool-live-field .hero-slider::-webkit-slider-runnable-track {
  height: 8px; border-radius: 99px;
  background: linear-gradient(to right, #C5A15A var(--bento-fill,0%), rgba(255,255,255,.2) var(--bento-fill,0%));
  border: 1px solid rgba(255,255,255,.25);
}
.lp-tool--feature .lp-tool-live-field .hero-slider::-moz-range-track {
  height: 8px; border-radius: 99px;
  background: linear-gradient(to right, #C5A15A var(--bento-fill,0%), rgba(255,255,255,.2) var(--bento-fill,0%));
  border: 1px solid rgba(255,255,255,.25);
}
.lp-tool--feature .lp-tool-live-field .hero-slider::-webkit-slider-thumb {
  background: #C5A15A; border: 3px solid var(--white);
}
.lp-tool--feature .lp-tool-live-field .hero-slider::-moz-range-thumb {
  background: #C5A15A; border: 3px solid var(--white);
}
.bento-units { display: inline-flex; gap: .25rem; }
.unit-pill { display: inline-flex; align-items: center; gap: .3rem; padding: .18rem .55rem; border-radius: var(--r-pill); font-family: var(--font-mono); font-size: .62rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; border: 1px solid transparent; cursor: pointer; }
.unit-pill.is-active { background: #C5A15A; color: #FFFFFF; border-color: #C5A15A; }
.unit-pill:not(.is-active) { background: rgba(255,255,255,.08); color: rgba(255,255,255,.75); border-color: rgba(255,255,255,.25); }
.unit-pill:not(.is-active):hover { background: rgba(255,255,255,.14); }
.bento-vpd-meter { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .35rem; }
.bento-vpd-meter .hero-vpd-hint { color: rgba(255,255,255,.65); font-size: .62rem; display: flex; justify-content: space-between; text-transform: uppercase; letter-spacing: .06em; font-family: var(--font-mono); font-weight: 700; }
.lp-tool--feature a.lp-tool-foot:hover { color: #FFFFFF; }
@media (max-width: 1023px) { .lp-tool-live { grid-template-columns: 1fr; } }

/* ------------------------------------------------ 05 — Dashboard preview (dark) */
.lp-dash,
.grow-room-section {
  position: relative; color: #FFFFFF; overflow: hidden;
  padding: clamp(5rem, 8vw, 7rem) 1.5rem;
  background: var(--mc-deep-green);
  border-top: 1px solid rgba(255,255,255,.10);
}
.lp-dash > .container,
.grow-room-section > .container { padding-inline: var(--lp-gutter); scroll-margin-top: calc(var(--sticky-top) + 1rem); }
.lp-dash .section-head,
.grow-room-section .section-head { margin-bottom: var(--s6); }
.lp-dash h2,
.grow-room-section h2 { color: #FFFFFF; }
.lp-dash .lp-dash-tile b,
.grow-room-section .lp-dash-tile b { color: #FFFFFF; }
.lp-dash .section-head p,
.grow-room-section .section-head p { color: rgba(255,255,255,.82); }
.lp-dash-panel { position: relative; border: 1px solid rgba(185,111,82,.25); border-radius: var(--radius-card); background: #173D2B; padding: clamp(var(--s6), 3vw, var(--s12)); box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 30px 70px -16px rgba(0,0,0,.6); }
.lp-dash-top { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); flex-wrap: wrap; border-bottom: 1px solid rgba(255,255,255,.09); padding-bottom: var(--s4); margin-bottom: var(--s5); }
.lp-dash-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s4); }
@media (min-width: 768px) { .lp-dash-tiles { grid-template-columns: repeat(4, 1fr); } }
.lp-dash-tile { border: 1px solid rgba(255,255,255,.11); border-radius: var(--r-md); padding: var(--s5); background: #0F231A; box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 1px 0 rgba(0,0,0,.4); }
.lp-dash-tile span { display: block; font-family: var(--font-mono); font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; color: var(--w-70); margin-bottom: .6rem; }
.lp-dash-tile b { font-family: var(--font-display); font-size: clamp(1.25rem, 2vw, 1.6rem); color: var(--white); display: block; }
.lp-dash-tile svg { width: 100%; height: 34px; margin-top: .6rem; }
.lp-dash-notes { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: var(--s5); padding-top: var(--s4); border-top: 1px solid rgba(255,255,255,.09); }
.lp-dash-note { display: inline-flex; align-items: center; gap: .4rem; font-family: var(--font-mono); font-size: .62rem; font-weight: 600; letter-spacing: .04em; color: var(--w-90); background: #0F231A; border: 1px solid rgba(107,168,68,.3); border-radius: var(--r-pill); padding: .35rem .75rem; }
.lp-dash-note .dot { width: .45rem; height: .45rem; }
.lp-dash-cta { margin-top: var(--s6); }
.lp-dash-cta .btn { width: 100%; justify-content: center; background: var(--mc-gold) !important; color: var(--noir) !important; border-color: var(--mc-gold) !important; }
.lp-dash-cta .btn:hover { background: var(--terracotta-600) !important; color: var(--noir) !important; border-color: var(--terracotta-600) !important; }

/* Grow Room decorative accents (leaf top-right, terracotta blob bottom-right) */
.grow-room-leaf-wrap { position: absolute; top: 6%; right: 6%; width: 17rem; height: auto; z-index: 0; pointer-events: none; opacity: .5; }
.grow-room-leaf { width: 100%; height: auto; display: block; }
.grow-room-blob { position: absolute; z-index: 0; pointer-events: none; opacity: .5; }
.grow-room-blob--terracotta { bottom: -8%; right: -8%; width: 34%; height: 48%; background: radial-gradient(circle at center, var(--mc-gold) 0%, var(--terracotta-600) 60%); border-radius: 60% 40% 70% 30%; }

/* ------------------------------------------------ 06 — Knowledge Hub + articles */
.lp-hub-links { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem .5rem; margin-top: var(--s6); margin-bottom: var(--s8); }
.lp-hub-link { display: inline-flex; align-items: center; gap: .35rem; font-size: .8rem; font-weight: 600; line-height: 1.2; color: var(--ink); background: var(--white); border: 1px solid var(--sand); border-radius: var(--r-pill); padding: .45rem .95rem; text-decoration: none; cursor: pointer; transition: border-color .15s ease, color .15s ease, background .15s ease; }
.lp-hub-link svg { width: 14px; height: 14px; color: var(--terracotta-ink); }
.lp-hub-link:hover { border-color: var(--forest); color: var(--forest); background: var(--sage-mist); text-decoration: none; }
.lp-hub-link.is-active { background: var(--forest); color: var(--cream); border-color: var(--forest); }
.lp-hub-link.is-active svg { color: var(--terracotta); }
.lp-latest { display: grid; grid-template-columns: 1fr; gap: var(--s6); align-items: stretch; }
@media (min-width: 960px) { .lp-latest { grid-template-columns: 1fr 1fr; } }
.lp-latest-card { display: flex; flex-direction: column; gap: var(--s4); background: var(--mc-surface, #FFFFFF); border: 1px solid var(--mc-border-gold, rgba(197,161,90,0.28)); border-radius: var(--mc-radius-card, 16px); padding: var(--s6); box-shadow: 0 4px 20px rgba(17,26,19,0.04); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.lp-latest-card--feature { overflow: hidden; padding: 0; }
.lp-latest-card:hover { transform: translateY(-2px); border-color: #C5A15A; }
/* Feature-card visual — dynamic WordPress featured image with a dark botanical
   gradient veil overlay (fallback: og-default.png). Hover lifts the raster with
   a slow scale while the veil deepens. */
.lp-article-visual {
  position: relative; overflow: hidden; display: block;
  width: 100%; aspect-ratio: 16 / 10; flex: none; background: #173D2B;
}
.lp-article-img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  display: block; transition: transform .7s cubic-bezier(.22,.61,.36,1);
}
.lp-article-visual:hover .lp-article-img { transform: scale(1.05); }
.lp-article-veil {
  position: absolute; inset: 0; pointer-events: none; transition: opacity .5s ease;
  background:
    radial-gradient(ellipse 75% 85% at 82% 0%, rgba(185,111,82,.28), transparent 62%),
    linear-gradient(to top, rgba(20,32,16,.72) 0%, rgba(20,32,16,.18) 45%, rgba(23,51,14,.1) 100%);
}
.lp-article-visual:hover .lp-article-veil { opacity: .82; }
/* Floating badges over the feature image — category + read time */
.lp-feat-badges { position: absolute; top: .9rem; left: .9rem; display: flex; flex-wrap: wrap; gap: .4rem; z-index: 2; }
.lp-feat-badges .chip { box-shadow: 0 6px 16px -8px rgba(0,0,0,.5); }
.lp-latest-card--feature .lp-latest-card--body { padding: var(--s6); display: flex; flex-direction: column; gap: var(--s4); }
.lp-latest-card h3 { margin: 0 0 .45rem; font-size: 1.12rem; line-height: 1.35; }
.lp-latest-card h3 a:hover { text-decoration: none; color: var(--terracotta-ink); }
.lp-article-kicker { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .15rem; }
.lp-article-excerpt { font-size: .875rem; color: var(--ink-2); margin: 0; }
/* Clamp helpers (used by feature + spotlight excerpts) */
.clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
/* Prominent feature footer bar */
.lp-feat-foot {
  display: inline-flex; align-items: center; gap: .4rem; align-self: flex-start;
  margin-top: auto; padding: .55rem 1.15rem; border-radius: 999px;
  background: #276A47; color: #FFFFFF;
  font-family: var(--font-mono); font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  transition: background .18s ease, transform .15s ease;
}
.lp-feat-foot svg { width: 14px; height: 14px; transition: transform .15s; }
.lp-feat-foot:hover { background: #1e5739; color: #FFFFFF; text-decoration: none; transform: translateY(-1px); }
.lp-feat-foot:hover svg { transform: translateX(3px); }
.lp-article-stack { display: grid; gap: var(--s4); align-content: stretch; }
@media (min-width: 960px) {
  .lp-latest-card--feature { flex-direction: column; }
  .lp-latest-card--feature .lp-article-visual { width: 100%; aspect-ratio: 16 / 10; }
  .lp-latest-card--feature .lp-latest-card--body { padding: var(--s6); }
  .lp-article-stack { grid-template-rows: repeat(3, 1fr); }
}
/* Spotlight cards — horizontal media cards (thumbnail | copy) */
.lp-article-item {
  position: relative; display: grid; grid-template-columns: 112px 1fr; gap: 1.25rem;
  align-items: center; background: #FFFFFF; border: 1px solid rgba(197, 161, 90, 0.28);
  border-radius: var(--radius-card); padding: var(--s5); box-shadow: var(--shadow-3d);
  min-height: 0; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.lp-article-item:hover { border-color: #C5A15A; transform: translateY(-2px); box-shadow: var(--shadow-hover); }
.lp-article-thumb { display: block; width: 112px; height: 96px; border-radius: 10px; overflow: hidden; background: #EBF3EE; flex: none; }
.lp-article-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lp-article-item--body { min-width: 0; display: flex; flex-direction: column; gap: .35rem; }
.lp-article-item .lp-article-kicker { margin-bottom: 0; }
.lp-article-item h3 { margin: 0; font-size: .98rem; line-height: 1.38; }
.lp-article-item h3 a { color: var(--ink); }
.lp-article-item h3 a:hover { color: #276A47; text-decoration: none; }
.lp-article-item p { font-size: .8rem; color: var(--ink-2); margin: 0; }
.lp-article-arrow { position: absolute; top: 50%; right: 1rem; transform: translateY(-50%); color: var(--sand); opacity: 0; transition: opacity .18s ease, transform .18s ease, color .18s ease; }
.lp-article-arrow svg { width: 18px; height: 18px; }
.lp-article-item:hover .lp-article-arrow { opacity: 1; color: var(--terracotta); transform: translateY(-50%) translateX(3px); }
/* Live hub-filter hiding (JS toggles .is-hidden) */
.lp-latest .is-hidden { display: none !important; }
/* Dynamic Hub tab panels (2026-10-20) — 7 pre-rendered panels, one visible.
   Instant in-page swap via app.js initHubTabs(); hidden panels stay in the DOM
   so switching never reflows the page or triggers a network request. */
.kh-tab-panel { animation: mc-kh-fade .28s ease both; }
.kh-tab-panel[hidden] { display: none !important; }
@keyframes mc-kh-fade {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .kh-tab-panel { animation: none; }
}

/* ------------------------------------------------ 07 — Testimonials */
.lp-testimonials { display: grid; grid-template-columns: 1fr; gap: var(--lp-gap); }
@media (min-width: 900px) { .lp-testimonials { grid-template-columns: repeat(3, 1fr); gap: var(--s6); } }
.lp-quote { display: flex; flex-direction: column; gap: var(--s4); background: var(--white); border: 1px solid var(--sand); border-radius: var(--radius-card); padding: var(--s6); box-shadow: var(--shadow-3d); }
.lp-quote-metric { font-family: var(--font-display); font-weight: 800; font-size: 1.55rem; letter-spacing: -.02em; color: var(--terracotta-ink); }
.lp-proof-num { display: block; font-family: var(--font-mono); font-weight: 800; font-size: clamp(2rem, 3.5vw, 2.75rem); letter-spacing: -.03em; color: var(--forest); line-height: 1; }
.lp-proof-label { display: block; font-family: var(--font-mono); font-weight: 800; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: var(--terracotta-ink); margin-top: .2rem; }
.lp-quote blockquote { margin: 0; font-style: italic; color: var(--ink-2); font-size: 1rem; line-height: 1.7; }
.lp-quote cite { font-style: normal; font-family: var(--font-mono); font-size: .7rem; color: var(--ink-3); }
.lp-quote cite b { color: var(--forest); }

/* ------------------------------------------------ 08 — (removed: newsletter lives in global footer) */

/* ------------------------------------------------ Shared deep dark-band surface
   Task 1 (2026-10-19 UI/UX polish): the home telemetry panel, dark tool
   callouts and the Knowledge-Hub bridge reuse the footer newsletter's layered
   organic treatment — two terracotta radial glows over forest→forest-700→noir,
   a masked 36px grid overlay and a dashed deterministic-chain wave trace.
   Content sits at z-index 1 so the overlays never wash over type. */
.kh-bridge,
.kh-feature {
  position: relative;
  background: var(--mc-dark-band);
  overflow: hidden;
}
/* .lp-tool--feature (dark Toolkit bento cards) uses the Obsidian Carbon Slate
   background defined with the card rules above, so it is not part of this
   dark-band background group — only its shared layering/overlay applies. */
.lp-tool--feature { position: relative; overflow: hidden; }
/* .lp-dash keeps the shared layering (position/overflow + grid overlay) but
   its background is the parallax media stack defined in the section-05 block
   above, so the shorthand `background` must not reset it here. */
.lp-dash,
.grow-room-section { position: relative; overflow: hidden; }
.lp-dash::before,
.grow-room-section::before,
.kh-bridge::before,
.kh-feature::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background: var(--mc-dark-grid); background-size: 36px 36px;
  -webkit-mask-image: radial-gradient(ellipse 90% 70% at 50% 20%, #000 40%, transparent 90%);
  mask-image: radial-gradient(ellipse 90% 70% at 50% 20%, #000 40%, transparent 90%);
}
.lp-tool--feature::after,
.kh-bridge::after,
.kh-feature::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: var(--mc-dark-wave);
  background-repeat: no-repeat; background-position: center; background-size: cover;
}
/* Grow-room dashboard (05): all content (header, telemetry panel, CTA) sits
   above the dark obsidian overlay + masked grid. */
.lp-dash > *,
.grow-room-section > * { position: relative; z-index: 2; }
.lp-tool--feature > *,
.kh-bridge > *,
.kh-feature > * { position: relative; z-index: 1; }
.lp-dash-ornament,
.grow-room-section .lp-dash-ornament { position: absolute; inset: 0; width: 100%; height: 100%; color: rgba(255,255,255,.05); pointer-events: none; z-index: 1; }
@media (prefers-reduced-motion: reduce) {
  .lp-tool, .lp-step, .lp-hub-link { transition: none; }
  .lp-article-img { transition: none; }
  .lp-article-visual:hover .lp-article-img { transform: none; }
}

/* ------------------------------------------------ Landing responsive pass */
@media (max-width: 640px) {
  .hero-widget-inputs { grid-template-columns: 1fr; }
  .hero-viz-head { flex-wrap: wrap; gap: .4rem; }
  .lp-step { padding: var(--s5); }
  .lp-metrics { grid-template-columns: 1fr 1fr; gap: 1px; }
  .lp-metric { padding: 1.5rem 1rem; }
  .lp-latest-card--feature .lp-latest-card--body { padding: var(--s5); }
  .lp-quote { padding: var(--s5); }
  .lp-tool-live-result { flex-direction: column; align-items: stretch; }
  .lp-dash-cta { margin-top: var(--s6); }
  .lp-hub-links { gap: .5rem .4rem; margin-top: var(--s5); }
  .lp-hub-link { padding: .45rem .8rem; font-size: .76rem; }
}

@media (max-width: 560px) {
  .lp-article-item { grid-template-columns: 88px 1fr; gap: .9rem; padding: var(--s4); }
  .lp-article-thumb { width: 88px; height: 78px; }
  .lp-article-item h3 { font-size: .92rem; }
  .lp-article-item p { display: none; }
  .lp-feat-badges { top: .6rem; left: .6rem; }
  .lp-feat-foot { width: 100%; justify-content: center; }
}


/* Overflow guard (2026-09-23): the off-canvas mobile drawer must never extend document scroll width */
html, body { overflow-x: clip; }

/* Inline text link (K-Hub empty state) — distinguishable + AA contrast (2026-10-18, B4) */
.mc-text-link { color: var(--terracotta-ink); text-decoration: underline; text-underline-offset: 2px; font-weight: 600; }
.mc-text-link:hover { text-decoration-thickness: 2px; }

/* Hostinger affiliate "Buy on Amazon" button — vendor #3883f4 gives white text only 3.67:1.
   Darken to a same-hue blue that clears AA while keeping the vendor button shape (2026-10-18, B). */
.hostinger-affiliate-block-single-type__product-amazon-button.hostinger-affiliate-block-single-type__product-amazon-button,
.hostinger-affiliate-block-single-type__product-buy-button.hostinger-affiliate-block-single-type__product-buy-button {
  background: #1565C0 !important; border-color: #1565C0 !important; color: #FFFFFF !important;
}
.hostinger-affiliate-block-single-type__product-amazon-button.hostinger-affiliate-block-single-type__product-amazon-button:hover,
.hostinger-affiliate-block-single-type__product-buy-button.hostinger-affiliate-block-single-type__product-buy-button:hover {
  background: #0F4C92 !important; border-color: #0F4C92 !important;
}

/* =========================================================================
   Legal & Compliance document shell (.th-*)
   The four legal documents (/privacy-policy/, /terms-of-service/,
   /cookie-policy/, /affiliate-disclosure/) are authored as self-contained
   .th-root blocks in post_content. Styles are scoped to .th-root so nothing
   leaks into the rest of the theme. (2026-10-18, GAP §5.12)
   ========================================================================= */
.th-root { --mc-line: var(--sand); color: var(--ink); font-family: var(--font-body); line-height: 1.65; }
.th-inner { max-width: 1120px; margin: 0 auto; }

/* Hero */
.th-head { margin: 0; }
.th-hero { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .9fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
@media (max-width: 880px) { .th-hero { grid-template-columns: 1fr; } }
.th-eyebrow { display: flex; align-items: center; gap: .5rem; font-family: var(--font-mono); font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--terracotta-ink); margin-bottom: .6rem; }
.th-dot { width: .5rem; height: .5rem; border-radius: 50%; background: var(--terracotta-ink); display: inline-block; flex: none; }
.th-hero-copy h1 { font-family: var(--font-display); font-weight: 800; font-size: clamp(2rem, 4.2vw, 3rem); line-height: 1.08; letter-spacing: -.02em; color: var(--noir); margin: 0 0 .75rem; }
.th-sub { font-size: 1.03rem; color: var(--ink-2); max-width: 62ch; margin: 0; }
.th-sub strong { color: var(--ink); }
.th-hero-ctas { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.1rem; }
.th-hero-btn { display: inline-flex; align-items: center; gap: .5rem; padding: .6rem 1.2rem; border-radius: var(--r-pill); font-family: var(--font-body); font-weight: 700; font-size: .9rem; background: var(--terracotta-ink); color: #fff; text-decoration: none; border: 1.5px solid transparent; }
.th-hero-btn--ghost { background: transparent; border-color: var(--sand); color: var(--ink); }
.th-hero-btn--ghost:hover { border-color: var(--forest); color: var(--forest); }

/* Hero side visual */
.th-viz { background: var(--noir); color: #fff; border: 1px solid var(--w-8); border-radius: var(--r-lg); padding: 1.5rem; box-shadow: var(--shadow-botanical); }
.th-viz-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1rem; }
.th-viz-brand { display: inline-flex; align-items: center; gap: .5rem; font-family: var(--font-mono); font-size: .64rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--terracotta); }
.th-viz-brand svg { width: 18px; height: 18px; }
.th-viz-live { display: inline-flex; align-items: center; gap: .4rem; font-family: var(--font-mono); font-size: .6rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #6BA844; }
.th-viz-live i { width: .45rem; height: .45rem; border-radius: 50%; background: #6BA844; display: inline-block; box-shadow: 0 0 0 3px rgba(107,168,68,.22); }
.th-viz-quote { font-family: var(--font-display); font-style: italic; font-size: .98rem; line-height: 1.6; color: var(--w-80); margin: 0; }
.th-viz-quote strong { color: #fff; }
.th-viz-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin-bottom: 1rem; }
.th-viz-stat { background: var(--w-5); border: 1px solid var(--w-8); border-radius: var(--r-md); padding: .8rem .5rem; text-align: center; }
.th-viz-stat-val { font-family: var(--font-display); font-weight: 800; font-size: 1.35rem; line-height: 1.1; color: var(--terracotta); }
.th-viz-stat-lbl { margin-top: .25rem; font-family: var(--font-mono); font-size: .56rem; letter-spacing: .08em; text-transform: uppercase; color: var(--w-60); }
.th-viz-bar { height: .5rem; border-radius: var(--r-pill); background: var(--w-12); overflow: hidden; margin: 0 0 1rem; }
.th-viz-bar > span { display: block; height: 100%; background: linear-gradient(90deg, var(--terracotta-600), var(--terracotta)); border-radius: inherit; }
.th-viz-date { font-family: var(--font-mono); font-size: .66rem; color: var(--w-60); }

/* Sections, cards, steps */
.th-section { margin-top: 2.75rem; }
.th-section-head { max-width: 72ch; margin-bottom: 1.5rem; }
.th-section-head h2 { font-family: var(--font-display); font-weight: 800; font-size: clamp(1.45rem, 2.4vw, 1.9rem); line-height: 1.15; color: var(--noir); margin: 0 0 .35rem; }
.th-section-head p { margin: 0; color: var(--ink-2); }
.th-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
@media (max-width: 780px) { .th-steps { grid-template-columns: 1fr; } }
.th-step-card, .th-card { background: var(--white); border: 1px solid var(--sand); border-radius: var(--r-lg); padding: 1.5rem; box-shadow: var(--shadow-sm); }
.th-step-card h2, .th-step-card h3, .th-card h2, .th-card h3 { font-family: var(--font-display); font-weight: 700; font-size: 1.15rem; line-height: 1.25; color: var(--forest); margin: 0; }
.th-step-icon { display: flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: var(--r-md); background: var(--sage-mist); color: var(--forest); margin-bottom: .85rem; }
.th-step-icon svg { width: 22px; height: 22px; }
.th-step-card p, .th-card p { margin: .6rem 0 0; color: var(--ink-2); font-size: .95rem; }
.th-grid { display: grid; gap: 1.25rem; }
.th-hub-cat-icon { display: flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: var(--r-sm); background: var(--sage-mist); color: var(--forest); flex: none; }
.th-hub-cat-icon svg { width: 18px; height: 18px; }

/* Checklist */
.th-policy-list { list-style: none; margin: .9rem 0 0; padding: 0; }
.th-policy-list li { position: relative; padding-left: 1.4rem; margin: .4rem 0; color: var(--ink-2); font-size: .95rem; }
.th-policy-list li::before { content: ""; position: absolute; left: .1rem; top: .58em; width: .5rem; height: .5rem; border-radius: 2px; background: var(--sage); }

/* Divider */
.th-divider { position: relative; display: flex; align-items: center; justify-content: center; margin-top: 2.75rem; }
.th-divider::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--sand); }
.th-divider-badge { position: relative; background: var(--cream); border: 1px solid var(--sand); border-radius: var(--r-pill); padding: .4rem .95rem; font-family: var(--font-mono); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sage-ink); }

/* FAQ */
.th-faq { display: flex; flex-direction: column; gap: .6rem; margin-top: .25rem; }
.th-faq-item { background: var(--white); border: 1px solid var(--sand); border-radius: var(--r-md); padding: 0 1.1rem; }
.th-faq-item > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; list-style: none; padding: 1rem 0; font-family: var(--font-display); font-weight: 700; color: var(--noir); }
.th-faq-item > summary::-webkit-details-marker { display: none; }
.th-faq-item > summary::after { content: "+"; font-family: var(--font-mono); font-weight: 700; color: var(--terracotta-ink); }
.th-faq-item[open] > summary::after { content: "\2212"; }
.th-faq-item p { margin: 0 0 1rem; color: var(--ink-2); font-size: .95rem; }

/* ==================================================================
   About page — "Botanical Precision — Method, Not Lore"
   Scoped to .page-about so nothing else on the site is affected.
   ================================================================== */

.page-about { background: var(--cream); }

/* ------------------------------------------------ Hero — unified dark forest.
   Reuses the exact home .hero dark vignette (deep radial forest → noir wash,
   masked 36px grid at ~8% opacity, translucent hairline) on a 1280px inner
   container, with light-on-dark typography. No lab photo. */
.page-about .about-hero {
  position: relative; overflow: hidden;
}
.page-about .about-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(to right, rgba(197,161,90,.5) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(197,161,90,.5) 1px, transparent 1px);
  background-size: 36px 36px;
  opacity: .08;
  -webkit-mask-image: radial-gradient(ellipse 90% 70% at 50% 20%, #000 40%, transparent 90%);
  mask-image: radial-gradient(ellipse 90% 70% at 50% 20%, #000 40%, transparent 90%);
  animation: grid-drift 18s linear infinite;
}
.page-about .about-hero > .container { position: relative; z-index: 1; max-width: 1320px; }
.page-about .about-hero .crumb,
.page-about .about-hero .crumb-cur,
.page-about .about-hero .crumb-sep { color: #173D2B !important; }
.page-about .about-hero .crumb a { color: #276A47 !important; }
.page-about .about-hero .crumb a:hover { color: #173D2B !important; }
.page-about .about-hero .hero-split { grid-template-columns: 1fr; }
@media (min-width: 1024px) {
  .page-about .about-hero .hero-split { grid-template-columns: 1.55fr 1fr; }
}
.page-about .about-hero .kh-proof-grid { align-content: start; }
.page-about .about-hero .hero-title { color: #173D2B !important; }
.page-about .about-hero .hero-hl { color: #C5A15A !important; }
.page-about .about-hero .hero-lede { color: #3C473F !important; }
.page-about .about-hero .hero-eyebrow { background: rgba(197,161,90,.18) !important; border: 1px solid rgba(197,161,90,.4) !important; color: #173D2B !important; }
.page-about .about-hero .hero-eyebrow .dot { background: var(--terracotta) !important; }
.page-about .about-hero .btn-primary { background: #276A47 !important; color: #FFFFFF !important; border-radius: 999px !important; }
.page-about .about-hero .btn-ghost { background: #FFFFFF !important; color: #173D2B !important; border: 1px solid rgba(23,61,43,.25) !important; border-radius: 999px !important; }
.page-about .about-hero .hero-proof-badge { background: rgba(197,161,90,.18) !important; color: #173D2B !important; border: 1px solid rgba(197,161,90,.4) !important; }
.page-about .about-hero .activity-live .dot { background: var(--lime) !important; }
.page-about .about-hero .activity-live .hero-footnote { color: #3C473F !important; }

/* ------------------------------------------------ Hero metrics strip (4-col)
   Shared 4-stat strip spec — 1280px container, 4-up, white surface, sand
   hairline, 16px radius, unified panel shadow. */
.about-metrics { background: var(--cream); padding-block: clamp(1.5rem, 3vw, 2.5rem); }
.about-metrics-grid {
  display: grid; grid-template-columns: 1fr; gap: 1rem;
  max-width: 1280px; margin-inline: auto;
}
@media (min-width: 640px) { .about-metrics-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .about-metrics-grid { grid-template-columns: repeat(4, 1fr); gap: 1.25rem; } }
.about-metric {
  display: flex; flex-direction: column; gap: .6rem;
  background: #FFFFFF; border: 1px solid var(--sand); border-radius: 16px;
  padding: clamp(1.25rem, 2.2vw, 1.6rem);
  box-shadow: 0 12px 32px rgba(15,20,16,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.about-metric:hover { transform: translateY(-3px); border-color: var(--sage); box-shadow: var(--shadow-hover); }
.about-metric-top { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.about-metric-top .ic { color: var(--mc-accent, var(--sage)); }
.about-metric-kicker { font-family: var(--font-mono); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sage-ink); }
.about-metric-value { display: flex; align-items: baseline; gap: .25rem; }
.about-metric-value b { font-family: var(--font-display); font-weight: 800; font-size: clamp(2rem, 4vw, 2.6rem); line-height: 1; letter-spacing: -.02em; color: var(--forest); }
.about-metric-value em { font-family: var(--font-mono); font-style: normal; font-size: .9rem; font-weight: 700; color: var(--ink-3); }
.about-metric-title { font-family: var(--font-display); font-weight: 700; font-size: 1rem; color: var(--ink); }
.about-metric-desc { margin: 0; font-size: .8125rem; line-height: 1.6; color: var(--ink-2); }
.about-metric-foot { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: auto; border-top: 1px solid var(--sand); padding-top: .75rem; }
.about-metric-foot-note { font-size: .6rem; color: var(--sage-ink); }

/* ------------------------------------------------ Live telemetry widget */
.about-hero-widget { position: relative; }
.about-widget-actions { display: flex; align-items: center; gap: .75rem; margin-top: var(--s4); flex-wrap: wrap; }
.about-widget-saved { font-family: var(--font-mono); font-size: .64rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--forest); }

/* ------------------------------------------------ Mid-page parallax band */
.about-parallax-band {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: clamp(22rem, 42vw, 32rem);
  display: flex; align-items: center; justify-content: center;
  padding-block: clamp(4rem, 9vw, 7rem);
  text-align: center;
  background-image:
    linear-gradient(135deg, rgba(8, 14, 10, .94) 0%, rgba(12, 20, 15, .96) 100%),
    url("/wp-content/uploads/2026/08/about-page-banner-1536x652.webp");
  background-size: cover, cover;
  background-position: center, center;
  background-attachment: fixed, fixed;
  background-repeat: no-repeat, no-repeat;
  border-top: 1px solid var(--sand);
  border-bottom: 1px solid var(--sand);
}
.about-parallax-band::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 36px 36px;
  -webkit-mask-image: radial-gradient(ellipse 90% 70% at 50% 30%, #000 30%, transparent 92%);
  mask-image: radial-gradient(ellipse 90% 70% at 50% 30%, #000 30%, transparent 92%);
}
.about-parallax-band > .container { position: relative; z-index: 2; max-width: 52rem; }
.about-parallax-kicker {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .35rem .85rem; border-radius: var(--r-pill);
  background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.22);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  font-family: var(--font-mono); font-size: .66rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: #FFFFFF;
}
.about-parallax-quote {
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(1.35rem, 3.2vw, 2.35rem); line-height: 1.32;
  letter-spacing: -.02em; color: #FFFFFF; margin: 1.25rem 0 0;
  text-shadow: 0 2px 24px rgba(0,0,0,.4);
}
.about-parallax-attrib {
  margin-top: 1.1rem; font-family: var(--font-mono); font-size: .68rem;
  letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.82);
}
.about-parallax-stats {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: .5rem .9rem; margin-top: clamp(1.5rem, 4vw, 2.25rem);
}
.about-parallax-chip {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .45rem .9rem; border-radius: var(--r-pill);
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  font-family: var(--font-mono); font-size: .64rem; font-weight: 700;
  letter-spacing: .06em; color: #FFFFFF;
}
.about-parallax-chip b { color: var(--sage-mist); }
.about-parallax-chip .dot { width: .4rem; height: .4rem; }

/* ------------------------------------------------ Founder photo */
.about-founder-photo {
  width: 100%; max-width: 220px; aspect-ratio: 1 / 1;
  object-fit: cover; border-radius: var(--r-lg);
  border: 1px solid var(--accent-sage, var(--sage));
  box-shadow: var(--shadow-botanical);
  display: block;
}
.about-founder-photo-wrap { position: relative; flex: none; }
.about-founder-cap {
  position: absolute; left: .5rem; right: .5rem; bottom: .5rem;
  display: flex; align-items: center; gap: .4rem;
  padding: .3rem .55rem; border-radius: var(--r-sm);
  background: rgba(15,20,16,.78); color: #fff;
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  font-family: var(--font-mono); font-size: .52rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
}
.about-founder-cap .dot { width: .4rem; height: .4rem; }

/* ------------------------------------------------ Process / stage depth */
.page-about .card { box-shadow: var(--shadow-botanical); }
.page-about .card--flat { box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 1px 3px rgba(39,106,71,.05); }
.page-about .card--flat:hover { border-color: var(--sage); box-shadow: 0 8px 26px rgba(39,106,71,.10); }

/* ------------------------------------------------ Source cards (K1–K9) */
.page-about .source-card {
  display: flex; flex-direction: column; gap: var(--s3);
  background: var(--white); border: 1px solid var(--sand); border-radius: var(--r-lg);
  padding: var(--s5); box-shadow: var(--shadow-botanical);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.page-about .source-card:hover {
  transform: translateY(-3px);
  border-color: var(--sage);
  box-shadow: var(--shadow-hover);
}
.page-about .source-card[hidden] { display: none; }

/* ------------------------------------------------ FAQ — knowledge-base 2-col */
.about-faq-layout {
  display: grid; grid-template-columns: 1fr; gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}
@media (min-width: 1024px) {
  .about-faq-layout { grid-template-columns: 1fr 1.5fr; }
}
.about-faq-rail { position: relative; }
@media (min-width: 1024px) {
  .about-faq-rail {
    position: sticky; top: calc(var(--sticky-top) + 1.5rem); align-self: start;
  }
}
.about-faq-rail .label { color: var(--sage-ink); }
.about-faq-rail h2 { margin: .3rem 0 .6rem; }
.about-faq-rail p { color: var(--ink-2); margin: 0 0 var(--s5); }
.about-faq-filters { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: var(--s5); }
.about-faq-filter {
  display: inline-flex; align-items: center; gap: .4rem;
  height: 32px; padding: 0 .8rem; border-radius: var(--r-pill);
  border: 1px solid var(--sand); background: var(--white);
  font-family: var(--font-mono); font-size: .64rem; font-weight: 600;
  letter-spacing: .04em; color: var(--ink-2); cursor: pointer;
  transition: background .15s, color .15s, border-color .15s;
}
.about-faq-filter:hover { border-color: var(--sage); color: var(--forest); }
.about-faq-filter.is-active { background: var(--forest); color: #fff; border-color: var(--forest); }
.about-faq-filter .n { color: inherit; opacity: .7; }
.about-faq-rail .about-faq-stat {
  display: flex; align-items: center; gap: .6rem;
  padding-top: var(--s4); border-top: 1px solid var(--sand);
  font-family: var(--font-mono); font-size: .62rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; color: var(--sage-ink);
}
.about-faq-rail .about-faq-stat .dot { width: .45rem; height: .45rem; }

.about-faq { display: flex; flex-direction: column; gap: var(--s3); }
.about-faq details { background: var(--white); border: 1px solid var(--sand); border-radius: var(--r-lg); box-shadow: var(--shadow-sm); overflow: hidden; transition: box-shadow .18s ease, border-color .18s ease; }
.about-faq details:hover { border-color: var(--sage); box-shadow: var(--shadow-hover); }
.about-faq summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: var(--s5); font-family: var(--font-display); font-weight: 700; color: var(--ink); }
.about-faq summary::-webkit-details-marker { display: none; }
.about-faq summary:hover { color: var(--forest); }
.about-faq summary .ic { color: var(--forest); transition: transform .2s ease; }
.about-faq details[open] { border-color: var(--sage); }
.about-faq details[open] summary { border-bottom: 1px solid var(--sand); background: var(--sandstone); }
.about-faq details[open] summary .ic { transform: rotate(180deg); }
.about-faq .a { padding: var(--s4) var(--s5); font-size: .85rem; line-height: 1.7; color: var(--ink-2); }

/* ============================================================================
   FAQ — Knowledge-base portal (page-faq.php)
   ========================================================================= */

/* -------------------------------------------------------- 1. Hero
   Unified dark-forest vignette — identical language to .hero (Home) and
   .about-hero (About): deep radial forest → noir wash, masked 36px grid at
   ~8% opacity, a single translucent hairline, holding a 2-column split.
   Search + quick tags flip to light-on-dark; the diagnostic widget stays a
   light cream floating card. */
.page-faq .faq-hero {
  position: relative; overflow: hidden;
}
.page-faq .faq-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(to right, rgba(197,161,90,.5) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(197,161,90,.5) 1px, transparent 1px);
  background-size: 36px 36px;
  opacity: .08;
  -webkit-mask-image: radial-gradient(ellipse 90% 70% at 50% 20%, #000 30%, transparent 92%);
  mask-image: radial-gradient(ellipse 90% 70% at 50% 20%, #000 30%, transparent 92%);
  animation: grid-drift 18s linear infinite;
}
.page-faq .faq-hero > .container { position: relative; z-index: 1; max-width: 1320px; }
.page-faq .faq-hero .crumb,
.page-faq .faq-hero .crumb-cur,
.page-faq .faq-hero .crumb-sep { color: #173D2B !important; }
.page-faq .faq-hero .crumb a { color: #276A47 !important; }
.page-faq .faq-hero .crumb a:hover { color: #173D2B !important; }
.page-faq .faq-hero .hero-title { color: #173D2B !important; }
.page-faq .faq-hero .hero-hl { color: #C5A15A !important; }
.page-faq .faq-hero .hero-lede { color: #3C473F !important; }
.page-faq .faq-hero .hero-eyebrow { background: rgba(197,161,90,.18) !important; border: 1px solid rgba(197,161,90,.4) !important; color: #173D2B !important; }
.page-faq .faq-hero .hero-eyebrow .dot { background: var(--terracotta) !important; }
.page-faq .faq-hero .btn-primary { background: #276A47 !important; color: #FFFFFF !important; border-radius: 999px !important; }
.page-faq .faq-hero .btn-ghost { background: #FFFFFF !important; color: #173D2B !important; border: 1px solid rgba(23,61,43,.25) !important; border-radius: 999px !important; }
.page-faq .faq-hero .hero-proof-badge { background: rgba(197,161,90,.18) !important; color: #173D2B !important; border: 1px solid rgba(197,161,90,.4) !important; }
.page-faq .faq-hero .activity-live .dot { background: var(--lime) !important; }
.page-faq .faq-hero .activity-live .hero-footnote { color: #3C473F !important; }
.page-faq .faq-hero .label, .page-faq .faq-hero .mono.small { color: #173D2B !important; }

/* Diagnostics widget — light cream floating card on the dark hero */
.faq-diag-widget {
  background: var(--cream);
  border: 1px solid rgba(255,255,255,.15); border-radius: 16px;
  box-shadow: 0 24px 48px rgba(0,0,0,.35); padding: clamp(1.25rem, 2.4vw, 1.6rem);
}
.faq-diag-fields { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s3); margin: var(--s4) 0; }
.faq-diag-field { display: flex; flex-direction: column; gap: .35rem; }
.faq-diag-field .label,
.faq-diag-field > span {
  font-family: var(--font-mono); font-size: .6rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--ink-3);
}
/* Custom lab select — native chevron removed, inline SVG chevron right-aligned */
.faq-diag-field select.mc-select {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  width: 100%; font-family: var(--font-body); font-weight: 600; font-size: .92rem;
  color: #173D2B; background-color: #F7F4EC;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23173D2B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
  padding: .65rem 2.25rem .65rem .85rem;
  border: 1px solid #D5CBB8; border-radius: 10px;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.03);
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.faq-diag-field select.mc-select:hover { border-color: var(--forest); }
.faq-diag-field select.mc-select:focus {
  outline: none; border-color: var(--forest); box-shadow: 0 0 0 3px rgba(39,106,71,.15);
}
.faq-diag-out { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem; margin-bottom: var(--s4); }
.faq-diag-cell { display: flex; flex-direction: column; gap: .2rem; padding: .7rem .85rem; background: var(--white); border: 1px solid var(--sand); border-radius: var(--r-md); }
.faq-diag-k { font-family: var(--font-mono); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); }
.faq-diag-cell b { font-family: var(--font-display); font-weight: 700; font-size: .96rem; color: var(--forest); }
.faq-diag-widget .hero-cta-link { margin-top: .25rem; }

/* Search — crisp white field on the light parchment hero */
.faq-search { position: relative; }
.faq-search .ic { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: var(--ink-3); z-index: 1; }
.faq-search .input {
  padding-left: 2.9rem; padding-right: 10.5rem; height: 56px; border-radius: var(--r-md);
  background: #FFFFFF; border: 1px solid rgba(197,161,90,0.28); color: var(--ink);
  box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.faq-search .input:focus {
  outline: none; border-color: #276A47;
  box-shadow: 0 0 0 3px rgba(39,106,71,.14);
}
.faq-search .input::placeholder { color: var(--ink-3); }
.faq-search-btn { position: absolute; right: 8.75rem; top: .4rem; bottom: .4rem; display: inline-flex; align-items: center; font-family: var(--font-mono); font-size: .7rem; font-weight: 600; letter-spacing: .08em; color: var(--ink-3); background: var(--sandstone); border: 1px solid rgba(197,161,90,0.28); border-radius: calc(var(--r-md) - 4px); padding: 0 .75rem; cursor: pointer; }
.faq-search-btn:hover { color: var(--forest); border-color: var(--forest); }
.faq-search-submit { position: absolute; right: .4rem; top: .4rem; bottom: .4rem; display: inline-flex; align-items: center; gap: .4rem; font-family: var(--font-display); font-size: .82rem; font-weight: 700; letter-spacing: .04em; color: #FFFFFF; background: #276A47; border: 1px solid #276A47; border-radius: calc(var(--r-md) - 4px); padding: 0 1.15rem; cursor: pointer; transition: background .15s ease, transform .15s ease; }
.faq-search-submit .ic { position: static; color: #FFFFFF; transform: none; left: auto; top: auto; }
.faq-search-submit:hover { background: #173D2B; border-color: #173D2B; }
.faq-search-submit:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 2px; }

/* Quick-tag pills — crisp on light parchment hero */
.faq-hero-tools { margin-top: var(--s4); }
.faq-quick-row { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem .75rem; margin-top: var(--s4); }
.faq-quick-label { color: var(--ink-3); flex: none; }
.faq-tag-row { display: flex; flex-wrap: wrap; gap: .45rem; flex: 1 1 auto; }
.faq-tag-chip {
  display: inline-flex; align-items: center; padding: .42rem .88rem; border-radius: var(--r-pill);
  background: #FFFFFF; border: 1px solid rgba(197,161,90,0.28);
  color: #173D2B; font-family: var(--font-mono); font-size: .7rem; font-weight: 600;
  cursor: pointer; transition: background .15s ease, color .15s ease, border-color .15s ease, transform .1s ease;
}
.faq-tag-chip:hover { background: var(--forest); color: #fff; border-color: var(--forest); transform: translateY(-1px); }
.faq-tag-chip.is-active { background: var(--forest); color: #fff; border-color: var(--forest); }
.faq-tools-link { color: #276A47; flex: none; font-weight: 600; }
.faq-tools-link:hover { color: #173D2B; }

/* Full-width stat strip — horizontal cards below the hero.
   Shared strip spec across Home (.lp-metrics), About (.about-metrics) and FAQ:
   1280px inner container, 4-up grid, white surface, sand hairline, 16px radius. */
.faq-stats-section { border-bottom: 1px solid var(--sand); background: var(--cream); }
.faq-stats { display: grid; grid-template-columns: repeat(1, 1fr); gap: var(--s3); max-width: 1280px; margin-inline: auto; }
.faq-stat {
  display: flex; flex-direction: column; gap: .35rem;
  padding: clamp(1.1rem, 2vw, 1.5rem);
  border-radius: 16px; background: #FFFFFF; border: 1px solid var(--sand);
  box-shadow: 0 12px 32px rgba(15,20,16,.06);
  transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.faq-stat:hover { border-color: var(--sage); transform: translateY(-2px); box-shadow: var(--shadow-hover); }
.faq-stat b { font-family: var(--font-display); font-weight: 800; font-size: clamp(1.6rem, 3vw, 2.15rem); line-height: 1.05; color: var(--forest); letter-spacing: -.02em; display: inline-flex; align-items: baseline; gap: .4rem; }
.faq-stat-label { display: block; font-family: var(--font-mono); font-size: .62rem; font-weight: 700; text-transform: uppercase; letter-spacing: .13em; color: var(--ink-3); }
.faq-stat-desc { display: block; font-size: .82rem; line-height: 1.5; color: var(--ink-2); margin-top: .15rem; }

/* Fast-route launchers (removed) */

/* ------------------------------------------------- 2. Bento category bar */
.faq-bento-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s5); margin-bottom: var(--s6); }
.faq-bento-label { color: var(--sage-ink); }
.faq-bento-title { margin: .3rem 0 .5rem; }
.faq-bento-desc { color: var(--ink-2); font-size: .86rem; line-height: 1.6; margin: 0; max-width: 46rem; }
.faq-bento-cta {
  display: flex; align-items: center; gap: .85rem; flex: none;
  padding: .85rem 1.1rem; border-radius: var(--r-md);
  background: linear-gradient(135deg, #F4F1E8 0%, #EAE4D3 100%);
  border: 1px solid rgba(197,161,90,0.32);
  box-shadow: var(--shadow-sm);
  color: #173D2B; text-decoration: none;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.faq-bento-cta:hover { border-color: #276A47; transform: translateY(-1px); box-shadow: var(--shadow-hover); text-decoration: none; }
.faq-bento-cta-ico { flex: none; width: 2.1rem; height: 2.1rem; border-radius: var(--r-sm); background: rgba(197,161,90,.16); color: #C5A15A; }
.faq-bento-cta-txt { flex: 1; min-width: 0; }
.faq-bento-cta-txt b { display: block; font-family: var(--font-display); font-size: .8rem; font-weight: 700; color: #173D2B; line-height: 1.3; }
.faq-bento-cta-txt small { display: block; font-family: var(--font-mono); font-size: .62rem; letter-spacing: .04em; color: #4A5B4F; margin-top: .2rem; }
.faq-bento-cta > .ic { flex: none; color: #4A5B4F; }

.faq-bento { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s3); }
.faq-bento-card {
  position: relative; display: flex; flex-direction: column; gap: .3rem;
  text-align: left; padding: 1.05rem 1.1rem 1.15rem;
  background: var(--white); border: 1px solid var(--sand); border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm); color: var(--ink); cursor: pointer;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.faq-bento-card:hover { border-color: var(--sage); transform: translateY(-3px); box-shadow: var(--shadow-hover); }
.faq-bento-card:focus-visible { outline: 3px solid rgba(39,106,71,.32); outline-offset: 2px; }
.faq-bento-ico { width: 2.4rem; height: 2.4rem; border-radius: var(--r-sm); background: var(--sage-mist); color: var(--forest); display: inline-flex; align-items: center; justify-content: center; margin-bottom: .35rem; transition: background .18s ease, color .18s ease; }
.faq-bento-num { font-family: var(--font-mono); font-size: .66rem; font-weight: 700; letter-spacing: .12em; color: var(--sage-ink); }
.faq-bento-name { font-family: var(--font-display); font-weight: 700; font-size: .95rem; line-height: 1.25; color: var(--ink); }
.faq-bento-sub { font-size: .74rem; line-height: 1.45; color: var(--ink-2); }
.faq-bento-count { position: absolute; top: 1rem; right: 1.1rem; font-family: var(--font-mono); font-size: .64rem; font-weight: 700; color: var(--ink-3); background: var(--cream); border: 1px solid var(--sand); border-radius: var(--r-pill); padding: .12rem .5rem; transition: background .18s ease, color .18s ease, border-color .18s ease; }

/* Active / focused domain card */
.faq-bento-card.is-active {
  background: linear-gradient(150deg, rgba(197,161,90,.12) 0%, rgba(197,161,90,.06) 100%);
  border-color: rgba(197,161,90,.35); box-shadow: var(--shadow-hover);
}
.faq-bento-card.is-active .faq-bento-ico { background: rgba(197,161,90,.2); color: #C5A15A; }
.faq-bento-card.is-active .faq-bento-num { color: var(--sage-mist); }
.faq-bento-card.is-active .faq-bento-name { color: #fff; }
.faq-bento-card.is-active .faq-bento-sub { color: var(--w-70); }
.faq-bento-card.is-active .faq-bento-count { background: rgba(255,255,255,.14); color: #fff; border-color: rgba(255,255,255,.2); }

/* ------------------------------------------------- 3. Tabbed split layout
   Active-domain view — sticky summary card (left) + accordion stack (right). */
.faq-hub > .container + .container { margin-top: clamp(2.5rem, 5vw, 4rem); }
.faq-split { display: grid; grid-template-columns: 1fr; gap: clamp(2rem, 4vw, 3rem); max-width: 1280px; margin-inline: auto; align-items: start; }
@keyframes faq-fade-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.faq-area[hidden] { display: none; }

.faq-summary { min-width: 0; }
.faq-summary-card {
  padding: clamp(1.5rem, 3vw, 2rem);
  background: linear-gradient(160deg, #FFFFFF 0%, var(--cream) 100%);
  border: 1px solid var(--sand); border-radius: var(--r-lg); box-shadow: var(--shadow-sm);
}
/* Domain badge — large numeric seal at the top of the rail */
.faq-summary-badge {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 12px;
  background: var(--forest); color: var(--cream);
  font-family: var(--font-mono); font-size: 1rem; font-weight: 700; letter-spacing: .02em;
}
.faq-summary-title { font-family: var(--font-display); font-size: 1.35rem; font-weight: 800; color: var(--ink); margin: .85rem 0 .5rem; letter-spacing: -.02em; }
.faq-summary-desc { color: var(--ink-2); font-size: .86rem; line-height: 1.65; margin: 0 0 var(--s4); }
.faq-summary-count { margin-bottom: var(--s5); }

/* In-domain question index — jump + highlight an answer */
.faq-index { border-top: 1px solid var(--sand); padding-top: var(--s4); margin-bottom: var(--s5); }
.faq-index-label { display: block; font-family: var(--font-mono); font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sage-ink); margin-bottom: .75rem; }
.faq-index-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .1rem; counter-reset: faqidx; }
.faq-index-link {
  display: flex; align-items: baseline; gap: .6rem; width: 100%; text-align: left;
  background: none; border: 0; border-radius: 8px; cursor: pointer;
  padding: .45rem .6rem; color: var(--ink-2); font-size: .8125rem; line-height: 1.4;
  transition: background .15s ease, color .15s ease;
}
.faq-index-link:hover { background: var(--sage-mist); color: var(--forest); }
.faq-index-link.is-active { background: #173D2B; color: #FFFFFF; }
.faq-index-link.is-active .faq-index-num { color: #B96F52; }
.faq-index-num { flex: none; font-size: .66rem; font-weight: 700; color: var(--terracotta-ink); }
.faq-index-text { min-width: 0; }

/* Paired calculators mini-card */
.faq-calc-card {
  background: #173D2B; border: 1px solid rgba(185,111,82,.25); border-radius: 14px;
  padding: var(--s4); display: flex; flex-direction: column; gap: .35rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.faq-calc-title { font-family: var(--font-mono); font-size: .6rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); margin-bottom: .35rem; }
.faq-calc-link,
.faq-calc-guide {
  display: flex; align-items: center; gap: .55rem;
  padding: .6rem .7rem; border-radius: 10px; text-decoration: none;
  font-size: .8125rem; font-weight: 600; color: var(--cream);
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.faq-calc-link .ic,
.faq-calc-guide .ic { color: var(--terracotta); flex: none; }
.faq-calc-link span,
.faq-calc-guide span { min-width: 0; }
.faq-calc-link .ic:last-child,
.faq-calc-guide .ic:last-child { margin-left: auto; color: rgba(255,255,255,.55); }
.faq-calc-link:hover,
.faq-calc-guide:hover { background: rgba(185,111,82,.14); border-color: rgba(185,111,82,.45); transform: translateX(2px); }
.faq-calc-guide { background: none; border: 0; color: rgba(255,255,255,.72); font-size: .74rem; padding: .5rem .7rem; }
.faq-calc-guide:hover { background: rgba(255,255,255,.05); transform: none; }

.faq-accordions { display: flex; flex-direction: column; min-width: 0; }
.faq-area { scroll-margin-top: calc(var(--sticky-top) + 24px); animation: faq-fade-in .35s ease both; }
.faq-area-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s4); margin-bottom: var(--s5); }
.faq-area-kicker { color: var(--terracotta-ink); }
.faq-accordion-item { scroll-margin-top: calc(var(--sticky-top) + 24px); }
.faq-accordion-list { display: flex; flex-direction: column; gap: .85rem; }

/* Premium accordion card — crisp white surface, sand-gold border */
.faq-accordion-item {
  background: #FFFFFF; border: 1px solid rgba(197,161,90,0.28);
  border-radius: var(--r-lg); box-shadow: var(--shadow-sm); overflow: hidden;
  transition: box-shadow .2s ease, border-color .2s ease;
}
.faq-accordion-item:hover { border-color: var(--sage); box-shadow: var(--shadow-hover); }
.faq-accordion-item summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 1.1rem; padding: 1.25rem 1.5rem; }
.faq-accordion-item summary::-webkit-details-marker { display: none; }
.faq-acc-num {
  flex: none; font-family: var(--font-mono); font-size: .74rem; font-weight: 700;
  color: #173D2B; background: var(--sage-mist); border: 1px solid rgba(197,161,90,0.28);
  border-radius: var(--r-sm); padding: .34rem .55rem; min-width: 3rem; text-align: center;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.faq-acc-q { flex: 1; min-width: 0; font-family: var(--font-display); font-weight: 700; font-size: 1rem; color: #173D2B; line-height: 1.4; }
.faq-accordion-item summary:hover .faq-acc-q { color: var(--forest); }
.faq-acc-ico { flex: none; display: inline-flex; color: var(--forest); transition: transform .25s ease; }
.faq-acc-ico .ic { width: 1.1rem; height: 1.1rem; }
/* Open state — white header stays consistent, no dark green */
.faq-accordion-item[open] { border-color: #276A47; box-shadow: 0 14px 34px -16px rgba(23,61,43,.12); }
.faq-accordion-item[open] summary { background: #FFFFFF; border-bottom: 1px solid rgba(197,161,90,0.28); }
.faq-accordion-item[open] .faq-acc-num { background: rgba(197,161,90,0.18); color: #276A47; border-color: rgba(197,161,90,0.35); }
.faq-accordion-item[open] .faq-acc-q { color: #173D2B; }
.faq-accordion-item[open] .faq-acc-ico { color: #C5A15A; transform: rotate(180deg); }
.faq-accordion-item[open] summary:hover .faq-acc-q,
.faq-accordion-item[open] summary:focus-visible .faq-acc-q { color: #C5A15A; }
.faq-acc-body { padding: 1.25rem 1.5rem 1.5rem; background: var(--sandstone); }
.faq-acc-body p { margin: 0; font-size: .9rem; line-height: 1.78; color: var(--ink-2); max-width: 68ch; }
.faq-acc-body .faq-rel { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px dashed var(--sand); }
.faq-rel-chip { display: inline-flex; align-items: center; gap: .4rem; padding: .32rem .8rem; border-radius: var(--r-pill); background: var(--white); border: 1px solid var(--sand); font-family: var(--font-mono); font-size: .66rem; color: var(--ink-2); transition: border-color .15s ease, color .15s ease; }
.faq-rel-chip:hover { border-color: var(--sage); color: var(--forest); }
.faq-rel-chip .ic { color: var(--forest); }

.faq-result-none { display: none; text-align: center; padding: var(--s6); background: var(--white); border: 1px dashed var(--sand); border-radius: var(--r-lg); }
.faq-result-none .ic { color: var(--ink-3); margin: 0 auto; }

/* ------------------------------------------------ 4. Support banner
   Split light banner — heading/copy left, actions + status right. */
.faq-support {
  position: relative; overflow: hidden;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s8);
  border-radius: 20px; padding: 3rem 3.5rem;
  background: linear-gradient(135deg, #F4F1E8 0%, #EAE4D3 100%);
  border: 1px solid rgba(197,161,90,0.32);
  box-shadow: var(--shadow-sm);
}
.faq-support::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(to right, rgba(197,161,90,.02) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(197,161,90,.02) 1px, transparent 1px);
  background-size: 36px 36px;
  opacity: 0;
}
.faq-support-main { position: relative; z-index: 1; max-width: 44rem; }
.faq-support-chip { margin-bottom: .85rem; background: rgba(197,161,90,.16); color: #C5A15A; border: 1px solid rgba(197,161,90,.35); }
.faq-support-title { font-family: var(--font-display); font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.1rem); font-weight: 800; color: #173D2B; margin: 0 0 .65rem; }
.faq-support-copy { color: #3C473F; font-size: .9rem; line-height: 1.7; margin: 0; }
.faq-support-actions { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3); }
.faq-support-primary { background: #276A47; color: #fff; border: 1px solid #276A47; }
.faq-support-primary:hover { background: var(--terracotta-600); border-color: var(--terracotta-600); }
.faq-support-ghost { background: rgba(255,255,255,.04); color: #fff; border: 1px solid rgba(255,255,255,.24); }
.faq-support-ghost:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.4); }
.faq-support-status { flex-basis: 100%; font-family: var(--font-mono); font-size: .66rem; letter-spacing: .06em; color: var(--sage); display: inline-flex; align-items: center; gap: .45rem; }

/* ------------------------------------------------ 5. CEA curriculum grid */
.faq-hub-grid { display: grid; grid-template-columns: 1fr; gap: var(--s4); margin-top: var(--s5); }
.faq-hub-card {
  display: flex; flex-direction: column; gap: .55rem;
  padding: 1.5rem; background: var(--white); border: 1px solid var(--sand);
  border-radius: 14px; box-shadow: var(--shadow-sm); text-decoration: none;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.faq-hub-card:hover { border-color: var(--terracotta); transform: translateY(-3px); box-shadow: var(--shadow-hover); text-decoration: none; }
.faq-hub-card-top { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); }
.faq-hub-card-ico { width: 2.5rem; height: 2.5rem; border-radius: var(--r-sm); background: var(--sage-mist); color: var(--forest); display: inline-flex; align-items: center; justify-content: center; transition: background .18s ease, color .18s ease; }
.faq-hub-card:hover .faq-hub-card-ico { background: rgba(185,111,82,.16); color: var(--terracotta); }
.faq-hub-card-count { font-family: var(--font-display); font-size: 1.15rem; font-weight: 800; color: var(--forest); display: inline-flex; align-items: baseline; gap: .3rem; }
.faq-hub-card-count em { font-family: var(--font-mono); font-size: .58rem; font-weight: 600; font-style: normal; text-transform: uppercase; letter-spacing: .1em; color: var(--ink-3); }
.faq-hub-card-title { font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; color: var(--ink); margin: 0; line-height: 1.25; }
.faq-hub-card-scope { font-size: .8rem; line-height: 1.55; color: var(--ink-2); margin: 0; }
.faq-hub-card-foot { margin-top: auto; padding-top: var(--s3); font-family: var(--font-mono); font-size: .68rem; font-weight: 600; letter-spacing: .04em; color: var(--terracotta-ink); display: inline-flex; align-items: center; gap: .4rem; }

/* Section padding rhythm — tightened 2026-10-20 (was clamp(4.5rem,7vw,6.5rem)
   → consecutive-section gaps of ~200px at 1440). Every FAQ section now uses a
   compact vertical rhythm with no stacked margin+padding double-spacing, so no
   two consecutive sections gap more than ~64px at 1440. */
.page-faq .faq-section { padding-block: 1.75rem; }
.page-faq .faq-stats-section { padding-block: 1.75rem; }
.page-faq .faq-hub { padding-block: 1.75rem; }
.page-faq .faq-support-section { padding-block: 1.75rem; }
.page-faq .faq-curriculum-section { padding-block: 1.75rem; }
.page-faq .faq-join-section { padding-block: 1.75rem 2rem; }
/* Sections carry their own padding only — neutralise inner stacked margins */
.page-faq .faq-hub + .faq-support-section,
.page-faq .faq-support-section + .faq-curriculum-section,
.page-faq .faq-curriculum-section + .faq-join-section { margin-top: 0; }
@media (max-width: 900px) {
  .page-faq .faq-stats-section { padding-block: 1.5rem; }
  .page-faq .faq-hub,
  .page-faq .faq-support-section,
  .page-faq .faq-curriculum-section,
  .page-faq .faq-join-section { padding-block: 1.75rem; }
}

/* ------------------------------------------------ FAQ responsive */
@media (min-width: 560px) {
  .faq-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 640px) {
  .faq-hub-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 720px) {
  .faq-bento { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
  .faq-stats { grid-template-columns: repeat(4, 1fr); }
  .faq-bento { grid-template-columns: repeat(6, 1fr); }
  .faq-hub-grid { grid-template-columns: repeat(3, 1fr); }
  .faq-split { grid-template-columns: 360px 1fr; }
  .faq-summary { position: sticky; top: calc(var(--sticky-top) + 1.5rem); }
}
@media (max-width: 900px) {
  .faq-support { padding: 2.5rem 2rem; }
}
@media (max-width: 640px) {
  .faq-bento-cta { width: 100%; }
  .faq-support { padding: 2rem 1.5rem; }
  .faq-support-actions .btn { width: 100%; justify-content: center; }
}
@media (max-width: 560px) {
  .faq-quick-label { flex-basis: 100%; }
  .faq-diag-fields, .faq-diag-out { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
.faq-accordion-item, .faq-tag-chip, .faq-bento-cta, .faq-bento-card, .faq-stat, .faq-hub-card { transition: none; }
.faq-bento-cta:hover, .faq-bento-card:hover, .faq-hub-card:hover, .faq-stat:hover { transform: none; }
  .page-faq .faq-hero::before { animation: none; }
  .faq-area { animation: none; }
}

/* ------------------------------------------------ Responsive */
@media (max-width: 900px) {
  .about-parallax-band { background-attachment: scroll, scroll; }
}
@media (max-width: 640px) {
  .about-parallax-band { min-height: 0; padding-block: clamp(3rem, 10vw, 4rem); }
  .about-founder-photo { max-width: 100%; aspect-ratio: 4 / 3; }
}
@media (prefers-reduced-motion: reduce) {
  .page-about .about-hero::before { animation: none; }
  .about-parallax-band { background-attachment: scroll, scroll; }
  .page-about .source-card { transition: none; }
  .page-about .source-card:hover { transform: none; }
}




/* =================================================================================
   Knowledge Hub (/blog/) — World-Class Redesign (2026-10-20)
   Full-width dark-forest hero + Protocol Navigator · elevated 4-stat strip ·
   six-architecture grid · Obsidian Carbon featured showcase · 3-col media card
   grid with filter/sort/view controls · parallax Grow Lab CTA.
   Scope prefix: kh-. Reuses hero-eyebrow / hero-kicker / hero-title / hero-hl /
   hero-lede / hero-viz* / mc-select / dot tokens from the shared layer.
   ================================================================================= */

/* ---------------------------------------------------------------- Hero — governed by universal component */
.kh-hero {
  position: relative; overflow: hidden;
}
.kh-hero > .container { position: relative; z-index: 1; max-width: 1440px; }
.kh-hero-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; margin-bottom: var(--s6); }
.kh-hero .hero-split { grid-template-columns: 1fr; gap: 3.5rem; }
@media (min-width: 1024px) { .kh-hero .hero-split { grid-template-columns: 1.15fr .85fr; } }
.kh-hero .crumb { margin: 0; }
.kh-hero .crumb,
.kh-hero .crumb-cur,
.kh-hero .crumb-sep { color: #173D2B !important; }
.kh-hero .crumb a { color: #276A47 !important; }
.kh-hero .crumb a:hover { color: #173D2B !important; }
.kh-hero-copy .hero-title { margin-bottom: .85rem; }

/* Hero search — elevated cream field, terracotta submit button */
.kh-search { position: relative; margin-top: var(--s5); }
.kh-search .ic { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: var(--ink-3); z-index: 1; }
.kh-search .input {
  padding-left: 2.9rem; padding-right: 6.4rem; height: 56px; border-radius: 12px;
  background: #FFFFFF; border: 1px solid rgba(255,255,255,.28); color: var(--ink);
  box-shadow: 0 18px 40px -12px rgba(0,0,0,.45);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.kh-search .input:focus {
  outline: none; border-color: var(--terracotta);
  box-shadow: 0 0 0 3px rgba(185,111,82,.35), 0 18px 40px -12px rgba(0,0,0,.45);
}
.kh-search .input::placeholder { color: var(--ink-3); }
.kh-search-btn {
  position: absolute; right: .45rem; top: .45rem; bottom: .45rem;
  display: inline-flex; align-items: center; padding: 0 1.1rem;
  font-family: var(--font-mono); font-size: .72rem; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: #fff; background: var(--terracotta);
  border: 0; border-radius: 8px; cursor: pointer;
  transition: background .15s ease;
}
.kh-search-btn:hover { background: var(--terracotta-600); }

/* Quick-topic glass pills */
.kh-quick-row { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem .75rem; margin-top: var(--s4); }
.kh-quick-label { color: rgba(255,255,255,.62); flex: none; }
.kh-tag-row { display: flex; flex-wrap: wrap; gap: .45rem; flex: 1 1 auto; }
.kh-topic-chip {
  display: inline-flex; align-items: center; padding: .42rem .88rem; border-radius: var(--r-pill);
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16);
  color: #FFFFFF; font-family: var(--font-mono); font-size: .7rem; font-weight: 600;
  cursor: pointer; transition: background .15s ease, color .15s ease, border-color .15s ease, transform .1s ease;
}
.kh-topic-chip:hover { background: var(--terracotta); color: #fff; border-color: var(--terracotta); transform: translateY(-1px); }
.kh-topic-chip.is-active { background: var(--terracotta); color: #fff; border-color: var(--terracotta); }

/* ------------------------------------------------- Protocol & Target Navigator */
.kh-nav-widget {
  background: #FFFFFF; border: 1px solid rgba(255,255,255,.15); border-radius: 16px;
  padding: 1.5rem; box-shadow: 0 24px 48px rgba(0,0,0,.35);
}
.kh-nav-fields { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s3); margin: var(--s4) 0; }
.kh-nav-field { display: flex; flex-direction: column; gap: .35rem; }
.kh-nav-field > span {
  font-family: var(--font-mono); font-size: .6rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--ink-3);
}
.kh-nav-field select.mc-select {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  width: 100%; font-family: var(--font-body); font-weight: 600; font-size: .9rem;
  color: #173D2B; background-color: #F7F4EC;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23173D2B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
  padding: .62rem 2.25rem .62rem .8rem;
  border: 1px solid #D5CBB8; border-radius: 10px;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.03);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.kh-nav-field select.mc-select:hover { border-color: var(--forest); }
.kh-nav-field select.mc-select:focus { outline: none; border-color: var(--forest); box-shadow: 0 0 0 3px rgba(39,106,71,.15); }
.kh-nav-out { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin-bottom: var(--s4); }
.kh-nav-cell { display: flex; flex-direction: column; gap: .2rem; padding: .7rem .85rem; background: #fff; border: 1px solid var(--sand); border-radius: var(--r-md); }
.kh-nav-k { font-family: var(--font-mono); font-size: .56rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); }
.kh-nav-cell b { font-family: var(--font-display); font-weight: 700; font-size: .92rem; color: var(--forest); }
.kh-nav-cell b em { font-family: var(--font-mono); font-style: normal; font-size: .58rem; color: var(--ink-3); }
.kh-nav-cell a { font-family: var(--font-display); font-weight: 700; font-size: .88rem; line-height: 1.25; color: var(--forest); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.kh-nav-cell a:hover { color: var(--terracotta); text-decoration: none; }
.kh-nav-widget .hero-cta-link { margin-top: .25rem; }
@media (max-width: 560px) { .kh-nav-fields { grid-template-columns: 1fr; } }

/* ------------------------------------------------- Elevated 4-stat strip */
.kh-stats-section { background: var(--cream); border-bottom: 1px solid var(--sand); padding-block: clamp(2rem, 4vw, 2.75rem); }
.kh-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; max-width: 1280px; margin-inline: auto;
  background: var(--sand); border: 1px solid var(--sand); border-radius: 16px; overflow: hidden;
  box-shadow: 0 12px 32px rgba(15,20,16,.06); }
@media (min-width: 900px) { .kh-stats { grid-template-columns: repeat(4, 1fr); } }
.kh-stat { display: flex; flex-direction: column; gap: .4rem; background: #FFFFFF; padding: 2rem 1.5rem; transition: background .18s ease; }
.kh-stat:hover { background: var(--cream); }
.kh-stat-kicker { font-family: var(--font-mono); font-size: .6rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.kh-stat-value { display: inline-flex; align-items: baseline; gap: .4rem; }
.kh-stat-value b { font-family: var(--font-display); font-weight: 800; font-size: clamp(2rem, 3.5vw, 2.75rem); line-height: 1; letter-spacing: -.03em; color: var(--forest); }
.kh-stat-value em { font-family: var(--font-mono); font-style: normal; font-size: .66rem; font-weight: 700; color: var(--terracotta-ink); }
.kh-stat-title { font-size: .8rem; line-height: 1.45; color: var(--ink-2); }
@media (max-width: 640px) { .kh-stat { padding: 1.5rem 1rem; } }

/* ------------------------------------------------- Six architectures grid */
.kh-hubs-section { padding-block: clamp(2.5rem, 4vw, 3.5rem); background: rgba(247,247,243,.5); border-bottom: 1px solid var(--sand); }
.kh-hub-grid .hub-card:hover { transform: translateY(-3px); }
.kh-hub-grid .hub-card:hover .hub-card-icon { background: rgba(185,111,82,.16); color: var(--terracotta); }

/* ------------------------------------------------- Control bar */
.kh-toolbar { position: sticky; top: var(--sticky-top); z-index: 40; background: rgba(255,255,255,.94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--sand); }
.kh-toolbar-inner { padding-block: var(--s3); }

.kh-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s3) var(--s5); margin-top: var(--s3); }
.kh-controls-left { display: flex; flex-direction: column; gap: .6rem; min-width: 0; }
.kh-controls-count { font-family: var(--font-mono); font-size: .66rem; color: var(--ink-2); }
.kh-controls-right { display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap; }
.kh-sort-wrap { display: inline-flex; align-items: center; gap: .5rem; }
.kh-sort-label { font-family: var(--font-mono); font-size: .62rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.kh-sort-select { font-family: var(--font-mono); font-size: .68rem; font-weight: 700; letter-spacing: .04em; color: var(--forest); background: var(--white); border: 1px solid var(--sand); border-radius: var(--r-pill); padding: .55rem .9rem; min-height: 40px; line-height: 1.2; cursor: pointer; }
.kh-sort-select:focus-visible { outline: 2px solid var(--forest); outline-offset: 2px; }
.kh-view-toggle { display: inline-flex; border: 1px solid var(--sand); border-radius: var(--r-pill); overflow: hidden; background: var(--white); }
.kh-view-btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: transparent; border: 0; color: var(--ink-2); cursor: pointer; transition: background .15s ease, color .15s ease; }
.kh-view-btn + .kh-view-btn { border-left: 1px solid var(--sand); }
.kh-view-btn:hover { color: var(--forest); }
.kh-view-btn.is-active { background: var(--forest); color: #fff; }
.kh-view-btn svg { width: 16px; height: 16px; }

.kh-hashtags { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; margin-top: var(--s3); }
.kh-hashtag { font-family: var(--font-mono); font-size: .62rem; color: var(--sage-ink); background: transparent; border: 1px dashed var(--sand); border-radius: var(--r-pill); padding: .25rem .55rem; cursor: pointer; }
.kh-hashtag:hover { border-color: var(--sage-ink); color: var(--forest); }
.kh-hashtag.is-active { background: var(--sage-mist); border-style: solid; border-color: var(--sage-ink); color: var(--forest); }
.kh-empty { font-size: .85rem; color: var(--ink-2); background: var(--stone-100, var(--sandstone)); border: 1px dashed var(--sand); border-radius: var(--r-md); padding: var(--s4); margin-bottom: var(--s4); }
.kh-empty[hidden] { display: none; }
.kh-empty a { color: var(--forest); }

/* ------------------------------------------------- 3-col media card grid */
.kh-articles-section { padding-top: clamp(3rem, 6vw, 4.5rem); }
.kh-post-grid { display: grid; grid-template-columns: 1fr; gap: 1.75rem; }
@media (min-width: 640px) { .kh-post-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .kh-post-grid { grid-template-columns: repeat(3, 1fr); } }
.kh-mcard { display: flex; flex-direction: column; background: #FFFFFF; border: 1px solid var(--sand); border-radius: 16px; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.kh-mcard:hover { transform: translateY(-3px); box-shadow: var(--shadow-hover); border-color: var(--sage); }
.kh-mcard[hidden] { display: none; }
.kh-mcard-thumb { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--sandstone); }
.kh-mcard-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.kh-mcard:hover .kh-mcard-thumb img { transform: scale(1.05); }
.kh-mcard-thumb-fallback { display: grid; place-items: center; width: 100%; height: 100%; color: var(--sage); }
.kh-mcard-thumb-fallback svg { width: 3rem; height: 3rem; }
.kh-mcard-cat { position: absolute; top: .7rem; left: .7rem; padding: .28rem .6rem; border-radius: var(--r-pill);
  background: rgba(15,20,16,.82); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  font-family: var(--font-mono); font-size: .58rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #FFFFFF; }
.kh-mcard-read { position: absolute; top: .7rem; right: .7rem; padding: .28rem .55rem; border-radius: var(--r-pill);
  background: rgba(15,20,16,.82); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  font-family: var(--font-mono); font-size: .56rem; font-weight: 700; color: #FFFFFF; }
.kh-mcard-body { flex: 1; display: flex; flex-direction: column; gap: .55rem; padding: 1.35rem; }
.kh-mcard-title { font-family: var(--font-display); font-weight: 700; font-size: 1.18rem; line-height: 1.35; margin: 0; }
.kh-mcard-title a { color: #173D2B; }
.kh-mcard-title a:hover { color: var(--terracotta); text-decoration: none; }
.kh-mcard-excerpt { font-size: .92rem; line-height: 1.6; color: var(--ink-2); margin: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.kh-mcard-foot { margin-top: auto; padding: 1rem 1.35rem; border-top: 1px solid #EFE8DA; display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.kh-mcard-author { display: inline-flex; align-items: center; gap: .4rem; font-family: var(--font-mono); font-size: .62rem; color: var(--ink-2); min-width: 0; }
.kh-author-avatar { width: 26px; height: 26px; border-radius: var(--r-pill); object-fit: cover; flex: none; }
.kh-author-name { font-weight: 700; color: var(--ink); }
.kh-author-dot { color: var(--ink-3); }
.kh-mcard-date { color: var(--ink-3); white-space: nowrap; }
.kh-mcard-cta { display: inline-flex; align-items: center; gap: .3rem; font-family: var(--font-mono); font-size: .64rem; font-weight: 700; color: var(--forest); white-space: nowrap; }
.kh-mcard-cta svg { width: 14px; height: 14px; transition: transform .15s ease; }
.kh-mcard-cta:hover { color: var(--terracotta); text-decoration: none; }
.kh-mcard-cta:hover svg { transform: translateX(3px); }

/* Compact list view */
.kh-post-grid.is-list { grid-template-columns: 1fr; gap: 1rem; }
.kh-post-grid.is-list .kh-mcard { flex-direction: row; align-items: stretch; }
.kh-post-grid.is-list .kh-mcard-thumb { width: 200px; flex: none; aspect-ratio: auto; }
.kh-post-grid.is-list .kh-mcard-body { justify-content: center; }
.kh-post-grid.is-list .kh-mcard-foot { border-top: 0; }
@media (max-width: 560px) {
  .kh-post-grid.is-list .kh-mcard { flex-direction: column; }
  .kh-post-grid.is-list .kh-mcard-thumb { width: 100%; aspect-ratio: 16 / 10; }
}

/* ------------------------------------------------- Pagination */
.kh-page .pagination { margin-top: 2.75rem; }
.kh-page .pagination-inner { display: flex; align-items: center; justify-content: center; gap: .5rem; flex-wrap: wrap; }
.kh-page .page-numbers {
  min-width: 40px; height: 40px; padding: 0 .85rem; border-radius: 10px;
  border: 1px solid var(--sand); background: #FFFFFF; color: #173D2B;
  font-family: var(--font-mono); font-weight: 600; font-size: .88rem;
  display: inline-flex; align-items: center; justify-content: center; text-decoration: none;
  transition: border-color .15s ease, color .15s ease, transform .15s ease, background .15s ease;
}
.kh-page .page-numbers.current { background: var(--forest); border-color: var(--forest); color: #FFFFFF; }
.kh-page .page-numbers:hover:not(.current):not(.dots) { border-color: var(--terracotta); color: var(--terracotta); transform: translateY(-1px); }
.kh-page .page-numbers.dots { border-color: transparent; background: transparent; }
.kh-showing { font-family: var(--font-mono); font-size: .66rem; color: var(--ink-2); }

/* ------------------------------------------------- Grow Lab CTA (parallax media) */
.kh-bridge-section { padding-block: clamp(3rem, 6vw, 4.5rem) 0; }
.kh-bridge {
  position: relative; isolation: isolate; overflow: hidden; color: var(--w-90);
  border-radius: var(--r-lg); padding: clamp(1.75rem, 4vw, 2.75rem);
  background-image:
    linear-gradient(135deg, rgba(13,22,16,.88) 0%, rgba(20,35,22,.92) 100%),
    url("/wp-content/uploads/2025/08/indoor-vertical-farming-mistculture-bg.webp");
  background-size: cover, cover;
  background-position: center, center;
  background-attachment: fixed, fixed;
}
.kh-bridge::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background:
    linear-gradient(to right, rgba(255,255,255,.5) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.5) 1px, transparent 1px);
  background-size: 36px 36px; opacity: .06;
  -webkit-mask-image: radial-gradient(ellipse 90% 70% at 50% 20%, #000 30%, transparent 92%);
  mask-image: radial-gradient(ellipse 90% 70% at 50% 20%, #000 30%, transparent 92%);
}
.kh-bridge-inner { position: relative; z-index: 1; }
@media (max-width: 900px) { .kh-bridge { background-attachment: scroll, scroll; } }

@media (prefers-reduced-motion: reduce) {
  .kh-hero::before { animation: none; }
  .kh-mcard, .kh-mcard-thumb img, .kh-topic-chip { transition: none; }
  .kh-mcard:hover { transform: none; }
  .kh-bridge { background-attachment: scroll, scroll; }
}

/* =================================================================================
   Knowledge Hub (/blog/) — Expert UI/UX Overhaul (2026-10-20)
   2-col sticky-sidebar layout · hero title contrast fix · Engineering Engines CTA
   strip · full-width parallax Grow Lab banner.
   ================================================================================= */

/* -------------------------------------- 2-col layout: sticky left sidebar */
.kh-layout {
  display: grid; grid-template-columns: 1fr; gap: clamp(1.75rem, 3vw, 2.5rem);
  max-width: 1440px; margin-inline: auto; padding-inline: var(--s5);
  padding-top: clamp(1.75rem, 3vw, 2.5rem);
}
@media (min-width: 1024px) { .kh-layout { grid-template-columns: 280px 1fr; } }

.kh-side { min-width: 0; }
@media (min-width: 1024px) {
  .kh-side {
    position: sticky; top: 96px; align-self: start;
    height: calc(100vh - 120px); overflow-y: auto;
    padding-right: .35rem;
  }
}
.kh-side-inner { display: flex; flex-direction: column; gap: var(--s4); }

.kh-side-widget,
.kh-side-nav {
  background: #FFFFFF; border: 1px solid var(--sand); border-radius: 16px;
  padding: 1.1rem;
}
.kh-side-search {
  display: flex; align-items: center; gap: .5rem;
  background: #F7F4EC; border: 1px solid rgba(197, 161, 90, 0.28); border-radius: 10px;
  padding: .5rem .7rem;
}
.kh-side-search .ic { width: 16px; height: 16px; color: var(--ink-3); flex: none; }
.kh-side-search input {
  width: 100%; border: 0; background: transparent; outline: none;
  font-family: var(--font-body); font-size: .88rem; color: var(--ink);
}
.kh-side-search input::placeholder { color: var(--ink-3); }
.kh-side-search:focus-within { border-color: var(--forest); box-shadow: 0 0 0 3px rgba(39,106,71,.14); }

.kh-side-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .85rem; }
.kh-side-tag {
  font-family: var(--font-mono); font-size: .62rem; font-weight: 700; letter-spacing: .03em;
  color: var(--sage-ink); background: var(--sage-mist); border: 1px solid transparent;
  border-radius: var(--r-pill); padding: .28rem .6rem; cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.kh-side-tag:hover { background: var(--forest); color: #FFFFFF; }
.kh-side-tag.is-active { background: var(--forest); color: #FFFFFF; }

.kh-side-heading {
  display: block; font-family: var(--font-mono); font-size: .6rem; font-weight: 800;
  letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); margin-bottom: .6rem;
}
.kh-side-nav { display: flex; flex-direction: column; gap: .25rem; }
.kh-side-pillar {
  display: flex; align-items: center; justify-content: space-between; gap: .6rem;
  padding: .55rem .7rem; border-radius: var(--r-md); text-decoration: none;
  font-family: var(--font-body); font-size: .86rem; font-weight: 600; color: var(--ink);
  border: 1px solid transparent; transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.kh-side-pillar:hover { background: var(--cream); border-color: var(--sand); color: var(--forest); text-decoration: none; }
.kh-side-pillar.is-active { background: var(--forest); color: #FFFFFF; }
.kh-side-pillar.is-active .kh-side-pillar-count { background: rgba(255,255,255,.10); color: #FFFFFF; }
.kh-side-pillar-count {
  font-family: var(--font-mono); font-size: .62rem; font-weight: 700;
  background: var(--cream); border-radius: var(--r-pill); padding: .12rem .5rem; color: var(--ink-2);
}

.kh-side-calc {
  background: #173D2B; border: 1px solid rgba(185,111,82,.28); border-radius: 16px;
  padding: 1.1rem; display: flex; flex-direction: column; gap: .5rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.kh-side-calc-title {
  display: inline-flex; align-items: center; gap: .4rem;
  font-family: var(--font-mono); font-size: .62rem; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; color: #E8C4B2; margin-bottom: .15rem;
}
.kh-side-calc-title .ic { width: 15px; height: 15px; }
.kh-side-calc-link {
  display: flex; align-items: center; gap: .6rem; padding: .5rem .55rem; border-radius: 10px;
  text-decoration: none; border: 1px solid rgba(255,255,255,.06); background: rgba(255,255,255,.03);
  transition: background .15s ease, border-color .15s ease, transform .1s ease;
}
.kh-side-calc-link:hover { background: rgba(185,111,82,.12); border-color: rgba(185,111,82,.35); transform: translateX(2px); text-decoration: none; }
.kh-side-calc-ico {
  display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; flex: none;
  border-radius: 8px; background: rgba(185,111,82,.14); color: #B96F52;
}
.kh-side-calc-ico .ic { width: 16px; height: 16px; }
.kh-side-calc-link span:last-child { display: flex; flex-direction: column; gap: .05rem; min-width: 0; }
.kh-side-calc-link b { font-family: var(--font-display); font-size: .82rem; font-weight: 700; color: #FFFFFF; }
.kh-side-calc-link em { font-family: var(--font-mono); font-style: normal; font-size: .58rem; color: rgba(255,255,255,.55); }
.kh-side-calc-all {
  margin-top: .35rem; display: inline-flex; align-items: center; gap: .35rem;
  font-family: var(--font-mono); font-size: .62rem; font-weight: 700; color: #E8C4B2; text-decoration: none;
}
.kh-side-calc-all:hover { color: #C5A15A; text-decoration: none; }
.kh-side-calc-all .ic { width: 14px; height: 14px; }

/* Sidebar takes the sticky role — de-stick the in-column toolbar */
.kh-toolbar { position: static; }

/* -------------------------------------- Hero title contrast fix */
.kh-hero-title { color: #173D2B !important; }
.kh-hero-title .hero-hl { color: #C5A15A !important; }

/* -------------------------------------- Full-width parallax bottom banner */
.kh-bridge-full {
  width: 100vw; position: relative; left: 50%; right: 50%;
  margin-left: -50vw; margin-right: -50vw;
  padding: 0; margin-top: clamp(3rem, 6vw, 4.5rem);
}
.kh-bridge-parallax {
  position: relative; isolation: isolate; overflow: hidden; color: var(--w-90);
  min-height: clamp(22rem, 40vw, 34rem);
  display: flex; align-items: center;
  background-image:
    linear-gradient(135deg, rgba(8,14,10,.94) 0%, rgba(12,20,15,.96) 100%),
    url("/wp-content/uploads/2025/08/indoor-vertical-farming-mistculture-bg.webp");
  background-size: cover, cover;
  background-position: center, center;
  background-attachment: fixed, fixed;
  padding: clamp(3rem, 6vw, 5rem) 1.25rem;
}
.kh-bridge-parallax::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background:
    linear-gradient(to right, rgba(255,255,255,.5) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.5) 1px, transparent 1px);
  background-size: 36px 36px; opacity: .06;
  -webkit-mask-image: radial-gradient(ellipse 90% 70% at 50% 20%, #000 30%, transparent 92%);
  mask-image: radial-gradient(ellipse 90% 70% at 50% 20%, #000 30%, transparent 92%);
}
.kh-bridge-parallax .kh-bridge-inner {
  position: relative; z-index: 1; width: 100%; max-width: 1320px; margin-inline: auto;
  align-items: center; text-align: center;
}
.kh-bridge-parallax .kh-bridge-title { font-size: clamp(1.6rem, 3.4vw, 2.6rem); }
.kh-bridge-parallax .kh-bridge-desc { max-width: 72ch; margin-inline: auto; color: rgba(255,255,255,.74); }
.kh-bridge-parallax .kh-bridge-grid { width: 100%; }
.kh-bridge-parallax .kh-bridge-tile { text-align: left; }

@media (max-width: 900px) {
  .kh-bridge-parallax { background-attachment: scroll, scroll; }
}

@media (prefers-reduced-motion: reduce) {
  .kh-bridge-parallax { background-attachment: scroll, scroll; }
  .kh-side-pillar, .kh-side-calc-link, .kh-side-tag { transition: none; }
}

/* ------------------------------------------------------------------ Contact page
   Uses the unified dark-forest hero (.hero) directly. Scoped to
   .contact-hero / .contact-* so nothing else is affected. */
.contact-hero .crumb,
.contact-hero .crumb-cur,
.contact-hero .crumb-sep { color: #173D2B !important; }
.contact-hero .crumb a { color: #276A47 !important; }
.contact-hero .crumb a:hover { color: #173D2B !important; }

/* Right-column dispatch card (floating cream card, reuses .hero-viz shell) */
.contact-dispatch-card { align-self: start; }
.contact-addr { display: flex; flex-direction: column; gap: .6rem; }
.contact-addr-row {
  display: flex; align-items: center; gap: .85rem;
  padding: .85rem 1rem; border-radius: 12px;
  background: var(--sandstone); border: 1px solid var(--sand);
  text-decoration: none; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.contact-addr-row:hover { border-color: var(--terracotta); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(185,111,82,.14); text-decoration: none; }
.contact-addr-ico {
  flex: none; width: 38px; height: 38px; border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(185,111,82,.14); color: var(--terracotta-ink);
}
.contact-addr-ico svg { width: 18px; height: 18px; }
.contact-addr-body { display: flex; flex-direction: column; min-width: 0; }
.contact-addr-label { font-family: var(--font-mono); font-size: .62rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.contact-addr-mail { font-family: var(--font-mono); font-size: .82rem; color: var(--ink); overflow-wrap: anywhere; }
.contact-addr-row:hover .contact-addr-mail { color: var(--terracotta-ink); }
.contact-addr-foot {
  display: flex; flex-direction: column; gap: .4rem;
  margin-top: var(--s4); padding-top: var(--s4);
  border-top: 1px solid var(--sand);
  font-family: var(--font-mono); font-size: .66rem; color: var(--ink-2); letter-spacing: .02em;
}
.contact-addr-foot .dot { display: inline-block; width: .4rem; height: .4rem; margin-right: .35rem; }

/* ---- Full-width alternating section bands -------------------------------
   Contact flow: hero(dark) → form(cream) → FAQ(sand) → toolbox(obsidian) →
   pillars(cream). Each band is full-bleed; the inner .container keeps the
   reading measure. No boxed floating cards on an empty canvas. */
.mc-band { width: 100%; position: relative; }
.mc-band > .container { max-width: 1320px; }
.mc-band--cream { background: var(--cream); }
.mc-band--sand {
  background: var(--sandstone);
  border-top: 1px solid var(--sand);
  border-bottom: 1px solid var(--sand);
}
.mc-band--dark {
  background:
    radial-gradient(ellipse 760px 520px at 88% -10%, rgba(185,111,82,.13), transparent),
    radial-gradient(ellipse 640px 480px at -8% 18%, rgba(107,168,68,.10), transparent),
    linear-gradient(135deg, #173D2B 0%, #173D2B 100%);
  color: var(--cream);
}
.mc-band--dark::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(to right, rgba(255,255,255,.5) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.5) 1px, transparent 1px);
  background-size: 36px 36px;
  opacity: .07;
  -webkit-mask-image: radial-gradient(ellipse 90% 80% at 50% 15%, #000 40%, transparent 92%);
  mask-image: radial-gradient(ellipse 90% 80% at 50% 15%, #000 40%, transparent 92%);
}
.mc-band--dark > .container { position: relative; z-index: 1; }

/* Dispatch form — 2-column split (left channels + right form), max 1280px */
.contact-form-section { padding-block: clamp(3rem, 6vw, 5rem); }
.contact-split {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
  max-width: 1280px;
  margin-inline: auto;
}
@media (min-width: 1024px) {
  .contact-split { grid-template-columns: 380px 1fr; }
}

/* Left column — direct contact & channels */
.contact-side { display: flex; flex-direction: column; gap: var(--s4); }
/* Unified "Secure Dispatch & Communication Standards" panel */
.contact-side-panel {
  background: var(--cream); border: 1px solid var(--sand); border-radius: 16px;
  padding: 1.75rem;
  box-shadow: 0 12px 32px rgba(15,20,16,.06);
  display: flex; flex-direction: column; gap: 1.1rem;
}
.contact-side-head { display: flex; align-items: center; gap: .85rem; }
.contact-side-head .contact-side-ico { flex: none; }
.contact-side-panel .contact-side-desc { margin: 0; }
.contact-side-status {
  list-style: none; margin: 0; padding: .85rem 1rem;
  background: var(--sandstone); border-radius: 12px;
  display: flex; flex-direction: column; gap: .6rem;
}
.contact-status-row { display: flex; align-items: center; gap: .55rem; }
.contact-status-dot {
  width: .5rem; height: .5rem; border-radius: 50%; flex: none;
  background: var(--terracotta); box-shadow: 0 0 0 3px rgba(185,111,82,.18);
}
.contact-status-label {
  font-family: var(--font-mono); font-size: .66rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; color: var(--ink-2);
}
.contact-status-val {
  margin-left: auto; font-family: var(--font-mono); font-size: .66rem; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase; color: var(--forest);
}
.contact-side-trust {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: .5rem;
}
.contact-side-trust li {
  display: flex; align-items: flex-start; gap: .5rem;
  font-size: .8rem; line-height: 1.5; color: var(--ink-2);
}
.contact-side-trust li svg { width: 15px; height: 15px; flex: none; margin-top: .12rem; color: var(--sage-ink); }
.contact-side-block { display: flex; flex-direction: column; gap: .6rem; }
.contact-side-block + .contact-side-block { border-top: 1px solid var(--sand); padding-top: 1.1rem; }
.contact-side-kicker {
  font-family: var(--font-mono); font-size: .64rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3);
}
.contact-side-card {
  background: var(--cream); border: 1px solid var(--sand); border-radius: 18px;
  padding: clamp(1.25rem, 2.5vw, 1.6rem);
  box-shadow: 0 12px 32px rgba(15,20,16,.06);
  display: flex; flex-direction: column; gap: .75rem;
}
.contact-side-ico {
  width: 44px; height: 44px; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(185,111,82,.13); color: var(--terracotta-ink);
  flex: none;
}
.contact-side-ico svg { width: 20px; height: 20px; }
.contact-side-title { font-family: var(--font-display); font-size: 1.1rem; font-weight: 800; color: var(--ink); margin: 0; line-height: 1.25; }
.contact-side-desc { font-size: .84rem; line-height: 1.6; color: var(--ink-2); margin: 0; }
.contact-side-card .contact-addr-row { background: var(--sandstone); }
.contact-addr-body { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.contact-side-tags { display: flex; flex-wrap: wrap; gap: .4rem; }
.contact-tag {
  display: inline-flex; align-items: center;
  padding: .32rem .7rem; border-radius: var(--r-pill);
  background: var(--sage-mist); color: var(--sage-ink);
  font-family: var(--font-mono); font-size: .62rem; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase;
}
.contact-social-row { margin-top: .25rem; }
.contact-social-row a {
  width: 38px; height: 38px; border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--sandstone); border: 1px solid var(--sand); color: var(--forest);
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}
.contact-social-row a:hover { background: rgba(185,111,82,.14); color: var(--terracotta-ink); border-color: var(--terracotta); transform: translateY(-2px); }
.contact-social-row a svg { width: 18px; height: 18px; }

/* Right column — dispatch form card */
.contact-form-wrap {
  max-width: 800px;
  background: var(--cream); border: 1px solid var(--sand); border-radius: 20px;
  padding: clamp(1.75rem, 4vw, 3rem);
  box-shadow: 0 24px 56px rgba(15,20,16,.10);
}
@media (min-width: 1024px) {
  .contact-form-wrap { max-width: none; width: 100%; }
}
.contact-form-head { margin-bottom: var(--s5); }
.contact-form-head h2 { margin: .5rem 0 .4rem; font-size: clamp(1.5rem, 3vw, 2rem); }
.contact-form-head .small { color: var(--ink-2); line-height: 1.6; margin: 0; }
.contact-form { display: flex; flex-direction: column; gap: var(--s4); }
.contact-form .field { display: flex; flex-direction: column; gap: .4rem; }
.contact-form .field-label { font-family: var(--font-mono); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); }
.contact-form .input,
.contact-form .textarea {
  width: 100%; background: #FFFFFF; border: 1px solid var(--sand); border-radius: 12px;
  padding: .8rem .9rem; font-family: var(--font-body); font-size: .95rem; color: var(--ink);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.contact-form .textarea { resize: vertical; min-height: 140px; line-height: 1.6; }
.contact-form .input:focus,
.contact-form .textarea:focus { outline: none; border-color: var(--terracotta); box-shadow: 0 0 0 3px rgba(185,111,82,.22); }
.contact-check { display: flex; align-items: flex-start; gap: .6rem; font-size: .84rem; color: var(--ink-2); line-height: 1.5; }
.contact-check input { margin-top: .2rem; accent-color: var(--forest); flex: none; }
.contact-check a { color: var(--terracotta-ink); text-decoration: underline; }
.contact-micro {
  margin: .25rem 0 0; text-align: center;
  font-family: var(--font-mono); font-size: .68rem; color: var(--ink-3); letter-spacing: .02em;
}
#contactSubmit:disabled { opacity: .65; cursor: wait; }

/* Six-pillar cross-reference matrix */
.contact-pillars-section .card--flat { display: block; }
.contact-pillars-section .card--flat:hover { border-color: var(--terracotta); }

/* ------------------------------------------------------------------ Contact page — block rhythm
   Hero → Form & Author → FAQ → Toolbox → Knowledge Hub → Newsletter.
   Each major block gets a consistent vertical rhythm. */
.contact-form-section,
.contact-faq-section,
.contact-tools-section,
.contact-pillars-section {
  padding-block: clamp(3rem, 5vw, 4.5rem);
}

.contact-block-head {
  max-width: 46rem;
  margin: 0 auto clamp(1.75rem, 3vw, 2.5rem);
  text-align: center;
}
.contact-block-head .chip { margin-bottom: .9rem; }
.contact-block-head h2 {
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 1.2rem + 1.5vw, 2.15rem);
  font-weight: 800;
  color: var(--ink);
  margin: 0 0 .6rem;
  line-height: 1.2;
}
.contact-block-head .small { color: var(--ink-2); font-size: .92rem; line-height: 1.65; margin: 0; }

/* Dark-band variant of the shared block head (obsidian toolbox section) */
.contact-block-head--dark h2 { color: var(--cream); }
.contact-block-head--dark .small { color: rgba(255,255,255,.82); }

/* ---- FAQ (About-style 2-col: sticky rail + numbered accordion) ---- */
.contact-faq-layout { max-width: 1320px; margin-inline: auto; }
.contact-faq-layout .about-faq-rail .label { color: var(--sage-ink); }
.contact-faq-layout .about-faq-rail h2 { font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.1rem); font-weight: 800; color: var(--ink); }
.contact-faq-acc .faq-hub-card,
.contact-faq-acc details { background: var(--cream); }
.contact-faq-acc details summary { font-size: 1rem; }
.contact-faq-acc .a a {
  color: var(--terracotta-ink);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ---- Combined Dual-Pillar Exploration Hub (obsidian band, dual tabs) ---- */
/* Parallax + dark vignette overlay applied ONLY to this hub CTA section (site-wide footer newsletter stays a flat vignette). */
.contact-explore-section,
.engine-knowledge-cta {
  position: relative;
  padding: clamp(5rem, 8vw, 7rem) 1.5rem;
  color: #FFFFFF;
  overflow: hidden;
  background-color: #173D2B;
  background-image: url("/wp-content/uploads/2025/08/mistculture-hydroponic-greenhouse.webp");
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
/* CRITICAL: heavy opaque dark vignette overlay so white/cream typography and cards pop with razor-sharp readability.
   NOTE: opacity MUST be 1 here — the shared .mc-band--dark::before rule sets opacity:.07 (its faint grid),
   and equal-specificity source order would otherwise render THIS dark overlay at 7% and expose the bright photo. */
.contact-explore-section::before,
.engine-knowledge-cta::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
  opacity: 1;
  background:
    radial-gradient(ellipse 760px 520px at 88% -10%, rgba(185,111,82,.14), transparent),
    radial-gradient(ellipse 640px 480px at -8% 18%, rgba(107,168,68,.11), transparent),
    linear-gradient(180deg, rgba(8,16,11,.90) 0%, rgba(10,20,13,.94) 100%);
}
.contact-explore-section::after,
.engine-knowledge-cta::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background:
    linear-gradient(to right, rgba(255,255,255,.5) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.5) 1px, transparent 1px);
  background-size: 36px 36px;
  opacity: .07;
  -webkit-mask-image: radial-gradient(ellipse 90% 80% at 50% 15%, #000 40%, transparent 92%);
  mask-image: radial-gradient(ellipse 90% 80% at 50% 15%, #000 40%, transparent 92%);
}
/* Strict, fully-opaque text colors inside the section: cream body + terracotta accent. */
.contact-explore-section,
.engine-knowledge-cta,
.contact-explore-section h1, .contact-explore-section h2, .contact-explore-section h3, .contact-explore-section p, .contact-explore-section .small,
.engine-knowledge-cta h1, .engine-knowledge-cta h2, .engine-knowledge-cta h3, .engine-knowledge-cta p, .engine-knowledge-cta .small { color: #FFFFFF; }
.contact-explore-section .hero-hl,
.engine-knowledge-cta .hero-hl { color: #B96F52; }
/* Ensure ALL section content sits above the dark overlay. */
.contact-explore-section > *,
.engine-knowledge-cta > * { position: relative; z-index: 2; }
.contact-explore-section.mc-band > .container,
.engine-knowledge-cta.mc-band > .container { position: relative; z-index: 2; }
@media (max-width: 900px) { .contact-explore-section, .engine-knowledge-cta { background-attachment: scroll; } }
@media (prefers-reduced-motion: reduce) { .contact-explore-section, .engine-knowledge-cta { background-attachment: scroll; } }
/* Item 8 — bottom breather for the hub Engine & Knowledge Architecture band. */
#main-content > .contact-explore-section,
#main-content > .engine-knowledge-cta,
#main-content > section.contact-explore-section,
#main-content > section.engine-knowledge-cta { margin-bottom: clamp(4rem, 7vw, 5.5rem) !important; }
.dual-tabbar {
  display: inline-flex;
  gap: .35rem;
  padding: .3rem;
  margin: 0 auto clamp(2rem, 3.5vw, 2.75rem);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--r-pill);
  width: max-content;
  max-width: 100%;
  flex-wrap: wrap;
  justify-content: center;
}
.contact-explore-section .contact-block-head { text-align: center; }
.contact-explore-section .dual-tabbar { display: flex; }
.dual-tab {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .6rem 1.25rem;
  border: 0;
  border-radius: var(--r-pill);
  background: transparent;
  color: rgba(255,255,255,.72);
  font-family: var(--font-display);
  font-size: .92rem; font-weight: 700;
  cursor: pointer;
  transition: background .18s ease, color .18s ease;
}
.dual-tab .ic { width: 16px; height: 16px; }
.dual-tab:hover { color: #FFFFFF; }
.dual-tab.is-active { background: var(--terracotta); color: #FFFFFF; }
.dual-tab:focus-visible { outline: 2px solid var(--terracotta); outline-offset: 2px; }
.dual-tab-num { font-family: var(--font-mono); font-size: .72rem; opacity: .8; }

.dual-panel { display: none; }
.dual-panel.is-active { display: block; animation: dual-fade .28s ease; }
@keyframes dual-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.dual-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s4);
  max-width: 1140px;
  margin-inline: auto;
}
.dual-card {
  display: flex;
  align-items: flex-start;
  gap: var(--s4);
  padding: 1.4rem 1.5rem;
  background: var(--cream);
  border: 1px solid var(--sand);
  border-radius: var(--r-lg);
  box-shadow: 0 8px 24px rgba(0,0,0,.28);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.dual-card:hover {
  transform: translateY(-3px);
  border-color: var(--terracotta);
  box-shadow: 0 16px 34px rgba(185,111,82,.22);
  text-decoration: none;
}
.dual-card-ico {
  flex: none;
  width: 2.9rem; height: 2.9rem;
  border-radius: var(--r-sm);
  background: var(--sage-mist);
  color: var(--forest);
  display: inline-flex; align-items: center; justify-content: center;
  transition: background .18s ease, color .18s ease;
}
.dual-card:hover .dual-card-ico { background: rgba(185,111,82,.16); color: var(--terracotta-ink); }
.dual-card-body { display: flex; flex-direction: column; gap: .3rem; min-width: 0; flex: 1; }
.dual-card-name { font-family: var(--font-display); font-size: 1.06rem; font-weight: 800; color: var(--ink); line-height: 1.25; }
.dual-card-desc { font-size: .82rem; line-height: 1.55; color: var(--ink-2); }
.dual-card-count {
  display: inline-flex; align-self: flex-start;
  margin-top: .25rem;
  padding: .2rem .55rem;
  border-radius: var(--r-pill);
  background: var(--sage-mist); color: var(--sage-ink);
  font-family: var(--font-mono); font-size: .62rem; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase;
}
.dual-card-go {
  margin-top: .45rem;
  display: inline-flex; align-items: center; gap: .35rem;
  font-family: var(--font-mono); font-size: .68rem; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase;
  color: var(--terracotta-ink);
  transition: gap .18s ease;
}
.dual-card-go .ic { width: 14px; height: 14px; }
.dual-card:hover .dual-card-go { gap: .6rem; }

/* Item 7 — current hub state in the Knowledge Hub Pillars panel */
.dual-card.is-current {
  border-color: var(--terracotta);
  background: #FFFFFF;
  box-shadow: 0 0 0 2px rgba(185,111,82,.22), 0 12px 28px rgba(185,111,82,.16);
}
.dual-card.is-current .dual-card-ico { background: rgba(185,111,82,.16); color: var(--terracotta-ink); }
.dual-card.is-current .dual-card-count { background: rgba(185,111,82,.14); color: var(--terracotta-ink); }

@media (min-width: 640px) {
  .dual-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .dual-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .dual-tab, .dual-card, .dual-card-ico, .dual-card-go { transition: none; }
  .dual-panel.is-active { animation: none; }
  .dual-card:hover { transform: none; }
  .dual-card:hover .dual-card-go { gap: .35rem; }
}

@media (max-width: 640px) {
  .contact-addr-mail { font-size: .74rem; }
}

/* ---- Spam honeypot: visually hidden but present in the DOM for bots ---- */
.mc-hp {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.mc-hp label,
.mc-hp input { position: absolute !important; left: -9999px !important; }

/* ==================================================================
   Legal documents (Privacy / Terms / Cookie / Affiliate)
   Unified Dark Forest Vignette hero + compliance trust card.
   Scoped to .legal-doc (set on <main> by inc/legal-template.php).
   ================================================================== */

/* Hero — inherits the shared .hero vignette stack; tune the container + split. */
.legal-doc .legal-hero .container { position: relative; z-index: 1; max-width: 1320px; }
.legal-doc .legal-hero .hero-split { grid-template-columns: 1fr; }
@media (min-width: 1024px) {
  .legal-doc .legal-hero .hero-split { grid-template-columns: 1.55fr 1fr; gap: clamp(2rem, 4vw, 3.5rem); align-items: center; }
}
.legal-doc .legal-hero .legal-hero-copy .hero-eyebrow { margin-bottom: var(--s5); }
.legal-doc .legal-hero .hero-eyebrow .dot-live { background: var(--terracotta); }
.legal-doc .legal-hero .hero-title { margin: 0 0 var(--s5); }
.legal-doc .legal-hero .hero-lede { max-width: 46rem; }
.legal-doc .legal-hero .hero-cta { margin-top: var(--s6); }
.legal-doc .legal-hero .crumb,
.legal-doc .legal-hero .crumb-cur,
.legal-doc .legal-hero .crumb-sep { color: rgba(255,255,255,.85); }
.legal-doc .legal-hero .crumb a { color: rgba(255,255,255,.92); }
.legal-doc .legal-hero .crumb a:hover { color: #fff; }

/* Right column — light cream compliance/assurance card (reuses .hero-viz). */
.legal-doc .legal-trust-card { align-self: stretch; display: flex; flex-direction: column; gap: var(--s4); }
.legal-doc .legal-trust-stats {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem;
  position: relative; z-index: 1;
}
.legal-doc .legal-trust-stat {
  display: flex; flex-direction: column; gap: .1rem; text-align: center;
  background: var(--sandstone); border: 1px solid var(--sand); border-radius: var(--r-sm);
  padding: .6rem .35rem;
}
.legal-doc .legal-trust-stat b { font-family: var(--font-display); font-weight: 800; font-size: 1.1rem; color: var(--forest); line-height: 1; }
.legal-doc .legal-trust-stat i { font-family: var(--font-mono); font-style: normal; font-size: .56rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); }
.legal-doc .legal-trust-quote {
  margin: 0; position: relative; z-index: 1;
  font-family: var(--font-display); font-style: italic; font-weight: 500;
  font-size: .98rem; line-height: 1.55; color: var(--ink);
}
.legal-doc .legal-trust-quote strong { color: var(--terracotta-ink); font-weight: 700; }
.legal-doc .legal-trust-seals { display: flex; flex-wrap: wrap; gap: .4rem; position: relative; z-index: 1; }
.legal-doc .legal-trust-seal {
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .3rem .6rem; border-radius: var(--r-pill);
  background: var(--sage-mist); border: 1px solid var(--sage); color: var(--sage-ink);
  font-family: var(--font-mono); font-size: .6rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}
.legal-doc .legal-trust-seal svg { color: var(--sage-ink); width: 14px; height: 14px; }
.legal-doc .legal-trust-date {
  display: flex; align-items: center; gap: .45rem; margin-top: auto;
  padding-top: var(--s3); border-top: 1px solid var(--sand);
  font-family: var(--font-mono); font-size: .62rem; letter-spacing: .04em; color: var(--ink-3);
  position: relative; z-index: 1;
}
.legal-doc .legal-trust-date .dot { width: .4rem; height: .4rem; border-radius: 50%; }

/* Suppress the authored in-body legacy hero (.th-head) so the page keeps a
   single <h1> (the template hero) and the document starts at its card grid. */
.legal-doc .th-root .th-head { display: none; }
.legal-doc .th-root .th-inner { max-width: 1280px; }

/* ---- Document body / vault / CTA rhythm ---- */
.legal-doc .legal-body-section { padding-block: clamp(3rem, 5vw, 4.5rem); }
.legal-doc .legal-vault-section { padding-block: clamp(3rem, 5vw, 4.5rem) 0; }
.legal-doc .legal-cta-section { padding-block: clamp(3rem, 5vw, 4.5rem) 0; }

/* ---- Compliance Desk CTA (dark band, matches the FAQ join band) ---- */
.legal-doc .legal-cta-band {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--s6); padding: clamp(2rem, 5vw, 3rem);
}
.legal-doc .legal-cta-copy { max-width: 44rem; }
.legal-doc .legal-cta-copy h2 { color: #FFFFFF; margin: .75rem 0 .4rem; }
.legal-doc .legal-cta-copy p { color: rgba(255,255,255,.82); margin: 0; }

@media (max-width: 640px) {
  .legal-doc .legal-trust-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .legal-doc .legal-trust-card { align-self: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .legal-doc .legal-hero::before { animation: none; }
  .legal-doc .legal-trust-card { transition: none; }
}

/* ------------------------------------------------------------------ 404 — Chamber Offline
   World-class dead-end recovery: centered Dark Forest Vignette hero with a
   high-contrast obsidian + terracotta search, three CTAs, and a six-card
   quick-links bento below. */
.mc-404-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 46rem;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.mc-404 .hero-eyebrow { margin-bottom: 1.1rem; }
.mc-404-title { color: #FFFFFF; margin: 0 0 .85rem; }
.mc-404-lede { margin-inline: auto; margin-bottom: 1.75rem; }

/* --- High-contrast search (WP default .search-form markup) --- */
.mc-404-search {
  position: relative;
  width: min(560px, 100%);
  margin: 0 auto 1.75rem;
}
.mc-404-search > .ic {
  position: absolute;
  left: 1.05rem;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255,255,255,.62);
  z-index: 2;
  pointer-events: none;
}
.mc-404-search .search-form {
  display: flex;
  align-items: stretch;
  gap: .5rem;
  margin: 0;
}
.mc-404-search .search-form label {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  display: block;
}
.mc-404-search .search-field {
  width: 100%;
  height: 54px;
  margin: 0;
  padding: 0 1rem 0 2.9rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--r-md);
  background: rgba(255,255,255,.06);
  color: #FFFFFF;
  font-family: var(--font-body);
  font-size: .95rem;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.mc-404-search .search-field::placeholder { color: rgba(255,255,255,.5); }
.mc-404-search .search-field:focus {
  outline: none;
  background: rgba(255,255,255,.1);
  border-color: var(--terracotta);
  box-shadow: 0 0 0 3px rgba(185,111,82,.28);
}
.mc-404-search .search-submit {
  flex: none;
  height: 54px;
  padding: 0 1.6rem;
  border: 0;
  border-radius: var(--r-md);
  background: var(--terracotta);
  color: #fff;
  font-family: var(--font-body);
  font-size: .92rem;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s ease;
}
.mc-404-search .search-submit:hover { background: var(--terracotta-600); }
.mc-404-search .search-submit:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 2px; }

/* --- Action buttons --- */
.mc-404-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .75rem;
}

/* --- Quick-links bento --- */
.mc-404-bento-section { background: var(--sandstone); border-top: 1px solid var(--sand); }
.mc-404-bento-head {
  text-align: center;
  max-width: 44rem;
  margin: 0 auto clamp(2rem, 4vw, 3rem);
}
.mc-404-bento-head .label { color: #8F4527; }
.mc-404-bento-heading {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--ink);
  margin: .5rem 0 .5rem;
}
.mc-404-bento-head .small { color: var(--ink-2); }
.mc-404-bento {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s4);
  max-width: 1140px;
  margin-inline: auto;
}
.mc-404-card {
  display: flex;
  align-items: flex-start;
  gap: var(--s4);
  padding: 1.4rem 1.5rem;
  background: var(--cream);
  border: 1px solid var(--sand);
  border-radius: var(--r-lg);
  box-shadow: 0 4px 18px rgba(39,106,71,.05);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.mc-404-card:hover {
  transform: translateY(-3px);
  border-color: var(--terracotta);
  box-shadow: 0 16px 34px rgba(185,111,82,.18);
  text-decoration: none;
}
.mc-404-card-ico {
  flex: none;
  width: 2.9rem; height: 2.9rem;
  border-radius: var(--r-sm);
  background: var(--sage-mist);
  color: var(--forest);
  display: inline-flex; align-items: center; justify-content: center;
  transition: background .18s ease, color .18s ease;
}
.mc-404-card-ico .ic { width: 1.35rem; height: 1.35rem; }
.mc-404-card:hover .mc-404-card-ico { background: rgba(185,111,82,.16); color: var(--terracotta-ink); }
.mc-404-card-body { display: flex; flex-direction: column; gap: .3rem; min-width: 0; flex: 1; }
.mc-404-card-name { font-family: var(--font-display); font-size: 1.06rem; font-weight: 800; color: var(--ink); line-height: 1.25; }
.mc-404-card-desc { font-size: .82rem; line-height: 1.55; color: var(--ink-2); }
.mc-404-card-count {
  display: inline-flex; align-self: flex-start;
  margin-top: .25rem;
  padding: .2rem .55rem;
  border-radius: var(--r-pill);
  background: var(--sage-mist); color: var(--sage-ink);
  font-family: var(--font-mono); font-size: .62rem; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase;
}
.mc-404-card-go {
  margin-top: .45rem;
  display: inline-flex; align-items: center; gap: .35rem;
  font-family: var(--font-mono); font-size: .68rem; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase;
  color: var(--terracotta-ink);
  transition: gap .18s ease;
}
.mc-404-card-go .ic { width: 14px; height: 14px; }
.mc-404-card:hover .mc-404-card-go { gap: .6rem; }

@media (min-width: 640px) {
  .mc-404-bento { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .mc-404-bento { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 480px) {
  .mc-404-search .search-form { flex-direction: column; }
  .mc-404-search .search-submit { width: 100%; }
  .mc-404-actions .btn { flex: 1 1 auto; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .mc-404-card, .mc-404-card-ico, .mc-404-card-go,
  .mc-404-search .search-field, .mc-404-search .search-submit { transition: none; }
  .mc-404-card:hover { transform: none; }
  .mc-404-card:hover .mc-404-card-go { gap: .35rem; }
}
/* ------------------------------------------------------------------ Search: format classification legend (font-independent) */
.mc-fmt-list { line-height: 1.4; }
.mc-fmt-list .mc-fmt-ic { width: 1rem; height: 1rem; }
.mc-fmt-checkbox {
  -webkit-appearance: none;
  appearance: none;
  width: 1rem;
  height: 1rem;
  flex: none;
  margin: 0;
  border: 1.5px solid var(--outline, #666C61);
  border-radius: 4px;
  background: #fff;
  cursor: not-allowed;
  opacity: .66;
}
.mc-fmt-checkbox:disabled { cursor: not-allowed; }

/* Search page: restore the global footer breather (last section is nested in a wrapper div) */
#main-content > div.flex > section:last-of-type { margin-bottom: clamp(4rem, 8vw, 6rem) !important; }
/* ================================================================== */
/* Search Results Page (/?s=) — Mc-srch redesign                      */
/* Base = Clean Cream #FFFFFF; hero = Dark Forest Vignette (.hero)    */
/* ================================================================== */
.mc-srch-page,
main.mc-srch-page { background: #FFFFFF !important; }
/* Breadcrumb inside the dark hero */
.mc-srch-crumb {
  display: flex; align-items: center; gap: .5rem;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .72rem; letter-spacing: .06em; text-transform: uppercase;
  color: rgba(255,255,255,.62);
}
.mc-srch-crumb a {
  display: inline-flex; align-items: center; gap: .35rem;
  color: rgba(255,255,255,.86); transition: color .18s ease;
}
.mc-srch-crumb a:hover { color: var(--terracotta); }
.mc-srch-crumb .ic { width: .95rem; height: .95rem; }
.mc-srch-crumb-cur { color: rgba(255,255,255,.62); }
/* Keep the hero's content width identical to the results bands (.mc-srch-wrap)
   so the query console, toolbar and status chips align with the page body. */
.mc-srch-hero > .container { max-width: 1320px; padding-inline: var(--gutter); }
.mc-srch-hero-split { align-items: start; }
.mc-srch-latency {
  display: inline-block; margin-left: .5rem; padding: .1rem .5rem;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .72rem; border-radius: 9999px;
  color: var(--sage-mist); background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
}
.mc-srch-index-status {
  display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
  margin-top: 1.25rem;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .72rem; letter-spacing: .06em; text-transform: uppercase;
  color: rgba(255,255,255,.72);
}
.mc-srch-chip {
  padding: .25rem .65rem; border-radius: 9999px;
  background: rgba(255,255,255,.08); color: #FFFFFF;
  border: 1px solid rgba(255,255,255,.16);
}
.mc-srch-chip--accent { color: #B96F52; border-color: rgba(185,111,82,.4); }

/* Section headers (on cream bands) */
.mc-srch-head {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 1rem; margin-bottom: 2rem;
}
.mc-srch-head-main { display: inline-flex; align-items: center; gap: .75rem; }
.mc-srch-bar {
  width: 4px; height: 1.5rem; border-radius: 9999px;
  background: var(--terracotta); flex: none;
}
.mc-srch-h2 {
  margin: 0; font-family: "Outfit", sans-serif; font-weight: 700;
  font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2rem); line-height: 1.2; color: var(--forest);
}
.mc-srch-tag {
  padding: .25rem .65rem; border-radius: 9999px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .66rem; letter-spacing: .06em; text-transform: uppercase;
  color: var(--forest); background: var(--sage-mist); border: 1px solid #D5E3CE;
}
.mc-srch-more {
  display: inline-flex; align-items: center; gap: .4rem;
  font-family: "Outfit", sans-serif; font-weight: 600; font-size: .85rem;
  color: var(--terracotta-ink); transition: color .18s ease;
}
.mc-srch-more:hover { color: var(--forest); }
.mc-srch-more .ic { width: 1rem; height: 1rem; }

/* Hero console / search form */
.mc-srch-console { align-self: start; }
.mc-srch-form { display: flex; flex-direction: column; gap: .75rem; }
.mc-srch-field {
  position: relative; display: flex; align-items: center;
  background: #FFFFFF; border-radius: 12px;
  border: 1px solid transparent;
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
  transition: box-shadow .2s ease, border-color .2s ease;
}
.mc-srch-field:focus-within {
  border-color: var(--terracotta);
  box-shadow: 0 0 0 3px rgba(185,111,82,.28), 0 18px 40px rgba(0,0,0,.28);
}
.mc-srch-field-ico {
  position: absolute; left: .9rem; color: var(--ink-3);
  width: 1.1rem; height: 1.1rem; pointer-events: none;
}
.mc-srch-field input {
  width: 100%; border: 0; outline: none; background: transparent;
  padding: .9rem 7.5rem .9rem 2.6rem; border-radius: 12px;
  font-family: "Inter", sans-serif; font-size: .95rem; color: var(--ink);
}
.mc-srch-field input::placeholder { color: var(--ink-3); }
.mc-srch-kbd {
  position: absolute; right: .75rem; display: inline-flex; align-items: center; gap: .2rem;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .66rem; color: var(--ink-3);
}
.mc-srch-kbd kbd {
  padding: .14rem .4rem; border-radius: 5px; background: var(--sandstone);
  border: 1px solid var(--sand); color: var(--forest);
  font-family: inherit;
}
.mc-srch-submit {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  font-family: "Outfit", sans-serif; font-weight: 600; font-size: .9rem;
}

/* Toolbar (pills + sort) */
.mc-srch-toolbar {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 1rem; margin-top: 2rem; padding-top: 1.5rem;
  border-top: 1px solid rgba(255,255,255,.12);
}
.mc-srch-pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.mc-srch-pill {
  padding: .45rem .95rem; border-radius: 9999px; cursor: pointer;
  font-family: "Inter", sans-serif; font-size: .78rem; font-weight: 500;
  color: rgba(255,255,255,.82); background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.16);
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.mc-srch-pill:hover { background: rgba(255,255,255,.13); color: #FFFFFF; }
.mc-srch-pill.is-active {
  background: #FFFFFF; color: var(--forest); border-color: #FFFFFF;
  font-weight: 600;
}
.mc-srch-sort { display: inline-flex; align-items: center; gap: .6rem; }
.mc-srch-sort label {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .68rem; letter-spacing: .06em; color: rgba(255,255,255,.72);
}
.mc-srch-sort .mc-select {
  background: rgba(255,255,255,.08); color: #FFFFFF;
  border: 1px solid rgba(255,255,255,.18); border-radius: 10px;
  padding: .5rem 2rem .5rem .75rem; font-size: .78rem;
}
.mc-srch-sort .mc-select option { color: var(--ink); }

/* Band + wrap layout */
.mc-srch-band { position: relative; width: 100%; padding-block: 3.5rem; }
.mc-srch-band--alt { background: #FFFFFF; }
.mc-srch-band + .mc-srch-band { padding-top: 0; }
.mc-srch-wrap { max-width: 1400px; margin-inline: auto; padding-inline: 1rem; }

/* Grow Lab Direct Engine Match — bento cards */
.mc-srch-engine-grid {
  display: grid; grid-template-columns: 1fr; gap: 1.25rem;
}
@media (min-width: 640px) { .mc-srch-engine-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .mc-srch-engine-grid { grid-template-columns: repeat(4, 1fr); } }
.mc-srch-engine {
  display: flex; flex-direction: column; gap: .5rem;
  background: #FFFFFF; border: 1px solid var(--sand); border-radius: 16px;
  padding: 1.5rem; box-shadow: 0 8px 30px rgba(39,106,71,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.mc-srch-engine:hover {
  transform: translateY(-3px); border-color: #C9BFA8;
  box-shadow: 0 16px 38px rgba(39,106,71,.13);
}
.mc-srch-engine-top {
  display: flex; align-items: center; justify-content: space-between; gap: .5rem;
  padding-bottom: .75rem; border-bottom: 1px solid var(--sand);
}
.mc-srch-engine-id {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .66rem; letter-spacing: .06em; color: var(--ink-3);
}
.mc-srch-sensor {
  display: inline-flex; align-items: center; gap: .35rem;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .62rem; letter-spacing: .06em; text-transform: uppercase;
  color: var(--sage-ink);
}
.mc-srch-sensor-dot {
  width: 7px; height: 7px; border-radius: 9999px; flex: none;
  background: #3BA55D; box-shadow: 0 0 0 3px rgba(59,165,93,.18);
}
.mc-srch-engine-title {
  margin: .5rem 0 0; font-family: "Outfit", sans-serif; font-weight: 700;
  font-size: 1.1rem; line-height: 1.3;
}
.mc-srch-engine-title a { color: var(--forest); transition: color .18s ease; }
.mc-srch-engine-title a:hover { color: var(--terracotta-ink); }
.mc-srch-engine-desc {
  margin: 0; font-size: .82rem; line-height: 1.6; color: var(--ink-2);
}
.mc-srch-engine-meta {
  display: flex; flex-direction: column; gap: .3rem; margin: .35rem 0 0;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .68rem; color: var(--ink-3);
}
.mc-srch-engine-meta > div { display: flex; align-items: center; gap: .35rem; }
.mc-srch-engine-meta dt { margin: 0; color: var(--ink-3); }
.mc-srch-engine-meta dd { margin: 0; color: var(--forest); font-weight: 600; }
.mc-srch-engine-status dd { color: var(--sage-ink); }
.mc-srch-engine-foot {
  display: flex; align-items: center; justify-content: space-between; gap: .5rem;
  margin-top: auto; padding-top: 1rem;
}
.mc-srch-engine-ver {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .66rem; color: var(--ink-3);
}
.mc-srch-engine-foot .mc-srch-link { font-size: .8rem; }
.mc-srch-engine-foot .ic { width: .95rem; height: .95rem; }

/* Faceted rail + protocol results layout */
.mc-srch-layout {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; align-items: start;
}
@media (min-width: 1024px) {
  .mc-srch-layout { grid-template-columns: 300px minmax(0, 1fr); }
}

/* Faceted sidebar */
.mc-srch-layout > *, .mc-srch-side, .mc-srch-results { min-width: 0; }
.mc-srch-side { display: flex; flex-direction: column; gap: 1.25rem; }
@media (min-width: 1024px) { .mc-srch-side { position: sticky; top: 5.5rem; } }
.mc-srch-facet {
  display: flex; flex-direction: column; gap: 1.25rem;
  background: #FFFFFF; border: 1px solid var(--sand); border-radius: 16px;
  padding: 1.5rem; box-shadow: 0 8px 30px rgba(39,106,71,.06);
}
.mc-srch-facet-head {
  display: flex; align-items: center; justify-content: space-between;
  padding-bottom: .75rem; border-bottom: 1px solid var(--sand);
}
.mc-srch-facet-title {
  font-family: "Outfit", sans-serif; font-weight: 700; font-size: .9rem;
  text-transform: uppercase; letter-spacing: .04em; color: var(--forest);
}
.mc-srch-reset {
  font-family: "Inter", sans-serif; font-size: .72rem; color: var(--sage-ink);
  transition: color .18s ease;
}
.mc-srch-reset:hover { color: var(--forest); }
.mc-srch-facet-group { display: flex; flex-direction: column; gap: .65rem; }
.mc-srch-facet-label {
  font-family: "Inter", sans-serif; font-size: .68rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3);
}
.mc-srch-facet-list { display: flex; flex-direction: column; gap: .35rem; }
.mc-srch-facet-row {
  display: flex; align-items: center; justify-content: space-between; gap: .5rem;
  padding: .5rem .55rem; border-radius: 8px; font-size: .82rem;
  color: var(--ink); transition: background .18s ease;
}
.mc-srch-facet-row:hover { background: var(--sandstone); }
.mc-srch-facet-name { display: inline-flex; align-items: center; gap: .55rem; }
.mc-srch-tick {
  display: inline-block; width: 15px; height: 15px; border-radius: 4px; flex: none;
  border: 1.5px solid var(--sand); background: #fff;
}
.mc-srch-tick.is-on { border-color: var(--forest); background: var(--forest); }
.mc-srch-facet-count {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .72rem; color: var(--ink-3);
}
.mc-srch-facet-note { font-size: .78rem; line-height: 1.55; color: var(--ink-2); margin: 0; }
.mc-srch-fmt { display: flex; flex-direction: column; gap: .5rem; list-style: none; margin: 0; padding: 0; font-size: .82rem; color: var(--ink); }
.mc-srch-fmt li { display: flex; align-items: center; gap: .55rem; }
.mc-srch-fmt .mc-fmt-ic { width: 1rem; height: 1rem; color: var(--forest); }
.mc-srch-author {
  display: flex; align-items: center; gap: .65rem; padding: .55rem .65rem;
  background: var(--sandstone); border-radius: 12px;
}
.mc-srch-author img { width: 32px; height: 32px; border-radius: 9999px; object-fit: cover; }
.mc-srch-author-meta { display: flex; flex-direction: column; min-width: 0; }
.mc-srch-author-name { font-family: "Outfit", sans-serif; font-weight: 700; font-size: .82rem; color: var(--forest); }
.mc-srch-author-role { font-size: .68rem; color: var(--ink-3); }
.mc-srch-note-card {
  display: flex; flex-direction: column; gap: .75rem;
  background: var(--forest); color: #FFFFFF; border-radius: 16px; padding: 1.5rem;
}
.mc-srch-note-kicker {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; color: #F3E9D8;
}
.mc-srch-note-card p { font-size: .8rem; line-height: 1.6; color: rgba(255,255,255,.9); margin: 0; }
.mc-srch-note-link {
  display: inline-flex; align-items: center; gap: .35rem; margin-top: .25rem;
  font-family: "Outfit", sans-serif; font-weight: 600; font-size: .8rem;
  color: var(--sage-mist); transition: color .18s ease;
}
.mc-srch-note-link:hover { color: #FFFFFF; }

/* Results column */
.mc-srch-results { display: flex; flex-direction: column; gap: 1.1rem; }
.mc-srch-card {
  position: relative; background: #FFFFFF; border: 1px solid var(--sand);
  border-radius: 16px; padding: 1.5rem;
  box-shadow: 0 4px 18px rgba(39,106,71,.05);
  transition: box-shadow .2s ease, transform .2s ease;
}
.mc-srch-card:hover { box-shadow: 0 14px 34px rgba(39,106,71,.12); transform: translateY(-2px); }
.mc-srch-card--lead {
  padding: 1.75rem; box-shadow: 0 8px 30px rgba(39,106,71,.09);
  border-color: rgba(39,106,71,.18);
}
.mc-srch-card-top {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: .5rem; margin-bottom: .75rem;
}
.mc-srch-card-chips { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.mc-srch-card-meta {
  display: flex; align-items: center; gap: .45rem;
  font-family: "Inter", sans-serif; font-size: .74rem; color: var(--ink-3);
}
.mc-srch-card-num {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .74rem; color: var(--ink-3);
}
.mc-srch-chip {
  display: inline-flex; align-items: center; gap: .3rem;
  padding: .2rem .7rem; border-radius: 9999px;
  font-family: "Inter", sans-serif; font-size: .72rem; font-weight: 600;
}
.mc-srch-chip--sage { background: var(--sage-mist); color: var(--forest); }
.mc-srch-chip--forest { background: var(--forest); color: #FFFFFF; }
.mc-srch-chip--muted { background: var(--sandstone); color: var(--ink-2); }
.mc-srch-card-title { margin: 0; font-family: "Outfit", sans-serif; font-weight: 700; font-size: 1.45rem; line-height: 1.25; }
.mc-srch-card-title--sm { font-size: 1.2rem; }
.mc-srch-card-title a { color: var(--forest); transition: color .18s ease; }
.mc-srch-card-title a:hover { color: var(--terracotta-ink); }
.mc-srch-card-excerpt { margin: .65rem 0 0; font-size: .9rem; line-height: 1.65; color: var(--ink-2); }
.mc-srch-formula {
  display: flex; flex-direction: column; gap: .5rem; margin-top: 1rem; padding: .9rem 1.1rem;
  background: var(--sandstone); border-radius: 12px;
  font-family: "JetBrains Mono", ui-monospace, monospace; font-size: .78rem; color: var(--forest);
}
.mc-srch-formula-eq { display: flex; align-items: center; gap: .5rem; overflow-x: auto; white-space: nowrap; }
.mc-srch-formula-tag { font-weight: 700; color: #8F4527; }
.mc-srch-formula-note { font-size: .68rem; color: var(--ink-3); }
.mc-srch-card-foot {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: .75rem; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--sand);
}
.mc-srch-card-foot--sm { margin-top: 1rem; padding-top: .75rem; }
.mc-srch-byline { display: flex; align-items: center; gap: .55rem; font-size: .78rem; color: var(--ink-2); }
.mc-srch-byline img { width: 24px; height: 24px; border-radius: 9999px; object-fit: cover; }
.mc-srch-byline strong { color: var(--forest); font-weight: 600; }
.mc-srch-card-tags { display: flex; flex-wrap: wrap; gap: .5rem; font-family: "JetBrains Mono", ui-monospace, monospace; font-size: .68rem; color: var(--ink-3); }
.mc-srch-card-tags span { background: var(--sandstone); padding: .2rem .55rem; border-radius: 6px; color: var(--forest); }
.mc-srch-link {
  display: inline-flex; align-items: center; gap: .35rem;
  font-family: "Outfit", sans-serif; font-weight: 600; font-size: .82rem;
  color: var(--terracotta-ink); transition: color .18s ease, background .18s ease;
}
.mc-srch-link:hover { color: var(--forest); }
.mc-srch-link--btn {
  padding: .55rem 1rem; border-radius: 10px; background: var(--forest); color: #FFFFFF;
}
.mc-srch-link--btn:hover { background: var(--forest-700); color: #FFFFFF; }
.mc-srch-link--ghost {
  padding: .55rem 1rem; border-radius: 10px; background: var(--sandstone); color: var(--forest);
}
.mc-srch-link--ghost:hover { background: var(--sand); color: var(--forest); }

/* Pagination */
.mc-srch-pager {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 1rem; margin-top: .5rem; padding: 1rem 1.25rem;
  background: #FFFFFF; border: 1px solid var(--sand); border-radius: 16px;
}
.mc-srch-pager-count { font-size: .78rem; color: var(--ink-2); }
.mc-srch-pager-links { display: flex; align-items: center; gap: .4rem; }
/* NOTE: scope to the pager links — the <main> wrapper also carries .mc-srch-page,
   so unscoped rules here would collapse the whole results page (inline-flex + 34px). */
.mc-srch-pager-links .mc-srch-page {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 34px; height: 34px; padding: 0 .35rem; border-radius: 10px;
  background: var(--sandstone); color: var(--forest);
  font-family: "Outfit", sans-serif; font-weight: 600; font-size: .8rem;
  transition: background .18s ease;
}
.mc-srch-pager-links .mc-srch-page:hover { background: var(--sand); }
.mc-srch-pager-links .mc-srch-page.is-current { background: var(--forest); color: #FFFFFF; }

/* Empty state */
.mc-srch-empty {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: .5rem; padding: 3rem 2rem;
  background: #FFFFFF; border: 1px solid var(--sand); border-radius: 16px;
}
.mc-srch-empty .ic { width: 40px; height: 40px; color: var(--forest); opacity: .5; }
.mc-srch-empty h3 { margin: .35rem 0 0; font-family: "Outfit", sans-serif; font-weight: 700; font-size: 1.25rem; color: var(--forest); }
.mc-srch-empty p { margin: 0; max-width: 34rem; font-size: .9rem; line-height: 1.6; color: var(--ink-2); }
.mc-srch-empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: .75rem; }

/* Support band */
.mc-srch-support {
  display: flex; flex-direction: column; gap: 1.5rem;
  background: var(--sandstone); border: 1px solid var(--sand); border-radius: 16px;
  padding: 2rem;
}
@media (min-width: 1024px) {
  .mc-srch-support { flex-direction: row; align-items: center; justify-content: space-between; padding: 2.25rem 2.5rem; }
}
.mc-srch-support-copy { max-width: 40rem; }
.mc-srch-support-kicker {
  display: inline-flex; align-items: center; gap: .4rem; margin-bottom: .5rem;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; color: #8F4527;
}
.mc-srch-support h3 { margin: 0; font-family: "Outfit", sans-serif; font-weight: 700; font-size: 1.5rem; color: var(--forest); }
.mc-srch-support p { margin: .5rem 0 0; font-size: .9rem; line-height: 1.65; color: var(--ink-2); }
.mc-srch-support-queries { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: 1rem; font-size: .78rem; color: var(--ink-3); }
.mc-srch-support-queries a {
  padding: .25rem .7rem; border-radius: 9999px; background: #FFFFFF;
  border: 1px solid var(--sand); color: var(--forest);
  font-family: "Inter", sans-serif; font-size: .75rem; transition: background .18s ease;
}
.mc-srch-support-queries a:hover { background: var(--sandstone); }
.mc-srch-support-actions { display: flex; flex-direction: column; gap: .6rem; }
@media (min-width: 640px) { .mc-srch-support-actions { flex-direction: row; } }

/* Search-highlight mark */
.mc-srch-mark { background: rgba(185, 111, 82, .18); color: inherit; font-weight: inherit; padding: 0 .15rem; border-radius: 3px; }

@media (prefers-reduced-motion: reduce) {
  .mc-srch-card, .mc-srch-page, .mc-srch-pill, .mc-srch-link,
  .mc-srch-field, .mc-srch-facet-row, .mc-srch-note-link { transition: none; }
  .mc-srch-card:hover { transform: none; }
}
/* ================================================================== */
/* Subcategory / taxonomy archive listing (parts/mc-archive-listing)  */
/* Base = Clean Cream #FFFFFF; hero = Dark Forest Vignette (.hero)    */
/* ================================================================== */
.mc-arch-page { background: #FFFFFF !important; }
.mc-arch-inner { display: flex; flex-direction: column; width: 100%; }

/* Breadcrumb inside the dark hero */
.mc-arch-crumb {
  display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .72rem; letter-spacing: .06em; text-transform: uppercase;
  color: rgba(255,255,255,.62);
  margin-bottom: 1.25rem !important;
}
.mc-arch-crumb a {
  display: inline-flex; align-items: center; gap: .35rem;
  color: rgba(255,255,255,.86); transition: color .18s ease;
}
.mc-arch-crumb a:hover { color: var(--terracotta); }
.mc-arch-crumb .ic { width: .95rem; height: .95rem; }
.mc-arch-crumb-cur { color: rgba(255,255,255,.62); }
.mc-arch-hero > .container { max-width: 1320px; padding-inline: var(--gutter); }
.mc-arch-hero-split { align-items: start; }
.mc-arch-index-status {
  display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
  margin-top: 1.25rem;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .72rem; letter-spacing: .06em; text-transform: uppercase;
  color: rgba(255,255,255,.72);
}
.mc-arch-chip {
  padding: .25rem .65rem; border-radius: 9999px;
  background: rgba(255,255,255,.08); color: #FFFFFF;
  border: 1px solid rgba(255,255,255,.16);
}
.mc-arch-chip--accent { color: #B96F52; border-color: rgba(185,111,82,.4); }

/* Hero Pillar Index console */
.mc-arch-console {
  position: relative;
  align-self: start; display: flex; flex-direction: column; gap: 1rem;
  background: #FFFFFF; border-radius: 16px; padding: 1.5rem;
  border: 1px solid #173D2B;
  box-shadow: 0 22px 48px rgba(0,0,0,.34);
  overflow: hidden;
}
.mc-arch-console::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 4px;
  background: linear-gradient(90deg, var(--terracotta) 0%, #B96F52 42%, #173D2B 100%);
}
.mc-arch-console-head {
  display: flex; align-items: center; gap: .45rem;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .68rem; letter-spacing: .14em; text-transform: uppercase;
  color: #FFFFFF; margin: -1.5rem -1.5rem 0; padding: .85rem 1.5rem;
  background: #173D2B;
  border-bottom: 1px solid #173D2B;
}
.mc-arch-console-head .ic { width: 1rem; height: 1rem; color: var(--terracotta); }
.mc-arch-console-note { margin: 0; font-size: .82rem; line-height: 1.6; color: var(--ink-2); }
.mc-arch-tab-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .35rem; }
.mc-arch-tab {
  position: relative;
  display: flex; align-items: center; justify-content: space-between; gap: .6rem;
  padding: .5rem .75rem .5rem .85rem; border-radius: 9px; font-size: .86rem;
  color: #173D2B; background: var(--sandstone);
  border: 1px solid transparent;
  transition: background .18s ease, color .18s ease, border-color .18s ease, padding-left .18s ease, transform .18s ease;
}
.mc-arch-tab::before {
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%) scaleY(0);
  width: 3px; height: 60%; border-radius: 9999px; background: var(--terracotta);
  transition: transform .18s ease;
}
.mc-arch-tab:hover { background: var(--sand); border-color: #173D2B; transform: translateX(2px); }
.mc-arch-tab.is-active {
  background: #173D2B; color: #FFFFFF; font-weight: 600;
  padding-left: 1.1rem; border-color: #173D2B;
  box-shadow: 0 6px 16px rgba(26,46,32,.28);
}
.mc-arch-tab.is-active::before { transform: translateY(-50%) scaleY(1); width: 4px; }
.mc-arch-tab-count {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .72rem; font-weight: 600; color: #173D2B;
  padding: .12rem .5rem; border-radius: 9999px;
  background: rgba(26,46,32,.08);
  transition: background .18s ease, color .18s ease;
}
.mc-arch-tab.is-active .mc-arch-tab-count { color: var(--terracotta); background: rgba(185,111,82,.18); }
.mc-arch-console-link {
  display: inline-flex; align-items: center; gap: .35rem; margin-top: .25rem;
  font-family: "Outfit", sans-serif; font-weight: 600; font-size: .82rem;
  color: var(--terracotta); transition: color .18s ease, gap .18s ease;
}
.mc-arch-console-link:hover { color: #173D2B; gap: .55rem; }

/* Section header + band */
.mc-arch-band { position: relative; width: 100%; padding-block: 3.5rem; }
.mc-arch-band--flush { padding-top: 0; }
.mc-arch-wrap { max-width: 1400px; margin-inline: auto; padding-inline: 1rem; }
.mc-arch-head {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 1rem; margin-bottom: 2rem;
}
.mc-arch-head-main { display: inline-flex; align-items: center; gap: .75rem; }
.mc-arch-bar { width: 4px; height: 1.5rem; border-radius: 9999px; background: var(--terracotta); flex: none; }
.mc-arch-h2 {
  margin: 0; font-family: "Outfit", sans-serif; font-weight: 700;
  font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2rem); line-height: 1.2; color: var(--forest);
}
.mc-arch-tag {
  padding: .25rem .65rem; border-radius: 9999px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .66rem; letter-spacing: .06em; text-transform: uppercase;
  color: var(--forest); background: var(--sage-mist); border: 1px solid #D5E3CE;
}
.mc-arch-more {
  display: inline-flex; align-items: center; gap: .4rem;
  font-family: "Outfit", sans-serif; font-weight: 600; font-size: .85rem;
  color: var(--terracotta-ink); transition: color .18s ease;
}
.mc-arch-more:hover { color: var(--forest); }
.mc-arch-more .ic { width: 1rem; height: 1rem; }

/* Card grid */
.mc-arch-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; align-items: stretch; }
@media (min-width: 700px) { .mc-arch-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .mc-arch-grid { grid-template-columns: repeat(3, 1fr); } }
.mc-arch-card {
  position: relative; display: flex; flex-direction: column; height: 100%;
  background: #FFFFFF; border: 1px solid rgba(197, 161, 90, 0.28); border-radius: 16px;
  padding: 1.5rem; box-shadow: 0 4px 18px rgba(39,106,71,.05);
  overflow: hidden;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.mc-arch-card::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: linear-gradient(180deg, #C5A15A, #276A47);
  transform: scaleY(0); transform-origin: top; transition: transform .25s ease;
}
.mc-arch-card:hover {
  box-shadow: 0 22px 46px rgba(39,106,71,.16); transform: translateY(-5px);
  border-color: #C5A15A;
}
.mc-arch-card:hover::before { transform: scaleY(1); }
.mc-arch-card-top {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: .5rem; margin-bottom: .75rem;
}
.mc-arch-card-chips { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.mc-arch-chip-k {
  display: inline-flex; align-items: center;
  padding: .24rem .7rem; border-radius: 9999px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .66rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase;
  background: #F7F7F3; color: #276A47;
  border: 1px solid rgba(197, 161, 90, 0.28);
}
.mc-arch-card:hover .mc-arch-chip-k { border-color: rgba(197, 161, 90, 0.4); }
.mc-arch-card-num {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .74rem; font-weight: 600; color: #173D2B;
  padding: .1rem .5rem; border-radius: 6px;
  background: #F7F7F3; border: 1px solid rgba(197, 161, 90, 0.28);
}
.mc-arch-card:hover .mc-arch-card-num { border-color: rgba(197, 161, 90, 0.45); color: #C5A15A; }
.mc-arch-card-meta {
  display: flex; align-items: center; gap: .45rem;
  font-family: "Inter", sans-serif; font-size: .74rem; color: #151816;
}
.mc-arch-card-title { margin: 0; font-family: "Outfit", sans-serif; font-weight: 700; font-size: 1.2rem; line-height: 1.3; }
.mc-arch-card-title a { color: #173D2B; transition: color .18s ease; }
.mc-arch-card-title a:hover { color: #C5A15A; }
.mc-arch-card-excerpt { margin: .65rem 0 0; font-size: .9rem; line-height: 1.65; color: #151816; }
.mc-arch-card-foot {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: .75rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid rgba(197, 161, 90, 0.28);
}
.mc-arch-card-tags {
  display: flex; flex-wrap: wrap; gap: .5rem;
  font-family: "JetBrains Mono", ui-monospace, monospace; font-size: .68rem; color: #151816;
}
.mc-arch-card-tags span {
  background: #F7F7F3; padding: .22rem .55rem; border-radius: 6px;
  color: #173D2B; letter-spacing: .03em; border: 1px solid rgba(197, 161, 90, 0.28);
}
.mc-arch-link {
  display: inline-flex; align-items: center; gap: .35rem;
  font-family: "Outfit", sans-serif; font-weight: 600; font-size: .82rem;
  color: #C5A15A; transition: color .18s ease, background .18s ease, gap .18s ease;
}
.mc-arch-card:hover .mc-arch-link { color: #276A47; gap: .6rem; }
.mc-arch-link:hover { color: #173D2B; }
.mc-arch-link--btn { padding: .55rem 1rem; border-radius: 10px; background: #173D2B; color: #FFFFFF; }
.mc-arch-link--btn:hover { background: #276A47; color: #FFFFFF; }
.mc-arch-link--ghost { padding: .55rem 1rem; border-radius: 10px; background: #F7F7F3; color: #173D2B; border: 1px solid rgba(197, 161, 90, 0.28); }
.mc-arch-link--ghost:hover { background: #F7F7F3; color: #C5A15A; }

/* Pagination */
.mc-arch-pager {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 1rem; margin-top: 2rem; padding: 1rem 1.25rem;
  background: #FFFFFF; border: 1px solid var(--sand); border-radius: 16px;
}
.mc-arch-pager-count { font-size: .78rem; color: var(--ink-2); }
.mc-arch-pager-links { display: flex; align-items: center; gap: .4rem; }
.mc-arch-pager-links .mc-arch-page {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 34px; height: 34px; padding: 0 .35rem; border-radius: 10px;
  background: var(--sandstone); color: var(--forest);
  font-family: "Outfit", sans-serif; font-weight: 600; font-size: .8rem;
  transition: background .18s ease;
}
.mc-arch-pager-links .mc-arch-page:hover { background: var(--sand); }
.mc-arch-pager-links .mc-arch-page.is-current { background: var(--forest); color: #FFFFFF; }

/* Empty state */
.mc-arch-empty {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: .65rem; padding: 3.5rem 2rem;
  background: #FFFFFF; border: 1px solid var(--sand); border-radius: 16px;
}
.mc-arch-empty-ico {
  display: inline-flex; align-items: center; justify-content: center;
  width: 64px; height: 64px; border-radius: 9999px; flex: none;
  background: var(--sage-mist); color: var(--forest);
}
.mc-arch-empty-ico .ic { width: 28px; height: 28px; }
.mc-arch-empty h3 { margin: .35rem 0 0; font-family: "Outfit", sans-serif; font-weight: 700; font-size: 1.35rem; color: var(--forest); }
.mc-arch-empty p { margin: 0; max-width: 38rem; font-size: .92rem; line-height: 1.7; color: var(--ink-2); }
.mc-arch-empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: .75rem; }
.mc-arch-siblings {
  width: 100%; max-width: 46rem; margin-top: 2rem; padding-top: 1.75rem;
  border-top: 1px solid var(--sand);
  display: flex; flex-direction: column; align-items: center; gap: .9rem;
}
.mc-arch-siblings-label {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3);
}
.mc-arch-siblings-list { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; }
.mc-arch-sibling {
  display: inline-flex; align-items: center; gap: .55rem;
  padding: .5rem .9rem; border-radius: 9999px;
  background: #FFFFFF; border: 1px solid var(--sand);
  font-family: "Inter", sans-serif; font-size: .8rem; color: var(--forest);
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.mc-arch-sibling:hover { background: var(--sandstone); border-color: #C9BFA8; transform: translateY(-1px); }
.mc-arch-sibling-count {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .68rem; color: var(--ink-3);
}

/* Support band — light parchment */
.mc-arch-support {
  position: relative; overflow: hidden;
  display: flex; flex-direction: column; gap: 1.5rem;
  background: linear-gradient(135deg, #F4F1E8 0%, #EAE4D3 100%);
  border: 1px solid rgba(197,161,90,0.32);
  border-radius: 16px;
  padding: 2rem;
}
.mc-arch-support::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 480px 320px at 88% -20%, rgba(197,161,90,.18), transparent 70%),
    radial-gradient(ellipse 420px 300px at -8% 120%, rgba(107,168,68,.10), transparent 70%);
}
.mc-arch-support > * { position: relative; z-index: 1; }
@media (min-width: 1024px) {
  .mc-arch-support { flex-direction: row; align-items: center; justify-content: space-between; padding: 2.25rem 2.5rem; }
}
.mc-arch-support-copy { max-width: 42rem; }
.mc-arch-support-kicker {
  display: inline-flex; align-items: center; gap: .4rem; margin-bottom: .5rem;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; color: #C5A15A;
}
.mc-arch-support h3 { margin: 0; font-family: "Outfit", sans-serif; font-weight: 700; font-size: 1.5rem; color: #173D2B; }
.mc-arch-support p { margin: .5rem 0 0; font-size: .9rem; line-height: 1.65; color: #3C473F; }
.mc-arch-support-actions { display: flex; flex-direction: column; gap: .6rem; flex: none; }
@media (min-width: 640px) { .mc-arch-support-actions { flex-direction: row; } }
/* Buttons inside the light support band */
.mc-arch-support .mc-arch-link--btn { background: #276A47; color: #FFFFFF; }
.mc-arch-support .mc-arch-link--btn:hover { background: #173D2B; color: #FFFFFF; }
.mc-arch-support .mc-arch-link--ghost {
  background: #FFFFFF; color: #173D2B;
  border: 1px solid rgba(197,161,90,0.32);
}
.mc-arch-support .mc-arch-link--ghost:hover { background: #F7F4EC; color: #173D2B; }

/* Footer breather — keep the sand support band clear of the dark footer */
.mc-arch-band--flush { margin-bottom: clamp(4rem, 8vw, 6rem); }

@media (prefers-reduced-motion: reduce) {
  .mc-arch-card, .mc-arch-page, .mc-arch-tab, .mc-arch-link, .mc-arch-chip-k,
  .mc-arch-sibling, .mc-arch-console-link { transition: none; }
  .mc-arch-card:hover, .mc-arch-sibling:hover { transform: none; }
  .mc-arch-card::before, .mc-arch-tab::before { transition: none; }
  .mc-arch-tab:hover { transform: none; }
}

/* ============================================================
   Plant Care hub — Subcategory Bento + Interactive Filter (2026-10-21)
   Obsidian #173D2B borders, Clean Cream #FFFFFF surfaces, terracotta CTAs.
   ============================================================ */

/* --- ITEM 1: Force 6 knowledge boxes into 3-column bento grid (Haramain standard) --- */
body .knowledge-architectures-grid,
body .six-knowledge-boxes,
body .kh-tax-grid,
body .tax-grid-wrapper,
body .tax-grid,
body .archive-grid,
body .posts-grid,
body .mc-posts-grid,
body .hub-bento.hub-bento-3col,
body div.core-taxonomies + div,
body section:has(.core-taxonomies) .grid,
body .entry-content > div:has(.tax-card),
body .archive-grid-custom {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.75rem !important;
  max-width: 1440px !important;
  width: 100% !important;
  margin-inline: auto !important;
  padding-inline: clamp(1.25rem, 3vw, 3rem) !important;
}
@media (max-width: 1023px) {
  body .knowledge-architectures-grid,
  body .six-knowledge-boxes,
  body .kh-tax-grid,
  body .tax-grid-wrapper,
  body .tax-grid,
  body .archive-grid,
  body .posts-grid,
  body .mc-posts-grid,
  body .hub-bento.hub-bento-3col,
  body div.core-taxonomies + div,
  body section:has(.core-taxonomies) .grid,
  body .entry-content > div:has(.tax-card),
  body .archive-grid-custom {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 640px) {
  body .knowledge-architectures-grid,
  body .six-knowledge-boxes,
  body .kh-tax-grid,
  body .tax-grid-wrapper,
  body .tax-grid,
  body .archive-grid,
  body .posts-grid,
  body .mc-posts-grid,
  body .hub-bento.hub-bento-3col,
  body div.core-taxonomies + div,
  body section:has(.core-taxonomies) .grid,
  body .entry-content > div:has(.tax-card),
  body .archive-grid-custom {
    grid-template-columns: 1fr !important;
  }
}

/* Individual knowledge card styling — pristine #FFFFFF surface */
body .hub-bento__card.hub-bento__card--2x2,
body .tax-card,
body .knowledge-card,
body .hub-bento__card {
  background: #FFFFFF !important;
  border: 1px solid rgba(197, 161, 90, 0.35) !important;
  border-radius: 18px !important;
  padding: 1.75rem !important;
  box-shadow: none !important;
  transition: transform .2s ease, border-color .2s ease;
}
body .hub-bento__card.hub-bento__card--2x2:hover,
body .tax-card:hover,
body .knowledge-card:hover,
body .hub-bento__card:hover {
  transform: translateY(-4px);
  border-color: rgba(197, 161, 90, 0.55) !important;
  box-shadow: 0 22px 46px rgba(23, 61, 43, 0.12) !important;
}
body .hub-bento__code,
body .tax-card .icon-box,
body .knowledge-card .icon-box,
body .hub-bento__card .hub-bento__code {
  background: #EBF3EE !important;
}
body .hub-bento__card--2x2 .post-foot.hub-bento__foot,
body .hub-bento__foot,
body .tax-card .foot-link,
body .knowledge-card .foot-link,
body .archive-open-link {
  color: #276A47 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
body .hub-bento__card--2x2 .post-foot.hub-bento__foot:hover,
body .hub-bento__foot:hover,
body .tax-card .foot-link:hover,
body .knowledge-card .foot-link:hover,
body .archive-open-link:hover {
  color: #C5A15A !important;
}

/* --- Task 2: interactive filter bar + protocol grid --- */
.hub-filter {
  display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
  padding-bottom: var(--s4); border-bottom: 1px solid var(--sand);
}
.hub-filter__pill {
  cursor: pointer; border: 1px solid var(--sand);
  font-family: var(--font-sans); font-size: 0.8125rem; font-weight: 600;
  letter-spacing: 0.01em; text-transform: capitalize;
  padding: 0.45rem 0.95rem; border-radius: 999px;
  background: #F2ECE1; color: #173D2B;
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .12s ease;
}
.hub-filter__pill:hover { border-color: var(--terracotta); background: var(--cream); color: var(--terracotta-ink); }
.hub-filter__pill:focus-visible { outline: 2px solid var(--terracotta); outline-offset: 2px; }
.hub-filter__pill:active { transform: scale(.97); }
.hub-filter__pill.is-active {
  background: #8F4527; border-color: #8F4527; color: #F3E9D8;
}
.hub-filter__pill.is-active:hover { background: #7A5A1F; border-color: #7A5A1F; color: #F3E9D8; }
.hub-filter__count {
  margin-left: auto; color: var(--ink-3); white-space: nowrap;
  font-size: .68rem; letter-spacing: .04em;
}
.hub-grid-list { margin-top: var(--s5); }
.hub-grid-list .post-card {
  display: flex; flex-direction: column; height: 100%;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.hub-grid-list .post-card:hover {
  transform: translateY(-4px);
  border-color: var(--terracotta);
  box-shadow: 0 18px 40px rgba(26,46,32,.14);
}
.hub-grid-list .post-card:hover .post-title a { color: var(--terracotta-ink); }
.hub-grid-list .post-card .post-foot { color: var(--ink-2); transition: color .18s ease, gap .18s ease; }
.hub-grid-list .post-card:hover .post-foot { color: var(--terracotta); gap: .7rem; }
.hub-grid-list .post-card:hover .post-foot .ic { color: var(--terracotta); }
.hub-grid-list .post-card[hidden] { display: none !important; }
/* --- Item 5: featured-image thumb on curated guide cards --- */
.hub-grid-list .post-card-thumb {
  display: block; position: relative;
  aspect-ratio: 16 / 9; width: 100%; overflow: hidden;
  border-radius: 10px; margin-bottom: 1rem; background: #173D2B;
}
.hub-grid-list .post-card-thumb img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.hub-grid-list .post-card:hover .post-card-thumb img { transform: scale(1.05); }
.hub-grid-list .post-card-thumb .post-card-rt {
  position: absolute; right: .6rem; bottom: .6rem;
  background: rgba(15,20,16,.82); color: #FFFFFF;
  font-family: var(--font-mono); font-size: .62rem; letter-spacing: .04em;
  padding: .2rem .5rem; border-radius: 999px;
}
@media (prefers-reduced-motion: reduce) {
  .hub-grid-list .post-card-thumb img,
  .hub-grid-list .post-card:hover .post-card-thumb img { transition: none; transform: none; }
}
.hub-grid-empty {
  text-align: center; color: var(--ink-3); margin: var(--s5) 0 0;
}
.hub-grid-empty strong { color: var(--ink); }

/* --- Load More pager --- */
.hub-load-wrap {
  display: flex; flex-direction: column; align-items: center; gap: var(--s3);
  margin-top: var(--s6);
}
.hub-load[hidden] { display: none !important; }
.hub-load { gap: .5rem; }
.hub-load[disabled] { opacity: .55; cursor: default; }
.hub-load__more { font-size: .64rem; letter-spacing: .06em; opacity: .82; }
.hub-load__status {
  color: var(--ink-3); letter-spacing: .04em; min-height: 1em;
}

/* --- Task 3: Diagnostic Engine + FAQ harmonization --- */
#hub-suite.suite-band { border-radius: var(--r-lg); }
#hub-suite .telemetry-cell { border-radius: var(--r-md); }
#hub-suite .hub-suite-step { border-radius: var(--r-md); }
#hub-suite .formula-chip { border-radius: 999px; }
#hub-suite .btn-lg { border-radius: var(--r-md); }

/* ---- Item 1: Grow Lab computational suite — parallax band + true 2-col split ---- */
/* Outer engine band gets a verified non-cannabis CEA parallax background behind a
   deep forest-green gradient overlay; the 2-col split (.hub-panel-split) lives below. */
#hub-suite.suite-band {
  position: relative;
  overflow: hidden;
  background-color: #173D2B;
  background-image:
    linear-gradient(135deg, rgba(9, 18, 12, 0.88) 0%, rgba(13, 25, 16, 0.92) 100%),
    url("/wp-content/uploads/2025/08/indoor-vertical-farming-mistculture-bg.webp");
  background-attachment: fixed, fixed;
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
  padding-block: clamp(4rem, 7vw, 6rem);
}
#hub-suite.suite-band > .container { position: relative; z-index: 2; }
@media (max-width: 900px) {
  #hub-suite.suite-band { background-attachment: scroll, scroll; }
}
@media (prefers-reduced-motion: reduce) {
  #hub-suite.suite-band { background-attachment: scroll, scroll; }
}

/* FAQ accordion (inline styles in category.php mirror .about-faq;
   this hardens hover/focus + contrast for the hub context). */
#hub-faq-h2 + p { max-width: 44rem; }
.hub-tint .about-faq summary:focus-visible {
  outline: 2px solid var(--terracotta); outline-offset: -2px;
}
.hub-tint .about-faq details[open] summary .ic { color: var(--terracotta); }

/* --- Item 1: Telemetry HUD — Clean Cream surface, obsidian data grid --- */
.hub-hero-pod {
  display: flex; flex-direction: column; gap: var(--s4);
  background: #FFFFFF;
  border: 1px solid var(--sand);
  border-radius: var(--r-lg);
  box-shadow: 0 18px 44px rgba(23,61,43,.08);
  position: relative; overflow: hidden;
  padding: clamp(1.25rem,2.5vw,1.75rem);
}
.hub-hero-pod::before {
  content: ""; position: absolute; top: -6rem; right: -6rem;
  width: 18rem; height: 18rem; border-radius: 50%;
  background: rgba(185,111,82,.10); filter: blur(70px);
  pointer-events: none; z-index: 0;
}
.hub-hero-pod::after {
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(rgba(23,61,43,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,61,43,.035) 1px, transparent 1px);
  background-size: 28px 28px; pointer-events: none; z-index: 0;
  mask-image: radial-gradient(ellipse 90% 70% at 50% 0%, #000 0%, transparent 78%);
}
.hub-hero-pod > * { position: relative; z-index: 1; }
.hub-hero-pod .pod-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--s3); flex-wrap: wrap;
  padding-bottom: var(--s3); border-bottom: 1px solid rgba(23,61,43,.12);
}
.hub-hero-pod .pod-head .row-center {
  display: inline-flex; align-items: center; gap: .5rem; min-width: 0;
}
.hub-hero-pod .pod-head .ic { color: var(--terracotta); flex: none; }
.hub-hero-pod .pod-head b {
  font-family: var(--font-mono); font-size: .68rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: #111A13;
  line-height: 1.4;
}
.hub-hero-pod .chip.chip-sage {
  position: relative; padding-left: 1.35rem;
  background: rgba(185,111,82,.10); border: 1px solid rgba(185,111,82,.28);
  color: #B96F52;
}
.hub-hero-pod .chip.chip-sage .dot {
  position: absolute; left: .55rem; top: 50%; margin-top: -.21rem;
  width: .42rem; height: .42rem; border-radius: 50%;
  background: var(--terracotta); box-shadow: 0 0 0 3px rgba(185,111,82,.22);
  animation: pulse 1.6s ease infinite;
}
.hub-hero-pod .pod-cells {
  display: flex; flex-direction: column; gap: 0;
}
.hub-hero-pod .pod-cell {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: var(--s4); padding: var(--s3) 0;
  border-bottom: 1px dashed rgba(23,61,43,.12);
}
.hub-hero-pod .pod-cell:last-child { border-bottom: 0; }
.hub-hero-pod .pod-cell .label {
  font-family: var(--font-mono); font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: rgba(23,61,43,.56); white-space: nowrap;
  flex: none;
}
.hub-hero-pod .pod-cell b {
  font-family: var(--font-mono); font-size: .74rem; font-weight: 600;
  color: #111A13; text-align: right; line-height: 1.4; min-width: 0;
}
.hub-hero-pod .pod-cell b.is-warn { color: #B96F52; }
.hub-hero-pod .telemetry-ribbon {
  background: var(--sandstone); border: 1px solid rgba(23,61,43,.10);
  border-radius: var(--r-md); padding: var(--s3); overflow: hidden;
}
.hub-hero-pod .telemetry-grid { display: grid; gap: var(--s3); align-items: start; }
.hub-hero-pod .telemetry-cell {
  padding: var(--s3); border-radius: var(--r-md);
  background: #FFFFFF; border: 1px solid rgba(23,61,43,.12);
  display: flex; flex-direction: column; gap: .2rem;
}
.hub-hero-pod .telemetry-cell span {
  font-family: var(--font-mono); font-size: .58rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: rgba(23,61,43,.56);
}
.hub-hero-pod .telemetry-cell b {
  font-family: var(--font-mono); font-size: .9rem; font-weight: 700;
  color: #111A13; line-height: 1.2;
}

/* Pillar-hub FAQ reuses the About knowledge-base accordion (.about-faq);
   .hub-faq-acc is a semantic alias only — no extra rules needed. */

@media (max-width: 640px) {
  .hub-filter__count { margin-left: 0; width: 100%; }
  .hub-bento__card { padding: var(--s5); }
  .hub-hero-pod .pod-cell {
    flex-direction: column; align-items: flex-start; gap: .25rem;
  }
  .hub-hero-pod .pod-cell b { text-align: left; }
}

/* --- Item 2: 4 Foundational Pillars — 2x2 bento --- */
.hub-bento-2x2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

/* NOTE: .hub-bento-3col, .hub-bento__card--2x2, and related card styles are
   defined earlier in this file (ITEM 1 block, ~line 5030) with higher-specificity
   body-scoped selectors that override these legacy rules. */
.hub-bento__meta {
  display: flex; flex-direction: column; gap: .35rem;
  background: var(--sandstone); padding: .65rem .9rem; border-radius: 8px;
  font-family: var(--font-mono); font-size: .78rem;
  margin-bottom: var(--s5);
}
.hub-bento__meta span { color: var(--ink-2); line-height: 1.4; }
.hub-bento__meta i {
  font-style: normal; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: var(--ink-3);
}
.hub-bento__meta b { font-weight: 700; color: var(--forest); }
.hub-bento__card--2x2 .hub-bento__foot {
  padding-top: var(--s4); border-top: 1px solid var(--sand);
  justify-content: space-between; width: 100%;
}
.hub-bento__card--2x2:hover .hub-bento__foot { color: var(--terracotta); }

@media (max-width: 1024px) {
  .hub-bento-3col { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
}
@media (max-width: 640px) {
  .hub-bento-2x2 { grid-template-columns: 1fr; }
  .hub-bento-3col { grid-template-columns: 1fr; }
}

/* ---- Item 3: Hydro Doctor instrument panel ---- */
.hub-panel-head {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: var(--s5); flex-wrap: wrap; margin-bottom: var(--s6);
}
.hub-panel-head h2 { color: #fff; }
.hub-panel-split { display: grid; grid-template-columns: 1fr; gap: var(--s6); }
@media (min-width: 1024px) {
  .hub-panel-split { grid-template-columns: 1.1fr 0.9fr; align-items: start; }
}
.hub-panel-left { display: flex; flex-direction: column; gap: var(--s5); }
.hub-suite-steps { display: flex; flex-direction: column; gap: var(--s4); }
.hub-suite-step {
  background: rgba(255, 252, 245, 0.05);
  border: 1px solid rgba(255, 252, 245, 0.14);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  display: flex; align-items: flex-start; gap: var(--s4);
}
.hub-suite-step .num {
  flex: none;
  font-family: var(--font-mono); font-size: .68rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .08em;
  color: var(--terracotta); white-space: nowrap; padding-top: .15rem;
}
.hub-suite-step b { display: block; color: #FFFFFF; font-size: .95rem; margin-bottom: .35rem; }
.hub-suite-step i { display: block; font-style: normal; color: rgba(255, 252, 245, .62); font-size: .78rem; line-height: 1.6; }
.hub-terminal {
  background: #0B130E;
  border: 1px solid rgba(185, 111, 82, .35);
  border-radius: 16px;
  padding: 1.75rem;
  display: flex; flex-direction: column;
}
.hub-terminal__top {
  display: flex; align-items: center; justify-content: flex-end;
  margin-bottom: var(--s3);
}
.hub-terminal__engine {
  background: rgba(185, 111, 82, .12);
  border: 1px solid rgba(185, 111, 82, .35);
  color: #FFFFFF;
}
.hub-terminal__badges {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem; margin-bottom: var(--s4);
}
.hub-terminal__badges .telemetry-cell {
  background: rgba(255, 252, 245, .05);
  border: 1px solid rgba(255, 252, 245, .14);
}
.hub-terminal__badges .telemetry-cell span { color: rgba(255, 252, 245, .56); }
.hub-terminal__badges .telemetry-cell b { color: #FFFFFF; }
.hub-terminal__report p { color: rgba(255, 252, 245, .72); }
.hub-readout {
  display: flex; align-items: baseline; justify-content: space-between; gap: var(--s4);
  padding: .55rem 0; border-bottom: 1px dashed rgba(255, 252, 245, .12);
}
.hub-readout span {
  font-family: var(--font-mono); font-size: .6rem; text-transform: uppercase;
  letter-spacing: .08em; color: rgba(255, 252, 245, .5);
}
.hub-readout b { color: #FFFFFF; font-size: .78rem; text-align: right; }
.hub-terminal__note {
  color: rgba(255, 252, 245, .58); margin: var(--s4) 0 0;
  display: flex; align-items: center; gap: .4rem;
}
.hub-terminal__cta {
  margin-top: var(--s5); width: 100%; justify-content: center;
  background: #8F4527; color: #F3E9D8; border-color: #8F4527;
}
.hub-terminal__cta:hover { background: #7A5A1F; color: #F3E9D8; border-color: #7A5A1F; }

@media (max-width: 640px) {
  .hub-terminal__badges { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .hub-bento__card, .hub-bento__foot, .hub-filter__pill { transition: none; }
  .hub-bento__card:hover { transform: none; }
}

/* ==========================================================================
   GROW LAB CATALOG (/tools/) — `.gl-*` namespace
   Dark forest hero + cream telemetry console, featured VPD workspace,
   sticky directory toolbar, 2-column engine cards, local vault, hub grid.
   ========================================================================== */

.gl-page {
  background: #FFFFFF;
  overflow-x: clip;
}

.gl-container {
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 2rem);
}

.gl-page .ic { flex: none; }
.gl-page .ic-sm { width: 1rem; height: 1rem; }
.gl-page .ic-md { width: 1.25rem; height: 1.25rem; }
.gl-page .ic-lg { width: 2.25rem; height: 2.25rem; }

.gl-sr {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}

/* ---------- Hero ---------- */
.gl-hero {
  position: relative;
  overflow: hidden;
  color: #151816;
  border-bottom: 1px solid rgba(197, 161, 90, 0.38) !important;
  background:
    radial-gradient(circle at 10% 20%, rgba(197, 161, 90, 0.24) 0%, transparent 45%),
    radial-gradient(circle at 90% 80%, rgba(39, 106, 71, 0.16) 0%, transparent 50%),
    radial-gradient(circle at 50% 50%, rgba(244, 241, 232, 0.8) 0%, rgba(234, 228, 211, 0.95) 100%),
    linear-gradient(135deg, #F7F5EE 0%, #E8E1CD 100%) !important;
}

.gl-hero-grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .08;
  background-image:
    linear-gradient(rgba(197, 161, 90, .5) 1px, transparent 1px),
    linear-gradient(90deg, rgba(197, 161, 90, .5) 1px, transparent 1px);
  background-size: 36px 36px;
  -webkit-mask-image: radial-gradient(ellipse 90% 70% at 50% 20%, #000 20%, transparent 74%);
          mask-image: radial-gradient(ellipse 90% 70% at 50% 20%, #000 20%, transparent 74%);
}

.gl-hero-inner {
  position: relative;
  z-index: 2;
  padding-block: clamp(2rem, 4vw, 3rem) clamp(3.5rem, 6vw, 5.5rem);
}

.gl-crumb ol {
  display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
  list-style: none; margin: 0 0 1.25rem; padding: 0;
  font-family: var(--font-mono);
  font-size: .68rem; letter-spacing: .1em; text-transform: uppercase;
}
.gl-crumb a { color: #276A47; text-decoration: none; }
.gl-crumb a:hover { color: #B96F52; }
.gl-crumb li[aria-current="page"] { color: #173D2B; }
.gl-crumb-sep { color: rgba(23, 61, 43, 0.36); }

.gl-hero-split {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}

.gl-eyebrow {
  display: inline-flex; align-items: center; gap: .55rem;
  padding: .42rem .8rem;
  border: 1px solid rgba(255, 252, 245, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .07);
  font-family: var(--font-mono);
  font-size: .62rem; font-weight: 600;
  letter-spacing: .13em; text-transform: uppercase;
  color: #FFFFFF;
}
.gl-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--terracotta);
  box-shadow: 0 0 0 3px rgba(185, 111, 82, .22);
}

.gl-hero-title {
  margin: 1.1rem 0 0;
  font-family: var(--font-display, var(--font-sans));
  font-size: clamp(2rem, 1.2rem + 3vw, 3.35rem);
  line-height: 1.04;
  letter-spacing: -.025em;
  color: #FFFFFF;
  text-wrap: balance;
}
.gl-hero-accent { color: var(--terracotta); display: inline; }

.gl-hero-lede {
  max-width: 42rem;
  margin: 1.1rem 0 0;
  color: rgba(255, 252, 245, .82);
  font-size: 1rem;
  line-height: 1.7;
}

.gl-hero-actions {
  display: flex; flex-wrap: wrap; gap: .75rem;
  margin-top: 1.6rem;
}
.gl-hero-facts {
  display: flex; flex-wrap: wrap; gap: .55rem 1.25rem;
  margin: 1.6rem 0 0; padding: 0; list-style: none;
}
.gl-hero-facts li {
  display: inline-flex; align-items: center; gap: .38rem;
  font-family: var(--font-mono);
  font-size: .66rem; letter-spacing: .06em;
  color: rgba(255, 252, 245, .74);
}
.gl-hero-facts .ic { color: #B96F52; }

/* Buttons */
.gl-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-height: 44px;
  padding: .7rem 1.15rem;
  border: 1px solid transparent;
  border-radius: 10px;
  font-family: var(--font-sans);
  font-size: .84rem; font-weight: 700;
  letter-spacing: .005em;
  text-decoration: none;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.gl-btn--primary {
  background: var(--terracotta); color: #173D2B; border-color: var(--terracotta);
  box-shadow: 0 10px 24px rgba(185, 111, 82, .22);
}
.gl-btn--primary:hover { background: #B96F52; border-color: #B96F52; transform: translateY(-1px); }
.gl-btn--ghost {
  background: rgba(255, 255, 255, .07); color: #FFFFFF;
  border-color: rgba(255, 252, 245, .28);
}
.gl-btn--ghost:hover { background: rgba(255, 255, 255, .14); border-color: rgba(255, 252, 245, .5); }
.gl-btn--outline {
  background: transparent; color: var(--terracotta-ink);
  border-color: var(--sand);
}
.gl-btn--outline:hover { border-color: var(--terracotta); background: rgba(185, 111, 82, .06); }
.gl-btn--block { width: 100%; margin-top: var(--s4, 1rem); }
.gl-btn:focus-visible { outline: 2px solid #B96F52; outline-offset: 3px; }

/* Hero telemetry console */
.gl-hero-console {
  border: 1px solid var(--sand);
  border-radius: 18px;
  background: #FFFFFF;
  color: #111A13;
  padding: 1.25rem;
  box-shadow: 0 24px 56px rgba(0, 0, 0, .32), inset 0 1px 0 rgba(255, 255, 255, .8);
  align-self: start;
}
.gl-console-head {
  display: flex; align-items: center; justify-content: space-between; gap: .75rem;
  padding-bottom: .8rem; border-bottom: 1px solid rgba(23, 61, 43, .10);
}
.gl-live {
  display: inline-flex; align-items: center; gap: .45rem;
  font-family: var(--font-mono);
  font-size: .58rem; font-weight: 700; letter-spacing: .12em;
  color: #173D2B;
}
.gl-live-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--terracotta);
  box-shadow: 0 0 0 3px rgba(185, 111, 82, .18);
  animation: gl-pulse 1.8s ease-in-out infinite;
}
.gl-console-chip {
  padding: .2rem .45rem; border-radius: 6px;
  background: rgba(46, 107, 62, .10);
  color: #24603A;
  font-family: var(--font-mono);
  font-size: .55rem; font-weight: 700; letter-spacing: .06em;
}
.gl-console-vpd { padding: 1.05rem 0 .85rem; }
.gl-console-label {
  display: block;
  font-family: var(--font-mono);
  font-size: .56rem; letter-spacing: .1em;
  color: #5F6E57;
}
.gl-console-value { display: flex; align-items: baseline; gap: .4rem; margin-top: .2rem; }
.gl-console-value strong {
  font-family: var(--font-display, var(--font-sans));
  font-size: 2.6rem; line-height: 1; letter-spacing: -.03em;
  color: #173D2B;
}
.gl-console-unit { font-family: var(--font-mono); font-size: .8rem; color: #5F6E57; }
.gl-console-status {
  display: inline-block; margin-top: .45rem;
  padding: .18rem .5rem; border-radius: 999px;
  background: rgba(107, 168, 68, .18);
  color: #24603A;
  font-family: var(--font-mono); font-size: .58rem; font-weight: 700;
  letter-spacing: .04em;
}
.gl-console-rows { list-style: none; margin: 0; padding: .2rem 0 0; }
.gl-console-rows li {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .52rem 0;
  border-bottom: 1px dashed rgba(23, 61, 43, .12);
  font-size: .78rem;
}
.gl-console-rows li span { color: #5F6E57; }
.gl-console-rows li b { font-family: var(--font-mono); font-size: .7rem; color: #173D2B; }
.gl-console-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  margin-top: .8rem;
  font-family: var(--font-mono); font-size: .55rem;
  letter-spacing: .06em; text-transform: uppercase;
  color: #5F6E57;
}
.gl-console-vault { display: inline-flex; align-items: center; gap: .3rem; color: #24603A; }

@keyframes gl-pulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(185, 111, 82, .18); }
  50% { box-shadow: 0 0 0 6px rgba(185, 111, 82, .06); }
}

/* ---------- Section heads ---------- */
.gl-section-head { max-width: 46rem; }
.gl-section-head p { margin: .6rem 0 0; color: var(--ink-2, #4C5747); line-height: 1.68; }
.gl-section-head--split {
  max-width: none;
  display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem;
}
.gl-section-head--split > div { max-width: 46rem; }
.gl-kicker {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: .6rem; font-weight: 700;
  letter-spacing: .13em; text-transform: uppercase;
  color: var(--terracotta-ink);
}
.gl-kicker--light { color: #B96F52; }
.gl-section-head h2,
.gl-vault-head h2 {
  margin: .45rem 0 0;
  font-family: var(--font-display, var(--font-sans));
  font-size: clamp(1.55rem, 1.1rem + 1.3vw, 2.1rem);
  line-height: 1.14;
  letter-spacing: -.02em;
  color: var(--ink, #173D2B);
}
.gl-text-link {
  display: inline-flex; align-items: center; gap: .4rem;
  flex: none;
  font-family: var(--font-mono);
  font-size: .66rem; font-weight: 700; letter-spacing: .05em;
  color: var(--terracotta-ink);
  text-decoration: none;
}
.gl-text-link:hover { color: #7F2408; }
.gl-text-link .ic { color: var(--terracotta); }

/* ---------- Featured VPD workspace ---------- */
.gl-feature {
  padding-block: clamp(3rem, 5vw, 4.5rem);
  background: #FFFFFF;
  scroll-margin-top: 90px;
}
.gl-feature .gl-section-head { margin-bottom: 1.5rem; }

.gl-feature-card {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  overflow: hidden;
  border: 1px solid #173D2B;
  border-radius: 20px;
  background: #FFFFFF;
  box-shadow: 0 24px 54px rgba(23, 61, 43, .09);
}
.gl-feature-controls { padding: clamp(1.5rem, 3vw, 2.25rem); }
.gl-control + .gl-control { margin-top: 1.15rem; }
.gl-control-head {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  margin-bottom: .35rem;
}
.gl-control-head label {
  font-family: var(--font-mono);
  font-size: .62rem; font-weight: 700; letter-spacing: .09em;
  color: #173D2B;
}
.gl-control-head output {
  font-family: var(--font-mono);
  font-size: .78rem; font-weight: 700;
  color: var(--terracotta-ink);
}
.gl-control input[type="range"] {
  -webkit-appearance: none; appearance: none;
  display: block; width: 100%; height: 22px;
  margin: 0; padding: 0;
  background: transparent;
  cursor: pointer;
}
.gl-control input[type="range"]::-webkit-slider-runnable-track {
  height: 6px; border-radius: 999px;
  background: linear-gradient(90deg, var(--terracotta) var(--gl-fill, 50%), var(--sand) var(--gl-fill, 50%));
}
.gl-control input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px; height: 20px; margin-top: -7px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 3px solid var(--terracotta);
  box-shadow: 0 2px 6px rgba(23, 61, 43, .2);
}
.gl-control input[type="range"]::-moz-range-track {
  height: 6px; border-radius: 999px; background: var(--sand);
}
.gl-control input[type="range"]::-moz-range-progress {
  height: 6px; border-radius: 999px; background: var(--terracotta);
}
.gl-control input[type="range"]::-moz-range-thumb {
  width: 16px; height: 16px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 3px solid var(--terracotta);
}
.gl-control input[type="range"]:focus-visible {
  outline: 2px solid var(--terracotta); outline-offset: 4px; border-radius: 8px;
}
.gl-control-scale {
  display: flex; justify-content: space-between;
  margin-top: .2rem;
  font-family: var(--font-mono); font-size: .55rem;
  color: #5F6E57;
}
.gl-formula-note {
  margin-top: 1.35rem;
  padding: .85rem .95rem;
  border: 1px solid var(--sand);
  border-radius: 10px;
  background: #F7F4EC;
  display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .75rem;
}
.gl-formula-note span {
  font-family: var(--font-mono);
  font-size: .55rem; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: #24603A;
}
.gl-formula-note code {
  flex: 1 1 15rem;
  font-family: var(--font-mono);
  font-size: .66rem; line-height: 1.5;
  color: #173D2B;
  word-break: break-word;
}
.gl-formula-note em {
  font-family: var(--font-mono); font-size: .56rem;
  font-style: normal; color: #5F6E57;
}

.gl-feature-readout {
  display: flex; flex-direction: column;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  background:
    radial-gradient(ellipse 320px 200px at 92% 0%, rgba(185, 111, 82, .16), transparent 70%),
    #173D2B;
  color: #FFFFFF;
}
.gl-readout-head {
  display: flex; align-items: center; justify-content: space-between; gap: .75rem;
}
.gl-readout-label {
  font-family: var(--font-mono);
  font-size: .57rem; font-weight: 700; letter-spacing: .11em;
  color: rgba(255, 252, 245, .62);
}
.gl-status {
  display: inline-flex; align-items: center;
  padding: .24rem .58rem;
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: .57rem; font-weight: 700; letter-spacing: .03em;
  white-space: nowrap;
}
.gl-tone--optimal { background: rgba(107, 168, 68, .2); color: #DDEBD3; }
.gl-tone--warn { background: rgba(240, 194, 74, .18); color: #F7D98E; }
.gl-tone--danger { background: rgba(185, 111, 82, .18); color: #C5A15A; }
.gl-readout-main { margin-top: 1.35rem; }
.gl-readout-value { display: flex; align-items: baseline; gap: .45rem; }
.gl-readout-value strong {
  font-family: var(--font-display, var(--font-sans));
  font-size: clamp(3rem, 2rem + 3vw, 4.4rem);
  line-height: .95; letter-spacing: -.04em;
  color: #B96F52;
}
.gl-readout-value span { font-family: var(--font-mono); font-size: .9rem; color: rgba(255, 252, 245, .7); }
.gl-readout-main p {
  margin: .55rem 0 0;
  color: rgba(255, 252, 245, .66);
  font-size: .82rem; line-height: 1.55;
}
.gl-readout-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: .75rem;
  margin-top: 1.2rem;
}
.gl-readout-grid > div {
  padding: .62rem .7rem;
  border: 1px solid rgba(255, 252, 245, .14);
  border-radius: 10px;
  background: rgba(255, 252, 245, .05);
}
.gl-readout-grid span {
  display: block;
  font-family: var(--font-mono);
  font-size: .53rem; letter-spacing: .09em;
  color: rgba(255, 252, 245, .52);
}
.gl-readout-grid b {
  display: block; margin-top: .2rem;
  font-family: var(--font-mono); font-size: .72rem;
  color: #FFFFFF;
}
.gl-vpd-meter {
  position: relative;
  height: 10px; margin-top: 1.35rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #B96F52 0%, #9A5A44 16%, #C5A15A 36%, var(--sage) 54%, #276A47 72%, #9A5A44 100%);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, .3);
}
.gl-vpd-marker {
  position: absolute; top: 50%; left: 40%;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 3px solid var(--terracotta);
  box-shadow: 0 0 0 3px rgba(0, 0, 0, .28);
  transform: translate(-50%, -50%);
  transition: left .18s ease;
}
.gl-meter-labels {
  display: flex; justify-content: space-between;
  margin-top: .3rem;
  font-family: var(--font-mono); font-size: .53rem;
  color: rgba(255, 252, 245, .48);
}
.gl-feature-actions {
  display: flex; flex-wrap: wrap; gap: .6rem;
  margin-top: auto; padding-top: 1.4rem;
}
.gl-feature-actions .gl-btn { flex: 1 1 10rem; }
.gl-save-state {
  margin: .65rem 0 0;
  font-family: var(--font-mono);
  font-size: .56rem; line-height: 1.5;
  color: rgba(255, 252, 245, .52);
}

/* ---------- Directory ---------- */
.gl-directory {
  background: #FFFFFF;
  border-top: 1px solid var(--sand);
  padding-top: clamp(3rem, 5vw, 4.5rem);
  scroll-margin-top: 90px;
}
.gl-directory .gl-section-head { margin-bottom: 1.75rem; }

.gl-toolbar {
  position: sticky;
  top: 68px;
  z-index: 40;
  border-block: 1px solid var(--sand);
  background: rgba(255, 252, 245, .94);
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
  box-shadow: 0 10px 26px rgba(23, 61, 43, .05);
}
.gl-toolbar-inner {
  display: flex; flex-wrap: wrap; align-items: center; gap: .65rem;
  padding-block: .65rem;
}
.gl-search {
  position: relative;
  display: flex; align-items: center; gap: .5rem;
  flex: 0 1 20rem;
  min-width: 0;
  min-height: 42px;
  padding: 0 .85rem;
  border: 1px solid var(--sand);
  border-radius: 10px;
  background: #FFFFFF;
}
.gl-search .ic { color: #6B7A63; }
.gl-search input {
  flex: 1 1 auto;
  min-width: 0;
  border: 0; outline: none; background: transparent;
  font-family: var(--font-sans);
  font-size: .82rem; color: var(--ink);
}
.gl-search input::placeholder { color: #7B8574; }
.gl-search:focus-within {
  border-color: var(--terracotta);
  box-shadow: 0 0 0 3px rgba(185, 111, 82, .18);
}
.gl-filter-scroll {
  position: relative;
  flex: 1 1 18rem;
  min-width: 0;
  max-width: 100%;
}
.gl-filter-scroll::after {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: 2.5rem;
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(to right, rgba(255, 252, 245, 0), rgba(255, 252, 245, .98));
}
.gl-filter-pills {
  display: flex;
  flex-wrap: nowrap;
  gap: .45rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-padding-inline: .5rem 3rem;
  padding-right: 2.75rem;
}
.gl-filter-pills::-webkit-scrollbar { display: none; }
.gl-pill {
  flex: 0 0 auto;
  min-height: 38px;
  padding: .42rem .85rem;
  border: 1px solid var(--sand);
  border-radius: 999px;
  background: #F2ECE1;
  color: #173D2B;
  font-family: var(--font-sans);
  font-size: .76rem; font-weight: 600; line-height: 1.2;
  cursor: pointer;
  transition: background .16s ease, color .16s ease, border-color .16s ease;
}
.gl-pill:hover { border-color: var(--terracotta); background: #FBEDE5; }
.gl-pill.is-active {
  background: var(--terracotta); border-color: var(--terracotta); color: #173D2B;
}
.gl-pill:focus-visible { outline: 2px solid var(--forest); outline-offset: -3px; }
.gl-result-count {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: .58rem; letter-spacing: .05em;
  color: #5F6E57; white-space: nowrap;
}

.gl-directory-body { padding-block: clamp(2rem, 4vw, 3rem) clamp(3rem, 5vw, 4.5rem); }

.gl-cat { scroll-margin-top: 170px; }
.gl-directory-body .gl-cat { margin-top: clamp(2.5rem, 4vw, 4rem) !important; }
.gl-cat-head {
  background: rgba(255, 252, 245, .04);
  border: 1px solid var(--sand);
  border-radius: 12px;
  padding: clamp(1.15rem, 1.6vw, 1.5rem) clamp(1.25rem, 2.4vw, 2rem);
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
}
.gl-cat-main { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.gl-cat-num {
  flex: none;
  display: grid; place-items: center;
  width: 46px; height: 46px;
  border-radius: 12px;
  background: #173D2B;
  color: #FFFFFF;
  font-family: var(--font-mono);
  font-size: .78rem; font-weight: 700;
}
.gl-cat-text h2 {
  margin: 0;
  font-family: var(--font-display, var(--font-sans));
  font-size: clamp(1.1rem, 1rem + .5vw, 1.32rem);
  line-height: 1.2;
  letter-spacing: -.015em;
  color: var(--ink);
}
.gl-cat-text p { margin: .28rem 0 0; color: #5F6E57; font-size: .84rem; line-height: 1.55; }
.gl-cat-meta { display: flex; align-items: center; gap: 1rem; flex: none; }
.gl-cat-count {
  padding: .28rem .55rem;
  border-radius: 999px;
  background: var(--sandstone);
  border: 1px solid var(--sand);
  font-family: var(--font-mono);
  font-size: .56rem; font-weight: 700; letter-spacing: .07em;
  color: #4C5747; white-space: nowrap;
}
.gl-cat-link {
  display: inline-flex; align-items: center; gap: .35rem;
  font-family: var(--font-mono);
  font-size: .63rem; font-weight: 700;
  color: var(--terracotta-ink);
  text-decoration: none;
}
.gl-cat-link:hover { color: #7F2408; }
.gl-cat-link .ic { color: var(--terracotta); }

.gl-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.gl-tool {
  display: flex; flex-direction: column;
  padding: 1.5rem;
  border: 1px solid var(--sand);
  border-radius: 14px;
  background: #FFFFFF;
  box-shadow: 0 6px 20px rgba(23, 61, 43, .04);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.gl-tool:hover {
  transform: translateY(-3px);
  border-color: rgba(185, 111, 82, .55);
  box-shadow: 0 18px 36px rgba(23, 61, 43, .10);
}
.gl-tool-top {
  display: flex; align-items: center; justify-content: space-between; gap: .75rem;
  margin-bottom: .95rem;
}
.gl-tool-ico {
  display: grid; place-items: center;
  width: 40px; height: 40px;
  border-radius: 10px;
  background: #EBF2EA;
  color: #24603A;
}
.gl-tool-id {
  font-family: var(--font-mono);
  font-size: .54rem; font-weight: 700; letter-spacing: .08em;
  color: #5F6E57;
}
.gl-tool-title {
  margin: 0;
  font-family: var(--font-display, var(--font-sans));
  font-size: 1.12rem; line-height: 1.26;
  letter-spacing: -.015em;
}
.gl-tool-title a { color: var(--ink); text-decoration: none; }
.gl-tool-title a:hover { color: var(--terracotta-ink); }
.gl-tool-desc {
  margin: .55rem 0 0;
  color: #4C5747;
  font-size: .84rem; line-height: 1.62;
}
.gl-tool-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: 1rem; }
.gl-tool-tags span {
  padding: .2rem .45rem;
  border: 1px solid var(--sand);
  border-radius: 5px;
  background: #F7F4EC;
  font-family: var(--font-mono);
  font-size: .52rem; letter-spacing: .05em;
  color: #4C5747;
}
.gl-tool-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  margin-top: auto; padding-top: 1rem;
  border-top: 1px solid rgba(226, 216, 197, .8);
}
.gl-tool-state {
  display: inline-flex; align-items: center; gap: .3rem;
  font-family: var(--font-mono);
  font-size: .55rem; letter-spacing: .04em;
  color: #5F6E57;
}
.gl-tool-state .ic { color: var(--sage-ink); }
.gl-tool-launch {
  display: inline-flex; align-items: center; gap: .35rem;
  font-family: var(--font-sans);
  font-size: .76rem; font-weight: 700;
  color: var(--terracotta-ink);
  text-decoration: none;
}
.gl-tool-launch .ic { color: var(--terracotta); transition: transform .18s ease; }
.gl-tool:hover .gl-tool-launch .ic { transform: translateX(2px); }

.gl-cat[hidden], .gl-tool[hidden], .gl-empty[hidden] { display: none !important; }

.gl-empty {
  padding: 3.5rem 1.5rem;
  border: 1px dashed #CFC5B2;
  border-radius: 16px;
  background: #F7F4EC;
  text-align: center;
  color: #4C5747;
}
.gl-empty .ic { color: var(--sage-ink); margin-bottom: .8rem; }
.gl-empty h3 { margin: 0; font-family: var(--font-display, var(--font-sans)); font-size: 1.2rem; color: var(--ink); }
.gl-empty p { margin: .45rem 0 1.1rem; font-size: .86rem; }

/* ---------- Vault ---------- */
.gl-vault {
  position: relative;
  overflow: hidden;
  margin-block: clamp(4rem, 7vw, 6rem) !important;
  padding-block: clamp(3rem, 6vw, 4.5rem);
  color: #FFFFFF;
  background:
    radial-gradient(ellipse 620px 360px at 92% -10%, rgba(185, 111, 82, .16), transparent 66%),
    radial-gradient(ellipse 560px 360px at 4% 110%, rgba(107,168,68,.10), transparent 70%),
    linear-gradient(135deg, #173D2B 0%, #101F1A 62%, #0A140B 100%);
}
.gl-vault::before {
  content: "";
  position: absolute; inset: 0;
  pointer-events: none;
  opacity: .06;
  background-image:
    linear-gradient(rgba(255, 255, 255, .5) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .5) 1px, transparent 1px);
  background-size: 32px 32px;
  -webkit-mask-image: radial-gradient(ellipse 88% 80% at 50% 40%, #000 20%, transparent 78%);
          mask-image: radial-gradient(ellipse 88% 80% at 50% 40%, #000 20%, transparent 78%);
}
.gl-vault > .gl-container { position: relative; z-index: 2; }
.gl-vault-head {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem;
  margin-bottom: 1.75rem;
}
.gl-vault-head > div:first-child { max-width: 46rem; }
.gl-vault-head h2 { color: #FFFFFF; }
.gl-vault-head p { margin: .6rem 0 0; color: rgba(255, 252, 245, .72); line-height: 1.68; }
.gl-vault-actions { display: flex; flex-wrap: wrap; gap: .6rem; flex: none; }
.gl-vault-actions .gl-btn { min-height: 40px; padding: .55rem .9rem; font-size: .76rem; }
.gl-vault-btn--export {
  background: rgba(255, 252, 245, .10);
  border-color: rgba(255, 252, 245, .42);
  color: #FFFFFF;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}
.gl-vault-btn--export:hover {
  background: rgba(255, 252, 245, .16);
  border-color: rgba(255, 252, 245, .62);
}
.gl-vault-btn--clear {
  background: transparent;
  border-color: rgba(255, 252, 245, .22);
  border-style: dashed;
  color: rgba(255, 252, 245, .58);
  font-weight: 600;
  box-shadow: none;
}
.gl-vault-btn--clear .ic { color: rgba(255, 252, 245, .42); }
.gl-vault-btn--clear:hover {
  background: rgba(185, 111, 82, .07);
  border-color: rgba(185, 111, 82, .38);
  color: rgba(255, 252, 245, .82);
}
.gl-vault-btn--clear:hover .ic { color: #B96F52; }

.gl-vault-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 1.25rem;
  align-items: start;
}
.gl-vault-card {
  border: 1px solid rgba(255, 252, 245, .13);
  border-radius: 16px;
  background: rgba(255, 252, 245, .05);
  padding: 1.4rem;
}
.gl-vault-card-head {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding-bottom: .8rem; margin-bottom: .9rem;
  border-bottom: 1px solid rgba(255, 252, 245, .10);
}
.gl-vault-title {
  font-family: var(--font-mono);
  font-size: .58rem; font-weight: 700; letter-spacing: .11em;
  color: rgba(255, 252, 245, .66);
}
.gl-badge {
  padding: .22rem .5rem;
  border-radius: 999px;
  background: rgba(185, 111, 82, .14);
  border: 1px solid rgba(185, 111, 82, .28);
  font-family: var(--font-mono);
  font-size: .52rem; font-weight: 700; letter-spacing: .05em;
  color: #C5A15A; white-space: nowrap;
}
.gl-vault-ts { font-family: var(--font-mono); font-size: .55rem; color: rgba(255, 252, 245, .48); }
.gl-vault-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.gl-vault-tile {
  padding: .8rem .85rem;
  border: 1px solid rgba(255, 252, 245, .12);
  border-radius: 10px;
  background: rgba(255, 252, 245, .04);
}
.gl-vault-tile span {
  display: block;
  font-family: var(--font-mono);
  font-size: .52rem; letter-spacing: .08em;
  color: rgba(255, 252, 245, .5);
}
.gl-vault-tile b {
  display: block; margin-top: .25rem;
  font-family: var(--font-display, var(--font-sans));
  font-size: 1.35rem; line-height: 1.1; letter-spacing: -.02em;
  color: #FFFFFF;
}
.gl-vault-tile small { display: block; margin-top: .18rem; font-size: .58rem; color: rgba(255, 252, 245, .46); }
.gl-vault-note {
  display: flex; align-items: flex-start; gap: .5rem;
  margin: 1rem 0 0;
  font-size: .72rem; line-height: 1.6;
  color: rgba(255, 252, 245, .62);
}
.gl-vault-note .ic { color: #B96F52; margin-top: .1rem; }
.gl-check-list { list-style: none; margin: 0; padding: 0; }
.gl-check-list li {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .55rem 0;
  border-bottom: 1px dashed rgba(255, 252, 245, .12);
  font-size: .78rem;
}
.gl-check-list span { color: rgba(255, 252, 245, .64); }
.gl-check-list b { font-family: var(--font-mono); font-size: .66rem; color: #FFFFFF; text-align: right; }
.gl-check-list b.is-warn { color: #F7D98E; }

/* ---------- Knowledge Hub grid ---------- */
.gl-hubs {
  padding-block: clamp(1rem, 2vw, 1.5rem) clamp(4rem, 7vw, 6rem);
  margin-bottom: clamp(4rem, 7vw, 6rem) !important;
  background: #FFFFFF;
}
.gl-hubs .gl-section-head { margin-bottom: 1.75rem; }
.gl-hub-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.1rem;
}
.gl-hub-card {
  display: flex; flex-direction: column;
  padding: 1.35rem;
  border: 1px solid var(--sand);
  border-radius: 14px;
  background: #FFFFFF;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.gl-hub-card:hover {
  transform: translateY(-3px);
  border-color: rgba(185, 111, 82, .55);
  box-shadow: 0 16px 32px rgba(23, 61, 43, .09);
}
.gl-hub-ico {
  display: grid; place-items: center;
  width: 40px; height: 40px;
  border-radius: 10px;
  background: #EBF2EA;
  color: #24603A;
  margin-bottom: .8rem;
}
.gl-hub-card h3 {
  margin: 0;
  font-family: var(--font-display, var(--font-sans));
  font-size: 1.02rem; line-height: 1.3;
  color: var(--ink);
}
.gl-hub-card p { margin: .35rem 0 0; font-size: .8rem; line-height: 1.55; color: #5F6E57; }
.gl-hub-foot {
  display: inline-flex; align-items: center; gap: .35rem;
  margin-top: auto; padding-top: .9rem;
  font-family: var(--font-mono);
  font-size: .55rem; font-weight: 700; letter-spacing: .06em;
  color: var(--terracotta-ink);
}
.gl-hub-foot .ic { color: var(--terracotta); }

/* ---------- Toast ---------- */
.gl-toast {
  position: fixed;
  left: 50%; bottom: 1.25rem;
  z-index: 9999;
  max-width: min(92vw, 24rem);
  padding: .7rem 1rem;
  border-radius: 10px;
  background: #173D2B;
  color: #FFFFFF;
  border: 1px solid rgba(185, 111, 82, .45);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .32);
  font-family: var(--font-mono);
  font-size: .68rem; line-height: 1.5; text-align: center;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 12px);
  transition: opacity .2s ease, transform .2s ease;
}
.gl-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .gl-hero-split { grid-template-columns: 1fr; }
  .gl-hero-console { max-width: 34rem; }
  .gl-feature-card { grid-template-columns: 1fr; }
  .gl-feature-actions { padding-top: 1.5rem; }
  .gl-vault-grid { grid-template-columns: 1fr; }
  .gl-vault-head { align-items: flex-start; flex-direction: column; gap: 1.1rem; }
  .gl-hub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .gl-grid { grid-template-columns: 1fr; }
  .gl-toolbar { position: static; }
  .gl-cat { scroll-margin-top: 90px; }
  .gl-section-head--split { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .gl-readout-value strong { font-size: 3.2rem; }
}

@media (max-width: 720px) {
  .gl-cat-head { align-items: flex-start; flex-direction: column; gap: 1rem; padding: 1.1rem 1.25rem; }
  .gl-cat-meta { width: 100%; justify-content: space-between; }
  .gl-cat-main { align-items: flex-start; }
  .gl-hero-facts { gap: .45rem 1rem; }
  .gl-toolbar-inner { gap: .55rem; }
  .gl-search { flex-basis: 100%; }
  .gl-result-count { margin-left: 0; order: 3; }
  .gl-filter-scroll { order: 2; flex-basis: 100%; width: 100%; }
  .gl-vault-tiles { grid-template-columns: 1fr; }
  .gl-readout-grid { grid-template-columns: 1fr; }
  .gl-hub-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .gl-hero-actions { flex-direction: column; }
  .gl-hero-actions .gl-btn { width: 100%; }
  .gl-feature-actions { flex-direction: column; }
  .gl-feature-actions .gl-btn { flex: none; width: 100%; }
  .gl-vault-actions { width: 100%; flex-direction: column; }
  .gl-vault-actions .gl-btn { width: 100%; }
  .gl-console-value strong { font-size: 2.2rem; }
  .gl-hero-title { font-size: clamp(1.85rem, 1.2rem + 5vw, 2.4rem); }
}

@media (prefers-reduced-motion: reduce) {
  .gl-live-dot { animation: none; }
  .gl-btn, .gl-tool, .gl-hub-card, .gl-vpd-marker, .gl-toast, .gl-pill { transition: none; }
  .gl-btn:hover, .gl-tool:hover, .gl-hub-card:hover { transform: none; }
}

@media print {
  .gl-hero, .gl-feature, .gl-directory, .gl-hubs, .gl-toast { display: none !important; }
  .gl-vault { margin: 0 !important; color: #111; background: #fff; }
  .gl-vault-card { border-color: #ccc; background: #fff; }
  .gl-vault-title, .gl-vault-tile b, .gl-check-list b { color: #111; }
}
/* =========================================================================
   Unified hero system (2026-10-21)
   One signature dark-forest surface for every primary page hero.
   ========================================================================= */
.hero .site-breadcrumbs,
.hero .site-breadcrumbs a {
  color: rgba(255,255,255,.88);
}
.hero .site-breadcrumbs a:hover {
  color: #FFFFFF;
}
.hero .site-breadcrumbs .crumb-sep {
  color: rgba(255,255,255,.45);
}
.hero .site-breadcrumbs .crumb-cur[aria-current="page"] {
  color: var(--mc-terracotta);
}

/* Tool-domain suite hero — light parchment */
.domain-hero {
  padding-block: var(--mc-space-hero);
}
.domain-hero .hero-title {
  color: #173D2B;
}
.domain-hero .hero-lede {
  color: #3C473F;
}
.domain-hero .chip.chip-forest,
.domain-hero .chip.chip-terracotta {
  background: #FFFFFF; border: 1px solid rgba(197,161,90,0.28);
  color: #173D2B;
}
.domain-hero .chip.chip-terracotta {
  background: rgba(185,161,82,.12); border-color: rgba(197,161,90,0.35);
  color: #C5A15A;
}
.domain-hero .formula-chip {
  background: #FFFFFF; border: 1px solid rgba(197,161,90,0.28);
  color: #173D2B;
}
.domain-hero .btn-brand {
  background: #276A47; color: #FFFFFF;
}
.domain-hero .btn-brand:hover {
  background: #173D2B; color: #FFFFFF;
}
.domain-hero .btn-ghost {
  background: #FFFFFF; border: 1px solid rgba(197,161,90,0.28);
  color: #173D2B;
}
.domain-hero .btn-ghost:hover {
  background: var(--sandstone); color: #173D2B;
}
.domain-hero .domain-guarantees {
  background: #FFFFFF; border: 1px solid var(--mc-border);
  border-radius: var(--mc-radius-card);
  box-shadow: 0 22px 48px rgba(23,61,43,.10);
}
.domain-hero .domain-guarantees .label {
  color: var(--terracotta-ink);
}
.domain-hero .guarantee-cell span {
  color: var(--ink-3);
}
.domain-hero .guarantee-cell b {
  color: var(--mc-obsidian);
}
.domain-hero .telemetry-ribbon {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
  padding: 1rem 1.25rem;
  border-radius: 12px;
  background: var(--sandstone);
  border: 1px solid var(--sand);
}
.domain-hero .telemetry-live {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--mc-font-mono);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #C5A15A;
}
.domain-hero .telemetry-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
}
.domain-hero .telemetry-cell {
  display: flex;
  flex-direction: column;
  gap: .15rem;
}
.domain-hero .telemetry-cell span {
  font-family: var(--mc-font-mono);
  font-size: .6rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-3);
}
.domain-hero .telemetry-cell b {
  font-family: var(--mc-font-mono);
  font-size: .82rem;
  font-weight: 700;
  color: var(--ink);
}
.domain-hero .pillar-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1.25rem;
}
.domain-hero .pillar-chip {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .42rem .8rem;
  border-radius: var(--r-pill);
  background: #FFFFFF;
  border: 1px solid rgba(197,161,90,0.28);
  color: #173D2B;
  font-size: .76rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.domain-hero .pillar-chip:hover {
  background: var(--forest); border-color: var(--forest); color: #FFFFFF;
}
.domain-hero .pillar-chip.is-active {
  background: var(--terracotta); border-color: var(--terracotta); color: #fff;
}
.domain-hero .pillar-chip .n {
  font-family: var(--mc-font-mono);
  font-size: .68rem;
  color: #173D2B;
}

/* Calculator hero */
body .mc-v3 .mc-hero {
  color: #151816 !important;
}
body .mc-v3 .mc-hero .mc-title {
  color: #FFFFFF !important;
  text-shadow: 0 2px 20px rgba(0,0,0,.18);
}
body .mc-v3 .mc-hero .mc-subtitle {
  color: #B96F52 !important;
}
body .mc-v3 .mc-hero .mc-hero-desc {
  color: rgba(255,255,255,.82) !important;
}
body .mc-v3 .mc-hero a.bg-brand-forest {
  background: var(--mc-terracotta) !important;
  color: #173D2B !important;
}
body .mc-v3 .mc-hero a.bg-brand-forest:hover {
  background: #B96F52 !important;
  color: #173D2B !important;
}
body .mc-v3 .mc-hero .bg-white {
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.24) !important;
  color: #FFFFFF !important;
}
body .mc-v3 .mc-hero .text-brand-muted:not(.mc-hero-desc) {
  color: rgba(255,255,255,.70) !important;
}
body .mc-v3 .mc-hero .mc-toolbar [data-action] {
  border-color: rgba(255,255,255,.24) !important;
}
body .mc-v3 .mc-hero .mc-toolbar [data-action="save-grow-toolbar"] {
  background: var(--mc-terracotta) !important;
  color: #173D2B !important;
}
body .mc-v3 .mc-hero .mc-toolbar [data-action="save-grow-toolbar"]:hover {
  background: #B96F52 !important;
}
body .mc-v3 .mc-hero .mc-toolbar [data-action]:not([data-action="save-grow-toolbar"]) {
  background: rgba(255,255,255,.08) !important;
  color: #FFFFFF !important;
}
body .mc-v3 .mc-hero .mc-toolbar [data-action]:not([data-action="save-grow-toolbar"]):hover {
  background: rgba(255,255,255,.16) !important;
}
body .mc-v3 .mc-hero .mc-toolbar [data-action] span,
body .mc-v3 .mc-hero .mc-toolbar [data-action] .mc-ico {
  color: inherit !important;
}

/* Editorial article hero — governed by universal component */
.mc-single-hero {
  position: relative;
  overflow: hidden;
  border-bottom: none !important;
}
.mc-single-hero::before {
  content: none !important;
}
.mc-single-hero > div {
  position: relative;
  z-index: 1;
}
.mc-single-hero .mc-single-title {
  color: #FFFFFF !important;
  text-shadow: 0 2px 22px rgba(0,0,0,.20);
}
.mc-single-hero .mc-single-excerpt {
  color: rgba(255,255,255,.82) !important;
}
.mc-single-hero .mc-single-breadcrumb {
  color: rgba(255,255,255,.68);
  border-bottom-color: rgba(255,255,255,.16) !important;
}
.mc-single-hero .mc-single-breadcrumb a,
.mc-single-hero .mc-single-breadcrumb .text-primary {
  color: #FFFFFF !important;
}
.mc-single-hero .mc-single-breadcrumb a:hover {
  color: #B96F52 !important;
}
.mc-single-hero .mc-single-breadcrumb .text-primary.font-bold {
  color: #C5A15A !important;
}
.mc-single-hero .mc-single-breadcrumb .opacity-40 {
  color: rgba(255,255,255,.38);
}
.mc-single-hero .mc-single-chips .bg-primary {
  background: var(--mc-terracotta) !important;
  color: #173D2B !important;
}
.mc-single-hero .mc-single-chips .bg-sand-card {
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.24) !important;
  color: #FFFFFF !important;
}
.mc-single-hero .mc-single-chips .bg-sage-mist {
  background: rgba(46,107,62,.26) !important;
  border-color: rgba(107,168,68,.36) !important;
  color: #EAF4E6 !important;
}
.mc-single-hero .mc-single-breadcrumb .bg-sage-mist {
  background: rgba(46,107,62,.26);
  border-color: rgba(107,168,68,.36);
  color: #EAF4E6;
}
.mc-single-hero .mc-single-breadcrumb .bg-white {
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.24);
  color: rgba(255,255,255,.82);
}
.mc-single-hero .mc-single-author-card {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.22) !important;
  color: rgba(255,255,255,.78);
}
.mc-single-hero .mc-single-author-card .text-primary {
  color: #FFFFFF !important;
}
.mc-single-hero .mc-single-author-card .text-text-secondary {
  color: rgba(255,255,255,.62) !important;
}
.mc-single-hero .mc-single-meta {
  color: rgba(255,255,255,.72) !important;
}
.mc-single-hero .mc-single-meta .text-primary,
.mc-single-hero .mc-single-meta .text-secondary {
  color: rgba(255,255,255,.82) !important;
}
.mc-single-hero .mc-single-actions button:not(#mc-guide-save) {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.24) !important;
  color: #FFFFFF !important;
}
.mc-single-hero .mc-single-actions button:not(#mc-guide-save):hover {
  background: rgba(255,255,255,.16) !important;
}
.mc-single-hero #mc-guide-save {
  background: var(--mc-terracotta) !important;
  color: #173D2B !important;
}
.mc-single-hero #mc-guide-save:hover {
  background: #B96F52 !important;
  color: #173D2B !important;
}
.mc-single-hero .mc-single-visual {
  border-color: rgba(255,255,255,.22) !important;
  background: #173D2B !important;
  box-shadow: 0 28px 60px rgba(0,0,0,.32) !important;
}
.mc-single-hero .mc-single-visual + div {
  color: rgba(255,255,255,.66);
}
.mc-single-hero .mc-single-visual + div .text-primary {
  color: #C5A15A !important;
}

@media (max-width: 900px) {
  .domain-hero .telemetry-ribbon { align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .mc-single-hero::before { opacity: .7; }
}
/* --- Grow Room signature hero card + Author hero card (2026-10) --- */
.gr-hero-card,
.mc-author-hero-card{
  display:flex; flex-direction:column; gap:.85rem;
}
.gr-hero-row,
.mc-author-hero-stat{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:1rem; padding:.7rem 0;
  border-bottom:1px dashed rgba(26,46,32,.16);
}
.gr-hero-row:last-of-type,
.mc-author-hero-stat:last-of-type{border-bottom:0;}
.gr-hero-row span,
.mc-author-hero-stat span{
  font-family:var(--font-mono,"JetBrains Mono",monospace);
  font-size:.66rem; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; color:#6B6152;
}
.gr-hero-row b,
.mc-author-hero-stat b{
  font-family:var(--font-sans,"Outfit",system-ui,sans-serif);
  font-size:.95rem; font-weight:700; color:#173D2B; text-align:right;
}
.gr-hero-note{
  margin:.35rem 0 0; padding-top:.85rem;
  border-top:1px solid rgba(26,46,32,.12);
  font-size:.72rem; line-height:1.6; color:#5F6E57;
}
.mc-author-hero-card .mc-author-hero-id{
  display:flex; align-items:center; gap:.9rem; padding-bottom:.9rem;
  border-bottom:1px solid rgba(26,46,32,.12);
}
.mc-author-hero-card .mc-author-hero-id img{
  width:64px; height:64px; border-radius:12px; object-fit:cover;
  border:1px solid rgba(26,46,32,.14); flex:none;
}
.mc-author-hero-card .mc-author-hero-id strong{
  display:block; font-family:var(--font-sans,"Outfit",system-ui,sans-serif);
  font-size:1rem; line-height:1.25; color:#173D2B;
}
.mc-author-hero-card .mc-author-hero-id small{
  display:block; margin-top:.2rem;
  font-family:var(--font-mono,"JetBrains Mono",monospace);
  font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; color:#6B6152;
}
.mc-author-hero-links{
  display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.9rem;
}
.mc-author-hero-links a{
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.4rem .7rem; border-radius:999px;
  border:1px solid rgba(26,46,32,.16); background:rgba(26,46,32,.04);
  font-family:var(--font-mono,"JetBrains Mono",monospace);
  font-size:.62rem; letter-spacing:.05em; color:#173D2B; text-decoration:none;
  transition:background .15s ease, border-color .15s ease;
}
.mc-author-hero-links a:hover{background:rgba(185,111,82,.12); border-color:rgba(185,111,82,.5);}
.mc-author-hero .hero-title{max-width:20ch;}
@media (max-width:1024px){
  .mc-author-hero .hero-title{max-width:none;}
}
@media (prefers-reduced-motion: reduce){
  .mc-author-hero-links a{transition:none;}
}

/* =========================================================================
   Tool Domain Pillar Hubs — /tools/{domain}/ (2026-10-23)
   Components: simulator console, SOP timeline, benchmark matrix, FAQ,
   vault dual-tab, research library thumb, engine catalog bento.
   ========================================================================= */

/* ---------------------------------------------------------------- Simulator console */
.simulator-console { padding-top: clamp(3rem, 6vw, 4.5rem); padding-bottom: clamp(3rem, 6vw, 4.5rem); }
.console-layout { display: grid; grid-template-columns: 1fr; gap: var(--s6); }
@media (min-width: 900px) { .console-layout { grid-template-columns: 1fr 1fr; } }
.control-group { display: flex; flex-direction: column; gap: var(--s4); }
.control-row { display: flex; flex-direction: column; gap: .5rem; }
.control-label { display: flex; justify-content: space-between; gap: .5rem; }
.control-unit { flex: none; }
.control-slider { width: 100%; height: 6px; border-radius: var(--r-pill); background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); appearance: none; accent-color: var(--terracotta); }
.control-slider::-webkit-slider-thumb { appearance: none; width: 16px; height: 16px; border-radius: 50%; background: var(--terracotta); border: 2px solid #fff; cursor: pointer; }
.control-slider::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: var(--terracotta); border: 2px solid #fff; cursor: pointer; }
.console-output { background: var(--noir); border: 1px solid rgba(255,255,255,.10); border-radius: var(--r-lg); padding: var(--s5); color: #fff; }
.console-header { margin-bottom: var(--s4); }
.console-status { font-family: var(--font-mono); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: var(--lime); }
.console-value { display: flex; align-items: baseline; gap: .35rem; margin-bottom: var(--s4); }
.console-value #console-result-val { font-family: var(--font-display); font-size: clamp(2.2rem, 6vw, 3.5rem); font-weight: 800; color: var(--lime); letter-spacing: -.03em; }
.console-value #console-result-unit { font-family: var(--font-mono); font-size: 1rem; color: rgba(255,255,255,.6); }
.console-formula { border-top: 1px solid rgba(255,255,255,.1); padding-top: var(--s4); }

/* ---------------------------------------------------------------- SOP timeline */
.sop-timeline { display: flex; flex-direction: column; gap: var(--s5); }
.sop-stage { border: 1px solid rgba(255,255,255,.14); border-radius: var(--r-lg); padding: var(--s4); background: rgba(255,255,255,.03); }
.sop-stage.is-active { border-color: var(--terracotta); background: rgba(185,111,82,.06); box-shadow: 0 10px 30px -10px rgba(185,111,82,.25); }
.sop-stage-head { margin-bottom: var(--s3); }
.sop-stage-tol { font-size: .6rem; }
.sop-stage-body { border-top: 1px solid rgba(255,255,255,.1); }

/* ---------------------------------------------------------------- Benchmark matrix */
.benchmark-table-wrap {
  overflow-x: auto;
  margin-top: 1.25rem;
  background: #FFFFFF;
  border: 1px solid var(--sand);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(23, 61, 43, 0.04);
}
.benchmark-table { width: 100%; border-collapse: collapse; font-family: var(--font-body); font-size: .82rem; }
.benchmark-table th {
  text-align: left;
  padding: 1rem 1.25rem;
  background: #173D2B !important;
  color: #FFFFFF !important;
  border-bottom: none;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-family: var(--font-mono);
  font-weight: 700;
  white-space: nowrap;
}
.benchmark-table td { padding: .9rem 1.25rem; border-bottom: 1px solid #E6E0D3; }
.benchmark-table tbody tr:last-child td { border-bottom: none; }
.benchmark-table tr:hover { background: var(--sandstone); }
.benchmark-row--is-optimal { background: rgba(46,107,62,.08); }
.benchmark-row--is-lockout { background: rgba(185,111,82,.08); }
.benchmark-table tr.benchmark-row--is-optimal td { background: rgba(46,107,62,.08); color: #4A554C; }
.benchmark-table tr.benchmark-row--is-lockout td { background: rgba(185,111,82,.08); color: #4A554C; }
.benchmark-flag { display: inline-flex; align-items: center; gap: .3rem; font-family: var(--font-mono); font-size: .62rem; font-weight: 700; border-radius: var(--r-pill); padding: .2rem .55rem; color: var(--ink-2); }
.benchmark-flag--is-optimal { background: rgba(39,106,71,.12); border: 1px solid rgba(39,106,71,.25); color: #173D2B; }
.benchmark-flag--is-lockout { background: rgba(185,111,82,.12); border: 1px solid rgba(185,111,82,.25); color: #8A3F28; }

/* ---------------------------------------------------------------- FAQ */
.faq-grid { display: flex; flex-direction: column; gap: .75rem; margin-top: var(--s4); }
.faq-item { border: 1px solid var(--sand); border-radius: var(--r-lg); overflow: hidden; }
.faq-item summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: .75rem; padding: 1rem 1.25rem; background: var(--white); font-family: var(--font-display); font-weight: 600; color: var(--forest); transition: background .15s ease, border-color .15s ease; }
.faq-item summary:hover { background: var(--sandstone); border-color: var(--terracotta-ink); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item[open] { border-color: var(--forest); }
.faq-item[open] summary { background: linear-gradient(135deg, #24351F 0%, #173D2B 100%); color: #FFFFFF; border-bottom: 1px solid rgba(255,255,255,.08); }
.faq-item[open] .faq-q { color: #FFFFFF; }
.faq-item[open] .faq-cat { background: rgba(185,111,82,.25); color: #FFFFFF; border-color: #B96F52; }
.faq-item[open] .faq-chevron svg { transform: rotate(180deg); }
.faq-a { padding: 1rem 1.25rem; border-top: 1px solid rgba(255,255,255,.1); }
.faq-item[open] .faq-a { background: rgba(255,255,255,.04); }
.faq-cat { flex: none; }

/* ---------------------------------------------------------------- Vault tabs */
.vault-tabs { margin-left: auto; gap: 0; }
.vault-tab { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); color: var(--w-70); padding: .5rem 1rem; font-family: var(--font-mono); font-size: .66rem; font-weight: 700; cursor: pointer; border-radius: 0; }
.vault-tab:first-child { border-top-left-radius: var(--r-md); border-bottom-left-radius: var(--r-md); }
.vault-tab:last-child { border-top-right-radius: var(--r-md); border-bottom-right-radius: var(--r-md); border-right: 0; }
.vault-tab.is-active { background: var(--lime); color: var(--noir); border-color: var(--lime); }
.vault-tab:not(:last-child) { border-right: 1px solid rgba(255,255,255,.16); }
.hidden { display: none !important; }

/* =========================================================================
   Tool Domain Category Hubs — .tax-mistculture_tool_category (all 6 pillars)
   Scoped section spacing (kills the 160px+ dead whitespace), crisp section
   dividers / warm sand bands, the pillar suite switcher in the hero, and the
   rich engine-catalog bento cards.
   ========================================================================= */

/* Item 1: scoped section spacing on every .section of the tool hubs */
.tax-mistculture_tool_category .section {
  padding-block: clamp(2.5rem, 4vw, 3.5rem) !important;
}
/* Crisp divider where two light sections meet */
.tax-mistculture_tool_category .section + .section {
  border-top: 1px solid #E6E0D3;
}
/* Warm sand background bands on document-style sections */
.tax-mistculture_tool_category .section.section--sand {
  background: var(--sandstone);
}
/* Dark vault keeps its own treatment — no sand divider on top */
.tax-mistculture_tool_category .section.vault {
  border-top: 0;
}

/* Item 1: pillar suite switcher — active suite highlighted in var(--terracotta) */
.domain-hero .pillar-chip.is-active {
  background: var(--terracotta);
  border-color: var(--terracotta);
  color: #fff;
}

/* Item 2: engine catalog header — compact filter/search bar */
.domain-tools-head {
  display: flex; flex-wrap: wrap; align-items: center;
  justify-content: space-between; gap: var(--s4); margin-bottom: var(--s6);
}
.domain-tools-filters {
  display: flex; flex-wrap: wrap; align-items: center; gap: .35rem;
}
.domain-tools-pill {
  display: inline-flex; align-items: center; height: 30px; padding: 0 .75rem;
  border-radius: var(--r-pill); border: 1px solid var(--sand); background: #fff;
  font-family: var(--font-mono); font-size: .68rem; font-weight: 600;
  color: var(--ink-2); cursor: pointer; transition: all .15s;
}
.domain-tools-pill:hover { background: var(--sandstone); }
.domain-tools-pill.is-active {
  background: var(--terracotta-600); border-color: var(--terracotta-600); color: #fff;
}
.domain-tools-total {
  font-family: var(--font-mono); font-size: .68rem; font-weight: 700;
  color: var(--ink-3);
}

/* Item 2: engine grid — strictly 2 columns on the tool hubs */
#domain-tools .engine-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  width: 100%;
}
@media (max-width: 640px) {
  #domain-tools .engine-grid { grid-template-columns: 1fr !important; }
}

/* Item 2: rich SaaS-style engine bento cards — unified bento surface spec. */
.engine-card {
  display: flex; flex-direction: column; gap: .9rem;
  background: var(--mc-surface, #FFFFFF);
  border: 1px solid var(--mc-border-gold, rgba(197,161,90,0.28));
  border-radius: var(--mc-radius-card, 16px);
  padding: 1.6rem;
  box-shadow: 0 4px 20px rgba(17,26,19,0.04);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  text-decoration: none;
}
.engine-card:hover {
  border-color: #C5A15A; transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(17,26,19,0.04);
}
.engine-head {
  display: flex; align-items: center; justify-content: space-between; gap: var(--s4);
}
.engine-lead {
  display: flex; align-items: center; gap: .6rem;
}
.engine-ico-badge {
  width: 42px; height: 42px; border-radius: 10px;
  background: #EBF2EA; border: 1px solid rgba(46,107,62,0.2);
  color: #276A47; display: inline-flex; align-items: center; justify-content: center;
  flex: none; font-size: 1.15rem;
}
.engine-ico-badge svg { width: 20px; height: 20px; flex: none; }
.engine-id {
  background: var(--sandstone); border: 1px solid var(--sand); border-radius: 6px;
  padding: .2rem .55rem; font-family: var(--font-mono); font-size: .7rem;
  font-weight: 700; color: #173D2B;
}
.engine-status {
  background: rgba(34,197,94,0.12); color: #146B33;
  border: 1px solid rgba(34,197,94,0.3); border-radius: 999px;
  padding: .22rem .65rem; font-family: var(--font-mono); font-size: .65rem;
  font-weight: 700; white-space: nowrap;
}
.engine-name {
  font-family: var(--font-display); font-size: 1.25rem; line-height: 1.3; margin: 0;
  color: #111A13; font-weight: 800; letter-spacing: -.01em;
}
.engine-desc {
  margin: 0; font-size: .9rem; line-height: 1.55; color: #4A554C;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.engine-formula {
  font-family: var(--font-mono); font-size: .72rem; line-height: 1.5; color: #4A554C;
  background: var(--sandstone); border: 1px solid var(--sand); border-radius: 8px;
  padding: .6rem .8rem; overflow-x: auto;
}
.engine-foot {
  display: flex; align-items: center; justify-content: space-between; gap: var(--s4);
  margin-top: auto; padding-top: .4rem;
  border-top: 1px solid rgba(216,210,197,.4);
}
.engine-ver { font-family: var(--font-mono); font-size: .68rem; font-weight: 700; color: #173D2B; }
.engine-ver.is-live { color: #146B33; }
.engine-open {
  display: inline-flex; align-items: center; gap: .3rem;
  font-family: var(--font-mono); font-size: .68rem; font-weight: 700;
  color: var(--forest); text-decoration: none;
}
.engine-open:hover { color: var(--terracotta); text-decoration: underline; }
.engine-open .ic { width: .8em; height: .8em; }

/* ITEM 6 — Engine catalog card polish: Launch Engine pill + formula bar */
.engine-card .engine-open {
  background: #276A47 !important;
  color: #FFFFFF !important;
  border-radius: 999px !important;
  padding: 0.45rem 1rem !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
  font-family: var(--font-mono) !important;
  transition: background 0.18s ease, color 0.18s ease !important;
}
.engine-card:hover .engine-open {
  background: #C5A15A !important;
  color: #151816 !important;
}
.engine-card .engine-formula {
  background: #F5F2E8 !important;
  border: 1px solid rgba(197, 161, 90, 0.35) !important;
  border-left: 3px solid #276A47 !important;
  color: #173D2B !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  padding: 0.55rem 0.85rem !important;
  border-radius: 8px !important;
  font-family: var(--font-mono) !important;
}
/* =========================================================================
   Tool Domain Category Hubs — Item 1/2/4/5/6 completion (2026-10-23)
   Methodology card, research-library cards, engine footer flags, FAQ pills,
   responsive grids (replaces the inline grid styles), vault + hub-arch band.
   ========================================================================= */

/* Item 1 — compact methodology card at the head of the SOP section */
.domain-method-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem 2rem;
  background: #FFFFFF;
  border: 1px solid var(--sand);
  border-radius: 16px;
  padding: 1.5rem 1.75rem;
  box-shadow: 0 4px 16px rgba(23,61,43,.03);
  margin-bottom: clamp(2rem, 3.5vw, 2.75rem);
}
@media (min-width: 900px) { .domain-method-card { grid-template-columns: .85fr 1.15fr; } }
.domain-method-body {
  display: flex; flex-direction: column; gap: .75rem;
  color: var(--ink-2); font-size: .9rem; line-height: 1.7;
}
.domain-method-body p { margin: 0; }

/* Item 2 — research library cards */
.domain-lib-card {
  display: flex; flex-direction: column; height: 100%;
  background: #FFFFFF; border: 1px solid var(--sand); border-radius: 16px;
  padding: 1.1rem;
  box-shadow: 0 4px 16px rgba(23,61,43,.03);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.domain-lib-card:hover {
  border-color: var(--terracotta); transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(23,61,43,.08);
}
.domain-lib-card > a:first-child { flex: none; }
.domain-lib-card > a:first-child img { transition: transform .5s ease; }
.domain-lib-card:hover > a:first-child img { transform: scale(1.04); }
.domain-lib-card h3 a { text-decoration: none; }
.domain-lib-card h3 a:hover { color: var(--terracotta) !important; }
.domain-lib-card .post-foot {
  display: inline-flex; align-items: center; gap: .4rem;
  font-family: var(--font-mono); font-size: .68rem; font-weight: 700;
  color: var(--forest); text-decoration: none;
}
.domain-lib-card .post-foot:hover { color: var(--terracotta); }
.domain-lib-card .post-foot svg { width: 15px; height: 15px; flex: none; }
@media (prefers-reduced-motion: reduce) {
  .domain-lib-card, .domain-lib-card > a:first-child img { transition: none; }
  .domain-lib-card:hover, .domain-lib-card:hover > a:first-child img { transform: none; }
}

/* Item 4 — engine footer flags + launch CTA */
.engine-flags { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.engine-flag {
  font-family: var(--font-mono); font-size: .62rem; font-weight: 700; letter-spacing: .03em;
  color: #173D2B; background: var(--sandstone); border: 1px solid var(--sand);
  border-radius: 6px; padding: .18rem .5rem; white-space: nowrap;
}
.engine-card:hover .engine-flag { border-color: rgba(185,111,82,.35); }
.engine-card .engine-open { color: var(--terracotta-ink); }
.engine-card:hover .engine-open { text-decoration: underline; }

/* Item 5 — FAQ category pills */
.domain-faq-filters { display: flex; flex-wrap: wrap; gap: .4rem; }
.domain-faq-pill {
  font-family: var(--font-body); font-size: .78rem; font-weight: 600;
  color: #173D2B; background: var(--sandstone); border: 1px solid var(--sand);
  border-radius: 999px; padding: .4rem .9rem; cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.domain-faq-pill:hover { border-color: var(--terracotta); color: var(--terracotta-ink); }
.domain-faq-pill.is-active { background: var(--terracotta-600); border-color: var(--terracotta-600); color: #fff; }
.domain-faq-pill:focus-visible { outline: 2px solid var(--forest); outline-offset: 2px; }

/* Item 5 — FAQ accordion layout + chevron rotation */
.domain-faq-layout {
  display: grid; grid-template-columns: .85fr 1.15fr;
  gap: 3rem; align-items: start;
}
@media (max-width: 900px) {
  .domain-faq-layout { grid-template-columns: 1fr; gap: 1.75rem; }
}
#domain-faq details summary::-webkit-details-marker { display: none; }
#domain-faq details > summary > span:last-child { transition: transform .2s ease; }
#domain-faq details[open] > summary > span:last-child { transform: rotate(180deg); }
#domain-faq details:hover { border-color: var(--terracotta) !important; }
@media (prefers-reduced-motion: reduce) {
  #domain-faq details > summary > span:last-child { transition: none; }
}

/* Item 6 — vault cards align to their own content height */
.vault-grid { align-items: start; }

/* Item 6 — architecture band keeps the dark vignette overlay */
.hub-arch-section { position: relative; overflow: hidden; }

/* Responsive grids (inline styles removed from the template) */
.sop-timeline {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
}
@media (max-width: 900px) {
  .sop-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 560px) {
  .sop-timeline { grid-template-columns: 1fr !important; }
}
#domain-tools .engine-grid { width: 100%; }

/* Shared paper-and-botanical finish — preserve the existing type system. */
body {
  background-color: var(--cream);
  background-image:
    radial-gradient(ellipse at 14% 0%, rgba(197,161,90,.055), transparent 34%),
    radial-gradient(ellipse at 90% 12%, rgba(39,106,71,.035), transparent 28%);
}
h1, h2, h3, h4, h5, h6 { color: var(--forest-700); }
::selection { color: #fff; background: var(--forest); }

/* One editorial hero language for the site: warm paper, botanical geometry,
   compact spacing, and deep green copy. Technical tool/article heroes retain
   their purpose-built dark treatment. */
.hero::after,
.page-about .about-hero::after,
.page-faq .faq-hero::after,
.kh-hero::after,
.page-canvas > .hub-hero::after {
  content: ""; position: absolute; z-index: 0; pointer-events: none;
  right: 0; bottom: 0; width: clamp(11rem, 28vw, 25rem); height: 82%;
  background:
    url("../img/leaf-outline.svg") right 7% bottom 8% / auto 88% no-repeat,
    linear-gradient(153deg, transparent 0 47%, rgba(196,109,76,.95) 47.2% 57%, #1f6248 57.2% 100%);
  opacity: .78;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.hero::before,
.page-about .about-hero::before,
.page-faq .faq-hero::before,
.kh-hero::before,
.page-canvas > .hub-hero::before {
  background-image:
    linear-gradient(to right, rgba(103,83,48,.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(103,83,48,.035) 1px, transparent 1px),
    radial-gradient(ellipse 24rem 18rem at 82% 8%, rgba(39,106,71,.07), transparent 75%);
  background-size: 34px 34px, 34px 34px, auto;
  opacity: .72;
}
.page-about .about-hero,
.page-faq .faq-hero,
.kh-hero,
.page-canvas > .hub-hero {
  position: relative; isolation: isolate; overflow: hidden;
  background: var(--mc-paper-hero);
  border-bottom: 1px solid rgba(197,161,90,.38);
  padding-block: clamp(2.75rem, 4vw, 3.5rem);
}
.page-about .about-hero > .container,
.page-faq .faq-hero > .container,
.kh-hero > .container,
.page-canvas > .hub-hero > .container { position: relative; z-index: 1; }
.page-about .about-hero .crumb,
.page-about .about-hero .crumb-cur,
.page-about .about-hero .crumb-sep,
.page-faq .faq-hero .crumb,
.page-faq .faq-hero .crumb-cur,
.page-faq .faq-hero .crumb-sep,
.kh-hero .crumb,
.kh-hero .crumb-cur,
.kh-hero .crumb-sep,
.page-canvas > .hub-hero .site-breadcrumbs,
.page-canvas > .hub-hero .site-breadcrumbs a { color: var(--ink-2) !important; }
.page-about .about-hero .crumb a,
.page-faq .faq-hero .crumb a,
.kh-hero .crumb a { color: var(--forest) !important; }
.page-about .about-hero .hero-title,
.page-faq .faq-hero .hero-title,
.kh-hero .hero-title,
.page-canvas > .hub-hero .hero-title,
.kh-hero-title { color: #173D2B !important; }
.page-about .about-hero .hero-hl,
.page-faq .faq-hero .hero-hl,
.kh-hero .hero-hl,
.kh-hero-title .hero-hl { color: #C5A15A !important; }
.page-about .about-hero .hero-lede,
.page-faq .faq-hero .hero-lede,
.kh-hero .hero-lede,
.page-canvas > .hub-hero .hero-lede { color: #3C473F !important; font-size: 1.05rem !important; line-height: 1.7 !important; }
.kh-hero .hero-split { gap: clamp(1.75rem, 3vw, 2.5rem); }
.kh-hero-top { margin-bottom: var(--s4); }
.kh-hero .kh-topic-chip { color: var(--forest) !important; background: rgba(255,255,255,.68) !important; border-color: rgba(31,98,72,.18) !important; }
.kh-hero .kh-quick-label { color: var(--ink-2) !important; }
.page-faq .faq-hero .faq-quick-label,
.page-faq .faq-hero .faq-tools-link,
.page-faq .faq-hero .faq-tag-chip { color: var(--forest) !important; }
.page-faq .faq-hero .faq-tag-chip { background: rgba(255,255,255,.72) !important; border-color: rgba(31,98,72,.18) !important; }
.mc-srch-page,
main.mc-srch-page,
.mc-arch-page { background: var(--cream) !important; }
.mc-srch-crumb,
.mc-srch-crumb-cur,
.mc-srch-index-status,
.mc-arch-crumb,
.mc-arch-crumb-cur,
.mc-arch-index-status { color: var(--ink-2) !important; }
.mc-srch-crumb a,
.mc-arch-crumb a { color: var(--forest) !important; }
.mc-srch-chip,
.mc-arch-chip { color: var(--forest) !important; background: rgba(255,255,255,.72) !important; border-color: rgba(31,98,72,.18) !important; }
.mc-srch-pill { color: var(--forest) !important; background: rgba(255,255,255,.72) !important; border-color: rgba(31,98,72,.18) !important; }
.mc-srch-pill:hover { color: var(--forest-700) !important; background: var(--sandstone) !important; }
.mc-srch-toolbar,
.mc-arch-toolbar { border-color: rgba(31,98,72,.18) !important; }
.mc-srch-sort label,
.mc-arch-sort label { color: var(--ink-2) !important; }
.grow-room-section { padding-block: clamp(3rem, 5vw, 4.5rem); }
@media (max-width: 640px) {
  .hero::after,
  .page-about .about-hero::after,
  .page-faq .faq-hero::after,
  .kh-hero::after,
  .page-canvas > .hub-hero::after { width: 8rem; height: 40%; opacity: .42; }
  .hero::before,
  .page-about .about-hero::before,
  .page-faq .faq-hero::before,
  .kh-hero::before,
  .page-canvas > .hub-hero::before { opacity: .45; }
  .kh-hero .hero-split { gap: 1.5rem; }
}

/* Consent notice: keep the choice visible without covering the page controls. */
.consent-banner {
	position: fixed;
	z-index: 95;
	left: auto;
	right: 1rem;
	bottom: max(1rem, env(safe-area-inset-bottom));
	transform: none;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: .65rem;
	width: min(400px, calc(100vw - 2rem));
	max-width: 400px;
	border: 1px solid rgba(197,161,90,.42);
	border-radius: 1rem;
	background: linear-gradient(128deg, #123f30, #174b39 70%, #20583d);
	color: #fff;
	padding: .8rem 1rem;
	font-size: .75rem;
	line-height: 1.45;
	box-shadow: 0 14px 38px rgba(8,35,26,.24), 0 2px 8px rgba(8,35,26,.12);
}
.consent-banner > div:first-child { min-width: 0; }
.consent-banner > div:last-child {
	display: flex;
	align-items: center;
	gap: .5rem;
	flex: 0 0 auto;
	margin: 0 !important;
}
.consent-banner button {
	min-height: 42px;
	border-radius: 999px;
	padding-inline: .9rem;
	font-size: .72rem;
	font-weight: 700;
}
.consent-banner .btn-decline {
	margin: 0;
	border: 1px solid rgba(255,255,255,.28);
	color: var(--w-80);
}
.consent-banner .btn-accept { white-space: nowrap; }
@media (max-width: 640px) {
	.consent-banner {
		left: .75rem;
		right: .75rem;
		bottom: max(.75rem, env(safe-area-inset-bottom));
		transform: none;
		grid-template-columns: minmax(0, 1fr);
		gap: .65rem;
		width: auto;
		max-width: none;
		padding: .8rem .9rem;
	}
	.consent-banner > div:last-child { display: flex; flex-direction: row; gap: .6rem; }
	.consent-banner button { flex: 1 1 0; min-width: 0; min-height: 44px; }
	.contact-hero > .container > .row-between { align-items: flex-start; flex-direction: column; gap: .5rem; margin-bottom: 1rem !important; }
	.contact-hero .hero-meta { align-self: flex-start; white-space: normal; }
}

/* --------------------------------------------------------------------------
   Sitewide editorial refinement
   A restrained paper / forest / brass system, with useful content density,
   consistent page widths, and mobile-first tool and article layouts.
   ----------------------------------------------------------------------- */
:root {
	--gutter: clamp(1.125rem, 3.5vw, 2.25rem);
	--container: 1240px;
	--lp-gutter: clamp(1.125rem, 3vw, 2rem);
	--lp-gap: clamp(1rem, 1.8vw, 1.5rem);
	--shadow-3d: 0 8px 26px rgba(21,63,48,.065), 0 1px 2px rgba(21,63,48,.04);
}

body {
	background-color: var(--cream);
	background-image: radial-gradient(ellipse at 12% 0%, rgba(197,161,90,.035), transparent 32%);
}

.container { width: min(100%, var(--container)); }
.section { padding-block: clamp(2rem, 3vw, 2.75rem); }
.lp-sec { padding-block: clamp(2rem, 3vw, 2.75rem); }
.lp-sec > .container { padding-inline: var(--lp-gutter); }
.section-head { gap: 1rem 1.5rem; margin-bottom: clamp(1.25rem, 2.6vw, 2rem); }
.section-head > :first-child { min-width: min(100%, 30rem); }
.section-head p { max-width: 66ch; }

/* Responsive media overrides — duplicate .hero rules removed; unified component above governs all heroes */
.hero > .container > .row-between { margin-bottom: clamp(1rem, 1.8vw, 1.5rem) !important; }
.hero-split { gap: clamp(1.5rem, 3.5vw, 3.5rem); }
.hero-copy { min-width: 0; max-width: 42rem; }
.hero-title {
	max-width: 17ch;
	font-size: clamp(2.2rem, 4.25vw, 3.45rem);
	line-height: 1.06;
	letter-spacing: -.035em;
}
.hero-lede { max-width: 57ch; margin-bottom: 1.25rem; color: var(--ink-2); }
.hero-proof { gap: .65rem 1rem; margin-top: 1.125rem; }
.hero-proof-badge {
	background: rgba(255,255,255,.62);
	border-color: rgba(31,98,72,.14);
	padding: .38rem .72rem;
	font-size: .75rem;
}
.hero-footnote { font-family: var(--font-body); font-size: .75rem; }
.hero-viz {
	width: 100%;
	max-width: 34rem;
	justify-self: end;
	padding: clamp(1.15rem, 2vw, 1.65rem);
	border-color: rgba(31,98,72,.13);
	border-radius: 1.15rem;
	background: #fff;
	box-shadow: 0 20px 55px rgba(21,63,48,.10), 0 2px 8px rgba(21,63,48,.045);
}
.hero-leaf { display: none !important; }
.hero-viz-head { gap: .65rem; }
.hero-viz-head > .label { flex-wrap: wrap; gap: .35rem; }
.hero-widget-field { background: #FBFAF5; border-color: rgba(197,161,90,.25); }
.hero-widget-field label { align-items: stretch; flex-direction: column; gap: .55rem; }
.hero-widget-field label > span:first-child { white-space: normal; }
.hero-stepper { align-self: flex-start; }
.hero-step { width: 36px; height: 36px; }
.hero-step-val { height: 36px; }
.hero-step:first-child { border-right: 0; }
.hero-step:last-child { border-left: 0; }
.hero-widget-inputs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lp-metrics {
	max-width: 100%;
	padding: 0;
	gap: 0;
	background: rgba(255,255,255,.72);
	border: 1px solid rgba(197,161,90,.24);
	border-radius: 1rem;
	box-shadow: var(--shadow-3d);
	overflow: hidden;
}
.lp-metric + .lp-metric { border-left: 1px solid rgba(197,161,90,.22); }
.lp-metric { padding: 1.15rem .85rem; }
.lp-metric-label { letter-spacing: .09em; }
.lp-tool-head { justify-content: flex-start; align-items: center; gap: .85rem; }
.lp-tool-head .lp-tool-links { margin-top: .35rem; }
.hero-widget-results { background: #F5F2E7; border-color: rgba(197,161,90,.24); }

/* A compact, labeled sample dashboard replaces the oversized empty band. */
.lp-dash,
.grow-room-section {
	padding: clamp(2.5rem, 4.6vw, 3.75rem) 1.25rem;
	background: linear-gradient(135deg, #174A37 0%, #123B2D 58%, #153F30 100%);
	border-top-color: rgba(197,161,90,.28);
}
.lp-dash::before,
.grow-room-section::before {
	background-size: 42px 42px;
	opacity: .52;
	-webkit-mask-image: radial-gradient(ellipse 92% 90% at 50% 50%, #000 25%, transparent 100%);
	mask-image: radial-gradient(ellipse 92% 90% at 50% 50%, #000 25%, transparent 100%);
}
.lp-dash .section-head,
.grow-room-section .section-head { margin-bottom: 1.1rem; }
.lp-dash .section-head > div,
.grow-room-section .section-head > div { max-width: 54rem; }
.lp-dash h2,
.grow-room-section h2 { max-width: 25ch; }
.lp-dash-panel {
	padding: clamp(1rem, 2vw, 1.5rem);
	border-color: rgba(197,161,90,.25);
	background: rgba(8,42,31,.58);
	box-shadow: 0 16px 42px rgba(0,0,0,.16);
}
.lp-dash-top { margin-bottom: 1rem; padding-bottom: .85rem; }
.lp-dash-tiles { gap: .75rem; }
.lp-dash-tile { padding: clamp(.85rem, 1.5vw, 1.15rem); background: rgba(8,31,24,.72); }
.lp-dash-tile svg { height: 28px; }
.lp-dash-notes { margin-top: .9rem; padding-top: .8rem; }
.lp-dash-cta { margin-top: 1rem; }
.lp-dash-cta .btn { min-height: 46px; }
.grow-room-leaf-wrap { width: clamp(9rem, 16vw, 14rem); opacity: .22; }
.grow-room-blob--terracotta { opacity: .14; }
section#grow-room-preview {
	min-height: 0 !important;
	padding: clamp(1.5rem, 2.6vw, 2.25rem) 1.25rem !important;
}
section#grow-room-preview > .container { margin-block: 0 !important; padding-block: 0 !important; }
section#grow-room-preview .section-head { margin-block: 0 .9rem !important; }
/* Decorative children were included in the direct-child stacking rule and
   accidentally returned to normal flow, which created the empty green band. */
section#grow-room-preview > .grow-room-leaf-wrap,
section#grow-room-preview > .grow-room-blob,
section#grow-room-preview > .lp-dash-ornament { position: absolute !important; }

/* Consistent reading surfaces for editorial pages, archives and search. */
.page-canvas > .hub-hero,
.page-about .about-hero,
.page-faq .faq-hero,
.kh-hero {
  padding-block: clamp(2.25rem, 4vw, 3.5rem);
}
.page-about .about-hero::after,
.page-faq .faq-hero::after,
.kh-hero::after,
.page-canvas > .hub-hero::after {
	width: min(20vw, 16rem);
	height: 68%;
	right: 2.5%;
	background: url("../img/leaf-outline.svg") center / contain no-repeat;
	opacity: .1;
	clip-path: none;
}
.page-about .about-hero::before,
.page-faq .faq-hero::before,
.kh-hero::before,
.page-canvas > .hub-hero::before { opacity: .38; }
.page-canvas > section:not(.hub-hero) { scroll-margin-top: calc(var(--sticky-top) + 1rem); }
.page-canvas > .section > .container,
.page-canvas > section > .container { width: min(100%, var(--container)); }
.site-breadcrumbs,
.crumb { font-size: .74rem; }

.lp-step,
.lp-latest-card,
.lp-article-item,
.kh-card,
.tool-input-card,
.tool-result-card,
.tool-side-card,
.tool-category-section,
.tool-card.botanical-card {
	border-radius: 1rem;
	border-color: rgba(197,161,90,.24);
	box-shadow: var(--shadow-3d);
}
.lp-step { padding: clamp(1.1rem, 2vw, 1.55rem); }
.lp-step p { line-height: 1.62; }
.lp-tool { padding: clamp(1rem, 2vw, 1.5rem); }
.lp-tool--feature { background: linear-gradient(145deg, #174A37, #103B2C) !important; }
.lp-latest { gap: clamp(1rem, 2vw, 1.5rem); }
.lp-latest-card--feature .lp-article-visual,
.lp-article-thumb { background-color: #E8E3D3; }
.lp-article-veil { background: linear-gradient(to top, rgba(12,45,33,.58), rgba(12,45,33,.02) 65%); }
.lp-article-item { padding: clamp(.85rem, 1.5vw, 1.15rem); }

/* Better tool hierarchy: stable reading width, clear controls, readable results. */
.tool-page { padding-block: clamp(1.75rem, 3.5vw, 3rem); }
.tool-head { margin-bottom: clamp(1.1rem, 2.3vw, 1.75rem); }
.tool-title { color: var(--forest-700); line-height: 1.08; }
.tool-tagline { max-width: 64ch; line-height: 1.65; }
.tool-workbench { gap: clamp(1rem, 2vw, 1.5rem); }
.tool-input-card,
.tool-result-card,
.tool-side-card { padding: clamp(1rem, 2vw, 1.5rem); }
.tool-input-card-head { margin-bottom: 1.1rem; }
.tool-input-val { min-height: 44px; }
.tool-input-group { gap: .55rem; }
.tool-input-label { color: var(--ink-2); }
.tool-result-card { border-top: 3px solid var(--forest); background: linear-gradient(180deg, #fff 0%, #FBFAF5 100%); }
.tool-result-value { line-height: 1; }
.tool-methodology { border-color: rgba(197,161,90,.3); }
.tool-table-wrap,
.tool-formula,
.tool-methodology-body { max-width: 100%; overflow-wrap: anywhere; }

/* Tool engines use the same paper hero as the editorial site, with a compact
   live-anatomy card. Keep the result workbench itself in its technical dark UI. */
.mc-v3 .mc-hero {
	position: relative;
	isolation: isolate;
	color: var(--ink) !important;
	background:
		radial-gradient(ellipse 38rem 22rem at 88% 4%, rgba(185,111,82,.07), transparent 72%),
		radial-gradient(ellipse 32rem 20rem at 2% 100%, rgba(197,161,90,.08), transparent 70%),
		linear-gradient(135deg, #F4F1E8 0%, #EAE4D3 100%) !important;
	border-bottom: 1px solid rgba(197,161,90,.3);
	padding: clamp(1.75rem, 3vw, 2.75rem) var(--gutter) !important;
}
.mc-v3 .mc-hero::before { opacity: .3; }
.mc-v3 .mc-hero > div:first-child { width: min(100%, var(--container)); }
.mc-v3 .mc-hero .mc-title { color: var(--forest-700) !important; max-width: 24ch; line-height: 1.06; }
.mc-v3 .mc-hero .mc-subtitle { color: var(--forest) !important; }
.mc-v3 .mc-hero .mc-hero-desc { color: var(--ink-2) !important; max-width: 62ch; }
.mc-v3 .mc-hero .mc-hero-anatomy {
	position: relative;
	top: auto;
	max-width: 25rem;
	justify-self: end;
	padding: 1.1rem !important;
	gap: .8rem !important;
	background: rgba(255,255,255,.9) !important;
	border-color: rgba(197,161,90,.3) !important;
	color: var(--ink) !important;
	box-shadow: 0 14px 36px rgba(21,63,48,.08) !important;
}
body .mc-v3 .mc-hero .mc-title {
	color: var(--forest-700) !important;
	text-shadow: none !important;
}
body .mc-v3 .mc-hero .mc-subtitle { color: var(--forest) !important; }
body .mc-v3 .mc-hero .mc-hero-desc { color: var(--ink-2) !important; }
body .mc-v3 .mc-hero .bg-white {
	background: #fff !important;
	border-color: rgba(197,161,90,.3) !important;
	color: var(--ink) !important;
}
body .mc-v3 .mc-hero .text-brand-muted:not(.mc-hero-desc) { color: var(--ink-2) !important; }
body .mc-v3 .mc-hero a.bg-brand-forest,
body .mc-v3 .mc-hero .mc-toolbar [data-action="save-grow-toolbar"] {
	background: var(--forest) !important;
	color: #fff !important;
}
body .mc-v3 .mc-hero .mc-toolbar [data-action]:not([data-action="save-grow-toolbar"]) {
	background: rgba(255,255,255,.82) !important;
	border-color: rgba(31,98,72,.22) !important;
	color: var(--forest-700) !important;
}
body .mc-v3 .mc-hero .mc-toolbar [data-action] span,
body .mc-v3 .mc-hero .mc-toolbar [data-action] .mc-ico { color: inherit !important; }
.mc-v3 .mc-hero-anatomy h2,
.mc-v3 .mc-hero-anatomy .mc-cc-row span,
.mc-v3 .mc-hero-anatomy .mc-donut-hint { color: var(--ink-2) !important; }
.mc-v3 .mc-hero-anatomy .mc-donut { max-width: 9rem !important; }
.mc-v3 .mc-hero-anatomy .mc-donut-net { color: var(--terracotta-ink) !important; }
.mc-v3 .mc-hero-anatomy { width: 100%; }
@media (min-width: 800px) and (max-width: 1023px) {
	.mc-v3 .mc-hero > div:first-child.grid {
		grid-template-columns: minmax(0, 1.08fr) minmax(18rem, .92fr);
		align-items: center !important;
		gap: clamp(1.25rem, 2.5vw, 2rem);
	}
	.mc-v3 .mc-hero > div:first-child.grid > * { grid-column: auto; min-width: 0; }
	.mc-v3 .mc-hero .mc-hero-anatomy { max-width: none; padding: .9rem !important; }
}
@media (max-width: 799px) {
	.mc-v3 .mc-hero .mc-hero-anatomy { justify-self: stretch; max-width: 100%; }
}
.mc-v3 .mc-result h3,
.mc-v3 .mc-result .text-brand-forestDark { color: #fff !important; }
.mc-v3 .mc-result .mc-result-status { color: #fff; }

/* Shared links, form controls and motion behavior. */
a { text-decoration-thickness: .07em; text-underline-offset: .16em; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
select, textarea { max-width: 100%; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid rgba(31,98,72,.38);
	outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

@media (min-width: 880px) {
	:root { --gutter: clamp(1.5rem, 3.25vw, 2.75rem); }
	.hero-split { grid-template-columns: minmax(0, 1.08fr) minmax(350px, .92fr); }
	.hero-viz { max-width: 34rem; }
	.newsletter-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr); gap: clamp(2rem, 4vw, 4rem); }
	.newsletter-form .form-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
}
@media (min-width: 1180px) {
	.hero-widget-inputs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.mc-v3 .mc-hero > div:first-child.grid { gap: clamp(1.25rem, 2.25vw, 2rem); }
}
@media (max-width: 879px) {
	.hero { padding-block: 2rem 2.5rem; }
	.hero-copy { max-width: 42rem; }
	.hero-viz { justify-self: start; max-width: 42rem; }
	.hero-title { max-width: 18ch; font-size: clamp(2.05rem, 6.2vw, 3rem); }
	.hero-widget-inputs { grid-template-columns: 1fr; }
	.hero::after { right: -3%; bottom: 4%; width: 14rem; height: 34%; opacity: .075; }
	.grow-room-section,
	.lp-dash { padding-block: 2.5rem; }
	.mc-v3 .mc-hero .mc-hero-anatomy { justify-self: start; width: min(100%, 25rem); }
}
@media (max-width: 640px) {
	:root { --gutter: 1rem; }
	.section, .lp-sec { padding-block: 2.5rem; }
	.section-head { align-items: flex-start; margin-bottom: 1.25rem; }
	.hero > .container > .row-between { margin-bottom: 1rem !important; }
	.hero-title { max-width: 16ch; font-size: clamp(2rem, 9vw, 2.65rem); }
	.hero-lede { font-size: .98rem; line-height: 1.62; }
	.hero-cta { display: grid; grid-template-columns: 1fr; gap: .6rem; }
	.hero-cta .btn { width: 100%; }
	.hero-proof { align-items: flex-start; flex-direction: column; }
	.hero-proof-badge { line-height: 1.4; }
	.hero-viz { padding: 1rem; }
	.hero-widget-inputs { grid-template-columns: 1fr; gap: .6rem; margin-block: .9rem; }
	.hero-widget-field { padding: .8rem; }
	.hero-viz-head > .label { flex: 1 1 100%; }
	.hero-viz-head > .hero-viz-badge { margin-left: 1.4rem; }
	.hero-viz::after { opacity: .08; }
	.lp-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: .9rem; overflow: hidden; }
	.lp-metric { padding: 1rem .65rem; }
	.lp-metric-num { font-size: 1.5rem; }
	.lp-metric-label { font-size: .57rem; letter-spacing: .08em; }
	.lp-metric + .lp-metric { border-left: 0; }
	.lp-metric:nth-child(even) { border-left: 1px solid rgba(197,161,90,.22); }
	.lp-metric:nth-child(n+3) { border-top: 1px solid rgba(197,161,90,.22); }
	.lp-dash-top { align-items: flex-start; flex-direction: column; gap: .45rem; }
	.lp-dash-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lp-dash-tile { min-width: 0; padding: .8rem; }
	.lp-dash-tile span { font-size: .58rem; letter-spacing: .06em; }
	.lp-dash-tile b { font-size: 1.05rem; overflow-wrap: anywhere; }
	.lp-dash-notes { gap: .4rem; }
	.lp-dash-note { font-size: .58rem; }
	.lp-dash-cta .btn { width: 100%; }
	.lp-article-item { grid-template-columns: 76px minmax(0,1fr); gap: .75rem; }
	.lp-article-thumb { width: 76px; height: 72px; }
	.newsletter-band { padding-block: 2.5rem; }
	.newsletter-form { padding: 1rem; }
	.newsletter-micro { flex-wrap: wrap; justify-content: flex-start; font-size: .6rem; }
	.site-footer .footer-grid { padding-block: 2.25rem; gap: 1.5rem; }
	.consent-banner { padding: .8rem 1rem; }
}

/* Final responsive polish across shared site chrome and tool workbenches. */
@media (min-width: 1024px) {
	body .mc-v3 .mc-hero > div:first-child.grid { align-items: center !important; }
	body .mc-v3 .mc-hero { padding-block: clamp(1.5rem, 2.8vw, 2.5rem) !important; }
}
@media (max-width: 640px) {
	.headerbar-inner { height: 60px; gap: .5rem; }
	.brand-logo { height: 36px; max-width: 148px; }
	.headerbar-inner > .row-center { gap: .4rem; }
	.header-cta { white-space: nowrap; padding-inline: .7rem; font-size: .72rem; }
	.header-cta > span:first-child { display: none; }
	.header-cta > span:nth-child(2) { display: inline; }
	.iconbtn--mobile { width: 38px; height: 38px; flex: none; }
	.crumb-list { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
	.crumb-list::-webkit-scrollbar { display: none; }
	.crumb-list li { flex: none; }
	.crumb-list li:last-child { max-width: 44vw; overflow: hidden; text-overflow: ellipsis; }
	.site-breadcrumbs, .crumb, .crumb-list { margin-bottom: .75rem !important; }
	.mc-crumb { padding-inline: 1rem !important; }
	.mc-crumb > div { max-width: 100%; overflow: hidden; }
	.mc-crumb nav { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
	.mc-crumb nav::-webkit-scrollbar { display: none; }
	.mc-crumb nav > * { flex: none; }
}

/* October 2026 visual audit: fix real archive and editorial breakpoints. */
.gl-hero {
  color: #173D2B;
  background:
    radial-gradient(ellipse at 78% 18%, rgba(197,161,90,.18), transparent 38%),
    linear-gradient(135deg, #F4F1E8 0%, #EAE4D3 100%) !important;
  border-bottom: 1px solid rgba(197,161,90,.32) !important;
}
.gl-hero-grid {
  opacity: .16;
  background-image: linear-gradient(rgba(32, 76, 57, .12) 1px, transparent 1px), linear-gradient(90deg, rgba(32, 76, 57, .12) 1px, transparent 1px);
  mask-image: radial-gradient(ellipse 80% 72% at 78% 30%, #000 4%, transparent 78%);
}
.gl-hero-inner { padding-block: clamp(1.4rem, 2.8vw, 2.4rem) clamp(2rem, 4vw, 3.5rem); }
.gl-crumb a, .gl-crumb li[aria-current="page"] { color: #466954; }
.gl-crumb-sep { color: rgba(34, 76, 56, .4); }
.gl-eyebrow { color: #315a42; border-color: rgba(44, 94, 66, .18); background: rgba(255,255,255,.52); }
.gl-hero-title { color: #174b39; max-width: 19ch; }
.gl-hero-accent { color: #ad7940; }
.gl-hero-lede { color: #4b5d50; }
.gl-hero-facts li { color: #4b6253; }
.gl-btn--primary { color: #fff; background: #17533e; border-color: #17533e; box-shadow: 0 8px 20px rgba(23,83,62,.16); }
.gl-btn--primary:hover { color: #fff; background: #0f4030; }
.gl-btn--ghost { color: #17533e; border-color: rgba(23,83,62,.32); background: rgba(255,255,255,.42); }
.gl-btn--ghost:hover { background: #fff; border-color: #17533e; }
.gl-hero-console { position: relative; overflow: hidden; max-width: none; padding: 1.2rem; border-color: rgba(44,94,66,.14); background: rgba(255,255,255,.88); box-shadow: 0 16px 40px rgba(48,57,37,.12); }
.gl-hero-console::before {
  content: ""; display: block; height: clamp(5.5rem, 10vw, 8rem); margin: -1.2rem -1.2rem 1rem;
  background: linear-gradient(90deg, rgba(11,54,39,.26), rgba(11,54,39,.02)), var(--gl-preview-image) center 56% / cover;
}
.gl-console-head { position: relative; margin-top: -3.35rem; padding: .55rem .7rem; border: 1px solid rgba(255,255,255,.44); border-radius: .65rem; background: rgba(250,249,239,.95); }
.gl-console-vpd, .gl-console-rows, .gl-console-foot { position: relative; }
.gl-live-dot { animation: none; }
.gl-console-chip { background: #e8eddf; color: #315a42; }
.kh-hero .hero-split { gap: clamp(1rem, 2.4vw, 2rem); }
.kh-nav-widget { width: 100%; max-width: none; justify-self: stretch; }
.mc-single-hero {
  border-bottom: none !important;
}
.mc-single-hero::before {
  background-image: linear-gradient(to right, rgba(37,78,57,.055) 1px, transparent 1px), linear-gradient(to bottom, rgba(37,78,57,.055) 1px, transparent 1px);
  mask-image: radial-gradient(ellipse 85% 70% at 76% 25%, #000 10%, transparent 82%);
}
.mc-single-hero .mc-single-title { color: #174b39 !important; text-shadow: none; }
.mc-single-hero .mc-single-excerpt { color: #536458 !important; }
.mc-single-hero .mc-single-breadcrumb { color: #657466; border-bottom-color: rgba(34,76,56,.16) !important; }
.mc-single-hero .mc-single-breadcrumb a, .mc-single-hero .mc-single-breadcrumb .text-primary { color: #315a42 !important; }
.mc-single-hero .mc-single-breadcrumb .text-primary.font-bold { color: #7a5a2b !important; max-width: min(38vw, 30rem); overflow: hidden; text-overflow: ellipsis; }
.mc-single-hero .mc-single-breadcrumb .opacity-40 { color: rgba(34,76,56,.4); }
.mc-single-hero .mc-single-chips .bg-primary { color: #fff !important; background: #17533e !important; }
.mc-single-hero .mc-single-chips .bg-sand-card { color: #315a42 !important; background: rgba(255,255,255,.7) !important; border-color: rgba(34,76,56,.18) !important; }
.mc-single-hero .mc-single-chips .bg-sage-mist { color: #315a42 !important; background: #e7ecdf !important; border-color: #d1dccb !important; }
.mc-single-hero .mc-single-breadcrumb .bg-sage-mist { color: #315a42; background: #e7ecdf; border-color: #d1dccb; }
.mc-single-hero .mc-single-breadcrumb .bg-white { color: #536458; background: rgba(255,255,255,.72); border-color: rgba(34,76,56,.14); }
.mc-single-hero .mc-single-author-card { color: #536458; background: rgba(255,255,255,.8) !important; border-color: rgba(34,76,56,.14) !important; }
.mc-single-hero .mc-single-author-card .text-primary { color: #174b39 !important; }
.mc-single-hero .mc-single-author-card .text-text-secondary { color: #657466 !important; }
.mc-single-hero .mc-single-meta { color: #536458 !important; }
.mc-single-hero .mc-single-meta .text-primary, .mc-single-hero .mc-single-meta .text-secondary { color: #315a42 !important; }
.mc-single-hero .mc-single-actions button:not(#mc-guide-save) { color: #315a42 !important; background: rgba(255,255,255,.74) !important; border-color: rgba(34,76,56,.16) !important; }
.mc-single-hero .mc-single-actions button:not(#mc-guide-save):hover { background: #fff !important; }
.mc-single-hero #mc-guide-save { color: #fff !important; background: #17533e !important; }
.mc-single-hero .mc-single-visual { border-color: rgba(34,76,56,.14) !important; background: #e7ecdf !important; box-shadow: 0 18px 46px rgba(42,57,39,.16) !important; }
.mc-single-hero .mc-single-visual + div { color: #657466; }
.mc-single-hero .mc-single-visual + div .text-primary { color: #315a42 !important; }

/* Custom MistCulture hero language: a quiet atmospheric field with measured
   contour orbits. This replaces the conflicting botanical cutouts used by
   older hero layers; the art supports the interface without competing with it. */
.hero::after,
.page-about .about-hero::after,
.page-faq .faq-hero::after,
.kh-hero::after,
.page-canvas > .hub-hero::after {
	content: "";
	position: absolute;
	z-index: 0;
	pointer-events: none;
	right: clamp(-2rem, 1vw, 1rem);
	top: 50%;
	bottom: auto;
	width: min(54vw, 43rem);
	height: min(92%, 36rem);
	transform: translateY(-50%);
	background:
		radial-gradient(circle at 78% 20%, rgba(185,111,82,.58) 0 2px, transparent 3px),
		radial-gradient(circle at 37% 78%, rgba(197,161,90,.66) 0 2px, transparent 3px),
		radial-gradient(ellipse 35% 38% at 66% 50%, transparent 96%, rgba(31,98,72,.18) 97%, transparent 98.3%),
		radial-gradient(ellipse 50% 55% at 66% 50%, transparent 96%, rgba(197,161,90,.3) 97%, transparent 98.1%),
		radial-gradient(ellipse 66% 75% at 66% 50%, transparent 96%, rgba(31,98,72,.12) 97%, transparent 98%),
		radial-gradient(ellipse at 68% 48%, rgba(39,106,71,.09), transparent 68%);
	opacity: .85;
	clip-path: none;
	filter: none;
	mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 92%, transparent 100%);
}
@media (max-width: 879px) {
	.hero::after { display: none; }
}
@media (max-width: 640px) {
	.page-about .about-hero::after,
	.page-faq .faq-hero::after,
	.kh-hero::after,
	.page-canvas > .hub-hero::after { width: 64vw; height: 58%; opacity: .48; }
}
body.home #testimonials { padding-bottom: clamp(1.25rem, 2vw, 1.75rem); }

/* Final override for legacy template-specific footer spacers. */
#main-content > section:last-of-type,
#main-content > .mc-band:last-child,
#main-content > div.flex > section:last-of-type,
#main-content > .contact-explore-section,
#main-content > .engine-knowledge-cta,
#main-content > section.contact-explore-section,
#main-content > section.engine-knowledge-cta,
#main-content .mc-arch-band--flush,
#main-content .gl-hubs {
	margin-bottom: 0 !important;
}

@media (min-width: 801px) and (max-width: 1100px) {
  .gl-hero-split { grid-template-columns: minmax(0, 1.08fr) minmax(270px, .92fr); gap: 1.5rem; align-items: center; }
  .gl-hero-console { max-width: none; }
  .gl-hero-inner { padding-block: 1.5rem 2.4rem; }
  .kh-hero .hero-split { grid-template-columns: minmax(0, 1fr) minmax(18rem, .88fr); align-items: start; }
}
@media (min-width: 860px) and (max-width: 1023px) {
  .mc-single-hero > div > .grid { grid-template-columns: minmax(0, 1.1fr) minmax(17rem, .9fr); gap: 1.5rem; }
  .mc-single-hero > div > .grid > * { grid-column: auto; min-width: 0; }
  .mc-single-hero > div { padding-inline: clamp(1.5rem, 4vw, 3rem); padding-block: 1.5rem 2rem; }
}
@media (max-width: 800px) {
  .gl-hero-inner { padding-block: 1.1rem 2rem; }
  .gl-hero-split { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .gl-hero-console { width: 100%; max-width: 38rem; }
  .kh-hero .hero-split { grid-template-columns: minmax(0, 1fr); }
  .kh-nav-widget { margin-inline: 0; }
}
@media (max-width: 640px) {
  .mc-single-hero > div { padding-inline: 1rem !important; padding-block: 1rem 1.6rem !important; }
  .mc-single-hero > div > .grid { gap: 1.25rem; }
  .mc-single-hero .mc-single-breadcrumb { align-items: flex-start; margin-bottom: 1rem; padding-bottom: 1rem; }
  .mc-single-hero .mc-single-breadcrumb nav { flex: 1 0 100%; max-width: 100%; overflow: hidden; white-space: nowrap; flex-wrap: nowrap; }
  .mc-single-hero .mc-single-breadcrumb nav > span { display: none; }
  .mc-single-hero .mc-single-breadcrumb nav a { white-space: nowrap; }
  .mc-single-hero .mc-single-breadcrumb nav a:nth-of-type(3) { display: none !important; }
  .mc-single-hero .mc-single-breadcrumb > div { display: none !important; }
  .mc-single-hero .mc-single-breadcrumb .text-primary.font-bold { max-width: 62vw; }
  .gl-hero-console::before { height: 5.5rem; }
}
@media (min-width: 800px) and (max-width: 879px) {
  .hero-split { grid-template-columns: minmax(0, 1fr) minmax(19rem, .92fr); align-items: center; gap: 1.35rem; }
  .hero-viz { justify-self: stretch; max-width: none; }
}
@media (min-width: 800px) and (max-width: 1023px) {
  .page-about .about-hero .hero-split { grid-template-columns: minmax(0, 1.08fr) minmax(19rem, .92fr); align-items: center; gap: 1.35rem; }
  .page-about .about-hero .about-hero-widget { justify-self: stretch; max-width: none; }
  .page-about .about-hero .hero-vpd-hint { align-items: flex-start; flex-wrap: wrap; gap: .25rem .5rem; line-height: 1.35; }
  .page-about .about-hero .hero-vpd-hint > span { white-space: normal; overflow-wrap: anywhere; }
}
.contact-hero .site-breadcrumbs,
.contact-hero .site-breadcrumbs a,
.contact-hero .site-breadcrumbs .crumb-sep,
.contact-hero .site-breadcrumbs .crumb-cur { color: var(--ink-2) !important; }
.contact-hero .site-breadcrumbs a:hover { color: var(--forest) !important; }

/* Tool-domain archives — light parchment hero surface */
.domain-hero {
  background: linear-gradient(135deg, #F4F1E8 0%, #EAE4D3 100%) !important;
  border-bottom: 1px solid rgba(197, 161, 90, 0.32) !important;
}
.domain-hero .site-breadcrumbs,
.domain-hero .site-breadcrumbs a,
.domain-hero .site-breadcrumbs .crumb-sep,
.domain-hero .site-breadcrumbs .crumb-cur { color: #173D2B !important; }
.domain-hero .site-breadcrumbs a:hover { color: #276A47 !important; }
.domain-hero .hero-title { color: #173D2B !important; text-shadow: none !important; }
.domain-hero .hero-hl { color: #C5A15A !important; }
.domain-hero .hero-lede { color: #3C473F !important; }
.domain-hero .chip.chip-forest { background: #FFFFFF !important; border-color: rgba(197,161,90,0.28) !important; color: #173D2B !important; }
.domain-hero .chip.chip-terracotta { background: rgba(185,161,82,.12) !important; border-color: rgba(197,161,90,0.35) !important; color: #7A5A1F !important; }
.domain-hero .formula-chip,
.domain-hero .pillar-chip { background: #FFFFFF !important; border-color: rgba(197,161,90,0.28) !important; color: #173D2B !important; }
.domain-hero .pillar-chip.is-active { background: var(--terracotta) !important; border-color: var(--terracotta) !important; color: #fff !important; }
.domain-hero .pillar-chip:hover { background: #fff !important; color: #173D2B !important; }
.domain-hero .small.mono { color: #173D2B !important; }
.domain-hero .btn-ghost { color: #173D2B !important; background: #FFFFFF !important; border-color: rgba(197,161,90,0.28) !important; }
.domain-hero .btn-brand { color: #fff !important; background: #276A47 !important; }
.domain-hero .btn-brand:hover { background: #173D2B !important; }
.domain-hero .domain-guarantees { box-shadow: 0 16px 38px rgba(23,61,43,.10); }
.mc-srch-latency { color: #5c6c5e !important; background: rgba(44,94,66,.07); border-color: rgba(44,94,66,.14); }
.mc-srch-toolbar { border-top-color: rgba(34,76,56,.16); }
.mc-srch-sort label { color: #536458 !important; }
.mc-srch-sort .mc-select { color: #315a42 !important; background: rgba(255,255,255,.8) !important; border-color: rgba(34,76,56,.2) !important; }
@media (min-width: 800px) and (max-width: 1023px) {
  .legal-doc .legal-hero .hero-split { grid-template-columns: minmax(0, 1.15fr) minmax(19rem, .85fr); align-items: center; gap: 1.5rem; }
  .legal-doc .legal-hero .hero-viz { justify-self: stretch; max-width: none; }
}
.legal-doc .legal-hero .site-breadcrumbs,
.legal-doc .legal-hero .site-breadcrumbs a,
.legal-doc .legal-hero .site-breadcrumbs .crumb-sep,
.legal-doc .legal-hero .site-breadcrumbs .crumb-cur { color: #536458 !important; }
.legal-doc .legal-hero .site-breadcrumbs a:hover { color: #174b39 !important; }
.mc-404-search > .ic { color: #536458; }
.mc-404-search .search-field { color: #174b39; background: rgba(255,255,255,.86); border-color: rgba(34,76,56,.2); }
.mc-404-search .search-field::placeholder { color: #657466; }
.mc-404-search .search-field:focus { background: #fff; border-color: #ad7940; box-shadow: 0 0 0 3px rgba(173,121,64,.18); }
.mc-404-search .search-submit:focus-visible { outline-color: #315a42; }

/* ============================================================================
   Single Post — World-Class Editorial Template (overrides single-post.css)
   High-specificity overrides so the single-post.css tailwind layer never wins.
   ============================================================================ */

/* ── Editorial Article Hero ── */
body.single-post .mc-single-hero,
.single .mc-single-hero,
article.post .mc-single-hero {
  background:
    radial-gradient(circle at 10% 20%, rgba(197, 161, 90, 0.24) 0%, transparent 45%),
    radial-gradient(circle at 90% 80%, rgba(39, 106, 71, 0.16) 0%, transparent 50%),
    radial-gradient(circle at 50% 50%, rgba(244, 241, 232, 0.8) 0%, rgba(234, 228, 211, 0.95) 100%),
    linear-gradient(135deg, #F7F5EE 0%, #E8E1CD 100%) !important;
  color: #173D2B !important;
  position: relative !important;
  overflow: hidden !important;
  border-bottom: none !important;
  padding-block: clamp(3rem, 6vw, 5rem) 1.5rem !important;
}
body.single-post .mc-single-hero::before,
.single .mc-single-hero::before,
article.post .mc-single-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: url("../img/leaf-outline.svg") center / contain no-repeat !important;
  opacity: 0.07 !important;
  mask-image: radial-gradient(ellipse 80% 70% at 78% 22%, #000 12%, transparent 82%) !important;
}
body.single-post .mc-single-hero > .container,
.single .mc-single-hero > .container,
article.post .mc-single-hero > .container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
  padding-inline: 1.5rem !important;
}

/* Breadcrumbs — translucent surface on the editorial cream hero */
body.single-post .mc-single-breadcrumb,
.single .mc-single-breadcrumb,
article.post .mc-single-breadcrumb {
  background: rgba(255,255,255,.5) !important;
  border: 1px solid rgba(34,76,56,.16) !important;
  border-radius: 12px !important;
  color: #4A5B4F !important;
  padding: .55rem 1rem !important;
  font-family: var(--font-mono) !important;
  font-size: .72rem !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  flex-wrap: wrap !important;
  gap: .5rem !important;
  align-items: center !important;
  margin-bottom: 1.5rem !important;
}
body.single-post .mc-single-breadcrumb a,
.single .mc-single-breadcrumb a,
article.post .mc-single-breadcrumb a {
  color: #315A42 !important;
  text-decoration: none !important;
}
body.single-post .mc-single-breadcrumb a:hover,
.single .mc-single-breadcrumb a:hover,
article.post .mc-single-breadcrumb a:hover {
  color: #173D2B !important;
}

/* Category & reading-time badges — Antique Gold */
body.single-post .mc-single-chips,
.single .mc-single-chips,
article.post .mc-single-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .5rem !important;
  margin-bottom: 1rem !important;
}
body.single-post .mc-single-chips a,
.single .mc-single-chips a,
article.post .mc-single-chips a,
body.single-post .mc-single-chips span,
.single .mc-single-chips span,
article.post .mc-single-chips span {
  background: rgba(197,161,90,.14) !important;
  border: 1px solid rgba(197,161,90,.38) !important;
  color: #6B4E1C !important;
  font-family: var(--font-mono) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  padding: .35rem .8rem !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .4rem !important;
}
body.single-post .mc-single-chips .bg-primary,
.single .mc-single-chips .bg-primary,
article.post .mc-single-chips .bg-primary {
  background: #17533E !important;
  border-color: #17533E !important;
  color: #FFFFFF !important;
}
body.single-post .mc-single-chips .bg-sage-mist,
.single .mc-single-chips .bg-sage-mist,
article.post .mc-single-chips .bg-sage-mist {
  background: #E7ECDF !important;
  border-color: #D1DCCB !important;
  color: #2F5A42 !important;
}
body.single-post .mc-single-chips a:hover,
.single .mc-single-chips a:hover,
article.post .mc-single-chips a:hover {
  background: #C5A15A !important;
  color: #173D2B !important;
}

/* Deep forest h1 title */
body.single-post .mc-single-title,
.single .mc-single-title,
article.post .mc-single-title,
body.single-post .mc-single-hero h1,
.single .mc-single-hero h1,
article.post .mc-single-hero h1 {
  color: #173D2B !important;
  font-family: var(--font-display) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  margin: 0 0 .75rem !important;
  letter-spacing: -.02em !important;
  text-shadow: none !important;
}

/* Excerpt */
body.single-post .mc-single-excerpt,
.single .mc-single-excerpt,
article.post .mc-single-excerpt {
  color: #3C473F !important;
  font-size: 1.0625rem !important;
  line-height: 1.7 !important;
  margin: 0 0 1.25rem !important;
  max-width: 62ch !important;
}

/* Author byline card — verified avatar */
body.single-post .mc-single-author-card,
.single .mc-single-author-card,
article.post .mc-single-author-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 14px !important;
  padding: .9rem 1.1rem !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .85rem !important;
  box-shadow: 0 4px 14px rgba(23,61,43,.06) !important;
  backdrop-filter: none !important;
}
body.single-post .mc-single-author-card img,
.single .mc-single-author-card img,
article.post .mc-single-author-card img {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 2px solid #C5A15A !important;
  flex-shrink: 0 !important;
}
body.single-post .mc-single-author-card .font-headline-sm,
.single .mc-single-author-card .font-headline-sm,
article.post .mc-single-author-card .font-headline-sm {
  color: #173D2B !important;
  font-weight: 700 !important;
  font-size: .9rem !important;
}
body.single-post .mc-single-author-card .font-label-code,
.single .mc-single-author-card .font-label-code,
article.post .mc-single-author-card .font-label-code {
  color: #276A47 !important;
  font-size: .7rem !important;
}

/* Featured image — 16:9, framed border, 16px radius */
body.single-post .mc-single-visual,
.single .mc-single-visual,
article.post .mc-single-visual {
  border: 1px solid rgba(197, 161, 90, 0.35) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #0F291E !important;
  box-shadow: 0 12px 32px rgba(23,61,43,.18) !important;
  aspect-ratio: 16 / 9 !important;
}
body.single-post .mc-single-visual img,
.single .mc-single-visual img,
article.post .mc-single-visual img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* ── 2-Column Reading Layout ── */
body.single-post #main-content,
.single #main-content,
article.post #main-content {
  background: #FFFFFF !important;
}
body.single-post #article-content,
.single #article-content,
article.post #article-content {
  max-width: 72ch !important;
  font-size: 1.0625rem !important;
  line-height: 1.8 !important;
  color: #151816 !important;
  font-family: var(--font-body, Georgia, serif) !important;
}
body.single-post #article-content h2,
.single #article-content h2,
article.post #article-content h2 {
  color: #173D2B !important;
  font-family: var(--font-display) !important;
  font-size: 1.5rem !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  margin: 2.5rem 0 1rem !important;
  padding-bottom: .5rem !important;
  border-bottom: 1px solid rgba(197,161,90,.22) !important;
}
body.single-post #article-content h3,
.single #article-content h3,
article.post #article-content h3 {
  color: #276A47 !important;
  font-family: var(--font-display) !important;
  font-size: 1.25rem !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  margin: 2rem 0 .75rem !important;
}
body.single-post #article-content blockquote,
.single #article-content blockquote,
article.post #article-content blockquote,
body.single-post .pro-tip,
.single .pro-tip,
article.post .pro-tip {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.32) !important;
  border-left: 4px solid #C5A15A !important;
  border-radius: 14px !important;
  padding: 1.25rem 1.5rem !important;
  margin: 1.75rem 0 !important;
  font-style: italic !important;
  color: #151816 !important;
}
body.single-post #article-content blockquote p,
.single #article-content blockquote p,
article.post #article-content blockquote p,
body.single-post .pro-tip p,
.single .pro-tip p,
article.post .pro-tip p {
  margin: 0 !important;
  color: #151816 !important;
}
body.single-post #article-content table,
.single #article-content table,
article.post #article-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 1.5rem 0 !important;
  font-size: .9375rem !important;
}
body.single-post #article-content thead th,
.single #article-content thead th,
article.post #article-content thead th {
  background: #173D2B !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  font-size: .75rem !important;
  padding: .85rem 1rem !important;
  text-align: left !important;
  border: 1px solid rgba(197,161,90,.35) !important;
}
body.single-post #article-content tbody td,
.single #article-content tbody td,
article.post #article-content tbody td {
  background: #FFFFFF !important;
  color: #151816 !important;
  padding: .75rem 1rem !important;
  border: 1px solid rgba(197,161,90,.22) !important;
}
body.single-post #article-content code,
.single #article-content code,
article.post #article-content code,
body.single-post pre,
.single pre,
article.post pre {
  background: #F1EBDD !important;
  border: 1px solid rgba(197,161,90,0.3) !important;
  color: #173D2B !important;
  font-family: var(--font-mono) !important;
  font-size: .875rem !important;
  border-radius: 8px !important;
}
body.single-post #article-content code,
.single #article-content code,
article.post #article-content code {
  padding: .2rem .45rem !important;
  border-radius: 4px !important;
}
body.single-post #article-content pre,
.single #article-content pre,
article.post #article-content pre {
  padding: 1.25rem 1.5rem !important;
  overflow-x: auto !important;
  margin: 1.5rem 0 !important;
}

/* Sticky Table of Contents card */
body.single-post #mc-side-toc,
.single #mc-side-toc,
article.post #mc-side-toc {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 14px !important;
  padding: 1.25rem !important;
  box-shadow: 0 4px 14px rgba(23,61,43,.04) !important;
  position: sticky !important;
  top: 110px !important;
  align-self: start !important;
}
body.single-post #mc-side-toc .toc-link,
.single #mc-side-toc .toc-link,
article.post #mc-side-toc .toc-link {
  color: #173D2B !important;
  display: flex !important;
  align-items: center !important;
  gap: .6rem !important;
  padding: .55rem .85rem !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  font-size: .875rem !important;
  transition: all .18s ease !important;
}
body.single-post #mc-side-toc .toc-link.is-active,
.single #mc-side-toc .toc-link.is-active,
article.post #mc-side-toc .toc-link.is-active,
body.single-post #mc-side-toc .toc-link.active,
.single #mc-side-toc .toc-link.active,
article.post #mc-side-toc .toc-link.active {
  background: rgba(39,106,71,.08) !important;
  color: #276A47 !important;
  border-left: 3px solid #C5A15A !important;
  padding-left: .55rem !important;
  font-weight: 700 !important;
}
body.single-post #mc-side-toc .toc-link:hover,
.single #mc-side-toc .toc-link:hover,
article.post #mc-side-toc .toc-link:hover {
  background: #F7F7F3 !important;
  color: #276A47 !important;
}

/* Launch Matching Calculator promo card below TOC */
.mc-calc-promo {
  background: #173D2B !important;
  color: #FFFFFF !important;
  border-radius: 14px !important;
  padding: 1.25rem !important;
  margin-top: 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .75rem !important;
  text-align: center !important;
}
.mc-calc-promo .mc-calc-title {
  color: #FFFFFF !important;
  font-weight: 800 !important;
  font-size: 1.05rem !important;
  margin: 0 !important;
}
.mc-calc-promo .mc-calc-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .4rem !important;
  background: #C5A15A !important;
  color: #151816 !important;
  font-weight: 700 !important;
  font-size: .85rem !important;
  text-decoration: none !important;
  padding: .65rem 1.25rem !important;
  border-radius: 999px !important;
  border: none !important;
  cursor: pointer !important;
}
.mc-calc-promo .mc-calc-btn:hover {
  background: #e0b67d !important;
}

/* ── Author Bio Card ── */
body.single-post .mc-author-bio,
.single .mc-author-bio,
article.post .mc-author-bio {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 16px !important;
  padding: 1.75rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  margin-top: 3rem !important;
  box-shadow: 0 4px 14px rgba(23,61,43,.04) !important;
}
body.single-post .mc-author-bio-avatar,
.single .mc-author-bio-avatar,
article.post .mc-author-bio-avatar {
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 3px solid #C5A15A !important;
  flex-shrink: 0 !important;
  align-self: flex-start !important;
}
body.single-post .mc-author-bio h3,
.single .mc-author-bio h3,
article.post .mc-author-bio h3 {
  color: #173D2B !important;
  font-size: 1.35rem !important;
  margin: 0 !important;
  font-weight: 800 !important;
}
body.single-post .mc-author-bio p,
.single .mc-author-bio p,
article.post .mc-author-bio p {
  color: #151816 !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}
body.single-post .mc-author-bio .mc-author-cred,
.single .mc-author-bio .mc-author-cred,
article.post .mc-author-bio .mc-author-cred {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .5rem !important;
  margin-top: .5rem !important;
}
body.single-post .mc-author-bio .mc-author-cred span,
.single .mc-author-bio .mc-author-cred span,
article.post .mc-author-bio .mc-author-cred span {
  background: rgba(197,161,90,.12) !important;
  border: 1px solid rgba(197,161,90,.35) !important;
  color: #C5A15A !important;
  font-family: var(--font-mono) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  padding: .25rem .7rem !important;
  border-radius: 999px !important;
  text-transform: uppercase !important;
}

/* ── Related Guides Grid ── */
body.single-post .mc-related-grid,
.single .mc-related-grid,
article.post .mc-related-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
  margin-top: 3rem !important;
}
@media (max-width: 900px) {
  body.single-post .mc-related-grid,
  .single .mc-related-grid,
  article.post .mc-related-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 560px) {
  body.single-post .mc-related-grid,
  .single .mc-related-grid,
  article.post .mc-related-grid { grid-template-columns: 1fr !important; }
}
body.single-post .mc-related-card,
.single .mc-related-card,
article.post .mc-related-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 16px !important;
  padding: 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .75rem !important;
  box-shadow: 0 4px 14px rgba(23,61,43,.04) !important;
  transition: transform .2s ease, border-color .2s ease !important;
  text-decoration: none !important;
}
body.single-post .mc-related-card:hover,
.single .mc-related-card:hover,
article.post .mc-related-card:hover {
  transform: translateY(-4px) !important;
  border-color: #C5A15A !important;
  box-shadow: 0 16px 32px rgba(23,61,43,.12) !important;
}
body.single-post .mc-related-thumb,
.single .mc-related-thumb,
article.post .mc-related-thumb {
  width: 100% !important;
  height: 160px !important;
  border-radius: 12px !important;
  background: #EBF3EE !important;
  object-fit: cover !important;
  display: block !important;
  margin-bottom: .75rem !important;
}
body.single-post .mc-related-card h4,
.single .mc-related-card h4,
article.post .mc-related-card h4 {
  color: #173D2B !important;
  font-size: 1.05rem !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}
body.single-post .mc-related-card p,
.single .mc-related-card p,
article.post .mc-related-card p {
  color: #151816 !important;
  font-size: .875rem !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* ============================================================================
   Single Calculator — World-Class Tool Template (overrides single-tool.css)
   High-specificity overrides so the single-tool.css tailwind layer never wins.
   ============================================================================ */

/* ── Calculator Hero — Deep Forest gradient mesh ── */
body.single-tool .mc-hero,
.single-mistculture_tool .mc-hero,
.page-template-single-tool .mc-hero,
.mc-v3 .mc-hero {
  background: linear-gradient(135deg, #F4F1E8 0%, #EAE4D3 100%) !important;
  border-bottom: 1px solid rgba(197,161,90,0.35) !important;
  padding-block: clamp(2rem, 4vw, 3.5rem) var(--gutter) !important;
  position: relative !important;
  overflow: hidden !important;
  color: #151816 !important;
}
body.single-tool .mc-hero > .container,
.single-mistculture_tool .mc-hero > .container,
.mc-v3 .mc-hero > .container {
  max-width: 1320px !important;
  margin-inline: auto !important;
  padding-inline: 1.5rem !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Breadcrumbs on hero */
body.single-tool .site-breadcrumbs,
.single-mistculture_tool .site-breadcrumbs,
.mc-v3 .mc-crumb {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .5rem !important;
  margin-bottom: 1rem !important;
  font-family: var(--font-mono) !important;
  font-size: .72rem !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.7) !important;
}
body.single-tool .site-breadcrumbs a,
.single-mistculture_tool .site-breadcrumbs a,
.mc-v3 .mc-crumb a {
  color: #FFFFFF !important;
  text-decoration: none !important;
}

/* Antique Gold engine ID badge */
.mc-engine-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: .45rem !important;
  background: rgba(197,161,90,.15) !important;
  border: 1px solid rgba(197,161,90,.35) !important;
  color: #C5A15A !important;
  font-family: var(--font-mono) !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  padding: .35rem .85rem !important;
  border-radius: 999px !important;
  margin-bottom: 1rem !important;
}

/* White h1 with gold highlight */
body.single-tool .mc-title,
.single-mistculture_tool .mc-title,
.mc-v3 .mc-hero .mc-title,
.mc-v3 .mc-hero h1 {
  color: #FFFFFF !important;
  font-family: var(--font-display) !important;
  font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  margin: 0 0 .5rem !important;
  letter-spacing: -.02em !important;
}
.mc-title-hl { color: #C5A15A !important; }

/* Quick-jump pills */
.mc-quick-pills { display: flex !important; flex-wrap: wrap !important; gap: .5rem !important; margin-top: 1rem !important; }
.mc-quick-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: .35rem !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  color: #FFFFFF !important;
  font-family: var(--font-mono) !important;
  font-size: .7rem !important;
  font-weight: 600 !important;
  padding: .4rem .85rem !important;
  border-radius: 999px !important;
  text-decoration: none !important;
}
.mc-quick-pill:hover { background: #C5A15A !important; border-color: #C5A15A !important; color: #151816 !important; }

/* ── 2-Column Interactive Calculator Workbench ── */
.mc-workbench {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.5rem !important;
  margin-top: 2rem !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
  padding-inline: 1.5rem !important;
}
@media (min-width: 1024px) {
  .mc-workbench { grid-template-columns: 1.15fr 0.85fr !important; gap: 2rem !important; }
}

/* Left Input Panel — pure #FFFFFF card */
.mc-input-panel {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.32) !important;
  border-radius: 18px !important;
  padding: 1.75rem !important;
  box-shadow: 0 4px 14px rgba(23,61,43,.04) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
}
.mc-input-panel-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  margin-bottom: .25rem !important;
}
.mc-input-panel-head h2 {
  color: #173D2B !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  margin: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}
.mc-input-panel-head .mc-input-count {
  font-family: var(--font-mono) !important;
  font-size: .72rem !important;
  color: #276A47 !important;
}

/* Crop preset selector pills — active pill #276A47 with white text */
.mc-crop-presets {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .5rem !important;
}
.mc-crop-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: .4rem !important;
  background: #F7F7F3 !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  color: #173D2B !important;
  font-family: var(--font-mono) !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  padding: .5rem 1rem !important;
  border-radius: 999px !important;
  cursor: pointer !important;
  text-decoration: none !important;
}
.mc-crop-pill.is-active {
  background: #276A47 !important;
  color: #FFFFFF !important;
  border-color: #276A47 !important;
}
.mc-crop-pill:hover:not(.is-active) { background: #F7F7F3 !important; border-color: #C5A15A !important; }

/* Range sliders — #C5A15A thumbs, #276A47 active tracks */
.mc-input-panel input[type="range"] {
  width: 100% !important;
  height: 6px !important;
  border-radius: 99px !important;
  background: rgba(39,106,71,.18) !important;
  border: none !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  cursor: pointer !important;
  margin: .25rem 0 !important;
}
.mc-input-panel input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: #C5A15A !important;
  border: 3px solid #FFFFFF !important;
  box-shadow: 0 1px 4px rgba(23,61,43,.35) !important;
  cursor: pointer !important;
}
.mc-input-panel input[type="range"]::-moz-range-thumb {
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: #C5A15A !important;
  border: 3px solid #FFFFFF !important;
  box-shadow: 0 1px 4px rgba(23,61,43,.35) !important;
  cursor: pointer !important;
}

/* Clean numeric input boxes — #F7F7F3 background, #173D2B bold font */
.mc-input-panel input[type="number"],
.mc-input-panel .mc-numeric-input {
  background: #F7F7F3 !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 10px !important;
  color: #173D2B !important;
  font-weight: 700 !important;
  font-family: var(--font-mono) !important;
  font-size: 1rem !important;
  padding: .65rem 1rem !important;
  width: 100% !important;
  max-width: 140px !important;
}

/* Right Telemetry Output Console — Deep Forest #173D2B card */
.mc-telemetry-console {
  background: #173D2B !important;
  border: 1px solid rgba(197,161,90,0.35) !important;
  border-radius: 18px !important;
  padding: 1.75rem !important;
  color: #FFFFFF !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
  box-shadow: 0 12px 32px rgba(23,61,43,.35) !important;
}

/* Primary live metric readout — large bold Antique Gold */
.mc-primary-readout {
  font-family: var(--font-display) !important;
  font-size: clamp(2.5rem, 6vw, 4rem) !important;
  font-weight: 800 !important;
  color: #C5A15A !important;
  line-height: 1 !important;
  margin: 0 !important;
}
.mc-primary-unit {
  font-family: var(--font-mono) !important;
  font-size: 1rem !important;
  color: rgba(255,255,255,.7) !important;
  font-weight: 700 !important;
}

/* Status zone bar */
.mc-status-zone {
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  padding: .6rem 1rem !important;
  border-radius: 10px !important;
  font-family: var(--font-mono) !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  width: fit-content !important;
}
.mc-status-optimal { background: rgba(107,168,68,.2) !important; color: #6BA844 !important; border: 1px solid rgba(107,168,68,.35) !important; }
.mc-status-warning { background: rgba(185,111,82,.2) !important; color: #B96F52 !important; border: 1px solid rgba(185,111,82,.35) !important; }

/* Secondary derived readouts — translucent dark cells */
.mc-derived-readouts {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: .75rem !important;
}
.mc-derived-cell {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 10px !important;
  padding: .85rem 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .2rem !important;
}
.mc-derived-cell .mc-derived-label {
  font-family: var(--font-mono) !important;
  font-size: .7rem !important;
  color: rgba(255,255,255,.55) !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}
.mc-derived-cell .mc-derived-value {
  color: #FFFFFF !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  font-family: var(--font-mono) !important;
}

/* Full-width Antique Gold primary button + ghost button */
.mc-actions-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .75rem !important;
  margin-top: 1rem !important;
}
.mc-btn-save {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .4rem !important;
  background: #C5A15A !important;
  color: #151816 !important;
  font-weight: 700 !important;
  font-size: .9rem !important;
  text-decoration: none !important;
  padding: .9rem 1.5rem !important;
  border-radius: 12px !important;
  border: none !important;
  cursor: pointer !important;
  flex: 1 !important;
  min-width: 0 !important;
  font-family: var(--font-display) !important;
}
.mc-btn-save:hover { background: #e0b67d !important; }
.mc-btn-export {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .4rem !important;
  background: transparent !important;
  border: 1px solid rgba(197,161,90,0.45) !important;
  color: #C5A15A !important;
  font-weight: 600 !important;
  font-size: .9rem !important;
  text-decoration: none !important;
  padding: .9rem 1.5rem !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  flex: 1 !important;
  min-width: 0 !important;
  font-family: var(--font-display) !important;
}
.mc-btn-export:hover { background: rgba(197,161,90,.12) !important; }

/* ── Below-the-Fold Calculator Sections ── */
/* How-To cards — STAGE 01–04 with border-top: 3px solid #C5A15A */
.mc-howto-section {
  margin-top: 3rem !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
  padding-inline: 1.5rem !important;
}
.mc-howto-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 1.5rem !important;
}
@media (max-width: 800px) { .mc-howto-grid { grid-template-columns: 1fr !important; } }
.mc-howto-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-top: 3px solid #C5A15A !important;
  border-radius: 16px !important;
  padding: 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .75rem !important;
  box-shadow: 0 4px 14px rgba(23,61,43,.04) !important;
}
.mc-howto-stage {
  font-family: var(--font-mono) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  color: #C5A15A !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  display: block !important;
  margin-bottom: .25rem !important;
}
.mc-howto-card h3 {
  color: #173D2B !important;
  font-size: 1.1rem !important;
  margin: 0 !important;
  font-weight: 800 !important;
}
.mc-howto-card p {
  color: #151816 !important;
  font-size: .9375rem !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* Governing Equations & Methodology card — #FFFFFF */
.mc-equations-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 16px !important;
  padding: 1.75rem !important;
  margin-top: 2rem !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
  box-shadow: 0 4px 14px rgba(23,61,43,.04) !important;
}
.mc-equations-card h3 {
  color: #173D2B !important;
  font-size: 1.15rem !important;
  margin: 0 0 1rem !important;
  font-weight: 800 !important;
}
.mc-equation {
  background: #F7F7F3 !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 12px !important;
  padding: 1rem 1.25rem !important;
  margin-bottom: 1rem !important;
  font-family: var(--font-mono) !important;
  font-size: .9rem !important;
  color: #173D2B !important;
  overflow-x: auto !important;
}

/* Reference Benchmark Table — #173D2B thead */
.mc-benchmark-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-top: 1rem !important;
  font-size: .9rem !important;
}
.mc-benchmark-table thead th {
  background: #173D2B !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  font-size: .75rem !important;
  padding: .85rem 1rem !important;
  text-align: left !important;
  border: 1px solid rgba(197,161,90,.35) !important;
}
.mc-benchmark-table tbody td {
  background: #FFFFFF !important;
  color: #151816 !important;
  padding: .75rem 1rem !important;
  border: 1px solid rgba(197,161,90,.22) !important;
}

/* 2-column Calculator FAQ */
.mc-faq-section {
  margin-top: 3rem !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
  padding-inline: 1.5rem !important;
}
.mc-faq-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 1.5rem !important;
}
@media (max-width: 800px) { .mc-faq-grid { grid-template-columns: 1fr !important; } }
.mc-faq-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 14px !important;
  padding: 1.5rem !important;
  box-shadow: 0 4px 14px rgba(23,61,43,.04) !important;
}
.mc-faq-card q {
  color: #276A47 !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  display: block !important;
  margin-bottom: .5rem !important;
  quotes: none !important;
}
.mc-faq-card p {
  color: #151816 !important;
  font-size: .9375rem !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* Related Calculators in this Suite */
.mc-related-tools {
  margin-top: 3rem !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
  padding-inline: 1.5rem !important;
}
.mc-related-tools h3 {
  color: #173D2B !important;
  font-size: 1.15rem !important;
  margin: 0 0 1rem !important;
  font-weight: 800 !important;
}
.mc-related-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
}
@media (max-width: 900px) { .mc-related-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 560px) { .mc-related-grid { grid-template-columns: 1fr !important; } }
.mc-related-tool-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 16px !important;
  padding: 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .75rem !important;
  box-shadow: 0 4px 14px rgba(23,61,43,.04) !important;
  text-decoration: none !important;
}
.mc-related-tool-card:hover {
  border-color: #C5A15A !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 32px rgba(23,61,43,.12) !important;
}
.mc-related-tool-card h4 {
  color: #173D2B !important;
  font-size: 1rem !important;
  margin: 0 !important;
  font-weight: 800 !important;
}
.mc-related-tool-card p {
  color: #151816 !important;
  font-size: .875rem !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  margin-top: auto !important;
}

/* ============================================================================
   ITEM 7 — Author, Search, Grow Room, About, FAQ, Contact & 404 templates
   High-specificity overrides for author.css, search.css, and inline styles.
   ============================================================================ */

/* ── Author Template ── */
body.author .mc-author-hero,
.author .mc-author-hero,
body.author .hero.mc-author-hero {
  position: relative; overflow: hidden;
  border-bottom: none !important;
  color: #173D2B !important;
}
body.author .mc-author-hero .hero-title,
.author .mc-author-hero .hero-title {
  color: #173D2B !important;
}
body.author .mc-author-hero .hero-lede,
.author .mc-author-hero .hero-lede {
  color: #3C473F !important;
}
body.author .mc-author-hero-card,
.author .mc-author-hero-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 16px !important;
  padding: 1.5rem !important;
  color: #151816 !important;
}
body.author .mc-author-hero-card img,
.author .mc-author-hero-card img {
  border: 3px solid #C5A15A !important;
  border-radius: 50% !important;
}
body.author .mc-author-hero-card strong,
.author .mc-author-hero-card strong {
  color: #173D2B !important;
  font-weight: 800 !important;
}
body.author .mc-author-hero-card small,
.author .mc-author-hero-card small {
  color: #276A47 !important;
  font-weight: 600 !important;
}
body.author .mc-author-hero-stat,
.author .mc-author-hero-stat {
  background: #F7F7F3 !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 10px !important;
  padding: .85rem 1rem !important;
  color: #151816 !important;
  margin-bottom: .75rem !important;
}
body.author .mc-author-hero-stat b,
.author .mc-author-hero-stat b {
  color: #173D2B !important;
  font-weight: 800 !important;
}

/* Authored guides grid — 3-column #FFFFFF cards */
body.author #authored-guides .grid,
.author #authored-guides .grid {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
}
@media (max-width: 900px) {
  body.author #authored-guides .grid,
  .author #authored-guides .grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 560px) {
  body.author #authored-guides .grid,
  .author #authored-guides .grid { grid-template-columns: 1fr !important; }
}
body.author #authored-guides article,
.author #authored-guides article {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 14px rgba(23,61,43,.04) !important;
}
body.author #authored-guides h3,
.author #authored-guides h3 {
  color: #173D2B !important;
}
body.author #authored-guides a[href*="the_permalink"],
.author #authored-guides a[href*="the_permalink"],
body.author #authored-guides .group-hover:text-secondary,
.author #authored-guides .group-hover:text-secondary {
  color: #173D2B !important;
}

/* ── Search Results ── */
body.search .mc-srch-hero,
.search .mc-srch-hero,
body.search .hero.mc-srch-hero {
  background:
    radial-gradient(circle at 10% 20%, rgba(197, 161, 90, 0.24) 0%, transparent 45%),
    radial-gradient(circle at 90% 80%, rgba(39, 106, 71, 0.16) 0%, transparent 50%),
    radial-gradient(circle at 50% 50%, rgba(244, 241, 232, 0.8) 0%, rgba(234, 228, 211, 0.95) 100%),
    linear-gradient(135deg, #F7F5EE 0%, #E8E1CD 100%) !important;
  color: #173D2B !important;
  border-bottom: 1px solid rgba(197,161,90,0.38) !important;
}
body.search .mc-srch-hero .hero-title,
.search .mc-srch-hero .hero-title {
  color: #173D2B !important;
}
body.search .mc-srch-hero .hero-lede,
.search .mc-srch-hero .hero-lede {
  color: #3C473F !important;
}
body.search .mc-srch-form,
.search .mc-srch-form {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
body.search .mc-srch-form input,
.search .mc-srch-form input {
  color: #151816 !important;
}
body.search .mc-srch-pill,
.search .mc-srch-pill {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  color: #173D2B !important;
  font-weight: 600 !important;
}
body.search .mc-srch-pill.is-active,
.search .mc-srch-pill.is-active {
  background: #C5A15A !important;
  color: #151816 !important;
  font-weight: 700 !important;
  border-color: #C5A15A !important;
}

/* Search result cards — #FFFFFF unified cards */
body.search .mc-srch-card,
.search .mc-srch-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 14px rgba(23,61,43,.04) !important;
  color: #151816 !important;
}
body.search .mc-srch-card--lead,
.search .mc-srch-card--lead {
  border-left: 4px solid #C5A15A !important;
}
body.search .mc-srch-card-title a,
.search .mc-srch-card-title a {
  color: #173D2B !important;
  font-weight: 800 !important;
}
body.search .mc-srch-chip--forest,
.search .mc-srch-chip--forest {
  background: rgba(39,106,71,.12) !important;
  color: #276A47 !important;
  border: 1px solid rgba(39,106,71,.24) !important;
}
body.search .mc-srch-link--btn,
.search .mc-srch-link--btn,
body.search .mc-srch-link,
.search .mc-srch-link {
  background: #173D2B !important;
  color: #FFFFFF !important;
  border-radius: 10px !important;
}
body.search .mc-srch-link:hover,
.search .mc-srch-link:hover {
  background: #276A47 !important;
}
mark.mc-srch-mark {
  background: #C5A15A !important;
  color: #151816 !important;
  font-weight: 700 !important;
  padding: 0 .15rem !important;
  border-radius: 2px !important;
}

/* ── Grow Room ── */
.mc-growroom-hero,
body .hero.mc-growroom-hero {
  background:
    radial-gradient(circle at 10% 20%, rgba(197, 161, 90, 0.24) 0%, transparent 45%),
    radial-gradient(circle at 90% 80%, rgba(39, 106, 71, 0.16) 0%, transparent 50%),
    radial-gradient(circle at 50% 50%, rgba(244, 241, 232, 0.8) 0%, rgba(234, 228, 211, 0.95) 100%),
    linear-gradient(135deg, #F7F5EE 0%, #E8E1CD 100%) !important;
  color: #173D2B !important;
  border-bottom: 1px solid rgba(197,161,90,0.38) !important;
}
.mc-growroom-hero .hero-title,
.mc-growroom-hero .hero-lede {
  color: #173D2B !important;
}
.gr-hero-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 16px !important;
  padding: 1.5rem !important;
  color: #151816 !important;
}
.gr-hero-row b {
  color: #173D2B !important;
  font-weight: 800 !important;
}
.gr-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 14px rgba(23,61,43,.04) !important;
}
.gr-h2 {
  color: #173D2B !important;
  font-weight: 800 !important;
}
.gr-input {
  background: #F7F7F3 !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  color: #173D2B !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
}
.gr-act {
  background: #F7F7F3 !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  color: #173D2B !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
}
.gr-act--danger {
  border-color: rgba(185,111,82,.35) !important;
  color: #8F4527 !important;
}
.gr-snap {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 14px !important;
}
.gr-snap-tag {
  background: rgba(39,106,71,.12) !important;
  color: #276A47 !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  font-size: .7rem !important;
  padding: .2rem .6rem !important;
}
.cta-forest {
  color: #F7F7F3 !important;
  font-weight: 700 !important;
}

/* ── About ── */
.page-about .about-hero,
.page-about .hero.about-hero {
  position: relative; overflow: hidden;
  color: #173D2B !important;
  border-bottom: none !important;
}
.page-about .about-hero .hero-title,
.page-about .about-hero h1 {
  color: #173D2B !important;
}
.page-about .about-hero .hero-hl {
  color: #C5A15A !important;
}
.page-about .about-hero .hero-lede {
  color: #3C473F !important;
}
.page-about .about-metric {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 16px !important;
  color: #151816 !important;
}
.page-about .about-metric-value b {
  color: #173D2B !important;
  font-weight: 800 !important;
}
.page-about .about-metric-title {
  color: #276A47 !important;
  font-weight: 700 !important;
}
.page-about .source-card,
.page-about article.source-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 16px !important;
  color: #151816 !important;
}
.page-about .source-card h3 {
  color: #173D2B !important;
}
.page-about .filter-pill.is-active,
.page-about .filter-pill[aria-pressed="true"] {
  background: #C5A15A !important;
  color: #151816 !important;
  font-weight: 700 !important;
  border-color: #C5A15A !important;
}
.page-about .filter-pill {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  color: #173D2B !important;
}
.page-about .about-faq details,
.page-about .about-faq details[data-faq-cat] {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 14px !important;
  color: #151816 !important;
}
.page-about .about-faq summary {
  color: #173D2B !important;
  font-weight: 700 !important;
}

/* ── FAQ ── */
.page-faq .faq-hero,
.page-faq .hero.faq-hero {
  position: relative; overflow: hidden;
  color: #173D2B !important;
  border-bottom: none !important;
}
.page-faq .faq-hero .hero-title,
.page-faq .faq-hero h1 {
  color: #173D2B !important;
}
.page-faq .faq-hero .hero-hl {
  color: #C5A15A !important;
}
.page-faq .faq-hero .hero-lede {
  color: #3C473F !important;
}

/* ── Contact ── */
.page-contact .contact-hero,
.page-contact .hero.contact-hero {
  position: relative; overflow: hidden;
  color: #173D2B !important;
  border-bottom: none !important;
}
.page-contact .contact-hero .hero-title,
.page-contact .contact-hero h1 {
  color: #173D2B !important;
}
.page-contact .contact-hero .hero-lede {
  color: #3C473F !important;
}
.page-contact .contact-dispatch-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 16px !important;
  padding: 1.5rem !important;
  color: #151816 !important;
}
.page-contact .contact-addr-mail {
  color: #173D2B !important;
  font-weight: 700 !important;
}
.page-contact .contact-addr-label {
  color: #276A47 !important;
  font-weight: 600 !important;
}
.page-contact .dual-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 14px !important;
  color: #151816 !important;
}
.page-contact .dual-card-name {
  color: #173D2B !important;
  font-weight: 800 !important;
}

/* ── 404 ── */
.mc-404-hero,
.hero.mc-404-hero {
  background: #173D2B !important;
  color: #FFFFFF !important;
  border-bottom: 1px solid rgba(197,161,90,0.28) !important;
}
.mc-404-hero .hero-title,
.mc-404-hero h1 {
  color: #FFFFFF !important;
}
.mc-404-hero .hero-lede {
  color: rgba(255,255,255,.9) !important;
}
.mc-404-search {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
.mc-404-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(197,161,90,0.28) !important;
  border-radius: 16px !important;
  color: #151816 !important;
  text-decoration: none !important;
}
.mc-404-card-name {
  color: #173D2B !important;
  font-weight: 800 !important;
}
.mc-404-card-go {
  color: #276A47 !important;
  font-weight: 700 !important;
}
.mc-404-card:hover {
	border-color: #C5A15A !important;
	transform: translateY(-4px) !important;
}

/* ------------------------------------------------------------------
   Cookie banner: guaranteed-close via hidden attribute + is-hidden
   These rules override any conflicting inline/display rules so the
   banner always disappears when Accept / Decline is clicked.
   ------------------------------------------------------------------ */
#mc-consent[hidden],
.consent-banner[hidden],
#mc-consent.is-hidden,
.consent-banner.is-hidden {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* =========================================================================
   ITEM 1 — Single calculator hero: Light Warm Parchment Editorial Hero
   Overrides the muddy dark gradient / pseudo-overlay shipped in the
   single-tool mock sheet. theme.css is the last cascade layer and wins.
   ========================================================================= */

/* Crumb bar on single tool pages (.mc-crumbbar == .mc-crumb) */
body .mc-v3 .mc-crumbbar,
.mc-v3 .mc-crumbbar,
body .mc-v3 .mc-crumb,
.mc-v3 .mc-crumb {
  background: #EFECE2 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(197, 161, 90, 0.28) !important;
  color: #4A5B4F !important;
}
body .mc-v3 .mc-crumbbar a,
.mc-v3 .mc-crumbbar a,
body .mc-v3 .mc-crumb a,
.mc-v3 .mc-crumb a { color: #276A47 !important; font-weight: 600 !important; }

/* Hero wrapper — bright warm parchment, kill every dark pseudo overlay */
body .mc-v3 .mc-hero,
.mc-v3 .mc-hero {
  background: linear-gradient(135deg, #F4F1E8 0%, #EAE4D3 100%) !important;
  color: #151816 !important;
  border-bottom: 1px solid rgba(197, 161, 90, 0.32) !important;
  position: relative !important;
  padding: clamp(2.75rem, 5vw, 4rem) 0 !important;
  border-top: 0 !important;
}
body .mc-v3 .mc-hero::before,
body .mc-v3 .mc-hero::after,
.mc-v3 .mc-hero::before,
.mc-v3 .mc-hero::after {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  content: "" !important;
  box-shadow: none !important;
}
body .mc-v3 .mc-hero::before,
.mc-v3 .mc-hero::before {
  background-image:
    radial-gradient(circle at 12% 18%, rgba(197, 161, 90, 0.16) 0%, transparent 45%),
    radial-gradient(circle at 88% 82%, rgba(39, 106, 71, 0.10) 0%, transparent 50%),
    linear-gradient(to right, rgba(39, 106, 71, 0.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(39, 106, 71, 0.035) 1px, transparent 1px),
    linear-gradient(135deg, #F4F1E8 0%, #EAE4D3 100%) !important;
  background-size: auto, auto, 32px 32px, 32px 32px, 100% 100% !important;
  opacity: 1 !important;
  display: block !important;
}
body .mc-v3 .mc-hero::after,
.mc-v3 .mc-hero::after {
  background-image:
    radial-gradient(circle at 30% 20%, rgba(197, 161, 90, 0.06) 0%, transparent 38%),
    radial-gradient(circle at 75% 70%, rgba(39, 106, 71, 0.05) 0%, transparent 40%),
    radial-gradient(circle at 50% 50%, rgba(196, 109, 76, 0.04) 0%, transparent 55%) !important;
  opacity: 0.18 !important;
  display: block !important;
}
body .mc-v3 .mc-hero .mc-hero-art,
.mc-v3 .mc-hero .mc-hero-art {
  position: absolute !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: 0.18 !important;
  height: auto !important;
  display: block !important;
}
body .mc-v3 .mc-hero .mc-hero-art.leaf-l,
.mc-v3 .mc-hero .mc-hero-art.leaf-l {
  top: 8% !important; left: 2% !important;
  width: clamp(7rem, 14vw, 13rem) !important;
  transform: rotate(-10deg) !important;
}
body .mc-v3 .mc-hero .mc-hero-art.leaf-r,
.mc-v3 .mc-hero .mc-hero-art.leaf-r {
  bottom: 10% !important; right: 3% !important;
  width: clamp(7rem, 14vw, 13rem) !important;
  transform: rotate(10deg) !important;
}
body .mc-v3 .mc-hero .mc-hero-art.sprig,
.mc-v3 .mc-hero .mc-hero-art.sprig {
  bottom: 1% !important; right: 1% !important;
  width: clamp(11rem, 24vw, 19rem) !important;
  opacity: 0.30 !important;
}
body .mc-v3 .mc-hero .crumb.site-breadcrumbs,
.mc-v3 .mc-hero .crumb.site-breadcrumbs {
  font-size: 0.78rem !important;
  color: #4A5B4F !important;
  margin-bottom: 1rem !important;
  grid-column: 1 / -1 !important;
  position: relative !important;
  z-index: 2 !important;
}
body .mc-v3 .mc-hero .crumb.site-breadcrumbs a,
.mc-v3 .mc-hero .crumb.site-breadcrumbs a {
  color: #276A47 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* Category badge */
.mc-v3 .mc-hero a[href*="/tools/"],
.mc-v3 .mc-hero .mc-cat-badge,
.mc-v3 .mc-hero .chip {
  background: #276A47 !important;
  color: #FFFFFF !important;
  border-radius: 999px !important;
}

/* Version badge (v4.2.1 Deterministic) */
.mc-v3 .mc-hero .mc-vers-chip,
.mc-v3 .mc-hero span[class*="py-1"][class*="rounded-md"],
.mc-v3 .mc-hero > .flex.flex-wrap > span:nth-child(2) {
  background: #FFFFFF !important;
  color: #173D2B !important;
  border: 1px solid rgba(197, 161, 90, 0.4) !important;
  border-radius: 999px !important;
}

/* Hero h1 */
.mc-v3 .mc-hero h1,
.mc-v3 .mc-hero #mc-tool-title,
.mc-v3 .mc-hero .mc-title {
  color: #173D2B !important;
  font-size: clamp(2.2rem, 4vw, 3.1rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

/* Hero subtitle (.mc-sub / .mc-hero p) */
.mc-v3 .mc-hero .mc-subtitle,
.mc-v3 .mc-hero .mc-sub,
.mc-v3 .mc-hero .mc-hero-desc,
.mc-v3 .mc-hero p {
  color: #3C473F !important;
  font-size: 1.05rem !important;
  line-height: 1.65 !important;
  max-width: 62ch !important;
}

/* Hero action buttons row */
.mc-v3 .mc-hero .mc-toolbar button,
.mc-v3 .mc-hero .mc-toolbar a {
  border-radius: 999px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}
.mc-v3 .mc-hero .mc-toolbar button[data-action="save-grow-toolbar"] {
  background: #276A47 !important;
  color: #FFFFFF !important;
  border: 1px solid #276A47 !important;
}
.mc-v3 .mc-hero .mc-toolbar button:not([data-action="save-grow-toolbar"]) {
  background: #FFFFFF !important;
  color: #173D2B !important;
  border: 1px solid rgba(23, 61, 43, 0.22) !important;
}
.mc-v3 .mc-hero .mc-toolbar button:not([data-action="save-grow-toolbar"]):hover {
  border-color: #C5A15A !important;
}

/* Right-hand Hero Donut / Preview Card (.mc-hcard / .mc-hero-card) */
.mc-v3 .mc-hero .mc-hcard,
.mc-v3 .mc-hero .mc-hero-card,
.mc-v3 .mc-hero .mc-hero-anatomy {
  background: #FFFFFF !important;
  border: 1px solid rgba(197, 161, 90, 0.35) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 32px rgba(23, 61, 43, 0.07) !important;
  color: #151816 !important;
}
.mc-v3 .mc-hero .mc-hcard .mc-donut-net,
.mc-v3 .mc-hero .mc-hero-card .mc-donut-net,
.mc-v3 .mc-hero .mc-donut-center .mc-donut-net {
  color: #173D2B !important;
}

/* =========================================================================
   ITEM 2 — Single calculator workbench: 1320px width, inputs card,
   Deep Forest Green output console, insight band, tabs, panels, related.
   ========================================================================= */

/* Workbench spans the full 1320px container, flush with navbar/hero/footer */
.mc-v3 .mc-wrap,
.mc-v3 .mc-container,
.mc-v3 .mc-bench-grid,
.mc-v3 .mc-bench-flow,
.mc-v3 .mc-insight,
.mc-v3 .mc-pagetabs-surface,
.mc-v3 .mc-ppanel,
.mc-v3 .mc-related,
.mc-v3 .mc-powered {
  max-width: 1320px !important;
  width: 100% !important;
  margin-inline: auto !important;
  padding-inline: clamp(1.25rem, 3vw, 2.5rem) !important;
}
.mc-v3 .mc-bench { padding-inline: 0 !important; }

/* 2-column workbench: Inputs (left) | LIVE OUTPUT (right) */
.mc-v3 .mc-bench-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(400px, 0.85fr) !important;
  gap: 1.75rem !important;
}
.mc-v3 .mc-bench-main,
.mc-v3 .mc-bench-side {
  grid-column: auto !important;
}
.mc-v3 .mc-bench-side { position: static !important; top: auto !important; }

/* Left Inputs Card (.mc-icard / .mc-inputs) */
.mc-v3 .mc-icard,
.mc-v3 .mc-inputs,
.mc-icard,
.mc-inputs {
  background: #FFFFFF !important;
  border: 1px solid rgba(197, 161, 90, 0.32) !important;
  border-radius: 20px !important;
  padding: 1.75rem !important;
  box-shadow: 0 8px 28px rgba(23, 61, 43, 0.04) !important;
}

/* Individual input parameter cells (.mc-field / .mc-param) */
.mc-v3 .mc-field,
.mc-v3 .mc-param,
.mc-field,
.mc-param {
  background: #F9F7F1 !important;
  border: 1px solid rgba(197, 161, 90, 0.25) !important;
  border-radius: 14px !important;
  padding: 1rem 1.15rem !important;
}

/* Slider track & thumb — never clips the field box */
.mc-v3 input[type="range"],
.mc-field input[type="range"],
.mc-param input[type="range"] {
  height: 6px !important;
  border-radius: 999px !important;
  accent-color: #276A47 !important;
}
.mc-v3 input[type="range"]::-webkit-slider-runnable-track,
.mc-field input[type="range"]::-webkit-slider-runnable-track,
.mc-param input[type="range"]::-webkit-slider-runnable-track {
  height: 6px !important;
  border-radius: 999px !important;
  background: #E2D8C5 !important;
  border: 0 !important;
}
.mc-v3 input[type="range"]::-webkit-slider-thumb,
.mc-field input[type="range"]::-webkit-slider-thumb,
.mc-param input[type="range"]::-webkit-slider-thumb {
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background: #276A47 !important;
  border: 0 !important;
  box-shadow: none !important;
  margin-top: -4px !important;
}

/* Numeric input box */
.mc-v3 input[type="number"],
.mc-field input[type="number"],
.mc-param input[type="number"] {
  background: #FFFFFF !important;
  border: 1px solid rgba(197, 161, 90, 0.4) !important;
  color: #173D2B !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  width: 88px !important;
  height: 38px !important;
  text-align: center !important;
  font-size: 1rem !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* Right LIVE OUTPUT Console Card (.mc-rcard / .mc-out-card / .mc-result-card) */
.mc-v3 .mc-rcard,
.mc-v3 .mc-out-card,
.mc-v3 .mc-result-card,
.mc-rcard,
.mc-out-card,
.mc-result-card {
  background: linear-gradient(160deg, #173D2B 0%, #102B1E 100%) !important;
  border: 1px solid rgba(197, 161, 90, 0.4) !important;
  border-radius: 20px !important;
  padding: 1.85rem !important;
  color: #FFFFFF !important;
  box-shadow: 0 16px 36px rgba(16, 43, 30, 0.16) !important;
}
.mc-v3 .mc-rcard *,
.mc-v3 .mc-out-card *,
.mc-v3 .mc-result-card * { color: inherit !important; }

/* Primary headline readout (Antique Gold) */
.mc-v3 .mc-rcard .val,
.mc-v3 .mc-out-card .val,
.mc-v3 .mc-result-card .val,
.mc-rcard .val,
.mc-out-card .val,
.mc-result-card .val,
.mc-v3 .mc-rcard [data-mc-out],
.mc-v3 .mc-out-card [data-mc-out],
.mc-v3 .mc-result-card [data-mc-out] {
  color: #C5A15A !important;
  font-weight: 800 !important;
}

/* Advisory / Status Banner inside output card */
.mc-v3 .mc-rcard .mc-result-status,
.mc-v3 .mc-out-card .mc-result-status,
.mc-v3 .mc-result-card .mc-result-status,
.mc-rcard .mc-result-status,
.mc-out-card .mc-result-status,
.mc-result-card .mc-result-status {
  background: rgba(197, 161, 90, 0.14) !important;
  border: 1px solid rgba(197, 161, 90, 0.35) !important;
  color: #F7F4EC !important;
  border-radius: 10px !important;
}

/* Secondary KPI sub-cells */
.mc-v3 .mc-rcard .mc-result-outgrid > div,
.mc-v3 .mc-out-card .mc-result-outgrid > div,
.mc-v3 .mc-result-card .mc-result-outgrid > div,
.mc-rcard .mc-result-outgrid > div,
.mc-out-card .mc-result-outgrid > div,
.mc-result-card .mc-result-outgrid > div {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(197, 161, 90, 0.22) !important;
  border-radius: 12px !important;
  padding: 0.85rem 1rem !important;
}
.mc-v3 .mc-rcard .mc-result-outgrid .font-mono.text-white,
.mc-v3 .mc-out-card .mc-result-outgrid .font-mono.text-white,
.mc-v3 .mc-result-card .mc-result-outgrid .font-mono.text-white,
.mc-rcard .mc-result-outgrid [data-mc-out],
.mc-out-card .mc-result-outgrid [data-mc-out],
.mc-result-card .mc-result-outgrid [data-mc-out] {
  color: #FFFFFF !important;
  font-weight: 700 !important;
}

/* Insight Band · LIVE, tabs, content panels, related tools cards */
.mc-v3 .mc-insight,
.mc-v3 .mc-pagetabs-surface,
.mc-v3 .mc-ppanel,
.mc-v3 .mc-tab-panel,
.mc-insight,
.mc-pagetabs-surface,
.mc-ppanel,
.mc-tab-panel {
  background: #FFFFFF !important;
  border: 1px solid rgba(197, 161, 90, 0.28) !important;
  border-radius: 16px !important;
}
.mc-v3 .mc-ppanel,
.mc-v3 .mc-tab-panel,
.mc-ppanel,
.mc-tab-panel {
  border-radius: 20px !important;
  padding: clamp(1.75rem, 3.5vw, 2.5rem) !important;
  box-shadow: 0 8px 28px rgba(23, 61, 43, 0.04) !important;
}
.mc-v3 .mc-ppanel > *,
.mc-v3 .mc-tab-panel > * { margin: 0 !important; }

/* Tabs — active pill deep forest green */
.mc-v3 .mc-pagetabs .mc-ptab,
.mc-v3 .mc-tabbar .mc-tab,
.mc-pagetabs .mc-ptab,
.mc-tabbar .mc-tab {
  background: #FFFFFF !important;
  color: #173D2B !important;
  border: 1px solid rgba(197, 161, 90, 0.35) !important;
  border-radius: 999px !important;
}
.mc-v3 .mc-pagetabs .mc-ptab.active,
.mc-v3 .mc-tabbar .mc-tab.active,
.mc-pagetabs .mc-ptab.active,
.mc-tabbar .mc-tab.active {
  background: #173D2B !important;
  color: #FFFFFF !important;
  border-color: #173D2B !important;
}

/* Equation cards */
.mc-v3 .mc-equation,
.mc-equation {
  background: #FCFBF7 !important;
  border: 1px solid rgba(197, 161, 90, 0.3) !important;
  border-left: 4px solid #C5A15A !important;
  border-radius: 12px !important;
}

/* Related tools cards */
.mc-v3 .mc-related-card,
.mc-related-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(197, 161, 90, 0.28) !important;
  border-radius: 16px !important;
}

/* =========================================================================
   ITEM 3 — #engines-h2 em-dash: remove any dark background box so the
   heading renders as clean #173D2B text.
   ========================================================================= */
#engines-h2,
#engines-h2::before,
#engines-h2::after {
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #173D2B !important;
}
#engines-h2 { display: inline-block !important; }

/* =========================================================================
   ITEM 5 — Light Warm Parchment "Explore the MistCulture Engine &
   Knowledge Architecture" section (.hub-arch-section). Separates the dark
   Local Agronomy Vault from the dark Newsletter band.
   ========================================================================= */
.hub-arch-section,
.contact-explore-section.engine-knowledge-cta {
  background: linear-gradient(180deg, #F3EFE4 0%, #EAE4D3 100%) !important;
  border: 1px solid rgba(197, 161, 90, 0.32) !important;
  border-top: 1px solid rgba(197, 161, 90, 0.32) !important;
  border-bottom: 1px solid rgba(197, 161, 90, 0.32) !important;
  padding: clamp(3.5rem, 6vw, 5rem) 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
.hub-arch-section .contact-block-head,
.contact-explore-section.engine-knowledge-cta .contact-block-head {
  background: transparent !important;
}
.hub-arch-section #hub-eco-title,
.contact-explore-section.engine-knowledge-cta #hub-eco-title,
.contact-explore-section.engine-knowledge-cta #contact-explore-title {
  color: #173D2B !important;
}
.hub-arch-section .contact-block-head .small,
.contact-explore-section.engine-knowledge-cta .contact-block-head .small {
  color: #3C473F !important;
}
.hub-arch-section .chip,
.contact-explore-section.engine-knowledge-cta .chip {
  background: rgba(197, 161, 90, 0.2) !important;
  color: #173D2B !important;
  border: 1px solid rgba(197, 161, 90, 0.45) !important;
}
.hub-arch-section .dual-tabbar,
.contact-explore-section.engine-knowledge-cta .dual-tabbar {
  background: #FFFFFF !important;
  border: 1px solid rgba(197, 161, 90, 0.35) !important;
  padding: 0.3rem !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  gap: 0 !important;
}
.hub-arch-section .dual-tab.is-active,
.contact-explore-section.engine-knowledge-cta .dual-tab.is-active {
  background: #276A47 !important;
  color: #FFFFFF !important;
  border-color: #276A47 !important;
}
.hub-arch-section .dual-tab,
.contact-explore-section.engine-knowledge-cta .dual-tab {
  background: transparent !important;
  color: #173D2B !important;
  border: 1px solid rgba(197, 161, 90, 0.35) !important;
}
.hub-arch-section .dual-card,
.contact-explore-section.engine-knowledge-cta .dual-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(197, 161, 90, 0.32) !important;
  border-radius: 16px !important;
  color: #151816 !important;
}
.hub-arch-section .dual-card-ico,
.contact-explore-section.engine-knowledge-cta .dual-card-ico {
  background: #EBF3EE !important;
  color: #276A47 !important;
}
.hub-arch-section .dual-card-name,
.contact-explore-section.engine-knowledge-cta .dual-card-name {
  color: #173D2B !important;
}
.hub-arch-section .dual-card-desc,
.contact-explore-section.engine-knowledge-cta .dual-card-desc {
  color: #4A5B4F !important;
}
.hub-arch-section .dual-card-go,
.contact-explore-section.engine-knowledge-cta .dual-card-go {
  color: #276A47 !important;
}

/* =========================================================================
   ITEM 1 — hub-arch-section: high-specificity overrides to kill any
   .mc-band--dark background image / ::before ::after overlay and center
   the header + tabbar.
   ========================================================================= */
body .hub-arch-section,
body .engine-knowledge-cta,
body section.mc-band.hub-arch-section,
body section.mc-band--dark.hub-arch-section,
body .contact-explore-section.engine-knowledge-cta {
  background: linear-gradient(180deg, #F4F1E8 0%, #EAE4D3 100%) !important;
  background-image: linear-gradient(180deg, #F4F1E8 0%, #EAE4D3 100%) !important;
  color: #151816 !important;
  border-top: 1px solid rgba(197, 161, 90, 0.32) !important;
  border-bottom: 1px solid rgba(197, 161, 90, 0.32) !important;
  padding: clamp(3.5rem, 6vw, 5rem) 0 !important;
  margin: 0 !important;
  position: relative !important;
}
body .hub-arch-section::before,
body .hub-arch-section::after,
body .engine-knowledge-cta::before,
body .engine-knowledge-cta::after,
body section.mc-band--dark.hub-arch-section::before,
body section.mc-band--dark.hub-arch-section::after,
body .contact-explore-section.engine-knowledge-cta::before,
body .contact-explore-section.engine-knowledge-cta::after {
  display: none !important;
  background: none !important;
  background-image: none !important;
  content: none !important;
  box-shadow: none !important;
  opacity: 0 !important;
}
body .hub-arch-section .contact-block-head,
body .contact-explore-section.engine-knowledge-cta .contact-block-head {
  text-align: center !important;
  max-width: 680px !important;
  margin: 0 auto 1.75rem auto !important;
  background: transparent !important;
}
body .hub-arch-section #hub-eco-title,
body .hub-arch-section h2,
body .contact-explore-section.engine-knowledge-cta #contact-explore-title {
  color: #173D2B !important;
}
body .hub-arch-section .contact-block-head p,
body .contact-explore-section.engine-knowledge-cta .contact-block-head p {
  color: #3C473F !important;
}
body .hub-arch-section .dual-tabbar,
body .contact-explore-section.engine-knowledge-cta .dual-tabbar {
  display: inline-flex !important;
  width: auto !important;
  margin: 0 auto 2.25rem auto !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(197, 161, 90, 0.38) !important;
  border-radius: 999px !important;
  padding: 0.35rem !important;
  gap: 0.35rem !important;
  box-shadow: 0 4px 14px rgba(23, 61, 43, 0.06) !important;
}
body .hub-arch-section .container,
body .contact-explore-section.engine-knowledge-cta .container {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
body .hub-arch-section .dual-panel,
body .contact-explore-section.engine-knowledge-cta .dual-panel {
  width: 100% !important;
}

/* =========================================================================
   ITEM 4 — mc-control-grid: slider + number input side-by-side in a grid
   that never fights for horizontal space.
   ========================================================================= */
.mc-control-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 88px !important;
  gap: 0.85rem !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0.5rem 0 !important;
}
.mc-control-grid input[type="range"] {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  height: 6px !important;
  border-radius: 999px !important;
  background: #E2DDD0 !important;
  border: 0 !important;
  accent-color: #276A47 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.mc-control-grid input[type="range"]::-webkit-slider-runnable-track {
  height: 6px !important;
  border-radius: 999px !important;
  background: #E2DDD0 !important;
  border: 0 !important;
}
.mc-control-grid input[type="range"]::-webkit-slider-thumb {
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background: #276A47 !important;
  border: 0 !important;
  box-shadow: none !important;
  margin-top: -4px !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.mc-control-grid input[type="range"]::-moz-range-track {
  height: 6px !important;
  border-radius: 999px !important;
  background: #E2DDD0 !important;
}
.mc-control-grid input[type="range"]::-moz-range-thumb {
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background: #276A47 !important;
  border: 0 !important;
}
.mc-control-grid input[type="number"] {
  width: 88px !important;
  height: 38px !important;
  padding: 0 0.5rem !important;
  text-align: center !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  color: #173D2B !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(197, 161, 90, 0.45) !important;
  border-radius: 10px !important;
  box-sizing: border-box !important;
}
.mc-v3 .mc-control-grid > div { width: 100% !important; }

/* =========================================================================
   Single calculator — FAQ cards (Overview / FAQ tab panels)
   ========================================================================= */
.mc-steps-bento {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 1.25rem !important;
}
.mc-step-card {
  background: #FCFBF7 !important;
  border: 1px solid rgba(197, 161, 90, 0.3) !important;
  border-top: 3px solid #C5A15A !important;
  border-radius: 14px !important;
  padding: 1.25rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}
.mc-step-badge {
  font-family: var(--font-mono) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #7A5A1F !important;
}
.mc-step-title {
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  color: #173D2B !important;
  line-height: 1.35 !important;
}
.mc-step-desc {
  font-size: 0.9375rem !important;
  line-height: 1.7 !important;
  color: #151816 !important;
  margin: 0 !important;
}
.mc-rel-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(197, 161, 90, 0.28) !important;
  border-radius: 16px !important;
  padding: 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
  box-shadow: 0 4px 14px rgba(23, 61, 43, 0.04) !important;
  text-decoration: none !important;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.mc-rel-card:hover {
  border-color: #C5A15A !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 32px rgba(23, 61, 43, 0.12) !important;
}
.mc-rel-name {
  color: #173D2B !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}
.mc-rel-foot {
  margin-top: auto !important;
  padding-top: 0.85rem !important;
  border-top: 1px solid rgba(197, 161, 90, 0.22) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* =========================================================================
   Single calculator — FAQ cards (Overview / FAQ tab panels)
   ========================================================================= */
.mc-v3 .mc-faq .mc-faq-item,
.mc-faq-item {
  background: #FCFBF7 !important;
  border: 1px solid rgba(197, 161, 90, 0.3) !important;
  border-radius: 14px !important;
  padding: 1.1rem 1.4rem !important;
  margin-bottom: 0.75rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.mc-v3 .mc-faq .mc-faq-item[open] .mc-faq-answer,
.mc-faq-item[open] .mc-faq-answer {
  padding-top: 0.85rem !important;
  margin-top: 0.85rem !important;
  border-top: 1px solid rgba(197, 161, 90, 0.2) !important;
}
.mc-v3 .mc-faq .mc-faq-summary .mc-faq-q,
.mc-faq-summary .mc-faq-q {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.mc-v3 .mc-faq .mc-faq-summary .mc-faq-chev,
.mc-faq-summary .mc-faq-chev {
  flex: none !important;
}

/* Inner cards/boxes inside Overview, Assumptions & limits, Sources — text never touches a border */
.mc-v3 .mc-ppanel .mc-step-card,
.mc-v3 .mc-ppanel .mc-equation,
.mc-v3 .mc-ppanel .mc-constant,
.mc-v3 .mc-ppanel .mc-refs li,
.mc-v3 .mc-ppanel .mc-notes p,
.mc-v3 .mc-ppanel > .flex > div,
.mc-ppanel .mc-step-card,
.mc-ppanel .mc-equation,
.mc-ppanel .mc-constant,
.mc-ppanel .mc-refs li {
  padding: 1.5rem 1.75rem !important;
  border-radius: 14px !important;
  background: #FCFBF7 !important;
  border: 1px solid rgba(197, 161, 90, 0.25) !important;
}

/* =========================================================================
   Single calculator — Embed tab panel preview + copy
   ========================================================================= */
.mc-v3 .mc-embed-panel,
.mc-v3 .mc-embed-panel .mc-embed-preview-wrap,
.mc-v3 .mc-embed-panel .mc-embed-code-wrap {
  min-width: 0 !important;
}
.mc-v3 .mc-embed-panel .mc-embed-preview-wrap {
  gap: 0.75rem !important;
}
.mc-v3 .mc-embed-panel .mc-embed-preview {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}
.mc-v3 .mc-embed-panel .mc-embed-copy {
  background: #173D2B !important;
  color: #FFFFFF !important;
  border: 0 !important;
}
.mc-v3 .mc-embed-panel .mc-embed-copy:hover {
  background: #276A47 !important;
}

/* =========================================================================
   Single calculator — responsive overhaul (1024 / 768 / 390)
   ========================================================================= */
@media (max-width: 1024px) {
  .mc-v3 .mc-bench-grid,
  .mc-v3 .mc-hero > div,
  .mc-v3 .mc-insight,
  .mc-v3 .mc-pagetabs-surface,
  .mc-v3 .mc-ppanel,
  .mc-v3 .mc-related {
    grid-template-columns: minmax(0, 1fr) !important;
    display: grid !important;
  }
  .mc-v3 .mc-bench-main,
  .mc-v3 .mc-bench-side,
  .mc-v3 .mc-hero .mc-hcard,
  .mc-v3 .mc-hero .mc-hero-card {
    grid-column: 1 / -1 !important;
    position: static !important;
    top: auto !important;
  }
}
@media (max-width: 768px) {
  .mc-v3 .mc-grid2,
  .mc-v3 .mc-grid2 > .mc-field,
  .mc-v3 .mc-grid2 > .mc-param {
    grid-template-columns: 1fr !important;
  }
  .mc-v3 .mc-hero-art.sprig { width: clamp(7rem, 18vw, 12rem) !important; }
  .mc-primary-nav,
  .primary-nav {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    transform: translatey(-100%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: transform .25s ease, opacity .25s ease !important;
  }
  [data-drawer-open] ~ .mc-primary-nav,
  [data-drawer-open] ~ .primary-nav,
  body.drawer-open .mc-primary-nav,
  body.drawer-open .primary-nav {
    transform: translatey(0) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}
@media (max-width: 390px) {
  .mc-v3 .mc-bench-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  .mc-v3 .mc-control-grid {
    grid-template-columns: minmax(0, 1fr) 80px !important;
    gap: 0.65rem !important;
  }
  .mc-v3 .mc-control-grid input[type="number"] { width: 80px !important; }
  .mc-v3 .mc-hero-art.sprig { width: clamp(6rem, 16vw, 10rem) !important; }
}

/* Grid collapses shared by multiple templates */
.engine-grid,
.dual-grid,
.sop-timeline,
.grid-3,
.mc-v3 .engine-grid,
.mc-v3 .dual-grid,
.mc-v3 .sop-timeline,
.mc-v3 .grid-3 {
  grid-template-columns: 1fr !important;
}
@media (min-width: 640px) and (max-width: 1024px) {
  .engine-grid,
  .dual-grid,
  .sop-timeline,
  .grid-3,
  .mc-v3 .engine-grid,
  .mc-v3 .dual-grid,
  .mc-v3 .sop-timeline,
  .mc-v3 .grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Tables scroll smoothly without stretching documentElement.scrollWidth */
.benchmark-table-wrap,
#hub-matrix,
.mc-v3 .benchmark-table-wrap,
.mc-v3 #hub-matrix {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  max-width: 100% !important;
}
