/* Ashfount design system (round 5, 17 October 2026).
   The last stylesheet on every page, after the page's own CSS. One page container, one hero, one
   section heading style, one body size, one primary and one secondary button, one link style, one
   header and one footer. /about-us/ keeps its own body; only the header and footer rules reach it,
   because every body rule below hangs on a class that page does not use. */

:root {
  --ds-max: 1200px;                       /* content width of the page container */
  --ds-gutter: clamp(20px, 4vw, 40px);    /* side gutter, the same for header, heroes, sections and footer */
  --ds-read: 720px;                       /* reading column for running text */
  --ds-green: #4d985b;                    /* brand green: header bar, accents */
  --ds-green-btn: #3b7f48;                /* brand green one step deeper: buttons (white text 4.9:1) */
  --ds-green-dark: #2f6b3a;               /* links, hover (6.4:1 on white) */
  --ds-ink: #151617;
  --ds-text: #2b2f2b;
  --ds-muted: #5d645c;
  --ds-mint: #e7f0e8;
  --ds-cream: #f8f3e8;
  --ds-line: #dfe3dd;
  --ds-radius: 12px;
  --ds-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 8px 24px rgba(0, 0, 0, .06);
  --ds-head: Mulish, "Helvetica Neue", Arial, sans-serif;
  --ds-body: Lato, "Helvetica Neue", Arial, sans-serif;
  --ds-body-size: 18px;
  --ds-h1: clamp(36px, 4.2vw, 60px);
  --ds-h2: clamp(28px, 2.5vw, 36px);
  --ds-h3: 22px;
}
@media (max-width: 980px) { :root { --ds-body-size: 17px; } }

/* ── Container ─────────────────────────────────────────────────────────── */
html body .ash-container,
html body .ash-header__inner,
html body .ash-footer__inner,
html body .ash-footer__bottom-inner,
html body .ash-hero__inner {
  width: min(var(--ds-max), calc(100% - 2 * var(--ds-gutter)));
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}

/* ── Type: one section heading, one body size ─────────────────────────── */
.ash-main, .ash-post-body { font-family: var(--ds-body); color: var(--ds-text); }
html body .ash-main .ash-h2,
html body .ash-main .ash-prose h2,
html body .ash-main .ash-split__text h2,
html body .ash-post-body .lele h2,
html body .ash-main .ash-related h2,
html body .ash-post-body .ash-related h2 {
  font-family: var(--ds-head); font-weight: 800; font-size: var(--ds-h2); line-height: 1.18; letter-spacing: -.01em;
  text-transform: none; color: var(--ds-ink); margin: 0 0 18px; padding: 0;
}
html body .ash-main .ash-prose h2:not(:first-child),
html body .ash-post-body .lele h2:not(:first-child) { margin-top: 48px; }
html body .ash-main .ash-h3,
html body .ash-main .ash-prose h3,
html body .ash-post-body .lele h3 {
  font-family: var(--ds-head); font-weight: 800; font-size: var(--ds-h3); line-height: 1.3; text-transform: none;
  color: var(--ds-ink); margin: 32px 0 10px; padding: 0;
}
html body .ash-post-body .lele h4 { font-family: var(--ds-head); font-weight: 800; font-size: 19px; line-height: 1.35; text-transform: none; color: var(--ds-ink); margin: 24px 0 8px; padding: 0; }
html body .ash-main .ash-prose,
html body .ash-main .ash-split__text,
html body .ash-post-body .lele {
  font-family: var(--ds-body); font-weight: 400; font-size: var(--ds-body-size); line-height: 1.7; color: var(--ds-text);
}
html body .ash-main .ash-prose { max-width: var(--ds-read); }
html body .ash-main .ash-prose p,
html body .ash-main .ash-split__text p,
html body .ash-post-body .lele p,
html body .ash-post-body .lele li,
html body .ash-main .ash-prose li {
  font-family: var(--ds-body); font-weight: 400; font-size: var(--ds-body-size); line-height: 1.7; color: var(--ds-text);
}
html body .ash-main .ash-prose p,
html body .ash-main .ash-split__text p,
html body .ash-post-body .lele p { margin: 0 0 1.1em; padding: 0; }
html body .ash-main .ash-prose ul, html body .ash-main .ash-prose ol,
html body .ash-post-body .lele ul, html body .ash-post-body .lele ol { margin: 0 0 1.2em; padding-left: 1.3em; }
html body .ash-main .ash-prose li, html body .ash-post-body .lele li { margin: 0 0 .45em; padding: 0; }
html body .ash-main .ash-prose strong, html body .ash-post-body .lele strong,
html body .ash-main .ash-prose b, html body .ash-post-body .lele b { font-weight: 700; color: var(--ds-ink); }
html body .ash-main .ash-prose blockquote, html body .ash-post-body .lele blockquote {
  margin: 28px 0; padding: 4px 0 4px 24px; border-left: 4px solid var(--ds-green); font-style: italic; color: var(--ds-ink); background: none;
}

/* ── Links in running text: underlined brand green; external links keep the small mark ── */
html body .ash-main .ash-prose a:not(.ash-btn),
html body .ash-main .ash-split__text a:not(.ash-btn),
html body .ash-post-body .lele a:not(.ash-btn):not(.button),
html body .ash-main .ash-case__body a:not(.ash-btn),
html body .ash-main .ash-contact-aside a,
html body .ash-main .ash-404__text a,
html body .ash-main .ash-stat__src a,
html body .ash-post-body .ash-related a {
  color: var(--ds-green-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; font-weight: inherit;
}
html body .ash-main .ash-prose a:not(.ash-btn):hover,
html body .ash-main .ash-split__text a:not(.ash-btn):hover,
html body .ash-post-body .lele a:not(.ash-btn):hover,
html body .ash-main .ash-case__body a:not(.ash-btn):hover { color: var(--ds-ink); text-decoration-thickness: 2px; }
.ash-btn.ash-ext::after, .ash-card.ash-ext::after { display: none !important; }

/* ── Buttons: one primary, one secondary ──────────────────────────────── */
html body .ash-btn,
html body .ash-post-body .riri input[type="submit"],
html body .ash-post-body .lele .et_pb_button,
html body .ash-post-body .lele a.bttns {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--ds-body); font-weight: 700; font-size: 17px; line-height: 1.2; letter-spacing: .01em; text-transform: none;
  color: #fff !important; background: var(--ds-green-btn); border: 2px solid var(--ds-green-btn); border-radius: 6px;
  padding: 13px 26px; margin: 0; text-decoration: none !important; cursor: pointer; box-shadow: none; transition: background-color .15s, border-color .15s, color .15s;
  -webkit-appearance: none; appearance: none; width: auto; height: auto;
}
html body .ash-btn::after, html body .ash-post-body .lele .et_pb_button::after { content: none; }
html body .ash-btn:hover, html body .ash-btn:focus-visible,
html body .ash-post-body .riri input[type="submit"]:hover { background: var(--ds-green-dark); border-color: var(--ds-green-dark); color: #fff !important; }
html body .ash-btn:focus-visible { outline: 3px solid var(--ds-ink); outline-offset: 2px; }
html body .ash-btn--secondary { background: transparent; color: var(--ds-green-dark) !important; border-color: var(--ds-green-btn); }
html body .ash-btn--secondary:hover, html body .ash-btn--secondary:focus-visible { background: var(--ds-mint); color: var(--ds-green-dark) !important; border-color: var(--ds-green-dark); }
html body .ash-btn--on-dark { color: #fff !important; border-color: #fff; background: transparent; }
html body .ash-btn--on-dark:hover, html body .ash-btn--on-dark:focus-visible { background: rgba(255, 255, 255, .14); color: #fff !important; border-color: #fff; }
html body .ash-btn--small { font-size: 16px; padding: 10px 18px; }
html body .ash-btn--green { background: var(--ds-green-btn); border-color: var(--ds-green-btn); }
html body .ash-actions, html body .ash-video { display: flex; flex-wrap: wrap; gap: 12px; margin: 8px 0 28px; padding: 0; }
html body .ash-video { margin: 4px 0 32px; }

/* ── Hero: one component on every page but /about-us/ ─────────────────── */
html body .ash-hero {
  position: relative; display: flex; align-items: flex-end; min-height: 460px; margin: 0; overflow: hidden;
  background: var(--ds-green-dark); color: #fff;
}
html body .ash-hero--home { min-height: min(80vh, 700px); }
html body .ash-hero--post, html body .ash-hero--listing { min-height: 420px; }
html body .ash-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; margin: 0; }
html body .ash-hero__scrim {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(8, 18, 10, .62) 0%, rgba(8, 18, 10, .38) 42%, rgba(8, 18, 10, .06) 78%),
    linear-gradient(0deg, rgba(8, 18, 10, .55) 0%, rgba(8, 18, 10, 0) 62%);
}
html body .ash-hero__inner { position: relative; z-index: 1; padding-top: 120px; padding-bottom: 56px; }
html body .ash-hero .ash-breadcrumb {
  display: flex; flex-wrap: wrap; align-items: baseline; font-family: var(--ds-head); font-weight: 600; font-size: 15px; line-height: 1.4;
  color: rgba(255, 255, 255, .92); margin: 0 0 12px; padding: 0; text-shadow: 0 1px 6px rgba(0, 0, 0, .45);
}
html body .ash-hero .ash-breadcrumb a { color: #fff; text-decoration: none; }
html body .ash-hero .ash-breadcrumb a:hover { text-decoration: underline; }
html body .ash-hero .ash-breadcrumb__sep { margin: 0 8px; opacity: .6; }
html body .ash-hero .ash-breadcrumb [aria-current] { font-weight: 400; }
html body .ash-hero .ash-hero__title {
  font-family: var(--ds-head); font-weight: 800; font-size: var(--ds-h1); line-height: 1.08; letter-spacing: -.015em; text-transform: none;
  color: #fff; max-width: 880px; margin: 0; padding: 0; text-shadow: 0 2px 16px rgba(0, 0, 0, .3);
}
html body .ash-hero--post .ash-hero__title { font-size: clamp(30px, 3.4vw, 48px); max-width: 960px; }
html body .ash-hero .ash-lede {
  font-family: var(--ds-body); font-weight: 400; font-size: 20px; line-height: 1.5; color: #fff; max-width: 680px;
  margin: 16px 0 0; padding: 0; text-shadow: 0 1px 8px rgba(0, 0, 0, .4);
}
html body .ash-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 0; padding: 0; }
@media (max-width: 980px) {
  html body .ash-hero { min-height: 380px; }
  html body .ash-hero--home { min-height: 540px; }
  html body .ash-hero--post, html body .ash-hero--listing { min-height: 340px; }
  html body .ash-hero__inner { padding-top: 96px; padding-bottom: 36px; }
  html body .ash-hero .ash-lede { font-size: 18px; }
  html body .ash-hero__scrim { background: linear-gradient(0deg, rgba(8, 18, 10, .72) 0%, rgba(8, 18, 10, .4) 55%, rgba(8, 18, 10, .12) 100%); }
}
@media (max-width: 600px) {
  html body .ash-hero .ash-hero__title { font-size: 34px; }
  html body .ash-hero--post .ash-hero__title { font-size: 28px; }
}

/* ── Sections ─────────────────────────────────────────────────────────── */
html body .ash-main .ash-section { padding: 72px 0; margin: 0; }
/* Two plain white sections in a row share one gap; a banded section keeps its own padding on both sides. */
html body .ash-main .ash-section:not(.ash-section--tint):not(.ash-section--mint):not(.ash-home-paths):not(.ash-home-join) + .ash-section:not(.ash-section--tint):not(.ash-section--mint):not(.ash-home-paths):not(.ash-home-join) { padding-top: 0; }
html body .ash-main .ash-section--tint { background: var(--ds-cream); }
html body .ash-main .ash-section--mint { background: var(--ds-mint); }
html body .ash-main .ash-page > .ash-section:first-child { padding-top: 64px; }
@media (max-width: 980px) {
  html body .ash-main .ash-section { padding: 48px 0; }
  html body .ash-main .ash-page > .ash-section:first-child { padding-top: 44px; }
}
html body .ash-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: -1px; padding: 0; border: 0; }

/* No eyebrow labels anywhere. */
html body .ash-kicker { display: none !important; }

/* ── Cards ────────────────────────────────────────────────────────────── */
html body .ash-main .ash-card { border-radius: var(--ds-radius); box-shadow: var(--ds-shadow); background: #fff; }
html body .ash-main .ash-card__title { font-family: var(--ds-head); font-weight: 800; font-size: 20px; line-height: 1.3; color: var(--ds-ink); text-transform: none; }
html body .ash-main .ash-card__title a { color: inherit; text-decoration: none; }
html body .ash-main .ash-card__title a:hover { color: var(--ds-green-dark); text-decoration: underline; }
html body .ash-main .ash-card__cat {
  font-family: var(--ds-body); font-weight: 700; font-size: 14px; letter-spacing: 0; text-transform: none; color: var(--ds-green-dark); padding-bottom: 8px;
}
html body .ash-main .ash-card__excerpt, html body .ash-main .ash-card__text { font-family: var(--ds-body); font-weight: 400; font-size: 16px; line-height: 1.6; color: var(--ds-text); }
html body .ash-main .ash-card__date { font-family: var(--ds-body); font-size: 15px; color: var(--ds-muted); }
html body .ash-main .ash-card__cta, html body .ash-main .ash-path-card__cta, html body .ash-main .ash-belief-card__cta {
  font-family: var(--ds-body); font-weight: 700; font-size: 16px; letter-spacing: 0; text-transform: none; color: var(--ds-green-dark);
}
html body .ash-main .ash-card__cta::after, html body .ash-main .ash-path-card__cta::after, html body .ash-main .ash-belief-card__cta::after,
html body .ash-more-link::after { content: " \2192"; }
html body .ash-main .ash-card--link:hover .ash-card__cta, html body .ash-main .ash-path-card:hover .ash-path-card__cta,
html body .ash-main .ash-belief-card:hover .ash-belief-card__cta { text-decoration: underline; text-underline-offset: 3px; }
html body .ash-main .ash-card__credit { font-size: 13px; color: var(--ds-muted); }
html body .ash-main .ash-chip { font-family: var(--ds-body); font-weight: 700; font-size: 15px; letter-spacing: 0; text-transform: none; }
html body .ash-main .ash-chip:not(.is-active) { color: var(--ds-green-dark); }
html body .ash-main .ash-chip.is-active { background: var(--ds-green-btn); color: #fff; }
html body .ash-main .ash-search input { font-size: 16px; }

/* Case studies: location and type as normal small text. */
html body .ash-main .ash-case__meta { display: block; font-family: var(--ds-body); font-weight: 400; font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--ds-muted); margin: 0 0 8px; padding: 0; }
html body .ash-main .ash-case__meta span { all: unset; }
html body .ash-main .ash-case__body p { font-size: var(--ds-body-size); line-height: 1.7; color: var(--ds-text); }

/* ── Images: no fade, no reveal; space reserved by width and height ───── */
html body img { transition: none; }
html body .et_animated, html body .et-waypoint, html body .et_pb_animation_off { opacity: 1 !important; animation: none !important; transform: none !important; }
html body .ash-main img, html body .ash-post-body img { height: auto; max-width: 100%; }
html body .ash-hero__img, html body .ash-main .ash-card__media img, html body .ash-home-paths__bg img, html body .ash-home-join__bg img { height: 100%; }
html body .ash-post-body .lele img { display: block; width: 100%; height: auto; border-radius: 8px; }
html body .ash-post-body .lele .ash-figure { margin: 32px 0; aspect-ratio: 16 / 9; background: var(--ds-mint); border-radius: 8px; overflow: hidden; }
html body .ash-post-body .lele .ash-figure img { height: 100%; object-fit: cover; }

/* ── Belief pages: reading column, illustrations beside it ────────────── */
html body .ash-article .ash-container { position: relative; }
html body .ash-article__body { max-width: var(--ds-read); }
html body .ash-article__body::after { content: ""; display: table; clear: both; }
html body .ash-aside-figure { margin: 8px auto 32px; padding: 0; max-width: 340px; text-align: center; }
html body .ash-aside-figure img { display: block; width: 100%; height: auto; margin: 0 auto; }
@media (min-width: 1180px) {
  html body .ash-aside-figure { float: right; clear: right; width: 300px; max-width: none; margin: 6px -356px 24px 0; }
}
@media (min-width: 1280px) {
  html body .ash-aside-figure { width: 340px; margin-right: -420px; }
}
@media (max-width: 1179px) { html body .ash-aside-figure { max-width: 300px; } }
html body .ash-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 28px 0 32px; clear: both; }
html body .ash-stat { background: var(--ds-mint); border-radius: var(--ds-radius); padding: 22px 22px 18px; }
html body .ash-main .ash-prose .ash-stat p { margin: 0; }
html body .ash-main .ash-prose .ash-stat__n { font-family: var(--ds-head); font-weight: 800; font-size: 40px; line-height: 1.1; color: var(--ds-green-dark); margin-bottom: 8px; }
html body .ash-main .ash-prose .ash-stat__what { font-size: 16px; line-height: 1.5; color: var(--ds-text); }
html body .ash-main .ash-prose .ash-stat__src { font-size: 14px; line-height: 1.5; color: var(--ds-muted); margin-top: 10px; }
@media (max-width: 600px) { html body .ash-stats { grid-template-columns: 1fr; } }
html body .ash-next {
  clear: both; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px;
  max-width: var(--ds-read); margin: 56px 0 0; padding: 32px 0 0; border-top: 1px solid var(--ds-line);
}
html body .ash-next__link { display: flex; flex-direction: column; text-decoration: none; }
html body .ash-next__label { font-family: var(--ds-body); font-size: 15px; color: var(--ds-muted); }
html body .ash-next__title { font-family: var(--ds-head); font-weight: 800; font-size: 24px; line-height: 1.25; color: var(--ds-green-dark); }
html body .ash-next__link:hover .ash-next__title { text-decoration: underline; text-underline-offset: 4px; }
html body .ash-next__title::after { content: " \2192"; }

/* /beliefs/: the nine cards */
html body .ash-belief-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
html body .ash-belief-card {
  display: flex; flex-direction: column; align-items: flex-start; padding: 28px 28px 26px; background: #fff; border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius); text-decoration: none; color: inherit; transition: border-color .15s, box-shadow .15s;
}
html body .ash-belief-card:hover { border-color: var(--ds-green); box-shadow: var(--ds-shadow); }
html body .ash-belief-card__icon { width: 72px; height: 72px; object-fit: contain; margin: 0 0 18px; }
html body .ash-belief-card__title { font-family: var(--ds-head); font-weight: 800; font-size: 22px; line-height: 1.3; color: var(--ds-ink); margin-bottom: 8px; }
html body .ash-belief-card__text { font-family: var(--ds-body); font-size: 16px; line-height: 1.6; color: var(--ds-text); margin-bottom: 18px; }
html body .ash-belief-card__cta { margin-top: auto; }
@media (max-width: 980px) { html body .ash-belief-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { html body .ash-belief-grid { grid-template-columns: 1fr; gap: 16px; } }

/* ── Home ─────────────────────────────────────────────────────────────── */
html body .ash-split--media { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
html body .ash-split__media { margin: 0; }
html body .ash-split__media img { display: block; width: 100%; height: auto; border-radius: var(--ds-radius); }
html body .ash-split__text > :last-child { margin-bottom: 0; }
html body .ash-split__text .ash-actions { margin: 24px 0 0; }
@media (max-width: 980px) { html body .ash-split--media { grid-template-columns: 1fr; gap: 32px; } }

html body .ash-main .ash-home-paths { position: relative; padding: 96px 0; overflow: hidden; }
html body .ash-home-paths__bg { position: absolute; inset: 0; margin: 0; }
html body .ash-home-paths__bg img { width: 100%; object-fit: cover; object-position: center 60%; }
html body .ash-home-paths .ash-container { position: relative; }
html body .ash-path-card {
  display: flex; flex-direction: column; padding: 32px 30px 28px; background: #fff; border-radius: var(--ds-radius);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .18); text-decoration: none; color: inherit;
}
html body .ash-path-card__title { font-family: var(--ds-head); font-weight: 800; font-size: 24px; line-height: 1.25; color: var(--ds-ink); margin-bottom: 10px; }
html body .ash-path-card__text { font-family: var(--ds-body); font-size: 17px; line-height: 1.6; color: var(--ds-text); margin-bottom: 20px; }
html body .ash-path-card__cta { margin-top: auto; }
html body .ash-main .ash-grid--3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 980px) { html body .ash-main .ash-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { html body .ash-main .ash-grid--3 { grid-template-columns: 1fr; } html body .ash-main .ash-home-paths { padding: 48px 0; } }

html body .ash-section-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; margin: 0 0 32px; }
html body .ash-section-head__text { max-width: var(--ds-read); }
html body .ash-section-head__text p { font-size: var(--ds-body-size); line-height: 1.65; color: var(--ds-text); margin: 0; padding: 0; }
html body .ash-section-head__actions { display: flex; align-items: center; gap: 12px; }
html body .ash-more-link { font-family: var(--ds-body); font-weight: 700; font-size: 17px; color: var(--ds-green-dark); text-decoration: none; margin-right: 8px; }
html body .ash-more-link:hover { text-decoration: underline; text-underline-offset: 3px; }
html body .ash-rail__btn {
  width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border-radius: 50%;
  border: 2px solid var(--ds-green-btn); background: #fff; color: var(--ds-green-dark); font-size: 20px; line-height: 1; cursor: pointer;
}
html body .ash-rail__btn:hover:not(:disabled) { background: var(--ds-mint); }
html body .ash-rail__btn:disabled { opacity: .35; cursor: default; }
html body .ash-rail {
  display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 24px) / 4); gap: 24px; column-gap: 24px;
  overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px 2px 12px; margin: 0 -2px;
}
html body .ash-rail::-webkit-scrollbar { display: none; }
html body .ash-rail__item { scroll-snap-align: start; }
html body .ash-rail .ash-card__media { aspect-ratio: 16 / 10; }
html body .ash-rail .ash-card__title { font-size: 18px; }
@media (max-width: 1100px) { html body .ash-rail { grid-auto-columns: calc((100% - 2 * 24px) / 3); } }
@media (max-width: 800px) { html body .ash-rail { grid-auto-columns: calc((100% - 24px) / 2); } }
@media (max-width: 560px) { html body .ash-rail { grid-auto-columns: 82%; gap: 16px; column-gap: 16px; } html body .ash-section-head__actions .ash-rail__btn { display: none; } }

html body .ash-main .ash-home-join { position: relative; padding: 112px 0; overflow: hidden; }
html body .ash-home-join__bg { position: absolute; inset: 0; margin: 0; }
html body .ash-home-join__bg img { width: 100%; object-fit: cover; object-position: center bottom; }
html body .ash-home-join .ash-container { position: relative; }
html body .ash-join-card { max-width: 560px; margin: 0 auto; padding: 40px 40px 32px; background: #fff; border-radius: var(--ds-radius); box-shadow: 0 10px 30px rgba(0, 0, 0, .12); }
html body .ash-join-card p { font-size: var(--ds-body-size); line-height: 1.6; color: var(--ds-text); margin: 0 0 20px; padding: 0; }
html body .ash-join-form { display: grid; gap: 16px; }
html body .ash-join-form .ash-actions { margin: 4px 0 0; }
@media (max-width: 640px) { html body .ash-join-card { padding: 28px 22px 22px; } html body .ash-main .ash-home-join { padding: 64px 0; } }

/* ── Forms ────────────────────────────────────────────────────────────── */
html body .ash-main .ash-field label { font-family: var(--ds-body); font-weight: 700; font-size: 16px; letter-spacing: 0; text-transform: none; color: var(--ds-ink); }
html body .ash-main .ash-field input, html body .ash-main .ash-field textarea { font-family: var(--ds-body); font-size: 17px; }
html body .ash-main .ash-split--contact { align-items: start; }
html body .ash-main .ash-split--contact > * { margin-top: 0; }
html body .ash-main .ash-contact-aside { margin-top: 0; }
html body .ash-main .ash-contact-aside h2 { font-family: var(--ds-head); font-weight: 800; font-size: 22px; color: var(--ds-ink); }
html body .ash-main .ash-contact-aside p, html body .ash-main .ash-form__note { font-size: 16px; line-height: 1.6; }
html body .ash-main .ash-legal__date { color: var(--ds-muted); font-size: 16px; }

/* ── Posts (archived and authored): body column and sidebar on the container ── */
html body #main-content.btom > .container {
  width: min(var(--ds-max), calc(100% - 2 * var(--ds-gutter))); max-width: none; margin: 0 auto; padding: 64px 0 72px;
  display: grid; grid-template-columns: minmax(0, var(--ds-read)) minmax(240px, 300px); justify-content: space-between; gap: 64px;
}
html body #main-content.btom > .container::before, html body #main-content.btom > .container::after { content: none; }
html body #main-content.btom .lele, html body #main-content.btom .riri { float: none; width: auto; max-width: none; margin: 0; padding: 0; }
html body #main-content.btom .comcom { display: none; }
html body #main-content.btom .riri { font-family: var(--ds-body); font-size: 16px; color: var(--ds-text); }
html body #main-content.btom .riri h4 { font-family: var(--ds-head); font-weight: 800; font-size: 20px; text-transform: none; color: var(--ds-ink); }
html body #main-content.btom .riri input[type="text"], html body #main-content.btom .riri input[type="email"] { font-family: var(--ds-body); font-size: 16px; }
html body #main-content.btom .ash-related { background: var(--ds-mint); border-radius: var(--ds-radius); padding: 28px 30px; margin: 48px 0 0; }
html body #main-content.btom .ash-related h2 { font-size: 24px; margin-bottom: 12px; }
@media (max-width: 980px) {
  html body #main-content.btom > .container { grid-template-columns: 1fr; gap: 40px; padding: 40px 0 56px; }
}

/* ── Header ───────────────────────────────────────────────────────────── */
html body #main-header.ash-header {
  position: sticky; top: 0; z-index: 1000; width: 100%; margin: 0; padding: 0; background: var(--ds-green); box-shadow: none;
  font-family: var(--ds-head); line-height: 1.2; transform: none; opacity: 1;
}
html body .ash-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 80px; }
html body .ash-header__logo { display: inline-flex; flex: none; }
html body .ash-header__logo img { display: block; width: auto; height: 44px; max-height: none; }
html body .ash-nav { display: block; }
html body .ash-nav__list { display: flex; align-items: center; gap: 4px 30px; margin: 0; padding: 0; list-style: none; }
html body .ash-nav__item { margin: 0; padding: 0; list-style: none; }
html body .ash-nav__item::before { content: none; }
html body .ash-nav__link {
  display: block; padding: 8px 0; font-family: var(--ds-head); font-weight: 700; font-size: 15px; letter-spacing: .05em; text-transform: uppercase;
  color: #fff !important; text-decoration: none; opacity: 1; border-bottom: 2px solid transparent;
}
html body .ash-nav__link:hover, html body .ash-nav__link.is-current { border-bottom-color: rgba(255, 255, 255, .9); }
html body .ash-header__toggle { display: none; }
@media (max-width: 999px) {
  html body .ash-header__inner { min-height: 68px; flex-wrap: wrap; }
  html body .ash-header__logo img { height: 38px; }
  html body .ash-header__toggle {
    display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-right: -8px; padding: 0;
    background: transparent; border: 0; cursor: pointer; color: #fff;
  }
  html body .ash-header__bars, html body .ash-header__bars::before, html body .ash-header__bars::after {
    display: block; width: 24px; height: 2px; background: #fff; border-radius: 2px; position: relative; transition: transform .2s, background-color .2s;
  }
  html body .ash-header__bars::before, html body .ash-header__bars::after { content: ""; position: absolute; left: 0; }
  html body .ash-header__bars::before { top: -7px; }
  html body .ash-header__bars::after { top: 7px; }
  html body .ash-header.is-open .ash-header__bars { background: transparent; }
  html body .ash-header.is-open .ash-header__bars::before { transform: translateY(7px) rotate(45deg); }
  html body .ash-header.is-open .ash-header__bars::after { transform: translateY(-7px) rotate(-45deg); }
  html body .ash-nav { display: none; flex-basis: 100%; padding: 4px 0 16px; }
  html body .ash-header.is-open .ash-nav { display: block; }
  html body .ash-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
  html body .ash-nav__link { padding: 13px 0; font-size: 16px; border-bottom: 1px solid rgba(255, 255, 255, .22); }
  html body .ash-nav__link:hover, html body .ash-nav__link.is-current { border-bottom-color: rgba(255, 255, 255, .22); opacity: .85; }
}

/* ── Footer ───────────────────────────────────────────────────────────── */
html body #main-footer.ash-footer {
  background: var(--ds-mint); background-image: none; color: var(--ds-text); margin: 0; padding: 64px 0 0; font-family: var(--ds-body);
}
html body #main-footer.ash-footer::before, html body #main-footer.ash-footer::after { content: none; display: none; }
html body .ash-footer__inner { display: grid; grid-template-columns: 1.25fr 1fr 1.25fr 1.3fr; gap: 40px 48px; padding-bottom: 56px; }
html body .ash-footer__logo img { display: block; width: 190px; height: auto; margin: 0 0 18px; }
html body #main-footer.ash-footer .ash-footer__brand p { font-family: var(--ds-body); font-size: 16px; line-height: 1.6; color: var(--ds-text); margin: 0; padding: 0; }
html body .ash-footer__heading {
  font-family: var(--ds-head); font-weight: 800; font-size: 16px; line-height: 1.3; letter-spacing: 0; text-transform: none;
  color: var(--ds-ink); margin: 0 0 14px; padding: 0;
}
html body .ash-footer__list { margin: 0; padding: 0; list-style: none; }
html body .ash-footer__list li { margin: 0 0 8px; padding: 0; list-style: none; line-height: 1.4; }
html body .ash-footer__list li::before { content: none; }
html body #main-footer.ash-footer a { color: var(--ds-text); text-decoration: none; font-family: var(--ds-body); font-size: 16px; font-weight: 400; }
html body #main-footer.ash-footer a:hover { color: var(--ds-green-dark); text-decoration: underline; text-underline-offset: 3px; }
html body #main-footer.ash-footer a.ash-btn { color: #fff !important; font-weight: 700; text-decoration: none; }
html body .ash-footer__address { font-style: normal; font-size: 16px; line-height: 1.6; color: var(--ds-text); margin: 0 0 16px; }
html body .ash-footer__cta { margin: 0 0 24px; padding: 0; }
html body .ash-footer__signup { margin: 0; padding: 0; }
html body .ash-footer__signup-label { display: block; font-family: var(--ds-head); font-weight: 800; font-size: 16px; color: var(--ds-ink); margin: 0 0 4px; }
html body #main-footer.ash-footer .ash-footer__signup-text { font-size: 15px; line-height: 1.5; color: var(--ds-muted); margin: 0 0 10px; padding: 0; }
html body .ash-footer__signup-row { display: flex; gap: 8px; }
html body .ash-footer__signup-row input {
  flex: 1 1 auto; min-width: 0; font-family: var(--ds-body); font-size: 16px; line-height: 1.3; padding: 10px 12px; margin: 0;
  border: 1px solid #c9d3ca; border-radius: 6px; background: #fff; color: var(--ds-ink); height: auto;
}
html body .ash-footer__signup-row input:focus { outline: 2px solid var(--ds-green-btn); outline-offset: 1px; }
html body .ash-footer__signup-row .ash-btn { flex: none; }
html body #main-footer.ash-footer [data-form-message] { font-size: 15px; margin-top: 10px; }
html body .ash-footer__bottom { border-top: 1px solid #cdd8ce; padding: 18px 0; }
html body .ash-footer__bottom-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; }
html body #main-footer.ash-footer .ash-footer__copy { font-size: 14px; color: var(--ds-muted); margin: 0; padding: 0; }
html body .ash-footer__legal { display: flex; gap: 24px; margin: 0; padding: 0; list-style: none; }
html body .ash-footer__legal li { margin: 0; padding: 0; list-style: none; }
html body .ash-footer__legal li::before { content: none; }
html body #main-footer.ash-footer .ash-footer__legal a { font-size: 14px; color: var(--ds-muted); }
@media (max-width: 980px) { html body .ash-footer__inner { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) {
  html body #main-footer.ash-footer { padding-top: 48px; }
  html body .ash-footer__inner { grid-template-columns: 1fr; gap: 32px; padding-bottom: 40px; }
  html body .ash-footer__bottom-inner { flex-direction: column; align-items: flex-start; }
}

/* ── Precedence (the layers before this file set fonts, weights, colors and some sizes with !important) ── */
html body .ash-hero__title, html body .ash-stat__n, html body .ash-belief-card__title, html body .ash-path-card__title,
html body .ash-next__title, html body .ash-footer__heading, html body .ash-footer__signup-label, html body .ash-nav__link,
html body .ash-btn, html body .ash-rail__btn, html body #main-content.btom .riri input[type="submit"], html body .ash-hero .ash-breadcrumb, html body .ash-hero .ash-breadcrumb * { font-family: var(--ds-head) !important; }
html body .ash-card__cat, html body .ash-card__cta, html body .ash-path-card__cta, html body .ash-belief-card__cta, html body .ash-case__meta,
html body .ash-chip, html body .ash-more-link, html body .ash-footer__brand p, html body .ash-footer__list a, html body .ash-footer__address,
html body .ash-footer__copy, html body .ash-footer__legal a, html body .ash-footer__signup-text, html body .ash-footer__signup-row input,
html body .ash-card__date, html body .ash-stat__what, html body .ash-stat__src, html body .ash-next__label { font-family: var(--ds-body) !important; }
html body .ash-btn { font-weight: 700 !important; font-size: 17px; text-transform: none !important; letter-spacing: .01em !important; line-height: 1.2 !important; }
html body .ash-btn--small { font-size: 16px !important; }
html body .ash-card__cat, html body .ash-case__meta { letter-spacing: 0 !important; text-transform: none !important; }
html body .ash-main .ash-prose .ash-stat__n { font-weight: 800 !important; color: var(--ds-green-dark) !important; }
html body .ash-main .ash-prose .ash-stat__src { color: var(--ds-muted) !important; }
html body .ash-main .ash-prose .ash-stat__what { color: var(--ds-text) !important; }
html body .ash-main .ash-prose p, html body .ash-main .ash-prose li, html body .ash-main .ash-split__text p,
html body .ash-main .ash-case__body p, html body .ash-section-head__text p, html body .ash-join-card p { font-size: var(--ds-body-size) !important; }
html body .ash-main .ash-prose .ash-stat p { font-size: 16px !important; }
html body .ash-main .ash-prose .ash-stat .ash-stat__n { font-size: 40px !important; }
html body .ash-main .ash-prose .ash-stat .ash-stat__src { font-size: 14px !important; }
html body #main-content.btom .lele p, html body #main-content.btom .lele li { font-size: var(--ds-body-size) !important; line-height: 1.7 !important; font-weight: 400 !important; color: var(--ds-text) !important; }
html body .ash-hero__img, html body .ash-home-paths__bg img, html body .ash-home-join__bg img { height: 100% !important; }
html body .ash-main .ash-page { padding-bottom: 0; }

/* Post sidebar: facts as label and value rows; the sign-up button in the primary style. */
html body #main-content.btom .riri #post-info { padding: 24px 24px 10px; }
html body #main-content.btom .riri #post-info p { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 10px; margin: 0 0 14px; padding: 0; font-size: 16px !important; line-height: 1.5 !important; }
html body #main-content.btom .riri #post-info p span, html body #main-content.btom .riri #post-info p b { float: none; width: auto; margin: 0; padding: 0; display: block; }
html body #main-content.btom .riri #post-info p b { font-weight: 400; color: var(--ds-text); }
html body #main-content.btom .riri #post-info a { color: var(--ds-green-dark); text-decoration: underline; text-underline-offset: 3px; }
html body #main-content.btom .riri input[type="submit"], html body #main-content.btom .riri #mc_embed_signup .button {
  width: 100%; height: auto; font-size: 17px !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: .01em !important;
  color: #fff !important; background: var(--ds-green-btn) !important; border: 2px solid var(--ds-green-btn) !important; border-radius: 6px !important; padding: 12px 20px !important;
}
html body #main-content.btom .riri input[type="submit"]:hover { background: var(--ds-green-dark) !important; border-color: var(--ds-green-dark) !important; }
html body #main-footer.ash-footer a.ash-btn { background: var(--ds-green-btn); border-color: var(--ds-green-btn); padding: 10px 18px; }
html body #main-footer.ash-footer a.ash-btn:hover { background: var(--ds-green-dark); border-color: var(--ds-green-dark); text-decoration: none; }
html body #main-footer.ash-footer .ash-footer__brand p { font-weight: 400; }
@media (max-width: 640px) { html body #main-footer.ash-footer .ash-footer__list li { margin-bottom: 12px; } }
/* Post body: the archived Divi rows inside the column run full width; headings in the one heading style. */
html body #main-content.btom .lele .et_pb_section, html body #main-content.btom .lele .et_pb_row, html body #main-content.btom .lele .et_pb_column { width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
html body #main-content.btom .lele h2 { font-size: var(--ds-h2) !important; line-height: 1.18 !important; padding: 0 !important; margin: 48px 0 18px !important; color: var(--ds-ink) !important; }
html body #main-content.btom .lele h3 { font-size: var(--ds-h3) !important; line-height: 1.3 !important; padding: 0 !important; margin: 32px 0 10px !important; color: var(--ds-ink) !important; }
html body #main-content.btom .lele h2:first-child, html body #main-content.btom .lele h3:first-child { margin-top: 0 !important; }
html body #main-content.btom .ash-related h2 { font-size: 24px !important; margin: 0 0 12px !important; }
/* One section heading size on the legal pages too; card and 404 text never below 16 px. */
html body .ash-main .ash-legal h2 { font-size: var(--ds-h2) !important; }
html body .ash-main .ash-legal h3 { font-size: var(--ds-h3) !important; }
html body .ash-main .ash-card__excerpt, html body .ash-main .ash-card__text { font-size: 16px !important; }
html body .ash-main .ash-404__text { font-size: var(--ds-body-size) !important; line-height: 1.65; max-width: var(--ds-read); }

/* ── Rulings of 17 October 2026 ───────────────────────────────────────── */
/* /beliefs/: every card in the grid the same height (rows no longer differ). */
@media (min-width: 601px) { html body .ash-belief-grid { grid-auto-rows: 1fr; align-items: stretch; } html body .ash-belief-card { height: 100%; box-sizing: border-box; } }
/* Footer links as easy to read as body text. */
html body #main-footer.ash-footer .ash-footer__list a,
html body #main-footer.ash-footer .ash-footer__address,
html body #main-footer.ash-footer .ash-footer__brand p { font-size: 17px; line-height: 1.55; }
html body #main-footer.ash-footer .ash-footer__list li { margin: 0 0 12px; line-height: 1.6; }
html body #main-footer.ash-footer .ash-footer__list a { display: inline-block; line-height: 1.6; padding: 1px 0; }
html body #main-footer.ash-footer .ash-footer__heading { font-size: 17px; margin-bottom: 16px; }
@media (max-width: 640px) { html body #main-footer.ash-footer .ash-footer__list li { margin-bottom: 14px; } }
/* Buttons inside a text column keep their full padding (an older rule zeroed it on links in prose). */
html body .ash-main .ash-prose .ash-actions .ash-btn, html body .ash-main .ash-prose > :last-child > .ash-btn, html body .ash-split__text .ash-btn { padding: 13px 26px !important; }
html body .ash-main .ash-prose .ash-actions .ash-btn--small { padding: 10px 18px !important; }
html body .ash-main .ash-prose .ash-actions { margin: 28px 0 0; }

/* ── Case studies (17 October 2026) ───────────────────────────────────── */
html body .ash-hero__credit { position: absolute; right: var(--ds-gutter); bottom: 10px; z-index: 1; margin: 0; padding: 0; font-family: var(--ds-body) !important; font-size: 12px; color: rgba(255, 255, 255, .85); text-shadow: 0 1px 4px rgba(0, 0, 0, .6); }
html body #main-content.btom .lele .ash-glance { background: var(--ds-mint); border-radius: var(--ds-radius); padding: 24px 26px 14px; margin: 0 0 36px; }
html body #main-content.btom .lele .ash-glance__title { font-size: 20px !important; margin: 0 0 14px !important; }
html body #main-content.btom .lele .ash-glance dl { margin: 0; }
html body #main-content.btom .lele .ash-glance__row { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 4px 16px; padding: 10px 0; border-top: 1px solid #cddacf; }
html body #main-content.btom .lele .ash-glance dt { font-family: var(--ds-head) !important; font-weight: 800; font-size: 15px; color: var(--ds-ink); }
html body #main-content.btom .lele .ash-glance dd { margin: 0; font-size: 16px; line-height: 1.55; color: var(--ds-text); }
@media (max-width: 600px) { html body #main-content.btom .lele .ash-glance__row { grid-template-columns: 1fr; } }
html body #main-content.btom .lele .ash-case-back { margin-top: 40px !important; font-weight: 700; }
html body .ash-case-card__meta { display: block; font-family: var(--ds-body) !important; font-size: 15px; color: var(--ds-muted); padding-bottom: 6px; }
html body .ash-case-filters { margin: 0 0 28px; }
html body .ash-case-filters button.ash-chip { cursor: pointer; border: 1px solid transparent; }
html body .ash-case-card[hidden] { display: none !important; }
@media (max-width: 600px) { html body .ash-hero__credit { top: 8px; bottom: auto; } }

/* ── Our Story: Ranchers (2023) (17 October 2026), in that page's own look ── */
html body #ranchers.ash-film { padding: 60px 0 40px; background: transparent; }
html body #ranchers .ash-film__row { padding: 0; }
html body #ranchers h2 { position: relative; z-index: 0; }
html body #ranchers h2:before { content: ""; background: #FCDB5A; position: absolute; width: 150px; height: 20px; left: -31px; z-index: -1; top: 17px; }
html body #ranchers .ash-film__frame { position: relative; width: 100%; aspect-ratio: 16 / 9; margin: 24px 0 18px; background: #1f2a20; overflow: hidden; border-radius: 4px; box-shadow: 0 10px 30px rgba(0, 0, 0, .18); }
html body #ranchers .ash-film__play { position: absolute; inset: 0; display: block; width: 100%; height: 100%; padding: 0; margin: 0; border: 0; background: none; cursor: pointer; }
html body #ranchers .ash-film__play img { position: absolute; inset: 0; width: 100%; height: 100% !important; max-width: none; object-fit: cover; display: block; margin: 0; }
html body #ranchers .ash-film__play::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0, 0, 0, .35), rgba(0, 0, 0, 0) 45%); }
html body #ranchers .ash-film__icon { position: absolute; z-index: 1; left: 50%; top: 50%; width: 84px; height: 84px; margin: -42px 0 0 -42px; border-radius: 50%; background: rgba(252, 219, 90, .95); box-shadow: 0 6px 24px rgba(0, 0, 0, .35); transition: transform .15s; }
html body #ranchers .ash-film__icon::before { content: ""; position: absolute; left: 34px; top: 26px; border-style: solid; border-width: 16px 0 16px 26px; border-color: transparent transparent transparent #1f2a20; }
html body #ranchers .ash-film__play:hover .ash-film__icon, html body #ranchers .ash-film__play:focus-visible .ash-film__icon { transform: scale(1.08); }
html body #ranchers .ash-film__play:focus-visible { outline: 3px solid #FCDB5A; outline-offset: -3px; }
html body #ranchers .ash-film__time { position: absolute; z-index: 1; right: 14px; bottom: 12px; padding: 3px 8px; border-radius: 3px; background: rgba(0, 0, 0, .65); color: #fff; font: 600 14px/1.2 Lato, sans-serif; }
html body #ranchers .ash-film__iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
html body #ranchers .ash-film__caption { max-width: 820px; font-style: normal; text-align: left; }
@media (max-width: 600px) { html body #ranchers h2:before { left: -12px; width: 110px; } html body #ranchers .ash-film__icon { width: 64px; height: 64px; margin: -32px 0 0 -32px; } html body #ranchers .ash-film__icon::before { left: 26px; top: 20px; border-width: 12px 0 12px 20px; } }

/* Anchor targets clear the sticky header (17 October 2026): /about-us/#ranchers and every other #id. */
html body [id] { scroll-margin-top: 100px; }
@media (max-width: 999px) { html body [id] { scroll-margin-top: 84px; } }
