/* Ashfount design layer (October 2026): the templates authored for the
   repositioning (What We Do, Contact, Regen Ag Resources, the Insights
   listings) and the site-wide corrections of header, footer and breadcrumbs.
   The archived Divi theme stays the base; this layer uses the same faces
   (Lato, Open Sans, Roboto, Mulish) and the brand colours. */
:root {
  --ash-green: #4d985b; --ash-green-dark: #2f6b3a; --ash-ink: #151617; --ash-text: #3c3c37; --ash-muted: #6b6f68;
  --ash-cream: #f8f3e8; --ash-mint: #e7f0e8; --ash-yellow: #f7d94a; --ash-coral: #ee6055; --ash-line: #dfe3dd;
  --ash-max: 1180px; --ash-gutter: 24px; --ash-radius: 12px; --ash-shadow: 0 1px 18px rgba(0, 0, 0, .08);
}

/* ── Site-wide corrections ─────────────────────────────────────────────── */
/* No strip between the green header and the first section (the theme gave the static header a 25 px margin). */
html body #page-container header#main-header, html body #page-container header#main-header.static-header:not(.et-fixed-header) { margin-bottom: 0 !important; }
/* The copyright line sits with the policy links: same face, size, colour and baseline. */
html body #main-footer .copyright-content p, html body #main-footer .xs-footer-sec .copyright-content p.ash-copyright { font-family: Roboto, sans-serif !important; font-size: 15px !important; line-height: 24px !important; color: rgba(60, 60, 55, .55) !important; font-weight: normal !important; margin: 0; }
html body #main-footer .copyright-content li > a { font-size: 15px !important; line-height: 24px !important; }
html body #main-footer .copyright-content .col-md-8 { text-align: right; }
html body #main-footer .copyright-content .widget_text { margin: 0; }
@media (max-width: 980px) { html body #main-footer .copyright-content .col-md-8 { text-align: left; margin-top: 6px; } }
html body #main-footer .xs-footer-sec .col-lg-3 img { width: 233px; height: auto; max-width: 100%; }
html body #main-footer .xs-footer-sec .col-lg-3 .widgets p { font-size: 17px !important; line-height: 1.55 !important; }
html body #main-header #logo { width: 192px; height: 50px; }
/* Breadcrumb on the post heroes: one size, one weight, readable over the photograph, clean separators. */
html body #page-container #et-main-area #main-content.tpo .breadcrumb { position: absolute; bottom: 28px; left: 0; right: 0; text-align: center; font-family: Mulish, sans-serif; font-size: 15px; line-height: 22px; font-weight: 600; letter-spacing: .01em; color: #fff; text-shadow: 0 1px 4px rgba(0, 0, 0, .6); }
html body #page-container #et-main-area #main-content.tpo .breadcrumb a, html body #page-container #et-main-area #main-content.tpo .breadcrumb span, html body #page-container #et-main-area #main-content.tpo .breadcrumb span.breadcrumb_last { font-family: inherit; font-size: inherit; line-height: inherit; font-weight: inherit; color: #fff !important; opacity: 1; }
html body #page-container #et-main-area #main-content.tpo .breadcrumb span.breadcrumb_last { font-weight: 400; }
html body #page-container #et-main-area #main-content.tpo .breadcrumb span.sepo { margin: 0 8px; opacity: .55; font-weight: 400; }
html body #page-container #et-main-area #main-content.tpo .breadcrumb .kaba { display: none; }
html body #page-container #et-main-area #main-content.tpo .breadcrumb a:first-of-type, html body #page-container #et-main-area #main-content.tpo .breadcrumb .sepo:first-of-type { display: inline; }
/* Post hero: the background photograph keeps its centre on phones. */
html body #page-container #et-main-area div#im02 { background-size: cover !important; background-position: center !important; }
/* Related reading under an article. */
.ash-related { margin: 48px 0 0; padding: 28px 32px; background: var(--ash-mint); border-radius: var(--ash-radius); }
.ash-related h2 { font-family: Mulish, sans-serif; font-weight: 800; font-size: 24px !important; line-height: 1.3; color: var(--ash-ink); padding-bottom: 12px; }
.ash-related ul { margin: 0; padding: 0; list-style: none; }
.ash-related li { padding: 6px 0; font-family: Mulish, sans-serif; font-size: 18px; line-height: 1.5; }
.ash-related li a { color: var(--ash-green-dark); text-decoration: underline; text-underline-offset: 3px; }
/* Home: "Our Latest Thinking" heading and intro flow left-aligned into the post row. */
html body #page-container #et-main-area div#home-page-5 .et_pb_text .et_pb_text_inner { display: block !important; max-width: 1080px; margin: 0 auto; }
html body #page-container #et-main-area div#home-page-5 .et_pb_text .et_pb_text_inner h2 { text-align: left !important; width: auto !important; padding-bottom: 14px !important; }
html body #page-container #et-main-area div#home-page-5 .et_pb_text .et_pb_text_inner p { text-align: left !important; width: auto !important; max-width: 860px !important; margin: 0 !important; }
/* Home: the Join the List panel keeps its white card. */
html body #page-container #et-main-area img.ash-responsive { height: auto; }

/* ── Layout primitives ──────────────────────────────────────────────────── */
.ash-main { font-family: 'Open Sans', sans-serif; color: var(--ash-text); }
.ash-container { max-width: var(--ash-max); margin: 0 auto; padding: 0 var(--ash-gutter); box-sizing: border-box; }
.ash-section { padding: 56px 0; }
.ash-section--intro { padding: 56px 0 8px; }
.ash-section--cards + .ash-section--cards { padding-top: 8px; }
.ash-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ash-h2 { font-family: Lato, sans-serif; font-weight: 700; font-size: 32px; line-height: 1.2; color: var(--ash-ink); padding: 0 0 24px; margin: 0; }
.ash-h3 { font-family: Lato, sans-serif; font-weight: 700; font-size: 22px; line-height: 1.3; color: var(--ash-ink); padding: 0 0 10px; margin: 0; }
.ash-prose { font-size: 19px; line-height: 1.65; font-weight: 300; color: var(--ash-ink); max-width: 860px; }
.ash-prose p { font-size: inherit; line-height: inherit; padding-bottom: 18px; }
.ash-prose h2 { font-family: Lato, sans-serif; font-weight: 700; font-size: 30px; line-height: 1.25; color: var(--ash-ink); padding: 18px 0 14px; }
.ash-prose h3 { font-family: Lato, sans-serif; font-weight: 700; font-size: 22px; line-height: 1.3; color: var(--ash-ink); padding: 10px 0 10px; }
.ash-prose ul, .ash-prose ol { padding: 0 0 18px 24px; }
.ash-prose li { padding-bottom: 8px; line-height: 1.55; }
.ash-prose a { color: var(--ash-green-dark); text-decoration: underline; text-underline-offset: 3px; }
.ash-prose strong, .ash-prose b { font-weight: 600; }
.ash-lead { font-size: 22px; line-height: 1.55; }
.ash-grid { display: grid; gap: 32px; }
.ash-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ash-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 980px) { .ash-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }
@media (max-width: 640px) { .ash-grid--3, .ash-grid--2 { grid-template-columns: 1fr; gap: 20px; } }
.ash-btn { display: inline-block; font-family: Lato, sans-serif; font-size: 17px; line-height: 1; text-transform: uppercase; letter-spacing: .03em; color: #fff !important; background: var(--ash-coral); border: 2px solid var(--ash-coral); border-radius: 3px; padding: 15px 30px 16px; text-decoration: none; cursor: pointer; transition: background .2s, color .2s; }
.ash-btn:hover { background: #fff; color: var(--ash-coral) !important; }
.ash-btn--green { background: var(--ash-green); border-color: var(--ash-green); }
.ash-btn--green:hover { color: var(--ash-green) !important; }
.ash-btn--small { font-size: 14px; padding: 11px 18px 12px; }
.ash-chip { display: inline-block; font-family: Mulish, sans-serif; font-weight: 700; font-size: 14px; line-height: 1; letter-spacing: .02em; text-transform: uppercase; color: var(--ash-green-dark); background: var(--ash-mint); border: 1px solid transparent; border-radius: 999px; padding: 10px 16px; margin: 0 8px 8px 0; text-decoration: none; transition: background .2s; }
.ash-chip:hover { background: #d9e8db; }
.ash-chip.is-active { background: var(--ash-green); color: #fff; }
.ash-chip__n { opacity: .65; font-weight: 400; margin-left: 4px; }
.ash-filters { display: flex; flex-wrap: wrap; align-items: flex-start; }
.ash-kicker { font-family: Mulish, sans-serif; font-weight: 700; font-size: 16px; line-height: 1.3; letter-spacing: .12em; text-transform: uppercase; color: var(--ash-yellow); padding-bottom: 14px; }

/* ── Hero ───────────────────────────────────────────────────────────────── */
.ash-hero { position: relative; min-height: 520px; display: flex; align-items: flex-end; overflow: hidden; background: var(--ash-green-dark); color: #fff; }
.ash-hero--listing { min-height: 440px; }
.ash-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ash-hero__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 20, 12, .18) 0%, rgba(10, 20, 12, .35) 55%, rgba(10, 20, 12, .72) 100%); }
.ash-hero__inner { position: relative; z-index: 1; width: 100%; max-width: var(--ash-max); margin: 0 auto; padding: 150px var(--ash-gutter) 48px; box-sizing: border-box; }
.ash-hero h1 { font-family: Lato, sans-serif; font-weight: 700; font-size: 64px; line-height: 1.08; color: #fff; text-shadow: 0 2px 14px rgba(0, 0, 0, .35); padding-bottom: 18px; max-width: 900px; }
.ash-lede { font-family: 'Open Sans', sans-serif; font-weight: 300; font-size: 21px; line-height: 1.55; color: #fff; max-width: 760px; padding-bottom: 22px; text-shadow: 0 1px 8px rgba(0, 0, 0, .4); }
.ash-breadcrumb { font-family: Mulish, sans-serif; font-weight: 600; font-size: 15px; line-height: 22px; color: #fff; text-shadow: 0 1px 4px rgba(0, 0, 0, .6); }
.ash-breadcrumb a { color: #fff; text-decoration: none; }
.ash-breadcrumb a:hover { text-decoration: underline; }
.ash-breadcrumb__sep { margin: 0 8px; opacity: .55; }
.ash-breadcrumb [aria-current] { font-weight: 400; }
@media (max-width: 980px) {
  .ash-hero { min-height: 380px; }
  .ash-hero__inner { padding: 100px var(--ash-gutter) 32px; }
  .ash-hero h1 { font-size: 40px; }
  .ash-lede { font-size: 18px; }
}

/* ── Cards ─────────────────────────────────────────────────────────────── */
.ash-card { display: flex; flex-direction: column; background: #fff; border-radius: var(--ash-radius); box-shadow: var(--ash-shadow); overflow: hidden; text-decoration: none; color: inherit; min-width: 0; }
.ash-card--link { transition: transform .2s, box-shadow .2s; }
.ash-card--link:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(0, 0, 0, .14); }
.ash-card__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ash-mint); }
.ash-card--link .ash-card__media { aspect-ratio: 3 / 2; }
.ash-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ash-card__body { display: flex; flex-direction: column; padding: 22px 24px 26px; flex: 1; }
.ash-card__cat { align-self: flex-start; font-family: Mulish, sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--ash-green-dark); text-decoration: none; padding-bottom: 10px; }
.ash-card__cat:hover { text-decoration: underline; }
.ash-card__title { font-family: Lato, sans-serif; font-weight: 700; font-size: 22px; line-height: 1.3; color: var(--ash-ink); padding-bottom: 8px; margin: 0; display: block; }
.ash-card__title a { color: inherit; text-decoration: none; }
.ash-card__title a:hover { color: var(--ash-green-dark); }
.ash-card__date { font-family: Mulish, sans-serif; font-size: 14px; color: var(--ash-muted); padding-bottom: 12px; }
.ash-card__excerpt, .ash-card__text { font-family: 'Open Sans', sans-serif; font-weight: 300; font-size: 16px; line-height: 1.6; color: var(--ash-text); display: block; }
.ash-card__cta { display: inline-block; margin-top: auto; padding-top: 16px; font-family: Mulish, sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; color: var(--ash-coral); }
.ash-card__cta::after { content: " \2197"; }
.ash-card--post .ash-card__media:focus-visible { outline: 3px solid var(--ash-green); }

/* ── Listing toolbar, search, pagination ───────────────────────────────── */
.ash-section--listing { padding-top: 40px; }
.ash-toolbar { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; padding-bottom: 28px; }
.ash-toolbar .ash-filters { flex: 1 1 auto; }
.ash-search { display: flex; gap: 8px; flex: 0 0 auto; align-items: stretch; }
.ash-search input { font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 1.2; padding: 10px 14px; border: 1px solid var(--ash-line); border-radius: 6px; min-width: 240px; background: #fff; color: var(--ash-ink); }
.ash-search input:focus { outline: 2px solid var(--ash-green); outline-offset: 1px; }
.ash-search__status { font-family: Mulish, sans-serif; font-size: 16px; color: var(--ash-muted); padding: 0 0 20px; }
.ash-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 40px 0 0; font-family: Mulish, sans-serif; font-weight: 700; font-size: 16px; }
.ash-pagination__page, .ash-pagination__arrow { display: inline-block; min-width: 42px; text-align: center; padding: 10px 12px; border-radius: 6px; color: var(--ash-green-dark); background: var(--ash-mint); text-decoration: none; }
.ash-pagination__page:hover, .ash-pagination__arrow:hover { background: #d9e8db; }
.ash-pagination__page.is-current { background: var(--ash-green); color: #fff; }
.ash-pagination__gap { padding: 0 6px; color: var(--ash-muted); }
@media (max-width: 980px) { .ash-toolbar { flex-direction: column; } .ash-search { width: 100%; } .ash-search input { flex: 1; min-width: 0; } }

/* ── Feature blocks, quotes, CTA (What We Do, Contact) ────────────────── */
.ash-page { padding-bottom: 32px; }
.ash-feature { background: #fff; border-radius: var(--ash-radius); box-shadow: var(--ash-shadow); padding: 30px 30px 28px; }
.ash-feature h3 { font-family: Lato, sans-serif; font-weight: 700; font-size: 22px; line-height: 1.3; color: var(--ash-ink); padding-bottom: 10px; }
.ash-feature p { font-size: 17px; line-height: 1.6; font-weight: 300; color: var(--ash-text); padding-bottom: 0; }
.ash-feature ul { padding: 8px 0 0 20px; }
.ash-feature li { font-size: 16px; line-height: 1.55; padding-bottom: 6px; }
.ash-section--tint { background: var(--ash-cream); }
.ash-section--mint { background: var(--ash-mint); }
.ash-quote { border-left: 4px solid var(--ash-yellow); padding: 6px 0 6px 26px; font-family: 'Open Sans', sans-serif; font-style: italic; font-size: 22px; line-height: 1.5; color: var(--ash-ink); max-width: 820px; }
.ash-cta { background: var(--ash-green-dark); color: #fff; border-radius: var(--ash-radius); padding: 44px 48px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px; }
.ash-cta h2 { font-family: Lato, sans-serif; font-weight: 700; font-size: 30px; line-height: 1.2; color: #fff; padding-bottom: 6px; }
.ash-cta p { font-size: 18px; line-height: 1.5; color: #fff; padding-bottom: 0; font-weight: 300; }
.ash-split { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.ash-split img { width: 100%; height: auto; border-radius: var(--ash-radius); box-shadow: var(--ash-shadow); }
@media (max-width: 980px) { .ash-split { grid-template-columns: 1fr; gap: 28px; } .ash-cta { padding: 32px 26px; } }

/* ── Forms (Contact) ───────────────────────────────────────────────────── */
.ash-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 24px; max-width: 760px; }
.ash-form .ash-field--full { grid-column: 1 / -1; }
.ash-field label { display: block; font-family: Mulish, sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .04em; text-transform: uppercase; color: var(--ash-ink); padding-bottom: 8px; }
.ash-field input, .ash-field textarea { width: 100%; box-sizing: border-box; font-family: 'Open Sans', sans-serif; font-size: 17px; line-height: 1.4; padding: 12px 14px; border: 1px solid var(--ash-line); border-radius: 6px; background: #fff; color: var(--ash-ink); }
.ash-field input:focus, .ash-field textarea:focus { outline: 2px solid var(--ash-green); outline-offset: 1px; }
.ash-field textarea { min-height: 180px; resize: vertical; }
.ash-form__actions { grid-column: 1 / -1; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.ash-form__note { font-size: 14px; color: var(--ash-muted); line-height: 1.5; }
.ash-form .ash-form-message { grid-column: 1 / -1; font-size: 16px; }
@media (max-width: 640px) { .ash-form { grid-template-columns: 1fr; } }
.ash-contact-aside { background: var(--ash-mint); border-radius: var(--ash-radius); padding: 28px 30px; font-size: 17px; line-height: 1.6; }
.ash-contact-aside h2 { font-family: Lato, sans-serif; font-weight: 700; font-size: 22px; padding-bottom: 10px; color: var(--ash-ink); }
.ash-contact-aside p { padding-bottom: 12px; }
.ash-contact-aside a { color: var(--ash-green-dark); }

/* ── Small corrections found in the first local review ───────────────────── */
/* Home carousel titles: no mid-word breaks ("Documentarie-s"). */
html body #page-container #et-main-area div#home-page-5 .et_pb_fh_post_carousel_image.xy h3 { font-size: 27px !important; line-height: 33px !important; word-break: normal !important; overflow-wrap: normal !important; hyphens: manual; }
/* Footer menus: the current page keeps a readable colour (the theme painted it white on the mint footer). */
html body #main-footer .menu li.current-menu-item > a, html body #main-footer .menu li.current_page_item > a { color: var(--ash-green-dark) !important; font-weight: 700; }

/* ── Review fixes (15 October 2026, evening) ─────────────────────────────── */
/* The responsive-image rule (height:auto) must not flatten the hero and card photographs, which fill their boxes. */
html body #page-container #et-main-area img.ash-hero__img, html body #page-container #et-main-area .ash-card__media img.ash-responsive, html body #page-container #et-main-area .ash-card__media img { height: 100% !important; width: 100% !important; object-fit: cover; }
/* Hidden pagination stays hidden while search results are shown. */
.ash-pagination[hidden] { display: none !important; }
/* Related reading inside the post column: no theme bullets or margins. */
html body #page-container #et-main-area .lele .ash-related ul { padding: 0 !important; margin: 0 !important; }
html body #page-container #et-main-area .lele .ash-related li { list-style: none !important; margin-left: 0 !important; padding: 6px 0 !important; font-size: 18px !important; line-height: 1.5 !important; }
html body #page-container #et-main-area .lele .ash-related h2 { font-size: 24px !important; line-height: 1.3 !important; padding: 0 0 12px !important; margin: 0 !important; }
/* Header between 981 and 1290 px: the theme runs the container edge to edge; keep a gutter so the logo and the last item do not touch the viewport. */
@media (min-width: 981px) and (max-width: 1320px) {
  html body #page-container header#main-header .container.et_menu_container { padding-left: 24px !important; padding-right: 24px !important; box-sizing: border-box; }
}
/* Post sidebar: the author and category values never break inside a word (the sidebar narrows below 1180 px). */
html body #page-container #et-main-area .riri #post-info b, html body #page-container #et-main-area .riri #post-info a { word-break: normal !important; overflow-wrap: normal !important; hyphens: manual; white-space: normal; }
/* Home hero: a soft scrim on the left keeps the headline readable over the photograph at every width. */
html body #page-container #et-main-area div#home-page-1 { position: relative; }
html body #page-container #et-main-area div#home-page-1::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12, 32, 18, .55) 0%, rgba(12, 32, 18, .25) 45%, rgba(12, 32, 18, 0) 70%); pointer-events: none; }
html body #page-container #et-main-area div#home-page-1 .et_pb_row { position: relative; z-index: 1; }
@media (max-width: 980px) { html body #page-container #et-main-area div#home-page-1::before { background: linear-gradient(180deg, rgba(12, 32, 18, .25) 0%, rgba(12, 32, 18, .55) 100%); } }

/* ── Round 3 (16 October 2026): spacing system, hero type scale, breadcrumbs, footer ── */
/* One spacing system for every template. Side margins: 5vw below 981 px (the
   archived Divi rows run at 90 %, so both kinds of page share the edge: 20 px
   at 390, 38 px at 768) and a 1290 px frame above (75 px at 1440, the edge of
   the home page, the posts, the case studies and the terms). Vertical rhythm:
   section to section, heading to content, intro to the grid that follows, card
   to card, each one token. */
:root { --ash-max: 1338px; --sp-section: 80px; --sp-head: 20px; --sp-block: 40px; --sp-card: 32px; }
@media (max-width: 980px) { :root { --ash-gutter: 5vw; --sp-section: 56px; --sp-head: 16px; --sp-block: 32px; --sp-card: 24px; } }
@media (max-width: 640px) { :root { --sp-section: 48px; --sp-block: 28px; --sp-card: 20px; } }

.ash-section { padding: var(--sp-section) 0; }
.ash-section--intro { padding: var(--sp-section) 0 0; }
.ash-section--intro + .ash-section--cards, .ash-section--intro + .ash-section--listing { padding-top: var(--sp-block); }
.ash-section--cards + .ash-section--cards { padding-top: 0; }
.ash-section--listing { padding-top: var(--sp-section); }
.ash-grid, .ash-grid--3, .ash-grid--2 { gap: var(--sp-card) !important; }
.ash-h2 { padding: 0 0 var(--sp-head); }
.ash-prose > :last-child, .ash-prose > :last-child > :last-child { padding-bottom: 0 !important; margin-bottom: 0 !important; }
.ash-prose h2, .ash-prose h3 { padding-top: 0; padding-bottom: var(--sp-head); }
.ash-prose > * + h2 { padding-top: calc(var(--sp-block) - 18px); }
.ash-prose > * + h3 { padding-top: calc(var(--sp-head) - 8px); }
/* Intro text to the cards or grid after it, and back: one gap, never touching. */
.ash-container > * + .ash-grid, .ash-container > * + .ash-cta, .ash-container > * + .ash-split, .ash-container > .ash-grid + *, .ash-container > .ash-toolbar + .ash-grid { margin-top: var(--sp-block); }
.ash-container > .ash-h2 + .ash-grid { margin-top: 0; }
.ash-toolbar { padding-bottom: 0; }
.ash-search__status:not(:empty) { padding: var(--sp-head) 0 0; }
.ash-pagination { padding: var(--sp-block) 0 0; }
.ash-feature { padding: 28px 28px 26px; }
@media (max-width: 640px) { .ash-feature { padding: 24px 22px 22px; } .ash-card__body { padding: 20px 20px 22px; } .ash-cta { padding: 28px 22px; } .ash-contact-aside { padding: 24px 22px; } }
.ash-feature ul { padding: 10px 0 0 20px; margin: 0; }

/* Archived Divi pages below 981 px: the same section rhythm (Divi stacked 50 px of
   section padding on 30 px of row padding, so two sections sat 160 px apart).
   The first section of a page is its hero and keeps its own height. */
@media (max-width: 980px) {
  html body #page-container #et-main-area .et_builder_inner_content > .et_pb_section:not(:first-child) { padding-top: var(--sp-section) !important; padding-bottom: var(--sp-section) !important; }
  html body #page-container #et-main-area .et_builder_inner_content > .et_pb_section:not(:first-child) > .et_pb_row { padding-top: 0 !important; padding-bottom: 0 !important; }
  html body #page-container #et-main-area .et_builder_inner_content > .et_pb_section > .et_pb_row + .et_pb_row { margin-top: var(--sp-block) !important; }
  html body #page-container #et-main-area .et_pb_column .et_pb_module:not(:last-child) { margin-bottom: var(--sp-block) !important; }
  html body #page-container #et-main-area .et_pb_column + .et_pb_column:not(.et_pb_column_empty) { margin-top: var(--sp-block) !important; }
  html body #page-container #et-main-area .et_pb_column_empty { display: none !important; }
  /* Desktop section margins (up to 180 px a side on Respect Creation) squeezed whole sections to a sliver. */
  html body #page-container #et-main-area .et_builder_inner_content > .et_pb_section { margin-left: 0 !important; margin-right: 0 !important; }
  html body #page-container #et-main-area .et_builder_inner_content > .et_pb_section:not(:first-child):not(.belief-intro) { margin-top: 0 !important; margin-bottom: 0 !important; }
}

/* Hero titles: one type scale on phones and tablets for every hero (authored
   heroes, home, Our Story, Beliefs, the nine belief pages, case studies,
   privacy, and the post heroes). Desktop sizes stay as designed. At 390 px a
   title runs two or three lines. */
@media (max-width: 980px) {
  .ash-hero h1,
  html body #page-container #et-main-area :is(#home-page-1, #Longread-01, #beliefs-01, #cs01, #invest-01, #aclo-01, #alsimp-01, #beconsi-01, #beinvo-01, #healthesoil-01, #maho-01, #nufami-01, #recr-01, #thin-long-01, #im02) h1 { font-size: 44px !important; line-height: 1.1 !important; letter-spacing: 0 !important; padding-bottom: 14px !important; }
  .ash-kicker { font-size: 14px; padding-bottom: 10px; }
  .ash-lede { font-size: 17px; line-height: 1.5; padding-bottom: 0; }
  .ash-hero { min-height: 360px; }
  .ash-hero__inner { padding: 96px var(--ash-gutter) 36px; }
}
@media (max-width: 640px) {
  .ash-hero h1,
  html body #page-container #et-main-area :is(#home-page-1, #Longread-01, #beliefs-01, #cs01, #invest-01, #aclo-01, #alsimp-01, #beconsi-01, #beinvo-01, #healthesoil-01, #maho-01, #nufami-01, #recr-01, #thin-long-01, #im02) h1 { font-size: 32px !important; line-height: 1.12 !important; padding-bottom: 12px !important; }
  html body #page-container #et-main-area #home-page-1 h1 { font-size: 30px !important; }
  html body #page-container #et-main-area #im02 h1 { font-size: 28px !important; } /* post titles run up to 60 characters in capitals */
  .ash-lede { font-size: 16px; }
  .ash-hero { min-height: 320px; }
  .ash-hero__inner { padding: 80px var(--ash-gutter) 28px; }
}
.ash-hero__inner > :last-child { padding-bottom: 0 !important; }
/* Beliefs: the white title sat on a pale sky; a soft scrim keeps it readable. */
/* Same on the case studies hero (white title and intro on a pale sky). */
html body #page-container #et-main-area :is(div#beliefs-01, div#cs01) { position: relative; }
html body #page-container #et-main-area :is(div#beliefs-01, div#cs01)::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12, 32, 18, .2) 0%, rgba(12, 32, 18, .55) 100%); pointer-events: none; }
html body #page-container #et-main-area :is(div#beliefs-01, div#cs01) .et_pb_row { position: relative; z-index: 1; }
html body #page-container #et-main-area :is(div#beliefs-01, div#cs01) :is(h1, p) { text-shadow: 0 2px 14px rgba(0, 0, 0, .35); }

/* Breadcrumbs: a small, light secondary line above the title on every hero,
   with clear space below it. Authored heroes, post heroes, Our Story and
   Beliefs share one style. */
.ash-breadcrumb, html body #page-container #et-main-area .et_pb_text_inner > .breadcrumb.ash-crumbs {
  position: static !important; display: block; margin: 0 0 18px !important; padding: 0 !important;
  font-family: Mulish, sans-serif !important; font-size: 14px !important; line-height: 20px !important; font-weight: 400 !important; letter-spacing: .02em !important; text-transform: none !important;
  color: rgba(255, 255, 255, .88) !important; text-shadow: 0 1px 3px rgba(0, 0, 0, .55);
}
html body #page-container #et-main-area .et_pb_text_inner > .breadcrumb.ash-crumbs :is(a, span, span.breadcrumb_last) { font: inherit !important; color: inherit !important; opacity: 1; text-decoration: none; letter-spacing: inherit !important; }
.ash-breadcrumb a, .ash-breadcrumb [aria-current], html body #page-container #et-main-area .et_pb_text_inner > .breadcrumb.ash-crumbs .breadcrumb_last { font-weight: 400 !important; }
.ash-breadcrumb a:hover, html body #page-container #et-main-area .et_pb_text_inner > .breadcrumb.ash-crumbs a:hover { text-decoration: underline; }
.ash-breadcrumb [aria-current], html body #page-container #et-main-area .et_pb_text_inner > .breadcrumb.ash-crumbs .breadcrumb_last { color: rgba(255, 255, 255, .72) !important; }
.ash-breadcrumb__sep, html body #page-container #et-main-area .et_pb_text_inner > .breadcrumb.ash-crumbs .sepo { margin: 0 7px !important; opacity: .6; font-weight: 400 !important; }
html body #page-container #et-main-area .et_pb_text_inner > .breadcrumb.ash-crumbs .kaba { display: none !important; }
html body #page-container #et-main-area :is(#main-content.tpo, #beliefs-01, #Longread-01) .et_pb_text_inner > .breadcrumb.ash-crumbs { text-align: center !important; } /* these heroes centre their title */
@media (max-width: 640px) { .ash-breadcrumb, html body #page-container #et-main-area .et_pb_text_inner > .breadcrumb.ash-crumbs { font-size: 13px !important; margin-bottom: 14px !important; } }

/* Footer: the light mint footer of the desktop at every width. The theme laid a
   dark textured picture (footbk) over the phone footer, once on the footer and
   once on its inner section, and its wave tops repeated down the stacked
   columns as light bands. Both are gone; the policy and copyright strip runs
   the full width. */
html body #main-footer { background-image: none !important; background-color: var(--ash-mint) !important; }
html body #main-footer .xs-footer-sec::before, html body #main-footer .xs-footer-sec::after { content: none !important; display: none !important; background: none !important; }
html body #main-footer .xs-footer-sec .copyright-content { background: #fff; }
@media (max-width: 980px) {
  html body #page-container #main-footer .xs-footer-sec { padding: 0 !important; }
  html body #page-container #main-footer .xs-footer-sec > .container { width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
  html body #main-footer .xs-footer-sec .footer-item { padding: var(--sp-section) 5vw 8px !important; margin: 0 !important; }
  html body #main-footer .xs-footer-sec .footer-item .row > [class*="col-"] { padding: 0 !important; margin: 0 0 var(--sp-block) !important; }
  html body #main-footer .xs-footer-sec .copyright-content { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 18px 5vw 22px !important; box-sizing: border-box; }
  html body #main-footer .xs-footer-sec .copyright-content .row { display: flex; flex-direction: column; gap: 8px; margin: 0 !important; }
  html body #main-footer .xs-footer-sec .copyright-content .row > div { width: 100% !important; padding: 0 !important; margin: 0 !important; text-align: left !important; float: none !important; }
  html body #main-footer .xs-footer-sec .copyright-content ul.menu { display: flex; flex-wrap: wrap; gap: 4px 24px; margin: 0 !important; padding: 0 !important; }
  html body #main-footer .xs-footer-sec .copyright-content ul.menu li { margin: 0 !important; padding: 0 !important; list-style: none; }
  html body #main-footer .xs-footer-sec .copyright-content li.widget { list-style: none; margin: 0 !important; padding: 0 !important; }
  html body #main-footer .xs-footer-sec .copyright-content p.ash-copyright { font-size: 13px !important; white-space: nowrap; text-align: left !important; }
}
@media (max-width: 340px) { html body #main-footer .xs-footer-sec .copyright-content p.ash-copyright { white-space: normal; } }

/* Contact form: the opt-in checkbox. */
.ash-field--check .ash-check { display: flex; align-items: flex-start; gap: 10px; font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 16px; letter-spacing: 0; text-transform: none; color: var(--ash-ink); padding: 0; cursor: pointer; line-height: 1.4; }
.ash-field--check input[type="checkbox"] { width: 20px; height: 20px; margin: 1px 0 0; flex: 0 0 auto; accent-color: var(--ash-green); padding: 0; }

/* Directory cards: real pictures of the subject, credited. Covers, posters and
   artwork are shown whole on a mint ground instead of cropped. */
.ash-card__media { position: relative; }
.ash-card__media--contain img { object-fit: contain !important; padding: 14px; box-sizing: border-box; }
.ash-card__credit { display: block; font-family: Mulish, sans-serif; font-size: 12px; line-height: 1.4; color: var(--ash-muted); padding: 8px 24px 0; }
@media (max-width: 640px) { .ash-card__credit { padding: 8px 20px 0; } }
/* Heal the Soil, statistics: the desktop card keeps 276 px of left padding for
   the big figure, which left the caption one letter wide on phones. Below
   981 px the figure sits above the caption. */
@media (max-width: 980px) {
  html body #page-container #et-main-area div#healthesoil-014 li { padding: 92px 24px 26px !important; margin-bottom: var(--sp-card) !important; }
  html body #page-container #et-main-area div#healthesoil-014 li::before { left: 24px !important; top: 24px !important; font-size: 56px !important; }
  html body #page-container #et-main-area div#healthesoil-014 .et_pb_column_1_2:nth-child(1) { min-height: 0 !important; display: none !important; }
  html body #page-container #et-main-area div#healthesoil-014 .et_pb_row::before { position: relative !important; display: block !important; width: 100% !important; height: 420px !important; margin: 0 0 var(--sp-block) !important; background-size: contain !important; background-position: center !important; background-repeat: no-repeat !important; filter: none !important; }
  html body #page-container #et-main-area div#healthesoil-014 .et_pb_column_1_2:nth-child(2) { margin-top: 0 !important; }
}
/* Respect Creation, the Polyface egg figures: the same desktop card (275 px of
   left padding for the label) as Heal the Soil; on phones the label sits above. */
@media (max-width: 980px) {
  html body #page-container #et-main-area div#recr-035, html body #page-container #et-main-area div#recr-035 .et_pb_row { min-height: 0 !important; display: block !important; }
  html body #page-container #et-main-area div#recr-035 .et_pb_row::before, html body #page-container #et-main-area div#recr-035 .et_pb_row::after { display: none !important; }
  html body #page-container #et-main-area div#recr-035 li { padding: 64px 24px 24px !important; margin-bottom: var(--sp-card) !important; }
  html body #page-container #et-main-area div#recr-035 li::before { left: 24px !important; top: 24px !important; font-size: 24px !important; }
  html body #page-container #et-main-area div#recr-035 li p { padding-bottom: 4px !important; }
}
/* Act Local, the corn and soy products: the same card list (199 px of left
   padding, 53.6 % wide); on phones the icon sits above a full-width caption. */
@media (max-width: 980px) {
  html body #page-container #et-main-area div#aclo-09 .et_pb_row { min-height: 0 !important; display: block !important; }
  html body #page-container #et-main-area div#aclo-09 .et_pb_row::before, html body #page-container #et-main-area div#aclo-09 .et_pb_row::after { display: none !important; }
  html body #page-container #et-main-area div#aclo-09 li { width: 100% !important; box-sizing: border-box; padding: 64px 24px 24px !important; margin-bottom: var(--sp-card) !important; }
  html body #page-container #et-main-area div#aclo-09 li::before { left: 24px !important; top: 24px !important; }
}
/* Privacy Policy: the text module carried 100 px above and 150 px below on top of the section rhythm. */
@media (max-width: 980px) { html body #page-container #et-main-area div#invest-01 + .et_pb_section .et_pb_module { padding-top: 0 !important; padding-bottom: 0 !important; } }
/* Home hero title in sentence case, as every other hero (ruling 6 of 16 October 2026); the theme set it in capitals. */
html body #page-container #et-main-area div#home-page-1 h1 { text-transform: none !important; }

/* ── Round 4 (16 October 2026) ─────────────────────────────────────────────
   One type pair site-wide (Mulish headings, Lato body; fonts-ash.css), darker
   regular body text, list markers in every text column, the post hero, the
   beliefs hero and cards, the carousel shading, card details, the 404, the
   legal pages, the case studies and the external-link mark. */
:root { --ash-font-head: Mulish, 'Helvetica Neue', Arial, sans-serif; --ash-font-body: Lato, 'Helvetica Neue', Arial, sans-serif; --ash-text: #262a26; --ash-muted: #545a53; }

/* Fonts: every text element gets the body face, headings and display text the heading face. Icon fonts
   (ETmodules, dashicons, icomoon) sit on classes with "icon" or on pseudo-elements and keep their own. */
html body *:not([class*="icon"]):not([class*="et-pb-arrow"]):not([class*="dashicons"]):not([class*="fa-"]):not(i):not(svg *) { font-family: var(--ash-font-body) !important; }
html body :is(h1, h2, h3, h4, h5, h6, .ash-h2, .ash-h3, .ash-card__title, .ash-kicker, .ash-chip, .ash-btn, .ash-card__cta, .ash-card__cat, #top-menu a, .et_mobile_menu a, .et_pb_button, button, input[type="submit"], .ash-404__code, .ash-case__meta):not([class*="icon"]),
html body :is(h1, h2, h3, h4, h5, h6) *:not([class*="icon"]):not([class*="et-pb-arrow"]):not(i) { font-family: var(--ash-font-head) !important; }

/* Body text: regular weight and a dark color on the authored templates (was 300 and pale grey). */
.ash-main, .ash-prose, .ash-prose p, .ash-prose li, .ash-feature p, .ash-feature li, .ash-card__text, .ash-card__excerpt, .ash-contact-aside p, .ash-case__body p { color: var(--ash-text) !important; font-weight: 400 !important; }
.ash-prose { font-size: 19px; line-height: 1.7; }
.ash-hero .ash-lede, .ash-lede, .ash-hero h1, .ash-404__text, html body #page-container #et-main-area #im02 h1 { text-wrap: pretty; }
.ash-prose strong, .lele strong, .et_pb_text_inner strong { font-weight: 700 !important; color: inherit; }

/* Lists inside post bodies and static pages: markers, indent, item spacing. Archived static pages mark their
   plain text lists with .ash-list at build time; designed lists (stat cards, icon rows) keep their own look. */
html body #page-container #et-main-area :is(.lele, .ash-prose, .ash-legal, .ash-case__body, .ash-feature) :is(ul, ol):not(.ash-filters):not(.menu):not([class*="pagination"]),
html body #page-container #et-main-area :is(ul, ol).ash-list { padding-left: 1.4em !important; margin: 0 0 1.2em !important; list-style-position: outside !important; }
html body #page-container #et-main-area :is(.lele, .ash-prose, .ash-legal, .ash-case__body, .ash-feature) ul:not(.ash-filters):not(.menu), html body #page-container #et-main-area ul.ash-list { list-style-type: disc !important; }
html body #page-container #et-main-area :is(.lele, .ash-prose, .ash-legal, .ash-case__body, .ash-feature) ol, html body #page-container #et-main-area ol.ash-list { list-style-type: decimal !important; }
html body #page-container #et-main-area :is(.lele, .ash-prose, .ash-legal, .ash-case__body, .ash-feature) :is(ul, ol) > li, html body #page-container #et-main-area :is(ul, ol).ash-list > li { display: list-item !important; list-style: inherit !important; padding-left: .2em !important; margin: 0 0 .5em !important; line-height: 1.6; }
html body #page-container #et-main-area :is(.lele, .ash-prose) :is(ul, ol) > li::before { content: none !important; display: none !important; }
html body #page-container #et-main-area :is(.lele, .ash-prose) li::marker, html body #page-container #et-main-area .ash-list > li::marker { color: var(--ash-green-dark); }
html body #page-container #et-main-area .ash-related ul { list-style: none !important; padding-left: 0 !important; }
html body #page-container #et-main-area .ash-related ul > li { display: block !important; }

/* Post hero (item 8): sentence-case heading face like the other heroes, breadcrumb right above the title,
   title and first lines of the article on the first phone screen. */
html body #page-container #et-main-area div#im02 { display: flex !important; align-items: flex-end; min-height: clamp(380px, 56vh, 560px) !important; height: auto !important; padding: 0 !important; }
html body #page-container #et-main-area div#im02 > #im01 { width: 100% !important; max-width: var(--ash-max) !important; margin: 0 auto !important; padding: 120px var(--ash-gutter) 48px !important; box-sizing: border-box; min-height: 0 !important; height: auto !important; }
html body #page-container #et-main-area div#im02 :is(.et_pb_column, .et_pb_module, .et_pb_text_inner) { min-height: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; }
html body #page-container #et-main-area div#im02 h1 { font-family: var(--ash-font-head) !important; font-weight: 800 !important; text-transform: none !important; letter-spacing: -.01em !important; font-size: 50px !important; line-height: 1.12 !important; text-align: left !important; max-width: 900px; padding: 0 !important; text-shadow: 0 2px 18px rgba(0, 0, 0, .35); }
html body #page-container #et-main-area #main-content.tpo .et_pb_text_inner > .breadcrumb.ash-crumbs { position: static !important; text-align: left !important; margin: 0 0 14px !important; font-size: 15px !important; }
@media (max-width: 767px) {
  html body #page-container #et-main-area div#im02 { min-height: 300px !important; }
  html body #page-container #et-main-area div#im02 > #im01 { padding: 96px 20px 28px !important; }
  html body #page-container #et-main-area div#im02 h1 { font-size: 30px !important; line-height: 1.15 !important; }
  html body #page-container #et-main-area #main-content.tpo .et_pb_text_inner > .breadcrumb.ash-crumbs { font-size: 13px !important; margin-bottom: 10px !important; }
  html body #page-container #et-main-area #main-content.btom { padding-top: 28px !important; }
}

/* Breadcrumbs on every hero: readable size and contrast. */
.ash-breadcrumb, html body #page-container #et-main-area .et_pb_text_inner > .breadcrumb.ash-crumbs { font-size: 15px !important; line-height: 1.4 !important; color: #fff !important; text-shadow: 0 1px 6px rgba(0, 0, 0, .55); }
.ash-breadcrumb [aria-current], html body #page-container #et-main-area .et_pb_text_inner > .breadcrumb.ash-crumbs .breadcrumb_last { color: rgba(255, 255, 255, .85) !important; }
.ash-breadcrumb--light { color: var(--ash-muted) !important; text-shadow: none; margin-bottom: 18px; }
.ash-breadcrumb--light a { color: var(--ash-green-dark) !important; }
.ash-breadcrumb--light [aria-current] { color: var(--ash-muted) !important; }

/* Beliefs hero (item 12): the pasture, not the empty sky; proper title scale. */
html body #page-container #et-main-area div#beliefs-01 { background-position: center 78% !important; min-height: 460px; display: flex; align-items: flex-end; }
html body #page-container #et-main-area div#beliefs-01 h1 { font-family: var(--ash-font-head) !important; font-weight: 800 !important; text-transform: none !important; font-size: 64px !important; line-height: 1.08 !important; letter-spacing: -.01em !important; }
@media (max-width: 767px) {
  html body #page-container #et-main-area div#beliefs-01 { min-height: 300px; }
  html body #page-container #et-main-area div#beliefs-01 h1 { font-size: 40px !important; }
}

/* Beliefs overview cards (item 15): one icon size, a clean arrow. */
html body #page-container #et-main-area #beliefs-03 img { width: 96px !important; height: 96px !important; object-fit: contain !important; }
html body #page-container #et-main-area #beliefs-03 a::after { content: "\2192" !important; display: inline-block; width: auto !important; height: auto !important; margin-left: 8px; font-family: var(--ash-font-head) !important; font-weight: 800; background: none !important; transform: none !important; vertical-align: baseline; }

/* Home carousel (item 11): shading only along the bottom for the title, no dark band down the left edge. */
html body #page-container #et-main-area .et_pb_fh_post_carousel_image::before { background-image: linear-gradient(180deg, rgba(31, 33, 27, 0) 40%, rgba(31, 33, 27, .88) 100%) !important; width: 100% !important; left: 0 !important; }

/* Cards (items 16, 19): internal links get a plain arrow, the date lines up with the card text. */
.ash-card__cta::after { content: " \2192"; }
.ash-card--link[target="_blank"] .ash-card__cta::after { content: " \2197"; }
html body .ash-card .ash-card__date { padding-left: 0 !important; margin-left: 0 !important; display: block; }

/* External links in text (item 32): one link color, a small external mark. */
a.ash-ext::after { content: ""; display: inline-block; width: .72em; height: .72em; margin-left: .22em; vertical-align: .02em; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4.5 1.5H1.5v9h9v-3' fill='none' stroke='black' stroke-width='1.4'/%3E%3Cpath d='M7 1h4v4M11 1 5.5 6.5' fill='none' stroke='black' stroke-width='1.4'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4.5 1.5H1.5v9h9v-3' fill='none' stroke='black' stroke-width='1.4'/%3E%3Cpath d='M7 1h4v4M11 1 5.5 6.5' fill='none' stroke='black' stroke-width='1.4'/%3E%3C/svg%3E") center / contain no-repeat; opacity: .75; }

/* What We Do (item 18): no doubled section padding before the closing band. */
.ash-section + .ash-section:has(> .ash-container > .ash-cta) { padding-top: 0 !important; }
.ash-cta { margin-top: 0 !important; }

/* In-body pictures in articles (item 33). */
.ash-figure { margin: 8px 0 32px; }
.ash-figure img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--ash-radius); background: var(--ash-mint); }

/* Legal pages (privacy). */
.ash-section--legal { padding: 64px 0 80px; }
.ash-legal h1 { font-family: var(--ash-font-head) !important; font-weight: 800; font-size: 44px; line-height: 1.12; color: var(--ash-ink); padding: 0 0 8px; }
.ash-legal__date { color: var(--ash-muted) !important; font-size: 16px; }
.ash-legal h2 { font-size: 26px !important; padding: 28px 0 8px !important; }
.ash-legal h3 { font-size: 20px !important; padding: 14px 0 6px !important; }
@media (max-width: 640px) { .ash-legal h1 { font-size: 32px; } .ash-section--legal { padding: 40px 0 56px; } }

/* 404 (item 2). */
.ash-section--404 { padding: 72px 0 96px; }
.ash-404__code { font-weight: 900; font-size: 96px !important; line-height: 1 !important; color: var(--ash-mint); -webkit-text-stroke: 2px var(--ash-green); margin: 0 0 8px !important; padding: 0 !important; }
.ash-404__title { font-family: var(--ash-font-head) !important; font-weight: 800; font-size: 44px; line-height: 1.15; color: var(--ash-ink); padding: 0 0 12px; }
.ash-404__text { font-size: 19px; line-height: 1.6; color: var(--ash-text); max-width: 640px; margin: 0 0 28px; }
.ash-404__search { max-width: 560px; margin: 0 0 40px; }
.ash-404__links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ash-404__link { display: flex; flex-direction: column; gap: 6px; padding: 20px 22px; background: var(--ash-mint); border-radius: var(--ash-radius); text-decoration: none; transition: background .2s; }
.ash-404__link:hover { background: #d8e8db; }
.ash-404__link-name { font-family: var(--ash-font-head) !important; font-weight: 800; font-size: 20px; color: var(--ash-green-dark); }
.ash-404__link-name::after { content: " \2192"; }
.ash-404__link-text { font-size: 15px; line-height: 1.45; color: var(--ash-text); }
@media (max-width: 980px) { .ash-404__links { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .ash-404__links { grid-template-columns: 1fr; } .ash-404__title { font-size: 32px; } .ash-404__code { font-size: 72px; } .ash-section--404 { padding: 40px 0 64px; } }

/* Case studies (item 7). */
.ash-cases { display: flex; flex-direction: column; gap: 40px; }
.ash-case { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 0; background: #fff; border-radius: var(--ash-radius); box-shadow: var(--ash-shadow); overflow: hidden; }
.ash-case:nth-child(even) .ash-case__media { order: 2; }
.ash-case--noimg { grid-template-columns: 1fr; }
.ash-case__media { margin: 0; position: relative; background: var(--ash-mint); min-height: 320px; }
.ash-case__media img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
.ash-case__media--contain img { object-fit: contain; padding: 24px; box-sizing: border-box; }
.ash-case__media .ash-card__credit { position: absolute; left: 0; bottom: 0; margin: 0; padding: 6px 12px; font-size: 12px; color: #fff; background: rgba(0, 0, 0, .45); border-top-right-radius: 8px; }
.ash-case__body { padding: 36px 40px 40px; }
.ash-case__meta { display: flex; flex-wrap: wrap; gap: 8px 16px; font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--ash-green-dark) !important; margin: 0 0 10px; }
.ash-case__body .ash-h2 { padding-bottom: 14px; }
.ash-case__body .ash-h3 { font-size: 19px; padding: 6px 0 6px; }
.ash-case__body p { font-size: 18px; line-height: 1.65; margin: 0 0 14px; }
.ash-case__link { margin: 22px 0 0 !important; }
@media (max-width: 980px) {
  .ash-case { grid-template-columns: 1fr; }
  .ash-case:nth-child(even) .ash-case__media { order: 0; }
  .ash-case__media { min-height: 0; aspect-ratio: 3 / 2; }
  .ash-case__body { padding: 26px 22px 30px; }
}

/* Round 4, after the screenshots: the headline stays clear of the barn; the feature headings leave room for
   their arrow in the heading face; belief cards keep one height per row. */
html body #page-container #et-main-area div#home-page-1 h1 { max-width: 600px !important; }
html body #page-container #et-main-area #home-page-4 h3 { font-size: 40px !important; line-height: 1.15 !important; padding-right: 48px !important; }
@media (max-width: 980px) { html body #page-container #et-main-area #home-page-4 h3 { font-size: 30px !important; } }
@media (min-width: 981px) {
  html body #page-container #et-main-area #beliefs-03 .et_pb_row { display: flex !important; align-items: stretch; }
  html body #page-container #et-main-area #beliefs-03 .et_pb_row > .et_pb_column { display: flex !important; flex-direction: column; }
  html body #page-container #et-main-area #beliefs-03 .et_pb_row > .et_pb_column > .et_pb_module { flex: 1 1 auto; display: flex !important; flex-direction: column; }
  html body #page-container #et-main-area #beliefs-03 .et_pb_row > .et_pb_column > .et_pb_module > .et_pb_text_inner { flex: 1 1 auto; display: flex !important; flex-direction: column; }
  html body #page-container #et-main-area #beliefs-03 .et_pb_row > .et_pb_column > .et_pb_module > .et_pb_text_inner > :last-child { margin-top: auto !important; }
}
/* Footer between 981 and 1350 px (round 4, seen at 1024): the 1290 px frame ran edge to edge; the same gutter as the header. */
@media (min-width: 981px) and (max-width: 1350px) {
  html body #main-footer .xs-footer-sec .footer-item { padding-left: 24px !important; padding-right: 24px !important; box-sizing: border-box; }
  html body #main-footer .copyright-content { padding-left: 24px !important; padding-right: 24px !important; box-sizing: border-box; }
}
/* Heal the Soil stat cards (round 4): the updated "77.6%" is one character wider than the old figures. */
html body #page-container #et-main-area div#healthesoil-014 li::before { font-family: var(--ash-font-head) !important; font-weight: 800 !important; font-size: 60px !important; letter-spacing: -.02em; }
