.approach { display: grid; grid-template-columns: 1fr 1.05fr; gap: var(--s12) var(--s24); border-top: 1px solid var(--line); }
.approach h2 { max-width: 440px; }
.approach-body .large-copy { font-size: 21px; }
.italic-note { font: italic 23px/1.5 var(--display); color: var(--clay); margin-top: var(--s6); }
.principles { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s12); margin-top: var(--s8); }
.principles article { border-top: 1px solid var(--line); padding-top: var(--s6); }
.index { font-size: 12px; letter-spacing: .12em; color: var(--clay); }
.principles h3 { margin-top: var(--s6); }
.principles p { margin-top: var(--s3); font-size: 16px; color: var(--muted); max-width: 290px; }
.training { background: var(--surface); }
.learning-figure { max-width: 480px; }
.learning-figure > img { width: 100%; height: 580px; object-fit: cover; border-radius: 3px; }
.learning-figure figcaption { font-size: 11px; padding-top: var(--s3); color: var(--muted); }
.training-copy h2 { margin-bottom: var(--s8); }
.training-copy > p:not(.eyebrow) { color: var(--muted); }
.training-copy .large-copy { color: var(--ink); }
.location-note { padding-top: var(--s6); font-size: 12px; border-top: 1px solid var(--line); margin-top: var(--s6); }
.arrow-link { display: inline-flex; gap: var(--s12); margin-top: var(--s6); }
.blend-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-block: var(--s12); }
.blend { padding: var(--s8) var(--s6); min-height: 340px; display: flex; flex-direction: column; border: 1px solid var(--line); border-right: 0; background: #eee8de; }
.blend:last-child { border-right: 1px solid var(--line); }
.blend-2 { background: #f5f1e9; }
.blend-3 { background: #e9e2d7; }
.blend-4 { background: #f0ebe2; }
.blend-number { font: 400 68px/1 var(--display); letter-spacing: -.06em; opacity: .65; }
.blend-rule { width: 32px; height: 2px; background: var(--olive); margin-block: var(--s8); }
.blend h3 { font-family: var(--display); font-size: 34px; font-weight: 400; }
.blend p { margin-top: var(--s3); font-size: 16px; }
.blend-use { font-size: 10px; letter-spacing: .025em; margin-top: auto; padding-top: var(--s6); color: var(--muted); }
.coffee-notes { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s16); }
.coffee-notes > div { padding-left: var(--s6); border-left: 2px solid var(--clay); }
.coffee-notes p { color: var(--muted); font-size: 16px; margin-block: var(--s3); max-width: 420px; }
.coffee-notes .text-link { font-size: 14px; }
.partnership { border-top: 1px solid var(--line); }
.partnership-heading { text-align: center; max-width: 720px; margin-inline: auto; }
.partnership-heading h2 { margin-block: var(--s6); }
.partnership-heading p.large-copy { color: var(--muted); max-width: 590px; margin-inline: auto; }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); counter-reset: steps; padding: 0; list-style: none; margin-block: var(--s12); border-block: 1px solid var(--line); }
.steps li { padding: var(--s8) var(--s6); display: flex; align-items: center; gap: var(--s6); font-size: 20px; }
.steps li + li { border-left: 1px solid var(--line); }
.steps li::before { counter-increment: steps; content: '0' counter(steps); font: italic 36px var(--display); color: var(--clay); }
.partner-notes { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--s16); margin-bottom: var(--s6); }
.partner-notes p { font-size: 16px; color: var(--muted); margin: 0; }
.consulting { background: var(--sage); }
.consulting-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s12); margin-block: var(--s12); }
.consulting-grid article { padding-top: var(--s6); border-top: 1px solid #909985; }
.consulting-grid article > span { display: block; font-size: 30px; margin-bottom: var(--s6); }
.consulting-grid p { margin-top: var(--s3); font-size: 16px; max-width: 300px; }
.contact { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--s24); align-items: center; }
.contact h2 { margin-block: var(--s6); }
.contact .large-copy { color: var(--muted); max-width: 460px; }
.contact .button { margin-top: var(--s8); }
.external-note { margin-top: var(--s3); font-size: 11px; color: var(--muted); }
.contact-location { border-left: 1px solid var(--line); padding-left: var(--s16); }
.contact-location img { mix-blend-mode: multiply; width: 112px; height: 112px; object-fit: contain; margin-bottom: var(--s8); }
.contact-location p { margin-top: var(--s2); font-size: 15px; }
.contact-location .muted { font-size: 13px; max-width: 260px; margin-top: var(--s6); }
@media (max-width: 1100px) {
  .approach { gap: var(--s12); }
  .learning-figure > img { height: 530px; }
  .blend { padding-inline: var(--s4); }
  .blend h3 { font-size: 26px; }
  .steps li { padding-inline: var(--s4); font-size: 17px; gap: var(--s4); }
  .contact { gap: var(--s12); }
  .contact-location { padding-left: var(--s12); }
}
@media (max-width: 760px) {
  .approach { grid-template-columns: 1fr; gap: var(--s8); }
  .approach-body .large-copy { font-size: 20px; }
  .principles { grid-template-columns: 1fr; gap: var(--s8); margin-top: 0; }
  .principles h3 { margin-top: var(--s3); }
  .principles p { max-width: none; }
  .learning-figure { max-width: none; }
  .learning-figure > img { height: 440px; object-position: 50% 45%; }
  .training-copy { margin-top: var(--s3); }
  .training-copy h2 { margin-bottom: var(--s6); }
  .blend-grid { grid-template-columns: 1fr 1fr; margin-block: var(--s8); }
  .blend { min-height: 300px; padding: var(--s6) var(--s4); }
  .blend:nth-child(2) { border-right: 1px solid var(--line); }
  .blend:nth-child(n+3) { border-top: 0; }
  .blend-number { font-size: 56px; }
  .blend h3 { font-size: 25px; }
  .blend-rule { margin-block: var(--s6); }
  .coffee-notes, .partner-notes { grid-template-columns: 1fr; gap: var(--s8); }
  .coffee-notes h3 { font-size: 21px; }
  .partnership-heading { text-align: left; }
  .steps { grid-template-columns: 1fr; margin-block: var(--s8); }
  .steps li { padding: var(--s6) 0; }
  .steps li + li { border-left: 0; border-top: 1px solid var(--line); }
  .consulting-grid { grid-template-columns: 1fr; gap: var(--s8); margin-block: var(--s8); }
  .consulting-grid article > span { margin-bottom: var(--s3); }
  .consulting-grid p { max-width: none; }
  .contact { grid-template-columns: 1fr; gap: var(--s12); }
  .contact-location { padding-left: 0; padding-top: var(--s8); border-left: 0; border-top: 1px solid var(--line); }
  .contact-location img { width: 72px; height: 72px; margin-bottom: var(--s6); }
}

.story-details { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: var(--s16); }
.story-details article { border-top: 1px solid var(--line); padding-top: var(--s8); }
.story-details h3 { font: 400 38px/1.15 var(--display); margin-block: var(--s4); }
.story-details article > p:last-child { color: var(--muted); max-width: 520px; }
.story-philosophy { grid-column: 1 / -1; padding: var(--s12); background: var(--surface); }
.story-philosophy blockquote { margin: var(--s6) 0 0; max-width: 950px; font: 400 38px/1.3 var(--display); color: var(--espresso); }
.gallery { border-top: 1px solid var(--line); }
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s8); }
.gallery-grid img { width: 100%; height: 370px; object-fit: cover; }
.gallery-grid figure:first-child img { object-position: 55% 45%; }
.gallery-grid figcaption { padding-top: var(--s6); }
.gallery-grid h3 { font: 400 30px/1.2 var(--display); margin-block: var(--s3); }
.gallery-grid figcaption > p:last-child { color: var(--muted); font-size: 15px; }
@media (max-width: 760px) {
  .story-details, .gallery-grid { grid-template-columns: 1fr; gap: var(--s12); }
  .story-philosophy { padding: var(--s8) var(--s6); }
  .story-philosophy blockquote { font-size: 30px; }
  .gallery-grid img { height: 390px; }
}

.founders-heading { max-width: 960px; }
.founders-heading .eyebrow { margin-top: var(--s12); margin-bottom: var(--s6); }
.founders-heading h1 { font-size: clamp(64px, 7vw, 100px); white-space: pre-line; }
.founders-heading .large-copy { margin-top: var(--s8); color: var(--muted); max-width: 580px; }
.founder-profiles { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s16); padding-bottom: var(--s24); }
.founder-profile { border-top: 1px solid var(--line); padding-top: var(--s8); }
.founder-profile h2 { font-size: 52px; margin-block: var(--s4) var(--s8); }
.founder-profile > p { color: var(--muted); }
.story-details .text-link { display: inline-block; margin-top: var(--s6); }
@media (max-width: 760px) {
  .founder-profiles { grid-template-columns: 1fr; gap: var(--s16); }
  .founder-profile h2 { font-size: 44px; }
  .founders-heading h1 { font-size: 60px; }
}

.blend-art { width: 100%; height: 240px; object-fit: contain; margin-block: var(--s4) var(--s6); }
.blend .blend-number { font: 400 18px/1.4 var(--display); letter-spacing: .04em; }
.blend .blend-rule { display: none; }
@media (max-width: 760px) {
  .blend { padding-inline: var(--s4); }
  .blend-art { height: 180px; margin-block: var(--s3) var(--s4); }
}

.farmers { background: var(--surface); }
.farmers-location { display: flex; flex-wrap: wrap; gap: var(--s3) var(--s8); margin-bottom: var(--s8); font-size: 14px; }
.farmers-location span { color: var(--muted); }
.farmer-feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s8); }
.farmer-support-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s8); margin-top: var(--s12); }
.farmers img { width: 100%; object-fit: cover; object-position: 50% 40%; }
.farmer-feature-grid img { height: 580px; }
.farmer-feature-grid figure:nth-child(2) img { object-position: 50% 15%; }
.farmer-support-grid img { height: 360px; }
.farmers figcaption { color: var(--muted); font-size: 13px; margin-top: var(--s3); }
@media (max-width: 760px) {
  .farmer-feature-grid, .farmer-support-grid { grid-template-columns: 1fr; gap: var(--s8); }
  .farmer-feature-grid img, .farmer-support-grid img { height: auto; }
  .farmer-support-grid { margin-top: var(--s8); }
}

.farmers .section-heading { align-items: start; }
.farmer-story-copy { max-width: 550px; color: var(--muted); }
.farmer-story-copy .large-copy { color: var(--ink); }
.farmers-partner { max-width: 820px; margin-bottom: var(--s12); color: var(--muted); }
