/* =====================================================================
   TRUST PAGES (WAVE 2b TASK BB, 2026-09-26): about, team, provider bios,
   athletes, reviews. Site additions to the vendored APPROVED sheets (v5.css,
   svc.css, cond.css, hub.css stay byte-identical; check-board-css). No approved
   mockup exists for these page types: they are COMPOSED from approved V5 parts
   (the service hero + body grid, the V5 team grid, the McCaffrey section and
   athlete rail, the proof wall, the hub steps + ledger), and this sheet only
   adds what those parts need on a trust page. Tokens only from v5.css :root.
   No CSS transition on any property a GSAP tween animates (TASK V lesson).
   ===================================================================== */

/* ---------- hero: the service hero, shorter; type-only when there is no plate ---------- */
.trust-hero { min-height: min(84svh, 860px); }
.trust-hero__h1 { font-size: clamp(3rem, 6.4vw, 6.8rem); }
.trust-hero--plain { min-height: 0; padding: calc(var(--header-height) + 96px) 0 clamp(48px, 6vw, 88px);
  background: radial-gradient(70% 90% at 100% 0%, rgba(99, 18, 50, .42) 0%, rgba(14, 11, 12, 0) 62%), var(--ink-0); }
.trust-hero--plain .svc-hero__inner { max-width: 1000px; }

/* ---------- body blocks ---------- */
.trust-capsule { margin-bottom: clamp(28px, 3.4vw, 48px); max-width: 60ch; }
.trust-open { display: block; max-width: 68ch; }
.trust-quote { margin-top: clamp(32px, 4vw, 52px); }
.trust-quote p { font-size: clamp(1.5rem, 2.6vw, 2.4rem); }
.trust-note { margin-top: clamp(24px, 3vw, 36px); max-width: 64ch; }
.trust-facts { max-width: 760px; margin: 0 0 28px; }
.trust-facts .glance__row dd { font-size: 16.5px; }
.trust-hours { max-width: 560px; }
.trust-more { margin-top: clamp(28px, 3vw, 40px); }
.trust-lede p { max-width: 62ch; }
.trust-lede p + p { margin-top: 14px; }
.trust-intro { padding-block: clamp(56px, 7vw, 104px); }
.trust-fine { margin-top: 22px; max-width: 72ch; font-size: 12.5px; }

/* the intro video (slot 3b): a 16:9 V5 bezel with the play disc over the poster */
.trust-video { margin: 0; max-width: 880px; }
.trust-video .bezel__core { aspect-ratio: 16 / 9; }
.trust-video video { width: 100%; height: 100%; object-fit: cover; }
.trust-video figcaption { margin-top: 14px; padding-left: 14px; border-left: 2px solid var(--crimson); font: 500 12px/1.5 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }

/* credentials: who / what rows on hairlines (safe-to-publish list only; LICENCES.md) */
.trust-creds { list-style: none; margin: 0; padding: 0; max-width: 900px; }
.trust-cred { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 8px 32px; padding: 20px 0; border-top: 1px solid var(--line); }
.trust-cred:has(> :only-child) { grid-template-columns: 1fr; }
.trust-cred__who { font: 800 clamp(1.15rem, 1.6vw, 1.4rem)/1.1 var(--f-display); text-transform: uppercase; color: var(--paper); }
.trust-cred__what { color: var(--muted); font-size: 16px; line-height: 1.5; }
.trust-press { margin-top: 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.trust-bio { align-items: stretch; }
.trust-press .ledger__k { font: 600 10.5px/1 var(--f-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--dim); }
.trust-press a { color: var(--paper); text-decoration: underline; text-decoration-color: var(--crimson); text-underline-offset: 4px; font-weight: 600; }

/* ---------- people (the V5 .team__grid, on trust pages) ---------- */
.trust-person__line { margin-top: 8px; color: var(--muted); font-size: 15px; line-height: 1.5; }
.trust-person__go { margin-top: 14px; font-size: 14px; }
.tpage .person--lead .person__l3 .person__name { margin: 0; }
.tpage .team__grid .person--text { grid-column: span 2; align-self: start; }
.tpage .person--text { grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 22px; row-gap: 6px; }
.tpage .person--text .person__mono { grid-row: span 4; align-self: start; }
.tpage .person--text > :not(.person__mono) { grid-column: 2; }
.tpage .person--text .trust-person__go { justify-self: start; margin-top: 6px; }
.trust-group { background: var(--ink-0); padding-block: clamp(64px, 8vw, 120px); }
.trust-group:nth-of-type(even) { background: var(--ink-1); }
.trust-group .team__grid { margin-top: clamp(28px, 4vw, 48px); }
.trust-roster .team__grid { margin-top: clamp(32px, 4vw, 56px); }

/* ---------- provider bio hero: type left, the V5 portrait bezel right ---------- */
.trust-bio__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: clamp(32px, 5vw, 80px); align-items: end; }
.trust-bio__h1 { font-size: clamp(2.8rem, 5.8vw, 6rem); }
.trust-bio__sub { margin: 0 0 10px; font-size: 13px; }
.trust-bio__role { margin-bottom: 6px; color: var(--muted); font-size: clamp(1.02rem, 1.3vw, 1.18rem); max-width: 48ch; }
.trust-bio__media { margin: 0; max-width: 440px; justify-self: end; width: 100%; }
.trust-bio__media .bezel__core { aspect-ratio: 4 / 5; }
.trust-bio__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; }
.trust-bio__media figcaption { margin-top: 12px; font: 500 11.5px/1.5 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--dim); }
.trust-bio__mono { justify-self: end; display: grid; place-items: center; width: min(100%, 360px); aspect-ratio: 1; border-radius: 50%; border: 1px solid var(--line-2);
  background: radial-gradient(60% 60% at 50% 40%, rgba(99, 18, 50, .75) 0%, rgba(14, 11, 12, 0) 100%); }
.trust-bio__mono .person__mono { width: 58%; height: 58%; font-size: clamp(3rem, 7vw, 6rem); }
.trust-focus { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.trust-q { margin-top: 0; }

/* ---------- athletes ---------- */
.trust-pros { padding-bottom: calc(var(--section) * .7); }
.trust-trains, .trust-memo { background: var(--ink-0); }
.trust-card .card__media img { object-position: 50% 32%; }
.trust-clips { margin-top: clamp(56px, 7vw, 96px); }
.trust-clips__row { display: flex; flex-wrap: wrap; gap: 20px; }
.trust-clips .card { --h: clamp(300px, 34vw, 480px); }
.trust-clips .card figcaption, .tpage figure.card figcaption { margin-top: 14px; padding-left: 14px; border-left: 2px solid var(--crimson); font: 500 12px/1.45 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); max-width: 34ch; }
.trust-trains__list { margin-top: 26px; }
.trust-wall .rail-pin { margin-top: 0; }
.trust-card__h { margin-top: 14px; padding-left: 14px; border-left: 2px solid var(--crimson); font: 800 1.45rem/.95 var(--f-display); text-transform: uppercase; }
.trust-sideline { background: var(--ink-1); }
.trust-sideline__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 88px); align-items: start; }

/* the memorabilia collage (the V4 .memo, restyled into V5 bezels): SMALL tiles only (202-508 px sources, ARCH 6.10) */
.memo { margin-top: clamp(32px, 4vw, 56px); display: grid; grid-template-columns: repeat(4, minmax(0, 230px)); gap: 18px; align-items: end; }
.memo__tile { margin: 0; min-width: 0; }
.memo__frame { padding: 8px; border-radius: 18px; background: rgba(243, 236, 232, .035); border: 1px solid var(--line); }
.memo__frame img { width: 100%; height: clamp(190px, 20vw, 280px); object-fit: contain; border-radius: 12px; background: var(--ink-2); }
.memo__tile figcaption { margin-top: 12px; font: 500 11.5px/1.45 var(--f-mono); letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.trust-close { padding: 0 0 clamp(64px, 8vw, 112px); }
.trust-related ul { list-style: none; margin: 26px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 14px 36px; }

/* ---------- reviews wall (the V5 proof wall carrying full verbatim reviews) ---------- */
.trust-words { padding-top: clamp(64px, 8vw, 120px); }
.trust-words .words__head .lede { margin-top: 16px; }
.trust-wall__cols { columns: 2 400px; }
.trust-rev figcaption::before { content: none; }
.trust-rev__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; }
.trust-rev__stars { color: var(--gold); letter-spacing: 2px; font-size: 14px; }
.trust-rev blockquote { font-size: 1.04rem; line-height: 1.62; }
.trust-rev__prose p + p { margin-top: 12px; }
.trust-rev figcaption { flex-wrap: wrap; gap: 4px 12px; }
.trust-rev__src { font: 500 11px/1.4 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--dim); }
.trust-gbp { margin-top: clamp(32px, 4vw, 48px); display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }

@media (max-width: 1024px) {
  .trust-bio__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 300px); }
}
@media (max-width: 768px) {
  .trust-hero--plain { padding: calc(var(--header-height) + 48px) 0 36px; }
  .trust-hero--plain .svc-hero__copy { margin-top: 0; }
  .trust-hero__h1 { font-size: clamp(2.6rem, 12vw, 4rem); }
  .trust-bio__grid { grid-template-columns: 1fr; align-items: start; }
  .trust-bio__media, .trust-bio__mono { justify-self: start; max-width: 300px; }
  .trust-cred { grid-template-columns: 1fr; }
  .trust-sideline__grid { grid-template-columns: 1fr; }
  .memo { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .memo__frame img { height: 200px; }
  .trust-wall__cols { columns: 1; }
  .tpage .person--text { padding: 18px; }
  .tpage .team__grid .person--text { grid-column: 1 / -1; }
}
