/* FRB site stylesheet. Built 2026-11-02 00:07 UTC from WPCode snippets, in their print order.
   Violet Crown Analytics. Edit through VCA. */

/* ===== Sponsor the Bridge (5287): How to become a sponsor in a full-width navy band (Kara, 2026-11-01) ===== */
html body.page-id-5287 blockquote.frb-quote + h3,html body.page-id-5287 blockquote.frb-quote + h3 ~ p{background:#0b1a3d !important;color:#e7ecf6 !important;box-shadow:0 0 0 100vmax #0b1a3d;clip-path:inset(-2px -100vmax);margin-top:0 !important;margin-bottom:0 !important;border:0 !important;outline:0 !important}
html body.page-id-5287 blockquote.frb-quote + h3{color:#fff !important;margin-top:48px !important;padding-top:48px !important;padding-bottom:12px !important}
html body.page-id-5287 blockquote.frb-quote + h3 ~ p{padding-bottom:14px !important}
html body.page-id-5287 blockquote.frb-quote + h3 ~ p:last-of-type{padding-bottom:48px !important;margin-bottom:40px !important}
html body.page-id-5287 blockquote.frb-quote + h3 ~ p a{color:#e4c018 !important;font-weight:700}
html body.page-id-5287 blockquote.frb-quote + h3 ~ p a:hover,html body.page-id-5287 blockquote.frb-quote + h3 ~ p a:focus{color:#fff !important}

/* ===== Retreats (5322): Tim Wagner quote above How registering works, set apart as a callout (Kara, 2026-11-01) ===== */
html body.page-id-5322 blockquote.frb-quote:has(a.frb-quote-link){background:#f6f4ee !important;border:0 !important;border-left:5px solid #0d129e !important;border-radius:4px !important;margin:36px 0 40px !important;padding:28px 32px !important;box-shadow:none !important;font-style:normal}
html body.page-id-5322 blockquote.frb-quote:has(a.frb-quote-link) p{font-size:23px !important;line-height:1.45 !important;color:#121A2E !important;font-weight:600;margin:0 0 12px !important;font-style:normal}
html body.page-id-5322 blockquote.frb-quote:has(a.frb-quote-link) cite{display:block;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8a7a3a !important;font-style:normal}
html body.page-id-5322 blockquote.frb-quote a.frb-quote-link{display:inline-block;margin-top:16px;padding:10px 18px;background:#0b1a3d;color:#fff !important;border-radius:3px;font-size:15px;text-decoration:none !important}
html body.page-id-5322 blockquote.frb-quote a.frb-quote-link:hover,html body.page-id-5322 blockquote.frb-quote a.frb-quote-link:focus{background:#0d129e}
@media (max-width:600px){html body.page-id-5322 blockquote.frb-quote:has(a.frb-quote-link){padding:22px 20px !important}html body.page-id-5322 blockquote.frb-quote:has(a.frb-quote-link) p{font-size:19px !important}}

/* ===== Link from a quote to its video (Retreats to Resources, Kara 2026-11-01) ===== */
#tim-wagner{scroll-margin-top:110px}
blockquote.frb-quote a.frb-quote-link{display:inline-block;margin-top:10px;font-size:15px;font-weight:700;font-style:normal;color:#1a5fa8;text-decoration:none}
blockquote.frb-quote a.frb-quote-link:hover,blockquote.frb-quote a.frb-quote-link:focus{text-decoration:underline}

/* ===== Video beside its quote (Resources, Kara 2026-11-01) ===== */
.frb-vid-pair{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:36px;align-items:center;max-width:1080px;margin:34px auto}
.frb-vid-pair .frb-vid{margin:0;max-width:none}
.frb-vid-pair blockquote.frb-quote{margin:0 !important}
@media (max-width:860px){.frb-vid-pair{grid-template-columns:1fr;gap:20px}}

/* ===== Get Help page easier to find (Kara, 2026-11-01) ===== */
/* footer Get Help Now box: the Resources link becomes a gold button */
body.frbx-on .frbx-main .frbx-help a[href="/resources/"]{display:inline-block;margin:6px 0 10px;padding:10px 16px;background:var(--x-gold,#e4c018);color:var(--x-deep,#071228) !important;font-family:var(--x-display);font-weight:700;font-size:14.5px;border-radius:3px;text-decoration:none !important}
body.frbx-on .frbx-main .frbx-help a[href="/resources/"]:hover,body.frbx-on .frbx-main .frbx-help a[href="/resources/"]:focus{background:#fff;color:var(--x-deep,#071228) !important}
/* top crisis strip: the Get help now label links to /resources/ (link added by snippet) */
body.frbx-on .frbx-crisis a.frbx-gethelp{border-bottom:0 !important;text-decoration:none}
body.frbx-on .frbx-crisis a.frbx-gethelp strong{text-decoration:underline;text-decoration-color:rgba(228,192,24,.5);text-underline-offset:3px}
body.frbx-on .frbx-crisis a.frbx-gethelp:hover strong,body.frbx-on .frbx-crisis a.frbx-gethelp:focus strong{color:#fff;text-decoration-color:#fff}

/* ===== Testimonial videos (Kara, 2026-11-01): Families, Partners, Who We Have Served, Resources ===== */
.frb-vid{margin:30px auto;max-width:860px;padding:0}
.frb-vid video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#0b1a3d;border-radius:4px}
.frb-vid figcaption{margin-top:8px;font-size:14px;color:#5a5f6b;text-align:center}
.frb-vid-note{max-width:860px;margin:30px auto -14px;background:#fff7e0;border-left:4px solid #e4c018;padding:12px 16px;font-size:15px;line-height:1.5;color:#2b2f3a}
.frb-vid-note a{font-weight:700}

/* ===== Become a Sponsor (5283): the two quotes become one full-width navy band (Kara, 2026-11-01) ===== */
html body.page-id-5283 .frb-detail blockquote.frb-quote{background:#0b1a3d !important;color:#fff !important;border:0 !important;border-radius:0 !important;box-shadow:0 0 0 100vmax #0b1a3d;clip-path:inset(-2px -100vmax);outline:0 !important;margin:0 !important;padding:16px 0 !important;text-align:center;font-style:normal}
html body.page-id-5283 .frb-detail blockquote.frb-quote + blockquote.frb-quote{padding-top:44px !important}
html body.page-id-5283 .frb-detail blockquote.frb-quote + blockquote.frb-quote::before{content:"";display:block;width:56px;height:2px;background:#e4c018;margin:0 auto 36px}
html body.page-id-5283 .frb-detail p + blockquote.frb-quote{margin-top:46px !important;padding-top:54px !important}
html body.page-id-5283 .frb-detail blockquote.frb-quote:has(+ h3){margin-bottom:46px !important;padding-bottom:54px !important}
html body.page-id-5283 .frb-detail blockquote.frb-quote p{color:#fff !important;font-size:22px;line-height:1.45;max-width:760px;margin:0 auto !important;font-style:normal}
html body.page-id-5283 .frb-detail blockquote.frb-quote cite{display:block;margin-top:10px;color:#e4c018 !important;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-style:normal}
@media (max-width:600px){html body.page-id-5283 .frb-detail blockquote.frb-quote p{font-size:19px}}

/* ===== Sponsors page cards (Kara, 2026-11-01): sponsorship name + plain-words line under it ===== */
.frb-card-body h3 .frb-card-sub{display:block;margin-top:4px;font-size:15px;font-weight:600;letter-spacing:.02em;color:#8a7a3a}

/* ===== Home donate band (Kara, 2026-11-01): navy band, red button. html prefix outranks the original rules. ===== */
html body.page-id-5352 .frbhp-cta{background:var(--navy,#0b1a3d);color:#fff}
html body.page-id-5352 .frbhp-cta p{color:#dbe3f0}
html body.page-id-5352 .frbhp-cta .frbhp-btn{background:var(--fire,#ce152d);color:#fff}
html body.page-id-5352 .frbhp-cta .frbhp-btn:hover,html body.page-id-5352 .frbhp-cta .frbhp-btn:focus{background:#a80f22;color:#fff}


/* ===== from snippet #6040: FRB — Bloomerang forms: center the PayPal / Venmo buttons (all forms) ===== */
/* =========================================================
   FRB, every Bloomerang form on the site: center the PayPal / Venmo
   buttons. Violet Crown Analytics, 2026-10-30.

   Kara's standing rule (2026-10-30): any form, now and going forward,
   gets the PayPal and Venmo buttons centered.

   Bloomerang's own CSS caps #paypal-button-container at 275px wide
   with no centering, and the container sits outside the form's
   sections, so the buttons land at the far left of the form when a
   donor picks "PayPal or Venmo". This applies to every embed (donation
   and registration) with no page list, so a new form is covered the
   moment it's pasted. (2,0,0) specificity beats Bloomerang's
   `.donation-form #paypal-button-container` (1,1,0).
   ========================================================= */
#donation-form-container #paypal-button-container,
#registration-form-container #paypal-button-container {
  width: 100%;
  max-width: 360px;
  margin: 8px auto 12px;
  padding: 0;
  box-sizing: border-box;
}


/* ===== from snippet #6037: FRB — Giving Tuesday 2026 (page 5570): tighter giving form ===== */
/* =========================================================
   FRB, Giving Tuesday 2026 page (5570): a tighter Bloomerang form.
   Violet Crown Analytics, 2026-10-30. Same treatment as the
   Come From Away form (snippet 6012): amounts in 2 columns,
   contact info in 2 columns, everything tightened up.
   Rev b 2026-10-30: the amount labels picked up a second 2px border
   and rounded corners from a site-wide giving-form rule; cleared here
   so each amount has one border, matching Come From Away.
   Rev c 2026-10-30: the PayPal / Venmo buttons sat at the far left,
   outside the form column (Bloomerang caps them at 275px, no centering).
   Centered under the payment choices.

   Scoped to body.page-id-5570, so no other giving form moves. The
   page keeps its ID when it moves to /campaigns/, so this follows it.

   FORM SHAPE THIS ASSUMES (form 68580352, embed snippet 6035)
     6 levels + Other  -> 2 columns, Other's amount box beside Other
     5 payment methods -> one row of 5 on desktop
   If Bloomerang's levels or methods change, revisit those two blocks.
   ========================================================= */

/* one column for the whole form, the same 720 the site uses for tables */
html body.page-id-5570 #donation-form-container #donation-form.donation-form .section {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}
html body.page-id-5570 #donation-form-container .donation-form h3 {
  margin: 22px 0 10px;
  font-size: 19px;
  line-height: 1.3;
}
html body.page-id-5570 #donation-form-container .donation-form .section.donation > h3 {
  margin-top: 0;
}

/* ---------- amounts: two columns of chips ---------- */
html body.page-id-5570 #donation-form-container .donation-form .section.donation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  align-items: stretch;
}
html body.page-id-5570 #donation-form-container .donation-form .section.donation > h3 {
  grid-column: 1 / -1;
}
html body.page-id-5570 #donation-form-container .donation-form .section.donation .field.radio {
  display: block;
  margin: 0;
  padding: 0;
  border: 1px solid #C9CEDB;
  border-radius: 4px;
  background: #FFF;
  transition: border-color .14s, background-color .14s;
}
html body.page-id-5570 #donation-form-container .donation-form .section.donation .field.radio::before {
  display: none;
}
html body.page-id-5570 #donation-form-container .donation-form .section.donation .field.radio:hover {
  border-color: #121A2E;
}
html body.page-id-5570 #donation-form-container .donation-form .section.donation .field.radio:has(input:checked) {
  border-color: #121A2E;
  background: #F6F4EF;
  box-shadow: inset 0 0 0 1px #121A2E;
}
html body.page-id-5570 #donation-form-container .donation-form .section.donation .field.radio > label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 11px 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.35;
  color: #121A2E;
  cursor: pointer;
}
html body.page-id-5570 #donation-form-container .donation-form .section.donation .field.radio input[type="radio"] {
  margin: 0 !important;
  width: auto;
  flex: 0 0 auto;
}
/* six levels fill rows 1-3; Other starts row 4 and its amount box sits
   beside it, so the two read as one control */
html body.page-id-5570 #donation-form-container .donation-form .section.donation .field.text.other-amount {
  grid-column: 2;
  display: block;
  align-self: center;
  margin: 0;
  padding: 0;
}
html body.page-id-5570 #donation-form-container .donation-form .section.donation #other-amount {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  padding: 10px 12px;
}

/* ---------- recurring + fee checkboxes: one line each ---------- */
html body.page-id-5570 #donation-form-container .donation-form .section.recurring,
html body.page-id-5570 #donation-form-container .donation-form .section.true-impact {
  margin-top: 14px;
}
html body.page-id-5570 #donation-form-container .donation-form .section.recurring .field,
html body.page-id-5570 #donation-form-container .donation-form .section.true-impact .field {
  padding: 0;
}
html body.page-id-5570 #donation-form-container .donation-form .section.recurring .field.checkbox > label,
html body.page-id-5570 #donation-form-container .donation-form .section.true-impact .field.checkbox > label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 4px 0;
  font-size: 15px;
}
html body.page-id-5570 #donation-form-container .donation-form .section.recurring .field.checkbox input,
html body.page-id-5570 #donation-form-container .donation-form .section.true-impact .field.checkbox input {
  margin: 0 !important;
  width: auto;
}
html body.page-id-5570 #donation-form-container .donation-form .section.recurring .recurring-paypal-venmo-label-info label {
  margin: 0 0 0 26px;
  padding: 0;
  font-size: 13px;
  color: #3A4257;
}
html body.page-id-5570 #donation-form-container .donation-form .section.recurring .field.frequency {
  max-width: 260px;
  margin: 8px 0 0 26px;
}

/* ---------- field rhythm: labels close to their boxes ---------- */
html body.page-id-5570 #donation-form-container .donation-form .section.contact .field,
html body.page-id-5570 #donation-form-container .donation-form .section.billing-address .field,
html body.page-id-5570 #donation-form-container .donation-form .section.comment .field,
html body.page-id-5570 #donation-form-container .donation-form .section.payment .field.number,
html body.page-id-5570 #donation-form-container .donation-form .section.recurring .field.frequency {
  padding: 0 0 10px;
  min-width: 0;
}
html body.page-id-5570 #donation-form-container .donation-form .section.contact .field > label,
html body.page-id-5570 #donation-form-container .donation-form .section.billing-address .field > label,
html body.page-id-5570 #donation-form-container .donation-form .section.comment .field > label,
html body.page-id-5570 #donation-form-container .donation-form .section.payment .field.number > label,
html body.page-id-5570 #donation-form-container .donation-form .section.recurring .field.frequency > label {
  margin: 0 0 4px;
  font-size: 14px;
  line-height: 1.3;
}
html body.page-id-5570 #donation-form-container .donation-form .section.contact .field input,
html body.page-id-5570 #donation-form-container .donation-form .section.billing-address .field input,
html body.page-id-5570 #donation-form-container .donation-form .section.billing-address .field select,
html body.page-id-5570 #donation-form-container .donation-form .section.billing-address .field textarea,
html body.page-id-5570 #donation-form-container .donation-form .section.comment .field textarea,
html body.page-id-5570 #donation-form-container .donation-form .section.payment .field.number input,
html body.page-id-5570 #donation-form-container .donation-form .section.recurring .field.frequency select {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  padding: 9px 10px;
  margin: 0;
}

/* ---------- contact: two pairs ---------- */
html body.page-id-5570 #donation-form-container .donation-form .section.contact {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 14px;
}
html body.page-id-5570 #donation-form-container .donation-form .section.contact > h3 {
  grid-column: 1 / -1;
}
html body.page-id-5570 #donation-form-container .donation-form .section.contact > .field {
  grid-column: span 1;
}

/* ---------- billing: country + street side by side, then city / state / ZIP ---------- */
html body.page-id-5570 #donation-form-container .donation-form .section.billing-address {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0 14px;
}
html body.page-id-5570 #donation-form-container .donation-form .section.billing-address > .field { grid-column: 1 / -1; }
html body.page-id-5570 #donation-form-container .donation-form .section.billing-address > .field.country { grid-column: span 4; }
html body.page-id-5570 #donation-form-container .donation-form .section.billing-address > .field.street-address { grid-column: span 8; }
html body.page-id-5570 #donation-form-container .donation-form .section.billing-address > .field.city { grid-column: span 5; }
html body.page-id-5570 #donation-form-container .donation-form .section.billing-address > .field.state,
html body.page-id-5570 #donation-form-container .donation-form .section.billing-address > .field.province { grid-column: span 4; }
html body.page-id-5570 #donation-form-container .donation-form .section.billing-address > .field.zip-code,
html body.page-id-5570 #donation-form-container .donation-form .section.billing-address > .field.postal-code { grid-column: span 3; }
/* the street box matches the height of the country select beside it */
html body.page-id-5570 #donation-form-container .donation-form .section.billing-address #street-address {
  height: 40px;
  min-height: 40px;
  resize: vertical;
}

/* ---------- comment: a short box, not a page ---------- */
html body.page-id-5570 #donation-form-container .donation-form .section.comment {
  margin-top: 4px;
}
html body.page-id-5570 #donation-form-container .donation-form .section.comment textarea {
  height: 64px;
  min-height: 64px;
  resize: vertical;
}

/* ---------- payment: five methods, one row ---------- */
html body.page-id-5570 #donation-form-container .donation-form .section.payment {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 0 8px;
  align-items: stretch;
}
html body.page-id-5570 #donation-form-container .donation-form .section.payment > * {
  grid-column: 1 / -1;
  min-width: 0;
}
html body.page-id-5570 #donation-form-container .donation-form .section.payment > .field.radio {
  grid-column: span 2;
  margin: 0 0 12px;
  padding: 0;
  border: 1px solid #C9CEDB;
  border-radius: 4px;
  background: #FFF;
  transition: border-color .14s, background-color .14s;
}
html body.page-id-5570 #donation-form-container .donation-form .section.payment > .field.radio:hover {
  border-color: #121A2E;
}
html body.page-id-5570 #donation-form-container .donation-form .section.payment > .field.radio:has(input:checked) {
  border-color: #121A2E;
  background: #F6F4EF;
  box-shadow: inset 0 0 0 1px #121A2E;
}
html body.page-id-5570 #donation-form-container .donation-form .section.payment > .field.radio > label {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 10px 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.25;
  color: #121A2E;
  cursor: pointer;
}
html body.page-id-5570 #donation-form-container .donation-form .section.payment > .field.radio input[type="radio"] {
  margin: 0 !important;
  width: auto;
  flex: 0 0 auto;
}
/* routing and account appear together once Checking or Savings is picked */
html body.page-id-5570 #donation-form-container .donation-form .section.payment > .field.routingNumber,
html body.page-id-5570 #donation-form-container .donation-form .section.payment > .field.accountNumber {
  grid-column: span 5;
}

/* ---------- PayPal / Venmo buttons: centered under the payment choices ---------- */
html body.page-id-5570 #donation-form-container #donation-form #paypal-button-container {
  width: 100%;
  max-width: 360px;
  margin: 8px auto 12px;
  padding: 0;
  box-sizing: border-box;
}

/* ---------- narrower screens ---------- */
@media (max-width: 760px) {
  /* payment: two by two, PayPal or Venmo across the bottom */
  html body.page-id-5570 #donation-form-container .donation-form .section.payment > .field.radio { grid-column: span 5; }
  html body.page-id-5570 #donation-form-container .donation-form .section.payment > .field.radio.PayPalVenmo { grid-column: 1 / -1; }
  html body.page-id-5570 #donation-form-container .donation-form .section.billing-address > .field.country,
  html body.page-id-5570 #donation-form-container .donation-form .section.billing-address > .field.street-address { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  html body.page-id-5570 #donation-form-container .donation-form .section.donation,
  html body.page-id-5570 #donation-form-container .donation-form .section.contact {
    grid-template-columns: minmax(0, 1fr);
  }
  html body.page-id-5570 #donation-form-container .donation-form .section.donation .field.text.other-amount {
    grid-column: 1;
    margin-top: -4px;
  }
  html body.page-id-5570 #donation-form-container .donation-form .section.billing-address > .field.city { grid-column: 1 / -1; }
  html body.page-id-5570 #donation-form-container .donation-form .section.billing-address > .field.state,
  html body.page-id-5570 #donation-form-container .donation-form .section.billing-address > .field.province { grid-column: span 7; }
  html body.page-id-5570 #donation-form-container .donation-form .section.billing-address > .field.zip-code,
  html body.page-id-5570 #donation-form-container .donation-form .section.billing-address > .field.postal-code { grid-column: span 5; }
  html body.page-id-5570 #donation-form-container .donation-form .section.payment > .field.routingNumber,
  html body.page-id-5570 #donation-form-container .donation-form .section.payment > .field.accountNumber { grid-column: 1 / -1; }
}


/* ===== from snippet #6012: FRB — Come From Away (page 6003): tighter giving form ===== */
/* =========================================================
   FRB, Come From Away page (6003): a tighter Bloomerang form.
   Violet Crown Analytics, 2026-10-28.

   Kara: amount options in 2 columns, contact info in 2 columns,
   and tighten everything up a little.

   Scoped to body.page-id-6003, so no other giving form moves. The
   page keeps its ID when it leaves /preview/, so this follows it.
   Self-contained on purpose: it sets its own grids rather than
   leaning on .frb-hero-title (snippets 5281, 5298), so it keeps
   working whatever that class does at go-live.

   The 720 column rule carries #donation-form as well: 5281's
   `.section:not(.donation)` 560px cap is (1,3,2), tied this rule at
   (1,3,2) and printed later, so it won. (2,3,2) settles it.

   FORM SHAPE THIS ASSUMES (form 67690496)
     5 levels + Other  -> 2 columns, Other's amount box under Other
     5 payment methods -> one row of 5 on desktop
   If Bloomerang's levels or methods change, revisit those two blocks.
   ========================================================= */

/* one column for the whole form, the same 720 the site uses for tables */
html body.page-id-6003 #donation-form-container #donation-form.donation-form .section {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}
html body.page-id-6003 #donation-form-container .donation-form h3 {
  margin: 22px 0 10px;
  font-size: 19px;
  line-height: 1.3;
}
html body.page-id-6003 #donation-form-container .donation-form .section.donation > h3 {
  margin-top: 0;
}

/* ---------- amounts: two columns of chips ---------- */
html body.page-id-6003 #donation-form-container .donation-form .section.donation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  align-items: stretch;
}
html body.page-id-6003 #donation-form-container .donation-form .section.donation > h3 {
  grid-column: 1 / -1;
}
html body.page-id-6003 #donation-form-container .donation-form .section.donation .field.radio {
  display: block;
  margin: 0;
  padding: 0;
  border: 1px solid #C9CEDB;
  border-radius: 4px;
  background: #FFF;
  transition: border-color .14s, background-color .14s;
}
html body.page-id-6003 #donation-form-container .donation-form .section.donation .field.radio::before {
  display: none;
}
html body.page-id-6003 #donation-form-container .donation-form .section.donation .field.radio:hover {
  border-color: #121A2E;
}
html body.page-id-6003 #donation-form-container .donation-form .section.donation .field.radio:has(input:checked) {
  border-color: #121A2E;
  background: #F6F4EF;
  box-shadow: inset 0 0 0 1px #121A2E;
}
html body.page-id-6003 #donation-form-container .donation-form .section.donation .field.radio > label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 11px 14px;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.35;
  color: #121A2E;
  cursor: pointer;
}
html body.page-id-6003 #donation-form-container .donation-form .section.donation .field.radio input[type="radio"] {
  margin: 0 !important;
  width: auto;
  flex: 0 0 auto;
}
/* five levels fill rows 1-3 with Other beside the fifth; its amount box
   sits directly under it, so the two read as one control */
html body.page-id-6003 #donation-form-container .donation-form .section.donation .field.text.other-amount {
  grid-column: 2;
  display: block;
  margin: -4px 0 0;
  padding: 0;
}
html body.page-id-6003 #donation-form-container .donation-form .section.donation #other-amount {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  padding: 10px 12px;
}

/* ---------- recurring + fee checkboxes: one line each ---------- */
html body.page-id-6003 #donation-form-container .donation-form .section.recurring,
html body.page-id-6003 #donation-form-container .donation-form .section.true-impact {
  margin-top: 14px;
}
html body.page-id-6003 #donation-form-container .donation-form .section.recurring .field,
html body.page-id-6003 #donation-form-container .donation-form .section.true-impact .field {
  padding: 0;
}
html body.page-id-6003 #donation-form-container .donation-form .section.recurring .field.checkbox > label,
html body.page-id-6003 #donation-form-container .donation-form .section.true-impact .field.checkbox > label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 4px 0;
  font-size: 15px;
}
html body.page-id-6003 #donation-form-container .donation-form .section.recurring .field.checkbox input,
html body.page-id-6003 #donation-form-container .donation-form .section.true-impact .field.checkbox input {
  margin: 0 !important;
  width: auto;
}
html body.page-id-6003 #donation-form-container .donation-form .section.recurring .recurring-paypal-venmo-label-info label {
  margin: 0 0 0 26px;
  padding: 0;
  font-size: 13px;
  color: #3A4257;
}
html body.page-id-6003 #donation-form-container .donation-form .section.recurring .field.frequency {
  max-width: 260px;
  margin: 8px 0 0 26px;
}

/* ---------- field rhythm: labels close to their boxes ---------- */
html body.page-id-6003 #donation-form-container .donation-form .section.contact .field,
html body.page-id-6003 #donation-form-container .donation-form .section.billing-address .field,
html body.page-id-6003 #donation-form-container .donation-form .section.comment .field,
html body.page-id-6003 #donation-form-container .donation-form .section.payment .field.number,
html body.page-id-6003 #donation-form-container .donation-form .section.recurring .field.frequency {
  padding: 0 0 10px;
  min-width: 0;
}
html body.page-id-6003 #donation-form-container .donation-form .section.contact .field > label,
html body.page-id-6003 #donation-form-container .donation-form .section.billing-address .field > label,
html body.page-id-6003 #donation-form-container .donation-form .section.comment .field > label,
html body.page-id-6003 #donation-form-container .donation-form .section.payment .field.number > label,
html body.page-id-6003 #donation-form-container .donation-form .section.recurring .field.frequency > label {
  margin: 0 0 4px;
  font-size: 14px;
  line-height: 1.3;
}
html body.page-id-6003 #donation-form-container .donation-form .section.contact .field input,
html body.page-id-6003 #donation-form-container .donation-form .section.billing-address .field input,
html body.page-id-6003 #donation-form-container .donation-form .section.billing-address .field select,
html body.page-id-6003 #donation-form-container .donation-form .section.billing-address .field textarea,
html body.page-id-6003 #donation-form-container .donation-form .section.comment .field textarea,
html body.page-id-6003 #donation-form-container .donation-form .section.payment .field.number input,
html body.page-id-6003 #donation-form-container .donation-form .section.recurring .field.frequency select {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  padding: 9px 10px;
  margin: 0;
}

/* ---------- contact: two pairs ---------- */
html body.page-id-6003 #donation-form-container .donation-form .section.contact {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 14px;
}
html body.page-id-6003 #donation-form-container .donation-form .section.contact > h3 {
  grid-column: 1 / -1;
}
html body.page-id-6003 #donation-form-container .donation-form .section.contact > .field {
  grid-column: span 1;
}

/* ---------- billing: country + street side by side, then city / state / ZIP ---------- */
html body.page-id-6003 #donation-form-container .donation-form .section.billing-address {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0 14px;
}
html body.page-id-6003 #donation-form-container .donation-form .section.billing-address > .field { grid-column: 1 / -1; }
html body.page-id-6003 #donation-form-container .donation-form .section.billing-address > .field.country { grid-column: span 4; }
html body.page-id-6003 #donation-form-container .donation-form .section.billing-address > .field.street-address { grid-column: span 8; }
html body.page-id-6003 #donation-form-container .donation-form .section.billing-address > .field.city { grid-column: span 5; }
html body.page-id-6003 #donation-form-container .donation-form .section.billing-address > .field.state,
html body.page-id-6003 #donation-form-container .donation-form .section.billing-address > .field.province { grid-column: span 4; }
html body.page-id-6003 #donation-form-container .donation-form .section.billing-address > .field.zip-code,
html body.page-id-6003 #donation-form-container .donation-form .section.billing-address > .field.postal-code { grid-column: span 3; }
/* the street box matches the height of the country select beside it */
html body.page-id-6003 #donation-form-container .donation-form .section.billing-address #street-address {
  height: 40px;
  min-height: 40px;
  resize: vertical;
}

/* ---------- comment: a short box, not a page ---------- */
html body.page-id-6003 #donation-form-container .donation-form .section.comment {
  margin-top: 4px;
}
html body.page-id-6003 #donation-form-container .donation-form .section.comment textarea {
  height: 64px;
  min-height: 64px;
  resize: vertical;
}

/* ---------- payment: five methods, one row ---------- */
html body.page-id-6003 #donation-form-container .donation-form .section.payment {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 0 8px;
  align-items: stretch;
}
html body.page-id-6003 #donation-form-container .donation-form .section.payment > * {
  grid-column: 1 / -1;
  min-width: 0;
}
html body.page-id-6003 #donation-form-container .donation-form .section.payment > .field.radio {
  grid-column: span 2;
  margin: 0 0 12px;
  padding: 0;
  border: 1px solid #C9CEDB;
  border-radius: 4px;
  background: #FFF;
  transition: border-color .14s, background-color .14s;
}
html body.page-id-6003 #donation-form-container .donation-form .section.payment > .field.radio:hover {
  border-color: #121A2E;
}
html body.page-id-6003 #donation-form-container .donation-form .section.payment > .field.radio:has(input:checked) {
  border-color: #121A2E;
  background: #F6F4EF;
  box-shadow: inset 0 0 0 1px #121A2E;
}
html body.page-id-6003 #donation-form-container .donation-form .section.payment > .field.radio > label {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 10px 10px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.25;
  color: #121A2E;
  cursor: pointer;
}
html body.page-id-6003 #donation-form-container .donation-form .section.payment > .field.radio input[type="radio"] {
  margin: 0 !important;
  width: auto;
  flex: 0 0 auto;
}
/* routing and account appear together once Checking or Savings is picked */
html body.page-id-6003 #donation-form-container .donation-form .section.payment > .field.routingNumber,
html body.page-id-6003 #donation-form-container .donation-form .section.payment > .field.accountNumber {
  grid-column: span 5;
}

/* ---------- narrower screens ---------- */
@media (max-width: 760px) {
  /* payment: two by two, PayPal or Venmo across the bottom */
  html body.page-id-6003 #donation-form-container .donation-form .section.payment > .field.radio { grid-column: span 5; }
  html body.page-id-6003 #donation-form-container .donation-form .section.payment > .field.radio.PayPalVenmo { grid-column: 1 / -1; }
  html body.page-id-6003 #donation-form-container .donation-form .section.billing-address > .field.country,
  html body.page-id-6003 #donation-form-container .donation-form .section.billing-address > .field.street-address { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  html body.page-id-6003 #donation-form-container .donation-form .section.donation,
  html body.page-id-6003 #donation-form-container .donation-form .section.contact {
    grid-template-columns: minmax(0, 1fr);
  }
  html body.page-id-6003 #donation-form-container .donation-form .section.donation .field.text.other-amount {
    grid-column: 1;
  }
  html body.page-id-6003 #donation-form-container .donation-form .section.billing-address > .field.city { grid-column: 1 / -1; }
  html body.page-id-6003 #donation-form-container .donation-form .section.billing-address > .field.state,
  html body.page-id-6003 #donation-form-container .donation-form .section.billing-address > .field.province { grid-column: span 7; }
  html body.page-id-6003 #donation-form-container .donation-form .section.billing-address > .field.zip-code,
  html body.page-id-6003 #donation-form-container .donation-form .section.billing-address > .field.postal-code { grid-column: span 5; }
  html body.page-id-6003 #donation-form-container .donation-form .section.payment > .field.routingNumber,
  html body.page-id-6003 #donation-form-container .donation-form .section.payment > .field.accountNumber { grid-column: 1 / -1; }
}


/* ===== from snippet #5943: FRB — About (5314): side quote styling (moved out of the page 2026-10-27) ===== */
.frb-ab-quote.frb-ab-quote-side{margin:36px 0 0;max-width:none}.frb-ab-quote.frb-ab-quote-side p{font-size:24px;line-height:1.35}@media (max-width:860px){.frb-ab-quote.frb-ab-quote-side{margin:20px 0 8px}.frb-ab-quote.frb-ab-quote-side p{font-size:21px}}


/* ===== from snippet #5822: FRB preview Contact page styles (frbct-) ===== */
/* FRB preview Contact page (frbct-). VCA 2026-10-18 */
.frbct{max-width:1100px;margin:0 auto;color:#2b2f3a}
.frbct-intro{max-width:760px;margin:0 0 28px}
.frbct p.frbct-eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#8a7a3a;font-weight:700;margin:0 0 8px}
.frbct-intro h2{color:#121A2E;font-size:36px;line-height:1.15;margin:0 0 14px}
.frbct p.frbct-lede{font-size:19px;line-height:1.6;margin:0}
.frbct-crisis{background:#121A2E;color:#fff;border-left:5px solid #DBBE57;border-radius:4px;padding:18px 22px;margin:0 0 36px}
.frbct-crisis p{margin:0;font-size:16px;line-height:1.6;color:#fff}
.frbct-crisis a{color:#e6cf72;font-weight:700}
.frbct-crisis a.frbct-crisis-more{font-weight:600;white-space:nowrap;margin-left:6px}
.frbct-paths{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 48px}
.frbct a.frbct-path{display:flex;flex-direction:column;gap:8px;background:#f6f4ee;border-top:4px solid #121A2E;border-radius:4px;padding:18px;text-decoration:none;color:#2b2f3a;transition:transform .15s,box-shadow .15s}
.frbct a.frbct-path:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(18,26,46,.12)}
.frbct-path-k{font-weight:700;color:#121A2E;font-size:17px}
.frbct-path-d{font-size:15px;line-height:1.5;flex:1}
.frbct-go{font-weight:700;color:#1a5fa8;font-size:15px}
.frbct-main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px;margin:0 0 48px;align-items:start}
.frbct-main h3{color:#121A2E;font-size:22px;margin:0 0 16px}
.frbct-side{background:#f6f4ee;border-radius:4px;padding:24px}
.frbct p.frbct-line{margin:0 0 14px;font-size:16px;line-height:1.5}
.frbct-k{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#6b6f7a;font-weight:700;margin-bottom:2px}
.frbct p.frbct-note{font-size:14px;color:#555;margin:18px 0 22px;padding-top:14px;border-top:1px solid #e2ddd0}
.frbct-side blockquote.frb-quote{margin:0}
.frbct-photo{margin:0 0 24px}
.frbct-photo img{width:100%;height:auto;border-radius:4px;display:block}
.frbct-photo figcaption{font-size:14px;color:#6b6f7a;margin-top:8px}
@media (max-width:900px){.frbct-paths{grid-template-columns:repeat(2,1fr)}.frbct-main{grid-template-columns:1fr;gap:28px}}
@media (max-width:560px){.frbct-paths{grid-template-columns:1fr}.frbct-intro h2{font-size:28px}}


/* ===== from snippet #5814: FRB — sponsor wall (5319): softer gold CTA panel ===== */
/* FRB — sponsor wall (5319) only. 2026-10-18.
   Kara: the "Put your name on this wall" panel's #F3C518 is hard on the
   eyes at that size. Same hue, pulled back: hsl(47 65% 60%) = #DBBE57.
   `div.frb-cta-a` scores (0,2,2) and beats 5316's (0,2,1) whichever
   snippet prints first. Fold into 5316 whenever. */
body.page-id-5319 div.frb-cta-a { background:#DBBE57; }
body.page-id-5319 div.frb-cta-a .frb-retreat-link { color:#121A2E; font-weight:700; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
body.page-id-5319 div.frb-cta-a .frb-retreat-link:hover { color:#000; }


/* ===== from snippet #5798: FRB — preview home page 5352 (CSS rev d: video + families link + sponsor logos) ===== */
/* ===========================================================================
   FRB — preview home page (5352) ONLY.  rev d — 2026-10-18
   Companion to snippet 5354 (revs a–c). Same rules: every selector gated on
   body.page-id-5352, every class frbhp- prefixed. Fold into 5354 whenever.

   1. Rob Sagle's story in the Retreats band. The video sits in a column at
      about 55% of the row next to his quote; the "Watch full screen" button
      pops it out (requestFullscreen, webkitEnterFullscreen on iPhone).
      Files: /wp-content/uploads/2026/10/frb-rob-sagle-story.mp4 and
      frb-rob-sagle-badge-poster.jpg. The blockquote resets are there because
      Sydney styles blockquote site-wide.
   2. The "More for significant others and families" link sat in the navy
      band in --indigo, which all but vanishes on navy. A softened version of
      the logo gold (#e4c018) instead.
   3. Real sponsor logos replace the orange SPONSOR LOGO placeholders: the
      Platinum (6) and Gold (7) sponsors from the live site, name under each
      logo. Tier is marked the same way the Sponsor Wall (5319) marks it: a
      navy top rule for Platinum, gold for Gold, and the same colour as a
      short bar in front of each tier label. Platinum runs one row of six,
      Gold one row of seven at slightly smaller tiles, so the top tier reads
      as the top tier. Silver lives on the wall, linked from "See all our
      sponsors". The containers are .frbhp-logos, deliberately not
      .frbhp-wall: `.frbhp-wall span` paints spans orange, and the names are
      spans. Hover is a box-shadow, not border-color, so it can't repaint
      the tier rule.
   4. Margins on the tier labels and the links row are written as
      `.frbhp p.x`. 5354's `body.page-id-5352 .frbhp p { margin:0 0 1em }`
      scores (0,2,2); a bare `.frbhp-logos-label` scores (0,2,1) and lost,
      which jammed the Gold label against the Platinum row.
   =========================================================================== */
body.page-id-5352 .frbhp-film { display:grid; grid-template-columns:1.25fr 1fr; gap:36px; align-items:center; margin-top:38px; }
body.page-id-5352 .frbhp-film-media { position:relative; aspect-ratio:16/9; background:#071228; border-radius:4px; overflow:hidden; box-shadow:0 8px 28px rgba(7,18,40,.18); }
body.page-id-5352 .frbhp-film-media video { display:block; width:100%; height:100%; object-fit:cover; background:#071228; }
body.page-id-5352 .frbhp-film-tag { font-family:var(--display); font-weight:700; letter-spacing:.15em; text-transform:uppercase; font-size:12.5px; color:var(--ink-soft); margin:0 0 14px; }
body.page-id-5352 blockquote.frbhp-film-quote { margin:0 0 18px; padding:0 0 0 18px; border:0; border-left:3px solid var(--gold); background:none; font-family:var(--display); font-style:normal; font-weight:600; font-size:21px; line-height:1.42; color:var(--navy); quotes:none; }
body.page-id-5352 blockquote.frbhp-film-quote::before,
body.page-id-5352 blockquote.frbhp-film-quote::after { content:none; display:none; }
body.page-id-5352 .frbhp-film-who { margin:0 0 12px; font-size:15px; line-height:1.45; color:var(--ink-soft); }
body.page-id-5352 .frbhp-film-who strong { color:var(--ink); font-size:17px; }
body.page-id-5352 .frbhp-film-about { margin:0 0 20px; font-size:16px; color:var(--ink-soft); }
body.page-id-5352 button.frbhp-film-pop { display:inline-flex; align-items:center; gap:9px; background:var(--navy) !important; color:#fff !important; border:0 !important; border-radius:2px; padding:12px 20px !important; font-family:var(--display); font-weight:700; font-size:14px; letter-spacing:.04em; text-transform:none; line-height:1; cursor:pointer; box-shadow:none; }
body.page-id-5352 button.frbhp-film-pop:hover,
body.page-id-5352 button.frbhp-film-pop:focus-visible { background:var(--indigo) !important; }
body.page-id-5352 button.frbhp-film-pop svg { width:15px; height:15px; flex:0 0 auto; }
body.page-id-5352 .frbhp-so .frbhp-go a { color:#e6cf72; }
body.page-id-5352 .frbhp-so .frbhp-go a:hover { color:#f5e7b0; }

/* sponsor logos */
body.page-id-5352 .frbhp p.frbhp-logos-label { display:flex; align-items:center; gap:10px; font-family:var(--display); font-weight:700; letter-spacing:.15em; text-transform:uppercase; font-size:12.5px; color:var(--ink-soft); margin:32px 0 12px; }
body.page-id-5352 .frbhp p.frbhp-lab-gold { margin-top:36px; }
body.page-id-5352 .frbhp-logos-label::before { content:""; display:block; width:22px; height:3px; background:var(--navy); flex:0 0 auto; }
body.page-id-5352 .frbhp-lab-gold::before { background:var(--gold); }
body.page-id-5352 .frbhp-logos { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }
body.page-id-5352 .frbhp-logos > p { display:contents; }
body.page-id-5352 .frbhp-logos br { display:none; }
body.page-id-5352 .frbhp-logo { flex:0 0 calc((100% - 70px) / 6); display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:12px; min-height:150px; padding:20px 12px 14px; background:#fff; border:1px solid var(--rule); border-top:3px solid var(--navy); text-decoration:none; transition:box-shadow .15s; }
body.page-id-5352 .frbhp-tier-gold .frbhp-logo { flex-basis:calc((100% - 84px) / 7); min-height:134px; padding:16px 10px 12px; border-top-color:var(--gold); }
body.page-id-5352 a.frbhp-logo:hover { box-shadow:0 0 0 1px var(--navy); }
body.page-id-5352 .frbhp .frbhp-logo img { flex:1 1 auto; display:block; width:auto; height:auto; max-width:100%; max-height:72px; margin:auto 0; object-fit:contain; }
body.page-id-5352 .frbhp .frbhp-tier-gold .frbhp-logo img { max-height:56px; }
body.page-id-5352 .frbhp-logo-name { display:block; font-size:13.5px; line-height:1.3; text-align:center; color:var(--ink-soft); }
body.page-id-5352 .frbhp-tier-gold .frbhp-logo-name { font-size:12.5px; }
body.page-id-5352 a.frbhp-logo:hover .frbhp-logo-name { color:var(--navy); }
body.page-id-5352 .frbhp p.frbhp-sp-links { display:flex; flex-wrap:wrap; gap:8px 28px; margin:28px 0 0; }

@media (max-width:940px){
  body.page-id-5352 .frbhp-film { grid-template-columns:1fr; gap:22px; }
  body.page-id-5352 .frbhp-logo { flex-basis:calc((100% - 28px) / 3); }
  body.page-id-5352 .frbhp-tier-gold .frbhp-logo { flex-basis:calc((100% - 42px) / 4); }
}
@media (max-width:520px){
  body.page-id-5352 .frbhp-logo,
  body.page-id-5352 .frbhp-tier-gold .frbhp-logo { flex-basis:calc((100% - 14px) / 2); min-height:130px; }
}


/* ===== from snippet #5415: FRB — preview: Families section (5408–5412) ===== */
/* =========================================================================
   FRB preview: Families section
   /preview/families/ (5408) and its four pages:
     5409 partners · 5410 parents · 5411 kids-questions · 5412 resources
   Violet Crown Analytics, 2026-09-25

   Every class is frb-fam-*, and every rule sits under body.frb-hero-title
   (the /preview/ and /donate/ trees, set by snippet 5201). The prefix keeps
   the page safe FROM the site; the scope keeps the site safe FROM the page.
   No ids are used, so nothing here can collide with #about / #contact.

   Palette matches 5316: navy #121A2E, gold #F3C518, cream #F6F4EF,
   slate #3A4257, rule #C9CEDB, deep blue #26357E, placeholder amber #E06E00,
   fire red #CE152D.
   ========================================================================= */

body.frb-hero-title .frb-fam-eyebrow{
  margin:0 0 10px;font-size:12.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#26357E;
}
body.frb-hero-title h2.frb-fam-rule{
  margin:0 0 22px;font-size:30px;line-height:1.18;color:#121A2E;
  font-weight:700;letter-spacing:-.015em;
}
body.frb-hero-title h2.frb-fam-rule::after{
  content:"";display:block;width:54px;height:3px;margin-top:16px;background:#F3C518;
}
body.frb-hero-title .frb-fam-split{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:34px 48px;align-items:start;
}
body.frb-hero-title .frb-fam-split-a > :first-child{margin-top:0}
body.frb-hero-title .frb-fam-split-b > :first-child{margin-top:0}
body.frb-hero-title .frb-fam-split-b > :last-child{margin-bottom:0}
body.frb-hero-title .frb-fam-split-b p{font-size:17px;line-height:1.65}
body.frb-hero-title .frb-fam-split-b p.frb-fam-big{
  font-size:21px;line-height:1.5;color:#121A2E;font-weight:600;
}
body.frb-hero-title .frb-fam-def{
  background:#F6F4EF;border-left:3px solid #F3C518;padding:16px 20px;
}
body.frb-hero-title .frb-fam-lede{max-width:66ch;font-size:17px;line-height:1.6;margin:0 0 22px}
@media (max-width:860px){
  body.frb-hero-title .frb-fam-split{grid-template-columns:1fr;gap:18px}
}

/* ---- hub cards: partners card leads, full width ------------------------- */
body.frb-hero-title .frb-fam-cards{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;
}
body.frb-hero-title a.frb-fam-card{
  display:flex;flex-direction:column;text-decoration:none;color:#3A4257;
  border:1px solid #C9CEDB;border-top:4px solid #121A2E;background:#fff;
  padding:22px 24px 22px;transition:border-color .15s,background .15s;
}
body.frb-hero-title a.frb-fam-card:hover,
body.frb-hero-title a.frb-fam-card:focus{background:#F6F4EF;border-color:#121A2E}
body.frb-hero-title a.frb-fam-card-lead{
  grid-column:1 / -1;border-top-color:#CE152D;background:#F6F4EF;padding:28px 30px;
}
body.frb-hero-title .frb-fam-card-k{
  display:block;font-size:12px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:#26357E;margin-bottom:8px;
}
body.frb-hero-title a.frb-fam-card b{
  display:block;font-size:20px;line-height:1.25;color:#121A2E;margin-bottom:10px;
}
body.frb-hero-title a.frb-fam-card-lead b{font-size:28px;letter-spacing:-.01em}
body.frb-hero-title .frb-fam-card-p{display:block;font-size:16px;line-height:1.55;flex:1 0 auto}
body.frb-hero-title a.frb-fam-card-lead .frb-fam-card-p{font-size:17.5px;max-width:70ch}
body.frb-hero-title .frb-fam-card-go{
  display:block;margin-top:14px;font-weight:700;color:#121A2E;font-size:15px;
}
@media (max-width:900px){
  body.frb-hero-title .frb-fam-cards{grid-template-columns:1fr}
}

/* ---- stat band ---------------------------------------------------------- */
body.frb-hero-title .frb-fam-facts{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  margin:34px 0 0;border:1px solid #C9CEDB;
}
body.frb-hero-title .frb-fam-fact{padding:22px 22px 24px;border-left:1px solid #C9CEDB}
body.frb-hero-title .frb-fam-fact:first-child{border-left:0}
body.frb-hero-title .frb-fam-fact b{
  display:block;color:#26357E;font-size:38px;line-height:1;margin-bottom:9px;
  font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
body.frb-hero-title .frb-fam-fact span{display:block;font-size:15px;line-height:1.45;color:#3A4257}
@media (max-width:700px){
  body.frb-hero-title .frb-fam-facts{grid-template-columns:1fr}
  body.frb-hero-title .frb-fam-fact{border-left:0;border-top:1px solid #C9CEDB}
  body.frb-hero-title .frb-fam-fact:first-child{border-top:0}
}

/* ---- numbered question list (conversation starters) --------------------- */
body.frb-hero-title ol.frb-fam-qlist{
  list-style:none;counter-reset:fq;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;
}
body.frb-hero-title ol.frb-fam-qlist li{
  counter-increment:fq;position:relative;margin:0;
  padding:16px 0 16px 46px;border-top:1px solid #C9CEDB;
  font-size:18px;line-height:1.45;color:#121A2E;font-weight:600;
}
body.frb-hero-title ol.frb-fam-qlist li::before{
  content:counter(fq);position:absolute;left:0;top:14px;
  width:30px;height:30px;border-radius:50%;background:#F3C518;color:#121A2E;
  font-size:14px;font-weight:700;line-height:30px;text-align:center;
}
@media (max-width:760px){
  body.frb-hero-title ol.frb-fam-qlist{grid-template-columns:1fr}
}

/* ---- two panels --------------------------------------------------------- */
body.frb-hero-title .frb-fam-two{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:stretch;
}
body.frb-hero-title .frb-fam-two-a{background:#F6F4EF;border:1px solid #C9CEDB;padding:24px 26px 26px}
body.frb-hero-title .frb-fam-two-b{border:1px solid #C9CEDB;padding:24px 26px 26px}
body.frb-hero-title .frb-fam-two h3{margin:0 0 10px;font-size:19px;line-height:1.3;color:#121A2E}
body.frb-hero-title .frb-fam-two p{margin:0 0 16px;font-size:16px;line-height:1.6}
body.frb-hero-title .frb-fam-two p:last-child{margin-bottom:0}
@media (max-width:860px){
  body.frb-hero-title .frb-fam-two{grid-template-columns:1fr}
}

/* ---- button + callout --------------------------------------------------- */
body.frb-hero-title a.frb-fam-btn{
  display:inline-block;background:#121A2E;color:#fff;text-decoration:none;
  font-weight:700;font-size:16px;padding:12px 22px;
}
body.frb-hero-title a.frb-fam-btn:hover,
body.frb-hero-title a.frb-fam-btn:focus{background:#2A3348;color:#fff}
body.frb-hero-title .frb-fam-callout{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;
  border:1px solid #C9CEDB;border-left:3px solid #F3C518;padding:24px 26px;
}
body.frb-hero-title .frb-fam-callout p{margin:0;font-size:17px;line-height:1.55}
@media (max-width:760px){
  body.frb-hero-title .frb-fam-callout{grid-template-columns:1fr}
}

/* ---- kids Q&A ----------------------------------------------------------- */
body.frb-hero-title .frb-fam-qa{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;
}
body.frb-hero-title .frb-fam-qa-item{border:1px solid #C9CEDB;padding:22px 24px 24px;background:#fff}
body.frb-hero-title .frb-fam-qa-k{
  margin:0 0 5px;font-size:12px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:#26357E;
}
body.frb-hero-title .frb-fam-qa-q{
  margin:0 0 18px;font-size:22px;line-height:1.3;color:#121A2E;font-weight:700;
}
body.frb-hero-title .frb-fam-qa-a{
  margin:0;font-size:16.5px;line-height:1.6;color:#3A4257;
  padding-left:14px;border-left:3px solid #F3C518;
}
@media (max-width:860px){
  body.frb-hero-title .frb-fam-qa{grid-template-columns:1fr}
}
body.frb-hero-title .frb-fam-note{margin:24px 0 0;font-size:16px;line-height:1.6;color:#3A4257}
body.frb-hero-title .frb-fam-print{margin:10px 0 0;font-size:15px;color:#6B7280}

/* ---- crisis lines ------------------------------------------------------- */
body.frb-hero-title .frb-fam-lines{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0 0;
}
body.frb-hero-title .frb-fam-line{border:1px solid #C9CEDB;border-top:4px solid #121A2E;padding:20px 22px}
body.frb-hero-title .frb-fam-line-red{border-top-color:#CE152D}
body.frb-hero-title .frb-fam-line h3{margin:0 0 8px;font-size:18px;color:#121A2E}
body.frb-hero-title .frb-fam-line p{margin:0;font-size:16px;line-height:1.55}
body.frb-hero-title .frb-fam-line a{font-weight:700;color:#121A2E;text-decoration:underline}
@media (max-width:860px){
  body.frb-hero-title .frb-fam-lines{grid-template-columns:1fr}
}

/* ---- placeholder (orange: invented or missing, never a design choice) ---- */
body.frb-hero-title .frb-fam-pending{
  border:1px dashed #E06E00;background:#FDF6EE;padding:19px 21px;margin-top:22px;
}
body.frb-hero-title .frb-fam-tag{
  display:inline-block;font-size:12px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:#E06E00;margin-bottom:7px;
}
body.frb-hero-title .frb-fam-pending p{color:#7A4A12;font-style:italic;font-size:15.5px;margin:0}

/* ---- sibling nav -------------------------------------------------------- */
body.frb-hero-title .frb-fam-sibs{margin:44px 0 0;padding-top:26px;border-top:1px solid #C9CEDB}
body.frb-hero-title .frb-fam-sibgrid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;
}
body.frb-hero-title a.frb-fam-sib{
  display:block;text-decoration:none;border:1px solid #C9CEDB;padding:14px 16px;background:#fff;
}
body.frb-hero-title a.frb-fam-sib:hover,
body.frb-hero-title a.frb-fam-sib:focus{border-color:#121A2E;background:#F6F4EF}
body.frb-hero-title a.frb-fam-sib b{display:block;font-size:16px;color:#121A2E;margin-bottom:3px}
body.frb-hero-title a.frb-fam-sib span{display:block;font-size:14px;line-height:1.4;color:#6B7280}
body.frb-hero-title a.frb-fam-sib-up{background:#F6F4EF}
@media (max-width:900px){
  body.frb-hero-title .frb-fam-sibgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  body.frb-hero-title .frb-fam-sibgrid{grid-template-columns:1fr}
}

/* ---- navy ways-out strip + trust line (same as 5322) -------------------- */
body.frb-hero-title .frb-fam-help{background:#121A2E;padding:34px 30px;margin:0 0 26px}
body.frb-hero-title .frb-fam-help h2{color:#fff;margin:0 0 6px;font-size:28px;line-height:1.2}
@media (max-width:600px){body.frb-hero-title .frb-fam-help h2{font-size:24px}}
body.frb-hero-title .frb-fam-help .frb-fam-sub{color:#D8DEE9;margin:0 0 22px;font-size:16px}
body.frb-hero-title .frb-fam-ways{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:1px;background:#2A3348;
}
body.frb-hero-title a.frb-fam-way{background:#121A2E;padding:18px;text-decoration:none;display:block}
body.frb-hero-title a.frb-fam-way:hover,
body.frb-hero-title a.frb-fam-way:focus{background:#1B2540}
body.frb-hero-title a.frb-fam-way b{display:block;color:#fff;font-size:17px;margin-bottom:4px}
body.frb-hero-title a.frb-fam-way span{display:block;color:#D8DEE9;font-size:15px;line-height:1.45}
body.frb-hero-title .frb-fam-trust{font-size:14px;color:#6B7280;line-height:1.6;margin:0}

/* ---- print: Questions Kids May Have prints as a clean handout ----------- */
@media print{
  body.page-id-5411 #masthead,
  body.page-id-5411 .sydney-hero-area,
  body.page-id-5411 #colophon,
  body.page-id-5411 .footer-widgets,
  body.page-id-5411 .frb-preview-bar,
  body.page-id-5411 .frb-fam-print,
  body.page-id-5411 .frb-fam-sibs,
  body.page-id-5411 .frb-fam-help,
  body.page-id-5411 .go-top{display:none !important}
  body.page-id-5411{padding:0 !important}
  body.page-id-5411 .frb-fam-qa{grid-template-columns:1fr 1fr;gap:10px}
  body.page-id-5411 .frb-fam-qa-item{break-inside:avoid;padding:12px 14px}
  body.page-id-5411 .frb-fam-qa-q{font-size:16px;margin-bottom:8px}
  body.page-id-5411 .frb-fam-qa-a{font-size:12.5px}
  body.page-id-5411 h2.frb-fam-rule{font-size:22px}
  body.page-id-5411 .frb-fam-split-b p{font-size:13px}
  body.page-id-5411 a[href]::after{content:none !important}
  body.page-id-5411 .frb-fam-trust{margin-top:14px;font-size:11px}
}

/* =========================================================================
   2026-10-15 · Renée: "something soothing and fun for kids and adults"
   Softer palette for the Families pages (5408-5412) and the coloring page
   (5681). Overrides only colors; layout above is unchanged. Text stays
   navy/slate on light grounds for contrast.
   sage #5E8C7A / #EEF6F1 · sky #3D7BA6 / #EAF3FA · peach #D9825B / #FFF4EC
   lavender #7A68A6 / #F2EEF9 · deep teal #234E52 (the ways strip)
   ========================================================================= */
body.frb-hero-title .frb-fam-eyebrow{color:#3F6B5A}
body.frb-hero-title h2.frb-fam-rule::after{width:96px;height:4px;border-radius:2px;
  background:linear-gradient(90deg,#8FC1A9 0 25%,#9CC6E4 25% 50%,#F2B49A 50% 75%,#B9A9DD 75%)}
body.frb-hero-title .frb-fam-def{background:#EEF6F1;border-left-color:#8FC1A9}
body.frb-hero-title a.frb-fam-card{border-top-color:#5E8C7A}
body.frb-hero-title a.frb-fam-card:nth-child(4n+2){border-top-color:#3D7BA6}
body.frb-hero-title a.frb-fam-card:nth-child(4n+3){border-top-color:#D9825B}
body.frb-hero-title a.frb-fam-card:nth-child(4n){border-top-color:#7A68A6}
body.frb-hero-title a.frb-fam-card:hover,body.frb-hero-title a.frb-fam-card:focus{background:#F7FAF8;border-color:#5E8C7A}
body.frb-hero-title a.frb-fam-card-lead{background:#EEF6F1;border-top-color:#5E8C7A}
body.frb-hero-title .frb-fam-card-k{color:#3F6B5A}
body.frb-hero-title .frb-fam-fact b{color:#3D7BA6}
body.frb-hero-title ol.frb-fam-qlist li::before{background:#CFE6DA}
body.frb-hero-title ol.frb-fam-qlist li:nth-child(4n+2)::before{background:#D5E8F5}
body.frb-hero-title ol.frb-fam-qlist li:nth-child(4n+3)::before{background:#FBDCCB}
body.frb-hero-title ol.frb-fam-qlist li:nth-child(4n)::before{background:#E3DCF2}
body.frb-hero-title .frb-fam-two-a{background:#EAF3FA}
body.frb-hero-title .frb-fam-callout{border-left-color:#F2B49A;background:#FFF8F3}
body.frb-hero-title a.frb-fam-btn{background:#3F6B5A}
body.frb-hero-title a.frb-fam-btn:hover,body.frb-hero-title a.frb-fam-btn:focus{background:#2F5446}
body.frb-hero-title .frb-fam-qa-item:nth-child(4n+1){background:#F5FAF7}
body.frb-hero-title .frb-fam-qa-item:nth-child(4n+2){background:#F4F9FD}
body.frb-hero-title .frb-fam-qa-item:nth-child(4n+3){background:#FFF8F3}
body.frb-hero-title .frb-fam-qa-item:nth-child(4n){background:#F8F6FC}
body.frb-hero-title .frb-fam-qa-k{color:#3F6B5A}
body.frb-hero-title .frb-fam-qa-a{border-left-color:#8FC1A9}
body.frb-hero-title .frb-fam-line{border-top-color:#3D7BA6}
body.frb-hero-title a.frb-fam-sib:hover,body.frb-hero-title a.frb-fam-sib:focus{border-color:#5E8C7A;background:#EEF6F1}
body.frb-hero-title a.frb-fam-sib-up{background:#EEF6F1}
body.frb-hero-title .frb-fam-help{background:#234E52}
body.frb-hero-title .frb-fam-ways{background:#2F6166}
body.frb-hero-title a.frb-fam-way{background:#234E52}
body.frb-hero-title a.frb-fam-way:hover,body.frb-hero-title a.frb-fam-way:focus{background:#2B5C61}

/* ---- coloring page (5681) ---------------------------------------------- */
body.frb-hero-title .frb-color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 0 30px}
body.frb-hero-title a.frb-color-card{display:block;text-decoration:none;color:#3A4257;background:#fff;
  border:1px solid #C9CEDB;border-top:4px solid #5E8C7A;padding:12px 12px 14px}
body.frb-hero-title a.frb-color-card:nth-child(4n+2){border-top-color:#3D7BA6}
body.frb-hero-title a.frb-color-card:nth-child(4n+3){border-top-color:#D9825B}
body.frb-hero-title a.frb-color-card:nth-child(4n){border-top-color:#7A68A6}
body.frb-hero-title a.frb-color-card:hover,body.frb-hero-title a.frb-color-card:focus{background:#F7FAF8}
body.frb-hero-title a.frb-color-card img{display:block;width:100%;height:auto;border:1px solid #E6E8EE;margin:0 0 10px}
body.frb-hero-title a.frb-color-card b{display:block;color:#121A2E;font-size:16px;line-height:1.3;margin-bottom:3px}
body.frb-hero-title a.frb-color-card span{display:block;font-size:14px;color:#3F6B5A;font-weight:700}
@media (max-width:860px){body.frb-hero-title .frb-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){body.frb-hero-title .frb-color-grid{grid-template-columns:1fr}}


/* ===== from snippet #5367: FRB — trust block: Candid seal and Charity Navigator side by side ===== */
/* ===========================================================================
   FRB — trust block layout.  2026-09-18

   Snippet 5333 emits the Candid Platinum seal as an <a><svg> and the Charity
   Navigator rating as a <p> underneath it, stacked. This lays the two out as
   one row instead, seal left, Charity Navigator right, baselines centred.

   Nothing in 5333 is edited. That snippet is 13KB, almost all of it the
   Candid seal's path data, and re-sending it to change a wrapper is a lot of
   surface for a layout change. Its inline styles are beaten with !important
   where they have to be.

   BUILT FOR THE BADGE SWAP. Charity Navigator portal verification cleared
   2026-09-17, so the real badge is now available in the portal's Ratings
   Toolkit (3- and 4-star organisations). When it is downloaded and uploaded
   to the media library, it goes into 5333 as an <img> in place of, or above,
   the existing <p> — and this row already handles it: any <img> inside
   .frb-seal is normalised to the seal's own 88px height, so the two sit at
   matching scale with no further CSS.

   Self-host the image. No embed script: these pages carry a Bloomerang card
   form. (FRB_Website_Standards_Scorecard_2026-09-15.md)
   =========================================================================== */

.frb-seal {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

/* the Candid seal link — fixed, never shrinks */
.frb-seal > a {
  flex: 0 0 auto;
  line-height: 0;
}

/* the Charity Navigator line, now a column of the row rather than a block
   underneath it. The margin override beats 5333's inline style. */
.frb-seal > p {
  margin: 0 !important;
  flex: 0 1 auto;
  max-width: 26ch;
}

/* When the real badge lands in 5333, match it to the Candid seal's height. */
.frb-seal img {
  height: 88px;
  width: auto;
  max-width: 100%;
  display: block;
  flex: 0 0 auto;
}

/* Below the phone breakpoint the row stacks, which is the old behaviour and
   the right one — two 88px marks side by side leave no room for the text. */
@media (max-width: 480px) {
  .frb-seal { gap: 14px; }
  .frb-seal > p { flex: 1 1 100%; max-width: none; }
}



/* ===== from snippet #5354: FRB — preview home page 5352 (CSS) ===== */
/* ===========================================================================
   FRB — preview home page (5352) ONLY.  rev c — 2026-09-18

   Every selector is gated on body.page-id-5352 and every class carries the
   frbhp- prefix, so nothing here can collide with the theme (.site-header,
   .container, .btn) or with snippets 5114 / 5143 / 5241 the way the
   sponsorship CSS reached page 5074 on 2026-09-04.

   rev b — three first-render fixes:
   1. IDs need the prefix too, and for the opposite reason. The site already
      carries `#sponsors, .sponsors-block { text-align:center }`, so this
      page's own id="sponsors" section inherited centered text while every
      other band stayed left. Scoping protects the site FROM this page;
      prefixing the ids protects this page FROM the site. Both directions.
   2. .sydney-hero-area keeps a 340px min-height even with .header-image
      hidden — that was the blank band above the page.
   3. wpautop wraps the footer's link columns in <p>, and the old
      `.frbhp-foot p a { display:inline }` then beat the block rule and ran
      the footer links together. The inline exception is .frbhp-addr only.

   rev c — two more, both specificity, both the same shape as the 1080 tie
   in snippet 5241:
   4. `.frbhp img { height:auto }` scores (0,2,1) with the body gate and
      .frbhp-hero-img scored (0,2,0), so the generic rule won and the hero
      photo rendered at its full 760px instead of filling the 460px band.
      With no crop happening, object-position did nothing and the band
      showed nothing but sky. Written as `.frbhp img.frbhp-hero-img` it
      scores (0,2,2) and wins. The `img` in that selector is load-bearing.
   5. Sydney's content wrapper is `.container.content-wrapper` inside
      `.page-wrap`, not `.site-content > .container`, so the reset missed it
      and every full-width band was boxed into 1140px with white gutters.

   Rows follow the tree-wide 1080 measure; the header row is 1260 so five
   menu items and two buttons fit on one line.
   =========================================================================== */

body.page-id-5352 #masthead,
body.page-id-5352 .header-wrap,
body.page-id-5352 .sydney-hero-area,
body.page-id-5352 #colophon,
body.page-id-5352 .site-footer,
body.page-id-5352 .footer-widgets,
body.page-id-5352 .header-image,
body.page-id-5352 .header-page-title,
body.page-id-5352 .entry-header,
body.page-id-5352 .entry-footer,
body.page-id-5352 .sidebar,
body.page-id-5352 #secondary { display: none !important; }

/* full bleed — .container.content-wrapper is the one that actually boxes it */
body.page-id-5352 .page-wrap > .container,
body.page-id-5352 .container.content-wrapper,
body.page-id-5352 .content-wrapper > .row,
body.page-id-5352 #content,
body.page-id-5352 #primary,
body.page-id-5352 .content-area,
body.page-id-5352 .page-content,
body.page-id-5352 .entry-content,
body.page-id-5352 .site-main,
body.page-id-5352 .site-content > .container,
body.page-id-5352 .site-content > .container > .row,
body.page-id-5352 .site-content .col-md-12 {
  max-width: none !important; width: 100% !important;
  padding: 0 !important; margin: 0 !important; float: none !important;
}
body.page-id-5352 .site-content { padding: 0 !important; }

/* --------------------------------------------------------------- tokens */
body.page-id-5352 .frbhp {
  --navy:#0b1a3d; --navy-deep:#071228; --indigo:#0d129e;
  --fire:#ce152d; --gold:#e4c018;
  --paper:#f7f6f3; --surface:#ffffff;
  --ink:#1b2333; --ink-soft:#4a5468; --rule:#dcdde2;
  --ph:#E06E00; --ph-bg:#ffe9d2;
  --display:"Raleway",raleway,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --body:"Source Sans Pro",source-sans-pro,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  background:var(--paper); color:var(--ink);
  font-family:var(--body); font-size:17px; line-height:1.62;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
body.page-id-5352 .frbhp *,
body.page-id-5352 .frbhp *::before,
body.page-id-5352 .frbhp *::after { box-sizing:border-box; }
body.page-id-5352 .frbhp img { max-width:100%; display:block; height:auto; }
body.page-id-5352 .frbhp p { margin:0 0 1em; }
body.page-id-5352 .frbhp p:last-child { margin-bottom:0; }
body.page-id-5352 .frbhp h1,
body.page-id-5352 .frbhp h2,
body.page-id-5352 .frbhp h3,
body.page-id-5352 .frbhp h4 { font-family:var(--display); margin:0; padding:0; text-wrap:balance; text-transform:none; }
body.page-id-5352 .frbhp h2::after,
body.page-id-5352 .frbhp h3::after { content:none !important; }
body.page-id-5352 .frbhp-wrap { max-width:1080px; margin:0 auto; padding-left:20px; padding-right:20px; }
body.page-id-5352 .frbhp-header .frbhp-wrap { max-width:1260px; }

/* ------------------------------------------------------- mockup notice */
body.page-id-5352 .frbhp-phbar { background:var(--ph-bg); border-top:2px solid var(--ph); border-bottom:2px solid var(--ph); color:#8a4200; }
body.page-id-5352 .frbhp-phbar .frbhp-wrap { padding-top:12px; padding-bottom:12px; font-size:15px; }
body.page-id-5352 .frbhp-phbar strong { color:var(--ph); font-family:var(--display); letter-spacing:.03em; }
body.page-id-5352 .frbhp-ph { background:var(--ph-bg); color:var(--ph); box-shadow:0 0 0 1px var(--ph); padding:0 4px; font-weight:600; }

/* ------------------------------------------------------- crisis strip */
body.page-id-5352 .frbhp-crisis { background:var(--navy-deep); color:#e7ecf6; font-size:14.5px; }
body.page-id-5352 .frbhp-crisis .frbhp-wrap { display:flex; flex-wrap:wrap; gap:6px 22px; align-items:center; padding-top:9px; padding-bottom:9px; }
body.page-id-5352 .frbhp-crisis strong { font-family:var(--display); font-weight:700; letter-spacing:.09em; text-transform:uppercase; font-size:12px; color:var(--gold); }
body.page-id-5352 .frbhp-crisis a { color:#e7ecf6; text-decoration:none; border-bottom:1px solid rgba(231,236,246,.35); }
body.page-id-5352 .frbhp-crisis a:hover { border-bottom-color:var(--gold); color:#fff; }

/* ------------------------------------------------------------- header */
body.page-id-5352 .frbhp-header { position:sticky; top:0; z-index:40; background:var(--surface); border-bottom:1px solid var(--rule); }
body.page-id-5352 .frbhp-hdr { display:flex; align-items:center; gap:22px; padding-top:12px; padding-bottom:12px; }
body.page-id-5352 .frbhp-brand { display:flex; align-items:center; gap:13px; text-decoration:none; color:inherit; flex:0 0 auto; }
body.page-id-5352 .frbhp-brand img { width:52px; height:52px; }
body.page-id-5352 .frbhp-bn { display:block; font-family:var(--display); font-weight:800; font-size:17px; line-height:1.1; letter-spacing:-.01em; color:var(--navy); }
body.page-id-5352 .frbhp-bt { display:block; font-size:12.5px; color:var(--ink-soft); line-height:1.2; margin-top:3px; }
body.page-id-5352 .frbhp-nav { margin-left:auto; display:flex; align-items:center; gap:22px; }
body.page-id-5352 .frbhp-nav a { white-space:nowrap; font-family:var(--display); font-weight:600; font-size:15px; color:var(--navy); text-decoration:none; padding:6px 0; border-bottom:2px solid transparent; }
body.page-id-5352 .frbhp-nav a:hover { border-bottom-color:var(--fire); }
body.page-id-5352 .frbhp-acts { display:flex; gap:10px; flex:0 0 auto; }
body.page-id-5352 .frbhp-btn { font-family:var(--display); font-weight:700; font-size:14.5px; text-decoration:none; padding:11px 18px; border-radius:3px; white-space:nowrap; display:inline-block; border:2px solid transparent; line-height:1.2; }
body.page-id-5352 .frbhp-btn-reg { background:var(--navy); color:#fff; }
body.page-id-5352 .frbhp-btn-reg:hover { background:var(--indigo); color:#fff; }
body.page-id-5352 .frbhp-btn-don { background:var(--fire); color:#fff; }
body.page-id-5352 .frbhp-btn-don:hover { background:#a80f22; color:#fff; }

/* --------------------------------------------------------------- hero
   The source image is 1920x1280 (1.5:1) and the band is much wider than it
   is tall, so object-fit:cover shows only about half the image height.
   object-position 92% puts that window over the bridge deck and the figure
   instead of over empty sky — the man on the bridge is the brand.
   The `img` in the selector below is load-bearing; see note 4 up top. */
body.page-id-5352 .frbhp-hero { position:relative; background:var(--navy); overflow:hidden; min-height:460px; display:flex; align-items:center; }
body.page-id-5352 .frbhp img.frbhp-hero-img { position:absolute; top:0; right:0; bottom:0; left:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:50% 92%; filter:saturate(.62) brightness(1.08); }
body.page-id-5352 .frbhp-scrim { position:absolute; top:0; right:0; bottom:0; left:0; display:block; background:linear-gradient(100deg,rgba(7,18,40,.95) 0%,rgba(7,18,40,.88) 20%,rgba(9,22,50,.54) 52%,rgba(11,26,61,.16) 100%); }
body.page-id-5352 .frbhp-hero .frbhp-wrap { position:relative; width:100%; padding-top:76px; padding-bottom:72px; }
body.page-id-5352 .frbhp-hero h1 { color:#fff; font-size:clamp(2.5rem,6.2vw,4.1rem); font-weight:800; line-height:1.02; letter-spacing:-.025em; max-width:16ch; }
body.page-id-5352 .frbhp-kicker { font-family:var(--display); font-weight:700; letter-spacing:.17em; text-transform:uppercase; font-size:12.5px; color:var(--gold); margin-bottom:18px; }
body.page-id-5352 .frbhp-deck { color:#dbe3f0; font-size:20px; max-width:46ch; margin:20px 0 0; }
body.page-id-5352 .frbhp-heroacts { display:flex; gap:12px; flex-wrap:wrap; margin:32px 0 0; }
body.page-id-5352 .frbhp-hero .frbhp-btn-reg { background:var(--gold); color:var(--navy-deep); }
body.page-id-5352 .frbhp-hero .frbhp-btn-reg:hover { background:#f2d139; color:var(--navy-deep); }
body.page-id-5352 .frbhp-btn-ghost { background:transparent; color:#fff; border-color:rgba(255,255,255,.5); }
body.page-id-5352 .frbhp-btn-ghost:hover { border-color:#fff; background:rgba(255,255,255,.1); color:#fff; }

/* ------------------------------------------------------------ counter */
body.page-id-5352 .frbhp-counter { background:var(--surface); border-bottom:1px solid var(--rule); }
body.page-id-5352 .frbhp-counter .frbhp-wrap { padding-top:46px; padding-bottom:40px; }
body.page-id-5352 .frbhp-chead { display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:26px; }
body.page-id-5352 .frbhp-chead h2 { font-size:15px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--ink-soft); }
body.page-id-5352 .frbhp-src { font-size:13.5px; color:var(--ink-soft); margin:0; max-width:56ch; }
body.page-id-5352 .frbhp-stats { display:grid; grid-template-columns:repeat(4,1fr); }
body.page-id-5352 .frbhp-stat { padding:4px 22px; border-left:3px solid var(--rule); }
body.page-id-5352 .frbhp-stat:first-child { padding-left:0; border-left:0; }
body.page-id-5352 .frbhp-n { display:block; font-family:var(--display); font-weight:800; font-size:clamp(2.3rem,4.6vw,3.3rem); line-height:1; color:var(--navy); letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
body.page-id-5352 .frbhp-l { display:block; font-size:15px; color:var(--ink-soft); margin-top:9px; line-height:1.35; }
body.page-id-5352 .frbhp-accent { border-left-color:var(--fire); }
body.page-id-5352 .frbhp-accent .frbhp-n { color:var(--fire); }
body.page-id-5352 .frbhp-gold { border-left-color:var(--gold); }

/* ------------------------------------------------------------- bands */
body.page-id-5352 .frbhp-band .frbhp-wrap { padding-top:62px; padding-bottom:62px; }
body.page-id-5352 .frbhp-alt { background:var(--surface); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
body.page-id-5352 .frbhp-eyebrow { font-family:var(--display); font-weight:700; letter-spacing:.15em; text-transform:uppercase; font-size:12.5px; color:var(--fire); margin-bottom:14px; }
body.page-id-5352 .frbhp-sec { font-size:clamp(1.75rem,3.6vw,2.4rem); font-weight:700; letter-spacing:-.02em; color:var(--navy); line-height:1.12; }
body.page-id-5352 .frbhp-lede { font-size:19px; color:var(--ink-soft); max-width:62ch; margin-top:16px; }
body.page-id-5352 .frbhp-two { display:grid; grid-template-columns:1.15fr .85fr; gap:46px; align-items:start; }
body.page-id-5352 .frbhp-more { margin-top:22px; font-family:var(--display); font-weight:700; }
body.page-id-5352 .frbhp-pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:38px; }
body.page-id-5352 .frbhp-pillar { border-top:3px solid var(--navy); padding-top:16px; }
body.page-id-5352 .frbhp-pillar h3 { font-size:19px; color:var(--navy); margin-bottom:8px; }
body.page-id-5352 .frbhp-pillar p { margin:0; font-size:16px; color:var(--ink-soft); }
body.page-id-5352 .frbhp-p-fire { border-top-color:var(--fire); }
body.page-id-5352 .frbhp-p-gold { border-top-color:var(--gold); }
body.page-id-5352 .frbhp-p-flat { border-top:0; padding-top:22px; }

/* ------------------------------------------------- significant others */
body.page-id-5352 .frbhp-so { background:var(--navy); color:#e7ecf6; }
body.page-id-5352 .frbhp-so .frbhp-sec { color:#fff; }
body.page-id-5352 .frbhp-so .frbhp-eyebrow { color:var(--gold); }
body.page-id-5352 .frbhp-so .frbhp-lede { color:#c3cfe2; }
body.page-id-5352 .frbhp-sogrid { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:34px; }
body.page-id-5352 .frbhp-socard { background:rgba(255,255,255,.06); border-left:3px solid var(--gold); padding:22px 24px; }
body.page-id-5352 .frbhp-socard h3 { color:#fff; font-size:18px; margin-bottom:8px; }
body.page-id-5352 .frbhp-socard p { margin:0; font-size:16px; color:#c3cfe2; }
body.page-id-5352 .frbhp-pullnum { display:block; font-family:var(--display); font-weight:800; font-size:3rem; color:var(--gold); line-height:1; letter-spacing:-.03em; margin-bottom:4px; }

/* ------------------------------------------------------------- events */
body.page-id-5352 .frbhp-events { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:34px; }
body.page-id-5352 .frbhp-event { background:var(--surface); border:1px solid var(--rule); border-top:4px solid var(--navy); padding:24px 26px; display:flex; flex-direction:column; }
body.page-id-5352 .frbhp-e-gold { border-top-color:var(--gold); }
body.page-id-5352 .frbhp-date { font-family:var(--display); font-weight:700; font-size:13px; letter-spacing:.11em; text-transform:uppercase; color:var(--fire); margin-bottom:8px; }
body.page-id-5352 .frbhp-event h3 { font-size:21px; color:var(--navy); margin-bottom:10px; }
body.page-id-5352 .frbhp-event p { color:var(--ink-soft); font-size:16px; }
body.page-id-5352 .frbhp-go { margin:auto 0 0; padding-top:10px; }
body.page-id-5352 .frbhp-go a { font-family:var(--display); font-weight:700; font-size:15px; color:var(--indigo); text-decoration:none; }
body.page-id-5352 .frbhp-go a:hover { text-decoration:underline; }

/* ----------------------------------------------------------- sponsors */
body.page-id-5352 .frbhp-wall { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:30px; }
body.page-id-5352 .frbhp-wall span { background:var(--ph-bg); color:var(--ph); border:1px dashed var(--ph); font-family:var(--display); font-weight:700; font-size:14px; text-align:center; padding:26px 10px; }

/* ---------------------------------------------------------------- cta */
body.page-id-5352 .frbhp-cta { background:var(--fire); color:#fff; }
body.page-id-5352 .frbhp-cta .frbhp-wrap { padding-top:54px; padding-bottom:54px; display:flex; align-items:center; gap:36px; flex-wrap:wrap; }
body.page-id-5352 .frbhp-cta h2 { font-size:clamp(1.6rem,3.4vw,2.2rem); color:#fff; max-width:24ch; line-height:1.14; }
body.page-id-5352 .frbhp-cta p { margin:10px 0 0; color:#ffe2e6; max-width:60ch; }
body.page-id-5352 .frbhp-ctabtn { margin:0 0 0 auto; }
body.page-id-5352 .frbhp-cta .frbhp-btn { background:#fff; color:var(--fire); font-size:16px; padding:14px 26px; }
body.page-id-5352 .frbhp-cta .frbhp-btn:hover { background:var(--navy-deep); color:#fff; }

/* ------------------------------------------------------------- footer */
body.page-id-5352 .frbhp-foot { background:var(--navy-deep); color:#aab6cb; font-size:15px; }
body.page-id-5352 .frbhp-foot > .frbhp-wrap { padding-top:44px; padding-bottom:34px; display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:34px; }
body.page-id-5352 .frbhp-foot h4 { font-family:var(--display); font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:12px; }
body.page-id-5352 .frbhp-foot a,
body.page-id-5352 .frbhp-foot > .frbhp-wrap > div > p > a { color:#dbe3f0; text-decoration:none; display:block; padding:3px 0; }
body.page-id-5352 .frbhp-addr a { display:inline; padding:0; }
body.page-id-5352 .frbhp-foot a:hover { color:#fff; text-decoration:underline; }
body.page-id-5352 .frbhp-addr { margin-bottom:10px; }
body.page-id-5352 .frbhp-fine { font-size:14px; margin:0; }
body.page-id-5352 .frbhp-legal { border-top:1px solid rgba(255,255,255,.12); font-size:13.5px; color:#8291ab; }
body.page-id-5352 .frbhp-legal .frbhp-wrap { padding-top:18px; padding-bottom:26px; }

/* ----------------------------------------------------- wpautop guards
   WordPress wraps loose inline runs in <p> and turns single newlines into
   <br>. display:contents passes an injected <p>'s children straight through
   to the flex/grid parent, so the layout survives either way. */
body.page-id-5352 .frbhp-crisis .frbhp-wrap > p,
body.page-id-5352 .frbhp-wall > p,
body.page-id-5352 .frbhp-stats > p,
body.page-id-5352 .frbhp-hdr > p,
body.page-id-5352 .frbhp-acts > p,
body.page-id-5352 .frbhp-sogrid > p,
body.page-id-5352 .frbhp-events > p,
body.page-id-5352 .frbhp-pillars > p,
body.page-id-5352 .frbhp-heroacts > p { display:contents; }
body.page-id-5352 .frbhp-crisis br,
body.page-id-5352 .frbhp-wall br,
body.page-id-5352 .frbhp-hero > br { display:none; }
body.page-id-5352 .frbhp p:empty { display:none; }

/* -------------------------------------------------------- responsive */
@media (max-width:1090px){
  body.page-id-5352 .frbhp-bt { display:none; }
  body.page-id-5352 .frbhp-nav { gap:16px; }
  body.page-id-5352 .frbhp-nav a { font-size:14px; }
  body.page-id-5352 .frbhp-btn { padding:10px 14px; font-size:13.5px; }
}
@media (max-width:940px){
  body.page-id-5352 .frbhp-nav { display:none; }
  body.page-id-5352 .frbhp-hdr { flex-wrap:wrap; gap:12px; }
  body.page-id-5352 .frbhp-brand { flex:1 1 100%; }
  body.page-id-5352 .frbhp-acts { width:100%; margin-left:0; }
  body.page-id-5352 .frbhp-acts .frbhp-btn { flex:1 1 0; text-align:center; white-space:normal; }
  body.page-id-5352 .frbhp-stats { grid-template-columns:1fr 1fr; row-gap:26px; }
  body.page-id-5352 .frbhp-stat { padding-left:18px; }
  body.page-id-5352 .frbhp-stat:nth-child(3) { padding-left:0; border-left:0; }
  body.page-id-5352 .frbhp-two,
  body.page-id-5352 .frbhp-sogrid,
  body.page-id-5352 .frbhp-events { grid-template-columns:1fr; gap:28px; }
  body.page-id-5352 .frbhp-pillars { grid-template-columns:1fr; gap:22px; }
  body.page-id-5352 .frbhp-wall { grid-template-columns:1fr 1fr; }
  body.page-id-5352 .frbhp-foot > .frbhp-wrap { grid-template-columns:1fr; }
  body.page-id-5352 .frbhp-ctabtn { margin-left:0; }
}
@media (max-width:640px){
  /* a 100deg wash has no room to fall off in a narrow box, so go vertical */
  body.page-id-5352 .frbhp-scrim { background:linear-gradient(180deg,rgba(7,18,40,.90) 0%,rgba(7,18,40,.78) 52%,rgba(11,26,61,.74) 100%); }
  body.page-id-5352 .frbhp-hero h1 { font-size:2.2rem; max-width:none; }
  body.page-id-5352 .frbhp-deck { font-size:17.5px; }
  body.page-id-5352 .frbhp-heroacts .frbhp-btn { flex:1 1 100%; text-align:center; }
}
@media (max-width:520px){
  body.page-id-5352 .frbhp-hero { min-height:400px; }
  body.page-id-5352 .frbhp-hero .frbhp-wrap { padding-top:54px; padding-bottom:48px; }
  body.page-id-5352 .frbhp-stats { grid-template-columns:1fr; }
  body.page-id-5352 .frbhp-stat { padding-left:0; border-left:0; border-top:3px solid var(--rule); padding-top:14px; }
  body.page-id-5352 .frbhp-stat.frbhp-accent { border-top-color:var(--fire); }
  body.page-id-5352 .frbhp-stat.frbhp-gold { border-top-color:var(--gold); }
}
@media (prefers-reduced-motion:reduce){
  body.page-id-5352 .frbhp * { animation:none !important; transition:none !important; }
}


/* ===== from snippet #5345: FRB — pay it forward (5342): level cards, 3 columns ===== */
/* =========================================================
   /preview/donate/pay-it-forward/  (page 5342)

   WHY THIS EXISTS: every card rule in snippet 5208 is gated on
   `body:has(.donate-options)` — the giving-ladder tile block that 5141 and
   5142 carry in their description row. 5342 deliberately has no tile block,
   because the amounts would then live in two places, and that is exactly how
   one-time drifted from its own form twice ($58/$50, then $1,400/$1,500).
   So 5208 never fires here and the levels render as Bloomerang raw radios.

   This restates 5208 scoped to 5342 and nothing else.

   WHEN 5208 IS NEXT OPENED for an unrelated edit: generalise its gate from
     html body:has(.donate-options):has(#donation-form-container)
   to
     html body:is(:has(.donate-options), .page-id-5342):has(#donation-form-container)
   and delete this snippet entirely. It is a bridge, not a design.

   Six levels ($10 / $20 / $60 / $150 / $300 / $700) plus Other, so three
   columns and two rows, same as 5141. A level added or removed here needs
   the column count revisited or the last row orphans a single card.

   The recurring checkbox is deliberately left as the form ships it: present
   and unticked, donor's choice (Kara, 2026-09-17). No page-scoped recurring
   script or frequency lock applies here, unlike 5141 and 5142.
   ========================================================= */

html body.page-id-5342 #donation-form-container .section.donation {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}
html body.page-id-5342 #donation-form-container .section.donation > h3 {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

html body.page-id-5342 #donation-form-container .section.donation .field.radio:not(.other-option) {
  display: block;
  grid-template-columns: none;
  border: 1px solid #dcdcdc;
  border-radius: 10px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  background: #FFF;
  cursor: pointer;
  transition: border-color .14s, box-shadow .14s;
}
html body.page-id-5342 #donation-form-container .section.donation .field.radio:not(.other-option):hover {
  border-color: #159fe0;
  background: #FFF;
  box-shadow: 0 5px 16px rgba(0,0,0,.09);
}
html body.page-id-5342 #donation-form-container .section.donation .field.radio:not(.other-option):has(input:checked) {
  border-color: #1b2a4a;
  background: #f6f9fd;
  box-shadow: inset 0 0 0 2px #1b2a4a;
}

/* the picture: a CSS background, not an <img>. Decorative, because the label
   under it already says what the money buys, so it needs no alt text. */
html body.page-id-5342 #donation-form-container .section.donation .field.radio:not(.other-option)::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  border-radius: 0;
  background: #e9e9e9 center/cover no-repeat;
  background-image: var(--frb-level-img);
}

html body.page-id-5342 #donation-form-container .section.donation .field.radio:not(.other-option) label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 14px 16px 16px;
  cursor: pointer;
  font-weight: 400;
  font-size: 15px;
}
html body.page-id-5342 #donation-form-container .section.donation .field.radio:not(.other-option) input[type=radio] {
  margin: 4px 0 0;
  flex: 0 0 auto;
}
html body.page-id-5342 #donation-form-container .section.donation .field.radio:not(.other-option) .label {
  line-height: 1.5;
}

/* Other and its amount box share a row, no card treatment: there is no
   picture for an amount the donor invents. */
html body.page-id-5342 #donation-form-container .section.donation .field.radio.other-option {
  grid-column: 1;
  align-self: center;
  border: 0;
  padding: 0;
  margin: 0;
  background: none;
}
html body.page-id-5342 #donation-form-container .section.donation .field.radio.other-option::before {
  display: none;
}
html body.page-id-5342 #donation-form-container .section.donation .field.text.other-amount {
  grid-column: 2;
  align-self: center;
  padding: 0;
  margin: 0;
}

/* $10 gets its own picture HERE only. 5143 maps value 10. to
   donate-meal-day.jpg for the MONTHLY ladder, where $10/month genuinely is a
   day of meals. On this page $10 is a breakfast and $60 is the day of meals,
   so inheriting that mapping would put the same photograph twice in row one. */
html body.page-id-5342 #donation-form-container .section.donation .field.radio:has(input[value^="10."]) {
  --frb-level-img: url(/wp-content/uploads/2023/03/donate-snack.jpg);
}

@media (max-width: 1000px) {
  html body.page-id-5342 #donation-form-container .section.donation {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  html body.page-id-5342 #donation-form-container .section.donation {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  html body.page-id-5342 #donation-form-container .section.donation .field.radio.other-option,
  html body.page-id-5342 #donation-form-container .section.donation .field.text.other-amount {
    grid-column: 1;
  }
}


/* ===== from snippet #5331: FRB — preview: Who We've Served (5329) ===== */
/* =========================================================================
   FRB — preview: Who We've Served (5329)
   Violet Crown Analytics · 2026-09-15

   /preview/who-weve-served/ — top-level in the preview tree for now. Kara,
   2026-09-15: "build it as a top level page and then we'll decide if it
   belongs under about or under retreats or elsewhere." Moving it later is a
   parent change, not a rebuild — nothing here depends on the URL.

   NOT the same page as 5324 /preview/retreats/past/, and the difference is
   the audience. 5324 is the record: every retreat, the curriculum timeline,
   a searchable table, and a gaps note addressed to Renée. This is the case:
   scale, who those people were, the trajectory, and an ask.

   ─────────────────────────────────────────────────────────────────────────
   EVERY BLOCK FILLS THE 1080 MEASURE. NOTHING IS CAPPED SHORT OF IT.
   Kara, 2026-09-15: "the squished to the left text reads like an error."
   She is right, and it was: an earlier pass capped prose blocks with
   max-width and let the leftover sit empty, which on a 1080 row reads as a
   broken container rather than a design choice.
   The rule for this page, and the one the rest of the tree already follows:
   prose never gets a max-width cap. It gets a SECOND COLUMN instead —
   either .frb-split / .frb-note (heading or label left, prose right) or
   multi-column (the significant-others panel). Both span the full row and
   both keep the line length readable. DO NOT reintroduce a max-width on a
   text block here to "fix" a long line; give it a column.
   ─────────────────────────────────────────────────────────────────────────

   Palette: navy #121A2E · gold #F3C518 · cream #F6F4EF · slate #3A4257
            rule #C9CEDB · deep blue #26357E
   ========================================================================= */

/* =========================================================================
   PART 1 — shapes mirrored from 5316, scoped to this page
   ========================================================================= */

body.page-id-5329 .frb-eyebrow{
  margin:0 0 10px;font-size:12.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#26357E;
}
body.page-id-5329 .frb-split{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:34px 48px;align-items:start;
}
@media (max-width:860px){
  body.page-id-5329 .frb-split{grid-template-columns:1fr;gap:20px}
}
body.page-id-5329 .frb-split-a > :first-child{margin-top:0}
body.page-id-5329 .frb-split-b > :last-child{margin-bottom:0}
body.page-id-5329 .frb-split-b p{margin:0 0 14px;font-size:17px;line-height:1.62;color:#3A4257}
body.page-id-5329 .frb-split-b p:last-child{margin-bottom:0}
body.page-id-5329 .frb-split-b strong{color:#121A2E}

body.page-id-5329 h2.frb-rule{
  margin:0 0 26px;font-size:30px;line-height:1.18;color:#121A2E;
  font-weight:700;letter-spacing:-.015em;
}
body.page-id-5329 h2.frb-rule::after{
  content:"";display:block;width:54px;height:3px;margin-top:16px;background:#F3C518;
}

body.page-id-5329 .frb-ab-facts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));
  gap:0;margin:34px 0 0;border:1px solid #C9CEDB;
}
body.page-id-5329 .frb-ab-fact{padding:22px 22px 24px;border-left:1px solid #C9CEDB}
body.page-id-5329 .frb-ab-fact:first-child{border-left:0}
body.page-id-5329 .frb-ab-fact b{
  display:block;color:#26357E;font-size:38px;line-height:1;margin-bottom:9px;
  font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
body.page-id-5329 .frb-ab-fact span{
  display:block;font-size:15px;line-height:1.45;color:#3A4257;
}
@media (max-width:700px){
  body.page-id-5329 .frb-ab-fact{border-left:0;border-top:1px solid #C9CEDB}
  body.page-id-5329 .frb-ab-fact:first-child{border-top:0}
}

body.page-id-5329 .frb-ab-help{background:#121A2E;padding:34px 30px;margin:0 0 26px}
body.page-id-5329 .frb-ab-help h2{color:#fff;margin:0 0 4px}
body.page-id-5329 .frb-ab-help .frb-ab-sub{color:#D8DEE9;margin:0 0 22px;font-size:16px}
body.page-id-5329 .frb-ab-ways{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));
  gap:1px;background:#2A3348;
}
body.page-id-5329 a.frb-ab-way{background:#121A2E;padding:18px;text-decoration:none;display:block}
body.page-id-5329 a.frb-ab-way:hover,
body.page-id-5329 a.frb-ab-way:focus{background:#1B2540}
body.page-id-5329 a.frb-ab-way b{display:block;color:#fff;font-size:17px;margin-bottom:4px}
body.page-id-5329 a.frb-ab-way span{display:block;color:#D8DEE9;font-size:15px;line-height:1.45}
body.page-id-5329 .frb-ab-trust{font-size:14px;color:#6B7280;line-height:1.6;margin:0}

/* The $0 tile. It is the only figure on the page that is an argument rather
   than a count, so it gets the gold and the others keep the deep blue. */
body.page-id-5329 .frb-ab-fact:last-child b{color:#121A2E}
body.page-id-5329 .frb-ab-fact:last-child{background:#F3C518}
body.page-id-5329 .frb-ab-fact:last-child span{color:#2A2E1E}

/* =========================================================================
   PART 2 — this page only
   ========================================================================= */

/* ---- the two halves -----------------------------------------------------
   First Responders and significant others get identical heading scale and
   identical vertical space. That is the whole point of the section and it is
   a client decision, not a layout preference — Kara, 2026-09-14: "Those are
   not second thoughts at an FRB Retreat." DO NOT make the second half a
   sidebar, a pull-quote, or a narrower column. */
body.page-id-5329 .frb-half{margin:30px 0 0}
body.page-id-5329 .frb-half + .frb-half{margin-top:44px;padding-top:38px;border-top:1px solid #C9CEDB}
body.page-id-5329 .frb-half-h{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:0 12px;margin:0 0 4px;
}
body.page-id-5329 .frb-half-h b{
  font-size:34px;font-weight:700;color:#121A2E;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;line-height:1.1;
}
body.page-id-5329 .frb-half-h span{
  font-size:20px;font-weight:700;color:#121A2E;letter-spacing:-.01em;
}
body.page-id-5329 .frb-half-h i{font-style:normal;font-size:14.5px;color:#6B7280}

/* ---- discipline bars ---------------------------------------------------- */
body.page-id-5329 .frb-disc{margin:16px 0 0;border-top:1px solid #C9CEDB}
body.page-id-5329 .frb-disc-row{
  display:grid;grid-template-columns:172px minmax(0,1fr) 58px;
  gap:0 16px;align-items:center;padding:12px 0;border-bottom:1px solid #E3E7EF;
}
body.page-id-5329 .frb-disc-l{font-size:15.5px;font-weight:600;color:#121A2E}
body.page-id-5329 .frb-disc-t{display:block;height:15px;background:#EDEFF4;min-width:0}
body.page-id-5329 .frb-disc-f{display:block;height:100%;background:#26357E}
/* Sampled from the FRB logo where the logo has a colour for it: wordmark blue
   for law enforcement, fire red, dispatch gold. EMS and corrections have no
   logo colour, so they take teal and slate rather than a second blue. */
body.page-id-5329 .frb-d-le{background:#26357E}
body.page-id-5329 .frb-d-ff{background:#CE152D}
body.page-id-5329 .frb-d-ems{background:#1B7F79}
body.page-id-5329 .frb-d-disp{background:#F3C518}
body.page-id-5329 .frb-d-corr{background:#6B7280}
body.page-id-5329 .frb-disc-v{
  font-size:19px;font-weight:700;color:#121A2E;text-align:right;
  font-variant-numeric:tabular-nums;letter-spacing:-.01em;
}
@media (max-width:700px){
  body.page-id-5329 .frb-disc-row{grid-template-columns:minmax(0,1fr) 58px;gap:5px 12px}
  body.page-id-5329 .frb-disc-l{grid-column:1 / -1}
}

/* ---- notes ---------------------------------------------------------------
   The replacement for the old capped .frb-rt-note. Same 1fr / 1.15fr grid as
   .frb-split, so a note sits on exactly the rhythm the lead section sets: the
   label lands under the headings, the prose under the body copy, all the way
   down the page. Fills 1080 with no leftover. */
body.page-id-5329 .frb-note{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:10px 48px;align-items:start;
  margin:26px 0 0;padding-top:22px;border-top:1px solid #C9CEDB;
}
body.page-id-5329 .frb-note-k{
  font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#26357E;padding-top:3px;
}
body.page-id-5329 .frb-note-v p{margin:0;font-size:16px;line-height:1.62;color:#3A4257}
body.page-id-5329 .frb-note-v p + p{margin-top:11px}
body.page-id-5329 .frb-note-v strong{color:#121A2E}
@media (max-width:860px){
  body.page-id-5329 .frb-note{grid-template-columns:1fr;gap:9px}
}

/* ---- significant others panel -------------------------------------------
   A filled panel rather than a sixth bar. There is no breakdown to rank, and
   one lone bar sitting under five would read as a smaller discipline — the
   opposite of what the section says. Equal weight by a different means. */
body.page-id-5329 .frb-so{
  background:#F6F4EF;border-left:3px solid #F3C518;padding:24px 28px 26px;margin:16px 0 0;
}
body.page-id-5329 .frb-so p{margin:0;font-size:16.5px;line-height:1.62;color:#3A4257}
body.page-id-5329 .frb-so p + p{margin-top:12px}
body.page-id-5329 .frb-so strong{color:#121A2E}
/* The definition line. "Significant other" and "partner" are the defaults per
   the 2026-09-15 terminology standard, so every place that uses them owes the
   reader one plain sentence saying who that covers. Set apart because it is a
   definition, not an argument. */
body.page-id-5329 .frb-so-def{
  font-size:15.5px !important;color:#121A2E !important;font-weight:600;
  padding-bottom:14px;border-bottom:1px solid #E1DCD0;margin-bottom:14px !important;
}
/* Two columns on a wide screen — this panel's way of filling the row while
   keeping the line readable. It cannot use the .frb-note split instead: this
   half has to match the width AND the weight of the five discipline bars
   above it, and a label column would hand a third of it back to white space.
   TEXT FLOWS ACROSS THE COLUMN BREAK ON PURPOSE. A first attempt carried
   break-inside:avoid, which keeps each paragraph whole — but the paragraphs
   run 3, 5 and 3 lines, so the only legal split was 1 | 2+3 and column one
   ended a third of the way down. Measured 2026-09-15. Letting a paragraph
   break mid-way is ordinary newspaper setting and both columns end level.
   DO NOT reinstate break-inside:avoid here. */
@media (min-width:900px){
  body.page-id-5329 .frb-so{column-count:2;column-gap:46px}
  body.page-id-5329 .frb-so > p{orphans:2;widows:2;margin-top:0}
  body.page-id-5329 .frb-so > p + p{margin-top:12px}
  body.page-id-5329 .frb-so-def{column-span:all}
}

/* ---- growth bars -------------------------------------------------------- */
body.page-id-5329 .frb-bars{margin:30px 0 0;border-top:1px solid #C9CEDB}
body.page-id-5329 .frb-bar{
  display:grid;grid-template-columns:54px minmax(0,1fr) 58px 176px;
  gap:0 16px;align-items:center;padding:13px 0;border-bottom:1px solid #E3E7EF;
}
body.page-id-5329 .frb-bar-y{
  font-size:15px;font-weight:700;color:#121A2E;font-variant-numeric:tabular-nums;
}
body.page-id-5329 .frb-bar-t{display:block;height:16px;background:#EDEFF4;min-width:0}
body.page-id-5329 .frb-bar-f{display:block;height:100%;background:#121A2E}
/* Paler fill = at least one retreat that year has no surviving data, so the
   bar understates. The note column says which. Colour is never the only
   carrier here — do not remove the note text and leave the tint to explain. */
body.page-id-5329 .frb-bar-part{background:#8A94AC}
body.page-id-5329 .frb-bar-v{
  font-size:19px;font-weight:700;color:#26357E;text-align:right;
  font-variant-numeric:tabular-nums;letter-spacing:-.01em;
}
body.page-id-5329 .frb-bar-n{font-size:13.5px;color:#6B7280;line-height:1.35}
@media (max-width:700px){
  body.page-id-5329 .frb-bar{grid-template-columns:46px minmax(0,1fr) 52px;gap:4px 12px}
  body.page-id-5329 .frb-bar-n{grid-column:1 / -1;padding-left:58px}
}

/* ---- the sourcing section -----------------------------------------------
   Was a bordered box capped at 78ch, which left a third of the row empty and
   is exactly what Kara flagged. It is now an ordinary .frb-split section like
   every other one on the page — eyebrow, heading left, prose right. No box:
   a border here would also have read as the dashed amber "unfinished" panel
   used elsewhere in this tree, and this block is finished and meant to be
   read by donors. */
body.page-id-5329 a.frb-link{
  font-weight:700;color:#121A2E;text-decoration:none;
  box-shadow:inset 0 -2px 0 #F3C518;
}
body.page-id-5329 a.frb-link:hover,
body.page-id-5329 a.frb-link:focus{box-shadow:inset 0 -6px 0 #F3C518}


/* ===== from snippet #5326: FRB — preview: past retreats index (5324) ===== */
/* =========================================================================
   FRB — preview: past retreats index (5324)
   Violet Crown Analytics · 2026-09-14

   /preview/retreats/past/ — the historical index behind /preview/retreats/.

   WHY THIS IS A SEPARATE SNIPPET AND NOT PART OF 5316
   5316 holds the shared shape components for 5314 / 5319 / 5322, scoped by
   page id. Folding 5324 in means retyping all of 5316 to widen ~30 selector
   lists, which risks three working pages to style a fourth. Same call the
   site already makes for 5250 (golf), 5263 (past outings) and 5268 (Raymond
   James): page-specific CSS rides in its own snippet.

   PART 1 below restates the four 5316 shapes this page uses — eyebrow, split,
   gold heading rule, stat band — scoped to 5324. Those four are frozen: they
   came off the VCA mockup and have not moved since 2026-09-14. If they ever
   DO change in 5316, change them here too, or drop the page-id prefixes in
   5316 entirely and delete PART 1 — which is what 5316's own header already
   recommends for the whole preview tree.

   PART 2 is this page's own components and belongs nowhere else.

   The measure is NOT set here: rows at 1080 come from 5241, the navy hero
   band and page title from 5201 / 5202.

   Palette: navy #121A2E · gold #F3C518 · cream #F6F4EF · slate #3A4257
            rule #C9CEDB · deep blue #26357E · placeholder amber #E06E00
   ========================================================================= */

/* =========================================================================
   PART 1 — shapes mirrored from 5316, scoped to this page
   ========================================================================= */

body.page-id-5324 .frb-eyebrow{
  margin:0 0 10px;font-size:12.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#26357E;
}
body.page-id-5324 .frb-split{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:34px 48px;align-items:start;
}
@media (max-width:860px){
  body.page-id-5324 .frb-split{grid-template-columns:1fr;gap:20px}
}
body.page-id-5324 .frb-split-a > :first-child{margin-top:0}
body.page-id-5324 .frb-split-b > :last-child{margin-bottom:0}

body.page-id-5324 h2.frb-rule{
  margin:0 0 26px;font-size:30px;line-height:1.18;color:#121A2E;
  font-weight:700;letter-spacing:-.015em;
}
body.page-id-5324 h2.frb-rule::after{
  content:"";display:block;width:54px;height:3px;margin-top:16px;background:#F3C518;
}

body.page-id-5324 .frb-ab-facts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));
  gap:0;margin:34px 0 0;border:1px solid #C9CEDB;
}
body.page-id-5324 .frb-ab-fact{padding:22px 22px 24px;border-left:1px solid #C9CEDB}
body.page-id-5324 .frb-ab-fact:first-child{border-left:0}
body.page-id-5324 .frb-ab-fact b{
  display:block;color:#26357E;font-size:38px;line-height:1;margin-bottom:9px;
  font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
body.page-id-5324 .frb-ab-fact span{
  display:block;font-size:15px;line-height:1.45;color:#3A4257;
}
@media (max-width:700px){
  body.page-id-5324 .frb-ab-fact{border-left:0;border-top:1px solid #C9CEDB}
  body.page-id-5324 .frb-ab-fact:first-child{border-top:0}
}

body.page-id-5324 .frb-rt-note{
  margin:24px 0 0;font-size:16px;line-height:1.6;color:#3A4257;
  padding-left:18px;border-left:3px solid #F3C518;
}

body.page-id-5324 .frb-ab-help{background:#121A2E;padding:34px 30px;margin:0 0 26px}
body.page-id-5324 .frb-ab-help h2{color:#fff;margin:0 0 4px}
body.page-id-5324 .frb-ab-help .frb-ab-sub{color:#D8DEE9;margin:0 0 22px;font-size:16px}
body.page-id-5324 .frb-ab-ways{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));
  gap:1px;background:#2A3348;
}
body.page-id-5324 a.frb-ab-way{background:#121A2E;padding:18px;text-decoration:none;display:block}
body.page-id-5324 a.frb-ab-way:hover,
body.page-id-5324 a.frb-ab-way:focus{background:#1B2540}
body.page-id-5324 a.frb-ab-way b{display:block;color:#fff;font-size:17px;margin-bottom:4px}
body.page-id-5324 a.frb-ab-way span{display:block;color:#D8DEE9;font-size:15px;line-height:1.45}

body.page-id-5324 .frb-ab-pending{
  border:1px dashed #E06E00;background:#FDF6EE;padding:19px 21px;margin-top:0;
}
body.page-id-5324 .frb-ab-tag{
  display:inline-block;font-size:12px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:#E06E00;margin-bottom:7px;
}
body.page-id-5324 .frb-ab-pending p{
  color:#7A4A12;font-style:italic;font-size:15.5px;margin:0;
}
body.page-id-5324 .frb-ab-trust{font-size:14px;color:#6B7280;line-height:1.6;margin:0}

/* =========================================================================
   PART 2 — this page only
   ========================================================================= */

/* ---- growth bars: year · track · figure · note --------------------------
   Four columns rather than a bar with a floating label, so the figures form a
   clean right-aligned stack you can read down without reference to the bars.
   The bar is the shape; the column of numbers is the data. */
body.page-id-5324 .frb-bars{margin:30px 0 0;border-top:1px solid #C9CEDB}
body.page-id-5324 .frb-bar{
  display:grid;grid-template-columns:54px minmax(0,1fr) 58px 176px;
  gap:0 16px;align-items:center;padding:13px 0;border-bottom:1px solid #E3E7EF;
}
body.page-id-5324 .frb-bar-y{
  font-size:15px;font-weight:700;color:#121A2E;font-variant-numeric:tabular-nums;
}
body.page-id-5324 .frb-bar-t{display:block;height:16px;background:#EDEFF4;min-width:0}
body.page-id-5324 .frb-bar-f{display:block;height:100%;background:#121A2E}
/* Paler fill = at least one retreat that year has no surviving data, so the
   bar understates. The note column says which. Colour is never the only
   carrier here — do not remove the note text and leave the tint to explain. */
body.page-id-5324 .frb-bar-part{background:#8A94AC}
body.page-id-5324 .frb-bar-v{
  font-size:19px;font-weight:700;color:#26357E;text-align:right;
  font-variant-numeric:tabular-nums;letter-spacing:-.01em;
}
body.page-id-5324 .frb-bar-n{font-size:13.5px;color:#6B7280;line-height:1.35}
@media (max-width:700px){
  body.page-id-5324 .frb-bar{
    grid-template-columns:46px minmax(0,1fr) 52px;gap:4px 12px;
  }
  body.page-id-5324 .frb-bar-n{grid-column:1 / -1;padding-left:58px}
}

/* ---- discipline bars ---------------------------------------------------- */
body.page-id-5324 .frb-disc{margin:30px 0 0;border-top:1px solid #C9CEDB}
body.page-id-5324 .frb-disc-row{
  display:grid;grid-template-columns:148px minmax(0,1fr) 56px 46px;
  gap:0 16px;align-items:center;padding:13px 0;border-bottom:1px solid #E3E7EF;
}
body.page-id-5324 .frb-disc-l{font-size:15.5px;font-weight:700;color:#121A2E}
body.page-id-5324 .frb-disc-t{display:block;height:16px;background:#EDEFF4;min-width:0}
body.page-id-5324 .frb-disc-f{display:block;height:100%;background:#26357E}
/* Sampled from the FRB logo where the logo has a colour for it: wordmark blue
   for law enforcement, fire red, dispatch gold. EMS and corrections have no
   logo colour, so they take teal and slate rather than a second blue. */
body.page-id-5324 .frb-d-le{background:#26357E}
body.page-id-5324 .frb-d-ff{background:#CE152D}
body.page-id-5324 .frb-d-ems{background:#1B7F79}
body.page-id-5324 .frb-d-disp{background:#F3C518}
body.page-id-5324 .frb-d-corr{background:#6B7280}
body.page-id-5324 .frb-disc-v{
  font-size:19px;font-weight:700;color:#121A2E;text-align:right;
  font-variant-numeric:tabular-nums;letter-spacing:-.01em;
}
body.page-id-5324 .frb-disc-p{
  font-size:13.5px;color:#6B7280;text-align:right;font-variant-numeric:tabular-nums;
}
@media (max-width:700px){
  body.page-id-5324 .frb-disc-row{
    grid-template-columns:minmax(0,1fr) 56px 46px;gap:6px 12px;
  }
  body.page-id-5324 .frb-disc-l{grid-column:1 / -1}
}

/* ---- curriculum timeline ------------------------------------------------ */
body.page-id-5324 .frb-tl{
  margin:32px 0 0;padding-left:26px;border-left:2px solid #C9CEDB;
}
body.page-id-5324 .frb-tl-i{position:relative;padding:0 0 26px}
body.page-id-5324 .frb-tl-i:last-child{padding-bottom:0}
body.page-id-5324 .frb-tl-i::before{
  content:"";position:absolute;left:-33px;top:6px;width:11px;height:11px;
  border-radius:50%;background:#FFFFFF;border:2px solid #C9CEDB;
}
body.page-id-5324 .frb-tl-big::before{background:#F3C518;border-color:#121A2E}
body.page-id-5324 .frb-tl-d{
  display:block;font-size:12.5px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:#26357E;margin-bottom:3px;
}
body.page-id-5324 .frb-tl-b{
  display:block;font-size:19px;font-weight:700;color:#121A2E;line-height:1.3;
  letter-spacing:-.01em;
}
body.page-id-5324 .frb-tl-i p{
  margin:7px 0 0;font-size:16px;line-height:1.6;color:#3A4257;max-width:74ch;
}
/* The panel is pulled 20px left and padded 20px, so it must hug the same text
   column as the plain items or the cream ground runs the full 1080 measure past
   text that stops at 74ch. Its dot is positioned against the panel's own padding
   box, hence -13px rather than the -33px the plain items use: both land on the
   rail at the same x. */
body.page-id-5324 .frb-tl-big{
  background:#F6F4EF;margin-left:-20px;padding:18px 20px 20px;
  border-left:3px solid #F3C518;max-width:calc(74ch + 40px);
}
body.page-id-5324 .frb-tl-big::before{left:-13px;top:24px}

/* ---- filter box ---------------------------------------------------------
   The <input> is NOT in the page markup, and cannot be: Page Builder's widget
   sanitizer strips form controls out of a Custom HTML widget, exactly as it
   strips external iframe src attributes (see 5316's About-video note).
   Proved on this page 2026-09-14 — the label and the count span survived, the
   input did not. So the companion JS snippet 5327 builds the input, appends it
   here and sets .frb-find-on. Hidden until then, or a JS-off visitor gets an
   orphan label above a table it can't filter. The table is fully readable
   without it. DO NOT "fix" this by pasting an <input> into the widget. */
body.page-id-5324 .frb-find{display:none;margin:22px 0 14px;align-items:center;gap:12px}
body.page-id-5324 .frb-find-on{display:flex;flex-wrap:wrap}
body.page-id-5324 .frb-find label{
  font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:#26357E;margin:0;
}
body.page-id-5324 .frb-find input{
  flex:0 1 320px;min-width:0;font-size:16px;padding:9px 12px;color:#121A2E;
  border:1px solid #C9CEDB;background:#FFFFFF;border-radius:0;height:auto;
  box-shadow:none;
}
body.page-id-5324 .frb-find input:focus{border-color:#121A2E;outline:2px solid #F3C518;outline-offset:1px}
body.page-id-5324 #frb-q-n{font-size:14px;color:#6B7280;font-variant-numeric:tabular-nums}

/* ---- the whole record --------------------------------------------------- */
body.page-id-5324 .frb-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
body.page-id-5324 table.frb-rt-tbl{
  width:100%;min-width:760px;margin:0;border-collapse:collapse;
  font-variant-numeric:tabular-nums;background:#FFFFFF;
}
/* Sydney ships Bootstrap 3, which carries a bare `th, td { text-align:center }`
   at (0,0,1). Immunised here the same way 5314's key-value table is. The .n
   columns opt back in to right alignment below. DO NOT DELETE. */
body.page-id-5324 table.frb-rt-tbl th,
body.page-id-5324 table.frb-rt-tbl td{
  text-align:left;vertical-align:middle;padding:10px 12px;
  border:0;border-bottom:1px solid #E3E7EF;font-size:15px;line-height:1.4;
}
body.page-id-5324 table.frb-rt-tbl thead th{
  background:#121A2E;color:#FFFFFF;font-size:12.5px;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;border-bottom:0;white-space:nowrap;
}
/* Alignment for both, but the COLOUR only for body cells. Setting colour on
   th.n too painted the "Came" and "FR" headers navy on the navy header band and
   they vanished — (0,3,3) beats the (0,2,4) of the thead th rule above. Caught
   on screen 2026-09-14. Keep these two rules apart. */
body.page-id-5324 table.frb-rt-tbl th.n,
body.page-id-5324 table.frb-rt-tbl td.n{text-align:right}
body.page-id-5324 table.frb-rt-tbl td.n{font-weight:700;color:#121A2E}
body.page-id-5324 table.frb-rt-tbl tbody tr:nth-child(even){background:#F8F9FB}
body.page-id-5324 table.frb-rt-tbl tbody tr:hover{background:#F6F4EF}
body.page-id-5324 table.frb-rt-tbl td:first-child{white-space:nowrap;font-weight:600;color:#121A2E}
body.page-id-5324 table.frb-rt-tbl .dim{color:#9AA1AE;font-weight:400}
body.page-id-5324 table.frb-rt-tbl td.n.dim{font-weight:400}
body.page-id-5324 table.frb-rt-tbl .hi{
  color:#121A2E;font-weight:700;
}
body.page-id-5324 table.frb-rt-tbl a{color:#26357E;font-weight:700}
body.page-id-5324 table.frb-rt-tbl tr[hidden]{display:none}

body.page-id-5324 .frb-mono{
  font-family:Consolas,Menlo,Monaco,"Courier New",monospace;font-size:.92em;
  background:#F6F4EF;padding:1px 5px;color:#121A2E;
}
body.page-id-5324 .frb-ab-pending p + p{margin-top:11px}


/* ===== from snippet #5316: FRB — preview pages: About, Retreats, Sponsor wall (5314, 5322, 5319) ===== */
/* =========================================================================
   FRB preview tree — page components
   Violet Crown Analytics · 2026-09-14

     5314  /preview/about/
     5322  /preview/retreats/
     5319  /preview/sponsors/wall/

   PART A is a shared set of shape components lifted from the web mockup at
   violetcrownanalytics.com/FRB/frbweb.html — eyebrow labels, the two-column
   split, the gold heading rule, the stat band, the card trio.
   Kara, 2026-09-14: "just pull some general concepts from it. We aren't moving
   off of Jason's structure but trying to bring some shape to it." So: NO font
   change, NO new type system, NO photographic heroes. Sydney supplies the type.

   ADDING A PAGE: append its body.page-id-NNNN to the PART A selector lists.
   Dropping the page-id prefix entirely would serve the whole preview tree.

   The measure is NOT set here:
     · rows at 1080 come from snippet 5241
     · .frb-kv at 720 centred comes from 5273
     · the navy hero band + page title come from 5201 / 5202

   Palette: navy #121A2E · gold #F3C518 · cream #F6F4EF · slate #3A4257
            rule #C9CEDB · deep blue #26357E · placeholder amber #E06E00
   Deep blue is the mockup's second accent, used ONLY for stat figures and
   eyebrows so it never competes with the navy.

   Discipline colours on the card trio are sampled from the FRB logo:
   wordmark blue, Fire red #CE152D, Dispatch gold.
   ========================================================================= */

/* =========================================================================
   PART A — shared shape components
   ========================================================================= */

body.page-id-5314 .frb-eyebrow,
body.page-id-5319 .frb-eyebrow,
body.page-id-5322 .frb-eyebrow{
  margin:0 0 10px;font-size:12.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#26357E;
}

/* Two-column split: heading left, body right.
   This is the component that earns its place. A row at the 1080 standard puts
   running text at roughly 150 characters a line, about double a comfortable
   measure. Splitting the heading off cuts the body to a normal line length
   without narrowing the row or breaking the tree's grid. */
body.page-id-5314 .frb-split,
body.page-id-5319 .frb-split,
body.page-id-5322 .frb-split{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:34px 48px;align-items:start;
}
@media (max-width:860px){
  body.page-id-5314 .frb-split,
  body.page-id-5319 .frb-split,
  body.page-id-5322 .frb-split{grid-template-columns:1fr;gap:20px}
}
body.page-id-5314 .frb-split-a > :first-child,
body.page-id-5319 .frb-split-a > :first-child,
body.page-id-5322 .frb-split-a > :first-child{margin-top:0}
body.page-id-5314 .frb-split-b > :last-child,
body.page-id-5319 .frb-split-b > :last-child,
body.page-id-5322 .frb-split-b > :last-child{margin-bottom:0}

body.page-id-5314 h2.frb-rule,
body.page-id-5319 h2.frb-rule,
body.page-id-5322 h2.frb-rule{
  margin:0 0 18px;font-size:30px;line-height:1.18;color:#121A2E;
  font-weight:700;letter-spacing:-.015em;
}
body.page-id-5314 h2.frb-rule::after,
body.page-id-5319 h2.frb-rule::after,
body.page-id-5322 h2.frb-rule::after{
  content:"";display:block;width:54px;height:3px;margin-top:16px;background:#F3C518;
}
body.page-id-5322 h2.frb-rule{margin-bottom:26px}

/* Stat band — hairline-separated figures */
body.page-id-5314 .frb-ab-facts,
body.page-id-5322 .frb-ab-facts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));
  gap:0;margin:34px 0 0;border:1px solid #C9CEDB;
}
body.page-id-5314 .frb-ab-fact,
body.page-id-5322 .frb-ab-fact{padding:22px 22px 24px;border-left:1px solid #C9CEDB}
body.page-id-5314 .frb-ab-fact:first-child,
body.page-id-5322 .frb-ab-fact:first-child{border-left:0}
body.page-id-5314 .frb-ab-fact b,
body.page-id-5322 .frb-ab-fact b{
  display:block;color:#26357E;font-size:38px;line-height:1;margin-bottom:9px;
  font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
body.page-id-5314 .frb-ab-fact span,
body.page-id-5322 .frb-ab-fact span{
  display:block;font-size:15px;line-height:1.45;color:#3A4257;
}
@media (max-width:700px){
  body.page-id-5314 .frb-ab-fact,
  body.page-id-5322 .frb-ab-fact{border-left:0;border-top:1px solid #C9CEDB}
  body.page-id-5314 .frb-ab-fact:first-child,
  body.page-id-5322 .frb-ab-fact:first-child{border-top:0}
}

/* Shared button + team-style callout */
body.page-id-5314 a.frb-ab-btn,
body.page-id-5322 a.frb-ab-btn{
  display:inline-block;background:#121A2E;color:#fff;text-decoration:none;
  font-weight:700;font-size:16px;padding:12px 22px;white-space:nowrap;
}
body.page-id-5314 a.frb-ab-btn:hover,body.page-id-5314 a.frb-ab-btn:focus,
body.page-id-5322 a.frb-ab-btn:hover,body.page-id-5322 a.frb-ab-btn:focus{
  background:#2A3348;color:#fff;
}
body.page-id-5314 .frb-ab-teamcard,
body.page-id-5322 .frb-ab-teamcard{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;
  align-items:center;border:1px solid #C9CEDB;border-left:3px solid #F3C518;
  padding:24px 26px;margin:0 0 16px;
}
body.page-id-5314 .frb-ab-teamcard{margin:24px 0 0}
body.page-id-5314 .frb-ab-teamcard p,
body.page-id-5322 .frb-ab-teamcard p{margin:0;font-size:17px}
@media (max-width:860px){
  body.page-id-5314 .frb-ab-teamcard,
  body.page-id-5322 .frb-ab-teamcard{grid-template-columns:1fr}
}

/* Missing-asset slot — the mockup's dashed image placeholder */
body.page-id-5314 .frb-imgslot{
  margin:34px 0 0;border:1px dashed #E06E00;background:#FDF6EE;
  padding:30px 26px;text-align:center;
}
body.page-id-5314 .frb-imgslot-tag{
  display:block;font-size:12px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:#E06E00;margin-bottom:9px;
}
body.page-id-5314 .frb-imgslot p{
  margin:0 auto;max-width:62ch;font-size:15.5px;line-height:1.55;
  color:#7A4A12;font-style:italic;
}

/* =========================================================================
   PART B — Retreats (5322)
   ========================================================================= */

/* ---- who comes: three cards, discipline colours on the top rule --------- */
body.page-id-5322 .frb-who3{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));
  gap:18px;margin:0 0 24px;
}
body.page-id-5322 .frb-who3-card{
  border:1px solid #C9CEDB;border-top:4px solid #C9CEDB;padding:22px 24px 24px;
}
body.page-id-5322 .frb-who3-a{border-top-color:#121A2E}
body.page-id-5322 .frb-who3-b{border-top-color:#CE152D}
body.page-id-5322 .frb-who3-c{border-top-color:#F3C518}
body.page-id-5322 .frb-who3-card h3{
  margin:0 0 9px;font-size:19px;color:#121A2E;font-weight:700;
}
body.page-id-5322 .frb-who3-card p{margin:0;font-size:16px;line-height:1.55}

/* ---- the weekend: one column per day -----------------------------------
   Three days of very different length, so the cards are NOT equal-weight —
   the point of the block is that Saturday is the long one. Content sets the
   height; the figures are what carry it. */
body.page-id-5322 .frb-days{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));
  gap:1px;background:#C9CEDB;border:1px solid #C9CEDB;margin:30px 0 0;
}
body.page-id-5322 .frb-day{background:#FFFFFF;padding:24px 24px 26px}
body.page-id-5322 .frb-day h3{
  margin:0 0 4px;font-size:22px;color:#121A2E;font-weight:700;
  letter-spacing:-.01em;
}
body.page-id-5322 .frb-day-span{
  margin:0 0 2px;font-size:16px;color:#26357E;font-weight:700;
  font-variant-numeric:tabular-nums;
}
body.page-id-5322 .frb-day-n{
  margin:0 0 14px;font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;
  color:#6B7280;font-weight:600;
}
body.page-id-5322 .frb-day p:last-child{
  margin:0;font-size:15.5px;line-height:1.6;color:#3A4257;
}

/* ---- two-column: covered / you bring, and the register block ------------ */
body.page-id-5322 .frb-two{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:22px;align-items:start;
}
@media (max-width:860px){
  body.page-id-5322 .frb-two{grid-template-columns:1fr}
}
body.page-id-5322 .frb-two-a{background:#F6F4EF;border:1px solid #C9CEDB;padding:24px 26px 26px}
body.page-id-5322 .frb-two-b{padding:0}
body.page-id-5322 .frb-two h3{margin:0 0 12px;font-size:18px;color:#121A2E}
body.page-id-5322 .frb-two ul{margin:0;padding-left:20px;font-size:16px;line-height:1.6}
body.page-id-5322 .frb-two li + li{margin-top:8px}
body.page-id-5322 .frb-two-b ul{padding-left:20px}
body.page-id-5322 .frb-two-p{margin:16px 0 0;font-size:16px;line-height:1.6}

/* ---- questions ---------------------------------------------------------- */
body.page-id-5322 .frb-qa{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(296px,1fr));
  gap:0 40px;
}
body.page-id-5322 .frb-q{padding:18px 0;border-top:1px solid #C9CEDB}
body.page-id-5322 .frb-q h3{
  margin:0 0 7px;font-size:17.5px;color:#121A2E;font-weight:700;
}
body.page-id-5322 .frb-q p{margin:0;font-size:16px;line-height:1.6}

body.page-id-5322 .frb-rt-h3{
  margin:34px 0 16px;font-size:21px;color:#121A2E;font-weight:700;
  letter-spacing:-.01em;
}
body.page-id-5322 .frb-rt-note{
  margin:24px 0 0;font-size:16px;line-height:1.6;color:#3A4257;
  padding-left:18px;border-left:3px solid #F3C518;
}

/* =========================================================================
   PART C — About (5314)
   ========================================================================= */

body.page-id-5314 .frb-ab-memorial{
  margin:0 0 22px;padding:20px 24px;background:#F6F4EF;border-left:3px solid #121A2E;
}
body.page-id-5314 .frb-ab-memorial p{margin:0;font-size:19px;line-height:1.6;color:#1F2634}
body.page-id-5314 .frb-ab-date{
  display:block;margin-top:7px;font-size:14px;color:#6B7280;letter-spacing:.03em;
}
body.page-id-5314 blockquote.frb-ab-quote{
  margin:36px 0 0;padding:0 0 0 22px;border-left:3px solid #F3C518;background:none;
}
body.page-id-5314 blockquote.frb-ab-quote p{
  font-size:23px;line-height:1.45;color:#121A2E;font-style:italic;margin:0 0 9px;
}
body.page-id-5314 blockquote.frb-ab-quote cite{font-style:normal;font-size:15px;color:#6B7280}
body.page-id-5314 .frb-ab-sub{margin:-2px 0 24px;color:#6B7280;font-size:16px}

/* Video — the Vimeo embed is a CORE oEMBED inside a SiteOrigin editor widget,
   not hand-written markup. A pasted <iframe> does not survive: Page Builder's
   widget sanitizer strips external src attributes, so an iframe written into a
   Custom HTML widget renders as an empty box. Proved on this page 2026-09-14.
   DO NOT replace it with a pasted embed code. */
body.page-id-5314 .frb-ab-vidhead{margin:0 0 14px;font-size:20px;color:#121A2E;font-weight:700}
body.page-id-5314 .frb-row-video .siteorigin-widget-tinymce p{margin:0}
body.page-id-5314 .frb-row-video iframe{
  display:block;width:100%;max-width:720px;height:auto;aspect-ratio:16/9;
  margin:0 auto;border:1px solid #C9CEDB;background:#121A2E;
}
body.page-id-5314 .frb-ab-cap{
  max-width:720px;margin:0 auto;padding:12px 2px 0;
  font-size:15px;color:#6B7280;line-height:1.5;
}

body.page-id-5314 .frb-ab-years{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));
  gap:10px;margin:0 0 26px;
}
body.page-id-5314 a.frb-ab-yr{
  display:block;text-align:center;text-decoration:none;
  border:1px solid #C9CEDB;padding:14px 8px;color:#121A2E;
}
body.page-id-5314 a.frb-ab-yr:hover,
body.page-id-5314 a.frb-ab-yr:focus{border-color:#121A2E;background:#F6F4EF}
body.page-id-5314 a.frb-ab-yr b{
  display:block;font-size:21px;font-weight:700;line-height:1.2;
  font-variant-numeric:tabular-nums;
}
body.page-id-5314 a.frb-ab-yr span{
  display:block;font-size:12px;letter-spacing:.07em;text-transform:uppercase;
  color:#6B7280;margin-top:3px;
}
body.page-id-5314 a.frb-ab-yr.frb-ab-newest{border-color:#121A2E;border-width:2px;background:#F6F4EF}
body.page-id-5314 a.frb-ab-yr.frb-ab-todo{border-style:dashed;border-color:#E06E00;background:#FDF6EE}
body.page-id-5314 a.frb-ab-yr.frb-ab-todo b,
body.page-id-5314 a.frb-ab-yr.frb-ab-todo span{color:#E06E00}

/* Sydney ships Bootstrap 3, which carries a bare `th, td { text-align:center }`
   at (0,0,1). 5273 already immunises .frb-kv; restated here so a future edit to
   5273 can't silently re-centre these cells. DO NOT DELETE. */
body.page-id-5314 .frb-ab-kv th,
body.page-id-5314 .frb-ab-kv td{text-align:left;vertical-align:top}
body.page-id-5314 .frb-ab-kv th{white-space:nowrap;color:#121A2E;font-weight:700;width:1%}
body.page-id-5314 .frb-ab-fine{
  display:inline-block;margin-top:3px;font-size:15px;color:#6B7280;line-height:1.5;
}

body.page-id-5314 .frb-ab-badges{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));
  gap:14px;margin-top:26px;
}
body.page-id-5314 .frb-ab-badge{border:1px solid #C9CEDB;padding:18px 20px}
body.page-id-5314 .frb-ab-badge h3{margin:0 0 5px;font-size:17px;color:#121A2E}
body.page-id-5314 .frb-ab-badge p{font-size:15px;line-height:1.5;margin:0}
body.page-id-5314 .frb-ab-badge.frb-ab-todo{border-style:dashed;border-color:#E06E00;background:#FDF6EE}
body.page-id-5314 .frb-ab-badge.frb-ab-todo h3{color:#E06E00}
body.page-id-5314 .frb-ab-badge.frb-ab-todo p{color:#7A4A12;font-style:italic}

/* =========================================================================
   PART D — Sponsor wall (5319)
   ========================================================================= */

body.page-id-5319 .frb-sw-band{
  padding:30px 28px 32px;border:1px solid #C9CEDB;border-top:4px solid #C9CEDB;
  margin:0 0 22px;
}
body.page-id-5319 .frb-sw-plat{border-top-color:#121A2E;background:#F6F4EF}
body.page-id-5319 .frb-sw-gold{border-top-color:#F3C518}
body.page-id-5319 .frb-sw-silv{border-top-color:#8E9298}
body.page-id-5319 .frb-sw-band h3{
  margin:0 0 22px;font-size:23px;color:#121A2E;font-weight:700;letter-spacing:-.01em;
}
body.page-id-5319 .frb-sw-band .frb-eyebrow{margin-bottom:6px}

/* FLEX, NOT GRID, and the reason matters.
   The bands hold 6, 7 and 17 logos, so no column count divides all three and
   some band always ends on a short row. That short row has to centre, or it sits
   hard left against a wide empty gutter and reads as broken — which it did, with
   State of Ohio alone at the left of Platinum.
   CSS Grid cannot do this: `repeat(auto-fill, …)` creates real empty tracks, so
   `justify-content:center` has no leftover space to distribute. Tried and
   measured 2026-09-14 — the last Platinum tile still had 15px left, 823px right.
   Flex wrap centres each line independently. DO NOT tidy this back to grid.
   Fixed tile HEIGHT with object-fit:contain, because the thirty logos are JPG
   and PNG at wildly different ratios and several carry their own white ground. */
body.page-id-5319 .frb-sw-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
body.page-id-5319 .frb-sw-logo{
  flex:0 1 184px;max-width:184px;background:#FFFFFF;border:1px solid #C9CEDB;
  padding:18px 16px 14px;text-align:center;
}
body.page-id-5319 .frb-sw-logo img{
  display:block;width:100%;height:76px;object-fit:contain;margin:0 auto 12px;
}
body.page-id-5319 .frb-sw-logo span{display:block;font-size:13.5px;line-height:1.4;color:#3A4257}
body.page-id-5319 .frb-sw-logo span b{color:#121A2E}
/* Two-up on a phone. At a 184px basis the tiles go one per row and the wall
   runs about 9,600px; this brings it to roughly 7,300px. */
@media (max-width:600px){
  body.page-id-5319 .frb-sw-grid{gap:12px}
  body.page-id-5319 .frb-sw-logo{
    flex:0 1 calc(50% - 12px);max-width:calc(50% - 12px);padding:14px 10px 12px;
  }
  body.page-id-5319 .frb-sw-logo img{height:58px}
  body.page-id-5319 .frb-sw-logo span{font-size:12.5px}
}
body.page-id-5319 .frb-flag{
  display:inline-block;font-style:normal;font-size:11px;font-weight:700;
  letter-spacing:.06em;color:#E06E00;
}
body.page-id-5319 .frb-sw-note{margin:18px 0 0;font-size:15px;color:#6B7280;line-height:1.55}
body.page-id-5314 .frb-sw-note{margin:0 0 12px;font-size:16px;color:#3A4257}

body.page-id-5319 .frb-cta{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  gap:22px;margin:0 0 26px;
}
@media (max-width:860px){body.page-id-5319 .frb-cta{grid-template-columns:1fr}}
body.page-id-5319 .frb-cta-a{background:#F3C518;padding:32px 30px}
body.page-id-5319 .frb-cta-a h2{
  margin:0 0 12px;font-size:28px;line-height:1.2;color:#121A2E;
  font-weight:700;letter-spacing:-.015em;
}
body.page-id-5319 .frb-cta-a p{color:#2A2E1E;margin:0 0 16px}
body.page-id-5319 .frb-cta-b{background:#F6F4EF;border:1px solid #C9CEDB;padding:32px 30px}
body.page-id-5319 .frb-cta-b h3{margin:0 0 10px;font-size:19px;color:#121A2E}
body.page-id-5319 .frb-cta-b p{margin:0 0 14px;font-size:16px}
body.page-id-5319 .frb-cta-btns{margin:0}
body.page-id-5319 a.frb-btn-navy{
  display:inline-block;background:#121A2E;color:#fff;text-decoration:none;
  font-weight:700;font-size:16px;padding:12px 22px;margin:0 8px 8px 0;
}
body.page-id-5319 a.frb-btn-navy:hover,
body.page-id-5319 a.frb-btn-navy:focus{background:#2A3348;color:#fff}
body.page-id-5319 a.frb-btn-line{
  display:inline-block;background:transparent;color:#121A2E;border:2px solid #121A2E;
  text-decoration:none;font-weight:700;font-size:16px;padding:10px 20px;margin:0 0 8px 0;
}
body.page-id-5319 a.frb-btn-line:hover,
body.page-id-5319 a.frb-btn-line:focus{background:#121A2E;color:#F3C518}
body.page-id-5319 a.frb-link{font-weight:700;color:#121A2E}

/* =========================================================================
   PART E — shared: navy ways-out strip, placeholders, fine print
   ========================================================================= */

body.page-id-5314 .frb-ab-help,
body.page-id-5322 .frb-ab-help{background:#121A2E;padding:34px 30px;margin:0 0 26px}
body.page-id-5314 .frb-ab-help h2,
body.page-id-5322 .frb-ab-help h2{color:#fff;margin:0 0 4px}
body.page-id-5314 .frb-ab-help .frb-ab-sub,
body.page-id-5322 .frb-ab-help .frb-ab-sub{color:#D8DEE9;margin:0 0 22px;font-size:16px}
body.page-id-5314 .frb-ab-ways,
body.page-id-5322 .frb-ab-ways{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));
  gap:1px;background:#2A3348;
}
body.page-id-5314 a.frb-ab-way,
body.page-id-5322 a.frb-ab-way{background:#121A2E;padding:18px;text-decoration:none;display:block}
body.page-id-5314 a.frb-ab-way:hover,body.page-id-5314 a.frb-ab-way:focus,
body.page-id-5322 a.frb-ab-way:hover,body.page-id-5322 a.frb-ab-way:focus{background:#1B2540}
body.page-id-5314 a.frb-ab-way b,
body.page-id-5322 a.frb-ab-way b{display:block;color:#fff;font-size:17px;margin-bottom:4px}
body.page-id-5314 a.frb-ab-way span,
body.page-id-5322 a.frb-ab-way span{display:block;color:#D8DEE9;font-size:15px;line-height:1.45}

body.page-id-5314 .frb-ab-pending,
body.page-id-5319 .frb-ab-pending,
body.page-id-5322 .frb-ab-pending{
  border:1px dashed #E06E00;background:#FDF6EE;padding:19px 21px;margin-top:24px;
}
body.page-id-5322 .frb-ab-pending{margin-top:0}
body.page-id-5314 .frb-ab-tag,
body.page-id-5319 .frb-ab-tag,
body.page-id-5322 .frb-ab-tag{
  display:inline-block;font-size:12px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:#E06E00;margin-bottom:7px;
}
body.page-id-5314 .frb-ab-pending p,
body.page-id-5319 .frb-ab-pending p,
body.page-id-5322 .frb-ab-pending p{
  color:#7A4A12;font-style:italic;font-size:15.5px;margin:0;
}
body.page-id-5314 .frb-ab-trust,
body.page-id-5319 .frb-ab-trust,
body.page-id-5322 .frb-ab-trust{
  font-size:14px;color:#6B7280;line-height:1.6;margin:0;
}


/* ===== from snippet #5298: FRB — Bloomerang forms: contact / billing / payment field layout ===== */
/* =========================================================
   FRB — lay the contact, billing and payment fields out in pairs and
   rows instead of one long stack. Every Bloomerang form in the tree.
   Violet Crown Analytics · rev b, 2026-09-14

   Kara, 2026-09-14: the input fields should be "laid out logically and
   compactly rather than a straight row of individual fields" — first on
   the golf registration form, then on every form that asks for the
   same information.

   APPLIES TO BOTH FORM TYPES
     #registration-form   golf sponsorship (5242)
     #donation-form       one-time (5141), monthly (5142), check (5177)
   Both use the same section and field class names, so one set of rules
   covers them. Only the three sections that collect a person's details
   are touched — .section.donation and .section.registrationType, where
   the giving levels live, are styled by 5208 and 5281 and are left
   alone.

   WHAT BLOOMERANG SHIPS
   Every field is a full-width block, one per line, so a donor scrolls
   past a dozen stacked boxes to reach the button. First and last name
   are one thought and get two lines. City, state and ZIP are one
   address line in every human's head and get two or three.

   WHY GRID AND NOT FLEX — this is the load-bearing part.
   Bloomerang renders BOTH halves of every either/or field and hides the
   irrelevant one with display:none:

     .state / .province              — by country
     .zip-code / .postal-code        — by country
     .routingNumber / .accountNumber — only once ACH is chosen

   A display:none grid item takes no cell at all, so the row closes up
   by itself and there is never a hole where Province should be. Proven
   on the live golf form 2026-09-14: switching the country to Canada put
   .province and .postal-code into the exact slots .state and .zip-code
   vacated, same widths, no reflow and no JavaScript watching for it.
   Choosing Checking put routing and account side by side the same way.

   Widths are spans of a 12-column grid rather than percentages, so
   nothing needs recalculating if a field is added or removed.

   Scoped to body.frb-hero-title — the /preview/ tree only.
   ========================================================= */


/* ---------- the three sections become grids ---------- */

body.frb-hero-title #registration-form .section.contact,
body.frb-hero-title #registration-form .section.billing-address,
body.frb-hero-title #registration-form .section.payment,
body.frb-hero-title #donation-form .section.contact,
body.frb-hero-title #donation-form .section.billing-address,
body.frb-hero-title #donation-form .section.payment {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0 16px;
  align-items: start;
}

/* a heading takes its own line, and every field is full width until
   something below says otherwise — so a field Bloomerang adds later
   arrives readable rather than broken */
body.frb-hero-title #registration-form .section.contact > h3,
body.frb-hero-title #registration-form .section.billing-address > h3,
body.frb-hero-title #registration-form .section.payment > h3,
body.frb-hero-title #registration-form .section.contact > .field,
body.frb-hero-title #registration-form .section.billing-address > .field,
body.frb-hero-title #registration-form .section.payment > .field,
body.frb-hero-title #donation-form .section.contact > h3,
body.frb-hero-title #donation-form .section.billing-address > h3,
body.frb-hero-title #donation-form .section.payment > h3,
body.frb-hero-title #donation-form .section.contact > .field,
body.frb-hero-title #donation-form .section.billing-address > .field,
body.frb-hero-title #donation-form .section.payment > .field {
  grid-column: 1 / -1;
  min-width: 0;
}


/* ---------- contact: two pairs ----------
   Name is one thought. So is how to reach you. */

body.frb-hero-title #registration-form .section.contact > .field.first-name,
body.frb-hero-title #registration-form .section.contact > .field.last-name,
body.frb-hero-title #registration-form .section.contact > .field.email-address,
body.frb-hero-title #registration-form .section.contact > .field.phone-number,
body.frb-hero-title #donation-form .section.contact > .field.first-name,
body.frb-hero-title #donation-form .section.contact > .field.last-name,
body.frb-hero-title #donation-form .section.contact > .field.email-address,
body.frb-hero-title #donation-form .section.contact > .field.phone-number {
  grid-column: span 6;
}


/* ---------- billing: country, street, then ONE address line ----------
   City takes the room because it is the longest; the state select and
   the ZIP need only what they need. Province and Postal Code carry the
   same spans as their twins, so a Canadian address lays out identically
   the moment the country changes.

   The donation forms already put state and ZIP on a line together —
   this is what pulls City up to join them instead of sitting alone
   above. */

body.frb-hero-title #registration-form .section.billing-address > .field.city,
body.frb-hero-title #donation-form .section.billing-address > .field.city {
  grid-column: span 5;
}
body.frb-hero-title #registration-form .section.billing-address > .field.state,
body.frb-hero-title #registration-form .section.billing-address > .field.province,
body.frb-hero-title #donation-form .section.billing-address > .field.state,
body.frb-hero-title #donation-form .section.billing-address > .field.province {
  grid-column: span 4;
}
body.frb-hero-title #registration-form .section.billing-address > .field.zip-code,
body.frb-hero-title #registration-form .section.billing-address > .field.postal-code,
body.frb-hero-title #donation-form .section.billing-address > .field.zip-code,
body.frb-hero-title #donation-form .section.billing-address > .field.postal-code {
  grid-column: span 3;
}

/* the address box does not need to be four lines tall */
body.frb-hero-title #registration-form .section.billing-address .field.street-address textarea,
body.frb-hero-title #donation-form .section.billing-address .field.street-address textarea {
  min-height: 46px;
}


/* ---------- payment: one decision, one row ----------
   ⚠ THE SPAN DIFFERS BY FORM BECAUSE THE METHOD COUNT DOES.
   The registration form offers three methods (Credit Card, Savings,
   Checking) and the donation forms offer four (Debit Card as well).
   Three at span 4 and four at span 3 each fill a row exactly. Get this
   wrong and four methods wrap 3 + 1, with one chip stranded on its own
   line. If Bloomerang's payment options are changed for a form, the
   span here is the line to revisit. */

body.frb-hero-title #registration-form .section.payment > .field.radio {
  grid-column: span 4;
}
body.frb-hero-title #donation-form .section.payment > .field.radio {
  grid-column: span 3;
}

/* The registration form's method radios inherit the big level-card
   treatment from snippet 5250, whose `.field.radio > label` rule is not
   scoped to the registration-type section. On a $5,000 sponsorship card
   that padding is right; on the word "Checking" it is three enormous
   blocks. The donation forms do not have that problem — 5208 scopes its
   card styling to .section.donation — so this restates the chip for
   both and they end up identical. */
body.frb-hero-title #registration-form .section.payment > .field.radio,
body.frb-hero-title #donation-form .section.payment > .field.radio {
  margin: 0 0 14px;
  padding: 0;
  border: 1px solid #C9CEDB;
  border-radius: 2px;
  background: #FFF;
  transition: border-color .14s, background-color .14s;
}
body.frb-hero-title #registration-form .section.payment > .field.radio:hover,
body.frb-hero-title #donation-form .section.payment > .field.radio:hover {
  border-color: #121A2E;
}
body.frb-hero-title #registration-form .section.payment > .field.radio:has(input:checked),
body.frb-hero-title #donation-form .section.payment > .field.radio:has(input:checked) {
  border-color: #121A2E;
  background: #F6F4EF;
  box-shadow: inset 0 0 0 1px #121A2E;
}
body.frb-hero-title #registration-form .section.payment > .field.radio > label,
body.frb-hero-title #donation-form .section.payment > .field.radio > label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 12px 14px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
  color: #121A2E;
  cursor: pointer;
  white-space: normal;
}
body.frb-hero-title #registration-form .section.payment > .field.radio input[type="radio"],
body.frb-hero-title #donation-form .section.payment > .field.radio input[type="radio"] {
  margin: 0 !important;
}

/* the two ACH fields appear together once Checking or Savings is
   picked, and they belong on one line */
body.frb-hero-title #registration-form .section.payment > .field.routingNumber,
body.frb-hero-title #registration-form .section.payment > .field.accountNumber,
body.frb-hero-title #donation-form .section.payment > .field.routingNumber,
body.frb-hero-title #donation-form .section.payment > .field.accountNumber {
  grid-column: span 6;
}


/* ---------- the standalone checkboxes ----------
   True Impact, the monthly toggle and the consent lines are one line of
   text each and do not want a level card's padding either. */

body.frb-hero-title #registration-form .section.true-impact .field.checkbox > label,
body.frb-hero-title #registration-form .section.consent .field.checkbox > label,
body.frb-hero-title #donation-form .section.true-impact .field.checkbox > label,
body.frb-hero-title #donation-form .section.recurring .field.checkbox > label,
body.frb-hero-title #donation-form .section.consent .field.checkbox > label {
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  font-size: 15px;
}


/* ---------- narrow ----------
   Below this, two fields side by side stop being compact and start
   being cramped. Everything returns to one per line — which is what
   Bloomerang shipped, and is correct on a phone. */

@media (max-width: 560px) {
  body.frb-hero-title #registration-form .section.contact > .field,
  body.frb-hero-title #registration-form .section.billing-address > .field,
  body.frb-hero-title #registration-form .section.payment > .field,
  body.frb-hero-title #donation-form .section.contact > .field,
  body.frb-hero-title #donation-form .section.billing-address > .field,
  body.frb-hero-title #donation-form .section.payment > .field {
    grid-column: 1 / -1;
  }
}

/* between those, keep an address line but let the name pair break —
   a 320px "First Name" is fine, a 320px state select is not */
@media (max-width: 680px) and (min-width: 561px) {
  body.frb-hero-title #registration-form .section.billing-address > .field.city,
  body.frb-hero-title #donation-form .section.billing-address > .field.city {
    grid-column: span 12;
  }
  body.frb-hero-title #registration-form .section.billing-address > .field.state,
  body.frb-hero-title #registration-form .section.billing-address > .field.province,
  body.frb-hero-title #donation-form .section.billing-address > .field.state,
  body.frb-hero-title #donation-form .section.billing-address > .field.province {
    grid-column: span 7;
  }
  body.frb-hero-title #registration-form .section.billing-address > .field.zip-code,
  body.frb-hero-title #registration-form .section.billing-address > .field.postal-code,
  body.frb-hero-title #donation-form .section.billing-address > .field.zip-code,
  body.frb-hero-title #donation-form .section.billing-address > .field.postal-code {
    grid-column: span 5;
  }
  body.frb-hero-title #registration-form .section.payment > .field.radio,
  body.frb-hero-title #donation-form .section.payment > .field.radio {
    grid-column: span 6;
  }
}


/* ===== from snippet #5285: FRB — sponsorship pages: paths, level ladder, benefits, testimonials ===== */
/* =========================================================
   FRB — sponsorship pages
   5283 /preview/sponsors/        "Become a Sponsor"
   5287 /preview/sponsors/bridge/ "Sponsor the Bridge"
   Violet Crown Analytics · rev e, 2026-09-14

   ── REV E ───────────────────────────────────────────────────
   BOOTSTRAP WAS CENTRING THE BENEFIT LISTS, and had been since the
   page was built. Sydney ships Bootstrap 3, which carries a bare

       th, td { text-align: center }

   at (0,0,1). rev c set `text-align: left` on .frb-slv th but never
   on td, so every benefits cell inherited the centring — bullets
   stranded in a column on the left with the text floating in the
   middle of the cell. Invisible in a measurement pass (widths and
   colours were all correct); obvious the moment anyone looked at it.

   Same collision class as Bootstrap's `.radio input` rule that
   wrecked the Bloomerang radios, and the same fix: state the
   property rather than assume the default. Snippet 5273 already
   immunised .frb-kv this way — .frb-slv was simply missed.
   ─────────────────────────────────────────────────────────────

   ── REV D ───────────────────────────────────────────────────
   Kara, 2026-09-14, on 5287:

   1. ONE LEVEL TABLE, NOT TWO. The page carried a summary ladder
      and a benefits ladder, both keyed Platinum / Gold / Silver at
      the same three price bands — the second said everything the
      first did and more. The summary table came off the page; the
      benefits table kept the `id="levels"` anchor (5283 links to it)
      and is now titled "Sponsorship Levels". Platinum absorbed the
      one line the summary had that the benefits list didn't (main
      stage and registration desk banners).

   2. THE TESTIMONIALS WERE WEARING THE PLATINUM ROW'S CLOTHES.
      .frb-quote was cream #F6F4EF with a 3px gold left edge —
      byte-identical to the treatment `.frb-slv tr.is-top` uses to
      mark the top level, and sitting a few hundred pixels below it.
      Two different things reading as one component. Quotes are now
      white with a navy left edge and a hairline, so the cream-and-
      gold block means "Platinum" and nothing else on the page.
   ─────────────────────────────────────────────────────────────

   Scoped inside body.frb-hero-title — the class snippet 5201 puts on
   the /preview/ tree and nowhere else. No live page is reachable.
   ========================================================= */


/* ---------- the path cards ----------
   No background images: Kara loads media herself, and an empty image
   well reads worse than a card built to be text. Adding a
   .frb-card-img div ahead of .frb-card-body picks up the donate hub's
   existing treatment with no change here. */

body.frb-hero-title .frb-sponsor-paths {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 4px 0 8px;
}

/* two paths rather than three — Sponsor the Bridge and Sponsor a
   Golf Outing, while Sponsor a Retreat is on hold */
body.frb-hero-title .frb-sponsor-paths.frb-paths-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* THIS RESET IS LOAD-BEARING.
   Snippet 5225 lays .frb-give-cards out as a SIX-column grid and gives
   the first two cards `grid-column: span 3` each — the donate hub's
   2-over-3 arrangement. These pages reuse that class, so they inherit
   the spans, and setting a column count is not enough on its own:
   cards 1 and 2 span every column and the paths render stacked full
   width. (0,4,1) beats 5225's (0,4,0), so it does not depend on which
   snippet WPCode prints first. */
body.frb-hero-title .frb-sponsor-paths > .frb-give-card:nth-child(n) {
  grid-column: span 1;
}

body.frb-hero-title .frb-sponsor-paths .frb-give-card {
  display: flex;
  flex-direction: column;
  border: 1px solid #C9CEDB;
  border-top: 3px solid #121A2E;
  border-radius: 2px;
  background: #FFF;
  text-decoration: none;
  transition: border-color .14s, box-shadow .14s;
}
body.frb-hero-title .frb-sponsor-paths .frb-give-card:hover {
  border-color: #121A2E;
  border-top-color: #F3C518;
  box-shadow: 0 6px 18px rgba(18,26,46,.14);
}
body.frb-hero-title .frb-sponsor-paths .frb-card-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 24px 24px 22px;
}
body.frb-hero-title .frb-sponsor-paths .frb-card-body h3 {
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.012em;
  color: #121A2E;
}
body.frb-hero-title .frb-sponsor-paths .frb-card-body p {
  margin: 0 0 18px;
  font-size: 15.5px;
  line-height: 1.6;
  color: #3A4257;
}
body.frb-hero-title .frb-sponsor-paths .frb-card-cta {
  margin-top: auto;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #121A2E;
}
body.frb-hero-title .frb-sponsor-paths .frb-give-card:hover .frb-card-cta {
  color: #6E5600;
}


/* ---------- the level ladder ----------
   The level and its amount in the row head, what it carries in the
   cell. Runs the full 1080 row rather than the 720 the data tables
   take — this one has real prose in the second column. */

body.frb-hero-title .frb-slv {
  width: 100%;
  margin: 18px 0 30px;
  border-collapse: collapse;
}
body.frb-hero-title .frb-slv tr { border-top: 1px solid #C9CEDB; }
body.frb-hero-title .frb-slv tr:first-child { border-top: 0; }

body.frb-hero-title .frb-slv th {
  width: 250px;
  padding: 18px 24px 18px 16px;
  border: 0;
  border-left: 3px solid transparent;
  background: none;
  text-align: left;
  vertical-align: top;
}
body.frb-hero-title .frb-slv td {
  padding: 18px 20px 18px 0;
  border: 0;
  background: none;
  /* rev e — Bootstrap's `th, td { text-align: center }` owns this
     otherwise. Do not delete: the default here is not left. */
  text-align: left;
  vertical-align: top;
  font-size: 15.5px;
  line-height: 1.6;
  color: #3A4257;
}

body.frb-hero-title .frb-slv .lvl {
  display: block;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
  color: #121A2E;
}
body.frb-hero-title .frb-slv .amt {
  display: block;
  margin-top: 3px;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: #121A2E;
  font-variant-numeric: tabular-nums;
}

/* the top level gets the gold edge and the cream ground, and — as of
   rev d — nothing else on the page does */
body.frb-hero-title .frb-slv tr.is-top th {
  border-left-color: #F3C518;
  background: #F6F4EF;
}
body.frb-hero-title .frb-slv tr.is-top td { background: #F6F4EF; }


/* ---------- benefits table ---------- */

body.frb-hero-title .frb-slv-ben th { width: 210px; }
body.frb-hero-title .frb-slv-ben ul {
  max-width: none;
  margin: 0;
  padding-left: 20px;
  text-align: left;
}
body.frb-hero-title .frb-slv-ben li {
  margin: 0 0 5px;
  text-align: left;
  font-size: 15.5px;
  line-height: 1.55;
}
body.frb-hero-title .frb-slv-ben td p { margin: 0; }


/* ---------- testimonials ----------
   ⚠ Sydney styles `.hentry blockquote` as a #333 slab with white
   italic text. That selector is (0,1,1) and beats a bare .frb-quote,
   which is how the sponsorship page's testimonial rendered as a black
   box on the 2026-09-04 build. Recorded there as "this will recur on
   any page here that uses a <blockquote>" — and it did. Every
   property Sydney sets is restated.

   rev d: navy edge on white, not gold on cream. Cream-and-gold is the
   Platinum row's signature and it needs to stay unique — see the
   header note. The extra top margin holds the first quote off the
   heading so the group reads as its own run of blocks. */

body.frb-hero-title .frb-quote,
body.frb-hero-title .hentry blockquote.frb-quote {
  max-width: none;
  margin: 0 0 14px;
  padding: 20px 24px;
  border: 1px solid #C9CEDB;
  border-left: 3px solid #121A2E;
  border-radius: 0;
  background: #FFF;
  color: #121A2E;
  font-style: normal;
  font-size: 16.5px;
  line-height: 1.6;
}
body.frb-hero-title .frb-quote:first-of-type,
body.frb-hero-title .hentry blockquote.frb-quote:first-of-type {
  margin-top: 4px;
}
body.frb-hero-title .frb-quote:last-of-type,
body.frb-hero-title .hentry blockquote.frb-quote:last-of-type {
  margin-bottom: 30px;
}
body.frb-hero-title .frb-quote p,
body.frb-hero-title .hentry blockquote.frb-quote p {
  margin: 0;
  color: #121A2E;
  font-style: italic;
  font-size: 16.5px;
  line-height: 1.6;
}
body.frb-hero-title .frb-quote cite,
body.frb-hero-title .hentry blockquote.frb-quote cite {
  display: block;
  margin-top: 12px;
  color: #79808E;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}


/* ---------- the sponsorship enquiry form ----------
   Kara's measure standard: running text fills the 1080 row, boxes and
   forms sit at 720 and centred. The heading and lead-in above the form
   stay full width; only the form itself is pulled in. */

body.frb-hero-title .frb-sponsor-form {
  max-width: 720px;
  margin: 20px auto 0;
}


/* ---------- narrow ---------- */

@media (max-width: 900px) {
  body.frb-hero-title .frb-sponsor-paths {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.frb-hero-title .frb-slv th { width: 200px; padding-right: 16px; }
  body.frb-hero-title .frb-slv .amt { font-size: 22px; }
}

@media (max-width: 620px) {
  body.frb-hero-title .frb-sponsor-paths,
  body.frb-hero-title .frb-sponsor-paths.frb-paths-2 {
    grid-template-columns: minmax(0, 1fr);
  }

  /* the ladder stops being a table and becomes stacked blocks —
     two columns inside 320px is unreadable at any type size */
  body.frb-hero-title .frb-slv th,
  body.frb-hero-title .frb-slv td {
    display: block;
    width: auto;
    padding: 0 16px;
  }
  body.frb-hero-title .frb-slv th { padding-top: 18px; }
  body.frb-hero-title .frb-slv td { padding-top: 10px; padding-bottom: 18px; }
  body.frb-hero-title .frb-quote { padding: 16px 18px; }
}


/* ===== from snippet #5281: FRB — giving form: container width + level-card size (beats Bloomerang's 560px cap) ===== */
/* =========================================================
   FRB — the Bloomerang giving form: how wide the form runs, and
   how big a level card ends up.
   Violet Crown Analytics · 2026-09-13

   THE BUG THIS FIXES
   Kara, 2026-09-13: the donation cards on the Bridge Builders page
   are stuck narrow while the rest of the page runs 1080.

   She was right, and the cause is not in any FRB stylesheet.
   BLOOMERANG'S OWN EMBEDDED CSS CARRIES:

       #donation-form-container { max-width: 560px }

   A bare ID selector, specificity (1,0,0). Every width rule FRB has
   written for this form is class-based and loses to it outright, so
   the form column has been 560px no matter what .frb-row-form said.
   Inside the 1080 row that left the one-time page's three level
   cards at 175px each.

   This also means snippet 5208's careful reasoning — "760px squeezes
   three level cards to 241px each, 1000px gives 321px cards" — has
   not described reality for some time. Its 1000px cap on
   .frb-row-form is additionally dead: snippet 5241's tree-wide
   (0,3,2) rule sets that row to 1080 and outranks 5208's (0,2,2).
   ⚠ WHEN 5208 IS NEXT OPENED: delete its "how wide the form column
   runs" block. It is superseded here and it no longer says anything
   true. Leave its level-card styling alone — that part is still live.

   WHY NOT JUST WIDEN EVERYTHING
   A giving form is two different things in one container. The level
   grid is a gallery and wants room. Everything under it — name,
   email, street address, card number — is text entry, and a 1080px
   text input is worse than a narrow one, not better. So the
   container widens, and every section EXCEPT the levels is pinned
   back to a readable column and centred. Same wide-band /
   narrow-column relationship the rest of this tree already uses.

   THE CARD IS THE CONSTANT, NOT THE GRID
   Column count is per page (snippet 5208 sets it, by level count, so
   the last row is never a single orphan card):
     5141 one-time  6 levels → 3 columns
     5142 monthly   4 levels → 2 columns
   If both grids ran the full 1080, one-time's cards would be 348px
   and monthly's 531px — the same component at two sizes, one page
   apart. So the grid takes the width its column count needs and
   centres in the row:
     one-time  3 cols in 1080 → 348px cards
     monthly   2 cols in  720 → 351px cards
   720 centred is already the measure this site uses for data tables,
   so the inset reads as deliberate rather than as a short row.

   A FORM THAT GAINS OR LOSES A LEVEL needs its column count revisited
   in 5208 and, if the count changes, its grid width revisited here.
   ========================================================= */


/* ---------- the container, over Bloomerang's ID selector ----------
   `html body.frb-hero-title #donation-form-container` is (1,1,2) and
   beats the plugin's bare #id (1,0,0) without !important. Scoped to
   .frb-hero-title, the class snippet 5201 puts on the /preview/ tree
   and nowhere else, so no live giving form is touched. */

html body.frb-hero-title #donation-form-container {
  max-width: 1080px;
}


/* ---------- text entry keeps a column ----------
   Contact, billing address, comment, captcha, payment. Centred, so
   the space either side is symmetrical and reads as a margin. */

html body.frb-hero-title #donation-form-container .section:not(.donation) {
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
}


/* ---------- the level grid: width follows column count ----------
   one-time runs three across and takes the whole row. Monthly runs
   two across, so it takes 720 and centres — which lands its cards at
   351px against one-time's 348px. */

html body.frb-hero-title.page-id-5142 #donation-form-container .section.donation {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}


/* ---------- narrow screens ----------
   Below the point where two columns stop earning their keep, 5208
   already collapses the grid to one column. Let the sections have the
   full width there rather than holding a 560px column inside a 600px
   screen. */

@media (max-width: 720px) {
  html body.frb-hero-title #donation-form-container .section:not(.donation),
  html body.frb-hero-title.page-id-5142 #donation-form-container .section.donation {
    max-width: none;
  }
}


/* ===== from snippet #5263: FRB — past outing pages (2025, 2024): results, top lot, sponsor wall, placeholder marking ===== */
/* =========================================================
   FRB — the past-outing pages: /preview/events/golf-outing-2025/
   and /golf-outing-2024/.

   Four things live here: the placeholder marking, the award
   result cards, the top auction lot, and the sponsor wall.

   Scoped to body.frb-hero-title — the class snippet 5201 puts on
   the /preview/ tree and nowhere else. Nothing here can reach a
   live page.

   Palette is the VCA mockup's, same as 5241 and 5253:
   #121A2E navy · #3A4257 slate · #C9CEDB rule · #F3C518 gold
   · #F6F4EF cream · 2px radii · no shadows.
   ========================================================= */


/* ---------- PLACEHOLDER MARKING ----------

   ⚠ THE ORANGE IS DELIBERATELY NOT IN THE BRAND PALETTE.

   Every result, score, winner and sponsor on these two pages is
   invented. Gold would have read as a design choice and somebody
   would eventually have shipped it as real. #E06E00 clashes with
   the navy-and-gold on purpose — it reads as an unfinished field,
   which is what it is.

   TO GO LIVE: replace the copy, then delete every <span class="frb-ph">
   wrapper and the .frb-notice blocks. If any orange is still on the
   page, the page is not ready. */

body.frb-hero-title .frb-notice {
  border-left: 4px solid #E06E00;
  background: #FFF0E6;
  color: #8C3D00;
  padding: 16px 20px;
  margin: 0 0 26px;
  border-radius: 2px;
  font-size: 15px;
  line-height: 1.6;
}
body.frb-hero-title .frb-notice p {
  margin: 0 0 8px;
  max-width: none;
  color: #8C3D00;
}
body.frb-hero-title .frb-notice p:last-child { margin-bottom: 0; }
body.frb-hero-title .frb-notice strong { color: #6E3000; }
body.frb-hero-title .frb-notice .frb-notice-tag {
  display: block;
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #B5540A;
}

/* the inline marker — wraps each invented value */
body.frb-hero-title .frb-ph {
  background: #FFF0E6;
  border-bottom: 1px dashed #E06E00;
  border-radius: 2px;
  padding: 1px 5px;
  color: #8C3D00;
}


/* ---------- AWARD RESULTS ---------- */

body.frb-hero-title .frb-results {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(238px, 1fr));
  gap: 14px;
  margin: 22px 0 10px;
}
body.frb-hero-title .frb-result {
  background: #F6F4EF;
  border-top: 3px solid #F3C518;
  border-radius: 2px;
  padding: 18px 20px 20px;
}
body.frb-hero-title .frb-result .frb-award {
  display: block;
  margin-bottom: 9px;
  color: #6B7284;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
body.frb-hero-title .frb-result .frb-winner {
  display: block;
  color: #121A2E;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.35;
}
body.frb-hero-title .frb-result .frb-score {
  display: block;
  margin-top: 7px;
  color: #3A4257;
  font-size: 14.5px;
  line-height: 1.5;
}

/* first place inverts — one winner per page, not a row of equals */
body.frb-hero-title .frb-result.is-first {
  background: #121A2E;
  border-top-color: #F3C518;
}
body.frb-hero-title .frb-result.is-first .frb-award  { color: #F7CE33; }
body.frb-hero-title .frb-result.is-first .frb-winner { color: #FFF; font-size: 21px; }
body.frb-hero-title .frb-result.is-first .frb-score  { color: #D8DEE9; }

/* not-awarded rows read as absence, not as a missing value */
body.frb-hero-title .frb-result.is-none {
  background: #FBFAF8;
  border-top-color: #C9CEDB;
}
body.frb-hero-title .frb-result.is-none .frb-winner {
  color: #6B7284;
  font-size: 16px;
  font-weight: 500;
  font-style: italic;
}


/* ---------- THE TOP AUCTION LOT ---------- */

body.frb-hero-title .frb-lot {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  border: 1px solid #C9CEDB;
  border-radius: 2px;
  overflow: hidden;
  margin: 20px 0 10px;
}
body.frb-hero-title .frb-lot-body { padding: 28px 30px; }
body.frb-hero-title .frb-lot-body .frb-lot-kicker {
  margin: 0 0 6px;
  color: #6B7284;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
body.frb-hero-title .frb-lot-body h4 {
  margin: 0 0 12px;
  color: #121A2E;
  font-size: 22px;
  line-height: 1.25;
}
body.frb-hero-title .frb-lot-body p {
  margin: 0;
  max-width: none;
  color: #3A4257;
  font-size: 15.5px;
  line-height: 1.62;
}
body.frb-hero-title .frb-lot-price {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 28px 30px;
  background: #121A2E;
  text-align: center;
}
body.frb-hero-title .frb-lot-price b {
  color: #FFF;
  font-size: 48px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.025em;
  font-variant-numeric: tabular-nums;
}
body.frb-hero-title .frb-lot-price span {
  margin-top: 11px;
  color: #D8DEE9;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}
@media (max-width: 700px) {
  body.frb-hero-title .frb-lot { grid-template-columns: 1fr; }
  body.frb-hero-title .frb-lot-price b { font-size: 40px; }
}


/* ---------- SPONSOR WALL ----------
   Tiers are separated by a rule and a label, not by six sizes of
   type. The lead tier inverts; everything else scales down once. */

body.frb-hero-title .frb-tier {
  border-top: 1px solid #C9CEDB;
  padding: 20px 0 2px;
}
body.frb-hero-title .frb-tier:first-child { border-top: 0; padding-top: 2px; }
body.frb-hero-title .frb-tier > h4 {
  margin: 0 0 14px;
  color: #6B7284;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
body.frb-hero-title .frb-tier ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 16px;
  padding: 0;
  max-width: none;
  list-style: none;
}
body.frb-hero-title .frb-tier li {
  padding: 12px 18px;
  background: #F6F4EF;
  border: 1px solid #E4E0D6;
  border-radius: 2px;
  color: #121A2E;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
}
body.frb-hero-title .frb-tier.is-lead li {
  padding: 18px 26px;
  background: #121A2E;
  border-color: #121A2E;
  color: #FFF;
  font-size: 21px;
}
body.frb-hero-title .frb-tier.is-small li {
  padding: 9px 14px;
  font-size: 14.5px;
  font-weight: 500;
}
body.frb-hero-title .frb-tier li.frb-more {
  padding: 12px 2px;
  background: none;
  border: 0;
  color: #6B7284;
  font-weight: 500;
  font-style: italic;
}


/* ---------- past-outing cards on the events hub ----------
   Smaller than a live event card, and greyed, so the hub reads
   "these are over" without needing to say so twice. */

body.frb-hero-title .frb-past {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
  margin: 18px 0 0;
}
body.frb-hero-title a.frb-past-card {
  display: block;
  padding: 20px 22px;
  background: #F6F4EF;
  border: 1px solid #E4E0D6;
  border-radius: 2px;
  text-decoration: none;
}
body.frb-hero-title a.frb-past-card:hover { border-color: #C9CEDB; background: #F1EEE6; }
body.frb-hero-title a.frb-past-card .frb-past-yr {
  display: block;
  color: #121A2E;
  font-size: 26px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.02em;
}
body.frb-hero-title a.frb-past-card .frb-past-txt {
  display: block;
  margin-top: 8px;
  color: #3A4257;
  font-size: 15px;
  line-height: 1.5;
}
body.frb-hero-title a.frb-past-card .frb-past-cta {
  display: block;
  margin-top: 12px;
  color: #0d7fb4;
  font-size: 14px;
  font-weight: 600;
}


/* ===== from snippet #5253: FRB — event page blocks: figures, timeline, chips, tinted panel ===== */
/* =========================================================
   FRB — building blocks for the event pages, in the VCA mockup's
   idiom: colour blocks and figures instead of long table rows.

   Scoped to body.frb-hero-title, the class snippet 5201 puts on the
   /preview/ tree and nowhere else.

   Palette, from violetcrownanalytics.com/FRB/frbweb.html:
     #121A2E deep navy   #3A4257 slate   #C9CEDB rule
     #F3C518 gold        #F6F4EF cream   2px radii, no shadows
   ========================================================= */


/* ---------- figures: the two or three numbers that matter ---------- */

body.frb-hero-title .frb-figs {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 0 0 26px;
}
body.frb-hero-title .frb-fig {
  flex: 1 1 200px;
  background: #F6F4EF;
  border-top: 3px solid #F3C518;
  border-radius: 2px;
  padding: 20px 22px 18px;
}
body.frb-hero-title .frb-fig b {
  display: block;
  font-size: 34px;
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -.02em;
  color: #121A2E;
}
body.frb-hero-title .frb-fig span {
  display: block;
  margin-top: 7px;
  font-size: 13.5px;
  line-height: 1.5;
  color: #3A4257;
}


/* ---------- the running order, as a strip rather than a table cell ---------- */

body.frb-hero-title .frb-when {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 0 26px;
  border: 1px solid #C9CEDB;
  border-radius: 2px;
  overflow: hidden;
}
body.frb-hero-title .frb-when div {
  flex: 1 1 150px;
  padding: 16px 18px;
  border-right: 1px solid #C9CEDB;
  background: #FFF;
}
body.frb-hero-title .frb-when div:last-child { border-right: 0; }
body.frb-hero-title .frb-when b {
  display: block;
  font-size: 19px;
  font-weight: 800;
  color: #121A2E;
  letter-spacing: -.01em;
}
body.frb-hero-title .frb-when span {
  display: block;
  margin-top: 4px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #8E9298;
}
/* the moment the day actually starts */
body.frb-hero-title .frb-when div.is-key { background: #121A2E; }
body.frb-hero-title .frb-when div.is-key b { color: #FFF; }
body.frb-hero-title .frb-when div.is-key span { color: #F3C518; }


/* ---------- contests, as chips ---------- */

body.frb-hero-title .frb-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 8px;
  padding: 0;
  list-style: none;
}
body.frb-hero-title .frb-chips li {
  margin: 0;
  padding: 7px 14px;
  border: 1px solid #C9CEDB;
  border-radius: 100px;
  background: #FFF;
  font-size: 14px;
  color: #3A4257;
}
body.frb-hero-title .frb-chips li.is-paid {
  border-color: #F3C518;
  background: #fffbf0;
}


/* ---------- a tinted block, for the section that is not logistics ---------- */

body.frb-hero-title .frb-panel {
  background: #F6F4EF;
  border-left: 4px solid #121A2E;
  border-radius: 2px;
  padding: 30px 32px;
}
body.frb-hero-title .frb-panel > :first-child { margin-top: 0; }
body.frb-hero-title .frb-panel > :last-child { margin-bottom: 0; }
body.frb-hero-title .frb-panel h3 { color: #121A2E; }

/* the same block in navy, when it should carry rather than sit quietly */
body.frb-hero-title .frb-panel.is-dark {
  background: #121A2E;
  border-left-color: #F3C518;
  color: #E6E9F0;
}
body.frb-hero-title .frb-panel.is-dark a { color: #F3C518; }


@media (max-width: 700px) {
  body.frb-hero-title .frb-when div {
    flex: 1 1 100%;
    border-right: 0;
    border-bottom: 1px solid #C9CEDB;
  }
  body.frb-hero-title .frb-when div:last-child { border-bottom: 0; }
  body.frb-hero-title .frb-panel { padding: 24px 22px; }
}


/* ---------- fine print ----------
   Was two copies of style="color:#8a8a8a;font-size:13.5px" pasted into
   widget HTML. Same job, in the palette's grey. */

body.frb-hero-title .frb-fine {
  color: #8E9298;
  font-size: 13.5px;
  line-height: 1.55;
}


/* ---------- the primary ask, as a button inside the navy block ----------
   .roll-button is Sydney's and Sydney paints it theme-blue with a white
   label. Inside .is-dark the panel's own `a { color: #F3C518 }` repaints
   only the label, leaving gold text on a blue button. Restate the whole
   button in gold instead. */

body.frb-hero-title .frb-panel.is-dark a.roll-button {
  background: #F3C518;
  border-color: #F3C518;
  color: #121A2E;
}
body.frb-hero-title .frb-panel.is-dark a.roll-button:hover,
body.frb-hero-title .frb-panel.is-dark a.roll-button:focus {
  background: #FFF;
  border-color: #FFF;
  color: #121A2E;
}


/* ---------- section headings on the event pages ----------
   The donor pages got this in snippet 5273 and the golf sponsorship page
   in 5250. The event pages were left with headings at the same weight as
   their body text, so the page read as one undifferentiated column.

   Scoped by page id rather than to .frb-detail at large: a bare
   `body.frb-hero-title .frb-detail h3` would tie 5250's
   `body.page-id-5242 .frb-detail h3` at (0,2,2), and which one won would
   come down to the order WPCode happens to print the snippets in. */

body.frb-hero-title.page-id-5189 .frb-detail h3,
body.frb-hero-title.page-id-5189 .frb-panel h3,
body.frb-hero-title.page-id-5189 .donate-footer h3,
body.frb-hero-title.page-id-5190 .frb-detail h3,
body.frb-hero-title.page-id-5190 .frb-panel h3,
body.frb-hero-title.page-id-5190 .donate-footer h3,
body.frb-hero-title.page-id-5258 .frb-detail h3,
body.frb-hero-title.page-id-5258 .frb-panel h3,
body.frb-hero-title.page-id-5258 .donate-footer h3,
body.frb-hero-title.page-id-5259 .frb-detail h3,
body.frb-hero-title.page-id-5259 .frb-panel h3,
body.frb-hero-title.page-id-5259 .donate-footer h3 {
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid #C9CEDB;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.012em;
  color: #121A2E;
}

/* LAST, deliberately: the heading block above ties this at (0,3,2), so the
   navy panel's white heading only survives by coming after it. Do not move
   this rule up the file. */
body.frb-hero-title .frb-panel.is-dark h3 {
  color: #FFF;
  border-bottom-color: rgba(243,197,24,.45);
}


/* ===== from snippet #5241: FRB — preview tree: page rhythm + countdown (VCA mockup system) ===== */
/* =========================================================
   FRB — preview tree page rhythm, taken from the VCA mockup at
   violetcrownanalytics.com/FRB/frbweb.html

   THE PROBLEM THIS FIXES: rows on these pages sit at 760px, 1000px and
   1170px with no colour change between them, so the eye reads the page
   as ragged rather than as sections. The mockup solves it with one
   consistent outer measure and colour to mark a section rather than
   width.

   SCOPED TO body.frb-hero-title — the class snippet 5201 puts on the
   /preview/ tree and nowhere else. Nothing here can reach a live page.

   THE MOCKUP'S SYSTEM, for reference:
     #121A2E  deep navy   bands and every heading
     #3A4257  slate       body text
     #C9CEDB  pale rule
     #F3C518  gold        accent
     #F6F4EF  cream       page ground
     Archivo 600 headings, 2px radii, no shadows anywhere
   Archivo is NOT loaded on this site. Headings here stay in the
   theme's face; adopting Archivo is a separate decision because it
   changes every page, not just these.
   ========================================================= */


/* ---------- one measure ----------
   Every content row on a preview page lines up on the same edges.

   THE LEADING `html` IS LOAD-BEARING — do not tidy it away.
   Snippet 5143 carries, for the live giving pages:
     body:has(.frb-row-detail) .frb-row-detail,
     body:has(.donate-footer)  .donate-footer  { max-width: 760px }
   `:has()` takes the specificity of its argument, so that rule scores
   (0,2,1) — EXACTLY tied with a bare `body.frb-hero-title .frb-row-detail`.
   A tie resolves on print order, 5143 prints later, and 760 wins. That is
   why /preview/donate/ sat at 760 while its own description row sat at
   1080: the form pages were saved by the (0,3,1) `:has(.frb-row-form)`
   rule below, and the hub, having no form row, was not.
   `html body.frb-hero-title …` is (0,2,2) and wins outright, whatever
   order WPCode prints the snippets in. */

html body.frb-hero-title .frb-row-detail,
html body.frb-hero-title .frb-row-wide,
html body.frb-hero-title .frb-row-cards,
html body.frb-hero-title .frb-row-rule,
html body.frb-hero-title .frb-row-video,
html body.frb-hero-title .donate-description,
html body.frb-hero-title .donate-footer,
html body.frb-hero-title:has(.frb-row-form) .frb-row-form,
html body.frb-hero-title:has(.frb-row-form) .donate-footer {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

/* ---------- and running text fills it ----------
   rev b, 2026-09-13 — Kara: "1080 should be a good acceptable width
   for all settings. Let's keep the paragraph text at 1080 across the
   site. Tables are 720 and centred."

   This snippet used to cap prose at 720 inside the 1080 row. That is
   the textbook measure, but on these pages it put headings, hairlines
   and tables out at 1080 with the paragraphs stopping 360px short, and
   white space with nothing to explain it reads as a rendering fault
   rather than as a margin. One right edge for everything is the call.

   So there is deliberately NO prose cap here now. Paragraphs, lists
   and headings all run the full 1080 row. The only things that stay
   narrow are ones that are narrow on purpose and centred, so the
   inset is symmetrical and reads as intent: the .frb-kv data tables
   (720, snippet 5273) and the countdown note (620, below).

   If the long lines ever grate, the remedy is type — a larger
   font-size or more line-height — not re-narrowing the column. */


/* ---------- headings take the mockup's navy ---------- */

body.frb-hero-title .frb-detail h2,
body.frb-hero-title .frb-detail h3,
body.frb-hero-title .donate-description h2,
body.frb-hero-title .donate-footer h3 {
  color: #121A2E;
}

/* squarer corners, no shadows — the mockup uses 2px and none */
body.frb-hero-title .frb-give-card,
body.frb-hero-title .frb-card-img,
body.frb-hero-title .frb-kv {
  border-radius: 2px;
}
body.frb-hero-title .frb-give-card { box-shadow: none; }
body.frb-hero-title .frb-give-card:hover { box-shadow: 0 6px 18px rgba(18,26,46,.14); }


/* =========================================================
   The 2027 countdown — the one thing on these pages that should
   stop you.

   2026-09-12 — every piece of supporting type in this block was
   lifted against the navy. The mockup's #C9CEDB and #8E9298 are
   rule-and-caption greys; at 11.5–17px on #121A2E they read as
   switched off, not as quiet. Nothing here is below #D8DEE9 now.
   ========================================================= */

body.frb-hero-title .frb-countdown {
  background: #121A2E;
  border-radius: 2px;
  padding: 52px 40px 46px;
  text-align: center;
  color: #FFF;
}

body.frb-hero-title .frb-countdown h3 {
  margin: 0 0 8px;
  color: #F7CE33;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}

body.frb-hero-title .frb-countdown .frb-cd-when {
  margin: 0 0 34px;
  color: #EDF0F6;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: .01em;
}

body.frb-hero-title .frb-cd-clock {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 46px;
}
body.frb-hero-title .frb-cd-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 108px;
}
body.frb-hero-title .frb-cd-num {
  display: block;
  color: #FFF;
  font-size: 82px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.03em;
  /* tabular figures, or the number jumps sideways every second */
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}
body.frb-hero-title .frb-cd-lab {
  display: block;
  margin-top: 12px;
  color: #D8DEE9;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

body.frb-hero-title .frb-countdown .frb-cd-note {
  max-width: 620px;
  margin: 34px auto 0;
  padding-top: 26px;
  border-top: 1px solid rgba(201,206,219,.30);
  color: #E2E7F0;
  font-size: 15.5px;
  line-height: 1.65;
}
body.frb-hero-title .frb-countdown .frb-cd-note a { color: #F7CE33; }

/* before / after the moment */
body.frb-hero-title .frb-countdown .frb-cd-after { display: none; }
body.frb-hero-title .frb-countdown.is-open .frb-cd-before { display: none; }
body.frb-hero-title .frb-countdown.is-open .frb-cd-after { display: block; }

@media (max-width: 900px) {
  body.frb-hero-title .frb-cd-clock { gap: 22px 30px; }
  body.frb-hero-title .frb-cd-num { font-size: 58px; }
  body.frb-hero-title .frb-cd-unit { min-width: 76px; }
}
@media (max-width: 560px) {
  body.frb-hero-title .frb-countdown { padding: 36px 20px 32px; }
  body.frb-hero-title .frb-cd-num { font-size: 44px; }
  body.frb-hero-title .frb-cd-unit { min-width: 64px; }
  body.frb-hero-title .frb-cd-lab { font-size: 10.5px; letter-spacing: .14em; }
}


/* ===== from snippet #5225: FRB — card grids: donate index + events hub, stats, video ===== */
/* =========================================================
   FRB — the card grids used by the donate index (/donate/) and the
   events hub (/events/), plus the "Why donate?" figures and the
   Vimeo player.

   All class names are frb- prefixed and invented for these pages, so
   nothing here can reach the old .donate-options tiles on the existing
   public /donate/ page while both exist side by side.
   ========================================================= */


/* ---------- the card itself, shared by both pages ---------- */

.frb-give-cards {
  display: grid;
  gap: 20px;
  margin: 6px 0 4px;
}

.frb-give-card {
  display: flex;
  flex-direction: column;
  background: #FFF;
  border: 1px solid #e2e2e2;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.frb-give-card:hover,
.frb-give-card:focus {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
  border-color: #159fe0;
  text-decoration: none;
}

.frb-give-card .frb-card-img {
  position: relative;
  aspect-ratio: 16 / 10;
  background: #e9e9e9 center / cover no-repeat;
}

.frb-give-card .frb-card-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 18px 20px 20px;
}

/* the card is an <a>, so every colour it would otherwise inherit from the
   theme's link styling has to be stated */
.frb-give-card h3 {
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.25;
  color: #159fe0;
}
.frb-give-card p {
  flex: 1 1 auto;
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.55;
  color: #555;
}
.frb-give-card .frb-card-cta {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #1b2a4a;
  transition: color .16s ease;
}
.frb-give-card:hover .frb-card-cta { color: #159fe0; }


/* ---------- donate index: 2 + 3 ----------
   Five cards divide badly into three equal columns — 3 + 2, ragged. The
   grid is six columns wide: the first two span 3 each, the last three
   span 2 each. Monthly leads because it is the gift FRB can plan
   against. The two lead cards get a wider crop so the rows read as one
   family of cards rather than two designs. */

.frb-give-cards:not(.is-events) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.frb-give-cards:not(.is-events) > .frb-give-card:nth-child(1),
.frb-give-cards:not(.is-events) > .frb-give-card:nth-child(2) { grid-column: span 3; }
.frb-give-cards:not(.is-events) > .frb-give-card:nth-child(3),
.frb-give-cards:not(.is-events) > .frb-give-card:nth-child(4),
.frb-give-cards:not(.is-events) > .frb-give-card:nth-child(5) { grid-column: span 2; }
.frb-give-cards:not(.is-events) > .frb-give-card:nth-child(-n+2) .frb-card-img {
  aspect-ratio: 2 / 1;
}

/* Workplace giving has no photograph in the library — nothing depicts a
   workplace, a paycheck or coworkers. It carries the Community Shares
   badge instead, which needs containing on a ground rather than cropping
   to fill. Swap this card back to a plain .frb-card-img the day there is
   a real photo for it. */
.frb-give-card .frb-card-img.is-logo {
  background-size: 74%;
  background-color: #f4f8fb;
  border-bottom: 1px solid #e6eef4;
}


/* ---------- events hub: two up ----------
   Event cards carry a date line and a status pill, so they need more
   room than a giving card. */

.frb-give-cards.is-events { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.frb-give-card .frb-card-date {
  flex: 0 0 auto;
  margin: 0 0 6px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #8a8a8a;
}

/* the two golf cards have no photograph — the library holds only a 2022
   flyer — so they take the same brand band used behind page titles */
.frb-give-card .frb-card-img.is-blank {
  background-image: linear-gradient(135deg, #0d7fb4 0%, #159fe0 55%, #0c6b99 100%);
}

.frb-give-card .frb-card-pill {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 5px 11px;
  border-radius: 100px;
  background: #1b2a4a;
  color: #FFF;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  line-height: 1.4;
}
.frb-give-card .frb-card-pill.is-closed  { background: #8c1c1c; }
.frb-give-card .frb-card-pill.is-soon    { background: #b07000; }
.frb-give-card .frb-card-pill.is-partner { background: #4a5568; }


/* ---------- both grids collapse the same way ---------- */

@media (max-width: 900px) {
  .frb-give-cards,
  .frb-give-cards.is-events { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .frb-give-cards > .frb-give-card:nth-child(n) { grid-column: span 1; }
  .frb-give-cards > .frb-give-card:nth-child(-n+2) .frb-card-img { aspect-ratio: 16 / 10; }
}
@media (max-width: 560px) {
  .frb-give-cards,
  .frb-give-cards.is-events { grid-template-columns: minmax(0, 1fr); }
}


/* ---------- why donate: the three figures ---------- */

.frb-why {
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
  margin: 4px 0 0;
}
.frb-stat {
  flex: 1 1 220px;
  border-top: 3px solid #159fe0;
  padding-top: 16px;
}
.frb-stat .frb-stat-n {
  margin: 0 0 8px;
  font-size: 46px;
  line-height: 1;
  font-weight: 800;
  color: #1b2a4a;
}
.frb-stat p {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: #555;
}
.frb-why-source {
  margin: 18px 0 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: #8a8a8a;
}

@media (max-width: 860px) {
  .frb-stat .frb-stat-n { font-size: 38px; }
}


/* ---------- the retreat video ----------
   The Vimeo URL is carried by a Media Video widget rather than a pasted
   iframe: the layout ability sanitises widget HTML through wp_kses_post,
   which strips <iframe> outright. The widget stores a URL, so it survives.

   The cost is that WordPress renders it through MediaElement, which sizes
   the player to the video element's fixed width attribute. These rules
   make that responsive. If any of them miss, the fallback is a correctly
   working 640px player rather than a broken one. */

.frb-row-video .wp-video {
  width: 100% !important;
  max-width: 860px;
  margin: 0 auto;
}
.frb-row-video .mejs-container {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 8px;
  overflow: hidden;
}
.frb-row-video .mejs-inner,
.frb-row-video .mejs-mediaelement,
.frb-row-video .mejs-layers,
.frb-row-video .mejs-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.frb-row-video .mejs-mediaelement iframe,
.frb-row-video .mejs-mediaelement video {
  width: 100% !important;
  height: 100% !important;
}
.frb-row-video .mejs-controls {
  bottom: 0;
  width: 100% !important;
}


/* ===== from snippet #5208: FRB — giving form: width, level cards, address layout ===== */
/* =========================================================
   FRB — Bloomerang giving form: how wide the form column runs,
   the level cards, and a real address layout for contact/billing.

   SUPERSEDES two things in snippet 5143 ("FRB Donate + Events Pages
   CSS+JS"): the 760px .frb-row-form cap, and the
   ".section.donation .field.radio" block that laid the levels out as
   full-width rows with a 110px thumbnail on the left. Every property
   those set is restated here.

   Selectors carry a leading `html` purely to outrank 5143 without
   depending on which snippet WPCode happens to print first.

   COLUMN COUNT is per page, set by how many levels the form offers, so
   the last row is never a single orphan card:
     5141 one-time  6 levels -> 3 columns, two rows
     5142 monthly   4 levels -> 2 columns, two rows
   A form that gains or loses a level needs its count revisited here.

   When 5143 is next opened for an unrelated edit, delete its
   ".frb-row-form max-width" and ".section.donation .field.radio"
   blocks — both are dead weight now.
   ========================================================= */


/* ---------- how wide the form column runs ----------
   5143 capped it at 760px, on the reasoning that the full-width
   template has no content column and card fields should not run 1400px
   across a desktop. That still holds for text entry, but 760px squeezes
   three level cards to 241px each. 1000px gives 321px cards and still
   reads as a column rather than the full 1170px container.

   Only pages carrying a form widen. The detail pages (check,
   tax-advantaged, Community Shares) are prose and keep 760px, which is
   about right for a measure. .donate-footer is widened on form pages
   only, so it stays flush with whatever sits above it. */

html body:has(.frb-row-form) .frb-row-form,
html body:has(.frb-row-form) .donate-footer {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}


/* ---------- levels: cards ---------- */

html body:has(.donate-options):has(#donation-form-container)
  #donation-form-container .section.donation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}
/* one-time: six levels, three across */
html body.page-id-5141:has(.donate-options):has(#donation-form-container)
  #donation-form-container .section.donation {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

html body:has(.donate-options):has(#donation-form-container)
  #donation-form-container .section.donation > h3 {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

html body:has(.donate-options):has(#donation-form-container)
  #donation-form-container .section.donation .field.radio:not(.other-option) {
  display: block;
  grid-template-columns: none;
  border: 1px solid #dcdcdc;
  border-radius: 10px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  background: #FFF;
  cursor: pointer;
  transition: border-color .14s, box-shadow .14s;
}
html body:has(.donate-options):has(#donation-form-container)
  #donation-form-container .section.donation .field.radio:not(.other-option):hover {
  border-color: #159fe0;
  background: #FFF;
  box-shadow: 0 5px 16px rgba(0,0,0,.09);
}
html body:has(.donate-options):has(#donation-form-container)
  #donation-form-container .section.donation .field.radio:not(.other-option):has(input:checked) {
  border-color: #1b2a4a;
  background: #f6f9fd;
  box-shadow: inset 0 0 0 2px #1b2a4a;
}

/* the picture, the full width of the card and the first thing you see.
   Still a CSS background rather than an <img>: it is decorative — the label
   under it already says what the money buys — so it needs no alt text. */
html body:has(.donate-options):has(#donation-form-container)
  #donation-form-container .section.donation .field.radio:not(.other-option)::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  border-radius: 0;
  background: #e9e9e9 center/cover no-repeat;
  background-image: var(--frb-level-img);
}

html body:has(.donate-options):has(#donation-form-container)
  #donation-form-container .section.donation .field.radio:not(.other-option) label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 15px 17px 17px;
  cursor: pointer;
  font-weight: 400;
  font-size: 15.5px;
}
/* three cards carry the same sentence in less width than two do */
html body.page-id-5141:has(.donate-options):has(#donation-form-container)
  #donation-form-container .section.donation .field.radio:not(.other-option) label {
  padding: 14px 16px 16px;
  font-size: 15px;
}
html body:has(.donate-options):has(#donation-form-container)
  #donation-form-container .section.donation .field.radio:not(.other-option) input[type=radio] {
  margin: 4px 0 0;
  flex: 0 0 auto;
}
html body:has(.donate-options):has(#donation-form-container)
  #donation-form-container .section.donation .field.radio:not(.other-option) .label {
  line-height: 1.5;
}

/* "Other" and its amount box sit side by side on their own row, with no
   card treatment — there is no picture for an amount the donor invents */
html body:has(.donate-options):has(#donation-form-container)
  #donation-form-container .section.donation .field.radio.other-option {
  grid-column: 1;
  align-self: center;
  border: 0;
  padding: 0;
  margin: 0;
  background: none;
}
html body:has(.donate-options):has(#donation-form-container)
  #donation-form-container .section.donation .field.radio.other-option::before { display: none; }
html body:has(.donate-options):has(#donation-form-container)
  #donation-form-container .section.donation .field.text.other-amount {
  grid-column: 2;
  align-self: center;
  padding: 0;
  margin: 0;
}
html body:has(.donate-options):has(#donation-form-container)
  #donation-form-container .section.donation #other-amount {
  width: 120px;
}

/* below 1060px the 1000px column is no longer 1000px, so three cards get
   tight — the one-time page steps down to two before the shared
   single-column breakpoint */
@media (max-width: 1060px) {
  html body.page-id-5141:has(.donate-options):has(#donation-form-container)
    #donation-form-container .section.donation {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  html body:has(.donate-options):has(#donation-form-container)
    #donation-form-container .section.donation,
  html body.page-id-5141:has(.donate-options):has(#donation-form-container)
    #donation-form-container .section.donation {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  html body:has(.donate-options):has(#donation-form-container)
    #donation-form-container .section.donation .field.radio.other-option,
  html body:has(.donate-options):has(#donation-form-container)
    #donation-form-container .section.donation .field.text.other-amount {
    grid-column: 1;
  }
}


/* ---------- contact + billing: a real address layout ----------
   Bloomerang stacks every field in one long column. These two sections
   have a fixed, known field order, so each field is placed explicitly.

   .province and .postal-code ship with an inline display:none and are
   swapped in by Bloomerang's own JS when the country is not the US.
   They are assigned the same grid columns as .state and .zip-code, so
   whichever pair is showing lands in the right place. A display:none
   grid item occupies no track, so nothing shifts. */

#donation-form-container .section.contact {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px 18px;
}
#donation-form-container .section.contact > h3 {
  grid-column: 1 / -1;
}
#donation-form-container .section.contact .field.first-name    { grid-column: 1; }
#donation-form-container .section.contact .field.last-name     { grid-column: 2; }
#donation-form-container .section.contact .field.email-address { grid-column: 1; }
#donation-form-container .section.contact .field.phone-number  { grid-column: 2; }

#donation-form-container .section.billing-address {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 2px 18px;
}
#donation-form-container .section.billing-address .field.country        { grid-column: 1 / -1; }
#donation-form-container .section.billing-address .field.street-address { grid-column: 1 / -1; }
#donation-form-container .section.billing-address .field.city           { grid-column: 1; }
#donation-form-container .section.billing-address .field.state,
#donation-form-container .section.billing-address .field.province       { grid-column: 2; }
#donation-form-container .section.billing-address .field.zip-code,
#donation-form-container .section.billing-address .field.postal-code    { grid-column: 3; }

/* a full-bleed country select looks like a mistake next to short fields */
#donation-form-container .section.billing-address #country { max-width: 320px; }

/* Address is a <textarea> in Bloomerang's markup; left at its default it is
   either one cramped line or a huge box. Capped so it does not run the whole
   1000px — a street address is not that long. */
#donation-form-container .section.billing-address #street-address {
  height: 58px;
  max-width: 640px;
  resize: vertical;
}

/* the theme's 96% widths leave a ragged right edge once fields are in
   columns of their own */
#donation-form-container .section.contact .field input,
#donation-form-container .section.contact .field select,
#donation-form-container .section.billing-address .field input,
#donation-form-container .section.billing-address .field select,
#donation-form-container .section.billing-address .field textarea {
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 720px) {
  #donation-form-container .section.contact {
    grid-template-columns: minmax(0, 1fr);
  }
  #donation-form-container .section.contact .field.first-name,
  #donation-form-container .section.contact .field.last-name,
  #donation-form-container .section.contact .field.email-address,
  #donation-form-container .section.contact .field.phone-number {
    grid-column: 1;
  }
  #donation-form-container .section.billing-address {
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  }
  #donation-form-container .section.billing-address .field.city { grid-column: 1 / -1; }
  #donation-form-container .section.billing-address .field.state,
  #donation-form-container .section.billing-address .field.province { grid-column: 1; }
  #donation-form-container .section.billing-address .field.zip-code,
  #donation-form-container .section.billing-address .field.postal-code { grid-column: 2; }
}


/* ===== from snippet #5202: FRB — page title in hero (CSS) ===== */
/* =========================================================
   FRB — page title in the hero  (standing rule)
   Companion to the PHP snippet "FRB — page title in hero".
   Body class .frb-hero-title is set on any page that gets a
   hero title; .frb-hero-noimage on those with no featured image.

   rev b, 2026-09-14 — the band now SIZES TO ITS CONTENT.
   It used to be a fixed 340px (260px under 860px) with the title
   block absolutely positioned and pulled up by translateY(-50%),
   so the type was centred in a box that knew nothing about how
   tall the type actually was. With a title alone there was room
   to spare. Once pages started carrying a deck as well
   (sydney-header-subtitle), the margin got thin fast — measured
   with a long title plus a long deck, clearance was down to 5px
   at 375-414px, and at 360px and 320px the block SPILLED out of
   the band, over the nav above it and the content below.

   .sydney-hero-area is now the flex container with a min-height,
   .header-image is a background layer pinned to its four edges,
   and the title block is back in normal flow with padding. The
   band is 340/260 as before and grows only when the content
   needs it, so nothing can overflow at any width or any length.
   ========================================================= */

/* the hero area is position:static in the theme, so an absolutely
   positioned child would resolve against the viewport. It is also
   the thing that now establishes the band's height. */
.frb-hero-title .sydney-hero-area {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 340px;
}

/* the image is a backdrop pinned to the area's four edges, not the
   thing that sets the height — hence no height declaration here */
.frb-hero-title .header-image {
  display: block !important;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: auto !important;
  width: auto;
  margin: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

/* the <img class="header-inner"> is the theme's below-1024px fallback;
   it cannot carry an overlay, and the PHP snippet restates the background
   image at every width, so it is redundant here */
.frb-hero-title .header-image img.header-inner { display: none !important; }

/* Sydney injects its own <div class="overlay"> inside .header-image —
   black at 70% (style.css ~1068), which is what makes white type legible
   on the theme's hero images. 70% is heavier than this needs, and over
   the flat blue band below it reads as dark navy rather than FRB blue,
   so take it over explicitly rather than stacking another scrim on top. */
.frb-hero-title .header-image .overlay { opacity: .42; }
.frb-hero-noimage .header-image .overlay { opacity: .12; }

/* no featured image yet: a brand band, rather than Sydney's stock header.jpg */
.frb-hero-noimage .header-image {
  background-image: linear-gradient(135deg, #0d7fb4 0%, #159fe0 55%, #0c6b99 100%) !important;
}

/* in normal flow now, above the backdrop, with its own breathing room */
.frb-hero-title .sydney-hero-area .header-page-title {
  position: static;
  -webkit-transform: none;
          transform: none;
  width: 100%;
  padding: 44px 20px;
  text-align: center;
  z-index: 2;
}
.frb-hero-title .sydney-hero-area .header-page-title h1 {
  color: #FFF;
  font-size: 46px;
  line-height: 1.15;
  margin: 0;
  text-wrap: balance;
  text-shadow: 0 2px 14px rgba(0,0,0,.55);
}

/* THE DECK. Set it per page with the post meta `sydney-header-subtitle`;
   snippet 5201 prints it as this <h2> only when the page has one, so a
   page without the meta simply gets a title and nothing else. The value
   is run through esc_html(), so it is PLAIN TEXT — no links, no <em>. */
.frb-hero-title .sydney-hero-area .header-page-title h2 {
  color: #FFF;
  font-size: 19px;
  font-weight: 400;
  line-height: 1.5;
  max-width: 760px;
  margin: 16px auto 0;
  text-wrap: pretty;
  text-shadow: 0 2px 10px rgba(0,0,0,.55);
}

/* --- the other half of the rule: the title does not repeat in the body ---
   Every page in this tree opens with a SiteOrigin editor widget whose widget
   title is the page heading, which the hero now carries. Suppressed here
   rather than deleted from panels_data: the one-time and monthly pages hold
   pasted Bloomerang embeds, and rewriting panels_data destroys an embed.
   Only the FIRST widget of the FIRST row is touched — every later
   .widget-title on the page is a real section heading and stays. */
.frb-hero-title .panel-layout > .panel-grid:first-child
  .panel-grid-cell:first-child
  .so-panel.panel-first-child h3.widget-title {
  display: none;
}

/* the fullwidth templates zero out .page-wrap padding-top, which butts the
   first row straight against the hero once there is a title above it */
.frb-hero-title #content.page-wrap { padding-top: 38px; }

@media (max-width: 860px) {
  .frb-hero-title .sydney-hero-area { min-height: 260px; }
  .frb-hero-title .sydney-hero-area .header-page-title { padding: 34px 18px; }
  .frb-hero-title .sydney-hero-area .header-page-title h1 { font-size: 30px; }
  .frb-hero-title .sydney-hero-area .header-page-title h2 { font-size: 16px; }
}


/* ===== from snippet #5203: FRB — monthly giving (5142): lock frequency to Monthly, $15 level photo ===== */
/* =========================================================
   /donate/monthly/  (page 5142)

   The pasted Bloomerang form ships the Frequency select hidden
   (style="display:none") and Bloomerang's own JS reveals it the moment
   #recurring is ticked — which the frb-recurring script does on this page
   automatically. That would hand a donor Weekly / Quarterly / Yearly on a
   page titled "Give monthly".

   Monthly is already <option ... selected>, and the field is HIDDEN, not
   disabled, so it still submits as Monthly.

   Start Date is deliberately left visible: it is class="required", so
   hiding it would fail validation behind an invisible error.
   ========================================================= */

body.page-id-5142.frb-recurring-on #donation-form-container .field.frequency {
  display: none !important;
}

/* ---------------------------------------------------------
   2026-09-24: the first monthly level went from $10 to $15.
   Snippet 5143 maps each level's card photo by amount, and its
   monthly ladder still keys the day-of-meals photo to "10.", so the
   $15 card rendered with no picture. Mapped here, scoped to this page,
   rather than resending 5143 (16KB). If 5143 is next opened, add "15."
   beside its "10." rule and delete this block.
   --------------------------------------------------------- */
body.page-id-5142 #donation-form-container .section.donation .field.radio:has(input[value^="15."]) {
  --frb-level-img: url(/wp-content/uploads/2023/03/donate-meal-day.jpg);
}


/* ===== from snippet #4963: FRB — Dispatcher pair layout (4882) ===== */
/* FRB registration form — dispatcher question pair.

   The two dispatcher questions sit as a two-column pair. The second one is
   only shown when someone answers "Both", and when it is hidden the row loses
   half its width. Because the field container is a flex wrap, that missing
   half does not just leave a gap where it stands — it shifts the pairing of
   every field after it, so the last field in the section ends up alone with
   the grey form background beside it.

   Expanding the surviving question to the full row restores the parity, and
   the gap disappears rather than needing to be painted over.

   Adjacent sibling (+), not general sibling (~): with two dispatcher pairs on
   the form, Attendee 1 must react only to Attendee 1's hidden field. */

@media (min-width: 601px) {
  :is(#wpforms-4882,#wpforms-5667) .wpforms-field.frb-dispatch-for:has(+ .wpforms-field.frb-dispatch-pref[style*="display:none"]),
  :is(#wpforms-4882,#wpforms-5667) .wpforms-field.frb-dispatch-for:has(+ .wpforms-field.frb-dispatch-pref[style*="display: none"]) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    border-right: 1px solid var(--frb-line) !important;
  }
}

/* Selects fill their column, matching every other two-column field. */
:is(#wpforms-4882,#wpforms-5667) .wpforms-field.frb-dispatch-for select,
:is(#wpforms-4882,#wpforms-5667) .wpforms-field.frb-dispatch-pref select {
  width: 100% !important;
  max-width: 100% !important;
}


/* ===== from snippet #4888: FRB Registration Form Styles (4882) ===== */
:is(#wpforms-4882,#wpforms-5667){--frb-blue:#0d129e;--frb-blue-dk:#090c70;--frb-gold:#b98a10;--frb-red:#ce152d;--frb-line:#e0e4ea;--frb-muted:#5b6472;--frb-ink:#1a2230;max-width:1000px;margin:0 auto;}:is(#wpforms-4882,#wpforms-5667) form.wpforms-form{background:#f3f4f7;border:none;border-radius:16px;padding:2px 16px 16px;box-shadow:none;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field-container{counter-reset:frbsec;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field:not(.wpforms-field-divider){background:#fff;border-left:1px solid var(--frb-line);border-right:1px solid var(--frb-line);padding-left:24px !important;padding-right:24px !important;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field-container{display:flex;flex-wrap:wrap;align-items:stretch;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field{box-sizing:border-box;flex:0 0 100%;max-width:100%;}@media (min-width:601px){:is(#wpforms-4882,#wpforms-5667) .wpforms-field.wpforms-one-half{flex:0 0 50%;max-width:50%;width:auto !important;margin:0 !important;float:none !important;clear:none !important;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field.wpforms-one-half.wpforms-first{border-right:none;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field.wpforms-one-half:not(.wpforms-first){border-left:none;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field.frb-airport:has(~ .wpforms-field.frb-hotelconf[style*="display:none"]),:is(#wpforms-4882,#wpforms-5667) .wpforms-field.frb-airport:has(~ .wpforms-field.frb-hotelconf[style*="display: none"]){flex:0 0 100% !important;max-width:100% !important;border-right:1px solid var(--frb-line) !important;}}:is(#wpforms-4882,#wpforms-5667) .wpforms-field-container>.wpforms-field:first-child{border-top:1px solid var(--frb-line);border-top-left-radius:14px;border-top-right-radius:14px;margin-top:0 !important;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field.wpforms-field-divider{counter-increment:frbsec;position:relative;margin:22px 0 0 !important;padding:18px 24px 18px;border-top:1px solid var(--frb-line);border-bottom:1px solid var(--frb-line);border-left:1px solid var(--frb-line);border-right:1px solid var(--frb-line);border-top-left-radius:14px;border-top-right-radius:14px;background:#fff;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field.wpforms-field-divider+.wpforms-field{padding-top:12px !important;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field.wpforms-field-divider{padding-bottom:22px !important;margin-top:22px !important;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field.wpforms-field-divider::before{content:'';position:absolute;left:-1px;right:-1px;top:-22px;height:14px;background:#fff;border-left:1px solid var(--frb-line);border-right:1px solid var(--frb-line);border-bottom:1px solid var(--frb-line);border-bottom-left-radius:14px;border-bottom-right-radius:14px;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field-divider .wpforms-field-label,:is(#wpforms-4882,#wpforms-5667) .wpforms-field-divider h3{display:flex;align-items:center;gap:12px;color:var(--frb-blue) !important;font-size:20px !important;font-weight:700 !important;margin:0 !important;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field-divider h3::before{content:counter(frbsec);flex:0 0 30px;width:30px;height:30px;border-radius:50%;margin-left:8px;background:var(--frb-blue);color:#fff;font-size:15px;font-weight:600;line-height:1;display:inline-flex;align-items:center;justify-content:center;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field-divider .wpforms-field-description{color:var(--frb-muted);font-size:13.5px;margin-top:4px;padding-left:42px;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field.frb-lead{margin-bottom:0 !important;padding-bottom:0 !important;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field.frb-close-above{margin-top:-12px !important;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field-html > label:empty{display:none;}@media (min-width:601px){:is(#wpforms-4882,#wpforms-5667) .wpforms-field.wpforms-one-half.wpforms-first{clear:left !important;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field.wpforms-one-half:not(.wpforms-first){float:right !important;clear:right !important;margin-left:0 !important;}}:is(#wpforms-4882,#wpforms-5667) .frb-subhead{background:#f7f8fc;border-left:4px solid var(--frb-blue);color:var(--frb-blue);font-size:20px;font-weight:700;padding:10px 14px;margin:0 0 10px;}:is(#wpforms-4882,#wpforms-5667) .frb-modal-toggle{display:none !important;}:is(#wpforms-4882,#wpforms-5667) .frb-modal-open{color:var(--frb-blue);font-weight:600;text-decoration:underline;cursor:pointer;}:is(#wpforms-4882,#wpforms-5667) .frb-modal{display:none;}:is(#wpforms-4882,#wpforms-5667) .frb-modal-toggle:checked ~ .frb-modal{display:flex;position:fixed;inset:0;z-index:99999;background:rgba(20,25,40,.55);align-items:flex-start;justify-content:center;padding:24px;overflow:auto;}:is(#wpforms-4882,#wpforms-5667) .frb-modal .frb-modal-bg{position:absolute;inset:0;cursor:default;}:is(#wpforms-4882,#wpforms-5667) .frb-modal .frb-modal-box{position:relative;background:#fff;max-width:640px;width:100%;margin:auto;border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.3);overflow:hidden;}:is(#wpforms-4882,#wpforms-5667) .frb-modal .frb-modal-head{background:#f7f8fc;color:#0d129e;font-weight:700;font-size:18px;padding:14px 20px;border-bottom:1px solid #e0e4ea;display:flex;justify-content:space-between;align-items:center;}:is(#wpforms-4882,#wpforms-5667) .frb-modal .frb-modal-x{cursor:pointer;color:#5b6472 !important;font-size:24px;line-height:1;padding:0 4px;text-decoration:none !important;}:is(#wpforms-4882,#wpforms-5667) .frb-modal .frb-modal-body{padding:18px 22px;max-height:70vh;overflow:auto;font-size:14px;line-height:1.55;color:#1a2230;}:is(#wpforms-4882,#wpforms-5667) .frb-crisis-modal{display:flex;position:fixed;inset:0;z-index:99999;background:rgba(20,25,40,.55);align-items:flex-start;justify-content:center;padding:24px;overflow:auto;}:is(#wpforms-4882,#wpforms-5667) .frb-modal-toggle:checked ~ .frb-crisis-modal{display:none;}:is(#wpforms-4882,#wpforms-5667) .frb-crisis-modal .frb-modal-box{position:relative;background:#fff;max-width:640px;width:100%;margin:auto;border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.3);overflow:hidden;}:is(#wpforms-4882,#wpforms-5667) .frb-crisis-modal .frb-modal-head{background:#f7f8fc;color:#0d129e;font-weight:700;font-size:18px;padding:14px 20px;border-bottom:1px solid #e0e4ea;}:is(#wpforms-4882,#wpforms-5667) .frb-crisis-modal .frb-modal-body{padding:18px 22px;max-height:70vh;overflow:auto;font-size:14px;line-height:1.55;color:#1a2230;}:is(#wpforms-4882,#wpforms-5667) .frb-crisis-modal .frb-modal-foot{padding:14px 22px 18px;text-align:right;border-top:1px solid var(--frb-line);}:is(#wpforms-4882,#wpforms-5667) .frb-crisis-modal .frb-modal-btn{display:inline-block;background:var(--frb-blue);color:#fff !important;border-radius:8px;padding:10px 22px;font-weight:600;cursor:pointer;text-decoration:none !important;}:is(#wpforms-4882,#wpforms-5667) .frb-crisis-modal .frb-modal-btn:hover{background:var(--frb-blue-dk);}:is(#wpforms-4882,#wpforms-5667) .wpforms-field.frb-crisis-field{margin:0 !important;padding:0 !important;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field-label{color:var(--frb-ink);font-weight:600;font-size:13.5px !important;margin-bottom:4px !important;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field-sublabel,:is(#wpforms-4882,#wpforms-5667) .wpforms-field-description{color:var(--frb-muted);font-size:13.5px !important;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field-label-inline{font-size:13.5px !important;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field-html{font-size:13.5px;}:is(#wpforms-4882,#wpforms-5667) .wpforms-required-label{color:var(--frb-red) !important;}:is(#wpforms-4882,#wpforms-5667) input[type=text],:is(#wpforms-4882,#wpforms-5667) input[type=email],:is(#wpforms-4882,#wpforms-5667) input[type=tel],:is(#wpforms-4882,#wpforms-5667) input[type=number],:is(#wpforms-4882,#wpforms-5667) input[type=url],:is(#wpforms-4882,#wpforms-5667) select,:is(#wpforms-4882,#wpforms-5667) textarea{border:1px solid #cfd6d4 !important;border-radius:8px !important;padding:10px 12px !important;font-size:13.5px !important;color:var(--frb-ink) !important;background:#fff !important;}:is(#wpforms-4882,#wpforms-5667) input:focus,:is(#wpforms-4882,#wpforms-5667) select:focus,:is(#wpforms-4882,#wpforms-5667) textarea:focus{border-color:var(--frb-blue) !important;box-shadow:0 0 0 3px rgba(13,18,158,.12) !important;outline:none !important;}:is(#wpforms-4882,#wpforms-5667) textarea{min-height:60px;resize:vertical;}:is(#wpforms-4882,#wpforms-5667).wpforms-render-modern form.wpforms-form textarea.wpforms-field-large,:is(#wpforms-4882,#wpforms-5667).wpforms-render-modern form.wpforms-form textarea.wpforms-field-large{height:100px;min-height:100px;resize:vertical;}:is(#wpforms-4882,#wpforms-5667) .frb-key .wpforms-field-label{color:var(--frb-red) !important;font-weight:700 !important;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field-container>.wpforms-field:last-child{padding-bottom:18px !important;}:is(#wpforms-4882,#wpforms-5667) .wpforms-field:not(.wpforms-field-divider){padding-top:6px !important;padding-bottom:6px !important;margin-top:0 !important;margin-bottom:0 !important;}:is(#wpforms-4882,#wpforms-5667) .wpforms-submit-container{position:relative;text-align:center;margin-top:22px !important;padding-top:10px;}:is(#wpforms-4882,#wpforms-5667) .wpforms-submit-container::before{content:'';position:absolute;left:0;right:0;top:-22px;height:14px;background:#fff;border-left:1px solid var(--frb-line);border-right:1px solid var(--frb-line);border-bottom:1px solid var(--frb-line);border-bottom-left-radius:14px;border-bottom-right-radius:14px;}:is(#wpforms-4882,#wpforms-5667) button.wpforms-submit{background:var(--frb-blue) !important;color:#fff !important;border:none !important;border-radius:10px !important;padding:14px 40px !important;font-size:16px !important;font-weight:600 !important;letter-spacing:.3px;cursor:pointer;}:is(#wpforms-4882,#wpforms-5667) button.wpforms-submit:hover{background:var(--frb-blue-dk) !important;}:is(#wpforms-4882,#wpforms-5667) a{color:var(--frb-blue);}:is(#wpforms-4882,#wpforms-5667) .wpforms-confirmation-container-full{background:transparent !important;border:none !important;padding:0 !important;box-shadow:none !important;}:is(#wpforms-4882,#wpforms-5667) .wpforms-confirmation-container-full p:last-child{margin-bottom:0;}
