/* ---- sorg (Sorg — Home nursing & frail care 250) ---------------------------
   THE STRUCTURAL MOVE: one oat ground that never changes from the top of the
   page to the footer, deliberately starved of photographs through its whole
   middle — the six glyph cards carry no image at all — and broken EXACTLY ONCE,
   by a full-bleed warm-charcoal strip holding four oversized sage-teal numerals
   in a two-by-two. Everything else is small bordered cards on the pale ground
   with wide gutters, so that single dark band and the film still beside the
   family's account are the only two dark objects below the opening screen.
   nth-child appears only in the platform's own zebra selector, where every
   sibling is a section; nothing here uses :nth-of-type, and nothing here
   touches the header, the nav or anything inside them. */
body.t-sorg.ws-body {
  --bg: #f2ece1; --fg: #45403a; --heading: #23201c; --text: #4d473f; --muted: #8b8377;
  --sg-teal: #3d6b62; --sg-line: #ded4c4; --sg-dark: #1e1b18; --sg-card: #faf6ee;
  --hero-a: rgba(26, 23, 20, .28); --hero-b: rgba(26, 23, 20, .62);
}

/* the oat runs unbroken — the alternating wash is switched off everywhere
   except the two bands that paint themselves */
body.t-sorg.ws-body .ws-section:nth-child(even):not(.ws-cta):not(.ws-columns) { background: transparent; }

/* the shared sheet's hardcoded greys re-pointed at tokens, so night moves the page */
body.t-sorg .ws-sub, body.t-sorg .ws-feature p, body.t-sorg .ws-story-copy p, body.t-sorg .ws-quote blockquote, body.t-sorg .ws-plan li, body.t-sorg .ws-member p, body.t-sorg .ws-video-caption { color: var(--text); }

/* the only edge-to-edge photograph on the page: a whole screen of it */
body.t-sorg .ws-hero { min-height: 100vh; }

/* teal is spent on the controls and the numerals and nothing else; over a
   photograph the slab inverts to oat so it still reads at a glance */
body.t-sorg.ws-body .btn.brand { background: var(--sg-teal); color: #f6f2ea; border-radius: 3px; padding: 14px 30px; font-size: 13.5px; font-weight: 650; letter-spacing: .03em; }
body.t-sorg.ws-body .ws-hero-cta.btn.brand, body.t-sorg.ws-body .ws-cta .btn.brand { background: #f2ece1; color: #23201c; box-shadow: none; }

/* six glyph cards, two rows of three, and not one photograph among them */
body.t-sorg .ws-features-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }

/* one card shape for the whole page: glyphs, packages, quotes */
body.t-sorg .ws-feature, body.t-sorg .ws-plan, body.t-sorg .ws-quote { display: flex; flex-direction: column; text-align: left; background: var(--sg-card); border: 1px solid var(--sg-line); border-radius: 4px; box-shadow: none; padding: 28px 24px 30px; }

/* the story picture and the four nurses share one square */
body.t-sorg .ws-story-media img, body.t-sorg .ws-member-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; border-radius: 4px; margin: 0 0 14px; }

/* THE ONE CONTRAST BAND — full-bleed warm charcoal, four numerals two-by-two */
body.t-sorg.ws-body .ws-section.ws-columns { background: var(--sg-dark); padding: 78px 0; }
body.t-sorg .ws-columns .ws-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 64px; }
body.t-sorg .ws-col-h { color: var(--sg-teal); font-size: clamp(48px, 7vw, 84px); font-weight: 600; letter-spacing: -.05em; line-height: .9; margin: 0 0 12px; }
body.t-sorg .ws-columns .ws-col p { color: #a49b8d; font-size: 13.5px; line-height: 1.65; margin: 0; max-width: 32ch; }

/* four packages, four quotes, four nurses — every row fills */
body.t-sorg .ws-pricing-grid, body.t-sorg .ws-testimonials-grid, body.t-sorg .ws-team-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; max-width: none; margin: 0; }
body.t-sorg .ws-plan ul { margin: 0 0 auto; padding-bottom: 22px; }

/* the film still: two-thirds picture, the family's account stacked beside it */
body.t-sorg .ws-video .ws-narrow { max-width: 1120px; display: grid; grid-template-columns: 2fr 1fr; gap: 0 46px; align-items: start; }
body.t-sorg .ws-video .ws-h2, body.t-sorg .ws-video-caption { grid-column: 2; text-align: left; margin: 0 0 14px; }
body.t-sorg .ws-video-frame { grid-column: 1; grid-row: 1 / span 2; border-radius: 4px; box-shadow: none; background-image: linear-gradient(rgba(30, 27, 24, .34), rgba(30, 27, 24, .34)), url("/media/samples/srg_film.jpg"); background-size: cover; background-position: center; }
body.t-sorg .ws-video-frame::after { content: ''; position: absolute; left: 50%; top: 50%; width: 44px; height: 52px; margin: -26px 0 0 -14px; background: #f2ece1; clip-path: polygon(0 0, 100% 50%, 0 100%); }

/* the quiet band: a photograph dimmed almost to a colour, one line laid on it */
body.t-sorg.ws-body .ws-section.ws-cta { background-image: linear-gradient(rgba(30, 27, 24, .74), rgba(30, 27, 24, .80)), url("/media/samples/srg_cta.jpg"); background-size: cover; background-position: center; padding: 62px 0; }

/* the last band splits: three fields left, the Somerset West block right */
body.t-sorg .ws-contact .ws-narrow { max-width: 1120px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 16px 60px; align-items: start; }
body.t-sorg .ws-contact .ws-h2 { grid-column: 1 / -1; text-align: left; }
body.t-sorg .ws-contact .ws-form { grid-column: 1; grid-row: 2; max-width: none; margin: 0; }
body.t-sorg .ws-contact .ws-sub { grid-column: 2; grid-row: 2; max-width: none; margin: 0; text-align: left; white-space: pre-line; color: var(--heading); font-size: 14.5px; line-height: 1.9; }
body.t-sorg .ws-field input, body.t-sorg .ws-field textarea { background: var(--sg-card); border: 1px solid var(--sg-line); border-radius: 3px; color: var(--heading); }

/* every four-across band folds to two and then to one — each still fills its rows */
@media (max-width: 980px) {
  body.t-sorg .ws-features-grid, body.t-sorg .ws-pricing-grid, body.t-sorg .ws-testimonials-grid, body.t-sorg .ws-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.t-sorg .ws-video .ws-narrow, body.t-sorg .ws-contact .ws-narrow { grid-template-columns: 1fr; }
  body.t-sorg .ws-video .ws-h2, body.t-sorg .ws-video-caption, body.t-sorg .ws-video-frame, body.t-sorg .ws-contact .ws-form, body.t-sorg .ws-contact .ws-sub { grid-column: 1; grid-row: auto; }
}
@media (max-width: 620px) {
  body.t-sorg .ws-pricing-grid, body.t-sorg .ws-testimonials-grid, body.t-sorg .ws-team-grid, body.t-sorg .ws-columns .ws-cols-4 { grid-template-columns: 1fr; }
}

/* night — the oat cools to warm dark stone, the charcoal strip and the film
   still drop below it so the one contrast band is still the darkest thing on
   the page, and the sage lifts a shade to keep hold of the numerals */
html[data-theme="dark"] body.t-sorg.ws-body {
  --bg: #1a1815; --fg: #c6bfb4; --heading: #f0eae0; --text: #b0a89b; --muted: #857d70;
  --sg-teal: #74a89b; --sg-line: #332e27; --sg-dark: #0d0c0a; --sg-card: #221f1a;
  --hero-a: rgba(10, 9, 8, .34); --hero-b: rgba(10, 9, 8, .70);
}
html[data-theme="dark"] body.t-sorg.ws-body .ws-section.ws-cta { background-image: linear-gradient(rgba(10, 9, 8, .80), rgba(10, 9, 8, .86)), url("/media/samples/srg_cta.jpg"); }
