/* ---- bandroom (Bandroom — Community music school 78) — bone paper, hall green
   THE STRUCTURAL MOVE: the announced band. Every `title` section keeps its
   narrow column of type but drops its ground and paints EDGE TO EDGE — flat
   hall-green for the two chapter announcements, flat ink for the closing
   signature — while everything else on the page stays contained on bone. The
   bands are targeted BY ID (#title, #title-2, #title-3), which outranks the
   stock nth-child(even) wash without !important and without :nth-of-type,
   which would match sections by ELEMENT and land on the hero instead. Grounds
   carry the same :not() tail as the stock wash; PADDING is set on a separate,
   lower-specificity rule so the per-band exceptions below can still win.
   Brass is rationed to exactly two places: the four bare counter numerals and
   the rand figure that heads each of the six funds cards. */
body.t-bandroom.ws-body {
  --bg: #f2eee3; --fg: #40403a; --heading: #14140f; --text: #40403a; --muted: #7c7a70;
  --bn-ink: #14140f; --bn-green: #2f6b4f; --bn-brass: #c8952b;
  --bn-line: #d6d1c2; --bn-on: #f4f1e8; --bn-on-mute: #cfe0d5; --bn-field: #fffdf7;
  --hero-a: rgba(12, 14, 11, .40); --hero-b: rgba(12, 14, 11, .68);
}
body.t-bandroom { background: var(--bg); }
body.t-bandroom.ws-body .ws-section:not(.ws-cta):not(.ws-shoplink) { background: var(--bg); }
body.t-bandroom .ws-section { padding: 92px 0; }

/* nav — solid bone, never transparent over the hero, closed by a heavy rule */
body.t-bandroom .ws-nav { background: var(--bg); backdrop-filter: none; border-bottom: 2px solid var(--bn-ink); }
body.t-bandroom .ws-nav-links a { font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; opacity: .74; }

/* hero — full viewport, three cross-fading slides under centred white type */
body.t-bandroom .ws-hero { min-height: calc(100vh - 64px); }
body.t-bandroom.ws-body .ws-hero h1 { font-size: clamp(36px, 6.6vw, 78px); font-weight: 800; letter-spacing: -.042em; line-height: 1.03; max-width: 17ch; }
body.t-bandroom .ws-hero-cta.btn.brand,
body.t-bandroom .ws-contact .btn.brand { background: var(--bn-green); color: var(--bn-on); border: 0; border-radius: 0; box-shadow: none; padding: 16px 34px; font-size: 11.5px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }

/* THE MOVE — the two announced bands, edge to edge, and the ink signature */
body.t-bandroom #title, body.t-bandroom #title-2 { background: var(--bn-green); padding: 78px 0; }
body.t-bandroom #title .ws-title-h, body.t-bandroom #title-2 .ws-title-h { color: var(--bn-on); font-size: clamp(30px, 4.4vw, 52px); font-weight: 800; letter-spacing: -.038em; }
body.t-bandroom #title .ws-title-sub, body.t-bandroom #title-2 .ws-title-sub { color: var(--bn-on-mute); font-size: 15.5px; line-height: 1.7; }
body.t-bandroom #title-3 { background: var(--bn-ink); padding: 68px 0; }
body.t-bandroom #title-3 .ws-title-h { color: var(--bn-on); font-size: clamp(30px, 5vw, 58px); font-weight: 800; letter-spacing: .015em; }
body.t-bandroom #title-3 .ws-title-sub { color: #8b8a80; font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }

/* features — a type-led four-up about row, then the six-up funds row whose
   rand figure IS the heading (3 x 2, both rows full) */
body.t-bandroom .ws-h2 { color: var(--heading); font-size: clamp(24px, 3.2vw, 36px); font-weight: 800; letter-spacing: -.035em; }
body.t-bandroom .ws-sub { color: var(--muted); max-width: 60ch; }
body.t-bandroom .ws-features-grid { grid-template-columns: repeat(4, 1fr); gap: 46px 34px; }
body.t-bandroom .ws-feature { text-align: left; padding: 0; }
body.t-bandroom .ws-feature-icon { color: var(--bn-green); margin-bottom: 16px; }
body.t-bandroom .ws-feature h3 { color: var(--heading); font-size: 12.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 10px; }
body.t-bandroom .ws-feature p { color: var(--muted); font-size: 14.5px; line-height: 1.72; }
body.t-bandroom #features-2 .ws-features-grid { grid-template-columns: repeat(3, 1fr); }
body.t-bandroom #features-2 .ws-feature h3 { color: var(--bn-brass); font-size: clamp(24px, 2.7vw, 33px); font-weight: 800; letter-spacing: -.03em; text-transform: none; }

/* counters — four bare brass numerals, tight */
body.t-bandroom .ws-col-h { color: var(--bn-brass); font-size: clamp(34px, 5vw, 62px); font-weight: 800; letter-spacing: -.048em; margin: 0 0 10px; }

/* the eight-tile wall — gapless, full bleed, the only photographs below the hero */
body.t-bandroom .ws-photogrid { padding: 0; }
body.t-bandroom .ws-photogrid-grid { grid-template-columns: repeat(4, 1fr); gap: 0; }

/* testimonials — one deliberately narrow ruled column, no cards */
body.t-bandroom .ws-testimonials .ws-container { max-width: 720px; }
body.t-bandroom .ws-testimonials-grid { grid-template-columns: 1fr; gap: 0; }
body.t-bandroom .ws-quote { background: none; border: 0; border-top: 1px solid var(--bn-line); border-radius: 0; box-shadow: none; padding: 28px 0; }

/* the week — a ruled eight-line list, ordinals stripped */
body.t-bandroom .ws-list { padding-left: 0; list-style: none; border-bottom: 1px solid var(--bn-line); }
body.t-bandroom .ws-list li { border-top: 1px solid var(--bn-line); padding: 15px 2px; font-size: 15px; line-height: 1.65; margin: 0; }
body.t-bandroom .ws-field input,
body.t-bandroom .ws-field textarea,
body.t-bandroom .ws-field select,
body.t-bandroom .ws-select-trigger { background: var(--bn-field); border: 1px solid var(--bn-line); border-radius: 0; color: var(--heading); }

/* night — same bands, same rationed brass, on a dark hall */
html[data-theme="dark"] body.t-bandroom.ws-body {
  --bg: #14150f; --fg: #a6a49a; --heading: #f0ece0; --text: #a6a49a; --muted: #85837a;
  --bn-ink: #0d0e09; --bn-green: #2c6349; --bn-brass: #d8a63e;
  --bn-line: #2e2f27; --bn-on: #f0ece0; --bn-on-mute: #c2d6c8; --bn-field: #1c1d16;
  --hero-a: rgba(6, 7, 5, .46); --hero-b: rgba(6, 7, 5, .78);
}
html[data-theme="dark"] body.t-bandroom { background: var(--bg); }
html[data-theme="dark"] body.t-bandroom .ws-nav { background: var(--bg); border-bottom-color: #3a3b32; }
html[data-theme="dark"] body.t-bandroom #title-3 .ws-title-sub { color: #7e7c73; }
