/* ===========================================================================
   about.css — About page (photo-led, editorial, warm).
   Built on brand.css tokens only. Vertical rhythm lives on <section> elements,
   never via shorthand `padding` on a `.wrap` element (the V4 gutter trap).
   =========================================================================== */

.about h1,.about h2{letter-spacing:-.02em;line-height:1.08}

/* ---- HERO ---------------------------------------------------------------- */
.ab-hero{padding-top:56px;padding-bottom:64px}
.ab-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ab-hero__title{font-size:clamp(34px,5.2vw,58px);font-weight:800;margin:14px 0 0}
.ab-lead{font-size:clamp(16px,1.4vw,18.5px);line-height:1.6;color:var(--ink-2);max-width:46ch;margin-top:20px}

.ab-facts{list-style:none;display:flex;gap:0;margin-top:30px;padding:0}
.ab-facts li{display:flex;flex-direction:column;gap:3px;padding:0 22px;border-left:1px solid var(--line)}
.ab-facts li:first-child{padding-left:0;border-left:0}
.ab-facts strong{font-size:24px;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.ab-facts span{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}

.ab-hero__media{margin:0}
.ab-hero__media img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--line)}

/* ---- OUR STORY ----------------------------------------------------------- */
.ab-story{padding-top:56px;padding-bottom:56px;border-top:1px solid var(--line)}
.ab-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px}
.ab-split__head h2{font-size:clamp(25px,3.4vw,38px);font-weight:800;margin-top:12px}
.ab-prose{font-size:16.5px;line-height:1.7;color:var(--ink-2);max-width:60ch}
.ab-prose p+p{margin-top:16px}

/* ---- HERITAGE (warm wash + historic photo) ------------------------------- */
.ab-heritage{padding-top:64px;padding-bottom:64px;background:var(--green-soft)}
.ab-heritage__grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ab-heritage__media{margin:0}
.ab-heritage__media img{width:100%;aspect-ratio:1024/819;object-fit:cover;border:1px solid rgba(0,0,0,.12);box-shadow:0 14px 36px rgba(0,0,0,.16)}
.ab-heritage__media figcaption{margin-top:12px;font-size:12px;line-height:1.5;color:var(--ink-3);max-width:48ch}
.ab-credit{display:block;margin-top:4px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4)}

.ab-heritage__copy h2{font-size:clamp(25px,3.4vw,38px);font-weight:800;margin:12px 0 16px}
.ab-heritage__copy>p{font-size:16.5px;line-height:1.7;color:var(--ink-2);max-width:52ch}

.ab-timeline{list-style:none;margin:26px 0 0;padding:0}
.ab-timeline li{display:grid;grid-template-columns:74px 1fr;gap:18px;padding:16px 0;border-top:1px solid rgba(76,116,52,.22)}
.ab-timeline li:last-child{border-bottom:1px solid rgba(76,116,52,.22)}
.ab-timeline .yr{font-size:15px;font-weight:800;letter-spacing:.02em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--green-text)}
.ab-timeline p{font-size:14.5px;line-height:1.6;color:var(--ink-2)}
.ab-timeline strong{color:var(--ink)}

.ab-heritage__kicker{margin-top:24px;font-size:16px;line-height:1.6;color:var(--ink);font-style:italic;max-width:52ch}

/* ---- CTA ----------------------------------------------------------------- */
.ab-cta{padding-top:64px;padding-bottom:72px;text-align:center}
.ab-cta__inner h2{font-size:clamp(24px,3.2vw,34px);font-weight:800}
.ab-cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:24px}

/* ---- responsive ---------------------------------------------------------- */
@media(max-width:900px){
  .ab-hero{padding-top:36px;padding-bottom:44px}
  .ab-hero__grid{grid-template-columns:1fr;gap:32px}
  .ab-hero__media{order:-1}
  .ab-split{grid-template-columns:1fr;gap:20px}
  .ab-heritage__grid{grid-template-columns:1fr;gap:32px}
  .ab-story,.ab-heritage{padding-top:44px;padding-bottom:44px}
  .ab-cta{padding-top:48px;padding-bottom:56px}
}
@media(max-width:480px){
  .ab-facts{flex-wrap:wrap;gap:18px 0}
  .ab-facts li{flex:1 0 33%;padding-left:0;padding-right:14px;border-left:0}
}
