/* MWED brand tokens (build contract INV-5): font Lato, accent #043980, text #666 on white. */
:root {
  --navy: #043980;
  --navy-dark: #032a5e;
  --nav: #043980;          /* live customizer #top-menu a */
  --nav-active: #2ea3f2;   /* live current-menu-item */
  --ink: #666666;
  --ink-strong: #333333;
  --white: #ffffff;
  --bg-alt: #f4f6f9;
  --line: #e2e7ee;
  --maxw: 1120px;
  --radius: 6px;
  --font: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* MWED WS1 — foundation stylesheet + 7-component grammar.
   Faithful-structure clone of dobusinessinmontana.com (Mode A, $899 tier).
   Components: hero, textImgBand, tileGrid, townGrid, statBand, navyCTABand, photoBand.
   Phase 2 stubs at bottom of file.
   created: 2026-07-15 · created_by: cloudflare-devops (DO)
   updated: 2026-08-08 · updated_by: mwed-fd — SideBySide Round 9 density/mass/contact/libby */


/* ── reset + base ──────────────────────────────────────────────────────────── */
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--font);
  color: var(--ink);
  background: var(--white);
  line-height: 1.6;
}
.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 1.25rem; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--navy); }
h1, h2, h3, h4 { color: var(--ink-strong); font-weight: 900; line-height: 1.2; margin-top: 0; text-transform: uppercase; letter-spacing: 0.12em; }
h1 { font-size: clamp(2rem, 4vw, 3rem); margin: 0 0 .5rem; letter-spacing: 0.14em; }
h2 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); }
h3 { font-size: 1.15rem; letter-spacing: 0.1em; }
.eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; font-weight: 700; color: var(--navy); margin: 0 0 .5rem; }
.muted { color: #8a94a3; }

/* ── utility bar (live #top-header navy, left contact) ─────────────────────── */
.util-bar { background: var(--navy); color: #fff; font-size: .85rem; }
.util-bar__inner { display: flex; gap: 1.5rem; justify-content: flex-start; padding: .45rem 1.25rem; }
.util-bar a { color: #fff; text-decoration: none; font-weight: 700; }
.util-bar a:hover { color: #cfe0ff; }

/* ── header + nav (SideBySide Round 2 — live chrome: navy links, chevrons, tint active) ─ */
.site-header { border-bottom: 1px solid var(--line); background: #fff; position: sticky; top: 0; z-index: 20; }
.site-header__bar { display: flex; align-items: center; justify-content: space-between; padding: .65rem 1.25rem; gap: 1rem; flex-wrap: wrap; }
.brand { display: inline-flex; align-items: center; text-decoration: none; flex-shrink: 0; }
.brand__logo { width: 72px; height: 72px; object-fit: contain; display: block; }
.nav { display: flex; gap: .35rem 1.1rem; flex-wrap: wrap; align-items: center; }
.nav__item { position: relative; }
.nav a {
  color: var(--nav);
  text-decoration: none;
  font-weight: 700;
  font-size: .95rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  background: transparent;
}
.nav > .nav__item > a {
  display: inline-block;
  position: relative;
  padding: .35rem 0;
  border-bottom: 2px solid transparent;
}
.nav > .nav__item > a:hover { opacity: .75; }
/* Active = LIVE tint only (#2ea3f2) — not underline-only / bar */
.nav > .nav__item > a.active {
  color: var(--nav-active);
  border-bottom-color: transparent;
  background: transparent;
}
/* Specificity note: base rule `.nav > .nav__item > a` (2 classes + type = 0,2,1)
   was beating this rule's old (0,1,1) selector and zeroing padding-right via its
   `padding: .35rem 0` shorthand, which left no room for the ::after chevron box
   and made it render on top of the last letter (looked like a broken/tofu glyph).
   Chaining both classes here (0,3,1) wins outright regardless of source order. */
.nav > .nav__item.nav__item--has-children > a { padding-right: 1.15rem; }
.nav__item--has-children > a::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  width: .4rem;
  height: .4rem;
  margin-top: -.35rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  pointer-events: none;
}
.nav__dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 14rem;
  background: #fff;
  border: 1px solid var(--line);
  border-top: 3px solid var(--nav-active);
  border-radius: 0 0 var(--radius) var(--radius);
  box-shadow: 0 8px 24px rgba(4, 57, 128, .12);
  padding: .4rem 0;
  z-index: 30;
}
.nav__item--has-children:hover > .nav__dropdown,
.nav__item--has-children:focus-within > .nav__dropdown { display: block; }
.nav__dropdown a {
  display: block;
  padding: .45rem 1rem;
  font-size: .82rem;
  letter-spacing: .04em;
  white-space: nowrap;
  color: var(--nav);
  text-transform: none;
}
.nav__dropdown a:hover { background: var(--bg-alt); }
.nav__dropdown a.active { color: var(--nav-active); background: transparent; }

/* ── buttons ───────────────────────────────────────────────────────────────── */
.btn { display: inline-flex; align-items: center; gap: .4rem; padding: .7rem 1.4rem; border-radius: var(--radius); font-weight: 700; text-decoration: none; border: 2px solid var(--navy); cursor: pointer; font-size: .95rem; transition: background .15s, border-color .15s, color .15s; }
.btn--primary { background: var(--navy); color: #fff; }
.btn--primary:hover { background: var(--navy-dark); border-color: var(--navy-dark); color: #fff; }
.btn--secondary { background: transparent; color: #fff; border-color: #fff; }
.btn--secondary:hover { background: rgba(255,255,255,.12); }
.btn--ghost { background: transparent; color: var(--navy); }
.btn--ghost:hover { background: var(--bg-alt); }
.btn[disabled] { opacity: .55; cursor: not-allowed; }

/* ── section wrapper ───────────────────────────────────────────────────────── */
.section { padding: 9rem 0; } /* Round 9 density: close toward LIVE home/members/program heights */

/* ── prose (contentSection) ────────────────────────────────────────────────── */
.content-body { padding-top: 2.25rem; }
.content-body--wide .prose { max-width: none; } /* fire + wide program bodies */
.prose { max-width: 74ch; }
.prose--wide { max-width: none; }
/* Centered program bodies (brownfields etc.). CEDS overrides measure below. */
.content-body--center .prose,
.prose--center {
  max-width: 48ch;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.content-body--center .prose p,
.prose--center p { margin: 0 0 1.25rem; line-height: 1.75; }
/* SpotTheDiff /ceds/: LIVE row ~1152, paras ~954 @ 25px / 48.75 / w500; pad 92/44 */
.content-body--ceds.section {
  padding: 92px 0 44px;
}
/* LIVE et_pb_row ~1152; text module ~954 centered (no side pad on the measure). */
.content-body--ceds > .wrap {
  max-width: 954px;
  padding-left: 0;
  padding-right: 0;
}
.content-body--ceds .prose,
.content-body--ceds.prose--center,
.content-body--ceds .prose--center {
  /* Root cause of the CEDS width regression: this rule's old `max-width: none;
     width: 100%;` had the same (0,2,0) specificity as `.content-body--ceds > .wrap`
     above (954px) but came later in the file, so it won the cascade tie and
     stretched the text column to the full section width instead of the intended
     954px measure. The div carrying .prose IS the same div carrying .wrap (one
     element, three classes — see contentSection() in generator.mjs), so dropping
     the conflicting max-width/width here lets the .wrap rule's 954px stand. */
  font-size: 25px;
  font-weight: 500;
  line-height: 48.75px;
  text-align: center;
}
.content-body--ceds .prose p,
.content-body--ceds .prose--center p {
  margin: 0 0 1.35rem;
  max-width: none;
  font-size: 25px;
  font-weight: 500;
  line-height: 48.75px;
  text-align: center;
}
.content-body--ceds .prose-cta {
  margin: 2.5rem 0 0;
}
.content-body--ceds .prose-cta .btn {
  font-size: 20px;
  border-width: 3px;
  padding: 0.65rem 1.5rem;
}
.prose p { margin: 0 0 1.1rem; }
.prose h2 { margin: 1.8rem 0 .6rem; }
.prose ul, .prose ol { margin: 0 0 1.1rem 1.2rem; }
.prose img { border-radius: var(--radius); margin: 1rem 0; }
.prose a { text-decoration: underline; }
.prose a.btn { text-decoration: none; }
.prose-cta { margin: 1.75rem 0 0; text-align: center; }
.prose-cta .btn { border-radius: 0; }
.prose hr { border: 0; border-top: 1px solid var(--line); margin: 2rem 0; }

/* ── COMPONENT 1: hero ─────────────────────────────────────────────────────── */
.page-hero {
  background: var(--navy);
  color: #fff;
  padding: 4rem 0 3.5rem;
  position: relative;
  overflow: hidden;
}
.page-hero--photo {
  background-size: cover;
  background-position: center;
  min-height: 480px;
  display: flex;
  align-items: center;
}
/*
  FADC / Apex / CEDS: H1 lives in the left half of the hero (the gray).
  Type size is a fraction of that column, so the line cannot run past the split.
  2026-09-15
*/
.page-hero--fadc,
.page-hero--apex,
.page-hero--ceds {
  display: grid;
  grid-template-columns: minmax(0, 46%) minmax(0, 1fr);
  align-items: center;
}
.page-hero--fadc .wrap.page-hero__inner,
.page-hero--apex .wrap.page-hero__inner,
.page-hero--ceds .wrap.page-hero__inner {
  grid-column: 1;
  width: 100%;
  max-width: none;
  margin: 0;
  min-width: 0;
  /* Same left edge as `.wrap` on the body (`max-width: 1120px; padding: 0 1.25rem`). */
  padding: 0 1.25rem 0 max(1.25rem, calc((100vw - var(--maxw)) / 2 + 1.25rem));
  box-sizing: border-box;
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--fadc .hero-content,
.page-hero--apex .hero-content,
.page-hero--ceds .hero-content {
  container-type: inline-size;
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  text-align: left;
}
.page-hero--fadc h1,
.page-hero--apex h1,
.page-hero--ceds h1 {
  font-size: 65px;
  line-height: 78px;
  max-width: 100%;
}
/*
  Beat global `h1 { letter-spacing: 0.14em }` for every hero. Must sit BEFORE
  route SpotTheDiff blocks so pages like About can still set 0.08em. Do not
  put letter-spacing on the later generic `.page-hero h1` (that rule is after
  the route blocks and would stomp them).
*/
.page-hero h1 { letter-spacing: 0; }
.page-hero--navy { background: var(--navy); }
/* Default photo hero: soft-dark left angular cut (LIVE programs silhouette) */
.page-hero::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(105deg, rgba(64, 64, 64, .74) 0%, rgba(64, 64, 64, .74) 58%, rgba(0, 0, 0, 0) 58%);
  pointer-events: none;
}
/*
  [MARK 2026-08-11] hero overlay consistency pass: the gray default above is correct for
  some pages (apex, financing, brownfields, live-work-play-mt — each confirmed against LIVE's
  own CSS) but wrong for these — confirmed navy (rgba(4,57,128,0.66)) against LIVE's raw CSS
  per page, same as the pre-existing .page-hero--members/--event-detail/--masterclass-series
  overrides. Scoped per template rather than changing the shared default, since the default
  is genuinely correct elsewhere.
*/
.page-hero.page-hero--training-detail::before,
.page-hero.page-hero--resources::before,
.page-hero.page-hero--peer-roundtable::before,
.page-hero.page-hero--annual-meeting::before,
.page-hero.page-hero--employment-rfps::before {
  background: linear-gradient(105deg, rgba(4, 57, 128, .66) 0%, rgba(4, 57, 128, .66) 58%, rgba(0, 0, 0, 0) 58%);
}
/*
  SpotTheDiff /ceds/ hero = LIVE et_pb_section_0:
  hard grey wedge @ 49% (105deg), H1 left, min-height 599, pad 110,
  65px/78px w300, ECONOMIC+DEVELOPMENT bold. Soft wash was Round 10 error.
*/
.page-hero--ceds {
  min-height: 599px;
  padding: 110px 0;
  background-position: center center;
  justify-content: center;
}
.page-hero--ceds {
  grid-template-columns: minmax(0, 52%) minmax(0, 1fr);
}
.page-hero.page-hero--ceds::before {
  background: linear-gradient(105deg, rgba(64, 64, 64, .74) 0%, rgba(64, 64, 64, .74) 52%, rgba(0, 0, 0, 0) 52%);
}
.page-hero--ceds .page-hero__inner {
  width: 100%;
  max-width: none;
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--ceds h1 {
  margin: 0;
  padding: 0 0 10px;
  font-weight: 300;
  letter-spacing: 0;
  text-transform: uppercase;
  text-align: left;
}
.page-hero--ceds h1 .ln {
  white-space: nowrap;
}
.page-hero--ceds h1 strong {
  font-weight: 700;
  letter-spacing: 0;
}
/*
  SpotTheDiff /apex/ hero = LIVE Divi et_pb_section_0:
  left grey hard-wedge @ ~49% (105deg), H1 left in wedge, min-height ~552,
  padding ~110. NO eyebrow. Centered-wash was a regression (Mark 2026-08-08).
*/
.page-hero--apex {
  min-height: 552px;
  padding: 110px 0;
  background-position: center center;
  justify-content: center;
}
.page-hero.page-hero--apex::before {
  background: linear-gradient(105deg, rgba(64, 64, 64, .74) 0%, rgba(64, 64, 64, .74) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--apex .page-hero__inner {
  width: 100%;
  max-width: none;
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--apex h1 {
  margin: 0;
  font-weight: 300;
  letter-spacing: 0;
  text-align: left;
  color: #fff;
  text-transform: uppercase;
}
.page-hero--apex h1 .ln {
  white-space: nowrap;
}
.page-hero--apex h1 strong {
  font-weight: 300;
  letter-spacing: 0;
}
/*
  SpotTheDiff /live-work-play-mt/ hero = LIVE et_pb_section_0:
  grey wedge @ 49%, H1 65/78 w300, DO BUSINESS IN + bold NORTHWEST MONTANA.
*/
.page-hero--live-work-play-mt {
  min-height: 552px;
  padding: 110px 9px 110px 0;
  background-position: center bottom;
  justify-content: center;
}
.page-hero.page-hero--live-work-play-mt::before {
  background: linear-gradient(105deg, rgba(64, 64, 64, .74) 0%, rgba(64, 64, 64, .74) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--live-work-play-mt .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  margin-left: 133px;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--live-work-play-mt .hero-content {
  flex: 0 1 auto;
  width: min(99.8%, 72rem);
  max-width: 72rem;
  margin: 0;
  text-align: left;
}
.page-hero--live-work-play-mt h1 {
  max-width: none;
  margin: 0;
  font-weight: 300;
  font-size: 65px;
  line-height: 1.2em;
  letter-spacing: 0;
  text-align: left;
  color: #fff;
  text-transform: uppercase;
}
.page-hero--live-work-play-mt h1 strong {
  font-weight: 700;
  letter-spacing: 0;
}
/*
  SpotTheDiff /meet-and-greet/ hero = LIVE et_pb_section_0:
  apex-class wedge @ 49%, NO eyebrow, H1 65/78 w300 with bold line breaks.
*/
.page-hero--meet-and-greet {
  min-height: 552px;
  padding: 110px 0;
  background-position: center center;
  justify-content: center;
}
.page-hero.page-hero--meet-and-greet::before {
  background: linear-gradient(105deg, rgba(64, 64, 64, .74) 0%, rgba(64, 64, 64, .74) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--meet-and-greet .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--meet-and-greet .hero-content {
  flex: 0 1 auto;
  width: min(56rem, 80%);
  max-width: 56rem;
  margin: 0;
  margin-right: auto;
  text-align: left;
}
.page-hero--meet-and-greet h1 {
  max-width: none;
  margin: 0;
  font-weight: 300;
  font-size: 65px;
  line-height: 78px;
  letter-spacing: 0;
  text-align: left;
  color: #fff;
  text-transform: uppercase;
}
.page-hero--meet-and-greet h1 strong {
  font-weight: 700;
}
/*
  SpotTheDiff /fire/ hero = LIVE et_pb_section_0:
  hard grey wedge @ 49% (105deg), H1 65/78 w300 dual-line left, min-height 552, pad 110.
  NO eyebrow (title carries Apex Accelerator).
*/
.page-hero--fire {
  min-height: 552px;
  padding: 110px 0;
  background-position: center center;
  justify-content: center;
}
.page-hero.page-hero--fire::before {
  background: linear-gradient(105deg, rgba(64, 64, 64, .74) 0%, rgba(64, 64, 64, .74) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--fire .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--fire .hero-content {
  flex: 0 1 auto;
  width: min(72rem, 100%);
  max-width: 72rem;
  margin: 0;
  margin-right: auto;
  text-align: left;
}
.page-hero--fire h1 {
  max-width: none;
  width: min(1143px, 100%);
  margin: 0;
  padding: 0 0 10px;
  font-weight: 300;
  font-size: 65px;
  line-height: 78px;
  letter-spacing: 0;
  text-align: left;
  color: #fff;
  text-transform: uppercase;
}
.page-hero--fire h1 strong {
  font-weight: 700;
  letter-spacing: 0;
}
/*
  /selling-to-the-government/ title band, restored 2026-08-11 to match its own program
  family (apex/fire/meet-and-greet share this photo + treatment). LIVE's own plain-H1
  appearance on this route is a Fusion-shortcode rendering failure on LIVE, not real
  content to clone — see QUARANTINE-SHORTCODE-BROKEN.md, [MARK] 2026-08-09.
*/
.page-hero--selling-to-the-government {
  min-height: 320px;
  padding: 90px 0;
  background-position: center center;
  justify-content: center;
}
.page-hero.page-hero--selling-to-the-government::before {
  background: linear-gradient(105deg, rgba(4, 57, 128, .74) 0%, rgba(4, 57, 128, .74) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--selling-to-the-government .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--selling-to-the-government .hero-content {
  flex: 0 1 auto;
  width: min(72rem, 100%);
  max-width: 72rem;
  margin: 0;
  margin-right: auto;
  text-align: left;
}
.page-hero--selling-to-the-government h1 {
  max-width: none;
  width: min(1143px, 100%);
  margin: 0;
  padding: 0 0 10px;
  font-weight: 300;
  font-size: 44px;
  line-height: 52px;
  letter-spacing: 0;
  text-align: left;
  color: #fff;
  text-transform: uppercase;
}
/*
  /events/ — added 2026-08-11 (route was missing entirely). Hero reuses the same
  apex/fire/selling-to-the-government photo + treatment for brand consistency; body is a
  deliberately different UI than LIVE's day-grid calendar (Mark, 2026-08-11: "open to a
  better/different UI") — a clean list, easy to keep current by hand.
*/
.page-hero--events {
  min-height: 320px;
  padding: 90px 0;
  background-position: center center;
  justify-content: center;
}
.page-hero.page-hero--events::before {
  background: linear-gradient(105deg, rgba(4, 57, 128, .74) 0%, rgba(4, 57, 128, .74) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--events .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--events .hero-content {
  flex: 0 1 auto;
  width: min(72rem, 100%);
  max-width: 72rem;
  margin: 0;
  margin-right: auto;
  text-align: left;
}
.page-hero--events h1 {
  max-width: none;
  margin: 0;
  padding: 0 0 10px;
  font-weight: 300;
  font-size: 44px;
  line-height: 52px;
  letter-spacing: 0;
  text-align: left;
  color: #fff;
  text-transform: uppercase;
}
.content-body--events .events-list__wrap {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 3rem;
  align-items: start;
}
.events-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.events-list__row {
  display: flex;
  gap: 1.5rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid #e5e5e5;
  align-items: baseline;
}
.events-list__row--featured {
  background: #f7f9fc;
  padding: 1.25rem 1rem;
  border-radius: 4px;
  border-bottom-color: transparent;
}
.events-list__date {
  flex: 0 0 80px;
  font-weight: 700;
  color: var(--navy, #043980);
  font-size: 1rem;
}
.events-list__info h2 {
  font-size: 1.05rem;
  margin: 0;
  color: var(--navy);
}
.events-list__acc {
  margin: 0;
}
.events-list__acc > summary {
  cursor: pointer;
  list-style: none;
}
.events-list__acc > summary::-webkit-details-marker {
  display: none;
}
.events-list__desc {
  margin: 0.6rem 0 0;
  color: #444;
  font-size: 0.95rem;
  line-height: 1.45;
}
.events-list__time {
  margin: 0;
  color: #666;
  font-size: .9rem;
}
.events-list__badge {
  display: inline-block;
  background: var(--navy, #043980);
  color: #fff;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: .15rem .5rem;
  border-radius: 3px;
  margin-bottom: .4rem;
}
.events-list__register {
  background: #f7f9fc;
  border-radius: 6px;
  padding: 1.75rem;
}
.events-list__register h2 {
  margin: 0 0 .75rem;
  font-size: 1.15rem;
}
.events-list__register p {
  font-size: .92rem;
  color: #444;
  margin: 0 0 1rem;
}
.events-list__register .btn {
  margin-top: .25rem;
}
@media (max-width: 860px) {
  .content-body--events .events-list__wrap {
    grid-template-columns: 1fr;
  }
}
/* Home: LIVE hero ~750px (SpotTheDiff home cycle1 2026-08-10; was Round 9 1020) */
.page-hero--home {
  min-height: 750px;
  padding: 110px 0;
}
.page-hero.page-hero--home::before {
  background: linear-gradient(105deg, rgba(4, 57, 128, .66) 0%, rgba(4, 57, 128, .66) 68%, rgba(0, 0, 0, 0) 68%);
}
/* Members: LIVE navy hard wedge @ ~49–65% + left H1/kicker stack */
.page-hero--members {
  min-height: 420px;
  padding: 4.5rem 0 3.75rem;
  background-position: center bottom;
}
.page-hero.page-hero--members::before {
  background: linear-gradient(105deg, rgba(4, 57, 128, .66) 0%, rgba(4, 57, 128, .66) 58%, rgba(0, 0, 0, 0) 58%);
}
/*
  Round 4: place the H1/kicker *block* in the left wedge (LIVE ~x375 / ~x394).
  Round 3 text-align:left failed because .page-hero--photo is flex-row and the
  shrink-wrapped .wrap (content-sized) was re-centered by margin:auto → mass ~x708.
  Stretch the wrap to full maxw; keep .hero-content narrow in the left third.
*/
.page-hero--members .page-hero__inner,
.page-hero--programs .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
  box-sizing: border-box;
}
.page-hero--members .hero-content,
.page-hero--programs .hero-content {
  flex: 0 1 auto;
  width: min(28rem, 42%);
  max-width: 28rem;
  margin: 0;
  margin-right: auto;
  text-align: left;
}
/*
  2026-09-15: same Round 4 pin for photo heroes that still shrink-wrap .wrap
  (margin:auto recenters a short H1 on the photograph). About / legal / resources /
  annual-meeting / training-detail were the board misses. Keep type in the left wedge.
*/
.page-hero--about .page-hero__inner,
.page-hero--legal .page-hero__inner,
.page-hero--resources .page-hero__inner,
.page-hero--annual-meeting .page-hero__inner,
.page-hero--training-detail .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
  box-sizing: border-box;
}
.page-hero--about .hero-content,
.page-hero--legal .hero-content,
.page-hero--resources .hero-content,
.page-hero--annual-meeting .hero-content {
  flex: 0 1 auto;
  width: min(32rem, 46%);
  max-width: 32rem;
  margin: 0;
  margin-right: auto;
  text-align: left;
}
/* Training titles are long (HACCP TRAINING). The 32rem pin wraps them onto the photo. */
.page-hero--training-detail .hero-content {
  flex: 0 1 auto;
  width: min(48rem, 70%);
  max-width: 48rem;
  margin: 0;
  margin-right: auto;
  text-align: left;
}
.page-hero--members h1,
.page-hero--programs h1 {
  max-width: none;
  margin: 0;
  letter-spacing: 0;
  font-size: 75px;
  line-height: 90px;
  font-weight: 300;
}
.page-hero--members .hero-kicker {
  letter-spacing: 0.35em;
}
/* Programs: LIVE soft-dark (#404040) hard left cut — not bright blue, not centered wash */
.page-hero--programs {
  min-height: 420px;
  padding: 4.5rem 0 3.75rem;
  background-position: center bottom;
}
.page-hero.page-hero--programs::before {
  background: linear-gradient(105deg, rgba(64, 64, 64, .74) 0%, rgba(64, 64, 64, .74) 58%, rgba(0, 0, 0, 0) 58%);
}
.page-hero.page-hero--navy::before {
  background: linear-gradient(105deg, rgba(3, 42, 94, .55) 0%, rgba(4, 57, 128, .35) 68%, rgba(0, 0, 0, 0) 68%);
}
/* About hero: live grey wedge @ ~49%, denser short band */
.page-hero--about {
  min-height: 400px;
  padding: 5.5rem 0 5rem;
}
.page-hero.page-hero--about::before {
  background: linear-gradient(105deg, rgba(64, 64, 64, .78) 0%, rgba(64, 64, 64, .78) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--about h1 {
  font-weight: 300;
  max-width: none;
  letter-spacing: 0;
  font-size: 75px;
  line-height: 90px;
}
.page-hero--about .hero-kicker {
  margin: .85rem 0 0;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.55em;
  font-size: .95rem;
}
.page-hero__inner {
  position: relative; z-index: 1;
  display: flex; align-items: center; justify-content: flex-start;
  gap: 2.5rem; flex-wrap: wrap;
}
/*
  Fleet hero H1 baseline. Do NOT set max-width or letter-spacing here — an earlier
  regression used 18ch / 0.14em and overrode every route-specific SpotTheDiff block
  defined above this line (apex, fire, about, etc.). Per-route rules and the navy
  wedge family block below supply LIVE type; this layer only sets shared color/weight.
*/
.page-hero h1 {
  color: #fff;
  margin: 0;
  font-weight: 300;
  text-transform: uppercase;
}
.page-hero h1 strong {
  font-weight: 700;
  letter-spacing: 0;
}
/*
  Navy-wedge fleet default (LIVE 75px / 1.2 / w300) for routes without their own
  SpotTheDiff h1 block. training-detail, employment-rfps, legal, navy band.
*/
.page-hero--training-detail h1,
.page-hero--employment-rfps h1,
.page-hero--legal h1,
.page-hero--navy h1 {
  max-width: none;
  font-size: 75px;
  line-height: 1.2em;
  letter-spacing: 0;
  text-align: left;
}
.page-hero--training-detail h1 {
  font-size: 65px;
  line-height: 1.15;
}
.page-hero--training-detail h1 .ln {
  white-space: nowrap;
}
.page-hero--training-detail h1 .ln:not(:first-child) {
  font-size: 38px;
  line-height: 1.2;
  font-weight: 300;
}
.page-hero--training-detail .hero-details {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  align-items: flex-start;
}
.page-hero.page-hero--ceds h1 {
  letter-spacing: 0;
  font-weight: 300;
}
.page-hero.page-hero--ceds h1 strong {
  font-weight: 700;
  letter-spacing: 0;
}
.page-hero .eyebrow { color: #a9c6ff; letter-spacing: 0.2em; }
.hero-sub { color: #d6e2f7; font-size: 1.15rem; margin: .5rem 0 0; max-width: 52ch; text-transform: none; letter-spacing: normal; font-weight: 400; }
.hero-kicker {
  margin: .65rem 0 0;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.28em;
  font-size: .95rem;
}
.hero-details { list-style: none; padding: 0; margin: .75rem 0 0; display: flex; gap: 1.25rem; flex-wrap: wrap; }
.hero-details li { font-size: .95rem; color: #d6e2f7; text-transform: none; letter-spacing: normal; }
/* lean-form SpotTheDiff: LIVE hard wedge @ 49% + content-box pad 110/110 → band 573 */
/*
  /lean-101/ — added 2026-08-11. LIVE keeps the subtitle + date/venue lines inside the hero
  band (not the body), unlike this codebase's other event-detail-shaped page /lean-form/
  (page-hero--lean, tuned to its own different pixel metrics) — this is its own variant,
  standard .wrap indentation, no eyebrow. See renderers/system.mjs makeEventDetail().
*/
.page-hero--event-detail {
  min-height: 320px;
  padding: 90px 0;
  background-position: center center;
  justify-content: center;
}
.page-hero.page-hero--event-detail::before {
  background: linear-gradient(105deg, rgba(4, 57, 128, .74) 0%, rgba(4, 57, 128, .74) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--event-detail .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--event-detail .hero-content {
  flex: 0 1 auto;
  width: min(72rem, 100%);
  max-width: 72rem;
  margin: 0;
  margin-right: auto;
  text-align: left;
}
.page-hero--event-detail h1 {
  max-width: none;
  margin: 0;
  padding: 0 0 6px;
  font-weight: 300;
  font-size: 52px;
  line-height: 60px;
  letter-spacing: 0;
  text-align: left;
  color: #fff;
  text-transform: uppercase;
}
.page-hero--event-detail h2 {
  margin: 0 0 .75rem;
  font-weight: 700;
  font-size: 22px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #fff;
}
.page-hero--event-detail .hero-details {
  list-style: none;
  padding: 0;
  margin: .5rem 0 0;
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.page-hero--event-detail .hero-details li {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #fff;
}
.content-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  gap: 2rem 3rem;
  align-items: start;
}
.instructor-box {
  background: var(--navy);
  color: #fff;
  text-align: center;
  padding: 2rem;
  border-radius: var(--radius, 4px);
}
.instructor-box h2 {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.instructor-box img {
  display: block;
  margin: 0 auto 1rem;
  border-radius: 50%;
  width: 140px;
  height: 140px;
  object-fit: cover;
}
.instructor-box p {
  color: #fff;
  font-size: .92rem;
  line-height: 1.6;
}
.partner-band {
  background: #e6e6e6;
}
.partner-band__inner {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 2.5rem 0;
  flex-wrap: wrap;
}
.partner-band__inner p {
  flex: 1 1 400px;
  margin: 0;
}
.partner-band__inner img {
  flex: 0 1 260px;
  height: auto;
}
@media (max-width: 900px) {
  .content-split {
    grid-template-columns: 1fr;
  }
}
.page-hero--lean {
  box-sizing: content-box;
  /* Cycle2: LIVE band 573 = pad 220 + inner 353 (cycle1 min-height 400 → 620 CLOSE) */
  min-height: 353px;
  padding: 110px 9px 110px 0;
  background-position: center center;
  justify-content: center;
}
.page-hero.page-hero--lean::before {
  background: linear-gradient(
    105deg,
    rgba(4, 57, 128, .66) 0%,
    rgba(4, 57, 128, .66) 49%,
    rgba(0, 0, 0, 0) 49%
  );
}
.page-hero--lean .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  margin-left: 133px;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--lean .hero-content {
  flex: 0 1 auto;
  width: min(99.8%, 72rem);
  max-width: 72rem;
  margin: 0;
  text-align: left;
}
.page-hero--lean h1 {
  max-width: none;
  width: auto;
  letter-spacing: 0;
  font-size: 75px;
  line-height: 90px;
  font-weight: 300;
  text-transform: uppercase;
  color: #fff;
}
.page-hero--lean .hero-details {
  list-style: none;
  padding: 0;
  margin: 1.25rem 0 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}
/* LIVE h5 date/time: 23px / ls 11 / w700 / uppercase */
.page-hero--lean .hero-details li:nth-child(1),
.page-hero--lean .hero-details li:nth-child(2) {
  font-size: 23px;
  line-height: 1.8em;
  font-weight: 700;
  letter-spacing: 11px;
  text-transform: uppercase;
  color: #fff;
}
/* LIVE h6 venue: 21px / w700 / uppercase */
.page-hero--lean .hero-details li:nth-child(n+3) {
  font-size: 21px;
  line-height: 1.8em;
  font-weight: 700;
  letter-spacing: normal;
  text-transform: uppercase;
  color: #fff;
}
/*
  SpotTheDiff /mmec-form/ hero = LIVE et_pb_section_0 (Divi h1/h2/h5/h6 stack):
  navy hard wedge @58% (105deg, rgba(4,57,128,.66) not the default grey),
  H1 75px/90px w300 no letter-spacing, H2 sub 38px/38px w700 uppercase with a
  <br> after "&", date+address stacked h5/h6 (23px/41.4px ls11px, then 21px/21px).
  Section padding measured via Playwright at 1440 viewport (LIVE JS eval in-browser
  under-reported due to a viewport=0 bug): section 110px top/bottom + Divi row
  28.6094px top/bottom (folded into one section padding here, no nested row in our
  markup) + every heading carries its own 10px padding-bottom (Divi default).
  LIVE's registration form itself is a dead Divi Gravity Forms injector
  (et_pb_df_gravityform_injector_0 renders an empty div, confirmed via raw HTML);
  staging keeps the Round 7 static form restore per taxonomy.mjs
  ("registration form -> Commerce (Round 7 form restore)") and
  renderers/event-reg-form.mjs's own comment. Not collapsed to blank here;
  see spot-the-diff/mmec-form/SUMMARY.md.
*/
.page-hero--mmec-form {
  padding: 138.6px 0;
}
.page-hero.page-hero--mmec-form::before {
  background: linear-gradient(105deg, rgba(4, 57, 128, .66) 0%, rgba(4, 57, 128, .66) 58%, rgba(0, 0, 0, 0) 58%);
}
.page-hero--mmec-form .hero-content {
  width: min(46rem, 100%);
  max-width: 46rem;
  margin: 0;
  margin-right: auto;
  text-align: left;
}
.page-hero--mmec-form h1 {
  max-width: none;
  margin: 0;
  padding: 0 0 10px;
  font-size: 75px;
  line-height: 90px;
  font-weight: 300;
  letter-spacing: normal;
  text-transform: uppercase;
}
.page-hero--mmec-form .hero-sub {
  margin: 0;
  padding: 0 0 10px;
  max-width: none;
  font-size: 38px;
  line-height: 38px;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: normal;
}
.page-hero--mmec-form .hero-details {
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  margin: 0;
}
.page-hero--mmec-form .hero-details li {
  margin: 0;
  padding: 0 0 10px;
  font-size: 21px;
  line-height: 21px;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: normal;
}
.page-hero--mmec-form .hero-details li:first-child {
  font-size: 23px;
  line-height: 41.4px;
  letter-spacing: 11px;
}
.hero-ctas { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1.5rem; }
/* Home hero ghost CTAs: thin white outline (Round 2 — drop heavy fill) */
.page-hero--photo .btn--secondary,
.page-hero--home .btn--secondary {
  background: transparent;
  border-width: 2px;
  border-color: #fff;
  color: #fff;
  font-weight: 700;
}
.page-hero--photo .btn--secondary:hover,
.page-hero--home .btn--secondary:hover {
  background: rgba(255, 255, 255, .12);
}
.hero-graphic-wrap { flex: 0 0 auto; }
.hero-graphic { max-width: 320px; max-height: 260px; object-fit: contain; }

/* ── COMPONENT 2: textImgBand (tib) ─────────────────────────────────────────── */
.tib-section { background: var(--white); padding-top: 1.5rem; padding-bottom: 1.5rem; }
.tib-section--alt { background: var(--bg-alt); }
/* Desktop: force two-column (SideBySide Round 1 — do not collapse to stack above 900px). */
.tib {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 4.5rem;
  align-items: center;
}
.tib--image-left .tib__img { order: -1; }
.tib__img img { border-radius: var(--radius); width: 100%; aspect-ratio: 4/3; object-fit: cover; }
/*
  [MARK 2026-08-11] the USDA Rural Entrepreneur guide cover (USDARuralEntrepreneurs.png,
  384x496 — confirmed against LIVE's own <img width="384" height="496">) is a portrait book
  cover, not a landscape photo. The shared rule above force-crops every .tib__img to a 4:3
  landscape box, which on this one image aggressively cropped the tall cover down to a thin
  slice and stretched it past its native width. Render at native (small) size instead.
*/
.tib__img--portrait img {
  width: auto;
  max-width: 100%;
  aspect-ratio: auto;
  object-fit: contain;
  margin: 0 auto;
  display: block;
}
/* Round 10 P1: LIVE home Org/Masterclass/FADC headings left in text column (not centered). */
.tib__body { text-align: left; }
.tib__body h2 { margin-bottom: 1rem; text-align: left; }
.tib__body p { color: var(--ink); margin: 0 0 1.35rem; line-height: 1.75; text-align: left; }
.tib__cta { margin-top: 1.75rem; text-align: left; }

/* ── COMPONENT 3: tileGrid ──────────────────────────────────────────────────── */
.tile-grid-section { background: var(--white); }
.tile-grid-section--alt { background: var(--bg-alt); }
.tile-grid-section--navy { background: var(--navy); }
.tile-grid__header { text-align: center; margin-bottom: 2rem; }
.tile-grid__header .eyebrow { justify-content: center; }
.tile-grid { display: grid; gap: 1.5rem; }
.tile-grid--cols-2 { grid-template-columns: repeat(2, 1fr); }
.tile-grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.tile-grid--cols-4 { grid-template-columns: repeat(4, 1fr); }
.tile {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.5rem;
  display: flex; flex-direction: column; gap: .5rem;
}
.tile--link {
  text-decoration: none; color: inherit;
  transition: box-shadow .15s, transform .12s;
}
.tile--link:hover { box-shadow: 0 4px 18px rgba(4,57,128,.12); transform: translateY(-2px); }
.tile__img-wrap img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: calc(var(--radius) - 2px); margin-bottom: .5rem; }
.tile__icon { font-size: 2rem; }
.tile__title { font-size: 1.05rem; font-weight: 900; color: var(--navy); margin: 0; }
.tile__body { font-size: .93rem; color: var(--ink); flex: 1; }
.tile__cta { font-size: .88rem; font-weight: 700; color: var(--navy); }

/* Contact sidebar logo — square mark, no crop */
.contact-card__logo,
.tib__img .tile .tile__img-wrap img.contact-card__logo {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  max-width: 160px;
  margin: 0 auto 1rem;
  width: 100%;
}

/* ── COMPONENT 4: townGrid ──────────────────────────────────────────────────── */
.town-grid-section { background: var(--white); }
.town-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin: 2rem 0; }
.town {
  background: var(--bg-alt);
  border-radius: var(--radius);
  padding: 1.5rem 1.25rem;
  display: flex; flex-direction: column; gap: .75rem; align-items: flex-start;
}
.town__name { font-weight: 900; color: var(--navy); font-size: 1.05rem; margin: 0; }
/* Trailing HTML styles (Treasure State + photo strip) */
.town-grid__trailing { margin-top: 2.5rem; }
.treasure-state { display: flex; align-items: flex-start; gap: 1.5rem; margin-bottom: 2rem; }
.treasure-state .mt-state-icon { width: 100px; flex-shrink: 0; }
.treasure-state p { color: var(--ink); margin: 0; }
.town-photo-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; }
.town-photo-strip img { border-radius: var(--radius); width: 100%; aspect-ratio: 4/3; object-fit: cover; }

/* ── COMPONENT 5: statBand ──────────────────────────────────────────────────── */
.stat-band { text-align: center; }
.stat-band--gray { background: var(--bg-alt); }
.stat-band--quiet { background: #e6e8eb; }
.stat-band--navy { background: var(--navy); color: #fff; }
.stat-band--navy .stat-band__heading { color: #fff; }
.stat-band--navy .stat__label { color: #a9c6ff; }
.stat-band__heading { margin-bottom: 1.5rem; }
.stat-band--quiet .stat-band__heading {
  color: #3a3f47;
  font-size: 1.15rem;
  letter-spacing: .08em;
}
.stats { display: flex; flex-wrap: wrap; justify-content: center; gap: 3rem; }
.stat { display: flex; flex-direction: column; gap: .3rem; }
.stat__value { font-size: clamp(2rem, 4vw, 3rem); font-weight: 900; color: var(--navy); }
.stat-band--quiet .stat__value {
  color: #2f343c;
  font-weight: 700;
  font-size: clamp(1.75rem, 3.2vw, 2.4rem);
}
.stat-band--navy .stat__value { color: #fff; }
.stat__label { font-size: .9rem; font-weight: 700; color: var(--ink); text-transform: uppercase; letter-spacing: .06em; }
.stat-band--quiet .stat__label {
  color: #5a616c;
  font-weight: 600;
  letter-spacing: .04em;
}

/* ── COMPONENT 6: navyCTABand ──────────────────────────────────────────────── */
.navy-cta { background: var(--navy); color: #fff; }
.navy-cta__inner { text-align: center; max-width: 800px; margin: 0 auto; }
.navy-cta h2 { color: #fff; margin-bottom: .5rem; }
.navy-cta__eyebrow { color: #a9c6ff; }
.navy-cta__sub { color: #d6e2f7; font-size: 1.05rem; margin: .25rem 0 0; text-transform: none; letter-spacing: normal; font-weight: 400; }
.navy-cta__btn { margin-top: 1.5rem; }
/* two-column variant (Get Started footer band) */
.navy-cta__cols {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 2.5rem; margin-top: 2rem; text-align: left;
}
.navy-cta__col h3 { color: #fff; font-size: 1rem; margin-bottom: .75rem; }
.navy-cta__col a { display: block; color: #a9c6ff; text-decoration: none; padding: .2rem 0; font-size: .95rem; text-transform: none; letter-spacing: normal; font-weight: 400; }
.navy-cta__col a:hover { color: #fff; }

/* DBIM lockup — white band; live uses DoBusinessInMT_HomeGraphic.png (LIVE · WORK · PLAY) */
.dbim-band { background: var(--white); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 6.5rem 0; }
.dbim-band__inner {
  display: flex; align-items: center; justify-content: center;
  gap: 2rem; flex-wrap: wrap; text-align: center; padding: .5rem 0;
}
.dbim-band__inner--lockup { padding: 0; }
.dbim-band__lockup {
  display: block;
  width: min(920px, 100%);
  height: auto;
  margin: 0 auto;
}
.dbim-band__silhouette { width: min(220px, 40vw); height: auto; flex-shrink: 0; }
.dbim-band__copy { max-width: 28rem; }
.dbim-band h2 { color: var(--navy); margin: 0 0 .35rem; letter-spacing: 0.16em; }
.dbim-band__sub {
  margin: 0; color: var(--navy); font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.28em; font-size: .95rem;
}

/* Get Started — live white band + navy column heads + centered link craft */
.get-started-band { background: var(--white); padding: 5.5rem 0 6rem; }
.get-started__inner { text-align: center; max-width: 980px; margin: 0 auto; }
.get-started__heading {
  color: var(--navy);
  margin: 0 0 .75rem;
  letter-spacing: 0.12em;
}
.get-started__eyebrow {
  margin: 0 0 2.25rem;
  color: var(--ink);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: .95rem;
}
.get-started__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem 3rem;
  align-items: start;
}
.get-started__col-head {
  background: var(--navy);
  color: #fff;
  min-height: 5.5rem; /* Round 9 Get Started mass */
  padding: 1.75rem 1.25rem;
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.get-started__col-head h3 {
  margin: 0;
  color: #fff;
  font-weight: 400;
  letter-spacing: 0.28em;
  font-size: 1.05rem;
}
.get-started__col-links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .85rem;
  padding: 0 0 1.5rem;
}
.get-started__col-links a {
  color: #4a7ec7;
  text-decoration: none;
  font-weight: 600;
  text-transform: none;
  letter-spacing: normal;
  font-size: 1.05rem;
  padding: .35rem 0;
  line-height: 1.55;
}
.get-started__col-links a:hover { color: var(--navy); text-decoration: underline; }

/* Logo-mark tiles (legacy P0) — kept; structural pass prefers .photo-tile */
.tile--logo-card { align-items: center; text-align: center; min-height: 12rem; justify-content: center; }
.tile--logo-card .tile__img-wrap { width: 100%; margin-bottom: .75rem; }
.tile--logo-card .tile__img-wrap img {
  aspect-ratio: auto; max-height: 120px; width: auto; max-width: 100%;
  object-fit: contain; margin: 0 auto;
}
.tile--logo-card .tile__title { text-transform: uppercase; letter-spacing: .08em; }

/* ── STRUCTURAL: dark photo tiles (Gov/Brownfields + Programs 3-up) ─────────── */
.photo-tiles-section { background: var(--white); padding-top: 3.5rem; padding-bottom: 3.5rem; }
.photo-tiles { display: grid; gap: 1.15rem; }
.photo-tiles--cols-2 { grid-template-columns: repeat(2, 1fr); }
.photo-tiles--cols-3 { grid-template-columns: repeat(3, 1fr); }
.photo-tile {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 520px; /* Round 9: LIVE square-ish Gov/Brownfields mass */
  background-size: cover;
  background-position: center;
  text-decoration: none;
  color: #fff;
  overflow: hidden;
}
.photo-tile--tall { min-height: 560px; aspect-ratio: 2 / 3; }
.photo-tile::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(4, 57, 128, .88) 0%, rgba(4, 57, 128, .35) 55%, rgba(0, 0, 0, .15) 100%);
  pointer-events: none;
}
.photo-tile__inner {
  position: relative; z-index: 1;
  padding: 1.75rem 1.5rem;
  display: flex; flex-direction: column; align-items: flex-start; gap: .75rem;
  width: 100%;
}
.photo-tile__logo {
  width: auto; max-height: 56px; max-width: 120px;
  object-fit: contain; margin-bottom: .25rem;
}
.photo-tile__title {
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
  line-height: 1.2;
  color: #fff;
}
.photo-tile__cta {
  display: inline-flex;
  padding: .55rem 1.1rem;
  border: 2px solid #fff;
  color: #fff;
  font-weight: 700;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.photo-tile:hover .photo-tile__cta { background: rgba(255, 255, 255, .14); }

/* ── STRUCTURAL: Where We Live Visit row + mosaic ───────────────────────────── */
.wwl-section { background: var(--white); }
.wwl-section__inner { text-align: center; }
.wwl-section__title {
  margin: 0 0 .35rem;
  text-align: center;
  color: var(--navy);
}
.wwl-section__welcome {
  margin: 0 0 1.5rem;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .28em;
  font-size: .85rem;
  font-weight: 600;
  color: #7a8799;
}
.town-visit-row {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: .75rem 1rem;
  margin: 0 0 1.75rem;
  text-align: center;
}
.town-visit {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .35rem;
  min-width: 0;
}
.town-visit__name {
  color: #6b7788;
  font-weight: 600;
  font-size: .95rem;
  line-height: 1.25;
}
.town-visit__link {
  color: #4a7ec7;
  font-weight: 700;
  font-size: .9rem;
  text-decoration: underline;
  text-underline-offset: .15em;
  line-height: 1.3;
}
.town-visit__link:hover { color: var(--navy); }
/* Keep prior tab chrome available but unused after Visit-row polish */
.town-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .15rem;
  margin: 1.25rem 0 1.75rem;
  border-bottom: 1px solid var(--line);
}
.town-tabs__tab {
  display: inline-block;
  padding: .65rem 1rem;
  color: var(--navy);
  text-decoration: none;
  font-weight: 700;
  font-size: .92rem;
  background: #e8eef8;
  border: 0;
}
.town-tabs__tab.is-active,
.town-tabs__tab:hover {
  background: var(--navy);
  color: #fff;
}
.wwl-mosaic {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .65rem;
  text-align: left;
}
.wwl-mosaic__cell {
  position: relative;
  overflow: hidden;
  min-height: 360px; /* Round 9 WWL mosaic mass */
  background: var(--bg-alt);
}
.wwl-mosaic__cell img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  display: block;
}
.wwl-mosaic__cell--state {
  background: var(--navy);
  color: #fff;
  min-height: 360px;
}
.wwl-mosaic__state {
  height: 100%;
  padding: 1.25rem 1.15rem;
  display: flex;
  flex-direction: column;
  gap: .85rem;
  justify-content: center;
}
.wwl-mosaic__state img {
  width: 140px;
  height: auto;
  min-height: 0;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.wwl-mosaic__state p {
  margin: 0;
  color: #d6e2f7;
  font-size: .82rem;
  line-height: 1.55;
}

/* ── STRUCTURAL: Programs offer + detail columns ────────────────────────────── */
.programs-intro__inner { max-width: 72rem; margin: 0 auto; text-align: center; }
.programs-intro__inner h2 { text-align: center; }
.programs-intro__inner p { max-width: 68rem; margin-left: auto; margin-right: auto; }
.program-detail-col h3,
.program-detail-col__label { align-self: start; }
.programs-offer { padding-top: 0; padding-bottom: 0; }
.programs-offer__eyebrow { text-align: center; letter-spacing: .28em; margin-bottom: 1.25rem; }
.programs-chevron-band {
  position: relative;
  background: #e8edf3;
  padding: 3.25rem 0 3.5rem;
  clip-path: polygon(0 2.75rem, 50% 0, 100% 2.75rem, 100% calc(100% - 2.75rem), 50% 100%, 0 calc(100% - 2.75rem));
  margin: 1rem 0 0;
}
.program-detail-cols-section { background: var(--white); padding-top: 2.5rem; }
.program-detail-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.75rem 2.5rem;
}
.program-detail-col { text-align: center; }
.program-detail-col h3,
.program-detail-col__label {
  margin-bottom: 1.15rem;
  letter-spacing: 0.28em;
  font-size: .92rem;
  font-weight: 700;
  text-align: center;
  color: var(--navy);
}
.program-detail-col p {
  color: var(--ink);
  margin: 0 0 1.15rem;
  font-size: .95rem;
  line-height: 1.7;
  text-align: center;
}
.program-detail-col__contact { font-size: .9rem; }
.program-detail-col__cta { margin-top: 1.25rem; display: flex; justify-content: center; }

/* ── STRUCTURAL: About mission 3-panel + circular stacked staff ─────────────── */
.mission-section { background: var(--white); padding-bottom: 0; }
.mission-intro { max-width: 68ch; margin: 0 auto 0; text-align: center; }
.mission-intro h2 { text-align: center; }
.mission-ctas {
  justify-content: center;
  margin: 0 0 1.75rem;
  padding-top: .5rem;
}
.mission-chevron-band {
  background: #e8edf3;
  padding: 3rem 0 3.5rem;
  /* Live Divi: top peak + bottom V so Staff/Board sit inside the grey wedge */
  clip-path: polygon(0 2.75rem, 50% 0, 100% 2.75rem, 100% calc(100% - 2.75rem), 50% 100%, 0 calc(100% - 2.75rem));
  margin-top: 1.5rem;
}
.mission-panels {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
}
.mission-panel { min-height: 340px; overflow: hidden; }
.mission-panel--photo img {
  width: 100%;
  height: 100%;
  min-height: 340px;
  object-fit: cover;
}
.mission-panel--card {
  background: var(--navy);
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1.75rem 1.25rem;
  text-align: center;
}
.mission-panel__state {
  width: 150px;
  height: auto;
  filter: brightness(0) invert(1);
}
.mission-panel__address p {
  margin: 0 0 .5rem;
  color: #d6e2f7;
  font-size: .95rem;
  line-height: 1.5;
}

.staff-section { background: var(--white); padding-top: 4.5rem; padding-bottom: 2rem; }
.staff-stack { display: flex; flex-direction: column; gap: 7.5rem; } /* Round 9 → LIVE about roster rhythm */
.staff-row {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 2.75rem;
  align-items: start;
}
.staff-row__photo {
  width: 240px;
  height: 240px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center top;
  background: var(--line);
}
.staff-row__photo--empty { display: block; }
.staff-row__name {
  margin: 0 0 .35rem;
  color: var(--navy);
  font-size: 1.35rem;
}
.staff-row__title {
  margin: 0 0 1rem;
  color: #5a6575;
  font-weight: 600;
  text-transform: none;
  letter-spacing: normal;
  font-size: 1.05rem;
}
.staff-row__bio p { margin: 0 0 .9rem; color: var(--ink); line-height: 1.7; }
.staff-row__contact { font-size: 1rem; margin-top: .35rem; }
.staff-row__contact a { color: #4a7ec7; }

.roster-section { background: var(--white); padding-top: 5.5rem; padding-bottom: 5.5rem; }
.roster-section h2 { text-align: center; margin-bottom: 3.5rem; }
.roster-grid {
  display: grid;
  gap: 3.5rem 2.25rem;
  text-align: center;
}
.roster-grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.roster-grid--cols-4 { grid-template-columns: repeat(4, 1fr); }
.roster-item__name {
  margin: 0 0 .2rem;
  color: var(--navy);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .95rem;
}
.roster-item__affil {
  margin: 0;
  color: var(--ink);
  font-size: .88rem;
  line-height: 1.4;
}

/* ── COMPONENT 7: photoBand ─────────────────────────────────────────────────── */
.photo-band {
  position: relative;
  background-size: cover;
  background-position: center;
  min-height: 480px;
  display: flex; align-items: center;
  overflow: hidden;
}
.photo-band::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(4,57,128,.78) 35%, rgba(4,57,128,.45));
  pointer-events: none;
}
.photo-band.photo-band--nw-light::before {
  /* Live dusk: warmer pink/orange sky reads through; avoid cool navy blanket */
  background:
    linear-gradient(105deg, rgba(55, 35, 70, .38) 0%, rgba(55, 35, 70, .12) 42%, rgba(0, 0, 0, 0) 68%),
    linear-gradient(to top, rgba(180, 90, 55, .28) 0%, rgba(220, 120, 90, .12) 35%, rgba(4, 57, 128, .08) 70%, rgba(4, 57, 128, .18) 100%);
}
.photo-band--nw-light {
  background-position: center 35%;
  min-height: 720px; /* Round 8: forest band mass toward LIVE home */
  padding: 1.25rem 0;
}
.photo-band__inner {
  position: relative; z-index: 1;
  padding: 3.5rem 0;
  max-width: 640px;
  text-align: left;
}
.photo-band__heading { color: #fff; font-size: clamp(1.5rem, 2.5vw, 2.2rem); margin-bottom: .5rem; }
.photo-band__heading--stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .15rem;
  margin-bottom: .85rem;
  line-height: 1.05;
}
.photo-band__line { display: block; color: #fff; text-transform: uppercase; }
.photo-band__line--lead {
  font-weight: 500;
  letter-spacing: .08em;
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
}
.photo-band__line--strong {
  font-weight: 900;
  letter-spacing: .04em;
  font-size: clamp(1.75rem, 3.2vw, 2.55rem);
}
.photo-band__sub { color: #eef3fb; font-size: 1.05rem; max-width: 52ch; margin: 0 0 1.5rem; }
.photo-band__cta { margin-top: 1.25rem; }

/* ── commerce stub / reserved slots ─────────────────────────────────────────── */
.commerce-stub { margin: 2rem auto; max-width: var(--maxw); padding: 1.5rem 1.25rem; border: 2px dashed var(--line); border-radius: var(--radius); background: var(--bg-alt); }
.commerce-stub__badge { display: inline-block; background: #e7edf6; color: var(--navy); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: .25rem .6rem; border-radius: 100px; margin: 0 0 .5rem; }
.embed-slot { border: 1px dashed var(--line); border-radius: var(--radius); padding: 2rem; text-align: center; background: #fff; }

/* ── static form clones ──────────────────────────────────────────────────────── */
.static-form { max-width: 40rem; margin: 1.5rem auto; padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.static-form .cform-status {
  min-height: 1.25em;
  margin: 0.75rem 0 0;
  font-size: 0.95rem;
}
.static-form .cform-status.is-ok { color: #1a5c1a; }
.static-form .cform-status.is-err { color: #8a1f1f; }
.static-form--members {
  max-width: none;
  width: 100%;
  margin: 2.25rem 0 0;
  padding: 2.5rem 1.75rem 3rem;
}
/* Round 5/6 Gravity density — wide multi-col packing toward LIVE */
.static-form--gravity,
.static-form--gravity-compact {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 1.75rem 1.5rem 2rem;
  background: #eef2f7;
  border: 0;
  border-radius: 0;
}
/* Round 10 P1: LIVE CWDG/contact-class forms read as white multi-col, not grey box stack. */
.static-form--gravity-compact {
  padding: 1.1rem 0 1.35rem;
  background: #fff;
  border: 0;
}
.static-form--gravity h2,
.static-form--gravity-compact h2 {
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 0 0 1.25rem;
  font-size: 1.35rem;
}
.static-form--gravity .btn--primary,
.static-form--gravity-compact .btn--primary {
  border-radius: 0;
  min-width: 9rem;
  margin-top: .35rem;
}
.static-form--mailing {
  max-width: none;
  margin: 1.25rem 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  display: grid;
  grid-template-columns: 1fr 1fr 1.2fr auto;
  gap: .75rem 1rem;
  align-items: end;
}
.static-form--mailing h2 { display: none; }
.static-form--mailing .form-row { margin: 0; }
.static-form--mailing .form-row-pair { display: contents; }
.static-form--mailing .form-row span { color: #fff; font-size: .8rem; }
.static-form--mailing .form-row input { background: #fff; }
.static-form--mailing .btn { margin-top: 1.15rem; border-radius: 0; }
/* LIVE mailing: tall navy band, stacked fields, full-width Subscribe */
.static-form--mailing-stack {
  max-width: 28rem;
  width: 100%;
  margin: 1.75rem auto 0;
  padding: 0;
  border: 0;
  background: transparent;
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
.static-form--mailing-stack h2 { display: none; }
.static-form--mailing-stack .form-row { margin: 0; }
.static-form--mailing-stack .form-row input {
  background: #fff;
  border: 0;
  border-radius: 0;
  padding: .85rem 1rem;
  min-height: 3rem;
}
.static-form--mailing-stack .btn {
  margin-top: .5rem;
  width: 100%;
  border-radius: 0;
  justify-content: center;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.static-form--payment {
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.static-form--payment .btn--primary,
.static-form--payment .btn--ghost { border-radius: 0; min-width: 10rem; }
.form-row { display: block; margin: 0 0 1rem; }
.static-form--members .form-row { margin-bottom: 1.5rem; }
.static-form--gravity .form-row { margin-bottom: .85rem; }
.static-form--gravity-compact .form-row { margin-bottom: .55rem; }
.form-row-pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0 1.25rem;
}
.form-row span { display: block; font-weight: 700; color: var(--ink-strong); margin: 0 0 .3rem; font-size: .9rem; }
.form-required { color: #c0392b; font-weight: 700; }
.form-row input,
.form-row select,
.form-row textarea { width: 100%; padding: .6rem .7rem; border: 1px solid var(--line); border-radius: var(--radius); font: inherit; background: #f8fafc; }
.static-form--gravity .form-row input,
.static-form--gravity .form-row select,
.static-form--gravity .form-row textarea,
.static-form--gravity-compact .form-row input,
.static-form--gravity-compact .form-row select,
.static-form--gravity-compact .form-row textarea {
  background: #e8ecf1;
  border-color: #cfd6e0;
  border-radius: 2px;
  padding: .5rem .65rem;
  min-height: 2.35rem;
}
.static-form--gravity .form-row--placeholder input,
.static-form--gravity .form-row--placeholder select,
.static-form--gravity .form-row--placeholder textarea {
  background: #f0f3f7;
  border-color: #d0d7e2;
}
.static-form--gravity-compact .form-row--radio legend { font-size: .85rem; margin-bottom: .35rem; }
.static-form--gravity-compact .form-radio { margin-bottom: .2rem; font-size: .9rem; }
.form-row textarea { min-height: 4.5rem; resize: vertical; }
.static-form--gravity-compact .form-row textarea { min-height: 3.25rem; }
.form-section { margin: 1.5rem 0 .75rem; font-size: 1.1rem; color: var(--ink-strong); }
.static-form--gravity-compact .form-section { margin: 1.1rem 0 .5rem; font-size: 1rem; }
.form-section-block { padding-top: 2.5rem; }
.form-row--radio { border: 0; padding: 0; margin: 0 0 1rem; }
.form-row--radio legend { font-weight: 700; color: var(--ink-strong); margin: 0 0 .5rem; font-size: .9rem; }
.form-radio { display: block; margin: 0 0 .35rem; font-weight: 400; }
.form-radio input { width: auto; margin-right: .35rem; }
.static-form__note { font-size: .82rem; color: #8a94a3; margin: .5rem 0 0; }
.turnstile-slot { margin: 1rem 0; }
.cf-turnstile { min-height: 65px; border: 1px dashed var(--line); border-radius: var(--radius); display: flex; align-items: center; justify-content: center; color: #8a94a3; font-size: .82rem; background: #fbfcfe; }
.cf-turnstile::after { content: 'Turnstile (reserved)'; }

/* ── Round 5 page modules ───────────────────────────────────────────────────── */
.contact-section__title {
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 0 0 .35rem;
}
.contact-section__sub {
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--ink);
  font-size: .9rem;
  font-weight: 700;
  margin: 0 0 1.75rem;
}
.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(240px, .9fr);
  gap: 2.5rem 3rem;
  align-items: start;
}
.contact-sidebar .contact-card__logo { width: min(360px, 100%); height: auto; margin-bottom: 1.25rem; }
.contact-sidebar address { font-style: normal; margin: 1.5rem 0; color: var(--ink); line-height: 1.7; }
.contact-section { padding-top: 5.5rem; padding-bottom: 6.5rem; }
.contact-layout__form .static-form--gravity .form-row { margin-bottom: 1.35rem; }
.contact-layout__form .static-form--gravity .form-row textarea { min-height: 9.5rem; }
.contact-layout__form .static-form--gravity .btn--primary {
  margin-top: 1.25rem;
  min-width: 12rem;
  padding: 1rem 2.5rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 1rem;
  border-radius: 0;
  background: var(--navy);
}
.contact-layout__form .cf-turnstile {
  min-height: 78px;
  margin: 1.35rem 0 1.1rem;
  background: #f4f7fb;
  border-style: solid;
  border-color: #cfd8e6;
}
/* Round 9 contact mailing: LIVE horizontal First/Last/Email + Subscribe row */
.mailing-band--live { padding: 5.5rem 0; }
.mailing-band__inner--row {
  text-align: left;
  max-width: none;
}
.mailing-band__inner--row h2 {
  color: #fff;
  margin: 0 0 1.25rem;
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  text-transform: uppercase;
  letter-spacing: .1em;
  font-weight: 700;
}
.mailing-band__inner--row .mailing-band__sub {
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #cfe0ff;
  font-size: .9rem;
  font-weight: 700;
  margin: 0 0 1.5rem;
  max-width: none;
}
.static-form--mailing .btn {
  margin-top: 0;
  border-radius: 0;
  border: 2px solid #fff;
  background: transparent;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: .85rem 1.5rem;
  align-self: end;
  min-height: 3rem;
}
.static-form--mailing .btn:hover {
  background: rgba(255,255,255,.12);
  color: #fff;
}
.contact-sidebar__social {
  display: flex;
  gap: .85rem;
  flex-wrap: wrap;
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
}
.contact-sidebar__social .footer-social {
  width: 1.5rem;
  height: 1.5rem;
  color: var(--navy);
}
.contact-layout__form .static-form--gravity {
  background: #fff;
  padding: 0;
}
.contact-layout__form .static-form--gravity .btn--primary {
  margin-top: .75rem;
}
.mailing-band__inner { text-align: left; max-width: none; }
.mailing-band__inner h2 { color: #fff; margin: 0 0 .5rem; font-size: 1.35rem; }
.mailing-band--live { padding: 5.5rem 0; } /* Round 9 contact mailing row mass */
.mailing-band__inner--stack { text-align: center; max-width: 40rem; margin: 0 auto; }
.mailing-band__sub {
  color: #cfe0ff;
  font-size: .95rem;
  margin: 0 auto 1.25rem;
  max-width: 28rem;
  line-height: 1.45;
}
/* Round 7 event-invite ticket CTA (no COMING SOON commerce-stub chrome) */
.invite-ticket { padding-top: 2rem; }
.invite-ticket__grid { max-width: var(--maxw); }
.invite-ticket__grid--two {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 2.5rem;
  align-items: start;
}
.invite-ticket__copy h2 { margin: 0 0 1rem; color: var(--navy); }
.invite-ticket__copy p { margin: 0 0 1rem; }
.invite-ticket__cta { margin-top: 1.25rem; }
.invite-ticket__media img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 2px;
}
.form-section-block { padding-top: 2rem; padding-bottom: 2rem; }
.training-register { padding-top: 1.5rem; padding-bottom: 2rem; }
/* Round 7/8/9 program-detail mass toward LIVE (WELL / forestry / selling / resources-2 / fire) */
.content-body--wide { padding-top: 5.5rem; padding-bottom: 6rem; }
.content-body--wide .prose p { margin-bottom: 1.65rem; line-height: 1.8; }
/* SpotTheDiff /fire/ body = LIVE et_pb_section_1:
   section pad 92/44; two rows (reg + course) with Divi row pad 11/46 + side 99 → text 954.
   Type 25/48.75 w500 left; para mb 0 (LIVE). */
.content-body--fire.fire-intro,
section.fire-intro {
  padding: 92px 0 44px;
  background: #fff;
}
.content-body--fire > .wrap.fire-intro__row,
.fire-intro > .wrap.fire-intro__row {
  max-width: 1152px;
  margin-left: auto;
  margin-right: auto;
  padding: 11px 99px 46px;
  box-sizing: border-box;
}
.content-body--fire .fire-intro__prose,
.fire-intro .fire-intro__prose {
  max-width: 954px;
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: left;
  font-size: 25px;
  font-weight: 500;
  line-height: 48.75px;
  color: #666;
}
.content-body--fire .fire-intro__prose p,
.fire-intro .fire-intro__prose p {
  margin: 0;
  padding: 0 0 25px; /* LIVE Divi et_pb_text p padding-bottom */
  max-width: none;
  font-size: 25px;
  font-weight: 500;
  line-height: 48.75px;
  text-align: left;
  color: #666;
}
.content-body--fire .fire-intro__prose a,
.fire-intro .fire-intro__prose a {
  word-break: break-word;
  color: inherit;
}
.content-body--fire .fire-intro__prose strong,
.fire-intro .fire-intro__prose strong {
  font-weight: 700;
  color: #666; /* LIVE strong inherits body gray */
}
/* SpotTheDiff /meet-and-greet/ body = LIVE et_pb_section_1 */
.content-body--meet-and-greet {
  padding-top: 92px;
  padding-bottom: 44px;
}
.content-body--meet-and-greet .meet-greet__prose {
  max-width: none;
  text-align: left;
}
.content-body--meet-and-greet .meet-greet__prose p {
  font-size: 25px;
  line-height: 48.75px;
  font-weight: 500;
  color: #666;
  margin-bottom: 1.25rem;
}
.content-body--meet-and-greet .meet-greet__kicker {
  margin: 0 0 1.5rem;
  font-size: 20px;
  line-height: 1.35;
  color: #333;
  text-align: left;
}
.content-body--meet-and-greet .meet-greet__lead {
  font-weight: 700;
  color: #666;
}
.content-body--meet-and-greet .meet-greet__event {
  margin-top: 1.5rem;
}
.content-body--meet-and-greet .meet-greet__logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.5rem;
  flex-wrap: wrap;
  margin: 2.5rem 0 2rem;
}
.content-body--meet-and-greet .meet-greet__logos a {
  display: block;
  line-height: 0;
}
.content-body--meet-and-greet .meet-greet__logos img {
  display: block;
  width: auto;
  height: auto;
  max-width: 199px;
  object-fit: contain;
}
.content-body--meet-and-greet .meet-greet__funding {
  text-align: center;
  font-size: 17px;
  line-height: 32.3px;
  font-weight: 500;
}
.content-body--meet-and-greet .meet-greet__flyer {
  text-align: center;
  margin-top: 2rem;
}
.content-body--meet-and-greet .meet-greet__flyer .btn {
  font-size: 20px;
  line-height: 34px;
  font-weight: 700;
}
.content-body--meet-and-greet + .stat-band--quiet {
  padding-top: 92px;
  padding-bottom: 44px;
}
/* SpotTheDiff /selling-to-the-government/ body = LIVE fusion section */
.content-body--selling-to-the-government {
  padding-top: 20px;
  padding-bottom: 20px;
}
.content-body--selling-to-the-government .gov-selling__prose {
  max-width: none;
  text-align: left;
}
.content-body--selling-to-the-government .gov-selling__prose h2 {
  margin: 1.75rem 0 .85rem;
  font-size: 26px;
  line-height: 26px;
  font-weight: 500;
  color: #666;
  text-transform: none;
  letter-spacing: 0;
}
.content-body--selling-to-the-government .gov-selling__prose p {
  font-size: 14px;
  line-height: 23.8px;
  font-weight: 500;
  color: #666;
  margin-bottom: 1rem;
}
.content-body--selling-to-the-government .gov-selling__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(160px, 240px);
  gap: 2rem;
  align-items: start;
  margin-bottom: 1.5rem;
}
.content-body--selling-to-the-government .gov-selling__ptac-logo {
  display: block;
  justify-self: end;
}
.content-body--selling-to-the-government .gov-selling__ptac-logo img {
  width: 100%;
  max-width: 220px;
  height: auto;
  object-fit: contain;
}
.content-body--selling-to-the-government .gov-selling__pillars {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  margin: 2.5rem 0 3rem;
}
.content-body--selling-to-the-government .gov-selling__pillar {
  text-align: center;
}
.content-body--selling-to-the-government .gov-selling__pillar h2 {
  margin-top: 1rem;
}
.content-body--selling-to-the-government .gov-selling__pillar p {
  text-align: left;
}
.content-body--selling-to-the-government .gov-selling__pillar-icon {
  display: block;
  width: 120px;
  height: auto;
  margin: 0 auto 1rem;
  object-fit: contain;
}
.content-body--selling-to-the-government .gov-selling__contracting {
  text-align: center;
  margin-top: 2rem;
  padding-top: 1rem;
}
.content-body--selling-to-the-government .gov-selling__contracting h2,
.content-body--selling-to-the-government .gov-selling__contracting p {
  text-align: left;
}
.mailing-band__inner--stack h2 {
  color: #fff;
  margin: 0;
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  text-transform: uppercase;
  letter-spacing: .1em;
  font-weight: 700;
}

.staff-inline {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 1.5rem;
  align-items: center;
  margin: 2rem auto 0;
  max-width: 36rem;
  text-align: left;
}
.staff-inline__photo {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  object-fit: cover;
}
/*
  /apex/ visual bands (child-countable seams). LIVE scan:
  S2 white → S3 gray (#e2e2e2) → S4 white → S5 gray → footer.
  If help+form+stats are the same color, agents will under-count sections.
*/
.apex-band--white { background: #fff; }
.apex-band--gray { background: #e2e2e2; }
/* Apex S2 — match LIVE computed type (Pass C): 25px / 48.75 / w500 */
.apex-intro {
  padding-top: 92px;
  padding-bottom: 44px;
}
.apex-intro__wrap {
  max-width: 1152px;
  margin: 0 auto;
}
.apex-intro__prose {
  max-width: 954px;
  margin: 0 auto 2.5rem;
  text-align: center;
}
.apex-intro__prose p,
.staff-inline--apex .staff-inline__body p {
  margin: 0;
  font-size: 25px;
  line-height: 48.75px;
  font-weight: 500;
  color: #666;
  font-family: Lato, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.staff-inline--apex {
  max-width: 954px;
  margin: 0 auto;
  gap: 2rem;
  align-items: center;
  grid-template-columns: 150px minmax(0, 1fr);
}
.staff-inline--apex .staff-inline__photo {
  width: 150px;
  height: 150px;
}
.staff-inline--apex .staff-inline__body {
  text-align: left;
}
.staff-inline--apex .staff-inline__body p { text-align: left; }
.apex-bio__cta {
  margin: 2rem 0 0;
  text-align: center;
}
.apex-bio__cta .btn--ghost {
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 700;
  font-size: 20px;
  line-height: 34px;
  border-width: 2px;
  padding: .55rem 1.35rem;
}
.apex-help { padding-top: 2.75rem; padding-bottom: 3.25rem; }
.apex-help__title {
  text-align: center;
  margin: 0 0 2rem;
  color: #333;
  font-size: 32px;
  line-height: 32px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: normal;
}
.apex-help .tib {
  align-items: start;
  gap: 2.5rem;
  max-width: 1152px;
  margin: 0 auto;
}
/* LIVE help image paints ~350×234 */
.apex-help .tib__img {
  max-width: 350px;
}
.apex-help .tib__img img {
  width: 350px;
  max-width: 100%;
  height: 234px;
  aspect-ratio: auto;
  object-fit: cover;
  border-radius: 0;
}
.apex-help__kicker {
  margin: 0 0 .85rem;
  letter-spacing: .04em;
}
.apex-help__list {
  margin: .75rem 0 0;
  padding-left: 1.15rem;
}
.apex-help__list li {
  margin: 0 0 .35rem;
  line-height: 1.45;
}
/* Apex S4 — LIVE Gravity ~1132px, title 38px left #333, inputs ~49px #eee */
.form-section-block--apex {
  background: #fff;
  padding-top: 58px;
  padding-bottom: 58px;
}
.apex-form__wrap {
  max-width: 1132px;
  margin: 0 auto;
  padding: 0;
}
.form-section-block--apex .static-form--gravity,
.form-section-block--apex .static-form--gravity-compact {
  background: transparent;
  padding: 0;
  max-width: none;
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
}
.form-section-block--apex .static-form--gravity h2,
.form-section-block--apex .static-form--gravity-compact h2 {
  text-align: left;
  margin: 0 0 1.5rem;
  font-size: 38px;
  line-height: 38px;
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
  color: #333;
}
.form-section-block--apex .form-section {
  text-align: left;
  margin: 1.1rem 0 .35rem;
  font-size: 14px;
  font-weight: 400;
  color: #666;
  letter-spacing: normal;
  text-transform: none;
}
.form-section-block--apex .static-form--gravity .form-row,
.form-section-block--apex .static-form--gravity-compact .form-row {
  margin-bottom: .55rem;
}
.form-section-block--apex .static-form--gravity .form-row input,
.form-section-block--apex .static-form--gravity .form-row select,
.form-section-block--apex .static-form--gravity .form-row textarea,
.form-section-block--apex .static-form--gravity-compact .form-row input,
.form-section-block--apex .static-form--gravity-compact .form-row select,
.form-section-block--apex .static-form--gravity-compact .form-row textarea {
  background: #eee;
  border: 1px solid #ddd;
  border-radius: 0;
  min-height: 49px;
  padding: .65rem .75rem;
  font-size: 14px;
}
.form-section-block--apex .static-form--gravity .form-row textarea,
.form-section-block--apex .static-form--gravity-compact .form-row textarea {
  min-height: 288px;
}
.form-section-block--apex .static-form--gravity .btn--primary,
.form-section-block--apex .static-form--gravity-compact .btn--primary {
  margin-top: .75rem;
  min-width: 114px;
  font-size: 20px;
  line-height: 1.2;
  padding: .45rem 1.25rem;
  border-radius: 0;
  background: var(--navy);
}
.apex-band--gray.stat-band--quiet,
.stat-band--quiet {
  background: #e2e2e2 !important;
  padding-top: 3.5rem;
  padding-bottom: 3.75rem;
}
.stat-band--quiet .stat-band__heading,
.stat-band--quiet h2 {
  color: #333 !important;
  font-size: 32px;
  line-height: 1.15;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
.stat-band--quiet .stat__value {
  font-size: clamp(2.2rem, 3.5vw, 3rem);
  font-weight: 700;
  color: #333;
}
.stat-band--quiet .stat__label {
  font-size: 17px;
  font-weight: 500;
  color: #666;
  text-transform: none;
  letter-spacing: normal;
}
.story-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 1.5rem;
}
.story-card {
  display: block;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid var(--line);
}
.story-card img { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.story-card__title {
  display: block;
  padding: .75rem 1rem 1rem;
  font-weight: 700;
  color: var(--navy);
  text-align: center;
}
.fadc-resources h2,
.resource-band__title {
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin: 0 0 1.75rem;
  background: var(--bg-alt);
  padding: .85rem 1.25rem;
}
.fadc-resources h2 { color: var(--navy); }
/*
  [MARK 2026-08-11] /resources/ + /resources-2/: confirmed against LIVE's raw markup
  (h2/h5 headings, no per-element color override, so they inherit the theme's plain
  h1-h6{color:#333} rule) that these section headings are dark gray/black, not navy.
  .resource-card__body h3 (the individual card titles below) had the same navy mistake.
*/
.resource-band__title { color: #333; }
/* higher-specificity + plain-modifier scoped: a later, lower-specificity
   .resource-card__body h3{color:var(--navy)} rule further down would otherwise win by
   source order, and fadc-resources' cards share the same .resource-card-grid ancestor
   class so an unscoped override here would also leak into that page. */
.resource-card-grid--plain .resource-card__body h3 { color: #333; }

.fadc-logos {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin: 0 0 2rem;
  flex-wrap: wrap;
}
.fadc-logos img { width: 140px; height: 140px; object-fit: contain; border-radius: 50%; }
.fadc-intro__copy { text-align: center; margin: 0 auto; max-width: 58rem; }
.fadc-mailing { background: var(--bg-alt); }
.fadc-mailing__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(200px, .8fr);
  gap: 2rem;
  align-items: start;
}
.fadc-mailing__contact { text-align: center; }
.fadc-mailing__contact img { margin: 0 auto 1rem; display: block; }

.resource-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}
.resource-card-grid--tight { gap: 1.25rem; }
/* confirmed against LIVE that resources-2's Site Selector/Investment Portal band is a real
   2-column row, distinct from the 3-column GIS band below it — see renderers/resource-index.mjs */
.resource-card-grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.resource-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--line);
  overflow: hidden;
  height: 100%;
}
.resource-card__media img {
  display: block;
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
}
.resource-card__body {
  padding: 1.15rem 1.25rem 1.4rem;
  display: flex;
  flex-direction: column;
  gap: .75rem;
  flex: 1;
}
.resource-card__body h3 {
  margin: 0;
  color: var(--navy);
  font-size: 1.05rem;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.resource-card__body p { margin: 0; color: var(--ink); flex: 1; }
.resource-card__body .btn { align-self: flex-start; border-radius: 0; margin-top: auto; }
.resource-band--alt { background: var(--bg-alt); }
.resource-band--gray { background: #e6e6e6; }
.resource-band--dark {
  background: #2f3640;
  color: #fff;
}
.resource-band--dark h2,
.resource-band--dark p { color: #fff; }
.resource-band--dark .tib { align-items: center; }
/*
  2026-08-11: LIVE never boxes these list items — plain centered heading/text/button, no
  border/background/shadow. Added as a modifier rather than changing .resource-card itself,
  since program-detail.mjs's fadc-resources section depends on the boxed look. See
  renderers/resource-index.mjs.
*/
.resource-card-grid--plain .resource-card {
  background: transparent;
  border: none;
  text-align: center;
  align-items: center;
}
.resource-card-grid--plain .resource-card__body {
  align-items: center;
}
.resource-card-grid--plain .resource-card__body .btn {
  align-self: center;
}
.live-work-play__kicker {
  padding: 0 0 2rem;
  text-align: center;
}
.live-work-play__kicker p {
  margin: 0;
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--navy);
}
.live-work-play__contact {
  padding: 3.5rem 0;
}
.live-work-play__accolades h5 {
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8;
  color: #333;
  margin: 0 0 1.5rem;
}
.live-work-play__accolades h5:last-child { margin-bottom: 0; }
.resources-quote {
  margin: 0;
  max-width: none;
  text-align: left;
  border: 0;
  color: var(--ink);
  font-size: 1.05rem;
  line-height: 1.65;
}
.resources-quote footer { margin-top: 1.25rem; font-style: normal; color: var(--navy); }
.resources-testimonial {
  /* 2026-08-11: LIVE has no band-color change here, sits directly in the white intro zone. */
  background: transparent;
  padding: 4.5rem 0;
}
.resources-testimonial__inner {
  display: grid;
  grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
  gap: 2.5rem;
  align-items: center;
  max-width: 52rem;
  margin: 0 auto;
}
.resources-testimonial__media img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 2px;
}
/* confirmed centered (text-align:center inline style) against LIVE's raw HTML on both
   /resources/ and /resources-2/ — .prose alone doesn't center text, only constrains width. */
.resources-intro { padding-top: 3.5rem; padding-bottom: 2rem; text-align: center; }
.resources-intro .prose { margin-left: auto; margin-right: auto; }
.resource-band { padding-top: 4.5rem; padding-bottom: 4.5rem; }

/* Round 8 — forestry CTA row + WELL 3-col pillars */
.program-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem 1rem;
  margin: 2rem 0 1.5rem;
  justify-content: flex-start;
}
.program-cta-row .btn {
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: .85rem;
}
.forestry-intro { padding-top: 5rem; padding-bottom: 4rem; }
.forestry-cwdg { padding-top: 4rem; padding-bottom: 4.5rem; }
.forestry-cwdg__logo {
  text-align: center;
  margin: 0 0 1.5rem;
}
.forestry-cwdg__logo img {
  width: 160px;
  height: auto;
  object-fit: contain;
}
.forestry-cwdg h2 {
  text-align: center;
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: .06em;
}
.forestry-cwdg__cta { text-align: center; margin: 2rem 0; }
.forestry-trim {
  margin: 2rem auto;
  max-width: 52rem;
  text-align: center;
}
.forestry-trim img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 2px;
}
.forestry-trim figcaption {
  margin-top: .65rem;
  font-size: .9rem;
  color: var(--ink);
}
.forestry-thanks {
  display: grid;
  gap: 1rem;
  justify-items: center;
  text-align: center;
  margin: 2.5rem 0 0;
}
.forestry-thanks__logo {
  width: min(320px, 100%);
  height: auto;
}

/*
  SpotTheDiff /well-womens-business-center/ Pass D (2026-08-09):
  LIVE et_pb_section_0: grey wedge @ 49%, NO eyebrow, h1 65/78 w300 dual line;
  S2 white intro 25/48.75; S3 gray chevron ABOUT; S4 white 3-col; S5 gray spacer; SBA.
*/
.page-hero--well-womens-business-center {
  min-height: 552px;
  padding: 110px 0;
  background-position: center center;
  justify-content: center;
}
.page-hero.page-hero--well-womens-business-center::before {
  background: linear-gradient(105deg, rgba(64, 64, 64, .74) 0%, rgba(64, 64, 64, .74) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--well-womens-business-center .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--well-womens-business-center .hero-content {
  flex: 0 1 auto;
  width: min(56rem, 80%);
  max-width: 56rem;
  margin: 0;
  margin-right: auto;
  text-align: left;
}
.page-hero--well-womens-business-center h1 {
  max-width: none;
  margin: 0;
  font-weight: 300;
  font-size: 65px;
  line-height: 78px;
  letter-spacing: 0;
  text-align: left;
  color: #fff;
  text-transform: uppercase;
}
.page-hero--well-womens-business-center h1 strong {
  font-weight: 700;
}
.well-intro-white {
  padding-top: 92px;
  padding-bottom: 44px;
  background: #fff;
}
.well-intro-white__copy {
  max-width: none;
  margin: 0 auto;
  text-align: center;
}
.well-intro-white__copy p {
  margin: 0;
  font-size: 25px;
  line-height: 48.75px;
  font-weight: 500;
  color: #666;
}
.well-about-gray {
  background: rgba(230, 230, 230, 0.5);
  padding: 96px 0 17px;
  clip-path: polygon(0 2.75rem, 50% 0, 100% 2.75rem, 100% calc(100% - 2.75rem), 50% 100%, 0 calc(100% - 2.75rem));
}
.well-about-gray__inner {
  max-width: none;
  margin: 0 auto;
  text-align: center;
}
.well-about__heading {
  margin: 0 0 1.5rem;
  font-size: 20px;
  line-height: 1.35;
  font-weight: 700;
  color: #333;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.well-about-gray__inner > p {
  margin: 0 0 1.25rem;
  font-size: 25px;
  line-height: 48.75px;
  font-weight: 500;
  color: #666;
}
.well-about__list {
  list-style: none;
  margin: 2rem auto 2.5rem;
  padding: 0;
  text-align: center;
}
.well-about__list li {
  margin: .65rem 0;
  font-size: 20px;
  line-height: 1.4;
  font-weight: 700;
  color: #333;
  text-transform: uppercase;
}
.well-about__list li::before {
  content: "\2022";
  margin-right: .35rem;
}
.well-about__cta {
  margin: 2rem 0 0;
  text-align: center;
}
.well-about__cta .btn {
  font-size: 25px;
  line-height: 42.5px;
  font-weight: 700;
  padding: .65rem 1.75rem;
  border-radius: 0;
}
.well-pillars {
  padding-top: 57.6px;
  padding-bottom: 57.6px;
  background: #fff;
}
.well-pillars__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.5rem;
  align-items: stretch;
}
.well-pillar {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  text-align: center;
  padding: 0;
  background: transparent;
  border: none;
  min-height: 0;
}
.well-pillar__title {
  margin: 0;
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: 20px;
  line-height: 1.35;
  font-weight: 700;
}
.well-pillar p {
  margin: 0;
  flex: 1;
  color: #666;
  line-height: 32.3px;
  font-size: 17px;
  font-weight: 500;
  text-align: center;
}
.well-pillar .btn {
  align-self: center;
  border-radius: 0;
  margin-top: auto;
  font-size: 25px;
  line-height: 42.5px;
  font-weight: 700;
  padding: .65rem 1.5rem;
}
.well-help {
  text-align: center;
  margin: 3rem 0 0;
  color: #666;
  font-size: 17px;
  line-height: 32.3px;
  font-weight: 500;
}
.well-sba { padding-top: 57.6px; padding-bottom: 57.6px; background: #fff; }
.well-sba__inner {
  display: grid;
  grid-template-columns: minmax(180px, 280px) minmax(0, 1fr);
  gap: 2.5rem;
  align-items: center;
  max-width: 58rem;
  margin: 0 auto;
}
.well-sba__logo {
  width: 100%;
  height: auto;
  max-height: 120px; /* Round 9 SBA mass */
  object-fit: contain;
}
.well-sba__inner p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--ink);
}

.payment-section h2 { color: var(--navy); text-transform: uppercase; letter-spacing: .04em; }
.payment-inline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: stretch;
  margin: 1.25rem 0;
  max-width: 42rem;
}
.payment-inline__field { margin: 0; }
.payment-inline__field input {
  min-height: 3rem;
  background: #eef1f5;
  border: 1px solid #d0d7e2;
  border-radius: 0;
}
.payment-inline .btn--ghost {
  border-color: var(--navy);
  color: var(--navy);
  align-self: stretch;
  display: inline-flex;
  align-items: center;
}
.payment-note { color: var(--ink); margin: 1rem 0 1.75rem; }
.payment-lead { margin: 2rem 0 1rem; color: var(--navy); }
.payment-help__name {
  font-weight: 900;
  letter-spacing: .08em;
  margin: 1rem 0 .25rem;
  color: #fff;
}
.payment-help a,
.payment-help__link {
  color: #a9c6ff;
  text-decoration: underline;
}
.payment-help a:hover,
.payment-help__link:hover { color: #fff; }

.dbim-band { padding: 9.5rem 0; } /* Round 9 home geometric mass */
.get-started-band { padding: 9.5rem 0 10rem; }
.photo-band { min-height: 820px; }
.photo-band--nw-light { min-height: 820px; }
.wwl-mosaic__cell { min-height: 360px; }
.members-tier { margin-bottom: 3rem; }
.members-become { padding-top: 7.5rem; padding-bottom: 7.5rem; }
/* SpotTheDiff /fire/ 2026-08-10: live metrics live under .content-body--fire above.
   Retired Round 7/8 .fire-intro padding theater (was 6.5/7.5rem). */
.fadc-intro { padding-top: 6.5rem; padding-bottom: 4.5rem; }
.fadc-resources { padding-top: 5.5rem; padding-bottom: 6rem; }
.resources-intro { padding-top: 5rem; padding-bottom: 3.5rem; }
.resource-band { padding-top: 5.5rem; padding-bottom: 5.5rem; }
.resource-card__media img { aspect-ratio: 16/11; min-height: 220px; }
.resource-card__body { padding: 1.75rem 1.5rem 2rem; gap: 1rem; }
.resource-card__body h3 { font-size: 1.15rem; }
.resource-card__body p { line-height: 1.7; }
.embed-directory { padding-top: 3.5rem; padding-bottom: 5rem; }
.embed-directory__panel {
  max-width: 44rem;
  margin: 0 auto;
  text-align: center;
  padding: 2.5rem 2rem 3rem;
  background: var(--bg-alt);
  border: 1px solid var(--line);
}
.embed-directory__eyebrow {
  margin: 0 0 .5rem;
  color: var(--navy);
  font-size: .8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.embed-directory__heading {
  margin: 0 0 1rem;
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: .06em;
}
.embed-directory__blurb {
  margin: 0 auto 1.75rem;
  max-width: 40rem;
  color: var(--ink);
  line-height: 1.65;
}
.embed-directory__cta { margin: 0; }
.embed-directory__cta .btn { border-radius: 0; }

/* ── members page (R1 density + R2 order + R3 Ponderosa 2×2 / roster rhythm) ── */
.members-intro__inner { max-width: 64rem; margin: 0 auto; text-align: center; }
.members-intro__inner > p:first-of-type {
  color: var(--navy);
  font-size: 1.2rem;
  font-weight: 700;
  max-width: 48rem;
  margin: 0 auto 1rem;
}
.members-intro__inner > p { color: var(--ink); margin: 0 auto 1rem; max-width: 52rem; }
.members-cta-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin: 2rem 0 2.25rem;
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
}
.members-trees { padding-bottom: 1.5rem; }
.members-trees .members-tree-row { margin-bottom: 0; }
.members-quote {
  margin: 2rem auto 0;
  max-width: 40rem;
  padding: 0;
  border: 0;
  color: var(--ink);
}
.members-quote p { font-style: italic; margin: 0 0 .75rem; }
.members-quote footer { display: flex; flex-direction: column; gap: .15rem; font-style: normal; }
.members-quote strong { color: var(--ink-strong); }
.members-section-title { text-align: center; margin: 0 0 1.5rem; }
.members-benefits-chart { margin: 0 auto 2.5rem; max-width: 100%; }
.members-benefits-chart img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: var(--radius);
}
.members-tree-row {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1rem 1.25rem;
  align-items: end;
  margin: 0 0 3.25rem;
}
.members-tree { text-align: center; }
.members-tree img {
  display: block;
  width: 100%;
  max-width: 140px;
  height: auto;
  margin: 0 auto .65rem;
  aspect-ratio: 1280 / 1656;
  object-fit: contain;
}
.members-tree__placeholder {
  display: block;
  width: 88px;
  height: 110px;
  margin: 0 auto .65rem;
  border: 2px dashed var(--line);
  border-radius: var(--radius);
  background: var(--bg-alt);
}
.members-tree__level,
.members-tree__name,
.members-tree__note { margin: 0; color: var(--ink-strong); }
.members-tree__level { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--navy); }
.members-tree__name { font-weight: 900; margin-top: .2rem; }
.members-tree__note { font-size: .85rem; color: var(--ink); margin-top: .15rem; }
.members-all-receive { max-width: 52rem; margin: 0 auto; }
.members-all-receive h3 {
  text-align: center;
  color: var(--navy);
  font-size: 1rem;
  letter-spacing: .08em;
  margin: 0 0 1rem;
}
.members-all-receive__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .35rem 2rem;
  margin: 0;
  padding-left: 1.2rem;
  color: var(--ink);
}
.members-tier { margin: 0 0 10rem; } /* Round 9 roster rhythm → LIVE members height */
.members-tier__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  margin: 0 0 1.25rem;
}
.members-tier__head img { width: 56px; height: auto; object-fit: contain; }
.members-tier__head h3 { margin: 0; color: var(--navy); }
/* LIVE Ponderosa silhouette: large centered tree + title, then 2×2 logo cards */
.members-tier__head--ponderosa {
  flex-direction: column;
  gap: 1rem;
  margin: 0 0 2rem;
}
.members-tier__head--ponderosa img {
  width: 180px;
  max-width: 40vw;
  height: auto;
}
.members-tier__head--ponderosa h3 {
  font-size: 1.05rem;
  letter-spacing: .08em;
}
.members-tier__empty { text-align: center; color: var(--ink); font-size: .95rem; }
/*
  [MARK 2026-08-11] Douglas Fir / Larch / Aspen — confirmed against LIVE's raw HTML that
  these 3 tiers share one row (et_pb_column_1_3 × 3), icon stacked above heading within each
  narrow column, roster below as a single-column list. See renderers/program-overview.mjs.
*/
.members-tier-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.5rem;
  margin: 0 0 10rem;
}
.members-tier-row__col .members-tier__head {
  flex-direction: column;
  gap: .5rem;
}
.members-name-grid--1col { grid-template-columns: 1fr; text-align: center; }
.members-name-grid--2col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 900px) {
  .members-tier-row { grid-template-columns: 1fr; gap: 3rem; }
}
.members-logo-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem 1.75rem;
  align-items: stretch;
}
.members-logo-grid--ponderosa {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem 3rem;
  max-width: 52rem;
  margin: 0 auto;
}
.members-logo-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: .75rem;
  min-height: 160px;
  padding: 1.25rem 1rem 1rem;
  text-decoration: none;
  background: var(--bg-alt);
  border-radius: var(--radius);
}
.members-logo-grid--ponderosa .members-logo-card {
  min-height: 220px;
  padding: 2rem 1.5rem 1.5rem;
  gap: 1rem;
}
.members-logo-card img {
  max-width: 100%;
  max-height: 88px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.members-logo-grid--ponderosa .members-logo-card img {
  max-height: 120px;
  max-width: 85%;
}
.members-logo-card__caption {
  margin: 0;
  text-align: center;
  color: var(--navy);
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.35;
  text-transform: none;
  letter-spacing: normal;
}
.members-logo-grid--ponderosa .members-logo-card__caption {
  font-size: .95rem;
}
.members-name-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem 1.75rem;
}
.members-name-grid a { color: var(--navy); text-decoration: none; font-weight: 700; }
.members-name-grid a:hover { text-decoration: underline; }
.members-become__lead { max-width: 40rem; }
.members-help__inner { max-width: 40rem; }
.members-help__inner a { color: #fff; text-decoration: underline; }
.members-help__name { font-weight: 900; letter-spacing: .06em; margin: 1rem 0 .35rem; }

/* ── footer ──────────────────────────────────────────────────────────────────── */
.site-footer { background: #404040; color: #fff; margin-top: 2rem; }
.site-footer__inner { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 2.5rem; padding: 4rem 1.25rem 3.5rem; align-items: start; }
.footer-org__name { font-weight: 900; color: #fff; margin: 0 0 .5rem; }
.footer-org__logo { display: inline-block; margin: 0 0 1rem; }
.footer-org__mark { display: block; height: 40px; width: auto; max-width: 180px; object-fit: contain; }
.site-footer address { font-style: normal; line-height: 1.8; color: #fff; }
.footer-col h4 { color: #fff; margin: 0 0 .6rem; font-size: .95rem; }
.footer-col a { display: block; color: #fff; text-decoration: none; padding: .2rem 0; font-weight: 700; }
.footer-col a:hover { color: #cfe0ff; }
.site-footer a { color: #fff; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.12); font-size: .82rem; padding: .9rem 0; background: rgba(0,0,0,.18); }
.footer-bottom__inner {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
}
.footer-socials {
  list-style: none; margin: 0; padding: 0;
  display: flex; align-items: center; gap: .85rem;
}
.footer-social {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.35rem; height: 1.35rem;
  color: #fff; text-decoration: none;
  background: currentColor;
  mask-size: contain; mask-repeat: no-repeat; mask-position: center;
  -webkit-mask-size: contain; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center;
}
.footer-social--facebook {
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M14 8h3V4h-3c-2.2 0-4 1.8-4 4v2H7v4h3v8h4v-8h3.1l.9-4H14V8z'/></svg>");
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M14 8h3V4h-3c-2.2 0-4 1.8-4 4v2H7v4h3v8h4v-8h3.1l.9-4H14V8z'/></svg>");
}
.footer-social--youtube {
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M23.5 6.2a3 3 0 0 0-2.1-2.1C19.5 3.5 12 3.5 12 3.5s-7.5 0-9.4.6A3 3 0 0 0 .5 6.2 31.5 31.5 0 0 0 0 12a31.5 31.5 0 0 0 .5 5.8 3 3 0 0 0 2.1 2.1c1.9.6 9.4.6 9.4.6s7.5 0 9.4-.6a3 3 0 0 0 2.1-2.1A31.5 31.5 0 0 0 24 12a31.5 31.5 0 0 0-.5-5.8zM9.8 15.5v-7L16 12l-6.2 3.5z'/></svg>");
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M23.5 6.2a3 3 0 0 0-2.1-2.1C19.5 3.5 12 3.5 12 3.5s-7.5 0-9.4.6A3 3 0 0 0 .5 6.2 31.5 31.5 0 0 0 0 12a31.5 31.5 0 0 0 .5 5.8 3 3 0 0 0 2.1 2.1c1.9.6 9.4.6 9.4.6s7.5 0 9.4-.6a3 3 0 0 0 2.1-2.1A31.5 31.5 0 0 0 24 12a31.5 31.5 0 0 0-.5-5.8zM9.8 15.5v-7L16 12l-6.2 3.5z'/></svg>");
}
.footer-social--instagram {
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7zm5 3.5A4.5 4.5 0 1 1 7.5 12 4.5 4.5 0 0 1 12 7.5zm0 2A2.5 2.5 0 1 0 14.5 12 2.5 2.5 0 0 0 12 9.5zM17.8 6.2a1.1 1.1 0 1 1-1.1 1.1 1.1 1.1 0 0 1 1.1-1.1z'/></svg>");
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7zm5 3.5A4.5 4.5 0 1 1 7.5 12 4.5 4.5 0 0 1 12 7.5zm0 2A2.5 2.5 0 1 0 14.5 12 2.5 2.5 0 0 0 12 9.5zM17.8 6.2a1.1 1.1 0 1 1-1.1 1.1 1.1 1.1 0 0 1 1.1-1.1z'/></svg>");
}
.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}

/* ── PHASE 2 stubs (replaced per-family in Phase 2; placeholders listed for completeness) ── */
/* program-overview + program-detail: sidebar nav + section tabs → Phase 2 */
/*
  SpotTheDiff /peer/ hero = LIVE et_pb_section_0:
  navy wedge @ 49%, H1 75/1.2 w300, four-line PeerSpectives title.
*/
.page-hero--peer-roundtable {
  min-height: 400px;
  padding: 110px 9px 110px 0;
  background-position: center center;
  justify-content: center;
}
.page-hero--peer-roundtable .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  margin-left: 133px;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--peer-roundtable .hero-content {
  flex: 0 1 auto;
  width: min(99.8%, 72rem);
  max-width: 72rem;
  margin: 0;
  text-align: left;
}
.page-hero--peer-roundtable h1 {
  max-width: none;
  margin: 0;
  font-weight: 300;
  font-size: 75px;
  line-height: 1.2em;
  letter-spacing: 0;
  text-align: left;
  color: #fff;
  text-transform: uppercase;
}
/* peer-roundtable: leader bios + cohort cards → Phase 2 */
/* training-detail: schedule table + event-info card → Phase 2 */
/* event-reg-form: multi-step form + Turnstile → Phase 2 */
/* resource-index: filterable resource cards → Phase 2 */
/* event-invite: invite card + RSVP → Phase 2 */
/* about: staff cards + board roster grid → Phase 2 */
/* members: tier cards + benefits table + directory + commerce form → Phase 2 */
/* contact: contact card + map embed + form → Phase 2 */
/* legal: standard prose → Phase 2 */
/* event-announcement: event card + commerceStub → Phase 2 */
/*
  SpotTheDiff /masterclass-series/ Pass D (2026-08-09):
  LIVE et_pb_section_0: navy wedge @ 49%, dual h1 @ 75px/1.2, h5 kicker;
  S2 gray #e6e6e6 intro; body 17px/32.3 w500; track h5 center; session h6.
*/
.page-hero--masterclass-series {
  min-height: 529px;
  padding: 110px 9px 110px 0;
  background-position: center center;
  justify-content: center;
}
.page-hero.page-hero--masterclass-series::before {
  background: linear-gradient(105deg, rgba(4, 57, 128, .66) 0%, rgba(4, 57, 128, .66) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--masterclass-series .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  margin-left: 133px;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--masterclass-series .hero-content {
  flex: 0 1 auto;
  width: min(99.8%, 72rem);
  max-width: 72rem;
  margin: 0;
  text-align: left;
}
.page-hero.page-hero--masterclass-series h1 {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 75px;
  line-height: 1.2em;
  letter-spacing: 0;
  font-weight: 300;
  text-transform: uppercase;
  text-align: left;
}
.page-hero--masterclass-series .masterclass-hero-kicker {
  margin: 0;
  font-size: 23px;
  font-weight: 300;
  line-height: 1.8em;
  letter-spacing: 11px;
  text-transform: uppercase;
  color: #fff;
}
/*
  [MARK 2026-08-11] this was gray/92px-81px padding from the pre-rewrite flat single-column
  intro (see the 2026-08-11 note below at .content-body--masterclass) — confirmed against
  LIVE's raw HTML that the intro/bio row (et_pb_section_2) has no et_pb_with_background
  class, i.e. it's plain white; only the photo band below it (et_pb_section_3) is gray. The
  stale background here was making both bands gray, with a visible white seam between them.
*/
.masterclass-intro {
  background: #fff;
  padding: 4rem 0 2.5rem;
}
.masterclass-intro .prose p {
  margin: 0 0 1em;
  font-size: 17px;
  line-height: 32.3px;
  font-weight: 500;
  color: #666;
  text-align: left;
}
/*
  /mmec-gmp/, /mmec-pcqi/, /mmec-haccp/ — added 2026-08-11. LIVE runs the course body and a
  navy instructor sidebar as two columns, then the MMEC boilerplate in its own light-grey
  band; the clone previously flattened all of it into one column. See training-detail.mjs.
*/
.training-detail__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
  gap: 2rem 2.5rem;
  align-items: start;
}
.training-detail__sidebar {
  background: var(--navy);
  color: #fff;
  padding: 1.5rem;
}
.training-detail__sidebar-name {
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin: 0 0 1rem;
  color: #fff;
}
.training-detail__sidebar img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 1rem;
}
.training-detail__sidebar p {
  color: #fff;
  font-size: .95rem;
  line-height: 1.6;
}
.content-body--training-detail-mission {
  background: var(--bg-alt);
  padding: 3rem 0;
}
.content-body--training-detail-mission .prose--center {
  text-align: center;
}
@media (max-width: 900px) {
  .training-detail__layout {
    grid-template-columns: 1fr;
  }
}
/*
  2026-08-11: rebuilt as real two-column modules (masterclass-intro__cols brand+bio,
  masterclass-course__cols details+cost/register per course) instead of one flat prose
  column — LIVE runs both as genuine side-by-side columns. See renderers/system.mjs
  makeMasterclassIndex(). .content-body--masterclass is now applied per-section (once per
  track intro, once per course card) rather than once around everything, so the old
  single-section padding is replaced with tight per-section spacing + a divider rule
  matching LIVE's compact stacked card list.
*/
.content-body--masterclass {
  padding-top: 0;
  padding-bottom: 0;
}
.masterclass-track { padding: 3rem 0 0.5rem; }
.masterclass-course { padding: 1.75rem 0; border-top: 1px solid var(--line); }
.masterclass-track:first-of-type { padding-top: 4rem; }
.masterclass-track + .masterclass-course { border-top: none; }
/* course headings render outside .prose (they sit above the two-column split, not inside
   either column), so they need the same h6 treatment without requiring a .prose ancestor. */
.content-body--masterclass .wrap > h6 {
  margin: 0 0 1rem;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.4em;
  text-transform: uppercase;
  color: #333;
}
.masterclass-course__cols {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 1rem 3rem;
  align-items: start;
}
.masterclass-course__aside .prose-cta { text-align: left; margin-top: 0.5rem; }
@media (max-width: 900px) {
  .masterclass-course__cols { grid-template-columns: 1fr; }
}
.masterclass-intro__cols {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 2rem 3rem;
  align-items: center;
}
.masterclass-intro__brand img { max-width: 300px; height: auto; }
.masterclass-intro-photo { text-align: center; background: #e6e6e6; padding: 0 0 3rem; }
.masterclass-intro-photo img { max-width: 300px; height: auto; margin: 0 auto; border-radius: 0; }
@media (max-width: 900px) {
  .masterclass-intro__cols { grid-template-columns: 1fr; }
}
.masterclass-divider { text-align: center; padding: 1rem 0; }
.masterclass-divider p { margin: 0; }
.content-body--masterclass .prose {
  max-width: none;
  font-size: 17px;
  line-height: 32.3px;
}
.content-body--masterclass .prose p {
  margin-bottom: 1em;
  line-height: 32.3px;
  font-weight: 500;
  color: #666;
}
.content-body--masterclass .prose h5 {
  margin: 2.5rem 0 1rem;
  text-align: center;
  font-size: 23px;
  font-weight: 300;
  line-height: 1.4em;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #333;
}
.content-body--masterclass .prose h6 {
  margin: 1.75rem 0 0.75rem;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.4em;
  text-transform: uppercase;
  color: #333;
}
.content-body--masterclass .prose ul,
.content-body--masterclass .prose ol {
  margin-bottom: 1.25rem;
  margin-top: 0;
  padding-left: 1.25em;
  line-height: 26px;
}
/*
  2026-08-11: field-label paragraphs ("Key Learning Objectives:", "PAST SESSIONS", etc.) were
  getting the same 32.3px line-height + 1em margin as genuine multi-line paragraphs, and the
  list right after each one kept the browser's default top margin on top of that — together
  these made the page render roughly 3x taller than LIVE for the same content. See
  renderers/system.mjs makeMasterclassIndex().
*/
.content-body--masterclass .prose p.field-label {
  margin: 1.25rem 0 .35rem;
  line-height: 1.3;
  font-weight: 700;
  color: #333;
}
.content-body--masterclass .prose p.field-label:first-child {
  margin-top: 0;
}
/* masterclass-index: course catalog grid → Phase 2 */
/* listing-stub / embed-listing-stub / payment / gate / empty-archive → Phase 2 */
.section-stub { border: 2px dashed var(--line); border-radius: var(--radius); padding: 2rem; text-align: center; background: var(--bg-alt); }
.section-stub__label { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #8a94a3; margin-bottom: .5rem; }

/* ── responsive ──────────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .tib { grid-template-columns: 1fr; }
  .tib--image-left .tib__img { order: -1; }
  .tile-grid--cols-4 { grid-template-columns: repeat(2, 1fr); }
  .tile-grid--cols-3 { grid-template-columns: repeat(2, 1fr); }
  .town-grid { grid-template-columns: repeat(2, 1fr); }
  .navy-cta__cols { grid-template-columns: 1fr; gap: 1.5rem; }
  .treasure-state { flex-direction: column; gap: 1rem; }
  .page-hero.page-hero--about::before {
    background: linear-gradient(105deg, rgba(64, 64, 64, .78) 0%, rgba(64, 64, 64, .78) 70%, rgba(0, 0, 0, 0) 70%);
  }
  .get-started__cols { grid-template-columns: 1fr; gap: 1.75rem; }
  .hero-graphic { max-width: 220px; }
  .page-hero.page-hero--home::before {
    background: linear-gradient(105deg, rgba(4, 57, 128, .82) 0%, rgba(4, 57, 128, .66) 75%, rgba(0, 0, 0, 0) 75%);
  }
  .page-hero.page-hero--members::before {
    background: linear-gradient(105deg, rgba(4, 57, 128, .66) 0%, rgba(4, 57, 128, .66) 68%, rgba(0, 0, 0, 0) 68%);
  }
  .page-hero.page-hero--programs::before,
  .page-hero::before {
    background: linear-gradient(105deg, rgba(64, 64, 64, .74) 0%, rgba(64, 64, 64, .74) 68%, rgba(0, 0, 0, 0) 68%);
  }
  .brand__logo { width: 56px; height: 56px; }
  .photo-tiles--cols-3 { grid-template-columns: repeat(2, 1fr); }
  .photo-tile--tall { aspect-ratio: auto; min-height: 320px; }
  .wwl-mosaic { grid-template-columns: repeat(2, 1fr); }
  .town-visit-row { grid-template-columns: repeat(3, 1fr); }
  .program-detail-cols { grid-template-columns: 1fr; gap: 1.75rem; }
  .mission-panels { grid-template-columns: 1fr; }
  .programs-chevron-band,
  .mission-chevron-band { clip-path: none; padding: 2rem 0; }
  .roster-grid--cols-4 { grid-template-columns: repeat(2, 1fr); }
  .members-tree-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .members-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .members-logo-grid--ponderosa { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem; }
  .members-name-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .members-all-receive__list { grid-template-columns: 1fr; }
  .form-row-pair { grid-template-columns: 1fr; }
  .contact-layout,
  .fadc-mailing__layout,
  .staff-inline,
  .story-grid,
  .resource-card-grid,
  .payment-inline,
  .invite-ticket__grid--two,
  .well-pillars__grid,
  .well-sba__inner,
  .resources-testimonial__inner { grid-template-columns: 1fr; }
  .static-form--mailing {
    grid-template-columns: 1fr;
  }
  .static-form--mailing .form-row-pair { display: grid; grid-template-columns: 1fr; }
  .resource-band--dark .tib { grid-template-columns: 1fr; }
  .photo-band { min-height: 360px; }
}
@media (max-width: 600px) {
  .page-hero--photo { min-height: 360px; }
  .page-hero--home { min-height: 480px; }
  .page-hero--members,
  .page-hero--programs { min-height: 300px; padding: 3.25rem 0 2.75rem; }
  .page-hero--about { min-height: 280px; padding: 3.5rem 0 3rem; }
  .page-hero.page-hero--about::before {
    background: linear-gradient(105deg, rgba(64, 64, 64, .78) 0%, rgba(64, 64, 64, .78) 58%, rgba(0, 0, 0, 0) 58%);
  }
  .page-hero.page-hero--home::before {
    background: linear-gradient(105deg, rgba(4, 57, 128, .82) 0%, rgba(4, 57, 128, .66) 53%, rgba(0, 0, 0, 0) 53%);
  }
  .page-hero.page-hero--members::before {
    background: linear-gradient(105deg, rgba(4, 57, 128, .66) 0%, rgba(4, 57, 128, .66) 62%, rgba(0, 0, 0, 0) 62%);
  }
  .page-hero.page-hero--programs::before,
  .page-hero::before {
    background: linear-gradient(105deg, rgba(64, 64, 64, .74) 0%, rgba(64, 64, 64, .74) 62%, rgba(0, 0, 0, 0) 62%);
  }
  .tile-grid--cols-3, .tile-grid--cols-2 { grid-template-columns: 1fr; }
  .town-grid { grid-template-columns: 1fr; }
  .town-photo-strip { grid-template-columns: repeat(2, 1fr); }
  .site-footer__inner { grid-template-columns: 1fr; }
  .util-bar__inner { justify-content: flex-start; gap: 1rem; flex-wrap: wrap; }
  .nav { gap: .55rem .9rem; }
  .nav__dropdown { position: static; box-shadow: none; border: 0; display: none; }
  .hero-graphic-wrap { display: none; }
  .hero-ctas { flex-direction: column; }
  .stats { gap: 2rem; }
  .dbim-band__inner { flex-direction: column; gap: 1rem; }
  .photo-tiles--cols-2, .photo-tiles--cols-3 { grid-template-columns: 1fr; }
  .wwl-mosaic { grid-template-columns: 1fr; }
  .town-visit-row { grid-template-columns: repeat(2, 1fr); }
  .staff-row { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .roster-grid--cols-3, .roster-grid--cols-4 { grid-template-columns: 1fr; }
  .members-tree-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .members-logo-grid,
  .members-logo-grid--ponderosa,
  .members-name-grid { grid-template-columns: 1fr; }
  .members-tier__head--ponderosa img { width: 140px; }
  .members-cta-row { flex-direction: column; align-items: stretch; }
  .photo-band { min-height: 280px; }
}


/* ── SpotTheDiff /libby-peerspectives/ Pass D (2026-08-09) ─────────────────── */
/*
  LIVE et_pb_section_0: grey wedge @ 49%, H1 75/90 w300, no eyebrow, 400px band.
  LIVE et_pb_section_1: single white band — 30/32.3 body, 45/54 h3, 2-col splits, quote box, inline form.
*/
.page-hero--libby-peerspectives {
  min-height: 400px;
  padding: 110px 0;
  background-position: center center;
  justify-content: center;
}
.page-hero.page-hero--libby-peerspectives::before {
  background: linear-gradient(105deg, rgba(64, 64, 64, .74) 0%, rgba(64, 64, 64, .74) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--libby-peerspectives .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--libby-peerspectives .hero-content {
  flex: 0 1 auto;
  width: min(56rem, 80%);
  max-width: 56rem;
  margin: 0;
  margin-right: auto;
  text-align: left;
}
.page-hero--libby-peerspectives h1 {
  max-width: none;
  margin: 0;
  font-weight: 300;
  font-size: 75px;
  line-height: 90px;
  letter-spacing: 0;
  text-align: left;
  color: #fff;
  text-transform: uppercase;
}
.content-body--libby-peerspectives {
  padding-top: 92px;
  padding-bottom: 81px;
}
.content-body--libby-peerspectives .libby__prose {
  max-width: none;
  text-align: center;
}
/*
  [MARK 2026-08-11] the PeerSpectives logo image (a raw markdown ![]() -> <p><img></p>) was
  pinned to the left edge, not centered. .libby__prose's text-align:center only affects
  inline content, but the sitewide `img{display:block}` reset makes every <img> a block box
  with margin-left:0 by default. Give it the same display:block + margin:0 auto treatment
  the site already uses for .libby__logo-row/.libby__lor images, sized to its real intrinsic
  width (confirmed 554x145 against LIVE's own <img width/height>, not the unrelated 300px
  used by those other logos).
*/
.content-body--libby-peerspectives .libby__prose img {
  display: block;
  margin: 0 auto;
  max-width: 554px;
  height: auto;
}
.content-body--libby-peerspectives .libby__prose p {
  font-size: 30px;
  line-height: 32.3px;
  font-weight: 500;
  color: #043980;
  margin-bottom: 1rem;
}
/*
  [MARK 2026-08-11] "What Sets…Apart" and "What to Expect" wrongly inherited the intro
  band's navy/30px treatment via a shared selector — confirmed against LIVE's raw CSS that
  these have no per-module override at all, so they're just plain body text (small, dark
  gray, not navy). Split off with the site's normal prose color/size instead.
*/
.content-body--libby-peerspectives .libby__split__text p {
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 400;
  color: var(--ink);
  margin-bottom: 1rem;
}
.content-body--libby-peerspectives .libby__split__text p strong {
  color: var(--ink-strong);
}
.content-body--libby-peerspectives .libby__prose h3,
.content-body--libby-peerspectives .libby__split__text h3 {
  font-size: 45px;
  line-height: 54px;
  font-weight: 700;
  color: #043980;
  margin: 1.75rem 0 0.85rem;
  text-align: center;
}
.content-body--libby-peerspectives .libby__prose a {
  color: #043980;
}
.content-body--libby-peerspectives .libby__logo-row {
  margin-bottom: 1.5rem;
}
.content-body--libby-peerspectives .libby__logo-row img {
  display: block;
  margin: 0 auto;
  width: 300px;
  height: auto;
}
.content-body--libby-peerspectives .libby__lor {
  margin: 2rem 0;
}
.content-body--libby-peerspectives .libby__lor img {
  display: block;
  margin: 0 auto 0.75rem;
  width: 300px;
  height: auto;
}
.content-body--libby-peerspectives .libby__split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem 2.5rem;
  align-items: start;
  /* [MARK 2026-08-11] `margin: 2.5rem 0` zeroed the horizontal margin the .wrap class (also
     on this same element) sets via `margin: 0 auto` — 2-value shorthand replaces all four
     sides, so this band was pinned flush-left instead of centered like every sibling band.
     Confirmed via live measurement: left offset 0px, right offset 480px at 1600px viewport. */
  margin: 2.5rem auto;
  text-align: left;
}
.content-body--libby-peerspectives .libby__split__text {
  text-align: left;
}
.content-body--libby-peerspectives .libby__split__text h3 {
  text-align: center;
}
.content-body--libby-peerspectives .libby__split__media img {
  display: block;
  width: 100%;
  max-width: 544px;
  height: auto;
  margin: 0 auto;
}
.content-body--libby-peerspectives .libby__bullets {
  list-style: disc;
  padding-left: 1.35rem;
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 400;
  color: var(--ink);
}
.content-body--libby-peerspectives .libby__bullets li {
  margin-bottom: 0.35rem;
}
.content-body--libby-peerspectives .libby__quote,
.content-body--peer-body .libby__quote {
  /* [MARK 2026-08-11] confirmed against LIVE's raw CSS (.et_pb_row_5{background-color:#E6E6E6})
     on all 3 pages (peer, peerspectives, libby-peerspectives) — a plain light-gray band, no
     navy border, no navy text. Was wrongly built as a blue-bordered callout box. */
  background: #e6e6e6;
  padding: 1.75rem 2rem;
  margin: 2.5rem auto;
  max-width: 56rem;
  text-align: left;
}
.content-body--libby-peerspectives .libby__quote p,
.content-body--peer-body .libby__quote p {
  font-size: 20px;
  line-height: 1.6;
  font-weight: 400;
  color: #333;
  margin: 0;
}
.content-body--libby-peerspectives .libby__form-wrap {
  max-width: 1132px;
  margin: 2rem auto 0;
}
.content-body--libby-peerspectives .libby__form-wrap .static-form--gravity-compact {
  background: transparent;
  padding: 0;
  max-width: none;
  width: 100%;
  margin: 0;
  border: 0;
}
.content-body--libby-peerspectives .libby__form-wrap .static-form--gravity-compact h2 {
  text-align: left;
  margin: 0 0 1.25rem;
  font-size: 21.6px;
  line-height: 25.92px;
  font-weight: 900;
  letter-spacing: normal;
  text-transform: uppercase;
  color: #043980;
}
.content-body--libby-peerspectives .libby__form-wrap .form-section {
  text-align: left;
  margin: 1rem 0 0.35rem;
  font-size: 16px;
  font-weight: 900;
  color: #333;
}
.content-body--libby-peerspectives .libby__form-wrap .form-row {
  margin-bottom: 0.45rem;
}
.content-body--libby-peerspectives .libby__form-wrap .form-row input,
.content-body--libby-peerspectives .libby__form-wrap .form-row select,
.content-body--libby-peerspectives .libby__form-wrap .form-row textarea {
  background: #eee;
  border: 1px solid #ddd;
  border-radius: 0;
  min-height: 49px;
  padding: 0.65rem 0.75rem;
  font-size: 14px;
}
.content-body--libby-peerspectives .libby__form-wrap .form-row textarea {
  min-height: 72px;
}
.content-body--libby-peerspectives .libby__form-wrap .form-row--half {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.content-body--libby-peerspectives .libby__form-wrap .form-row-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 0.45rem;
}
.content-body--libby-peerspectives .libby__form-wrap .form-row-pair .form-row {
  margin-bottom: 0;
}
.content-body--libby-peerspectives .libby__form-wrap .btn--primary {
  margin-top: 0.75rem;
  min-width: 114px;
  font-size: 20px;
  line-height: 1.2;
  padding: 0.45rem 1.25rem;
  border-radius: 0;
  background: var(--navy);
}

/* Round 9 members logo rhythm toward LIVE height */
.members-logo-card { min-height: 190px; padding: 1.75rem 1.15rem 1.35rem; }
.members-logo-grid { gap: 2rem 2rem; }
.members-logo-grid--ponderosa .members-logo-card { min-height: 260px; padding: 2.5rem 1.75rem 2rem; }
.members-tree img { max-width: 160px; }
.members-cta-row { margin: 2.75rem 0 3rem; gap: 1.25rem 1.75rem; }

/* SpotTheDiff /financing/ — route-scoped bands (Pass D 2026-08-09, restored 2026-08-10).
   Ported from the cursor/financing-spotdiff-0d3c branch (commits b35799a + 28aa986),
   which never made it into this branch's history — that gap was the actual cause of
   the /financing/ regression Mark flagged against the approved preview a245358c: the
   route-scoped rules below (no background panel, plain dark header, quiet single-row
   stats) simply did not exist here, so financingPage() fell back to the generic
   .static-form--gravity / statBand() styling instead. */
.page-hero--financing {
  min-height: 552px;
  padding: 110px 0;
  background-position: center center;
  justify-content: center;
}
.page-hero.page-hero--financing::before {
  background: linear-gradient(105deg, rgba(64, 64, 64, .74) 0%, rgba(64, 64, 64, .74) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--financing .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--financing .hero-content {
  flex: 0 1 auto;
  width: min(56rem, 80%);
  max-width: 56rem;
  margin: 0;
  margin-right: auto;
  text-align: left;
}
.page-hero--financing h1 {
  max-width: none;
  margin: 0;
  font-weight: 300;
  font-size: 65px;
  line-height: 78px;
  letter-spacing: 0;
  text-align: left;
  color: #fff;
  text-transform: uppercase;
}
.page-hero--financing h1 strong {
  font-weight: 700;
  letter-spacing: 0;
}
.financing-band--white { background: #fff; }
.financing-band--gray { background: #e6e6e6; }
.financing-intro {
  padding-top: 92px;
  padding-bottom: 44px;
}
.financing-intro__wrap {
  max-width: 1152px;
  margin: 0 auto;
}
.financing-intro__prose {
  max-width: 954px;
  margin: 0 auto 2rem;
  text-align: center;
}
.financing-intro__prose p,
.staff-inline--financing .staff-inline__body p {
  margin: 0 0 1.25rem;
  font-size: 25px;
  line-height: 48.75px;
  font-weight: 500;
  color: #666;
  font-family: Lato, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.financing-intro__prose p:last-child { margin-bottom: 0; }
.staff-inline--financing {
  max-width: 954px;
  margin: 2rem auto 0;
  gap: 2rem;
  align-items: center;
  grid-template-columns: 200px minmax(0, 1fr);
}
.staff-inline--financing .staff-inline__photo {
  width: 200px;
  height: 204px;
  border-radius: 50%;
}
.staff-inline--financing .staff-inline__body p {
  margin: 0;
  text-align: left;
  font-size: 25px;
  line-height: 48.75px;
}
/* LIVE's mailto link (measured 2026-08-10): rgb(46,163,242) / #2ea3f2, no underline.
   The shared `a { color: var(--navy); }` base rule plus default UA underline was
   rendering it as a dark underlined link instead. */
.staff-inline--financing .staff-inline__body a {
  color: #2ea3f2;
  text-decoration: none;
}
.financing-stories {
  padding-top: 92px;
  padding-bottom: 44px;
}
.financing-stories__heading {
  margin: 0 0 1.75rem;
  font-size: 32px;
  line-height: 32px;
  font-weight: 700;
  text-align: center;
  color: #333;
  text-transform: uppercase;
  letter-spacing: 0;
}
/* LIVE's story row (measured 2026-08-10): a 954px centered column (same measure as the
   intro prose above it), ~52px gutters, and NO card chrome — the .story-card base rule
   (background:#fff, border) plus .story-card__title (navy, white padded box) is a
   different, unrelated component's styling that only ever gets used here (no other
   route calls .story-card as of this pass), but is overridden route-scoped rather than
   edited at the base in case that changes. LIVE just shows the video thumbnail with
   plain uppercase gray text centered below it, no box. */
.financing-story-grid {
  max-width: 954px;
  margin: 0 auto;
  gap: 52px;
}
.financing-story-grid .story-card {
  background: transparent;
  border: 0;
}
.financing-story-grid .story-card img { aspect-ratio: 16 / 9; }
.financing-story-grid .story-card__title {
  display: block;
  margin-top: 26px;
  padding: 0;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: normal;
  font-size: 18px;
  line-height: 18px;
  font-weight: 700;
  color: #333;
}
.form-section-block--financing {
  background: #fff;
  padding-top: 58px;
  padding-bottom: 58px;
}
.financing-form__wrap {
  max-width: 1132px;
  margin: 0 auto;
  padding: 0;
}
.form-section-block--financing .static-form--gravity,
.form-section-block--financing .static-form--gravity-compact {
  background: transparent;
  padding: 0;
  max-width: none;
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
}
.form-section-block--financing .static-form--gravity h2,
.form-section-block--financing .static-form--gravity-compact h2 {
  text-align: left;
  margin: 0 0 1.5rem;
  font-size: 38px;
  line-height: 38px;
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
  color: #333;
}
/* .form-section-block--financing .form-section rule removed 2026-08-10: LIVE's
   /financing/ form has NO visible field-group label line anywhere (verified against
   the real rendered DOM at 1440 desktop — every group is placeholder-only). The
   financingFields array in renderers/program-detail.mjs no longer emits any
   `section:` entries, so this selector has nothing left to style; kept removed
   rather than dead so a future pass doesn't reintroduce a visible label by mistake. */
.form-section-block--financing .static-form--gravity .form-row,
.form-section-block--financing .static-form--gravity-compact .form-row {
  /* LIVE's real Gravity form (measured 2026-08-10): 16px between distinct fields
     (Name/Business/Address/Email/Phone/Subject/Message), 8px between the sub-rows
     inside the compound Address field (the two Street Address lines). Our field list
     is flat, not grouped, so it can't reproduce both tiers at once; 16px is the closer
     match for 8 of the 9 row boundaries here (the prior .55rem/8.8px undershot every
     boundary except the one genuinely-compound Street/Street pair, which is why the
     whole form rendered visibly more cramped/shorter than LIVE). */
  margin-bottom: 1rem;
}
.form-section-block--financing .static-form--gravity .form-row input,
.form-section-block--financing .static-form--gravity .form-row select,
.form-section-block--financing .static-form--gravity .form-row textarea,
.form-section-block--financing .static-form--gravity-compact .form-row input,
.form-section-block--financing .static-form--gravity-compact .form-row select,
.form-section-block--financing .static-form--gravity-compact .form-row textarea {
  background: #eee;
  border: 1px solid #ddd;
  border-radius: 0;
  min-height: 49px;
  padding: .65rem .75rem;
  font-size: 14px;
}
.form-section-block--financing .static-form--gravity .form-row textarea,
.form-section-block--financing .static-form--gravity-compact .form-row textarea {
  min-height: 288px;
}
.form-section-block--financing .static-form--gravity .btn--primary,
.form-section-block--financing .static-form--gravity-compact .btn--primary {
  margin-top: .75rem;
  min-width: 114px;
  font-size: 20px;
  /* LIVE's real <input type="submit"> (measured 2026-08-10): value text is literally
     "SUBMIT" (raw uppercase, not a CSS transform) and font-weight 400 — the shared .btn
     class's font-weight:700 read visibly heavier/bolder than LIVE's actual button. */
  font-weight: 400;
  text-transform: uppercase;
  line-height: normal;
  padding: 6px 20px;
  border-radius: 3px;
  background: var(--navy);
}
.financing-stats {
  padding-top: 92px;
  padding-bottom: 44px;
  background: #e6e6e6 !important;
}
.financing-stats .stat-band__heading {
  color: #333;
  font-size: 32px;
  line-height: 32px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
.financing-stats .stat__value {
  /* Measured on LIVE via getComputedStyle at true 1440 desktop viewport (2026-08-10):
     35px / 35px line-height / 700, flat (not responsive/clamped). The prior clamp(2.2rem,
     3.5vw, 3rem) maxed out at 48px at this viewport width, which read as noticeably
     larger/bolder than LIVE and wrapped the longer values onto two lines. */
  font-size: 35px;
  line-height: 35px;
  font-weight: 700;
  color: #333;
  text-transform: uppercase;
}
.financing-stats .stat__label {
  font-size: 17px;
  font-weight: 500;
  color: #666;
  text-transform: none;
  letter-spacing: normal;
  line-height: 32.3px;
  white-space: normal;
}
/* Same 954px / 3-col / 52px-gutter measure as .financing-story-grid above (confirmed on
   LIVE: both rows' columns land at the identical left/right pixel offsets at 1440
   desktop). The prior 240px flex-basis was narrower than "$13.59 MILLION" needs at
   35px/700, so it wrapped onto two lines even after the font-size fix. */
.financing-stats .stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 52px;
  max-width: 954px;
  margin: 0 auto;
}
.financing-stats .stat {
  flex: 1 1 279px;
  max-width: 279px;
}

/* ── SpotTheDiff /members/ Pass D (2026-08-09) ─────────────────────────────── */
/*
  LIVE et_pb_section_0: navy wedge, h1 75/90 w300, pad 110, height 460;
  kicker h5-style; intro 30/32.3 navy; trees gray band 127px top; tree imgs 203×262.
*/
.page-hero--members {
  min-height: 460px;
  padding: 110px 0;
  background-position: center center;
  justify-content: center;
}
.page-hero.page-hero--members::before {
  background: linear-gradient(105deg, rgba(4, 57, 128, .66) 0%, rgba(4, 57, 128, .66) 58%, rgba(0, 0, 0, 0) 58%);
}
.page-hero.page-hero--members h1 {
  max-width: none;
  margin: 0;
  padding: 0;
  font-size: 75px;
  line-height: 90px;
  letter-spacing: 0;
  font-weight: 300;
  text-transform: uppercase;
  text-align: left;
}
.page-hero--members .hero-kicker {
  margin: 0;
  font-size: 23px;
  font-weight: 300;
  line-height: 1.8em;
  letter-spacing: 11px;
  text-transform: uppercase;
  color: #fff;
}
.members-intro.section {
  padding: 92px 0 81px;
}
.members-intro__inner > p:first-of-type {
  font-size: 30px;
  line-height: 32.3px;
  font-weight: 500;
  color: #043980;
}
.members-intro__inner > p:not(:first-of-type) {
  font-size: 17px;
  line-height: 32.3px;
  font-weight: 500;
  color: #666;
}
.members-cta-row .btn--ghost {
  font-size: 20px;
  line-height: 34px;
  font-weight: 700;
}
.members-trees.section {
  padding: 127px 0 0;
  background: rgba(230, 230, 230, 0.5);
}
.members-benefits.section {
  padding: 2.5rem 0 4rem;
  background: rgba(230, 230, 230, 0.5);
}
/*
  2026-08-11: same gray-band convention as .members-trees/.members-benefits above, applied to
  Become a Member (LIVE's own crawled CSS confirms .et_pb_section_6{background-color:
  RGBA(230,230,230,0.5)}) — the prior version had no background at all. Photo+copy row is new;
  reuses a real R2 asset already referenced elsewhere on this page's content source.
*/
.members-become {
  background: rgba(230, 230, 230, 0.5);
}
.members-become__intro {
  display: grid;
  grid-template-columns: minmax(200px, 300px) 1fr;
  gap: 2.5rem;
  align-items: center;
  margin-bottom: 3rem;
}
.members-become__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--radius, 4px);
}
.members-become__copy .members-section-title--left {
  text-align: left;
  margin-bottom: 1rem;
}
@media (max-width: 780px) {
  .members-become__intro {
    grid-template-columns: 1fr;
    text-align: center;
  }
}
.members-section-title {
  font-size: 45px;
  line-height: 45px;
  font-weight: 700;
  color: var(--navy);
}
.members-tree img {
  max-width: 203px;
  width: 203px;
}
.members-benefits-chart img {
  max-width: 666px;
  margin: 0 auto;
}
.members-all-receive h3 {
  font-size: 17px;
  line-height: 32.3px;
  font-weight: 700;
}
.members-all-receive__list li {
  font-size: 17px;
  line-height: 26px;
  font-weight: 500;
  color: #666;
}
.members-current.section {
  padding: 57.5938px 0;
}
.members-tier__head h3 {
  font-size: 45px;
  line-height: 45px;
  font-weight: 700;
}
.members-name-grid li,
.members-name-grid a {
  font-size: 17px;
  line-height: 37.4px;
  font-weight: 700;
  color: #666;
}

/* SpotTheDiff /brownfields/ — route-scoped bands (Pass D 2026-08-10) */
.page-hero--brownfields {
  min-height: 552px;
  padding: 110px 0;
  background-position: center bottom;
  justify-content: center;
}
.page-hero.page-hero--brownfields::before {
  background: linear-gradient(105deg, rgba(64, 64, 64, .74) 0%, rgba(64, 64, 64, .74) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--brownfields .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--brownfields .hero-content {
  flex: 0 1 auto;
  width: min(56rem, 80%);
  max-width: 56rem;
  margin: 0;
  margin-right: auto;
  text-align: left;
}
.page-hero--brownfields h1 {
  max-width: none;
  margin: 0;
  font-weight: 300;
  font-size: 65px;
  line-height: 78px;
  letter-spacing: 0;
  text-align: left;
  color: #fff;
  text-transform: uppercase;
}
.page-hero--brownfields h1 strong {
  font-weight: 700;
  letter-spacing: 0;
}
.brownfields-band--white { background: #fff; }
.brownfields-band--gray { background: #e6e6e6; }
.brownfields-intro {
  padding-top: 92px;
  padding-bottom: 44px;
}
/* LIVE Divi rows: width 1152; rows 1-3 pad 11/99/46/99; row 4 video uses default row pad. */
.brownfields-intro__row {
  max-width: 1152px;
  margin: 0 auto;
  box-sizing: border-box;
}
.brownfields-intro__row--prose,
.brownfields-intro__row--thanks,
.brownfields-intro__row--ctas {
  padding: 11px 99px 46px;
}
.brownfields-intro__row--video {
  padding: 2% 0;
}
.brownfields-intro__row--prose p,
.brownfields-intro__row--thanks p {
  max-width: 954px;
  margin: 0 auto;
  text-align: center;
  font-size: 25px;
  font-weight: 500;
  line-height: 48.75px;
  color: #666;
}
.brownfields-intro__ctas {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.75rem 1.25rem;
}
.brownfields-intro__ctas .btn {
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  line-height: 34px;
  border-width: 3px;
  border-color: #043980;
  color: #043980;
  background: #fff;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  border-radius: 3px;
  padding: 0.3em 1em;
}
.brownfields-intro__video {
  max-width: 1024px;
  margin: 0 auto;
  text-align: center;
}
.brownfields-intro__video img {
  display: block;
  width: 100%;
  max-width: 1024px;
  height: auto;
  margin: 0 auto;
  border-radius: 0;
}
.brownfields-intro__caption {
  margin: 0;
  max-width: none;
  width: 100%;
  font-size: 17px;
  font-weight: 500;
  line-height: 32.3px;
  color: #666;
  text-align: left;
}
.brownfields-define {
  padding-top: 57.5938px;
  padding-bottom: 57.5938px;
}
.brownfields-define__row {
  max-width: 1152px;
  margin: 0 auto;
  padding: 2% 0;
  text-align: center;
  box-sizing: border-box;
}
.brownfields-define__heading {
  margin: 0 0 10px;
  padding-bottom: 0;
  font-size: 32px;
  font-weight: 700;
  line-height: 32px;
  color: #333;
  text-transform: uppercase;
  text-align: center;
}
.brownfields-define__row > p {
  margin: 0;
  width: 100%;
  max-width: none;
  font-size: 25px;
  font-weight: 500;
  line-height: 32.3px;
  color: #666;
  text-align: center;
}
.brownfields-partners {
  padding-top: 57.5938px;
  padding-bottom: 57.5938px;
}
.brownfields-partners__row {
  max-width: 1152px;
  margin: 0 auto;
  box-sizing: border-box;
}
.brownfields-partners__row--heading {
  padding: 11px 0 46px;
}
.brownfields-partners__row--logos {
  padding: 11px 0 46px;
}
.brownfields-partners__heading {
  margin: 0;
  padding-bottom: 0;
  font-size: 23px;
  font-weight: 700;
  line-height: 23px;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0;
  text-align: center;
}
.brownfields-partners__logos {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  justify-items: center;
  gap: 1.5rem 1rem;
  min-height: 159px;
}
.brownfields-partners__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}
.brownfields-partners__logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  margin: 0;
  border-radius: 0;
}

/* SpotTheDiff /contact/ — route-scoped bands (Pass D cycle1 2026-08-10) */
/* LIVE et_pb_section_0: 400h, pad 110, navy hard wedge @ 40%, h1 75/90 w300 */
.page-hero--contact {
  min-height: 400px;
  height: 400px;
  padding: 110px 0;
  background-position: center center;
  justify-content: center;
  box-sizing: border-box;
}
.page-hero.page-hero--contact::before {
  background: linear-gradient(105deg, rgba(4, 57, 128, 0.66) 0%, rgba(4, 57, 128, 0.66) 40%, rgba(0, 0, 0, 0) 40%);
}
.page-hero--contact .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--contact .hero-content {
  flex: 0 1 auto;
  width: min(28rem, 42%);
  max-width: 28rem;
  margin: 0;
  margin-right: auto;
  text-align: left;
}
.page-hero--contact h1 {
  max-width: none;
  margin: 0;
  padding: 0;
  font-weight: 300;
  font-size: 75px;
  line-height: 90px;
  letter-spacing: 0;
  text-align: left;
  color: #fff;
  text-transform: uppercase;
}

/* LIVE Connect band: centered 45/45 title, 20/28 sub, 2/3+1/3 layout, crispy 218x60 */
.contact-section--std {
  padding-top: 58px;
  padding-bottom: 58px;
  background: #fff;
}
.contact-section--std .contact-section__title {
  color: rgb(4, 57, 128);
  text-transform: none;
  letter-spacing: 0;
  margin: 0 0 0.75rem;
  font-size: 45px;
  line-height: 45px;
  font-weight: 700;
  text-align: center;
}
.contact-section--std .contact-section__sub {
  text-transform: uppercase;
  letter-spacing: 0;
  color: rgb(51, 51, 51);
  font-size: 20px;
  line-height: 28px;
  font-weight: 700;
  margin: 0 0 2rem;
  text-align: center;
}
.contact-section--std .contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 747fr) minmax(240px, 342fr);
  gap: 2.5rem 3.5rem;
  align-items: start;
  max-width: 1152px;
  margin: 0 auto;
}
.contact-section--std .contact-sidebar .contact-card__logo {
  width: 218px;
  height: 60px;
  max-width: 100%;
  object-fit: contain;
  margin: 0 0 1.5rem;
}
.contact-section--std .contact-sidebar address {
  font-style: normal;
  margin: 0 0 1.5rem;
  color: var(--ink);
  line-height: 1.7;
  font-size: 17px;
}
.contact-section--std .contact-sidebar__social {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
.contact-section--std .contact-sidebar__social .footer-social {
  width: 58px;
  height: 58px;
  color: var(--navy);
}
.contact-section--std .contact-layout__form .static-form--gravity {
  background: #fff;
  padding: 0;
  max-width: 747px;
}
.contact-section--std .contact-layout__form .static-form--gravity .form-row {
  margin-bottom: 1rem;
}
.contact-section--std .contact-layout__form .static-form--gravity .form-row input,
.contact-section--std .contact-layout__form .static-form--gravity .form-row select,
.contact-section--std .contact-layout__form .static-form--gravity .form-row textarea {
  background: #eeeeee;
  border: 0;
  border-radius: 0;
  min-height: 49px;
  padding: 0.75rem 1rem;
  font-size: 16px;
  box-shadow: none;
}
.contact-section--std .contact-layout__form .static-form--gravity .form-row textarea {
  min-height: 288px;
}
.contact-section--std .contact-layout__form .cf-turnstile {
  min-height: 78px;
  margin: 1rem 0;
  background: transparent;
  border: 0;
}
.contact-section--std .contact-layout__form .static-form--gravity .btn--primary {
  margin-top: 0.75rem;
  min-width: 0;
  width: auto;
  padding: 14px 28px;
  text-transform: uppercase;
  letter-spacing: 0;
  font-size: 20px;
  line-height: 24px;
  border-radius: 3px;
  background: rgb(4, 57, 128);
  color: #fff;
}

/* LIVE mailing: navy band ~591, centered stack, First|Last then Email then full Subscribe */
.mailing-band--contact {
  background: rgb(4, 57, 128);
  padding: 58px 0;
}
.mailing-band--contact .mailing-band__inner--contact {
  text-align: center;
  max-width: 1102px;
  margin: 0 auto;
}
.mailing-band--contact .mailing-band__inner--contact h2 {
  color: #fff;
  margin: 0 0 0.75rem;
  font-size: 45px;
  line-height: 67.5px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  text-align: center;
}
.mailing-band--contact .mailing-band__inner--contact .mailing-band__sub {
  text-transform: none;
  letter-spacing: 0;
  color: #fff;
  font-size: 20px;
  line-height: 34px;
  font-weight: 700;
  margin: 0 0 1.5rem;
  max-width: none;
  text-align: center;
}
.static-form--mailing-contact {
  max-width: 1102px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  text-align: left;
}
.static-form--mailing-contact h2 { display: none; }
.static-form--mailing-contact .form-row-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.static-form--mailing-contact .form-row { margin: 0; }
.static-form--mailing-contact .form-row input {
  background: #fff;
  border: 0;
  border-radius: 0;
  padding: 0.75rem 1rem;
  min-height: 47px;
  width: 100%;
  box-sizing: border-box;
}
.static-form--mailing-contact .btn,
.static-form--mailing-contact .btn--primary {
  margin-top: 0.35rem;
  width: 100%;
  min-height: 52px;
  border-radius: 3px;
  border: 3px solid #fff;
  background: transparent;
  color: #fff;
  text-transform: none;
  letter-spacing: 0;
  font-size: 20px;
  line-height: 24px;
  padding: 12px 28px;
  justify-content: center;
  align-self: stretch;
}
.static-form--mailing-contact .btn:hover,
.static-form--mailing-contact .btn--primary:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

/* ── SpotTheDiff home (/) cycle1 2026-08-10 — route-scoped near-clone ─────────
   LIVE SoT desktop 1440. Content fixes (type, image size, band bg, heading stack).
   Prefer .page-home / .page-hero--home so other routes stay untouched. */
.page-hero--home .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
  box-sizing: border-box;
}
.page-hero--home .hero-content {
  flex: 0 1 auto;
  width: min(1143px, 72%);
  max-width: 1143px;
  margin: 0;
  margin-right: auto;
  text-align: left;
}
.page-hero--home .eyebrow {
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.18em;
  margin: 0 0 0.85rem;
}
.page-hero--home h1 {
  max-width: none;
  margin: 0;
  font-size: 75px;
  line-height: 90px;
  font-weight: 300;
  letter-spacing: normal;
  text-transform: uppercase;
  color: #fff;
}
.page-hero--home h1 strong {
  font-weight: 700;
}
.page-hero--home .btn,
.page-hero--home .btn--secondary {
  font-size: 20px;
  line-height: 34px;
  padding: 6px 23px;
  border-radius: 0;
}

/* DBIM lockup: LIVE display ~800x102, pad ~92/81 */
.page-home .dbim-band {
  padding: 110px 0 100px;
  border-top: none;
  border-bottom: none;
}
.page-home .dbim-band__lockup {
  width: min(800px, 100%);
}

/* Org / Masterclass / FADC: LIVE padT 201 / padB 58, row content ~506 */
.page-home .tib-section {
  padding-top: 201px;
  padding-bottom: 58px;
}
.page-home .tib-section--alt {
  background: rgba(230, 230, 230, 0.5);
}
.page-home .tib {
  gap: 3.5rem;
  max-width: 1152px;
  margin: 0 auto;
  min-height: 506px;
  align-items: center;
}
.page-home .tib__body h2 {
  margin: 0 0 1rem;
  font-size: 45px;
  line-height: 45px;
  font-weight: 700;
  letter-spacing: normal;
  text-transform: uppercase;
  color: rgb(4, 57, 128);
  text-align: left;
}
.page-home .tib__body p {
  margin: 0 0 1.35rem;
  font-size: 17px;
  line-height: 32.3px;
  font-weight: 500;
  color: rgb(102, 102, 102);
  text-align: left;
  max-width: 36rem;
}
.page-home .tib__cta .btn,
.page-home .tib__cta .btn--ghost {
  font-size: 20px;
  line-height: 34px;
  padding: 6px 23px;
  border-radius: 0;
  border-width: 2px;
}
.page-home .tib__img img {
  width: 100%;
  max-width: 544px;
  aspect-ratio: 544 / 408;
  object-fit: cover;
  border-radius: 0;
  margin-left: auto;
  margin-right: auto;
}

/* NW forest band: LIVE ~626, heading 50/50 w300 left */
.page-home .photo-band--nw-light {
  min-height: 626px;
  padding: 110px 0;
}
.page-home .photo-band--nw-light .photo-band__inner {
  max-width: 640px;
  text-align: left;
  padding: 0;
}
.page-home .photo-band--nw-light .photo-band__heading,
.page-home .photo-band--nw-light .photo-band__heading--stack {
  gap: 0;
  margin-bottom: 1rem;
  font-size: 50px;
  line-height: 50px;
  font-weight: 300;
  letter-spacing: normal;
  color: #fff;
}
.page-home .photo-band--nw-light .photo-band__line--lead,
.page-home .photo-band--nw-light .photo-band__line--strong {
  font-size: 50px;
  line-height: 50px;
  font-weight: 300;
  letter-spacing: normal;
}
.page-home .photo-band--nw-light .photo-band__line--strong {
  font-weight: 700;
}
.page-home .photo-band--nw-light .photo-band__sub {
  font-size: 17px;
  line-height: 32.3px;
  font-weight: 500;
  color: #fff;
  max-width: 42ch;
}
.page-home .photo-band--nw-light .btn,
.page-home .photo-band--nw-light .btn--secondary {
  font-size: 20px;
  line-height: 34px;
  padding: 6px 23px;
  border-radius: 0;
}

/* Where We Live: LIVE gray #e6e6e6, title 45, mosaic cells ~430x337 */
.page-home .wwl-section {
  background: rgb(230, 230, 230);
  padding-top: 58px;
  padding-bottom: 58px;
}
.page-home .wwl-section__title {
  font-size: 45px;
  line-height: 45px;
  font-weight: 700;
  letter-spacing: normal;
  color: rgb(4, 57, 128);
}
.page-home .wwl-section__welcome {
  font-size: 17px;
  letter-spacing: 0.12em;
  font-weight: 500;
  color: #666;
}
.page-home .town-visit__name {
  font-size: 20px;
  font-weight: 700;
  color: #666;
}
.page-home .town-visit__link {
  font-size: 17px;
  font-weight: 500;
}
.page-home .wwl-mosaic {
  gap: 0.5rem;
  max-width: 1152px;
  margin: 0 auto;
}
.page-home .wwl-mosaic__cell,
.page-home .wwl-mosaic__cell--state {
  min-height: 337px;
}
.page-home .wwl-mosaic__cell img {
  min-height: 337px;
}

/* Gov / Brownfields tiles: LIVE tile H 601, title 50/60 */
.page-home .photo-tiles-section {
  padding-top: 0;
  padding-bottom: 0;
}
.page-home .photo-tiles {
  gap: 0;
  max-width: none;
}
.page-home .photo-tile {
  min-height: 601px;
  aspect-ratio: auto;
  border-radius: 0;
}
.page-home .photo-tile__title {
  font-size: 50px;
  line-height: 60px;
  font-weight: 700;
  letter-spacing: normal;
}
.page-home .photo-tile__cta {
  font-size: 20px;
  line-height: 34px;
  padding: 6px 23px;
}
.page-home .photo-tile__logo {
  width: 141px;
  height: auto;
  margin-bottom: 1rem;
}

/* Get Started: LIVE header row ~235, heads+links row ~148+434, pad 47/58 */
.page-home .get-started-band {
  padding: 47px 0 58px;
}
.page-home .get-started__heading {
  font-size: 45px;
  line-height: 45px;
  font-weight: 700;
  letter-spacing: normal;
  color: rgb(4, 57, 128);
  margin: 0;
  padding: 70px 0 24px;
}
.page-home .get-started__eyebrow {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #666;
  margin: 0 0 48px;
}
.page-home .get-started__cols {
  align-items: stretch;
  min-height: 582px; /* LIVE heads row 148 + links row 434 */
  gap: 2rem 3rem;
}
.page-home .get-started__col-head {
  min-height: 90px;
  padding: 1.25rem;
  margin-bottom: 1.75rem;
}
.page-home .get-started__col-head h3 {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.2em;
}
.page-home .get-started__col-links {
  gap: 27px;
  padding-bottom: 1rem;
}
.page-home .get-started__col-links a {
  font-size: 25px;
  line-height: 32.3px;
  font-weight: 500;
  color: rgb(4, 57, 128);
  padding: 0;
}

/* SpotTheDiff /contact/ — Pass D cycle2 (2026-08-10): type case, field stack, mailing mass */
.contact-section--std .contact-section__title {
  text-transform: uppercase;
  letter-spacing: 2px;
  padding-bottom: 10px;
}
.contact-section--std .contact-section__sub {
  text-transform: uppercase;
  letter-spacing: 8px;
  padding-bottom: 10px;
  margin-bottom: 2.25rem;
}
.contact-section--std .contact-layout {
  grid-template-columns: 747px minmax(240px, 1fr);
  max-width: 1152px;
}
.contact-section--std .contact-layout__form .static-form--gravity {
  max-width: 747px;
  width: 747px;
}
.contact-section--std .contact-layout__form .static-form--gravity .form-row--half {
  max-width: 366px;
  width: 366px;
}
.contact-section--std .contact-layout__form .static-form--gravity .form-section {
  margin: 0.35rem 0 0.15rem;
  min-height: 19px;
  font-size: 0;
  line-height: 0;
  border: 0;
  padding: 0;
  color: transparent;
}
.contact-section--std .contact-layout__form .cf-turnstile {
  min-height: 110px;
  margin: 1.1rem 0 1rem;
  display: flex;
  align-items: center;
}
.contact-section--std .contact-layout__form .static-form--gravity .form-row {
  margin-bottom: 1rem;
}
.contact-section--std .contact-layout__form .static-form--gravity .form-row-pair {
  gap: 15px;
}
.mailing-band--contact .mailing-band__inner--contact h2 {
  text-transform: uppercase;
  letter-spacing: 2px;
  padding-bottom: 10px;
  line-height: 67.5px;
  margin-bottom: 0;
}
.mailing-band--contact .mailing-band__inner--contact .mailing-band__spacer {
  /* LIVE empty h5 between title and sub */
  height: 10px;
  margin: 0;
  padding: 0;
}
.mailing-band--contact .mailing-band__inner--contact .mailing-band__sub {
  text-transform: uppercase;
  letter-spacing: 8px;
  padding-bottom: 10px;
  margin: 0 0 82px;
  line-height: 34px;
}
.mailing-band--contact {
  padding-top: 58px;
  padding-bottom: 58px;
}
.static-form--mailing-contact {
  margin-top: 0;
}

/* SpotTheDiff /cwdg-application-form/ — route-scoped (Pass D cycle1+2 2026-08-10) */
/* LIVE Divi: content-box min-height 400 + pad 110/110 → ~609 band; wedge 49%; H1 75/90 w300 */
.page-hero--cwdg-application-form {
  box-sizing: content-box;
  min-height: 400px;
  padding: 110px 9px 110px 0;
  background-position: center center;
  justify-content: center;
}
.page-hero.page-hero--cwdg-application-form::before {
  background: linear-gradient(105deg, rgba(4, 57, 128, .66) 0%, rgba(4, 57, 128, .66) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--cwdg-application-form .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  margin-left: 133px;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--cwdg-application-form .hero-content {
  flex: 0 1 auto;
  width: min(99.8%, 72rem);
  max-width: 72rem;
  margin: 0;
  text-align: left;
}
.page-hero--cwdg-application-form h1 {
  max-width: none;
  width: auto;
  letter-spacing: 0;
  font-size: 75px;
  line-height: 90px;
  font-weight: 300;
  text-transform: uppercase;
  color: #fff;
}
.page-hero--cwdg-application-form .hero-kicker {
  margin: .35rem 0 0;
  color: #fff;
  font-size: 23px;
  font-weight: 700;
  letter-spacing: 11px;
  line-height: 1.8em;
  text-transform: uppercase;
}

/* LIVE form band: pad 92/81; title 38/38 w700; labels 14/400; field rhythm ~81 */
.form-section-block--cwdg {
  padding-top: 92px;
  padding-bottom: 81px;
  background: #fff;
}
.form-section-block--cwdg .wrap {
  max-width: 1152px;
}
.form-section-block--cwdg .static-form--gravity-compact {
  background: #fff;
  padding: 10px;
  border: 0;
  max-width: none;
}
.form-section-block--cwdg .static-form--gravity-compact h2 {
  font-size: 38px;
  line-height: 38px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ink-strong, #333);
  margin: 10px 0 16px;
  text-align: left;
}
.form-section-block--cwdg .static-form--gravity-compact .form-row {
  margin-bottom: 0.85rem;
}
.form-section-block--cwdg .static-form--gravity-compact .form-row > span,
.form-section-block--cwdg .static-form--gravity-compact .form-row--name > span,
.form-section-block--cwdg .static-form--gravity-compact .form-row--address > span,
.form-section-block--cwdg .static-form--gravity-compact .form-row--check legend,
.form-section-block--cwdg .static-form--gravity-compact .form-row--radio legend {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--ink-strong, #333);
  margin: 0 0 0.15rem;
}
.form-section-block--cwdg .static-form--gravity-compact .form-required {
  color: #c02b0a;
  font-weight: 400;
  font-size: 13px;
  display: inline;
}
.form-section-block--cwdg .static-form--gravity-compact .form-row input,
.form-section-block--cwdg .static-form--gravity-compact .form-row select,
.form-section-block--cwdg .static-form--gravity-compact .form-row textarea {
  background: #eeeeee;
  border: 0;
  border-radius: 0;
  padding: 16px;
  min-height: 0;
  font-size: 14px;
  box-shadow: none;
}
.form-section-block--cwdg .static-form--gravity-compact .form-row-pair {
  gap: 12px;
  margin-bottom: 0.35rem;
}
.form-section-block--cwdg .static-form--gravity-compact .form-row--name {
  margin-bottom: 0.55rem;
}
.form-section-block--cwdg .static-form--gravity-compact .form-row--name .form-row-pair,
.form-section-block--cwdg .static-form--gravity-compact .form-row--address .form-row {
  margin-bottom: 0.35rem;
}
.form-section-block--cwdg .static-form--gravity-compact .form-row--zip {
  max-width: 50%;
}
.form-section-block--cwdg .static-form--gravity-compact .form-section--empty {
  height: 19px;
  margin: 0.35rem 0;
  padding: 0;
  font-size: 0;
}
.form-section-block--cwdg .static-form--gravity-compact .form-spacer {
  /* LIVE spacer gfield between acres row and homes field */
  height: 81px;
}
.form-section-block--cwdg .static-form--gravity-compact .form-row--check {
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
  min-height: 90px;
}
.form-section-block--cwdg .static-form--gravity-compact .form-check {
  display: block;
  font-size: 14px;
  font-weight: 400;
  margin: 0.2rem 0;
  text-transform: uppercase;
}
.form-section-block--cwdg .static-form--gravity-compact .form-check input {
  width: auto;
  min-height: 0;
  padding: 0;
  margin-right: 0.4rem;
  background: transparent;
}
.form-section-block--cwdg .static-form--gravity-compact .btn--primary {
  margin-top: 10px;
  min-width: 0;
  padding: 6px 20px;
  border-radius: 0;
  background: #043980;
  border: 0;
  color: #fff;
  font-size: 16px;
  text-transform: uppercase;
}
.form-section-block--cwdg .cf-turnstile {
  margin: 0.75rem 0;
}

/* SpotTheDiff /fadc/ — route-scoped (Pass D cycle1+2 2026-08-10) */
/* LIVE: S1 hero gray wedge 552 · S2 intro logos 300 + type 25/48.75 · S3 gray resources · S4 white mail · S5 gray Ben · S6 form · S7 stats */
.page-hero--fadc {
  min-height: 552px;
  height: 552px;
  padding: 110px 0;
  background-position: center center;
  justify-content: center;
  box-sizing: border-box;
}
.page-hero.page-hero--fadc::before {
  background: linear-gradient(105deg, rgba(64, 64, 64, 0.74) 0%, rgba(64, 64, 64, 0.74) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--fadc .page-hero__inner {
  width: 100%;
  max-width: none;
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--fadc h1 {
  margin: 0;
  padding: 0;
  font-weight: 300;
  letter-spacing: 0;
  text-align: left;
  color: #fff;
  text-transform: uppercase;
}
.page-hero--fadc h1 .ln {
  white-space: nowrap;
}
.page-hero--fadc h1 strong {
  font-weight: 300;
  letter-spacing: 0;
}

.fadc-intro {
  padding-top: 100px;
  padding-bottom: 56px;
  background: #fff;
}
.fadc-intro .fadc-logos {
  display: flex;
  justify-content: center;
  gap: 3rem;
  margin: 0 0 2.75rem;
  flex-wrap: wrap;
}
.fadc-intro .fadc-logos img {
  width: 300px;
  height: 300px;
  object-fit: contain;
  border-radius: 0;
}
.fadc-intro .fadc-intro__copy {
  text-align: center;
  margin: 0 auto;
  max-width: 954px;
}
.fadc-intro .fadc-intro__copy p {
  margin: 0 0 1.65rem;
  font-size: 25px;
  line-height: 48.75px;
  font-weight: 500;
  text-align: center;
  color: #333;
}
.fadc-intro .fadc-intro__copy p:last-child { margin-bottom: 0; }

.fadc-resources {
  background: #e6e6e6;
  padding-top: 70px;
  padding-bottom: 70px;
}
.fadc-resources .fadc-resources__title,
.fadc-resources h2.fadc-resources__title {
  text-align: center;
  color: #333;
  text-transform: uppercase;
  letter-spacing: normal;
  margin: 0 0 1.5rem;
  background: transparent;
  padding: 0;
  font-size: 23px;
  line-height: 23px;
  font-weight: 700;
}
.fadc-resources .resource-card-grid { gap: 1.75rem 1.5rem; }
.fadc-resources .resource-card { background: #fff; border: 1px solid #ddd; }
.fadc-resources .resource-card__media img {
  aspect-ratio: auto;
  min-height: 0;
  height: 267px;
  object-fit: cover;
}
.fadc-resources .resource-card__body {
  padding: 1.15rem 1rem 1.35rem;
  gap: 0.75rem;
  text-align: left;
  align-items: stretch;
}
.fadc-resources .resource-card__body h3 {
  font-size: 16px;
  line-height: 1.25;
  font-weight: 700;
  text-align: center;
  letter-spacing: normal;
  text-transform: uppercase;
  color: #333;
}
.fadc-resources .resource-card__body p {
  font-size: 17px;
  line-height: 32.3px;
  font-weight: 500;
  text-align: left;
  color: #333;
}
.fadc-resources .resource-card__body .btn {
  align-self: center;
  font-size: 20px;
  line-height: 34px;
  padding: 0.15rem 1.25rem;
  min-height: 34px;
  text-transform: uppercase;
}

.fadc-mailing {
  background: #fff;
  padding-top: 70px;
  padding-bottom: 70px;
}
.fadc-mailing .fadc-mailing__title {
  text-align: center;
  text-transform: uppercase;
  font-size: 23px;
  line-height: 23px;
  font-weight: 700;
  letter-spacing: normal;
  margin: 0 0 2rem;
  color: #333;
}
.fadc-mailing .fadc-mailing__form { max-width: 560px; margin: 0 auto; }
.fadc-mailing .fadc-mailing__form .static-form::before {
  content: "* indicates required";
  display: block;
  font-size: 14px;
  line-height: 1.4;
  margin: 0 0 0.85rem;
  color: #333;
}
.fadc-mailing .static-form h2 {
  font-size: 19.6px;
  line-height: 19.6px;
  font-weight: 700;
  text-transform: uppercase;
  text-align: left;
  margin: 0 0 1rem;
  color: #333;
}
.fadc-mailing .static-form--gravity input,
.fadc-mailing .static-form--gravity select,
.fadc-mailing .static-form--gravity textarea { min-height: 42px; }
.fadc-mailing .static-form--gravity .btn--primary {
  background: #000;
  border-color: #000;
  color: #fff;
  border-radius: 0;
  text-transform: none;
  font-size: 14px;
  padding: 0.4rem 0.9rem;
}

.fadc-ben {
  background: #e6e6e6;
  padding-top: 86px;
  padding-bottom: 86px;
  min-height: 473px;
  box-sizing: border-box;
}
.fadc-ben__layout {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 2.5rem;
  align-items: center;
}
.fadc-ben__photo {
  display: block;
  width: 200px;
  height: 300px;
  object-fit: cover;
  border-radius: 0;
  margin: 0;
}
.fadc-ben__copy {
  margin: 0;
  font-size: 25px;
  line-height: 32.3px;
  font-weight: 500;
  text-align: left;
  color: #333;
  max-width: 848px;
}

.form-section-block--fadc {
  background: #fff;
  padding-top: 48px;
  padding-bottom: 48px;
}
.form-section-block--fadc .static-form h2 {
  font-size: 38px;
  line-height: 38px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: normal;
  margin: 0 0 1.25rem;
  color: #333;
}

.stat-band--fadc {
  background: #e6e6e6;
  padding-top: 6.5rem;
  padding-bottom: 6.5rem;
  min-height: 282px;
  box-sizing: border-box;
}
.stat-band--fadc .stats { gap: 1.5rem; }
.stat-band--fadc .stat__value {
  font-size: 35px;
  line-height: 1.15;
  font-weight: 700;
  color: #333;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}
.stat-band--fadc .stat__label {
  font-size: 17px;
  line-height: 32.3px;
  font-weight: 500;
  color: #333;
  text-transform: none;
}

@media (max-width: 900px) {
  .fadc-ben__layout {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
  .fadc-ben__copy { text-align: center; }
}


/* SpotTheDiff /forestry-application/ — route-scoped (Pass D cycle1+2 2026-08-10) */
/* LIVE Divi: content-box min-height 209 + pad 110/110 → ~429 band; wedge 49%; H1 75/90 w300 one row */
.page-hero--forestry-application {
  /* Cycle2: LIVE content-box split — inner ~209 + pad 110/110 → band 429 (was stuck at border-box 400) */
  box-sizing: content-box;
  min-height: 209px;
  padding: 110px 9px 110px 0;
  background-position: center center;
  justify-content: center;
}
.page-hero.page-hero--forestry-application::before {
  background: linear-gradient(105deg, rgba(4, 57, 128, .66) 0%, rgba(4, 57, 128, .66) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--forestry-application .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  margin-left: 133px;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--forestry-application .hero-content {
  flex: 0 1 auto;
  width: min(99.8%, 72rem);
  max-width: 72rem;
  margin: 0;
  text-align: left;
}
.page-hero--forestry-application h1 {
  max-width: none;
  width: auto;
  letter-spacing: 0;
  font-size: 75px;
  line-height: 90px;
  font-weight: 300;
  text-transform: uppercase;
  color: #fff;
}
.page-hero--forestry-application .hero-kicker {
  margin: .35rem 0 0;
  color: #fff;
  font-size: 23px;
  font-weight: 700;
  letter-spacing: 11px;
  line-height: 1.8em;
  text-transform: uppercase;
}

/* LIVE form band: pad 92/81; title 38/38 w700; labels 14/400; field rhythm ~81 */
.form-section-block--forestry {
  padding-top: 92px;
  padding-bottom: 81px;
  background: #fff;
}
.form-section-block--forestry .wrap {
  max-width: 1152px;
}
.form-section-block--forestry .static-form--gravity-compact {
  background: #fff;
  padding: 10px;
  border: 0;
  max-width: none;
}
.form-section-block--forestry .static-form--gravity-compact h2 {
  font-size: 38px;
  line-height: 38px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ink-strong, #333);
  margin: 0 0 16px;
  text-align: left;
}
.form-section-block--forestry .static-form--gravity-compact .form-row {
  margin-bottom: 0.85rem;
}
.form-section-block--forestry .static-form--gravity-compact .form-row > span,
.form-section-block--forestry .static-form--gravity-compact .form-row--name > span,
.form-section-block--forestry .static-form--gravity-compact .form-row--address > span,
.form-section-block--forestry .static-form--gravity-compact .form-row--check legend,
.form-section-block--forestry .static-form--gravity-compact .form-row--radio legend {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--ink-strong, #333);
  margin: 0 0 0.15rem;
}
.form-section-block--forestry .static-form--gravity-compact .form-required {
  color: #c02b0a;
  font-weight: 400;
  font-size: 13px;
  display: inline;
}
.form-section-block--forestry .static-form--gravity-compact .form-row input,
.form-section-block--forestry .static-form--gravity-compact .form-row select,
.form-section-block--forestry .static-form--gravity-compact .form-row textarea {
  background: #eeeeee;
  border: 0;
  border-radius: 0;
  padding: 16px;
  min-height: 0;
  font-size: 14px;
  box-shadow: none;
}
.form-section-block--forestry .static-form--gravity-compact .form-row-pair {
  gap: 12px;
  margin-bottom: 0.35rem;
}
.form-section-block--forestry .static-form--gravity-compact .form-row--name {
  margin-bottom: 0.55rem;
}
.form-section-block--forestry .static-form--gravity-compact .form-row--name .form-row-pair,
.form-section-block--forestry .static-form--gravity-compact .form-row--address .form-row {
  margin-bottom: 0.35rem;
}
.form-section-block--forestry .static-form--gravity-compact .form-row--zip {
  max-width: 50%;
}
.form-section-block--forestry .static-form--gravity-compact .form-section--empty {
  height: 19px;
  margin: 0.35rem 0;
  padding: 0;
  font-size: 0;
}
.form-section-block--forestry .static-form--gravity-compact .form-spacer {
  height: 81px;
}
.form-section-block--forestry .static-form--gravity-compact .form-row--check {
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
  min-height: 90px;
}
.form-section-block--forestry .static-form--gravity-compact .form-check {
  display: block;
  font-size: 14px;
  font-weight: 400;
  margin: 0.2rem 0;
  text-transform: uppercase;
}
.form-section-block--forestry .static-form--gravity-compact .form-check input {
  width: auto;
  min-height: 0;
  padding: 0;
  margin-right: 0.4rem;
  background: transparent;
}
.form-section-block--forestry .static-form--gravity-compact .btn--primary {
  margin-top: 10px;
  min-width: 0;
  padding: 6px 20px;
  border-radius: 0;
  background: #043980;
  border: 0;
  color: #fff;
  font-size: 16px;
  text-transform: uppercase;
}
.form-section-block--forestry .cf-turnstile {
  margin: 0.75rem 0;
}

/* lean-form SpotTheDiff: LIVE white band pad 92/81 + empty Divi row ~59 (form 18 injector empty) */
.form-section-block--lean {
  padding-top: 92px;
  padding-bottom: 81px;
  background: #fff;
}
.form-section-block--lean .wrap {
  max-width: 1152px;
}
.form-section-block--lean .lean-form-empty {
  min-height: 59px;
  padding-top: 29px;
  padding-bottom: 29px;
  box-sizing: border-box;
}

/* SpotTheDiff /forestry-assistance/ — route-scoped (Pass D cycle1 2026-08-10) */
.page-hero--forestry-assistance {
  box-sizing: border-box;
  min-height: 552px;
  padding: 110px 0;
  background-position: center center;
  justify-content: center;
}
.page-hero.page-hero--forestry-assistance::before {
  background: linear-gradient(105deg, rgba(64, 64, 64, .74) 0%, rgba(64, 64, 64, .74) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--forestry-assistance .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--forestry-assistance .hero-content {
  flex: 0 1 auto;
  width: min(72rem, 100%);
  max-width: 72rem;
  margin: 0;
  margin-right: auto;
  text-align: left;
}
.page-hero--forestry-assistance h1 {
  max-width: none;
  width: min(1143px, 100%);
  margin: 0;
  padding: 0 0 10px;
  font-weight: 300;
  font-size: 65px;
  line-height: 78px;
  letter-spacing: 0;
  text-align: left;
  color: #fff;
  text-transform: uppercase;
}
.page-hero--forestry-assistance h1 strong {
  font-weight: 700;
  letter-spacing: 0;
}

.forestry-intro.section {
  background: #fff;
  padding: 92px 0 44px;
}
.forestry-intro__wrap {
  max-width: 1351px;
  margin: 0 auto;
  padding: 0;
}
.forestry-intro__prose {
  max-width: 1152px;
  margin: 0 auto;
  padding: 11px 99px 46px;
  box-sizing: border-box;
}
.forestry-intro__prose p {
  max-width: 954px;
  margin: 0 auto;
  text-align: center;
  font-size: 25px;
  line-height: 48.75px;
  font-weight: 500;
  color: #666;
  font-family: Lato, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.staff-inline--forestry {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 1.5rem 2rem;
  align-items: center;
  max-width: 954px;
  margin: 0 auto;
  padding: 11px 99px 46px;
  box-sizing: content-box;
}
.staff-inline--forestry .staff-inline__photo {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
}
.staff-inline--forestry .staff-inline__body p {
  margin: 0;
  text-align: left;
  font-size: 25px;
  line-height: 48.75px;
  font-weight: 500;
  color: #666;
}
.staff-inline--forestry .staff-inline__body strong {
  font-weight: 700;
  color: #666;
}
.forestry-intro__ctas {
  max-width: 1152px;
  margin: 0 auto;
  padding: 11px 99px 46px;
  box-sizing: border-box;
}
.forestry-intro__ctas .program-cta-row {
  justify-content: center;
  margin: 0;
  gap: 0.85rem 1rem;
}
.forestry-intro__ctas .program-cta-row .btn--ghost {
  font-size: 20px;
  line-height: 34px;
  font-weight: 700;
  border-width: 2px;
  border-radius: 0;
  padding: 6px 23px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  /* LIVE long labels wrap inside ~283 module width (86px tall) */
  max-width: 283px;
  box-sizing: border-box;
  white-space: normal;
  text-align: center;
}

.forestry-cwdg.section {
  background: #e6e6e6;
  padding: 58px 0;
}
.forestry-cwdg__wrap {
  max-width: 1351px;
  margin: 0 auto;
}
.forestry-cwdg__top {
  max-width: 1152px;
  margin: 0 auto;
  padding: 29px 0 0;
  text-align: center;
}
.forestry-cwdg__logo {
  text-align: center;
  margin: 0 0 1.25rem;
}
.forestry-cwdg__logo img {
  width: 544px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
.forestry-cwdg__heading {
  margin: 0 0 0.75rem;
  padding: 0 0 10px;
  font-size: 27px;
  line-height: 27px;
  font-weight: 700;
  color: #333;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 0;
}
.forestry-cwdg__residents {
  margin: 0 auto 1.5rem;
  max-width: 1152px;
  text-align: center;
  font-size: 17px;
  line-height: 32.3px;
  font-weight: 500;
  color: #666;
}
.forestry-cwdg__ctas {
  max-width: 1152px;
  margin: 0 auto;
  padding: 11px 99px 46px;
  box-sizing: border-box;
}
.forestry-cwdg__ctas .program-cta-row {
  justify-content: center;
  margin: 0;
}
.forestry-cwdg__ctas .program-cta-row .btn--ghost,
.forestry-cwdg__cta .btn--ghost {
  font-size: 20px;
  line-height: 34px;
  font-weight: 700;
  border-width: 2px;
  border-radius: 0;
  padding: 6px 23px;
  text-transform: uppercase;
}
.forestry-trim {
  margin: 0 auto;
  max-width: 1024px;
  text-align: center;
  padding: 29px 0;
}
.forestry-trim img {
  width: 1024px;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.forestry-cwdg__body {
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 99px 0;
  box-sizing: border-box;
}
.forestry-cwdg__body p {
  margin: 0 0 1rem;
  text-align: center;
  font-size: 17px;
  line-height: 32.3px;
  font-weight: 500;
  color: #666;
}
.forestry-cwdg__cta {
  text-align: center;
  margin: 1.25rem 0 0;
}

.forestry-thanks-band.section {
  background: #fff;
  padding: 58px 0;
}
.forestry-thanks-band__wrap {
  max-width: 1152px;
  margin: 0 auto;
  padding: 11px 0 0;
  box-sizing: border-box;
}
/* LIVE et_pb_row_7: 3×1/3 columns, content in center */
.forestry-thanks-band__grid {
  display: grid;
  grid-template-columns: 1fr 283px 1fr;
  gap: 0;
  align-items: start;
  max-width: 1152px;
  margin: 0 auto;
  padding: 0 0 0;
  box-sizing: border-box;
  min-height: 290px;
}
.forestry-thanks-band__spacer-col {
  min-height: 1px;
}
.forestry-thanks-band__col {
  max-width: 283px;
  width: 283px;
  margin: 0;
  text-align: left;
}
.forestry-thanks-band__logo {
  width: 283px;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 0 26px;
}
.forestry-thanks-band__col p {
  margin: 0 0 26px;
  font-size: 18px;
  line-height: 35.1px;
  font-weight: 500;
  color: #666;
}
/* LIVE et_pb_row_8 empty spacer ~59 */
.forestry-thanks-band__row-spacer {
  max-width: 1152px;
  margin: 0 auto;
  min-height: 59px;
  padding: 29px 0;
  box-sizing: border-box;
}

.form-section-block--forestry-assistance.section {
  background: #fff;
  padding: 58px 0;
}
.form-section-block--forestry-assistance .forestry-form__wrap {
  max-width: 1152px;
  margin: 0 auto;
}
.form-section-block--forestry-assistance .static-form--gravity h2 {
  margin: 0 0 1.25rem;
  padding: 0 0 10px;
  font-size: 38px;
  line-height: 38px;
  font-weight: 700;
  color: #333;
  text-transform: uppercase;
  text-align: left;
}
/* .form-section-block--forestry-assistance .form-section rule intentionally omitted:
   LIVE's real form (verified against dobusinessinmontana.com/forestry-assistance/,
   2026-08-10 desktop capture) has no visible field-group heading line — placeholder-only,
   same correction already applied on /financing/ same day. forestryFields in
   renderers/program-detail.mjs emits no non-empty `section:` entries, so this selector
   would be dead; kept out rather than dead so a future pass doesn't reintroduce one. */


.stat-band--forestry-assistance.section {
  background: #e6e6e6;
  padding: 58px 0;
  min-height: 250px;
  box-sizing: border-box;
}
.stat-band--forestry-assistance .stats {
  gap: 2rem 3rem;
  align-items: flex-start;
}
.stat-band--forestry-assistance .stat__value {
  font-size: 35px;
  line-height: 1.15;
  font-weight: 700;
  color: #333;
  text-transform: uppercase;
}
.stat-band--forestry-assistance .stat__label {
  font-size: 17px;
  line-height: 32.3px;
  font-weight: 500;
  color: #333;
  text-transform: none;
  letter-spacing: normal;
}

/* SpotTheDiff /make-a-payment/ — route-scoped (Pass D cycle1+2 2026-08-10) */
/* LIVE Divi: border-box pad 110/110 minH 400 → band ~467; navy wedge 49%; H1 two-row 75/90 w300 */
.page-hero--make-a-payment {
  box-sizing: content-box;
  min-height: 247px;
  padding: 110px 9px 110px 0;
  background-position: center center;
  justify-content: center;
}
.page-hero.page-hero--make-a-payment::before {
  background: linear-gradient(105deg, rgba(4, 57, 128, .66) 0%, rgba(4, 57, 128, .66) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--make-a-payment .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  margin-left: 133px;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--make-a-payment .hero-content {
  flex: 0 1 auto;
  width: min(99.8%, 72rem);
  max-width: 72rem;
  margin: 0;
  text-align: left;
}
.page-hero--make-a-payment h1 {
  max-width: none;
  width: auto;
  letter-spacing: 0;
  font-size: 75px;
  line-height: 90px;
  font-weight: 300;
  text-transform: uppercase;
  color: #fff;
  padding-bottom: 10px;
  margin: 0;
}

/* LIVE form band: section 92/81 + Divi row ~29/29; content measure 954; module rhythm */
.payment-section--make-a-payment.section {
  padding: 92px 0 81px;
  background: #fff;
}
.payment-section--make-a-payment .wrap {
  max-width: 1152px;
  padding: 29px 99px;
  box-sizing: border-box;
}
.payment-section--make-a-payment h2 {
  margin: 14px 0 10px;
  padding: 0 0 10px;
  font-size: 45px;
  line-height: 45px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-align: center;
  color: var(--navy);
}
.payment-section--make-a-payment .payment-invoice-row {
  margin: 0;
}
.payment-section--make-a-payment .payment-inline--live {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 0.75rem;
  max-width: none;
  margin: 0 auto 26px;
  grid-template-columns: none;
}
.payment-section--make-a-payment .payment-inline__label {
  font-size: 17px;
  line-height: 32.3px;
  font-weight: 500;
  color: #666;
  margin: 0;
}
.payment-section--make-a-payment .payment-inline--live input {
  width: 152px;
  min-height: 22px;
  height: 22px;
  padding: 2px;
  background: #fff;
  border: 1px solid #767676;
  border-radius: 0;
  font-size: 13.333px;
  color: #4e4e4e;
}
.payment-section--make-a-payment .payment-btn,
.payment-section--make-a-payment .btn--ghost.payment-btn {
  border: 3px solid var(--navy);
  color: var(--navy);
  background: transparent;
  border-radius: 0;
  min-width: 0;
  padding: 6px 20px;
  font-size: 20px;
  line-height: 34px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: normal;
  height: auto;
  align-self: center;
}
.payment-section--make-a-payment .payment-note {
  margin: 0.75rem auto 53px;
  max-width: 954px;
  text-align: center;
  font-size: 17px;
  line-height: 32.3px;
  font-weight: 500;
  color: #666;
}
.payment-section--make-a-payment .payment-lead {
  margin: 0 auto 26px;
  max-width: 954px;
  text-align: center;
  font-size: 25px;
  line-height: 48.75px;
  font-weight: 500;
  color: var(--navy);
}
.payment-section--make-a-payment .static-form--payment.payment-loan {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 20px;
  max-width: 983px;
  width: 100%;
  margin: 0 auto;
  text-align: left;
}
.payment-section--make-a-payment .static-form--payment.payment-loan .form-row-pair {
  display: contents;
}
.payment-section--make-a-payment .form-row--placeholder {
  margin: 0;
}
.payment-section--make-a-payment .form-row--placeholder input {
  width: 100%;
  max-width: 462px;
  height: 49px;
  min-height: 49px;
  padding: 16px;
  font-size: 14px;
  line-height: normal;
  font-weight: 400;
  color: #999;
  background: #eee;
  border: 0;
  border-radius: 0;
  box-sizing: border-box;
}
/* LIVE: SEND REQUEST under email column, right-aligned */
.payment-section--make-a-payment .static-form--payment.payment-loan > .btn--ghost.payment-btn {
  grid-column: 2;
  justify-self: end;
  margin: 18px 0 0;
  width: fit-content;
}
.payment-section--make-a-payment .payment-note--accept {
  max-width: none;
  width: 100%;
  margin: 0;
  text-align: left;
  font-size: 17px;
  line-height: 32.3px;
  font-weight: 500;
  color: #666;
}

/* LIVE help band: pad ~58; H3 padB 10; body p padB 25; links #00ccff; wrap 1152 */
.payment-help--make-a-payment.section {
  padding: 58px 0;
  background: var(--navy);
}
.payment-help--make-a-payment .navy-cta__inner,
.payment-help--make-a-payment .wrap {
  max-width: 1152px;
  text-align: center;
  margin: 0 auto;
  padding: 29px 0;
  box-sizing: border-box;
}
.payment-help--make-a-payment h2 {
  margin: 14px 0 10px;
  padding: 0 0 10px;
  font-size: 45px;
  line-height: 45px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
  text-align: center;
}
.payment-help--make-a-payment p {
  margin: 0;
  padding: 0 0 25px;
  font-size: 25px;
  line-height: 32.3px;
  font-weight: 500;
  color: #fff;
  text-align: center;
}
.payment-help--make-a-payment p:last-child {
  padding-bottom: 0;
}
.payment-help--make-a-payment .payment-help__name {
  font-weight: 500;
  letter-spacing: normal;
  margin: 0;
  padding: 0 0 25px;
  color: #fff;
  font-size: 25px;
  line-height: 32.3px;
  text-transform: none;
}
.payment-help--make-a-payment .payment-help__link,
.payment-help--make-a-payment a {
  color: #00ccff;
  text-decoration: none;
}
.payment-help--make-a-payment .payment-help__link:hover,
.payment-help--make-a-payment a:hover {
  color: #fff;
  text-decoration: underline;
}

/* SpotTheDiff /make-a-payment/one-time-payment/ — route-scoped (--otp only) 2026-08-10 */
/* Cycle2: LIVE form is label+input then Pay Now on next line; compact CF7 stub (LIVE CF7 is shortcode-only) */
.page-title--otp.section {
  padding: 28px 0 8px;
  background: #fff;
}
.page-title--otp .wrap {
  max-width: 1080px;
}
.page-title--otp h1 {
  margin: 0;
  padding: 0 0 20px;
  font-size: 30px;
  line-height: 1.2;
  font-weight: 500;
  color: #333;
  text-transform: none;
  letter-spacing: normal;
}

.payment-alert--otp.section {
  padding: 0 0 16px;
  background: #fff;
}
.payment-alert--otp .wrap {
  max-width: 1080px;
}
.payment-alert--otp .payment-alert__box {
  margin: 0;
  padding: 12px 16px;
  border: 1px solid #c44;
  background: #fde8e8;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
  color: #333;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 500;
}

.payment-section--otp.section {
  padding: 8px 0 20px;
  background: #fff;
}
.payment-section--otp .wrap {
  max-width: 1080px;
}
.payment-section--otp h2 {
  margin: 0 0 0.75rem;
  font-size: 22px;
  line-height: 1.25;
  font-weight: 700;
  color: #333;
  text-transform: none;
  letter-spacing: normal;
  text-align: left;
}
.payment-section--otp .payment-inline--otp {
  display: block;
  margin: 0 0 1rem;
}
.payment-section--otp .payment-inline__label {
  display: inline;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
  color: #333;
  margin: 0 0.35rem 0 0;
}
.payment-section--otp .payment-inline--otp input {
  display: inline-block;
  width: 220px;
  min-height: 28px;
  height: 28px;
  margin: 0 0 0.5rem 0;
  padding: 2px 4px;
  background: #fff;
  border: 1px solid #767676;
  border-radius: 0;
  font-size: 13.333px;
  color: #4e4e4e;
  vertical-align: middle;
}
.payment-section--otp .payment-btn--otp,
.payment-section--otp .btn--ghost.payment-btn--otp {
  display: inline-block;
  margin: 0.25rem 0 0;
  border: 1px solid #999;
  color: #333;
  background: linear-gradient(#fff, #e8e8e8);
  border-radius: 3px;
  min-width: 0;
  padding: 4px 14px;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 500;
  text-transform: none;
  letter-spacing: normal;
  height: auto;
  vertical-align: middle;
}
.payment-section--otp .payment-rules--otp {
  margin: 0.75rem auto 0;
  max-width: 720px;
  text-align: center;
}
.payment-section--otp .payment-rules--otp p {
  margin: 0 0 0.5rem;
  font-size: 16px;
  line-height: 1.55;
  font-weight: 400;
  color: #666;
}

.payment-help--otp.section {
  padding: 16px 0 28px;
  background: #fff;
}
.payment-help--otp .wrap {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}
.payment-help--otp .payment-help__lead {
  margin: 0 0 0.5rem;
  font-size: 16px;
  line-height: 1.45;
  color: #333;
}
.payment-help--otp .payment-help__name {
  margin: 0 0 0.75rem;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 400;
  color: #333;
  text-transform: none;
}
.payment-help--otp .payment-help__link,
.payment-help--otp a {
  color: #06c;
  text-decoration: underline;
}
.payment-help--otp .static-form--otp-problems {
  max-width: 480px;
  margin: 0 auto;
  text-align: left;
}
.payment-help--otp .static-form--otp-problems h2 {
  margin: 0 0 0.5rem;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
  color: #333;
  text-align: center;
  text-transform: none;
  letter-spacing: normal;
}
.payment-help--otp .static-form--otp-problems .form-row-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem;
}
.payment-help--otp .static-form--otp-problems .form-row {
  margin: 0 0 0.4rem;
}
.payment-help--otp .static-form--otp-problems input,
.payment-help--otp .static-form--otp-problems textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 0;
  padding: 6px 8px;
  font-size: 13px;
  background: #fff;
}
.payment-help--otp .static-form--otp-problems textarea {
  min-height: 64px;
  resize: vertical;
}
.payment-help--otp .static-form--otp-problems .btn--primary {
  margin-top: 0.4rem;
  padding: 6px 16px;
  font-size: 14px;
}

/* SpotTheDiff /masterclass-form/ — route-scoped (Pass D cycle1+2 2026-08-10) */
/* LIVE Divi: content-box pad 110/110 + content ~243 → band 463; wedge 49%; H1 75/90 w300; H2 38/38 w700 */
.page-hero--masterclass-form {
  box-sizing: content-box !important;
  min-height: 243px !important;
  padding: 110px 9px 110px 0 !important;
  background-position: center center;
  justify-content: center;
}
.page-hero.page-hero--masterclass-form::before {
  background: linear-gradient(105deg, rgba(4, 57, 128, .66) 0%, rgba(4, 57, 128, .66) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero--masterclass-form .page-hero__inner {
  width: 100%;
  max-width: var(--maxw);
  margin-left: 133px;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--masterclass-form .hero-content {
  flex: 0 1 auto;
  width: min(99.8%, 72rem);
  max-width: 72rem;
  margin: 0;
  text-align: left;
}
.page-hero--masterclass-form h1 {
  max-width: none;
  width: auto;
  letter-spacing: 0;
  font-size: 75px !important;
  line-height: 90px !important;
  font-weight: 300 !important;
  text-transform: uppercase;
  color: #fff;
  margin: 0 !important;
  padding: 0 !important;
}
.page-hero--masterclass-form h2 {
  margin: 0.15rem 0 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 38px !important;
  line-height: 38px !important;
  font-weight: 700 !important;
  letter-spacing: 0;
  text-transform: uppercase;
}

/* LIVE form band: pad 92/81; title 38/38 w700; gray inputs; REGISTER 20px */
.form-section-block--masterclass {
  padding-top: 92px !important;
  padding-bottom: 81px !important;
  background: #fff;
}
.form-section-block--masterclass .wrap {
  max-width: 1152px;
}
.form-section-block--masterclass .static-form--gravity-compact {
  background: #fff;
  padding: 0;
  border: 0;
  max-width: none;
}
.form-section-block--masterclass .static-form--gravity-compact h2 {
  font-size: 38px !important;
  line-height: 38px !important;
  font-weight: 700 !important;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #333;
  margin: 0;
  padding: 0 0 10px;
  min-height: 48px;
  box-sizing: border-box;
  display: flex;
  align-items: flex-end;
  text-align: left;
}
.form-section-block--masterclass .static-form--gravity-compact .form-row,
.form-section-block--masterclass .static-form--gravity-compact .form-row-pair,
.form-section-block--masterclass .static-form--gravity-compact .form-row--check {
  margin-bottom: 16px;
}
.form-section-block--masterclass .static-form--gravity-compact .form-row > span,
.form-section-block--masterclass .static-form--gravity-compact .form-row--name > span,
.form-section-block--masterclass .static-form--gravity-compact .form-row--address > span,
.form-section-block--masterclass .static-form--gravity-compact .form-row--check legend {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  color: #333;
  margin: 0 0 0.15rem;
  display: block;
  text-transform: none;
}
.form-section-block--masterclass .static-form--gravity-compact .form-row input,
.form-section-block--masterclass .static-form--gravity-compact .form-row select,
.form-section-block--masterclass .static-form--gravity-compact .form-row textarea {
  background: #eeeeee;
  border: 0;
  border-radius: 0;
  padding: 16px;
  min-height: 0;
  font-size: 14px;
  box-shadow: none;
  width: 100%;
  box-sizing: border-box;
}
.form-section-block--masterclass .static-form--gravity-compact .form-row-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 16px;
  min-height: 81px;
}
.form-section-block--masterclass .static-form--gravity-compact .form-row--name {
  margin-bottom: 16px;
  min-height: 106px;
}
.form-section-block--masterclass .static-form--gravity-compact .form-row--name .form-row-pair,
.form-section-block--masterclass .static-form--gravity-compact .form-row--address .form-row {
  margin-bottom: 0.35rem;
}
.form-section-block--masterclass .static-form--gravity-compact .form-row--sub {
  display: flex;
  flex-direction: column;
  margin: 0;
}
.form-section-block--masterclass .static-form--gravity-compact .form-sublabel {
  font-size: 17px;
  font-weight: 400;
  line-height: 1.4;
  color: #333;
  margin-top: 0.2rem;
}
.form-section-block--masterclass .static-form--gravity-compact .form-row--zip {
  max-width: 50%;
}
.form-section-block--masterclass .static-form--gravity-compact .form-row--address {
  min-height: 374px;
}
.form-section-block--masterclass .static-form--gravity-compact fieldset.form-row--check {
  margin: 0 0 16px;
  border: 0;
  padding: 0;
  min-height: 90px;
}
.form-section-block--masterclass .static-form--gravity-compact fieldset.form-row--check:last-of-type {
  min-height: 103px;
}
.form-section-block--masterclass .static-form--gravity-compact > .form-row:not(.form-row--name):not(.form-row--address):not(.form-row--check) {
  min-height: 81px;
}
.form-section-block--masterclass .static-form--gravity-compact .form-check {
  display: block;
  font-size: 14px;
  font-weight: 400;
  margin: 0.2rem 0;
  text-transform: none;
  color: #333;
}
.form-section-block--masterclass .static-form--gravity-compact .form-check input {
  width: auto;
  min-height: 0;
  padding: 0;
  margin-right: 0.4rem;
  background: transparent;
}
.form-section-block--masterclass .static-form--gravity-compact .form-field-desc {
  font-size: 14px;
  line-height: 1.5;
  color: #666;
  margin: 0.35rem 0 0;
}
.form-section-block--masterclass .static-form--gravity-compact .btn--primary {
  margin-top: 0;
  margin-bottom: 42px;
  min-width: 0;
  padding: 6px 20px;
  border-radius: 0;
  background: #043980;
  border: 0;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.2;
}
.form-section-block--masterclass .masterclass-form-note {
  margin: 0;
  padding: 0;
  font-size: 17px;
  line-height: 32.3px;
  font-weight: 500;
  color: #666;
  text-align: left;
  max-width: 1152px;
}

/*
  /events-calendar/ — added 2026-08-11. LIVE has no navy hero on this route (unlike its
  embed-listing-stub siblings jobs/growthzone-event/business-directory, which are genuinely
  broken on LIVE and keep the honest hero+blurb+CTA stub) — a real, working third-party
  widget instead: plain title, a 3-button action row, 9 colored category tabs, empty-listings
  line. See renderers/system.mjs makeEmbedListingStub()'s events-calendar branch.
*/
.events-widget__title {
  padding: 2.5rem 0 1rem;
}
.plain-page-title {
  margin: 0;
  font-size: 2rem;
  font-weight: 400;
  color: #222;
  text-align: left;
  text-transform: none;
}
.events-widget__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  padding-bottom: 1.25rem;
}
.events-widget__btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: #3a3a3a;
  color: #fff;
  padding: .6rem 1.1rem;
  border-radius: 3px;
  font-size: .85rem;
  font-weight: 600;
  text-decoration: none;
}
.events-widget__btn:hover {
  background: #222;
}
.events-widget__tabs {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 0 auto;
  padding: 0 0 2rem;
}
.events-widget__tab {
  padding: .35rem .85rem;
  border-radius: 3px;
  font-size: .78rem;
  font-weight: 600;
  color: #fff;
}
.events-widget__tab--0 { background: #262626; }
.events-widget__tab--1 { background: #8b3a2f; }
.events-widget__tab--2 { background: #b8952f; }
.events-widget__tab--3 { background: #2f5f8b; }
.events-widget__tab--4 { background: #5fa3c9; }
.events-widget__tab--5 { background: #6b6b3a; }
.events-widget__tab--6 { background: #6b4a2f; }
.events-widget__tab--7 { background: #a68a5f; }
.events-widget__tab--8 { background: #7a7a7a; }
.events-widget__empty {
  text-align: center;
  color: #888;
  padding: 2.5rem 0 4rem;
  font-size: .95rem;
}

/*
  /peer/, /peerspectives/, /libby-peerspectives/ — added 2026-08-11. "Who Should Join" and
  "Join PeerSpectives" sections keep centered navy h3 sub-headings (matching LIVE) but their
  body copy stays normal-colored and left-aligned (the prior render force-centered everything
  via contentSection's center:true). The intro paragraph and the "What Sets...Apart" / "What
  to Expect" split reuse the site's existing .libby__prose/.libby__split/.libby__quote CSS —
  see renderers/peer-roundtable.mjs.
*/
.content-body--peer-body .prose h3 {
  text-align: center;
  color: var(--navy);
}
/*
  [MARK 2026-08-11] a large empty gap rendered between "Who should join…" and "What sets…
  apart" on all 3 peer-roundtable pages — the generic 9rem .section padding stacked with the
  media band's own 9rem top padding (~288px combined). LIVE's real adjacent Divi rows run
  much tighter (~4% section padding each). Scope both sides of that boundary down to match.
*/
.content-body--peer-body,
.libby-media-band {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

/*
  /employment-rfps/ — added 2026-08-11. LIVE runs "Employment Opportunities" and "Request
  For Proposals (RFPS)" as two side-by-side columns under a shared centered navy intro line,
  with a real 2-level heading hierarchy (navy column title vs smaller dark job-title). The
  generic hero+contentSection(bodyHtml) fallback flattened this into one stacked column with
  no color/size distinction (mdToHtml collapses every heading level to a bare <h2>). See
  renderers/listing-stub.mjs.
*/
.content-body--employment-rfps .employment-rfps__intro {
  text-align: center;
  color: var(--navy);
  font-size: 1.1rem;
  margin: 0 0 2.5rem;
}
.content-body--employment-rfps .employment-rfps__cols {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 3.5rem;
}
.content-body--employment-rfps .employment-rfps__col-title {
  color: var(--navy);
  font-size: clamp(1.5rem, 2vw, 1.9rem);
  margin: 0 0 1rem;
}
.content-body--employment-rfps .employment-rfps__col-body h2 {
  font-size: 1.05rem;
  color: var(--ink-strong);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0 0 .6rem;
}
/* per-posting job title (e.g. "Administrative & Loan Assistant") — LIVE runs this as a
   smaller, centered <h4> under the column's own <h3> title. See renderers/listing-stub.mjs. */
.content-body--employment-rfps .employment-rfps__posting h3 {
  text-align: center;
  font-size: 1.05rem;
  color: var(--ink-strong);
  margin: 0 0 .75rem;
}
.content-body--employment-rfps .employment-rfps__col-body p {
  color: var(--ink);
  margin: 0 0 1rem;
}
@media (max-width: 900px) {
  .content-body--employment-rfps .employment-rfps__cols {
    grid-template-columns: 1fr;
  }
}

/* ── Member directory (CSV, 2026-08-26) ─────────────────────────────────────── */
.dir { padding-top: 4rem; padding-bottom: 5rem; }
.dir__lede { max-width: 42rem; color: var(--ink); margin: 0 0 2rem; }
.dir__controls {
  display: grid;
  grid-template-columns: 1fr minmax(14rem, 18rem);
  gap: 1rem 1.25rem;
  margin: 0 0 1rem;
  align-items: end;
}
.dir__label {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--navy);
}
.dir__label input,
.dir__label select {
  font: inherit;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
  color: var(--ink-strong);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: .65rem .75rem;
  background: #fff;
  width: 100%;
}
.dir__count { margin: 0 0 1.5rem; color: var(--ink); font-size: .9rem; }
.dir__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}
.dir__card {
  border: 1px solid var(--line);
  background: #fff;
  padding: 1.25rem 1.15rem 1.35rem;
}
.dir__name {
  margin: 0 0 .35rem;
  font-size: 1.05rem;
  color: var(--navy);
}
.dir__cat {
  margin: 0 0 .75rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink);
}
.dir__addr,
.dir__phone,
.dir__web { margin: 0 0 .4rem; font-size: .9rem; color: var(--ink); }
.dir__web a,
.dir__phone a { color: var(--navy); }
@media (max-width: 900px) {
  .dir__controls { grid-template-columns: 1fr; }
  .dir__grid { grid-template-columns: 1fr; }
}

/* ══ ADDITIONS, mwed build 1, 2026-09-05 ══════════════════════════════════════════════════════════════════
   Written by mkcss.py. Every rule restores something v1 drew with markup the closed v2 vocabulary cannot
   carry. Nothing here is new design and nothing here is a client preference. */

/* The `image` type draws a wrapper around every <img>; v1's images are BARE <img> children of their container
   (.tib__img > img, .wwl-mosaic__cell > img, .photo-tile__logo), so the wrapper must have no box of its own or
   every one of them gains a block. The wrapper is a <span> except on the two images v1 really did wrap in a
   <figure> -- see make-template.py, and the HTML parser rule that made it a span. */
.media-fill { display: contents; }

/* A HEADING SET IN LINES. v1's home <h1> carries two hard <br>s and the closed inline vocabulary
   (link/em/strong/code) has no break in it, so each line is a <span class="ln">. `display: block` reproduces
   the line boxes exactly: measured 2026-09-05, h1 height 270px = 3 x 90px line-height on both sides. */
.ln { display: block; }
/* A LEADING OR DOUBLE <br> is a real empty line box, and an element with nothing inside it is never emitted, so
   the extractor draws an empty `.ln` and this gives it the line box back. A zero-size inline-block still
   generates one, so the height is the element's own line-height and nothing is assumed about it.
   v1 /fire: `<h1><strong><br>Apex Accelerator<br>...` -- three lines, 244 px. */
.ln:empty::before { content: ""; display: inline-block; }

/* THE CURRENT-PAGE MARKER. v1 writes class="active" on the nav link whose href equals the page's own path;
   a v2 shell is one static string per shape and cannot. The core's own script (src/artifacts.ts SITE_JS)
   sets aria-current="page" on that same link by that same exact-path rule, so these two rules are v1's two
   `.active` rules restated for it, declaration for declaration. v1 declares neither inside any @media
   (checked: the only nav rules under a breakpoint are `.nav { gap }` and `.nav__dropdown { display:none }`),
   so one breakpoint is all there is to write -- P-23 "An open-state instrument must record". */
.nav > .nav__item > a[aria-current="page"] {
  color: var(--nav-active);
  border-bottom-color: transparent;
  background: transparent;
}
.nav__dropdown a[aria-current="page"] { color: var(--nav-active); background: transparent; }

/* CSS-10. v1 carries two `transition` declarations (.btn and .nav) and no prefers-reduced-motion block at
   all, so the check that a visitor who asked for less motion gets it has nothing to read. Duration only:
   nothing here changes a layout, a colour or a position. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; }
}

/* The two DECLARED FIXES that used to sit here (the hero H1 mobile step-down and the phone-overflow
   block) moved to fixes.css, because ../v1-plus-fixes/styles.css has to carry the SAME bytes for the
   isolation instrument to mean anything. See fixes.css. */

/* LATO, SELF-HOSTED. [MARK] 2026-09-05: an inherited v1 defect is FIXED in v2, never reproduced.
   GENERATED ONCE from fonts/google-lato.css (the eight faces Google serves for Lato 300/400/700/900, latin
   and latin-ext) with every gstatic URL rewritten to the fleet host. Appended by mkcss.py.
   THE DEFECT: v1's styles.css line 24 pulls Lato from fonts.googleapis with an at-rule that sits AFTER the
   :root rule, which makes it invalid CSS that every browser ignores. Measured on v1 at 127.0.0.1:8814:
   `document.fonts` is EMPTY and the page issues ZERO requests to fonts.googleapis or fonts.gstatic. The
   brand font has never rendered on v1 -- every page has been drawn in the -apple-system fallback since the
   clone was built, on a site whose own build contract names Lato as the brand face.
   The eight woff2 are byte-identical to Google's, on the fleet host under mwed/fonts/ (uploaded and round-
   tripped 2026-09-05), so no visitor request leaves the fleet. `font-display: swap` is Google's own.
   THIS CHANGES TEXT METRICS ON EVERY PAGE. Every band height on every route was re-measured after it landed;
   the before and after are in answer-key.json. */
/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://media.beargrassai.com/mwed/fonts/S6u9w4BMUTPHh7USSwaPGQ3q5d0N7w.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://media.beargrassai.com/mwed/fonts/S6u9w4BMUTPHh7USSwiPGQ3q5d0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://media.beargrassai.com/mwed/fonts/S6uyw4BMUTPHjxAwXiWtFCfQ7A.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://media.beargrassai.com/mwed/fonts/S6uyw4BMUTPHjx4wXiWtFCc.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://media.beargrassai.com/mwed/fonts/S6u9w4BMUTPHh6UVSwaPGQ3q5d0N7w.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://media.beargrassai.com/mwed/fonts/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(https://media.beargrassai.com/mwed/fonts/S6u9w4BMUTPHh50XSwaPGQ3q5d0N7w.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(https://media.beargrassai.com/mwed/fonts/S6u9w4BMUTPHh50XSwiPGQ3q5d0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/*
  2026-09-16 [MARK]: named heroes are not approved until the H1 sits in the left
  banner. Same construction as FADC: the wrap is a column of the hero, not the
  1120 centered measure. Overlay stays the WordPress 49% stop (banner may move
  further over if a line still will not fit — it is allowed; these pages fit
  at 49% with type sized to the column).
*/
.page-hero--apex,
.page-hero--forestry-application,
.page-hero--masterclass-series,
.page-hero--employment-rfps,
.page-hero--resources,
.page-hero--well-womens-business-center {
  display: grid;
  grid-template-columns: minmax(0, 46%) minmax(0, 1fr);
  align-items: center;
}
.page-hero--apex .wrap.page-hero__inner,
.page-hero--forestry-application .wrap.page-hero__inner,
.page-hero--masterclass-series .wrap.page-hero__inner,
.page-hero--employment-rfps .wrap.page-hero__inner,
.page-hero--resources .wrap.page-hero__inner,
.page-hero--well-womens-business-center .wrap.page-hero__inner {
  grid-column: 1;
  width: 100%;
  max-width: none;
  margin: 0;
  min-width: 0;
  /* Same left edge as `.wrap` on the body (`max-width: 1120px; padding: 0 1.25rem`). */
  padding: 0 1.25rem 0 max(1.25rem, calc((100vw - var(--maxw)) / 2 + 1.25rem));
  box-sizing: border-box;
  align-self: stretch;
  justify-content: flex-start;
  align-items: center;
}
.page-hero--apex .hero-content,
.page-hero--forestry-application .hero-content,
.page-hero--masterclass-series .hero-content,
.page-hero--employment-rfps .hero-content,
.page-hero--resources .hero-content,
.page-hero--well-womens-business-center .hero-content {
  container-type: inline-size;
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  text-align: left;
}
.page-hero--apex h1,
.page-hero--forestry-application h1,
.page-hero--masterclass-series h1,
.page-hero--employment-rfps h1,
.page-hero--resources h1,
.page-hero--well-womens-business-center h1 {
  max-width: 100%;
  font-weight: 300;
  letter-spacing: 0;
  text-align: left;
  line-height: 1.2;
}
/* WordPress desktop: 75/90 or 65/78, weight 300. Not cqw — that was 41px. */
.page-hero--resources h1,
.page-hero--forestry-application h1,
.page-hero--masterclass-series h1,
.page-hero--employment-rfps h1 {
  font-size: 75px;
  line-height: 90px;
}
.page-hero--apex h1,
.page-hero--well-womens-business-center h1 {
  font-size: 65px;
  line-height: 78px;
}
.page-hero--apex h1 .ln,
.page-hero--forestry-application h1 .ln,
.page-hero--masterclass-series h1 .ln,
.page-hero--employment-rfps h1 .ln,
.page-hero--well-womens-business-center h1 .ln {
  display: block;
  white-space: nowrap;
}
.page-hero.page-hero--employment-rfps h1 {
  font-size: 75px;
  line-height: 90px;
}
.page-hero.page-hero--apex::before,
.page-hero.page-hero--forestry-application::before,
.page-hero.page-hero--masterclass-series::before,
.page-hero.page-hero--employment-rfps::before,
.page-hero.page-hero--well-womens-business-center::before {
  background: linear-gradient(105deg, rgba(64, 64, 64, .74) 0%, rgba(64, 64, 64, .74) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero.page-hero--forestry-application::before,
.page-hero.page-hero--masterclass-series::before,
.page-hero.page-hero--employment-rfps::before {
  background: linear-gradient(105deg, rgba(4, 57, 128, .66) 0%, rgba(4, 57, 128, .66) 49%, rgba(0, 0, 0, 0) 49%);
}
.page-hero.page-hero--resources::before {
  background: linear-gradient(105deg, rgba(0, 44, 127, .61) 0%, rgba(0, 44, 127, .61) 49%, rgba(0, 0, 0, 0) 49%);
}
/* 65px WP size on WELL nicks the 49% stop. Banner may move over. FADC matches WP (CENTER past the slash on both). */
.page-hero--well-womens-business-center {
  grid-template-columns: minmax(0, 54%) minmax(0, 1fr);
}
.page-hero.page-hero--well-womens-business-center::before {
  background: linear-gradient(105deg, rgba(64, 64, 64, .74) 0%, rgba(64, 64, 64, .74) 54%, rgba(0, 0, 0, 0) 54%);
}
.page-hero--resources .hero-sub {
  margin: .5rem 0 0;
  color: #fff;
  font-size: 0.72rem;
  font-size: 3.2cqw;
  font-weight: 700;
  letter-spacing: 0.35em;
  line-height: 1.8;
  text-transform: uppercase;
  max-width: 100%;
}
.page-hero--resources .hero-sub .ln { display: block; white-space: nowrap; }
.page-hero--forestry-application .hero-kicker,
.page-hero--masterclass-series .masterclass-hero-kicker {
  letter-spacing: 0.28em;
  font-size: 0.7rem;
  font-size: 3cqw;
  max-width: 100%;
}
.content-body--employment-rfps .employment-rfps__intro {
  text-align: center;
  color: var(--navy);
  font-size: 1.25rem;
  line-height: 1.5;
  max-width: 42rem;
  margin: 0 auto 2.5rem;
}
.content-body--employment-rfps .employment-rfps__col-title {
  color: var(--navy);
  font-size: 2.375rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.15;
  text-transform: uppercase;
  text-align: center;
  margin: 0 0 1rem;
}
.content-body--employment-rfps .employment-rfps__col-title .ln {
  display: block;
}

/* THE DECLARED FIXES. [MARK] 2026-09-05: a defect found on a crossing is FIXED in v2 as a declared deviation,
   never reproduced for parity. Every rule here corrects something v1 does wrong and v2 would otherwise inherit.
   Each is measured, and each is written ONCE at the rule rather than per page.

   THIS FILE IS ALSO APPENDED TO ../v1-plus-fixes/styles.css. That copy of the frozen v1 exists so v2 can be
   measured against "v1 with exactly these fixes and nothing else": if the two agree, every remaining difference
   IS a declared fix. Keeping one file for both is what stops the instrument and the site from drifting apart. */

/* 1. THE HERO H1 HAS NO MOBILE STEP-DOWN IN v1.
   At 390 the heading stays at 75px/90px, so the home hero's three hard lines re-wrap into NINE, the H1 is
   810 px tall instead of 100, and "Resources" measures 411 px from x=20 -- 41 px past the right edge of the
   viewport, clipped off-screen. Measured 2026-09-05, hero-1.txt.
   The values are the WordPress original's own, read off the client's live domain at 390 on seven routes
   (/, /about, /ceds, /members, /apex, /fire, /contact): 25px / 30px / weight 300 on every one, while desktop
   varies between 75/90 and 65/78. `max-width` goes because v1's `18ch` is a DESKTOP measure -- at 25px it is
   252 px and re-wrapped the third line onto a fourth -- and the hero column is widened because it is a flex
   item sized to its own content. After: 350x90, three lines, widest 255 px, all inside the viewport.
   `!important` because eight per-page hero rules set their own font-size inside these breakpoints. */
@media (max-width: 700px) {
  .page-hero h1 { font-size: 25px !important; line-height: 30px !important; max-width: none !important; }
  .page-hero .hero-content { width: 100% !important; }
  .page-hero--apex,
  .page-hero--forestry-application,
  .page-hero--masterclass-series,
  .page-hero--employment-rfps,
  .page-hero--resources,
  .page-hero--well-womens-business-center,
  .page-hero--fadc,
  .page-hero--ceds {
    grid-template-columns: 1fr;
  }
}

/* 2. SEVEN ROUTES SCROLL SIDEWAYS ON A PHONE.
   Measured 2026-09-05 with overflow.mjs at 390 on BOTH sides, so every one of these is v1's and inherited:
     /contact           scrollWidth 1070 -- `.contact-layout__form` and `.static-form--gravity` carry
                        `width: 747px` in pixels with no mobile override, so the form runs 377 px off the
                        screen and the whole contact sidebar sits outside the viewport entirely
     /privacy-policy      832 -- an <a> whose text is a 700 px unbroken URL
     /forestry-assistance 670 -- the same, plus two <strong> runs
     /financing           663 -- an <a> whose text is an email address
     /peer, /peerspectives 574 -- an <img> with `max-width: 554px` in pixels
     /members             408 -- two <img> with `max-width: 203px` in pixels
   MeatCheck's mobile pass names horizontal scroll a blocker, and it is: a visitor cannot fill in a form they
   have to drag sideways to see. Bounded to the three causes measured, at the same breakpoint as fix 1. */
@media (max-width: 700px) {
  /* pixel widths and pixel max-widths, on the form and on the images that carry them */
  img { max-width: 100% !important; height: auto !important; }
  .contact-layout__form, .static-form, .libby__split__text,
  .form-row, .form-row-pair, .form-row--half { width: auto !important; max-width: 100% !important; }
  /* TWO-COLUMN GRIDS THAT NEVER COLLAPSE. `.contact-layout` is
     `minmax(0, 747fr) minmax(240px, 342fr)` -- the 240px MINIMUM alone is most of a phone, so the row cannot
     fit and the sidebar leaves the screen. `.libby__split` is `1fr 1fr`, and an `auto` track minimum is the
     widest unbreakable word, which its 45px heading supplies. One column each, below the breakpoint. */
  .contact-section--std .contact-layout, .contact-layout,
  .content-body--libby-peerspectives .libby__split { grid-template-columns: 1fr !important; }
  .libby__split > *, .contact-layout > * { min-width: 0 !important; }
  /* a word that cannot fit breaks rather than pushing the page sideways: a 700px URL on /privacy-policy, an
     email address on /financing, a long <strong> run on /forestry-assistance */
  main a, main p, main li, main strong, main h1, main h2, main h3, main h4 { overflow-wrap: anywhere; }
}

/* 3. ELEVEN DESTINATIONS ARE UNREACHABLE FROM THE PHONE NAV.
   Validator M2, MeatCheck BLOCKER, 2026-09-05. v1's `@media (max-width: 600px)` sets
   `.nav__dropdown { position: static; ...; display: none }` and puts nothing in its place, so on a phone the
   only way to Apex Accelerator, Brownfields, Food and Ag Development Center, Forestry Assistance,
   PeerSpectives, Masterclass Series, Directory, Events, Jobs & RFPs, Resources (the dropdown copy) and CEDS is
   through their parent page -- while the parent still shows a chevron, which promises a menu that never opens.
   THE FIX IS SCRIPT-FREE AND CHANGES NO MARKUP: below 600px the nav becomes a stack and each dropdown's own
   links are shown INDENTED under their parent, in v1's own `.nav__dropdown a` styling. The chevron goes,
   because it now promises something that is already open. Desktop is untouched -- every rule is inside the
   breakpoint v1 already uses to hide them.
   THE HEADER GETS TALLER ON A PHONE. That is the cost and it is declared with its measurement in
   answer-key.json; it moves every band below it on all 38 routes, and the isolation copy carries the same rule
   so the comparison still holds. */
@media (max-width: 600px) {
  .nav { flex-direction: column !important; align-items: flex-start !important; gap: 0 !important; width: 100%; }
  .nav__item { width: 100%; }
  .nav > .nav__item > a { display: block !important; padding: .45rem 0 !important; }
  .nav > .nav__item.nav__item--has-children > a { padding-right: 0 !important; }
  .nav__item--has-children > a::after { display: none !important; }
  .nav__dropdown { display: grid !important; grid-template-columns: 1fr 1fr; column-gap: .75rem;
    position: static !important; min-width: 0 !important;
    background: transparent !important; border: 0 !important; box-shadow: none !important;
    padding: 0 0 .2rem .9rem !important; z-index: auto !important; }
  .nav__dropdown a { padding: .25rem 0 !important; white-space: normal !important; }
}

/* GLYPHS, generated by extract-v1.py 2026-09-04. Every inline SVG v1 carried, keyed by content hash and
   drawn as a mask so the element that carries it holds no markup. Decoration is stylesheet, not content. */

/* INLINE STYLES, generated by extract-v1.py 2026-09-04. v1 wrote these as style="" attributes; H-13 forbids the
   attribute, so each distinct declaration list is one utility class, named by hash, carried by the same element. */
.u-c6d49a{background-image:url('https://media.beargrassai.com/mwed/AmandaGuyPhoto_MT_Sunrise_INNSPACE-1004.jpg') !important}
.u-a14bee{background-image:url('https://media.beargrassai.com/mwed/Comet_BigMtn-1032.png') !important}
.u-f2e8db{background-image:url('https://media.beargrassai.com/mwed/MT_PTAC_Group-99.jpg') !important}
.u-15a36c{background-image:url('https://media.beargrassai.com/mwed/Kalispell_Core_Rail_Group-100.jpg') !important}
.u-8f40d2{background-image:url('https://media.beargrassai.com/mwed/DSC00211.png') !important}
.u-4816d2{background-image:url('https://media.beargrassai.com/mwed/Northwest-Montana-History-Museum-1200x857-1.jpeg') !important}
.u-0ea0ae{background-image:url('https://media.beargrassai.com/mwed/Somers-Bay.png') !important}
.u-d0a784{background-image:url('https://media.beargrassai.com/mwed/Sailing-Flatheadweb-3861.png') !important}
.u-1d2899{background-image:url('https://media.beargrassai.com/mwed/Comet_BigMtn-1006@2x.jpg') !important}
.u-731ae9{background-image:url('https://media.beargrassai.com/mwed/Vault-Media_MT_DSC01872.jpg') !important}
.u-daa6af{background-image:url('https://media.beargrassai.com/mwed/LEAN101.jpg') !important}
.u-81ce44{background-image:url('https://media.beargrassai.com/mwed/GTTS_May2021-1083.png') !important}
.u-7a3f56{background-image:url('https://media.beargrassai.com/mwed/meatheader-scaled.jpg') !important}
.u-8d253c{background-image:url('https://media.beargrassai.com/mwed/GRP-Sunrise.jpg') !important}
.u-45b06f{background-image:url('https://media.beargrassai.com/mwed/Group-102.png') !important}
.u-72244e{background-image:url('https://media.beargrassai.com/mwed/Group-101.png') !important}
.u-a91812{background-image:url('https://media.beargrassai.com/mwed/Group-100.png') !important}

/* H-4 LOWERED HEADINGS, RESTORED. Generated by lowered.mjs from v1's OWN computed styles, 2026-09-05.
   The extractor renumbers a heading that jumps more than one level (H-4) and marks it `was-h<orig>`; these
   rules give it back exactly the type v1 drew. The outline changes for a screen reader; the screen does not.
   Nothing here is authored — every value was read off v1 at 1280. */
.section.brownfields-band.brownfields-band--gray.brownfields-define h2.was-h3 { letter-spacing: 3.2px !important; }
.section.forestry-cwdg h2.was-h3 { letter-spacing: normal !important; color: rgb(51, 51, 51) !important; }
.section.resource-band.resource-band--gray.live-work-play__accolades h2.was-h5 { font-size: 16px !important; font-weight: 700 !important; line-height: 28.8px !important; letter-spacing: normal !important; text-transform: none !important; text-align: center !important; margin-bottom: 24px !important; }
.section.resource-band.resource-band--gray.live-work-play__accolades h2.was-h5:last-child { font-size: 16px !important; font-weight: 700 !important; line-height: 28.8px !important; letter-spacing: normal !important; text-transform: none !important; text-align: center !important; margin-bottom: 0px !important; }
.section.content-body.content-body--masterclass.masterclass-track h2.was-h5 { font-size: 23px !important; font-weight: 300 !important; line-height: 32.2px !important; letter-spacing: normal !important; margin-top: 40px !important; margin-bottom: 16px !important; }
.section.content-body.content-body--masterclass.masterclass-course h3.was-h6 { font-size: 21px !important; font-weight: 700 !important; line-height: 29.4px !important; letter-spacing: normal !important; margin-bottom: 16px !important; }
