/* Approved Farm-to-Township narrative layout; loaded after the existing site stylesheet. */
.home-hero h1 { font-size:clamp(38px,4.6vw,62px); }
.page-hero .hero-grid h1 { font-size:clamp(33px,4.2vw,56px); }
.home-hero .hero-promise { font-size:clamp(25px,2.75vw,38px); line-height:1.22; letter-spacing:-.025em; margin-top:16px; }
.home-hero .hero-copy > p:not(.lead),
.page-hero .hero-grid > div:first-child > p:not(.lead) { margin-top:15px; }
.tile-grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.model-context { max-width:800px; margin-top:25px; line-height:1.7; }
.network-hero-graphic .supply-flow strong { font-size:12px; }
@media (max-width:1100px) { .tile-grid.four { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) { .tile-grid.four { grid-template-columns:1fr; } }

/* Accessible brand-orange emphasis on the homepage title. */
.home-hero h1 { color: #B45008; }
/* Recognisable, consistently-sized value-chain icons. */
.supply-flow .flow-icon { display:block; width:31px; height:31px; color:var(--dark); stroke:currentColor; fill:none; }
.network-hero-graphic .supply-flow .flow-icon { width:23px; height:23px; }
@media (max-width:900px) { .supply-flow .flow-icon { width:28px; height:28px; } }


/* About Us: founder-approved name meaning preview. Scope all selectors to this section. */
.name-origin-section { padding:26px 0 8px; background:#fffdfa; }
.name-origin-card {
  border:1px solid #dce5d8;
  border-radius:22px;
  background:#f5f3e9;
  box-shadow:0 12px 32px rgba(12,59,36,.06);
  padding:38px 44px 42px;
}
.name-origin-label {
  color:#315b3d;
  font-size:12px;
  font-weight:800;
  line-height:1.45;
  letter-spacing:.15em;
  text-transform:uppercase;
  border-left:5px solid #e77c29;
  padding-left:14px;
  margin-bottom:25px;
}
.name-origin-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:52px; align-items:start; }
.name-origin-definition h2 { font-size:clamp(37px,4vw,52px); color:#0c3b24; line-height:1.12; margin:0 0 10px; letter-spacing:-.035em; }
.name-origin-definition dfn { font-style:normal; }
.name-origin-category { color:#64766b; font-style:italic; font-size:14px; margin:0; }
.name-origin-rule { height:1px; background:#c6d2c2; margin:25px 0 19px; }
.name-origin-meaning { color:#0c3b24; font-size:clamp(28px,3.1vw,38px); font-weight:750; letter-spacing:-.02em; line-height:1.2; margin:0; }
.name-origin-story { color:#314f3c; font-size:16px; line-height:1.72; }
.name-origin-story p { margin:0 0 13px; }
.name-origin-story p:last-child { margin-bottom:0; }
.name-origin-story .name-origin-etymology { font-size:15px; color:#395849; padding-bottom:14px; border-bottom:1px solid #c6d2c2; margin-bottom:15px; }
@media(max-width:900px) {
  .name-origin-section { padding:18px 0 4px; }
  .name-origin-card { padding:29px 28px 32px; border-radius:18px; }
  .name-origin-grid { grid-template-columns:1fr; gap:26px; }
  .name-origin-label { margin-bottom:20px; }
  .name-origin-rule { margin:18px 0 16px; }
}
@media(max-width:470px) {
  .name-origin-card { padding:24px 20px 26px; }
  .name-origin-definition h2 { font-size:35px; }
  .name-origin-meaning { font-size:29px; }
  .name-origin-story { font-size:15px; }
}
