/* ---- triage (Triage — Day hospital & 24-hour casualty 284) ------------------
   THE STRUCTURAL MOVE: a centred eyebrow / heading / short aloe rule is the
   page's spine — it stands alone twice as its own title band and repeats over
   every other section heading — and the ONE band that breaks that centre line
   is the asymmetric editorial-plus-hours two-up, whose narrower right column is
   a clay slab laying the consulting hours out as TWO PARALLEL STACKS: day names
   down one grid track, times down the other, split by the grid and not by any
   markup. Nothing here touches the header, the nav, or anything inside them;
   :nth-child appears only on the paragraphs inside that hours column and in the
   platform's own zebra selector, where every sibling is a section. */
body.t-triage.ws-body {
  --bg: #f7f5f1; --fg: #3b403c; --heading: #1c1f1e; --text: #4a504b; --muted: #8a8f89;
  --tg-aloe: #4a6b52; --tg-clay: #e8ddd2; --tg-line: #d9cec2; --tg-field: #ffffff;
  --hero-a: rgba(18, 22, 19, .32); --hero-b: rgba(18, 22, 19, .62);
}

/* the counted zebra is switched off — the clay bands are named, not indexed */
body.t-triage.ws-body .ws-section:nth-child(even):not(.ws-cta):not(.ws-gallery):not(.ws-quoteblock):not(.ws-contact) { background: transparent; }
body.t-triage.ws-body .ws-section.ws-gallery, body.t-triage.ws-body .ws-section.ws-quoteblock, body.t-triage.ws-body .ws-section.ws-contact { background: var(--tg-clay); }

/* the shared sheet's hardcoded greys re-pointed at tokens, so night moves them */
body.t-triage .ws-sub, body.t-triage .ws-feature p, body.t-triage .ws-story-copy p, body.t-triage .ws-member p, body.t-triage .ws-faq-item p, body.t-triage .ws-col p, body.t-triage .ws-gallery-cap span { color: var(--text); }

/* light weights at large sizes — the reference's one typographic habit worth keeping */
body.t-triage .ws-hero h1, body.t-triage .ws-h2, body.t-triage .ws-title-h, body.t-triage .ws-story-copy h2, body.t-triage .ws-cta-inner h2 { font-weight: 300; letter-spacing: -.015em; margin: 0 0 24px; }

/* THE SPINE — one short centred aloe rule under every centred heading */
body.t-triage .ws-h2::after, body.t-triage .ws-title-h::after { content: ''; display: block; width: 44px; height: 2px; background: var(--tg-aloe); margin: 20px auto 0; }

/* and the eyebrow that rides above it: the title block's sub is flipped over the heading */
body.t-triage .ws-titleblock .ws-narrow { display: flex; flex-direction: column-reverse; align-items: center; }
body.t-triage .ws-title-sub { color: var(--tg-aloe); font-size: 12px; letter-spacing: .3em; margin: 0 0 16px; }

/* aloe is spent on the buttons, the rules and the icon strokes and nowhere else */
body.t-triage.ws-body .btn.brand, body.t-triage.ws-body .ws-cta .btn.brand { background: var(--tg-aloe); color: #f7f5f1; border-radius: 2px; padding: 15px 32px; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
body.t-triage.ws-body .ws-hero-cta.btn.brand { background: #f7f5f1; color: #1c1f1e; box-shadow: none; }

/* the only full-bleed photograph on the page, and it takes the whole screen */
body.t-triage .ws-hero { min-height: 100vh; }

/* four promises and eight practitioners, both four across so no row is short */
body.t-triage .ws-features-grid, body.t-triage .ws-team-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 26px; }

/* each promise is a little icon-left / text-right pair, not a stacked card */
body.t-triage .ws-feature, body.t-triage .ws-member { text-align: left; }
body.t-triage .ws-feature { display: grid; grid-template-columns: 44px 1fr; column-gap: 16px; padding: 0; }
body.t-triage .ws-feature-icon { grid-row: 1 / span 2; margin: 0; color: var(--tg-aloe); }

/* six gapped tiles, three across, two full rows */
body.t-triage .ws-gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 24px; }
body.t-triage .ws-gallery-item img { aspect-ratio: 4 / 3; border-radius: 2px; }

/* the story photograph and the eight portraits share one upright frame */
body.t-triage .ws-story-media img, body.t-triage .ws-member-photo img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 2px; margin: 0 0 14px; }

/* the signed testimonial: no italic, no card, just the line and the name */
body.t-triage .ws-quote-t { font-style: normal; font-weight: 300; line-height: 1.45; color: var(--heading); }
body.t-triage .ws-quote-a, body.t-triage .ws-member .muted.small { display: block; margin-top: 6px; color: var(--tg-aloe); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }

/* THE HOURS TWO-UP — the narrow right column is a clay slab, and its paragraphs
   fall into two grid tracks: day names down the left, times down the right */
body.t-triage .ws-cols-2 .ws-col + .ws-col { background: var(--tg-clay); padding: 30px 32px 22px; display: grid; grid-template-columns: max-content 1fr; align-content: start; }
body.t-triage .ws-cols-2 .ws-col + .ws-col .ws-col-h { grid-column: 1 / -1; margin: 0 0 18px; font-weight: 500; }
body.t-triage .ws-cols-2 .ws-col + .ws-col p { margin: 0; padding: 13px 0; border-bottom: 1px solid var(--tg-line); font-size: 14.5px; color: var(--heading); }
body.t-triage .ws-cols-2 .ws-col + .ws-col p:nth-child(odd) { text-align: right; font-variant-numeric: tabular-nums; }

/* the standalone button band stays clay — the accent is never a whole surface */
body.t-triage.ws-body .ws-section.ws-cta { background: var(--tg-clay); color: var(--text); padding: 64px 0; }
body.t-triage.ws-body .ws-cta-inner h2 { color: var(--heading); }

/* hairlines and fields take the clay edge rather than a black wash */
body.t-triage .ws-faq-item, body.t-triage .ws-faq-list { border-color: var(--tg-line); }
body.t-triage .ws-faq-item summary::after { color: var(--tg-aloe); }
body.t-triage .ws-field input, body.t-triage .ws-field textarea { background: var(--tg-field); border: 1px solid var(--tg-line); border-radius: 2px; color: var(--heading); }

/* four across folds to two and then to one — each step still fills its rows */
@media (max-width: 980px) {
  body.t-triage .ws-features-grid, body.t-triage .ws-team-grid, body.t-triage .ws-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  body.t-triage .ws-features-grid, body.t-triage .ws-team-grid, body.t-triage .ws-gallery-grid { grid-template-columns: 1fr; }
}

/* night — the bone cools to dark slate, the clay bands drop just below the
   ground so they still read as bands, and the aloe lifts to hold the rules */
html[data-theme="dark"] body.t-triage.ws-body {
  --bg: #151816; --fg: #c2c8c2; --heading: #eef1ec; --text: #a6ada6; --muted: #7c827c;
  --tg-aloe: #8cb894; --tg-clay: #1e2320; --tg-line: #303631; --tg-field: #1b1f1d;
  --hero-a: rgba(6, 8, 7, .38); --hero-b: rgba(6, 8, 7, .70);
}
html[data-theme="dark"] body.t-triage.ws-body .btn.brand, html[data-theme="dark"] body.t-triage.ws-body .ws-cta .btn.brand { color: #12160f; }
