
						.bb-ff-hero, .bb-ff-intro, .bb-ff-community, .bb-ff-next {font-family:'Source Sans 3',Arial,sans-serif; font-size:1.125rem; line-height:1.75;}
.bb-ff-hero *, .bb-ff-intro *, .bb-ff-community *, .bb-ff-next * {box-sizing:border-box;}
.bb-ff-wrap {width:100%; max-width:1320px; margin-inline:auto; padding-inline:clamp(1.25rem,4vw,3rem);}
.bb-ff-intro h2, .bb-ff-community h2, .bb-ff-next h2, .bb-ff-intro h3, .bb-ff-next h3, .bb-ff-hero h1 {font-family:'Libre Baskerville',Georgia,serif; font-weight:400; letter-spacing:normal; line-height:1.3;}
.bb-ff-intro h2, .bb-ff-community h2, .bb-ff-next h2 {font-size:clamp(1.8rem,3vw,2.75rem); margin:0 0 1.5rem; color:#0C345F;}
.bb-ff-intro p, .bb-ff-community p {color:#455667;}
.bb-ff-eyebrow {font-size:.938rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin:0 0 1.25rem;}
.bb-ff-intro p.bb-ff-eyebrow, .bb-ff-community p.bb-ff-eyebrow {color:#066B7B;}
.page-hero.bb-ff-hero {position:relative; isolation:isolate; overflow:hidden; background:#0C345F url('/images/managed/IMG_7554.jpg') center / cover no-repeat; padding:clamp(4rem,8vw,7rem) 0;}
.page-hero.bb-ff-hero::before {content:''; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(90deg,rgba(5,29,48,.96) 0%,rgba(5,29,48,.90) 35%,rgba(5,29,48,.55) 52%,rgba(5,29,48,.12) 73%,rgba(5,29,48,0) 100%);}
.page-hero.bb-ff-hero::after {content:none;}
.page-hero.bb-ff-hero > .container {position:relative; z-index:1;}
.page-hero.bb-ff-hero h1 {max-width:19ch; margin:0 0 1.5rem; color:#FFF; font-size:clamp(2rem,4.1vw,3.8rem);}
.page-hero.bb-ff-hero p {max-width:42ch; color:#FFF; font-size:1.25rem; line-height:1.75;}
.page-hero.bb-ff-hero p.bb-ff-eyebrow {color:#F5AB00; font-size:.938rem; max-width:50ch;}
.bb-ff-hero a.bb-ff-button, .bb-ff-community a.bb-ff-button, .bb-ff-next a.bb-ff-button {display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.875rem 1.5rem; background:#F5AB00; color:#0C345F; border:2px solid #F5AB00; border-radius:4px; font-weight:700; line-height:1.4; text-align:center; text-decoration:none; max-width:100%;}
.bb-ff-hero a.bb-ff-button:hover, .bb-ff-community a.bb-ff-button:hover, .bb-ff-next a.bb-ff-button:hover {background:#FFD06A; border-color:#FFD06A; color:#0C345F;}
.bb-ff-intro {padding:clamp(3rem,6vw,5rem) 0; background:#F2F7F8;}
.bb-ff-intro-grid {display:grid; grid-template-columns:1fr 1.2fr; gap:clamp(2rem,5vw,5rem);}
.bb-ff-pillars {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin-top:3rem; padding-top:2.5rem; border-top:1px solid #CBD8DF;}
.bb-ff-pillars article {min-width:0;}
.bb-ff-pillars span {display:block; margin-bottom:1rem; color:#066B7B; font-size:.938rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;}
.bb-ff-pillars h3 {font-size:clamp(1.25rem,1.8vw,1.5rem); color:#0C345F; margin:0 0 1rem;}
.bb-ff-pillars p {margin:0;}
.bb-ff-community {padding:clamp(3rem,6vw,5rem) 0; background:#FFF;}
.bb-ff-section-heading {max-width:70ch; margin:0 auto 2.5rem; text-align:center;}
.bb-ff-section-heading p {margin-inline:auto;}
.bb-ff-photo-grid {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; align-items:stretch;}
.bb-ff-photo-grid figure {display:flex; flex-direction:column; min-width:0; margin:0; overflow:hidden; border-radius:6px; background:#0C345F;}
.bb-ff-photo-grid img {display:block; width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; object-position:center;}
.bb-ff-photo-grid figcaption {flex:1; padding:1.25rem; color:#FFF; font-size:1.0625rem; line-height:1.5;}
.bb-ff-centered-actions {display:flex; justify-content:center; margin-top:2.5rem;}
.bb-ff-next {padding:clamp(3rem,6vw,5rem) 0; background:#0C345F; color:#FFF;}
.bb-ff-next-grid {display:grid; grid-template-columns:1.3fr 1fr; align-items:start; gap:clamp(2rem,5vw,5rem);}
.bb-ff-next h2, .bb-ff-next h3, .bb-ff-next p {color:#FFF;}
.bb-ff-next p.bb-ff-eyebrow {color:#F5AB00;}
.bb-ff-next h3 {font-size:clamp(1.5rem,2.3vw,2rem); margin:0 0 1.25rem;}
.bb-ff-actions {display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem; margin-top:1.75rem;}
.bb-ff-next a.bb-ff-phone {display:inline-flex; align-items:center; min-height:48px; color:#FFF; text-decoration:underline; text-underline-offset:.25em;}
.bb-ff-giving {padding:clamp(1.5rem,3vw,2.5rem); border:1px solid rgba(255,255,255,.3); border-top:3px solid #F5AB00; border-radius:4px;}
.bb-ff-next a.bb-ff-outline {display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.875rem 1.5rem; border:2px solid #FFF; border-radius:4px; color:#FFF; font-weight:700; line-height:1.4; text-decoration:none;}
.bb-ff-next a.bb-ff-outline:hover {background:#FFF; color:#0C345F;}
.bb-ff-intro a:focus-visible, .bb-ff-community a:focus-visible {outline:3px solid #0C345F; outline-offset:5px;}
.bb-ff-hero a:focus-visible, .bb-ff-next a:focus-visible {outline:3px solid #FFF; outline-offset:5px;}
@media(max-width:1000px) {.bb-ff-photo-grid {grid-template-columns:repeat(2,minmax(0,1fr));} .bb-ff-intro-grid, .bb-ff-next-grid {grid-template-columns:1fr;} }
@media(max-width:700px) {.bb-ff-pillars {grid-template-columns:1fr; gap:2rem;} .page-hero.bb-ff-hero {background-position:75% center; padding:4rem 0;} .page-hero.bb-ff-hero::before {background:rgba(5,29,48,.8);} .page-hero.bb-ff-hero p {font-size:1.125rem;} }
@media(max-width:480px) {.bb-ff-photo-grid {grid-template-columns:1fr;} }
/* For Families â€” introduction and three pillars */

.bb-family-welcome {
  padding: clamp(3rem, 6vw, 5rem) 0;
  background: #F2F7F8;
  color: #0C345F;

  font-family: 'Source Sans 3', Arial, sans-serif;
  font-size: 1.125rem;
  line-height: 1.75;
}

.bb-family-welcome,
.bb-family-welcome * {
  box-sizing: border-box;
}

.bb-family-welcome-inner {
  width: 100%;
  max-width: 1320px;
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 4vw, 3rem);
}

.bb-family-welcome-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

.bb-family-welcome-eyebrow {
  margin: 0 0 1.25rem;
  color: #066B7B;

  font-size: 0.938rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bb-family-welcome h2,
.bb-family-welcome h3 {
  font-family: 'Libre Baskerville', Georgia, serif;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: normal;
  color: #0C345F;
}

.bb-family-welcome h2 {
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 2.75rem);
}

.bb-family-welcome-copy p {
  margin: 0 0 1.25rem;
  color: #455667;
}

.bb-family-welcome-copy p:last-child {
  margin-bottom: 0;
}

.bb-family-welcome-copy .bb-family-welcome-lead {
  color: #0C345F;
  font-size: 1.25rem;
  line-height: 1.65;
}

.bb-family-welcome-pillars {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 3rem);

  margin-top: 3rem;
  padding-top: 2.5rem;
  border-top: 1px solid #CBD8DF;
}

.bb-family-welcome-pillars article {
  min-width: 0;
}

.bb-family-welcome-number {
  display: block;
  margin-bottom: 1rem;

  color: #066B7B;
  font-size: 0.938rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.bb-family-welcome-pillars h3 {
  margin: 0 0 1rem;
  font-size: clamp(1.25rem, 1.8vw, 1.5rem);
}

.bb-family-welcome-pillars p {
  margin: 0;
  color: #455667;
}

.bb-family-welcome p.bb-family-welcome-belief {
  max-width: 65ch;
  margin: 3rem auto 0;
  padding-top: 2rem;
  border-top: 1px solid #CBD8DF;

  color: #0C345F;
  font-family: 'Libre Baskerville', Georgia, serif;
  font-size: clamp(1.125rem, 2vw, 1.4rem);
  line-height: 1.6;
  text-align: center;
}

@media (max-width: 900px) {
  .bb-family-welcome-grid {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
}

@media (max-width: 700px) {
  .bb-family-welcome-pillars {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
/* For Families â€” four-photo community grid */

.bb-family-moments {
  padding: clamp(3rem, 6vw, 5rem) 0;
  background: #FFFFFF;

  font-family: 'Source Sans 3', Arial, sans-serif;
  font-size: 1.125rem;
  line-height: 1.75;
  color: #455667;
}

.bb-family-moments,
.bb-family-moments * {
  box-sizing: border-box;
}

.bb-family-moments-inner {
  width: 100%;
  max-width: 1320px;
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 4vw, 3rem);
}

.bb-family-moments-heading {
  max-width: 68ch;
  margin: 0 auto 2.75rem;
  text-align: center;
}

.bb-family-moments p.bb-family-moments-eyebrow {
  margin: 0 0 1.25rem;
  color: #066B7B;

  font-size: 0.938rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bb-family-moments h2 {
  margin: 0 0 1.5rem;

  font-family: 'Libre Baskerville', Georgia, serif;
  font-size: clamp(1.8rem, 3vw, 2.75rem);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: normal;
  color: #0C345F;
}

.bb-family-moments-heading > p:last-child {
  margin: 0 auto;
  color: #455667;
}

.bb-family-moments-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: stretch;
}

.bb-family-moments-grid figure {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  overflow: hidden;

  background: #0C345F;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(12, 52, 95, 0.08);
}

.bb-family-moments-grid img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;

  object-fit: cover;
  object-position: center;
}

.bb-family-moments-grid figcaption {
  flex: 1;
  padding: 1.5rem 1.25rem;

  color: #FFFFFF;
  font-size: 1rem;
  line-height: 1.6;
}

.bb-family-moments-grid figcaption span {
  display: block;
  margin-bottom: 0.625rem;

  color: #F5AB00;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.4;
}

.bb-family-moments-actions {
  margin-top: 2.75rem;
  text-align: center;
}

.bb-family-moments-actions p {
  max-width: 55ch;
  margin: 0 auto 1.25rem;
}

.bb-family-moments a.bb-family-moments-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 48px;
  max-width: 100%;
  padding: 0.875rem 1.5rem;

  background: #F5AB00;
  border: 2px solid #F5AB00;
  border-radius: 4px;

  color: #0C345F;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
}

.bb-family-moments a.bb-family-moments-button:hover {
  background: #FFD06A;
  border-color: #FFD06A;
  color: #0C345F;
}

.bb-family-moments a:focus-visible {
  outline: 3px solid #0C345F;
  outline-offset: 5px;
}

/* Two columns on tablets */

@media (max-width: 1000px) {
  .bb-family-moments-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }
}

/* One column on small phones */

@media (max-width: 480px) {
  .bb-family-moments-grid {
    grid-template-columns: 1fr;
  }
}
/* For Families â€” closing invitation */

.bb-family-next {
  padding: clamp(3rem, 6vw, 5rem) 0;
  background: #0C345F;
  color: #FFFFFF;

  font-family: 'Source Sans 3', Arial, sans-serif;
  font-size: 1.125rem;
  line-height: 1.75;
}

.bb-family-next,
.bb-family-next * {
  box-sizing: border-box;
}

.bb-family-next-inner {
  width: 100%;
  max-width: 1320px;
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 4vw, 3rem);
}

.bb-family-next-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  align-items: start;
  gap: clamp(2rem, 5vw, 5rem);
}

.bb-family-next p {
  margin: 0 0 1.25rem;
  color: #FFFFFF;
}

.bb-family-next p.bb-family-next-eyebrow {
  margin-bottom: 1.25rem;
  color: #F5AB00;

  font-size: 0.938rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bb-family-next h2,
.bb-family-next h3 {
  font-family: 'Libre Baskerville', Georgia, serif;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: normal;
  color: #FFFFFF;
}

.bb-family-next h2 {
  margin: 0 0 1.5rem;
  font-size: clamp(1.8rem, 3vw, 2.75rem);
}

.bb-family-next h3 {
  margin: 0 0 1.5rem;
  font-size: clamp(1.5rem, 2.3vw, 2rem);
}

.bb-family-next p.bb-family-next-lead {
  font-size: 1.25rem;
  line-height: 1.65;
}

.bb-family-next-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
  margin-top: 1.75rem;
}

.bb-family-next a.bb-family-next-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 48px;
  max-width: 100%;
  padding: 0.875rem 1.5rem;

  background: #F5AB00;
  border: 2px solid #F5AB00;
  border-radius: 4px;

  color: #0C345F;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
}

.bb-family-next a.bb-family-next-button:hover {
  background: #FFD06A;
  border-color: #FFD06A;
  color: #0C345F;
}

.bb-family-next a.bb-family-next-phone {
  display: inline-flex;
  align-items: center;
  min-height: 48px;

  color: #FFFFFF;
  text-decoration: underline;
  text-underline-offset: 0.25em;
}

.bb-family-next-giving {
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.5rem);

  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-top: 3px solid #F5AB00;
  border-radius: 4px;
}

.bb-family-next a.bb-family-next-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 48px;
  max-width: 100%;
  margin-top: 0.5rem;
  padding: 0.875rem 1.5rem;

  background: transparent;
  border: 2px solid #FFFFFF;
  border-radius: 4px;

  color: #FFFFFF;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
}

.bb-family-next a.bb-family-next-outline:hover {
  background: #FFFFFF;
  color: #0C345F;
}

.bb-family-next a:focus-visible {
  outline: 3px solid #FFFFFF;
  outline-offset: 5px;
}

/* Stack the invitation and giving box on smaller screens */

@media (max-width: 900px) {
  .bb-family-next-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
/* For Families â€” testimonials */

.bb-family-testimonials {
  box-sizing: border-box;
  width: 100%;
  max-width: 1320px;
  margin: clamp(3rem, 6vw, 5rem) auto;
  padding-inline: clamp(1.25rem, 4vw, 3rem);

  font-family: 'Source Sans 3', Arial, sans-serif;
  color: #0C345F;
}

.bb-family-testimonials * {
  box-sizing: border-box;
}

.bb-family-testimonials h2 {
  margin: 0 0 1rem;

  font-family: 'Libre Baskerville', Georgia, serif;
  font-size: clamp(1.8rem, 3vw, 2.75rem);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: normal;
  color: #0C345F;
}

.bb-family-testimonials h2 span {
  display: block;
}

.bb-testimonials-note {
  max-width: 65ch;
  margin: 0 0 2rem;
  color: #455667;
  font-size: 1rem;
  line-height: 1.7;
}

.bb-testimonial-slider {
  padding: clamp(1.5rem, 4vw, 3.5rem);
  background: #FCF8EE;
  border: 1px solid #E4DFD3;
  border-top: 3px solid #F5AB00;
  border-radius: 6px;
}

.bb-testimonial-slide[hidden],
.bb-testimonial-controls[hidden] {
  display: none;
}

.bb-testimonial-slide figure {
  margin: 0;
}

.bb-testimonial-slide blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.bb-testimonial-slide blockquote::before {
  content: "\201C";
  display: block;
  height: 0.8em;
  margin-bottom: 0.5rem;

  font-family: Georgia, serif;
  font-size: 5rem;
  line-height: 1;
  color: #066B7B;
}

.bb-testimonial-slide blockquote p {
  max-width: 58ch;
  margin: 0;

  font-family: 'Libre Baskerville', Georgia, serif;
  font-size: clamp(1.2rem, 2.2vw, 1.65rem);
  font-weight: 400;
  line-height: 1.75;
  color: #0C345F;
}

.bb-testimonial-slide figcaption {
  margin-top: 1.75rem;
  color: #455667;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.6;
}

/* Manual slider controls */

.bb-testimonial-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;

  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #DAD4C7;
}

.bb-testimonial-controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 100px;
  min-height: 48px;
  padding: 0.75rem 1.25rem;

  background: #0C345F;
  border: 2px solid #0C345F;
  border-radius: 4px;

  font-family: 'Source Sans 3', Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  color: #FFFFFF;
  cursor: pointer;
}

.bb-testimonial-controls button:hover {
  background: #066B7B;
  border-color: #066B7B;
}

.bb-testimonial-controls button:focus-visible {
  outline: 3px solid #066B7B;
  outline-offset: 4px;
}

.bb-testimonial-status {
  color: #455667;
  font-size: 0.938rem;
  line-height: 1.5;
}

@media (max-width: 550px) {
  .bb-testimonial-controls {
    justify-content: center;
  }

  .bb-testimonial-status {
    flex-basis: 100%;
    order: -1;
    text-align: center;
  }
}
/* For Families â€” program navigation */

.bb-family-program-bar {
  padding: 2rem 0;
  background: #0C345F;
  border-bottom: 3px solid #F5AB00;

  font-family: 'Source Sans 3', Arial, sans-serif;
}

.bb-family-program-bar,
.bb-family-program-bar * {
  box-sizing: border-box;
}

.bb-family-program-bar > .container {
  width: 100%;
  max-width: 1320px;
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 4vw, 3rem);
}

.bb-family-program-bar h2 {
  margin: 0 0 1rem;

  color: #F5AB00;
  font-family: 'Source Sans 3', Arial, sans-serif;
  font-size: 0.938rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
}

.bb-family-program-bar ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 1.5rem;

  margin: 0;
  padding: 0;
  list-style: none;
}

.bb-family-program-bar li {
  margin: 0;
  padding: 0;
}

.bb-family-program-bar a {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 48px;
  padding: 0.5rem 0.25rem;

  color: #FFFFFF;
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;

  border-bottom: 2px solid transparent;
}

.bb-family-program-bar a:hover {
  color: #F5AB00;
  border-bottom-color: #F5AB00;
}

.bb-family-program-bar a:focus-visible {
  outline: 3px solid #F5AB00;
  outline-offset: 4px;
  border-radius: 2px;
}

/* Mobile */

@media (max-width: 600px) {
  .bb-family-program-bar {
    padding: 1.5rem 0;
  }

  .bb-family-program-bar ul {
    flex-direction: column;
    gap: 0.25rem;
  }

  .bb-family-program-bar li {
    width: 100%;
  }

  .bb-family-program-bar a {
    width: 100%;
    padding: 0.625rem 1rem;
  }
}
.bb-programs-button a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #D99A00;
  color: #153759 !important;
  padding: 14px 24px;
  border: 2px solid #D99A00;
  border-radius: 4px;
  font-weight: 700;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.bb-programs-button a:hover {
  background: #153759;
  border-color: #153759;
  color: #fff !important;
}
.bb-programs-button a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #D99A00;
  color: #153759 !important;
  padding: 14px 24px;
  border: 2px solid #D99A00;
  border-radius: 4px;
  font-weight: 700;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.bb-programs-button a:hover {
  background: #153759;
  border-color: #153759;
  color: #fff !important;
}
						
