/* CH Group: about.css (About layout only; tokens and shared components live in site.css) */

/* ------------------------------------------------------------------- hero --
   A quiet editorial opening: headline and sub side by side, then one wide
   photographic band. No pin, no layers; the band wipes up once. */
.ab-hero { padding-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.ab-hero__head { display: grid; gap: var(--sc-5); justify-items: start; }
.ab-hero__actions { margin-top: var(--sc-2); }
.ab-hero__title { max-width: 18ch; text-wrap: balance; }
.ab-hero__sub { max-width: 40ch; color: var(--sc-ink-soft); }
.ab-band {
  margin-top: clamp(2rem, 4.5vw, 3.75rem); overflow: hidden; border-radius: var(--sc-r-md);
  aspect-ratio: 21 / 8; background: #dfe3e2; box-shadow: var(--sc-e2);
}
.ab-band__img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; }
@media (max-width: 700px) {
  .ab-hero__title { font-size: min(2.4rem, 9.4vw); line-height: 1.04; }
  .ab-band { aspect-ratio: 4 / 3; margin-top: 1.75rem; }
}

/* ------------------------------------------------------------------- film -- */
.ab-film { padding-block: clamp(2.75rem, 6vw, 5.5rem); }
.ab-film__frame { max-width: 62rem; margin-inline: auto; }

/* -------------------------------------------------- purpose, vision, mission --
   Typographic and ruled, not cards: the purpose is set large, the other two
   share the line beneath it. */
.ab-why__title { margin-bottom: clamp(1.75rem, 4vw, 3rem); }
.ab-why__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(2rem, 6vw, 6rem); }
.ab-why__row { padding: clamp(1.1rem, 2vw, 1.6rem) 0 clamp(1.4rem, 3vw, 2.4rem); border-top: 1px solid var(--line-strong); }
.ab-why__row--1 { grid-column: 1 / -1; }
.ab-why__label { color: var(--sc-ink-soft); }
.ab-why__text {
  margin-top: var(--sc-3); font: 450 clamp(1.3rem, 1.1rem + 0.8vw, 1.7rem)/1.3 var(--sc-font-display);
  letter-spacing: -0.012em; color: var(--sc-ink); text-wrap: balance; max-width: 30ch;
}
.ab-why__row--1 .ab-why__text { font-size: clamp(1.75rem, 1.2rem + 2.3vw, 3.15rem); line-height: 1.12; letter-spacing: -0.02em; max-width: 26ch; }
@media (max-width: 700px) {
  .ab-why__list { grid-template-columns: 1fr; }
  .ab-why__row--1 { grid-column: auto; }
}

/* -------------------------------------------------------------- principles -- */
.ab-how__grid { display: grid; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.ab-how__list .ledger__row:last-child { border-bottom: 1px solid var(--line); }
.ab-how__list .ledger__t { font: 500 clamp(1.15rem, 1.05rem + 0.4vw, 1.4rem)/1.25 var(--sc-font-display); letter-spacing: -0.008em; }
.ab-how__list .ledger__b { margin-top: 8px; }
@media (min-width: 900px) {
  .ab-how__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); column-gap: clamp(2rem, 6vw, 6rem); }
  .ab-how__title { position: sticky; top: calc(var(--hd-h) + 32px); }
}

/* ---------------------------------------------------------------- founders -- */
.ab-founders__grid { display: grid; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.ab-founders__link { margin-top: var(--sc-4); }
.ab-founders__list { max-width: 44rem; }
/* Cards without contact lines are shorter: keep their name under the photo, not centred in the row. */
.ab-founders__list .founder { align-content: start; }
.ab-founders__list .founder__text { display: grid; gap: 2px; }
.ab-founders__list .founder__line { overflow-wrap: anywhere; }
@media (min-width: 900px) {
  .ab-founders__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); column-gap: clamp(2rem, 6vw, 6rem); }
}
/* Seven people: on wide screens the heading sits above a full-width grid four across
   (4 + 3), so no card sits alone on a row. */
@media (min-width: 1100px) {
  .ab-founders__grid { grid-template-columns: 1fr; }
  .ab-founders__head { display: flex; align-items: baseline; justify-content: space-between; gap: 2rem; }
  .ab-founders__link { margin-top: 0; }
  .ab-founders__list { max-width: none; }
  .ab-founders__list.founders--lg { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .ab-founders__list.founders--lg { grid-template-columns: 1fr; }
  .ab-founders__list .founder { grid-template-columns: 112px 1fr; gap: 16px; align-items: center; }
  .ab-founders__list .founder__photo { aspect-ratio: 4 / 5; }
}

/* ----------------------------------------------------------- company facts -- */
.ab-co__grid { display: grid; gap: clamp(1.25rem, 3vw, 2rem); align-items: start; }
.ab-co__legal {
  max-width: 34ch; padding-bottom: var(--sc-5); margin-bottom: var(--sc-5); border-bottom: 1px solid var(--line);
  font: 450 clamp(1.2rem, 1.08rem + 0.5vw, 1.5rem)/1.4 var(--sc-font-display); letter-spacing: -0.006em; color: var(--sc-ink);
}
@media (min-width: 900px) {
  .ab-co__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); column-gap: clamp(2rem, 6vw, 6rem); }
}

/* --------------------------------------------------------------------- CTA -- */
.ab-cta { --sec-y: clamp(3.5rem, 7vw, 6rem); }
.ab-cta__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sc-5) var(--sc-7); }
.ab-cta .h2 { max-width: 18ch; }
