.elementor-2015 .elementor-element.elementor-element-11c592d{--display:flex;--min-height:0px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2015 .elementor-element.elementor-element-c1a8052{width:100%;max-width:100%;}.elementor-2015 .elementor-element.elementor-element-c1a8052 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2015 .elementor-element.elementor-element-1cc9183{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--overlay-opacity:0.66;}.elementor-2015 .elementor-element.elementor-element-1cc9183::before, .elementor-2015 .elementor-element.elementor-element-1cc9183 > .elementor-background-video-container::before, .elementor-2015 .elementor-element.elementor-element-1cc9183 > .e-con-inner > .elementor-background-video-container::before, .elementor-2015 .elementor-element.elementor-element-1cc9183 > .elementor-background-slideshow::before, .elementor-2015 .elementor-element.elementor-element-1cc9183 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2015 .elementor-element.elementor-element-1cc9183 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-2015 .elementor-element.elementor-element-2fdf93f{width:100%;max-width:100%;}.elementor-2015 .elementor-element.elementor-element-2fdf93f > .elementor-widget-container{background-color:#000000;background-image:url("https://i0.wp.com/gameplanlife.org/wp-content/uploads/2026/01/IMG_8802.webp?fit=828%2C611&ssl=1");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-2015 .elementor-element.elementor-element-2fdf93f.ha-has-bg-overlay:hover > .elementor-widget-container::before{transition:background 0.3s;}.elementor-2015 .elementor-element.elementor-element-b1dc698{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2015 .elementor-element.elementor-element-0b04f25{width:100%;max-width:100%;}.elementor-2015 .elementor-element.elementor-element-0b04f25 > .elementor-widget-container{margin:-50px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2015 .elementor-element.elementor-element-d197c86{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-2015 .elementor-element.elementor-element-685e9c6{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-2015 .elementor-element.elementor-element-f9c9b0a{width:100%;max-width:100%;}.elementor-2015 .elementor-element.elementor-element-3622b7e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:-50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:0;}.elementor-2015 .elementor-element.elementor-element-994f910{width:100%;max-width:100%;}.elementor-2015 .elementor-element.elementor-element-c1ba122{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-2015 .elementor-element.elementor-element-4ac2a76{width:100%;max-width:100%;}.elementor-2015 .elementor-element.elementor-element-3668c00{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-2015 .elementor-element.elementor-element-4e711c0{width:100%;max-width:100%;}.elementor-2015 .elementor-element.elementor-element-cb835ec{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2015 .elementor-element.elementor-element-b0f9f93{width:100%;max-width:100%;}.elementor-2015 .elementor-element.elementor-element-b0f9f93 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}:root{--page-title-display:none;}@media(min-width:1025px){.elementor-2015 .elementor-element.elementor-element-2fdf93f > .elementor-widget-container{background-attachment:fixed;}}/* Start custom CSS for html, class: .elementor-element-c1a8052 */:root{
    --gpl-gold:#d4af37;

    /* mental-health calm palette */
    --mh-teal:#2aa9a1;
    --mh-blue:#1f6feb;
    --mh-navy:#0b2a3a;
    --mh-green:#2fbf71;

    /* neutrals */
    --ink:#0f172a;
    --muted:#475569;
    --bg:#f6f7fb;
    --card:#ffffff;
    --line:#e5e7eb;

    /* accessibility */
    --focus: 0 0 0 3px rgba(31,111,235,.25);
    --radius: 16px;
    --shadow: 0 12px 30px rgba(15, 23, 42, .08);
  }

  .empoweru-wrap{ font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--ink); }
  .empoweru-wrap *{ box-sizing:border-box; }

  .emp-section{
    width:100%;
    padding: clamp(44px, 5vw, 84px) 0;
    background: var(--card);
  }
  .emp-section.is-alt{ background: var(--bg); }
  .emp-container{
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
  }

  .emp-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-weight:700;
    letter-spacing:.02em;
    color: var(--mh-navy);
    text-transform: uppercase;
    font-size: 12px;
  }
  .emp-dot{
    width:10px; height:10px; border-radius:999px;
    background: linear-gradient(135deg, var(--gpl-gold), var(--mh-teal));
    box-shadow: 0 6px 18px rgba(212,175,55,.25);
  }

  .emp-h1{
    font-size: clamp(36px, 5vw, 56px);
    line-height: 1.05;
    margin: 14px 0 10px;
    letter-spacing:-0.02em;
  }
  .emp-h2{
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.15;
    margin: 0 0 14px;
    letter-spacing:-0.015em;
  }
  .emp-h3{
    font-size: clamp(20px, 2.3vw, 26px);
    line-height: 1.2;
    margin: 0 0 10px;
  }
  .emp-sub{
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.55;
    color: var(--muted);
    margin: 0;
  }
  .emp-p{
    font-size: 16px;
    line-height: 1.7;
    color: var(--muted);
    margin: 0;
  }
  .emp-lead{
    font-size: 18px;
    line-height: 1.75;
    color: var(--muted);
    margin: 10px 0 0;
  }

  .emp-card{
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
  }
  .emp-card-pad{ padding: clamp(18px, 2.5vw, 28px); }

  .emp-grid{ display:grid; gap: 20px; }
  .emp-grid.two{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .emp-grid.three{ grid-template-columns: repeat(3, minmax(0,1fr)); }

  @media (max-width: 900px){
    .emp-grid.two, .emp-grid.three{ grid-template-columns: 1fr; }
  }

  .emp-badges{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
  .emp-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border-radius:999px;
    border:1px solid var(--line);
    background: rgba(42,169,161,.08);
    color: var(--mh-navy);
    font-weight:650;
    font-size:14px;
  }
  .emp-badge i{
    width:10px; height:10px; border-radius:999px;
    background: var(--mh-teal);
    box-shadow: 0 6px 16px rgba(42,169,161,.25);
    display:inline-block;
  }

  .emp-list{ margin: 14px 0 0; padding-left: 18px; color: var(--muted); line-height:1.7; }
  .emp-list li{ margin: 8px 0; }
  .emp-list strong{ color: var(--ink); }

  .emp-divider{
    width: 86px; height: 6px; border-radius:999px;
    background: linear-gradient(90deg, var(--gpl-gold), var(--mh-teal), var(--mh-blue));
    margin: 14px 0 0;
  }

  .emp-btns{ display:flex; justify-content:center; flex-wrap:wrap; gap:14px; margin-top:22px; }
  .emp-btn{
    display:inline-flex; align-items:center; justify-content:center;
    padding: 14px 18px;
    border-radius: 14px;
    font-weight:800;
    text-decoration:none;
    border: 1px solid transparent;
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
    outline:none;
    min-width: 220px;
  }
  .emp-btn:focus{ box-shadow: var(--focus); }
  .emp-btn.primary{
    color: #0b1220;
    background: linear-gradient(135deg, var(--gpl-gold), #ffd775);
    box-shadow: 0 18px 38px rgba(212,175,55,.22);
  }
  .emp-btn.primary:hover{ transform: translateY(-1px); box-shadow: 0 24px 50px rgba(212,175,55,.26); }
  .emp-btn.secondary{
    color: var(--mh-navy);
    background: rgba(31,111,235,.08);
    border-color: rgba(31,111,235,.25);
  }
  .emp-btn.secondary:hover{ transform: translateY(-1px); background: rgba(31,111,235,.12); }

  /* HERO */
  .emp-hero{
    padding: clamp(54px, 7vw, 110px) 0;
    background:
      radial-gradient(900px 380px at 20% 20%, rgba(42,169,161,.22), transparent 60%),
      radial-gradient(900px 380px at 80% 30%, rgba(31,111,235,.20), transparent 60%),
      radial-gradient(700px 360px at 60% 80%, rgba(47,191,113,.14), transparent 60%),
      linear-gradient(180deg, #ffffff, var(--bg));
    position: relative;
    overflow: hidden;
  }
  .emp-hero .emp-container{ text-align:center; }
  .emp-hero .emp-h1 span{
    background: linear-gradient(90deg, var(--mh-navy), var(--mh-teal));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .emp-hero-pill{
    display:inline-flex; align-items:center; gap:10px;
    padding: 10px 14px;
    border-radius:999px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.8);
    box-shadow: 0 10px 26px rgba(15,23,42,.06);
  }
  .emp-hero-pill b{ color: var(--mh-navy); }
  .emp-hero-note{
    margin: 18px auto 0;
    max-width: 920px;
    background: rgba(42,169,161,.08);
    border: 1px solid rgba(42,169,161,.22);
    border-radius: var(--radius);
    padding: 14px 16px;
    color: var(--mh-navy);
    font-weight:650;
  }

  /* IMAGE PLACEHOLDER */
  .emp-media{
    border-radius: var(--radius);
    border: 1px solid var(--line);
    overflow:hidden;
    background: linear-gradient(135deg, rgba(42,169,161,.12), rgba(31,111,235,.10));
    min-height: 320px;
    position: relative;
  }
  .emp-media .ph{
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    padding: 26px;
    text-align:center;
    color: rgba(11,42,58,.75);
    font-weight:800;
  }
  .emp-media small{
    display:block;
    font-weight:700;
    opacity:.85;
    margin-top:8px;
  }

  /* CALLOUT */
  .emp-callout{
    margin-top: 14px;
    padding: 16px 18px;
    border-radius: var(--radius);
    border: 1px solid rgba(212,175,55,.35);
    background: linear-gradient(135deg, rgba(212,175,55,.14), rgba(42,169,161,.08));
    color: var(--mh-navy);
    font-weight:700;
  }

  /* CTA DARK */
  .emp-cta{
    background:
      radial-gradient(700px 340px at 20% 30%, rgba(42,169,161,.22), transparent 65%),
      radial-gradient(700px 340px at 80% 40%, rgba(31,111,235,.18), transparent 65%),
      linear-gradient(180deg, #061a24, #071724);
    color: #fff;
  }
  .emp-cta .emp-sub, .emp-cta .emp-p{ color: rgba(255,255,255,.78); }
  .emp-cta .emp-divider{ opacity: .95; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2fdf93f *//* =========================================
   PROGRAMS HERO (clean + reliable)
   Uses CSS variable --hero-bg from the section style attribute
   ========================================= */
#programs-top{
  padding: 120px 0 !important; /* try 70–100 */
}

#programs-top.gpl-programs-hero{
  position: relative;
  overflow: hidden;
  /* Background */
  background-color: #0000;
  background-image: var(--hero-bg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;

  /* Spacing */
  padding: 120px 0;
}

/* If Elementor adds a background overlay div, kill it so our ::before is the only overlay */
#programs-top.gpl-programs-hero > .elementor-background-overlay{
  background: elementor-background-overlay !important;
  opacity: 0 !important;
}


/* Single, consistent overlay */
#programs-top.gpl-programs-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.45); /* .35 lighter | .60 darker */
  z-index: 1;
  pointer-events:none;
}

/* Remove any accidental theme overlays */
#programs-top.gpl-programs-hero::after{
  content:none !important;
  display:none !important;
}

/* Content above overlay */
#programs-top.gpl-programs-hero .emp-container{
  position: relative;
  z-index: 2;
  text-align: left;
}

/* Left align pill + buttons */
#programs-top.gpl-programs-hero .emp-hero-pill,
#programs-top.gpl-programs-hero .emp-btns{
  justify-content: flex-start;
  text-align: left;
}

/* Readability */
#programs-top.gpl-programs-hero .emp-hero-pill,
#programs-top.gpl-programs-hero .emp-h1,
#programs-top.gpl-programs-hero .emp-sub{
  color:#fff;
}

/* Spacing fixes */
#programs-top.gpl-programs-hero .emp-hero-pill{ margin-bottom: 10px; }
#programs-top.gpl-programs-hero .emp-h1{ margin: 10px 0 20px; }
#programs-top.gpl-programs-hero .emp-sub{ margin: 0 0 18px; max-width: 760px; }

/* Sub text sizing */
#programs-top.gpl-programs-hero .emp-sub{
  font-size: 20px;
  line-height: 1.6;
}
@media (min-width: 992px){
  #programs-top.gpl-programs-hero .emp-sub{
    font-size: 22px;
  }
}/* End custom CSS */
/* Start custom CSS */.ph--media{
  position: relative;
  width: 100%;
  height: 580px;              /* adjust as needed */
  border-radius: 16px;
  overflow: hidden;
  background: #111;           /* fallback while loading */
}

.ph--media img{
  width: 100%;
  height: 100%;
  object-fit: cover;          /* key: fills area nicely */
  object-position: right;    /* adjust: center / top / 50% 30% etc */
  display: block;
}

.ph--media small{
  position: absolute;
  left: 14px;
  bottom: 12px;
  padding: 6px 10px;
  border-radius: 10px;
  background: rgba(0,0,0,.55);
  color: #fff;
  font-size: 13px;
  line-height: 1.2;
  max-width: calc(100% - 28px);
}

  /* Force the 2-col grid to be truly even */
  .emp-grid.two{
    display:grid !important;
    grid-template-columns: 1fr 1fr !important; /* 50/50 */
    gap: 28px !important;
    align-items: stretch !important;           /* equal height columns */
  }

  /* Make both column wrappers stretch */
  .emp-grid.two > .emp-media,
  .emp-grid.two > .emp-card{
    min-width: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  /* If emp-card uses padding class, keep it but ensure full height */
  .emp-grid.two > .emp-card.emp-card-pad{
    display:flex !important;
    flex-direction: column !important;
  }

  /* IMPORTANT: your gplc-hero is currently a full-width hero block.
     Make it behave like a normal card inside the RIGHT column. */
  .emp-grid.two .gplc-hero{
    min-height: auto !important;
    padding: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }
  .emp-grid.two .gplc-hero::before{ display:none !important; }

  /* Optional: if you want the right content to start at the same top line */
  .emp-grid.two .gplc-hero-content{
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    max-width: 100% !important;
  }

  /* Keep your image looking good while NOT breaking column sizing */
  .emp-grid.two .ph.ph--media{
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Mobile: stack */
  @media (max-width: 980px){
    .emp-grid.two{ grid-template-columns: 1fr !important; }
  }

  .emp-callout{
    border: 1px solid rgba(0,0,0,.08);
    background: rgba(212,175,55,.08);
    border-radius: 14px;
    padding: 14px 16px;
    line-height: 1.65;
  }

  /* Before the colon */
  .emp-callout__label{
    display: inline-block;
    font-weight: 900;
    color: #111;
    letter-spacing: -0.01em;
    margin-right: 8px;
  }

  /* After the colon */
  .emp-callout__text{
    color: #555;
    font-weight: 600;
  }/* End custom CSS */