.elementor-kit-11{--e-global-color-primary:#E5A800;--e-global-color-secondary:#512DA8;--e-global-color-text:#122222;--e-global-color-accent:#93A82D;--e-global-color-ca8326c:#A8912D;--e-global-color-28bb52e:#453669;--e-global-color-c6ab964:#606936;--e-global-color-9366daf:#F0F5FF;--e-global-color-f64a801:#FAF8ED;--e-global-color-07694a0:#F5F5F5;--e-global-color-647647e:#8C5524;--e-global-color-4855d51:#C68541;--e-global-color-743c8eb:#F2B25C;--e-global-color-00da218:#8EB021;--e-global-color-c1ebd07:#A5C53B;--e-global-color-fe6c107:#C0DE9B;--e-global-typography-primary-font-family:"Open Sans";--e-global-typography-primary-font-size:1rem;font-weight:500;--e-global-typography-secondary-font-family:"Open Sans";--e-global-typography-secondary-font-size:1rem;--e-global-typography-text-font-family:"Open Sans";--e-global-typography-text-font-size:1rem;--e-global-typography-accent-font-family:"Open Sans";--e-global-typography-accent-font-size:1rem;color:var( --e-global-color-text );font-family:"Open Sans", Sans-serif;font-size:1.125rem;line-height:1.6;}.elementor-kit-11 button,.elementor-kit-11 input[type="button"],.elementor-kit-11 input[type="submit"],.elementor-kit-11 .elementor-button{background-color:var( --e-global-color-secondary );color:var( --e-global-color-9366daf );border-radius:26px 26px 26px 26px;}.elementor-kit-11 button:hover,.elementor-kit-11 button:focus,.elementor-kit-11 input[type="button"]:hover,.elementor-kit-11 input[type="button"]:focus,.elementor-kit-11 input[type="submit"]:hover,.elementor-kit-11 input[type="submit"]:focus,.elementor-kit-11 .elementor-button:hover,.elementor-kit-11 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-9366daf );}.elementor-kit-11 e-page-transition{background-color:var( --e-global-color-f64a801 );}.elementor-kit-11 p{margin-block-end:1.2em;}.elementor-kit-11 a{color:var( --e-global-color-primary );}.elementor-kit-11 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-11 h1{font-family:"Playfair Display", Sans-serif;font-size:4.375rem;font-weight:600;line-height:1.08;}.elementor-kit-11 h2{font-family:"Playfair Display", Sans-serif;font-size:3.5rem;font-weight:500;line-height:1.15;}.elementor-kit-11 h3{font-family:"Playfair Display", Sans-serif;font-size:2.75rem;font-weight:500;line-height:1.22;}.elementor-kit-11 h4{font-family:"Playfair Display", Sans-serif;font-size:2.188rem;font-weight:500;line-height:1.28;}.elementor-kit-11 h5{font-family:"Playfair Display", Sans-serif;font-size:1.75rem;font-weight:500;line-height:1.32;}.elementor-kit-11 h6{font-family:"Playfair Display", Sans-serif;font-size:1.375rem;font-weight:500;line-height:1.38;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1120px;}.e-con{--container-max-width:1120px;--container-default-padding-top:60px;--container-default-padding-right:32px;--container-default-padding-bottom:60px;--container-default-padding-left:32px;}.elementor-widget:not(:last-child){--kit-widget-spacing:30px;}.elementor-element{--widgets-spacing:30px 30px;--widgets-spacing-row:30px;--widgets-spacing-column:30px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1499px){.e-con{--container-default-padding-top:60px;--container-default-padding-right:32px;--container-default-padding-bottom:60px;--container-default-padding-left:32px;}}@media(max-width:1024px){.e-con{--container-default-padding-top:50px;--container-default-padding-right:24px;--container-default-padding-bottom:50px;--container-default-padding-left:24px;}}@media(max-width:834px){.elementor-kit-11{font-size:1rem;}.elementor-kit-11 h1{font-size:3.375rem;}.elementor-kit-11 h2{font-size:2.75rem;}.elementor-kit-11 h3{font-size:2.25rem;}.elementor-kit-11 h4{font-size:1.875rem;}.elementor-kit-11 h5{font-size:1.5rem;}.elementor-kit-11 h6{font-size:1.25rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:44px;--container-default-padding-right:24px;--container-default-padding-bottom:44px;--container-default-padding-left:24px;}}@media(max-width:767px){.elementor-kit-11{font-size:1rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:40px;--container-default-padding-right:20px;--container-default-padding-bottom:40px;--container-default-padding-left:20px;}}/* Start custom CSS *//* =========================================================
   FINAL-STYLESHEET — Baylor Family Foundation (BFF)
   Clean / non-redundant / production-ready
   ========================================================= */
   
/* ===========================
   BFF Header + Nav
   =========================== */

.bff-header{
  background: #FAF8ED;
  transition: transform 420ms cubic-bezier(.2,.8,.2,1),
              box-shadow 420ms cubic-bezier(.2,.8,.2,1),
              background-color 420ms cubic-bezier(.2,.8,.2,1);
  will-change: transform;
  z-index: 9999;

  /* Shadow only when explicitly allowed */
  box-shadow: none !important;

  /* Lock full-width sticky geometry */
  width: 100% !important;
  max-width: 100% !important;
  left: 0;
  right: 0;
  box-sizing: border-box;

  /* Prevent seam on sticky scroll */
  background: #FAF8ED !important;
  backface-visibility: hidden;
  transform: translateZ(0);
  -webkit-font-smoothing: antialiased;
  border-bottom: 1px solid rgba(0,0,0,0.04);
}

.elementor-sticky--effects.bff-header{
  width: 100% !important;
  max-width: 100% !important;
  left: 0;
  right: 0;
}

.bff-header.is-scrolled{
  box-shadow: 0 10px 30px rgba(0,0,0,0.08) !important;
}

.bff-brand,
.bff-brand a{
  color: #512DA8 !important;
  text-decoration: none !important;
  letter-spacing: 0.01em;
}

.bff-nav a{
  color: rgba(17,17,17,0.92) !important;
  text-decoration: none !important;
  position: relative;
  padding-bottom: 6px;
  transition: color 320ms cubic-bezier(.2,.8,.2,1);
  letter-spacing: 0.02em;
}

.bff-nav a::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: #512DA8;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 420ms cubic-bezier(.2,.8,.2,1);
  opacity: 0.9;
}

.bff-nav a:hover{
  color: #512DA8 !important;
}

.bff-nav a:hover::after{
  transform: scaleX(1);
}

.bff-nav .elementor-item-active,
.bff-nav .current-menu-item > a{
  color: #512DA8 !important;
}

.bff-nav .elementor-item-active::after,
.bff-nav .current-menu-item > a::after{
  transform: scaleX(1);
}

@media (prefers-reduced-motion: reduce){
  .bff-header,
  .bff-nav a,
  .bff-nav a::after{
    transition: none !important;
  }
}

/* =========================================================
   BFF Header — sticky spacer + page background
   ========================================================= */

html, body{
  background: #FAF8ED;
}

.elementor-sticky__spacer{
  width: 100% !important;
  max-width: 100% !important;
  background: #FAF8ED !important;
}

/* =========================================================
   BFF Nav — mobile layout + dropdown behavior at 990px
   ========================================================= */

@media (max-width: 990px){

  /* hide desktop horizontal nav */
  .bff-nav .elementor-nav-menu--main{
    display: none !important;
  }

  /* show Elementor burger toggle */
  .bff-nav .elementor-menu-toggle{
    display: flex !important;
    align-items: center;
    justify-content: center;
  }

  /* keep header layout clean */
  .bff-header-inner{
    gap: 12px;
  }

  .bff-brand{
    flex: 1 1 auto;
    min-width: 0;
  }

  .bff-nav{
    flex: 0 0 auto;
  }

  /* dropdown panel */
  .bff-nav .elementor-nav-menu--dropdown{
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    left: auto;
    min-width: 240px;
    background: #FAF8ED;
    border: 1px solid rgba(81,45,168,0.12);
    border-radius: 10px;
    box-shadow: 0 14px 30px rgba(0,0,0,0.08);
    padding: 10px 0;
    z-index: 10000;
  }

  /* reveal when menu is open */
  .bff-nav.elementor-active .elementor-nav-menu--dropdown,
  .bff-nav .elementor-menu-toggle[aria-expanded="true"] + .elementor-nav-menu--dropdown{
    display: block !important;
  }

  .bff-nav .elementor-nav-menu--dropdown a{
    display: block;
    padding: 12px 18px !important;
  }

  /* Reset ALL dropdown items to neutral by default */
  .bff-nav .elementor-nav-menu--dropdown .elementor-item,
  .bff-nav .elementor-nav-menu--dropdown .current-menu-item > .elementor-item,
  .bff-nav .elementor-nav-menu--dropdown .current-menu-ancestor > .elementor-item,
  .bff-nav .elementor-nav-menu--dropdown .current_page_item > .elementor-item,
  .bff-nav .elementor-nav-menu--dropdown .current-page-ancestor > .elementor-item,
  .bff-nav .elementor-nav-menu--dropdown .elementor-item.elementor-item-active{
    background: transparent !important;
    color: rgba(17,17,17,0.92) !important;
    border-radius: 0 !important;
  }

  .bff-nav .elementor-nav-menu--dropdown .elementor-item::after,
  .bff-nav .elementor-nav-menu--dropdown .current-menu-item > .elementor-item::after,
  .bff-nav .elementor-nav-menu--dropdown .current-menu-ancestor > .elementor-item::after,
  .bff-nav .elementor-nav-menu--dropdown .current_page_item > .elementor-item::after,
  .bff-nav .elementor-nav-menu--dropdown .current-page-ancestor > .elementor-item::after,
  .bff-nav .elementor-nav-menu--dropdown .elementor-item.elementor-item-active::after{
    transform: scaleX(0) !important;
  }

  /* Hover/focus still works */
  .bff-nav .elementor-nav-menu--dropdown .elementor-item:hover,
  .bff-nav .elementor-nav-menu--dropdown .elementor-item:focus{
    background: #E7E3F4 !important;
    color: #111111 !important;
    border-radius: 8px;
  }

  /* Only JS-driven current state gets the highlight */
  .bff-nav .elementor-nav-menu--dropdown .elementor-item.is-current{
    background: #E7E3F4 !important;
    color: #111111 !important;
    border-radius: 8px;
  }

  .bff-nav .elementor-nav-menu--dropdown .elementor-item.is-current::after{
    transform: scaleX(1) !important;
  }
}

@media (min-width: 991px){

  /* restore desktop nav */
  .bff-nav .elementor-nav-menu--main{
    display: block !important;
  }

  .bff-nav .elementor-menu-toggle{
    display: none !important;
  }
}

/* ===========================
   Hero utilities
   =========================== */

.hero-padding{
  padding-top: clamp(1.5rem, 4vw, 6.25rem);
  padding-right: clamp(1.5rem, 4vw, 6.25rem);
  padding-bottom: clamp(1.5rem, 4vw, 6.25rem);
  padding-left: 0;
}

.tidy-text{
  max-width: 38rem;
}

@media (max-width: 1499px) and (min-width: 1024px){
  .tidy-text{
    max-width: 46rem;
    padding-top: 25px !important;
    padding-bottom: 25px !important;
    padding-left: 50px !important;
    padding-right: 50px !important;
  }
}

@media (max-width: 834px) {
  .tidy-text{
    max-width: 34rem;
  }
}


/* Hero composition */
.hero-parent{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(2rem, 4vw, 5rem);
}

.hero-left{
  flex: 1 1 38rem;
  min-width: 0;
  padding-top: 50px;
}

.hero-right{
  flex: 1 1 34rem;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-inline: clamp(0.75rem, 1.5vw, 1.5rem);
  padding-top: 0;
}

.hero-right .elementor-widget-image,
.hero-right .elementor-widget-html{
  width: min(100%, 44rem);
  margin-inline: auto;
}

.hero-right .elementor-widget-image img{
  display: block;
  width: 100%;
  height: auto;
}

.hero-title .elementor-heading-title{
  margin-bottom: 32px;
}

.hero-welcome,
.hero-welcome .elementor-widget-container,
.hero-welcome p{
  font-size: 1.625rem !important; /* 26px */
  line-height: 1.25 !important;
  color: #512DA8 !important;
  margin: 0 0 clamp(0.125rem, 0.3vw, 0.25rem) 0 !important;
  font-weight: 700;
}

.hero-body{
  width: 100%;
}

.hero-body .elementor-widget-container{
  width: 100%;
}

.hero-body p{
  max-width: 38rem;
  margin: 0 0 clamp(1rem, 1.25vw, 1.375rem) 0;
}

.hero-body:last-child p{
  margin-bottom: 0;
}

/* Recompose hero earlier */
@media (max-width: 1199px){
  .hero-parent{
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .hero-parent > .hero-left,
  .hero-parent > .hero-right{
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  .hero-right{
    margin-top: clamp(1.5rem, 3vw, 2.5rem);
    padding-inline: 0;
  }

  .hero-right .elementor-widget-image,
  .hero-right .elementor-widget-html{
    width: min(100%, 38rem);
    margin-inline: auto;
  }

  .hero-body p{
    max-width: 42.1875rem; /* 675px */
  }

  .bff-funding-note{
    max-width: 33.125rem; /* 530px */
  }
}

/* Hero motif + gutter control
   Show motif only from 1199px down to 1025px
   Remove hero parent right padding only in that band
*/
@media (max-width: 1199px) and (min-width: 1025px){
  .hero-parent{
    padding-right: 0 !important;
  }
}

/* Remove motif and restore normal gutter at tablet landscape and below */
@media (max-width: 1024px){
  .hero-parent{
    padding-right: 32px !important;
  }

  .hero-left{
    background-image: none !important;
  }
}

/* Remove motif again above the stacked hero band */
@media (min-width: 1200px){
  .hero-left{
    background-image: none !important;
  }
}

/* Tablet portrait: 834px down to 768px */
@media (max-width: 834px) and (min-width: 768px){
  .hero-parent{
    padding-top: 34px;
  }

  .hero-title .elementor-heading-title{
    font-size: 4.375rem; /* 70px */
    margin-bottom: 32px;
  }

  .hero-right{
    padding-top: 24px;
  }
}

/* Mobile portrait: 767px and below */
@media (max-width: 767px){
  .hero-title .elementor-heading-title{
    font-size: 3.375rem; /* 54px */
  }

  .hero-welcome,
  .hero-welcome .elementor-widget-container,
  .hero-welcome p{
    font-size: 1.5rem !important; /* 24px */
  }
}

/* HERO: Funding callout card (perfect full-height left bar) */
.bff-funding-note{
  --bff-purple: var(--e-global-color-secondary, #512DA8);
  --bff-cream: #FAF8ED;

  /* Fallbacks (match your cream bg blend) */
  --bff-bg-fallback: rgba(236, 232, 231, 1);
  --bff-border-fallback: rgba(223, 216, 226, 1);

  border-radius: 14px;
  padding: clamp(16px, 2vw, 22px) clamp(18px, 2.5vw, 26px);
  margin-top: clamp(18px, 3vw, 28px);
  max-width: 33.125rem; /* 530px */
  width: 100%;

  /* Create the left bar as part of the background so it matches height exactly */
  background: linear-gradient(90deg,
      var(--bff-purple) 0 10px,
      var(--bff-bg-fallback) 10px 100%
  );

  /* Enhancement when supported (cream-tinted lavender) */
  background: linear-gradient(90deg,
      var(--bff-purple) 0 10px,
      color-mix(in srgb, var(--bff-purple) 8%, var(--bff-cream)) 10px 100%
  );

  border: 1px solid var(--bff-border-fallback);
  border: 1px solid color-mix(in srgb, var(--bff-purple) 16%, var(--bff-cream));

  box-shadow: 0 15px 30px rgba(0,0,0,0.06);

  /* Space away from the bar */
  padding-left: clamp(22px, 2.8vw, 30px);
}

/* Title */
.bff-funding-note .elementor-heading-title{
  margin: 0 0 clamp(10px, 1.5vw, 12px) 0;
  line-height: 1.25;
  color: var(--e-global-color-text, #122222);
}

/* Body */
.bff-funding-note .elementor-widget-text-editor,
.bff-funding-note .elementor-widget-text-editor p{
  margin: 0;
  line-height: 1.6;
  font-size: 0.889rem;
  color: var(--e-global-color-text, #122222);
}

/* Mobile tweak */
@media (max-width: 767px){
  .bff-funding-note{
    border-radius: 12px;
    background: linear-gradient(90deg,
        var(--bff-purple) 0 8px,
        var(--bff-bg-fallback) 8px 100%
    );
    background: linear-gradient(90deg,
        var(--bff-purple) 0 8px,
        color-mix(in srgb, var(--bff-purple) 8%, var(--bff-cream)) 8px 100%
    );
  }
}

/* ===========================
   Quote Block
   =========================== */

.quote-line{
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding-inline: 0;
  margin: clamp(0.75rem, 1.2vw, 1.25rem) auto 0;
  text-align: center;
  line-height: 1.5;
  color: #111;
}

.quote-top{
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 0.7em;
  font-weight: 400;
  font-size: 1.5rem; /* 24px default */
  opacity: 0.8;
  text-align: center;
}

.quote-bottom{
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  font-weight: 500;
  font-size: 1.625rem; /* 26px default */
  text-align: center;
}

/* 1659px–1350px:
   top quote scales 24px → 22px
   bottom quote wraps */
@media (max-width: 1659px) and (min-width: 1350px){
  .quote-top{
    font-size: clamp(1.375rem, 1.16vw, 1.5rem); /* 22px → 24px */
  }

  .quote-bottom{
    white-space: normal;
  }
}

/* 1349px–1250px:
   top quote scales 22px → 20px
   bottom quote wraps */
@media (max-width: 1349px) and (min-width: 1250px){
  .quote-top{
    font-size: clamp(1.25rem, 2vw, 1.375rem); /* 20px → 22px */
  }

  .quote-bottom{
    white-space: normal;
  }
}

/* 1249px–1200px:
   hold top quote at 20px
   bottom quote wraps */
@media (max-width: 1249px) and (min-width: 1200px){
  .quote-top{
    font-size: 1.25rem; /* 20px */
  }

  .quote-bottom{
    white-space: normal;
  }
}

/* 1199px–835px:
   top quote scales 24px → 20px
   bottom quote scales 26px → 22px
   bottom quote wraps */
@media (max-width: 1199px) and (min-width: 835px){
  .quote-top{
    font-size: clamp(1.25rem, 3vw, 1.5rem); /* 20px → 24px */
  }

  .quote-bottom{
    font-size: clamp(1.375rem, 2.25vw, 1.625rem); /* 22px → 26px */
    white-space: normal;
  }
}

/* 834px and under */
@media (max-width: 834px){
  .quote-top{
    font-size: 1.125rem; /* 18px */
  }

  .quote-bottom{
    font-size: 1.375rem; /* 22px */
  }
}

/* keep one line only when there is truly enough room */
@media (min-width: 1660px){
  .quote-bottom{
    white-space: nowrap;
  }
}

.quote-highlight{
  font-weight: 600;
  white-space: nowrap;
}

/* =========================================================
   Mission Typography (scoped override vs global Body = 500)
   ========================================================= */

.mission-text,
.mission-text .elementor-widget-container,
.mission-text p,
.mission-text span{
  font-family: "Open Sans", sans-serif;
  font-size: clamp(17px, 1.1vw, 19px);
  line-height: 1.7;
  font-weight: 400 !important;
  letter-spacing: 0.01em;
  color: rgba(0,0,0,0.85);
}

.mission-text{
  max-width: 42rem;
  margin-bottom: clamp(28px, 4vw, 60px);
}

.mission-text p{ 
  margin: 0; 
}

/* Keep mission text from collapsing too narrow
   only in the 1500px–835px band */
@media (max-width: 1500px) and (min-width: 835px){
  .mission-text,
  .mission-text .elementor-widget-container,
  .mission-text p{
    min-width: 37.5rem;
  }
}

/* Remove the width protection at tablet portrait and below */
@media (max-width: 834px){
  .mission-text,
  .mission-text .elementor-widget-container,
  .mission-text p,
  .mission-text span{
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
  }
}

/* Only paragraph 3 gets stronger weight */
.mission-box-3,
.mission-box-3 .elementor-widget-container,
.mission-box-3 p,
.mission-box-3 span{
  font-weight: 500 !important;
}

/* =========================================================
   Mission Paragraph “Pill” Rules (Progressive Emphasis)
   ========================================================= */

.mission-box-1,
.mission-box-2,
.mission-box-3{
  position: relative;
  padding: clamp(24px, 3vw, 40px);
  padding-left: clamp(28px, 3.2vw, 46px);
  border-radius: 8px;
  background: transparent;
  border: none;
}

/* Shared pill */
.mission-box-1:before,
.mission-box-2:before,
.mission-box-3:before{
  content: "";
  position: absolute;
  left: 0;
  top: 10%;
  height: 80%;
  border-radius: 999px;
  transition: background-color 250ms ease, width 250ms ease;
}

/* Paragraph 1 — Lightest */
.mission-box-1:before{
  width: 2px;
  background: #9079C7;
}

/* Paragraph 2 — Medium */
.mission-box-2:before{
  width: 3px;
  background: #7457B9;
}

/* Paragraph 3 — Strongest */
.mission-box-3:before{
  width: 4px;
  background: #512DA8;
}

/* ===========================
   Founder CTA Cards (clean)
   =========================== */

.founder-card .elementor-cta__title{
  color: rgba(255,255,255,0.95);
  letter-spacing: 0.01em;
  background: rgba(15,18,28,0.55);
  padding: 0.2em 0.5em;
  border-radius: 6px;
}

/* Disable Founder CTA Hover Effects */
.founder-card .elementor-cta__bg-overlay{ opacity: 0 !important; }
.founder-card:hover .elementor-cta__bg-overlay{ opacity: 0 !important; }

.founder-card .elementor-cta,
.founder-card .elementor-cta *{
  transition: none !important;
}

.founder-card .elementor-cta__bg{
  transform: none !important;
}

/* Control the height of Founder CTA */
@media (max-width: 834px){
  .founder-card .elementor-cta__content{
    min-height: clamp(51.25rem, 110vw, 57.5rem) !important;
  }
}




/* Founder's Center Text — Gold Pill Rule */
.founders-center-text p:first-child{
  position: relative;
  padding-left: 26px;
  font-weight: 500;
  opacity: 1;
}

.founders-center-text p:first-child:before{
  content: "";
  position: absolute;
  left: 0;
  top: 0%;
  height: 99%;
  width: 3px;
  background: #E5A800;
  border-radius: 999px;
}

.founders-center-text p{
  margin: 0 0 1.1em 0;
}

/* Founder Bio block */
.founder-bio{
  background: rgba(255,255,255,0.03);
  border: none;
  border-radius: 10px;
  padding: 20px 22px;
}

.founder-bio p{
  font-size: 16.5px;
  line-height: 1.7;
  color: rgba(255,255,255,0.82);
}


@media (max-width: 1499px) and (min-width: 835px){
  .founder-row{
    display: flex;
    align-items: flex-start;
    gap: 24px;
  }

  .founder-row .founder-card{
    flex: 0 0 22.5rem;
    max-width: 22.5rem;
    width: 22.5rem;
    align-self: flex-start;
  }

  .founder-row .founder-bio{
    flex: 1 1 auto;
    align-self: flex-start;
    height: auto !important;
    min-height: 0 !important;
  }
}


/* ===========================
   Vision Section
   =========================== */

/* Vision Top Narrative — stronger panel surface + full-height gold rule */
.vision-text-top{
  --vision-pad-top: 18px;
  --vision-pad-x: 26px;
  --vision-pad-bottom: 26px;
  --vision-rule-w: 3px;
  --vision-rule-gap: 14px;

  position: relative;
  background: rgba(15,18,28,0.78);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 10px;

  padding: var(--vision-pad-top) var(--vision-pad-x) var(--vision-pad-bottom);
  padding-left: calc(var(--vision-pad-x) + var(--vision-rule-w) + var(--vision-rule-gap));

  width: 100%;
  max-width: 48rem;
}

.vision-text-top::before{
  content: "";
  position: absolute;
  left: var(--vision-pad-x);
  top: var(--vision-pad-top);
  bottom: var(--vision-pad-bottom);
  width: var(--vision-rule-w);
  background: #E5A800;
  border-radius: 999px;
}

.vision-text-top .vision-lead{
  margin: 0;
  font-weight: 500;
  color: rgba(255,255,255,0.92);
}

.vision-text-top .vision-support{
  margin-top: 20px;
}

.vision-text-top .vision-support p{
  margin: 0 0 12px 0;
  font-size: 15.5px;
  line-height: 1.65;
  font-weight: 400;
  color: rgba(255,255,255,0.82);
}

.vision-text-top .vision-support p:last-child{
  margin-bottom: 0;
}

/* Global top container right padding rule */
.vision-top{
  padding-right: 0 !important;
}

/* 1500px and up */
@media (min-width: 1500px){
  .vision-text-top{
    min-width: 48rem !important;
  }
}

/* 1499 down to 835 */
@media (max-width: 1499px) and (min-width: 835px){
  .vision-top{
    padding-left: 0 !important;
  }

  .vision-text-top{
    min-width: 48rem !important;
  }
}

/* 834px down to 768px: top narrative container full width */
@media (max-width: 834px) and (min-width: 768px){
  .vision-top{
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
  }

  .vision-text-top{
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
  }
}

/* 834px and below: top narrative goes full width */
@media (max-width: 834px){
  .vision-top{
    padding-left: 0 !important;
  }

  .vision-text-top{
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
  }
}

/* ===========================
   Vision Bottom — Accordion + Video Layout
   =========================== */

.vision-text-bottom{
  max-width: 46ch;
  margin-bottom: 5px;
}

.vision-text-bottom h4{
  margin: 0 0 5px 0;
  font-size: 20px;
  line-height: 1.75;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: rgba(255,255,255,0.90);
  background: rgba(15,18,28,0.70);
  padding: 18px 22px;
  border-radius: 10px 10px 4px 4px;
  border: 1px solid rgba(81,45,168,0.14);
  border-bottom-color: rgba(81,45,168,0.10);
  box-shadow: 0 8px 20px rgba(0,0,0,0.24);
}

/* Vision top & bottom text-shadow */
.vision-text-top *,
.vision-text-bottom *{
  text-shadow: 0 4px 10px rgba(0,0,0,0.7) !important;
}

.vision-bottom{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(16px, 1.8vw, 22px);
}

/* Left accordion column */
.vision-bottom__left{
  flex: 1 1 715px;
  max-width: 715px;
  min-width: 0;
}

/* Right video column */
.vision-bottom__right{
  flex: 1 1 720px;
  max-width: 720px;
  min-width: 0;
  border: 2px solid #E5A800;
  border-radius: 10px;
  padding: 5px 5px 6px 5px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.24);
  background: rgba(15,18,28,0.12);
}

/* 16:9 video frame */
.vision-bottom__right .elementor-wrapper{
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  overflow: hidden;
  background: #000;
}

/* Make iframe fill the frame */
.vision-bottom__right .elementor-wrapper iframe,
.vision-bottom__right .elementor-wrapper .elementor-video{
  width: 100%;
  height: 100%;
}

@media (min-width: 1025px){
  .vision-bottom__right.is-sticky{
    position: sticky;
    top: 110px;
  }
}

/* 1199 down to 835: stacked, reduced width, left aligned */
@media (max-width: 1199px) and (min-width: 835px){
  .vision-bottom{
    flex-wrap: wrap;
    gap: 24px;
    justify-content: flex-start;
  }

  .vision-bottom__left,
  .vision-bottom__right{
    flex: 0 0 80%;
    max-width: 80%;
    margin-left: 0;
    margin-right: 0;
  }

  .vision-bottom__right{
    padding: 5px;
  }

  .vision-bottom__right .elementor-wrapper{
    aspect-ratio: 16 / 9;
  }
}

/* Base stacked mobile/tablet portrait behavior */
@media (max-width: 834px){
  .vision-bottom{
    flex-wrap: wrap;
    gap: 24px;
  }

  .vision-bottom__left,
  .vision-bottom__right{
    flex: 1 1 100%;
    max-width: 100%;
  }

  .vision-bottom__right{
    padding: 5px;
  }

  .vision-bottom__right .elementor-wrapper{
    aspect-ratio: 16 / 9;
  }
}

/* ===========================
   Vision Bottom — Accordion Shell
   =========================== */

.vision-bottom .e-n-accordion{
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 0;
}

.vision-bottom .e-n-accordion-item{
  background: rgba(15,18,28,0.80);
  border: 1px solid rgba(81,45,168,0.10);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0,0,0,0.24);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: background 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.vision-bottom .e-n-accordion-item:first-child{
  border-radius: 4px 4px 10px 10px;
}

.vision-bottom .e-n-accordion-item[open]{
  background: rgba(15,18,28,0.84);
  border-color: rgba(81,45,168,0.16);
  box-shadow: 0 10px 24px rgba(0,0,0,0.28);
}

.vision-bottom .e-n-accordion-item-title,
.elementor-widget-n-accordion .vision-bottom .e-n-accordion-item-title{
  border: none !important;
  box-shadow: none !important;
}

.vision-bottom .e-n-accordion-item-title{
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 22px 22px 28px;
  cursor: pointer;
  background: rgba(81,45,168,0);
  transition: background-color 260ms ease, color 220ms ease;
}

.elementor-widget-n-accordion .e-n-accordion-item-title{
  padding: 22px 22px 22px 28px !important;
}

.vision-bottom .e-n-accordion-item-title:hover{
  background: rgba(81,45,168,0.82);
}

.vision-bottom .e-n-accordion-item[open] > .e-n-accordion-item-title{
  background: #512DA8;
}

.vision-bottom .e-n-accordion-item-title::-webkit-details-marker{
  display: none;
}

.vision-bottom .e-n-accordion-item-title-header{
  flex: 1 1 auto;
  min-width: 0;
  padding-right: 12px;
}

.vision-bottom .e-n-accordion-item-title-text{
  font-family: "Open Sans", sans-serif;
  font-size: 18px !important;
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: rgba(255,255,255,0.94);
  text-shadow: 0 4px 10px rgba(0,0,0,0.55);
  transition: color 220ms ease;
}

.vision-bottom .e-n-accordion:has(.e-n-accordion-item[open]) .e-n-accordion-item:not([open]) .e-n-accordion-item-title-text{
  color: rgba(255,255,255,0.80);
}

.vision-bottom .e-n-accordion-item[open] .e-n-accordion-item-title-text{
  color: rgba(255,255,255,0.96);
}

.vision-bottom .e-n-accordion-item-title-icon{
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  margin-left: auto;
  position: relative;
  color: transparent;
}

.vision-bottom .e-n-accordion-item-title-icon .e-opened,
.vision-bottom .e-n-accordion-item-title-icon .e-closed{
  display: none !important;
}

.vision-bottom .e-n-accordion-item-title-icon::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 11px;
  height: 11px;
  border-right: 1.8px solid rgba(255,255,255,0.82);
  border-bottom: 1.8px solid rgba(255,255,255,0.82);
  transform: translate(-50%, -58%) rotate(45deg);
  transition: transform 240ms ease, border-color 240ms ease;
}

.vision-bottom .e-n-accordion-item[open] .e-n-accordion-item-title-icon::before{
  transform: translate(-50%, -42%) rotate(-135deg);
  border-color: rgba(255,255,255,0.94);
}

.vision-bottom .e-n-accordion-item > [role="region"]{
  padding: 0 22px 22px 28px;
  border-top: 1px solid rgba(81,45,168,0.10);
  background: #FAF8ED;
}

.vision-bottom .e-n-accordion-item-title:hover .e-n-accordion-item-title-text{
  color: rgba(255,255,255,0.98);
}

.vision-bottom .e-n-accordion-item-title:focus-visible{
  outline: 2px solid rgba(229,168,0,0.55);
  outline-offset: -2px;
  border-radius: 10px;
}

@media (max-width: 767px){
  .vision-bottom .e-n-accordion{
    gap: 10px;
  }

  .vision-bottom .e-n-accordion-item-title{
    padding: 18px 18px 18px 26px;
  }

  .elementor-widget-n-accordion .e-n-accordion-item-title{
    padding: 18px 18px 18px 26px !important;
  }

  .vision-bottom .e-n-accordion-item > [role="region"]{
    padding: 0 18px 18px 26px;
  }

  .vision-bottom .e-n-accordion-item-title-text{
    font-size: 18px;
    line-height: 1.4;
  }

  .vision-bottom .e-n-accordion-item:first-child{
    border-radius: 4px 4px 10px 10px;
  }
}

/* ===========================
   Vision Bottom — Accordion Expanded Content
   =========================== */

.vision-bottom .vision-acc-body{
  padding-top: 0;
}

.vision-bottom .vision-acc-summary{
  margin: 0 -22px 18px -28px;
  padding: 14px 22px 14px 28px;
  font-family: "Open Sans", sans-serif;
  font-size: 16.5px;
  line-height: 1.65;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.003em;
  color: #122222;
  text-shadow: none !important;
  border-radius: 0;
  background: #E7E3F4;
  border-bottom: 1px solid rgba(81,45,168,0.14);
}

.vision-bottom .vision-acc-copy{
  margin-top: 14px;
}

.vision-bottom .vision-acc-copy p{
  margin: 0 0 14px 0;
  font-family: "Open Sans", sans-serif;
  font-size: 15.5px;
  line-height: 1.72;
  font-weight: 400;
  letter-spacing: 0.002em;
  color: #122222;
  text-shadow: none !important;
}

.vision-bottom .vision-acc-copy p:last-child{
  margin-bottom: 0;
}

.vision-bottom .vision-acc-subhead{
  margin: 22px 0 10px 0;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: none;
  color: #512DA8;
  text-shadow: none !important;
}

.vision-bottom .vision-acc-list{
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.vision-bottom .vision-acc-list li{
  display: grid;
  grid-template-columns: 8px 1fr;
  column-gap: 8px;
  align-items: start;
  margin: 0 0 5px 0;
  font-family: "Open Sans", sans-serif;
  font-size: 15px;
  line-height: 1.68;
  font-weight: 400;
  color: #122222;
  text-shadow: none !important;
}

.vision-bottom .vision-acc-list li:last-child{
  margin-bottom: 0;
}

.vision-bottom .vision-acc-list li::before{
  content: "•";
  color: #122222;
  font-size: 1.4em;
  line-height: 1.2;
}

@media (max-width: 767px){
  .vision-bottom .vision-acc-summary{
    margin: 0 -18px 18px -26px;
    padding: 12px 18px 12px 26px;
    font-size: 16px;
    line-height: 1.62;
    background: #ECE9F6;
  }

  .vision-bottom .vision-acc-copy p,
  .vision-bottom .vision-acc-list li{
    font-size: 15px;
    line-height: 1.68;
  }

  .vision-bottom .vision-acc-subhead{
    font-size: 14px;
  }
}

/* ===========================
   Vision Bottom — Accordion + Video Layout -- END
   =========================== */


   
/* ===========================
   Contact — Left column type
   (cleaned + updated)
   =========================== */

.contact-left{ max-width: 62ch; }

/* Base spacing for text blocks */
.contact-left p{ margin: 0 0 1.1em 0; }

/* Lead intro */
.contact-lead{
  font-size: clamp(17px, 1.15vw, 19px);
  line-height: 1.7;
  font-weight: 400;
  color: rgba(0,0,0,0.82);
}

/* Action list (bullets) */
.contact-list{
  margin: 0.6em 0 1.4em 1.2em;
  padding: 0;
}

.contact-list li{
  margin: 0.55em 0;
  font-size: 16.5px;
  line-height: 1.7;
  color: rgba(0,0,0,0.82);
}

/* Label emphasis inside bullets */
.contact-list strong{
  font-weight: 600;
  color: rgba(0,0,0,0.86);
}

/* Direct contact line */
.contact-direct{
  font-size: 16.5px;
  line-height: 1.7;
  font-weight: 400;
  color: rgba(0,0,0,0.78);
  margin-bottom: 0;
}

/* Links (unchanged behavior) */
.contact-left a{
  color: #512DA8;
  text-decoration: none;
  font-weight: 600;
}

.contact-left a:hover{
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

/* ===========================
   Contact Form: Shell + Panel
   =========================== */

.contact-form-shell{
  border: 2px solid rgba(81,45,168,0.70);
  border-radius: 10px;
  padding: clamp(18px, 2.4vw, 28px);
  background: transparent;
}

.contact-form-panel{
  background: rgba(15,18,28,0.04);
  border-radius: 10px;
  padding: clamp(18px, 2.2vw, 26px);
}

/* Fallback if panel container not used */
.contact-form-shell .elementor-form{
  background: rgba(15,18,28,0.04);
  border-radius: 10px;
  padding: clamp(18px, 2.2vw, 26px);
}

.contact-form-shell .elementor-field-group .elementor-field{
  border-radius: 10px;
  background: rgba(255,255,255,0.55);
  border: 1px solid rgba(0,0,0,0.14);
  padding: 12px 14px;
}

.contact-form-shell .elementor-field-group .elementor-field:focus{
  outline: none;
  border-color: rgba(81,45,168,0.55);
  box-shadow: 0 0 0 3px rgba(81,45,168,0.12);
}

/* ===========================
   Contact Form Button
   default → purple hover
   =========================== */

.contact-form-shell .elementor-field-type-submit .elementor-button,
.contact-form-shell .elementor-button{
  border-radius: 10px !important;
  letter-spacing: 0.06em;
  padding: 12px 22px;
  transition: background-color 520ms cubic-bezier(.2,.8,.2,1),
              border-color 520ms cubic-bezier(.2,.8,.2,1),
              color 520ms cubic-bezier(.2,.8,.2,1),
              box-shadow 520ms cubic-bezier(.2,.8,.2,1);
}

.contact-form-shell .elementor-field-type-submit .elementor-button:hover,
.contact-form-shell .elementor-button:hover{
  background-color: #512DA8 !important;
  border-color: #512DA8 !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(0,0,0,0.14);
}

@media (prefers-reduced-motion: reduce){
  .contact-form-shell .elementor-field-type-submit .elementor-button,
  .contact-form-shell .elementor-button{
    transition: none !important;
  }
}

/* Contact: stack the two main inner containers at 1199px and below */
@media (max-width: 1199px){
  .contact-row{
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .contact-row > *{
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}

/* Contact: stacked layout spacing refinements at 1199px and below */
@media (max-width: 1199px){
  .contact-row > .contact-left{
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
  }

  .contact-row > .contact-form-shell,
  .contact-row > .contact-form-wrap,
  .contact-row > .contact-form-panel{
    margin-top: 24px !important;
  }
}

/* Contact: tablet portrait and below */
@media (max-width: 834px){
  .contact-title h2,
  .contact-title .elementor-heading-title{
    font-size: 3.5rem !important;
  }
}

@media (max-width: 834px){
  .contact-left{
    max-width: 68ch;
  }
}

/* Contact: submission success styling*/

.elementor-kit-11 .elementor-message.elementor-message-success.elementor-message-svg {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  margin: 12px 0 0;
  padding: 14px 16px;
  border: none;
  border-radius: 10px;
  background: rgba(81, 45, 168, 0.06);
  color: #2B2B2B;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}

.elementor-kit-11 .elementor-message.elementor-message-success.elementor-message-svg::before {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin: 0;
  position: relative;
  top: 1px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 18 18' fill='none'><path d='M7.2 12.6 3.9 9.3l-1.2 1.2L7.2 15l8.1-8.1-1.2-1.2-6.9 6.9Z' fill='%23008A20'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
}

/* Contact: hide reCAPTCHA v3 and styling*/
.grecaptcha-badge {
  visibility: hidden !important;

}

.elementor-kit-11 .elementor-field-group #form-field-field_1ccb7a6 {
    border: none !important;
  border-width: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}

.recaptcha-notice {
  margin-top: 10px;
  font-family: "Open Sans", sans-serif;
  font-size: 12px;
  line-height: 1.5;
  color: #2B2B2B;
}

.recaptcha-notice a {
  color: inherit;
  text-decoration: none;
}

.recaptcha-notice a:hover,
.recaptcha-notice a:focus {
  color: inherit;
  text-decoration: underline;
}

/* ===========================
   BFF Footer - Responsive
   =========================== */

.bff-footer-text{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
  width: 100%;
  text-align: center;
  color: #111111;
  font-size: 0.95rem;
  line-height: 1.5;
}

.bff-footer-foundation{
  font-family: "Playfair Display", serif;
  color: #111111;
}

.bff-footer-sep{
  font-family: "Open Sans", sans-serif;
  color: rgba(17,17,17,0.6);
}

.bff-footer-credit,
.bff-footer-credit a{
  font-family: "Open Sans", sans-serif;
  color: #111111;
  text-decoration: none;
}

.bff-footer-credit a:hover{
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 767px){
  .bff-footer-text{
    gap: 0.25rem;
    font-size: 0.9rem;
  }
}


/* Hide footer tree above 1199 */
@media (min-width: 1200px){
  .bff-footer{
    background-image: none !important;
  }
}

/* Hide contact tree and show footer tree at 1199 and below */
@media (max-width: 1199px){
  .contact-section{
    background-image: none !important;
  }

  .bff-footer{
    background-repeat: no-repeat !important;
    background-position: bottom right !important;
    background-size: contain !important;
  }
}

/* Footer tree hidden on desktop if needed */
@media (min-width: 1200px){
  .bff-footer{
    background-size: 8% auto !important;
    background-position: bottom right !important;
    background-repeat: no-repeat !important;
  }
}

/* At 1199 and below, show footer tree and scale it down gradually */
@media (max-width: 1199px){
  .bff-footer{
    background-size: clamp(72px, 8vw, 120px) auto !important;
    background-position: bottom right !important;
    background-repeat: no-repeat !important;
  }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Open Sans';
	font-display: auto;
	src: url('https://baylorfamilyfoundation.org/wp-content/uploads/2025/11/OpenSans-VariableFont_wdthwght.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Playfair Display';
	font-display: auto;
	src: url('https://baylorfamilyfoundation.org/wp-content/uploads/2025/11/PlayfairDisplay-VariableFont_wght.ttf') format('truetype');
}
/* End Custom Fonts CSS */