/* ---- thermal (Thermal — Free-flight club 104) -------------------------------
   THE STRUCTURAL MOVE: one dark break, and one only. Everything — the full-
   viewport three-slide stage, the two mirrored splits, the video floating in
   white, the team row, the ask, the quotes, the partner wall — sits on a single
   pale cloud ground with no zebra tint and no coloured cta slab. Then the
   four-up claims row goes edge to edge in slate with the type reversed out,
   standing in for the reference's counters strip. Sunrise gold is spent exactly
   three times: the primary button, the four feature icons, and the short rule
   under every heading. */
body.t-thermal.ws-body {
  --bg: #f4f6f9; --fg: #46566a; --heading: #17293c; --text: #46566a; --muted: #78899b;
  --th-slate: #17293c; --th-gold: #d99b2e; --th-line: #d8e1ea;
  --th-on: #eef3f8; --th-on-mute: #a7bacd; --th-field: #ffffff;
  --hero-a: rgba(14, 28, 44, .26); --hero-b: rgba(14, 28, 44, .54);
}
body.t-thermal { background: var(--bg); }
/* the single ground: kills the shared even-band tint AND the brand-coloured cta
   slab, so the features band below is the page's only break */
body.t-thermal.ws-body .ws-section:not(.ws-features) { background: var(--bg); color: var(--text); padding: 104px 0; }

/* hero — the whole screen, three slides, every line on the centre axis */
body.t-thermal .ws-hero { min-height: calc(100vh - 62px); }
body.t-thermal.ws-body .ws-hero h1 { font-size: clamp(36px, 6vw, 72px); font-weight: 700; letter-spacing: -.035em; line-height: 1.04; max-width: 19ch; }

/* GOLD, JOB 1 — the primary button, and no other button anywhere */
body.t-thermal.ws-body .ws-hero-cta.btn.brand,
body.t-thermal.ws-body .ws-cta .btn.brand,
body.t-thermal .ws-contact .btn.brand { background: var(--th-gold); color: #17293c; border-radius: 2px; box-shadow: none; padding: 15px 32px; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
body.t-thermal.ws-body .ws-hero-cta.btn.brand:hover,
body.t-thermal.ws-body .ws-cta .btn.brand:hover,
body.t-thermal .ws-contact .btn.brand:hover { background: #c78a20; }

/* GOLD, JOB 2 — the short rule under every heading */
body.t-thermal .ws-h2, body.t-thermal .ws-cta-inner h2, body.t-thermal .ws-story-copy h2 { color: var(--heading); font-weight: 700; letter-spacing: -.03em; }
body.t-thermal .ws-h2::after, body.t-thermal .ws-cta-inner h2::after, body.t-thermal .ws-story-copy h2::after { content: ''; display: block; width: 46px; height: 3px; background: var(--th-gold); margin: 18px auto 0; }
body.t-thermal .ws-story-copy h2::after, body.t-thermal .ws-contact .ws-h2::after { margin-left: 0; }

/* square corners the whole way down — nothing on this page is a rounded card */
body.t-thermal .ws-story-media img, body.t-thermal .ws-video-frame, body.t-thermal .ws-member-photo img { border-radius: 3px; }

/* THE ONE DARK BAND — four claims reversed out, edge to edge, no photograph */
body.t-thermal.ws-body .ws-section.ws-features { background: var(--th-slate); color: var(--th-on-mute); padding: 96px 0; }
body.t-thermal .ws-features .ws-h2 { color: var(--th-on); }
body.t-thermal .ws-features .ws-sub, body.t-thermal .ws-feature p { color: var(--th-on-mute); font-size: 14.7px; line-height: 1.7; }
body.t-thermal .ws-features-grid { grid-template-columns: repeat(4, 1fr); gap: 44px 34px; }
/* GOLD, JOB 3 — the four icons */
body.t-thermal .ws-feature-icon { color: var(--th-gold); margin-bottom: 16px; }
body.t-thermal .ws-feature h3 { color: var(--th-on); font-size: 12.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 10px; }

/* four pilots in one row, three quotes in one row, no cards under either */
body.t-thermal .ws-team-grid { grid-template-columns: repeat(4, 1fr); gap: 40px 30px; }
body.t-thermal .ws-testimonials-grid { grid-template-columns: repeat(3, 1fr); gap: 34px; }
body.t-thermal .ws-quote { background: none; border: 0; border-top: 2px solid var(--th-line); border-radius: 0; box-shadow: none; padding: 24px 0 0; }
body.t-thermal .ws-quote blockquote::before { content: none; }

/* the partner wall — six name-plates set as type, six across, no frames */
body.t-thermal .ws-listblock .ws-narrow { max-width: 1120px; }
body.t-thermal .ws-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 30px 24px; }
body.t-thermal .ws-list li { margin: 0; padding: 0; color: var(--heading); font-size: 11.5px; font-weight: 700; letter-spacing: .1em; line-height: 1.75; text-transform: uppercase; }

/* the closing band — address and season beside the fields, never under them */
body.t-thermal .ws-contact .ws-narrow { max-width: 1120px; display: grid; grid-template-columns: 5fr 6fr; column-gap: 72px; }
body.t-thermal .ws-contact .ws-h2, body.t-thermal .ws-contact .ws-sub { text-align: left; }
body.t-thermal .ws-contact .ws-sub { margin: 0; max-width: 34ch; color: var(--muted); white-space: pre-line; }
body.t-thermal .ws-contact .ws-form { grid-column: 2; grid-row: 1 / -1; max-width: none; }
body.t-thermal .ws-field input, body.t-thermal .ws-field textarea, body.t-thermal .ws-field select,
body.t-thermal .ws-select-trigger { background: var(--th-field); border: 1px solid var(--th-line); border-radius: 2px; color: var(--heading); }

@media (max-width: 1000px) {
  body.t-thermal .ws-features-grid, body.t-thermal .ws-team-grid { grid-template-columns: repeat(2, 1fr); }
  body.t-thermal .ws-list { grid-template-columns: repeat(3, 1fr); }
  body.t-thermal .ws-testimonials-grid { grid-template-columns: 1fr; }
  body.t-thermal .ws-contact .ws-narrow { grid-template-columns: 1fr; row-gap: 34px; }
  body.t-thermal .ws-contact .ws-form { grid-column: 1; grid-row: auto; }
}
@media (max-width: 620px) { body.t-thermal .ws-list { grid-template-columns: repeat(2, 1fr); } }

/* night — the same single break on a cold pre-dawn ground, gold lifted a shade */
html[data-theme="dark"] body.t-thermal.ws-body {
  --bg: #0f1720; --fg: #97a8b9; --heading: #eaf1f7; --text: #97a8b9; --muted: #7a8b9c;
  --th-slate: #060d15; --th-gold: #e8ac41; --th-line: #22303d;
  --th-on: #eaf1f7; --th-on-mute: #93a6b8; --th-field: #16202b;
  --hero-a: rgba(3, 8, 14, .36); --hero-b: rgba(3, 8, 14, .68);
}
html[data-theme="dark"] body.t-thermal .ws-story-copy p,
html[data-theme="dark"] body.t-thermal .ws-member p,
html[data-theme="dark"] body.t-thermal .ws-quote blockquote { color: var(--text); }
