@charset "UTF-8";
/* Local font: DaxlinePro */
@font-face {
  font-family: "DaxlinePro";
  src: url("../font/DaxlinePro-Thin.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DaxlinePro";
  src: url("../font/DaxlinePro-Thin-Italic.ttf") format("truetype");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "DaxlinePro";
  src: url("../font/DaxlinePro-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DaxlinePro";
  src: url("../font/DaxlinePro-Light-Italic.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "DaxlinePro";
  src: url("../font/DaxlinePro-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DaxlinePro";
  src: url("../font/DaxlinePro-Regular-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "DaxlinePro";
  src: url("../font/DaxlinePro-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DaxlinePro";
  src: url("../font/DaxlinePro-Medium-Italic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "DaxlinePro";
  src: url("../font/DaxlinePro-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DaxlinePro";
  src: url("../font/DaxlinePro-Bold-Italic.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
/* Modern CSS Reset (opinionated, minimal) */
*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Font weight utilities */
.u-light {
  font-weight: 300;
}

.u-regular {
  font-weight: 400;
}

.u-medium {
  font-weight: 500;
}

.u-bold {
  font-weight: 700;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  font-family: "DaxlinePro", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

/* XD typography specs */
h1 {
  font-weight: 500;
  font-size: 2.333rem; /* 42px @ 18px base */
  line-height: 1.238; /* 52 / 42 */
  letter-spacing: 0.01em; /* 0.42px on 42px */
  color: #fff;
}

h2 {
  font-weight: 500;
  font-size: 2.111rem; /* 38px */
  line-height: 1.342; /* 51 / 38 */
  letter-spacing: 0.01em; /* 0.38px on 38px */
  color: #E41A2E;
}

h3 {
  font-weight: 500;
  font-size: 1.889rem; /* 34px */
  line-height: 1.294; /* 44 / 34 */
  letter-spacing: 0.01em; /* 0.34px on 34px */
  color: #E41A2E;
}

h4 {
  font-weight: 500;
  font-size: 1.444rem; /* 26px */
  line-height: 1.308; /* 34 / 26 */
  letter-spacing: 0.01em; /* 0.26px on 26px */
  color: #E41A2E;
}

h5 {
  font-weight: 400;
  font-size: 1.333rem; /* 24px */
  line-height: 1.208; /* 29 / 24 */
  letter-spacing: 0.01em; /* 0.24px on 24px */
  color: #000;
}

h6 {
  font-weight: 700;
  font-size: 1.111rem; /* 20px */
  line-height: 1.4; /* 28 / 20 */
  letter-spacing: 0.01em; /* 0.20px on 20px */
  color: #000;
}

/* Body text defaults */
body {
  font-size: 1rem; /* 18px base */
  line-height: 1.444; /* 26 / 18 */
  letter-spacing: 0.01em; /* 0.18px on 18px */
  color: #000;
  background: #fff; /* fixed light background */
}

/* Alternate body text */
.text-alt {
  font-family: "DaxlinePro", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  font-size: 1.333rem; /* 24px */
  line-height: 1.333; /* 32 / 24 */
  letter-spacing: 0.01em; /* 0.24px on 24px */
  color: #000;
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
  * {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* Global layout */

/* Buttons */
.btn-white,
.btn-red,
.btn-red-purple,
.btn-red-teal,
.btn-teal {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 2.667rem; /* 48px */
  padding: 0 1.111rem; /* 20px */
  padding-top: 2px; /* optical centering tweak */
  border-radius: 0.222rem; /* 4px */
  font-family: "DaxlinePro", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  font-size: 1rem; /* 18px */
  line-height: 1; /* centers text vertically within fixed height */
  text-decoration: none;
  border: none; /* for <button> elements */
  cursor: pointer;
}

.btn-white {
  background: #fff;
  color: #432844;
}

.btn-red {
  background: #E41A2E;
  color: #fff;
}

.btn-red-purple {
  background: #E41A2E;
  color: #fff;
}

.btn-red-teal {
  background: #E41A2E;
  color: #fff;
}

.btn-teal {
  background: #A9E1DF;
  color: #432844;
}

/* Prevent hover underline and keep colors stable */
.btn-white:hover,
.btn-white:focus,
.btn-white:active {
  text-decoration: none;
  color: white;
  background: #432844;
}

.btn-red:hover,
.btn-red:focus,
.btn-red:active {
  text-decoration: none;
  color: #E41A2E;
  background: white;
}

.btn-red-purple:hover,
.btn-red-purple:focus,
.btn-red-purple:active {
  text-decoration: none;
  color: #A9E1DF;
  background: #432844;
}

.btn-red-teal:hover,
.btn-red-teal:focus,
.btn-red-teal:active {
  text-decoration: none;
  color: #432844;
  background: #A9E1DF;
}

.btn-teal:hover,
.btn-teal:focus,
.btn-teal:active {
  text-decoration: none;
  color: #432844;
  background: white;
}

/* Responsive type scaling for <=1024px */
@media (max-width: 1024px) {
  /* Body text */
  body {
    font-size: 12px;
    line-height: 1.5;
  }
  /* Headings */
  h1 {
    font-size: 30px;
  }
  h2 {
    font-size: 24px;
  }
  h4 {
    font-size: 20px;
  }
  /* Alt text */
  .text-alt {
    font-size: 18px;
    line-height: 1.4;
  }
  /* Buttons */
  .btn-white,
  .btn-red-purple,
  .btn-red,
  .btn-teal {
    font-size: 14px;
  }
}
/* Carousel section */
.section-carousel {
  background-color: #ABA5A6; /* fallback under images */
  width: 1440px;
  height: 628px;
  margin: 0 auto;
  /* Pagination dots: black inactive, red-400 active; add 1px red outline */
}
.section-carousel .splide {
  width: 1440px;
  height: 628px;
  margin: 0 auto;
}
.section-carousel .splide__track {
  height: 100%;
}
.section-carousel .splide__list {
  height: 100%;
}
.section-carousel .splide__list .splide__slide {
  height: 100%;
  position: relative;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.section-carousel .splide__list .splide__slide.slide-1 {
  background-image: url("../img/cic_1_hero_carousel_all_in_together.png");
  background-position: right center;
  /* Slide 1 content box + accent (scoped) */
}
.section-carousel .splide__list .splide__slide.slide-1 .slide-stack {
  position: absolute;
  left: 150px;
  top: 225px;
  width: 535px;
  height: 333px;
}
.section-carousel .splide__list .splide__slide.slide-1 .slide-panel {
  position: absolute;
  left: 0;
  top: 0;
  width: 400px;
  height: 290px;
  border-top-right-radius: 50px;
  /*background: -webkit-gradient(linear, left top, right top, from(#432844), to(#000));
  background: linear-gradient(90deg, #432844 0%, #000 100%);*/
background: rgba(0, 0, 0, 0.6);	
  padding: 35px;
  z-index: 2; /* above accent */
}
.section-carousel .splide__list .splide__slide.slide-1 .slide-panel h1 {
  margin: 0 0 12px 0;
  text-transform: uppercase;
  color: #fff;
}
.section-carousel .splide__list .splide__slide.slide-1 .slide-panel .text-alt {
  color: #fff;
  margin: 0 40px 0 0;
}
.section-carousel .splide__list .splide__slide.slide-1 .slide-panel .slide-cta {
  position: absolute;
  left: 35px;
  bottom: 35px;
}
.section-carousel .splide__list .splide__slide.slide-1 .slide-accent {
  position: absolute;
  width: 400px;
  height: 290px;
  background: #A9E1DF;
  border-bottom-left-radius: 50px;
  top: 35px; /* 35px down from panel */
  left: -30px; /* 30px left from panel */
  z-index: 1; /* under panel */
}
.section-carousel .splide__list .splide__slide.slide-2 {
  background-image: url("../img/cic_carousel_were_reimagining_the_future.png");
}
.section-carousel .splide__list .splide__slide.slide-2 .slide-stack {
  position: absolute;
  right: 240px;
  top: 245px;
  width: 420px;
  height: 360px;
}
.section-carousel .splide__list .splide__slide.slide-2 .slide-panel {
  position: absolute;
  left: 0;
  top: 0;
  width: 380px;
  height: 320px;
  border-top-right-radius: 50px;
  /*background: -webkit-gradient(linear, left top, right top, from(#432844), to(#000));
  background: linear-gradient(90deg, #432844 0%, #000 100%);*/
	background: rgba(0, 0, 0, 0.6);
  padding: 35px 30px 35px 35px;
  z-index: 2; /* above accent */
}
.section-carousel .splide__list .splide__slide.slide-2 .slide-panel h1 {
  margin: 0 0 12px 0;
  text-transform: uppercase;
  color: #fff;
}
.section-carousel .splide__list .splide__slide.slide-2 .slide-panel .text-alt {
  color: #fff;
  margin: 0 0 16px 0;
}
.section-carousel .splide__list .splide__slide.slide-2 .slide-panel .slide-cta {
  position: absolute;
  left: 35px;
  bottom: 35px;
}
.section-carousel .splide__list .splide__slide.slide-2 .slide-accent {
  position: absolute;
  width: 380px;
  height: 270px;
  background: #A9E1DF;
  border-bottom-right-radius: 50px;
  top: 88px; /* 35px down */
  left: 33px; /* 35px left */
  z-index: 1; /* under panel */
}
.section-carousel .splide__list .splide__slide.slide-3 {
  background-image: url("../img/cic_carousel_redefining_better_outcomes.png");
}
.section-carousel .splide__list .splide__slide.slide-3 .slide-stack {
  position: absolute;
  right: 80px;
  top: 170px;
  width: 430px;
  height: 350px;
}
.section-carousel .splide__list .splide__slide.slide-3 .slide-panel {
  position: absolute;
  left: 0;
  top: 0;
  width: 430px;
  height: 300px;
  border-top-right-radius: 50px;
  /*background: -webkit-gradient(linear, left top, right top, from(#432844), to(#000));
  background: linear-gradient(90deg, #432844 0%, #000 100%);*/
	background: rgba(0, 0, 0, 0.6);
  padding: 35px;
  z-index: 2; /* above accent */
}
.section-carousel .splide__list .splide__slide.slide-3 .slide-panel h1 {
  margin: 0 0 12px 0;
  text-transform: uppercase;
  color: #fff;
}
.section-carousel .splide__list .splide__slide.slide-3 .slide-panel .text-alt {
  color: #fff;
  margin: 0 0 16px 0;
}
.section-carousel .splide__list .splide__slide.slide-3 .slide-panel .slide-cta {
  position: absolute;
  left: 35px;
  bottom: 35px;
}
.section-carousel .splide__list .splide__slide.slide-3 .slide-accent {
  position: absolute;
  width: 400px;
  height: 210px;
  background: #A9E1DF;
  border-bottom-left-radius: 50px;
  top: 127px; /* 45px down */
  left: -35px; /* 35px right */
  z-index: 1; /* under panel */
}
.section-carousel .splide__pagination {
  bottom: 50px;
}
.section-carousel .splide__pagination__page {
  width: 16px;
  height: 16px;
  margin: 6px;
  background: #000;
  opacity: 1;
  border: 1px solid #E41A2E;
  border-radius: 50%;
}
.section-carousel .splide__pagination__page.is-active {
  background: #E41A2E;
  -webkit-transform: none;
          transform: none;
}

/* Hero text section */
.section-herotext {
  text-align: center;
  max-width: 840px;
  width: 100%;
  margin: 0 auto;
  padding-top: 4.16rem; /* ≈75px @ 18px base */
  padding-bottom: 4.16rem; /* ≈75px @ 18px base */
}
.section-herotext p {
  padding-top: 1.1rem;
}

/* Programs & Services section */
.section-programs-services {
  background-image: url("../img/cic_care_you_can_count_ong_prorgrams_services.png");
  background-repeat: no-repeat;
  background-size: 100% auto; /* full width, maintain aspect ratio */
  background-position: top center; /* anchor to top */
  padding-top: 22.4rem; /* ≈403px @ 18px base; pushes content below image area */
  /* Inner content container */
}
.section-programs-services .content-container {
  /* full width except 35px left/right */
  margin: 0 35px;
  /* spacing inside container */
  padding: 3.2rem 3.333rem 3.333rem; /* ≈57.6px top, 60px L/R, 60px bottom */
  background: #fff;
  border-top-right-radius: 2.8rem; /* ≈50.4px */
  /* Four-up modules container */
  /* Separator under modules */
}
.section-programs-services .content-container .content-intro {
  text-align: center;
  margin-bottom: 1.333rem; /* ≈24px */
  max-width: 1075px;
  width: 100%;
  margin: 0 auto;
}
.section-programs-services .content-container .content-intro p {
  padding-top: 1.1rem; /* ≈19.8px */
  padding-bottom: 0.5rem; /* 9px */
}
.section-programs-services .content-container .module-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.15rem; /* ≈20.7px */
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: center;
  margin-top: 1.333rem; /* ≈24px spacing below intro */
}
.section-programs-services .content-container .module-grid .module {
  width: 16.667rem; /* 300px */
  height: 17.222rem; /* 310px */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: transparent;
  overflow: hidden;
}
.section-programs-services .content-container .module-grid .module-header {
  height: 4.444rem; /* ≈80px */
  padding: 0.833rem; /* ≈15px */
  background: -webkit-gradient(linear, left top, right top, from(#432844), to(#000));
  background: linear-gradient(90deg, #432844 0%, #000 100%);
  border-top-right-radius: 2.8rem; /* ≈50.4px */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.section-programs-services .content-container .module-grid .module-title {
  font-size: 1.222rem; /* ≈22px */
  font-weight: 500;
  text-transform: uppercase;
  color: #A9E1DF;
  line-height: 1.1;
  letter-spacing: 0.02em;
}
.section-programs-services .content-container .module-grid .module-title .arrow {
  margin-left: 0.5rem;
  height: 0.7em;
  width: auto;
  vertical-align: 0em;
  display: inline-block;
}
.section-programs-services .content-container .module-grid .module-body {
  background: #E9E6E3;
  padding: 1.111rem 0.833rem 0; /* ≈20px top, ≈15px sides */
  height: 12.5rem; /* 225px */
  color: #000;
}
.section-programs-services .content-container .module-grid .module-body ul {
  margin: 0;
  padding-left: 1rem;
  list-style: disc;
}
.section-programs-services .content-container .module-grid .module-body li {
  margin: 0;
  padding: 0;
  line-height: 1.6;
}
.section-programs-services .content-container .module-grid .module-body a {
  color: #000;
  text-decoration: underline;
}
.section-programs-services .content-container .modules-separator {
  display: block;
  margin: 3.15rem 0 0; /* ≈56.7px top spacing */
  border: 0;
  height: 0;
  border-top: 1px solid #CEC8C6;
  /* same width as four modules + three gaps (formula uses 1.389rem gap ≈25px) */
  width: 70.835rem;
}

/* Careers section */
.section-careers {
  padding-top: 8px;
  padding-bottom: 110px;
  /* Gray base under right content; extends beneath image */
  /* Left: hero image */
  /* Right: content on gray base */
}
.section-careers .careers-stack {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
}
.section-careers .careers-base {
  position: absolute;
  left: 90px;
  right: 0;
  top: 78px;
  bottom: -60px; /* extend 60px below the image */
  background: #E9E6E3;
  border-bottom-right-radius: 50px;
  z-index: 0;
}
.section-careers .careers-content {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px; /* space between image and right content */
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  padding: 0 35px 0 0; /* no left gutter; flush image left */
}
.section-careers .careers-col {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
}
.section-careers .careers-image {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 66%;
          flex: 0 0 66%;
}
.section-careers .careers-image img {
  width: 100%;
  height: auto;
  display: block;
  border-bottom-right-radius: 50px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: 0;
}
.section-careers .careers-card {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  background: transparent;
  padding-right: 25px;
  padding-top: 150px; /* further drop to match comp */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.section-careers .careers-card .careers-illustration {
  width: 250px;
  height: 92px;
  -ms-flex-item-align: start;
      align-self: flex-start;
}
.section-careers .careers-card h2 {
  margin: 0;
  text-transform: uppercase;
  color: #432844;
}
.section-careers .careers-card p {
  margin: 0 0 8px 0;
	text-align:left;
}
.section-careers .careers-card .btn-red-purple {
  -ms-flex-item-align: start;
      align-self: flex-start;
  padding-left: 1.111rem;
  padding-right: 1.111rem;
}

/* Join Our Team */
.section-join-our-team {
  background: #fff;
  height: 564px;
  display: grid;
  place-items: center; /* vertical centering for the grid content */
  position: relative; /* allow bottom bar positioning */
  padding-bottom: 100px; /* 45px white space + 55px bar height */
  /* Bottom bar */
}
.section-join-our-team::after {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 0; /* anchor bar to bottom; included by padding-bottom */
  width: 1440px;
  height: 55px;
  background: white;
}
.section-join-our-team .join-grid {
  width: 1440px;
  display: grid;
  grid-template-columns: 1fr 1fr; /* 50/50 split */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.section-join-our-team .join-grid .jot-left {
  padding-left: 155px;
  padding-right: 50px;
}
.section-join-our-team .join-grid .jot-left h4 {
  margin-bottom: 16px;
  max-width: 400px;
}
.section-join-our-team .join-grid .jot-left .text-alt {
  margin-bottom: 16px;
}
.section-join-our-team .join-grid .jot-right {
  position: relative;
}
.section-join-our-team .join-grid .jot-right .jot-card {
  position: relative;
  width: 100%;
  max-width: 554px;
  /* Teal box offset below and to the right of the image */
}
.section-join-our-team .join-grid .jot-right .jot-card .jot-title {
  height: 105px;
  width: 100%;
  border-top-right-radius: 50px;
  background: -webkit-gradient(linear, left top, right top, from(#432844), to(#000));
  background: linear-gradient(90deg, #432844 0%, #000 100%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; /* vertical center text */
  padding-left: 25px;
  position: relative; /* required for z-index */
  z-index: 10;
}
.section-join-our-team .join-grid .jot-right .jot-card .jot-title h2 {
  margin: 0;
  text-transform: uppercase;
  color: #A9E1DF;
}
.section-join-our-team .join-grid .jot-right .jot-card .jot-image {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
  z-index: 10;
}
.section-join-our-team .join-grid .jot-right .jot-card .jot-accent {
  position: absolute;
  width: 100%;
  max-width: 438px;
  height: auto;
  aspect-ratio: 438/305;
  background: #A9E1DF;
  border-bottom-right-radius: 50px;
  top: 140px;
  left: 160px;
  z-index: 0;
}

/* Donation section */
.section-donation {
  width: 1440px;
  height: 716px;
  margin: 0 auto;
  background: url("../img/homepage-dataion-hero-desktop.png") center/cover no-repeat;
  position: relative;
  /* Gradient panel */
  /* Teal accent box under the image area; offset from panel */
}
.section-donation .donation-stack {
  position: relative;
  width: 100%;
  height: 100%;
}
.section-donation .donation-panel {
  position: absolute;
  left: 130px;
  top: 180px;
  width: 445px;
  height: 410px;
  border-top-right-radius: 50px;
  /*background: -webkit-gradient(linear, left top, right top, from(#432844), to(#000));
  background: linear-gradient(90deg, #432844 0%, #000 100%);*/
  padding: 40px 35px 40px 35px; /* add 40px bottom gap for CTA */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; /* keep heading + copy grouped at top */
  z-index: 2; /* above accent */
  /* pin CTA to bottom without spacing out content */
}
.section-donation .donation-panel h2 {
  margin: 0 0 16px 0;
  text-transform: uppercase;
  color: #E41A2E;/*#A9E1DF;*/
}
.section-donation .donation-panel .text-alt {
  color: #000;/*#fff;*/
  margin: 0 0 16px 0;
}
.section-donation .donation-panel .btn-teal {
  -ms-flex-item-align: start;
      align-self: flex-start;
  margin-top: auto;
}
.section-donation .donation-panel .btn-red {
  -ms-flex-item-align: start;
      align-self: flex-start;
  margin-top: auto;
}
.section-donation .donation-accent {
  position: absolute;
  width: 426px;
  height: 315px;
  /*background: #A9E1DF;*/
  border-bottom-left-radius: 50px;
  /* 45px left of panel's left (90px) and 45px below its bottom (120+437), minus own height (342) */
  left: 85px;
  top: 320px;
  z-index: 1; /* sits under panel */
}

/* Footer */
.site-footer {
  width: 1440px;
  margin: 0 auto;
  background: -webkit-gradient(linear, left top, right top, from(#432844), to(#000));
  background: linear-gradient(90deg, #432844 0%, #000 100%);
  color: #fff;
  padding-top: 30px; /* top padding as specified */
}
.site-footer .footer-content {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* Mobile footer layout container (hidden by default) */
}
.site-footer .footer-content .footer-icon {
  display: block;
  width: auto;
  height: auto;
  margin: 0 auto 10px auto;
}
.site-footer .footer-content .footer-title {
  text-transform: uppercase;
  color: #A9E1DF;
  margin: 0 0 10px 0;
  text-align: center;
}
.site-footer .footer-content .footer-desc {
  color: #fff;
  width: 91%;
  max-width: 975px;
  text-align: center;
  margin: 0 auto;
}
.site-footer .footer-content .btn-teal {
  margin: 35px auto; /* 35px above and below CTA */
}
.site-footer .footer-content .footer-sep {
  width: 91%;
  border: 0;
  border-top: 1px solid #fff;
  margin: 0 auto;
}
.site-footer .footer-content .footer-grid {
  width: 91%;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  margin: 35px auto;
}
.site-footer .footer-content .footer-grid .footer-col {
  color: #fff;
}
.site-footer .footer-content .footer-grid .footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.site-footer .footer-content .footer-grid .footer-col li {
  line-height: 1.8;
}
.site-footer .footer-content .footer-grid .footer-col a,
.site-footer .footer-content .footer-grid .footer-col a:hover,
.site-footer .footer-content .footer-grid .footer-col a:focus,
.site-footer .footer-content .footer-grid .footer-col a:active {
  color: #fff;
  text-decoration: none;
  font: inherit;
}
.site-footer .footer-content .footer-grid .footer-col .footer-logo {
  display: block;
  height: auto;
  width: 200px;
  max-width: 100%;
}
.site-footer .footer-content .footer-grid .footer-col .footer-social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: auto;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.site-footer .footer-content .footer-grid .footer-col .footer-social a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.site-footer .footer-content .footer-grid .footer-col .footer-social img {
  height: 27px;
  width: auto;
  display: block;
}
.site-footer .footer-content .footer-grid-mobile {
  display: none;
}
.site-footer .footer-content .footer-bottom {
  margin-top: 35px;
  width: 91%;
  padding-bottom: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.site-footer .footer-content .footer-bottom .footer-copy {
  font-family: "Nunito Sans", "Segoe UI", Arial, sans-serif;
  font-weight: 600; /* SemiBold */
  font-size: 0.778rem; /* 14px @ 18px base */
}
.site-footer .footer-content .footer-bottom .footer-chat {
  display: block;
  width: auto;
  height: auto;
}

/* Ensure 1440px-wide sections scale to viewport on narrower screens */
@media (max-width: 1440px) {
  .section-carousel, .section-carousel .splide,
  .section-join-our-team .join-grid,
  .section-donation,
  .site-footer {
    width: 100%;
  }
  .site-footer .footer-bottom {
    width: 91%;
  }
  .section-join-our-team::after {
    width: 100%;
  }
  /* Allow Join Our Team section to grow with content */
  .section-join-our-team {
    height: auto;
  }
  /* Make fixed-width internals fluid */
  .site-footer .footer-content .footer-sep {
    width: 91%;
  }
  .site-footer .footer-content .footer-grid {
    width: 91%;
  }
  .section-programs-services .content-container .modules-separator {
    width: 100%;
    margin-left: 0;
  }
  /* Gradually reduce left padding on .jot-left between 1440→1024 to prevent squishing */
  .section-join-our-team .join-grid .jot-left {
    padding-left: clamp(100px, 10.8vw, 155px);
    /* keep right padding from desktop spec */
    padding-right: 50px;
    /* maintain at least some breathing room above */
    margin-top: 20px;
  }
  /* Nested equivalents for clarity/maintainability */
  .section-carousel {
    width: 100%;
  }
  .section-carousel .splide {
    width: 100%;
  }
  .section-join-our-team {
    height: auto;
  }
  .section-join-our-team::after {
    width: 100%;
  }
  .section-join-our-team .join-grid {
    width: 100%;
  }
  .section-join-our-team .join-grid .jot-left {
    padding-left: clamp(100px, 10.8vw, 155px);
    padding-right: 50px;
    margin-top: 20px;
  }
  .section-donation {
    width: 100%;
  }
  .site-footer {
    width: 100%;
  }
  .site-footer .footer-bottom {
    width: 91%;
  }
  .site-footer .footer-content .footer-sep {
    width: 91%;
  }
  .site-footer .footer-content .footer-grid {
    width: 91%;
  }
  .section-programs-services .content-container .modules-separator {
    width: 100%;
    margin-left: 0;
  }
}
/* Between 1210px and 1024px: adjust Join Our Team proportions */
@media (max-width: 1210px) {
  .section-join-our-team .join-grid {
    grid-template-columns: 0.4fr 0.6fr;
  }
  .section-join-our-team .join-grid .jot-left {
    padding-left: 20px;
  }
}
/* Tablet breakpoint: start stacking and 4-up modules become 2x2 */
@media (max-width: 1024px) {
  /* General */
  .section-herotext {
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
  }
  /* Carousel scales full-width */
  .section-carousel {
    width: 100%;
  }
  .section-carousel .splide {
    width: 100%;
  }
  /* Programs & Services: 2x2 modules */
  .section-programs-services {
    background-size: 100% auto; /* keep full image visible */
    background-position: top center;
    padding-top: 18rem;
  }
  .section-programs-services .content-container {
    margin: 0 24px;
  }
  .section-programs-services .content-container .module-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
  }
  .section-programs-services .content-container .module-grid .module {
    width: auto;
    height: 250px;
  }
  .section-programs-services .content-container .module-grid .module-title {
    font-size: 20px;
  }
  .section-programs-services .content-container .modules-separator {
    width: 100%;
    margin: 2rem 0 0;
  }
  /* Careers: stack image and card */
  .section-careers .careers-stack {
    max-width: none;
    width: 100%;
    margin: 0;
  }
  .section-careers .careers-base {
    left: 0;
    right: 0;
    border-bottom-right-radius: 0;
  }
  .section-careers .careers-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
    padding-left: 0;
    padding-right: 30px;
  }
  .section-careers .careers-image img {
    width: 100%;
    height: auto;
  }
  .section-careers .careers-card {
    padding-top: 24px;
    padding-right: 0;
    padding-left: 20px;
  }
  /* Join Our Team: single column */
  .section-join-our-team {
    height: auto;
  }
  .section-join-our-team .join-grid {
    width: 100%;
    grid-template-columns: 1fr;
    /* image/card above text and centered */
  }
  .section-join-our-team .join-grid .jot-left {
    padding: 0 100px;
    margin-top: 60px;
  }
  .section-join-our-team .join-grid .jot-left h4 {
    max-width: none;
  }
  .section-join-our-team .join-grid .jot-right {
    padding: 24px;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    margin-left: auto;
    margin-right: auto;
  }
  .section-join-our-team .jot-card {
    width: 100%;
    max-width: 554px;
    margin: 0 auto;
  }
  .section-join-our-team .jot-title {
    width: 100%;
  }
  .section-join-our-team .jot-image {
    width: 100%;
    height: auto;
  }
  /* Donation: full-width container */
  .section-donation {
    width: 100%;
    height: 720px; /* 475 image + 245 white space */
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% auto; /* show whole image at full width */
    position: relative;
    /* Center the panel horizontally, anchor from bottom */
    /* Switch accent to bottom/left positioning; centered by default */
  }
  .section-donation .donation-panel {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 45px;
    top: auto;
  }
  .section-donation .donation-accent {
    left: calc(50% - 75px);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 0px; /* tweakable offset under panel */
    top: auto;
  }
  /* Footer: full-width rows */
  .site-footer {
    width: 100%;
  }
  .site-footer .footer-bottom {
    width: 91%;
  }
  .site-footer .footer-bottom .footer-copy {
    font-size: 12px;
  }
  .site-footer .footer-content .footer-sep {
    width: 91%;
  }
  .site-footer .footer-content .footer-grid {
    width: 91%;
  }
  .site-footer .footer-content .footer-grid a {
    font-size: 18px;
  }
  .site-footer .footer-social img {
    width: 16px;
    height: 16px;
  }
}
/* Responsive: mobile layout from 720px and below */
@media (max-width: 720px) {
  /* General layout tightening */
  .section-herotext {
    margin: 0 auto;
    padding-top: 1.2rem;
    padding-bottom: 2rem;
    padding-left: 20px;
    padding-right: 20px;
  }
  /* Carousel */
  .section-carousel {
    width: 100%;
    height: 640px;
  }
  .section-carousel .splide {
    width: 100%;
    height: 640px;
  }
  .section-carousel .splide__pagination {
    bottom: 6px;
  }
  .section-carousel .splide__pagination__page {
    width: 24px;
    height: 24px;
    margin: 8px;
  }
  .section-carousel .splide__list .splide__slide {
    /* Mobile: panel is bottom-anchored; per-slide stack positions below */
  }
  .section-carousel .splide__list .splide__slide .slide-panel {
    position: absolute;
    top: auto;
    bottom: 0;
  }
  .section-carousel .splide__list .splide__slide.slide-1 .slide-stack {
    position: absolute;
    width: 320px;
    height: 240px;
    left: 50%;
    bottom: 80px;
    top: auto;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .section-carousel .splide__list .splide__slide.slide-1 .slide-panel {
    width: 320px;
    height: 240px;
    padding: 20px;
  }
  .section-carousel .splide__list .splide__slide.slide-1 .slide-panel .slide-cta {
    left: 20px;
    bottom: 20px;
  }
  .section-carousel .splide__list .splide__slide.slide-1 .slide-panel .text-alt {
    margin-right: 0px;
  }
  .section-carousel .splide__list .splide__slide.slide-1 .slide-accent {
    width: 320px;
    height: 220px;
    bottom: -25px;
    left: -25px;
    top: auto;
  }
  .section-carousel .splide__list .splide__slide.slide-2 .slide-stack {
    position: absolute;
    width: 320px;
    height: 280px;
    left: 50%;
    bottom: 80px;
    top: auto;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .section-carousel .splide__list .splide__slide.slide-2 .slide-panel {
    width: 320px;
    height: 280px;
    padding: 20px;
  }
  .section-carousel .splide__list .splide__slide.slide-2 .slide-panel .slide-cta {
    left: 20px;
    bottom: 20px;
  }
  .section-carousel .splide__list .splide__slide.slide-2 .slide-panel .text-alt {
    margin-right: 0px;
  }
  .section-carousel .splide__list .splide__slide.slide-2 .slide-accent {
    width: 320px;
    height: 220px;
    bottom: -25px;
    left: 25px;
    top: auto;
  }
  .section-carousel .splide__list .splide__slide.slide-3 .slide-stack {
    position: absolute;
    width: 300px;
    height: 300px;
    left: 50%;
    bottom: 80px;
    top: auto;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .section-carousel .splide__list .splide__slide.slide-3 .slide-panel {
    width: 300px;
    height: 300px;
    padding: 20px;
  }
  .section-carousel .splide__list .splide__slide.slide-3 .slide-panel .slide-cta {
    left: 20px;
    bottom: 20px;
  }
  .section-carousel .splide__list .splide__slide.slide-3 .slide-panel .text-alt {
    margin-right: 0px;
  }
  .section-carousel .splide__list .splide__slide.slide-3 .slide-accent {
    width: 300px;
    height: 220px;
    bottom: -25px;
    left: -25px;
    top: auto;
  }
  /* Programs & Services */
  .section-programs-services {
    background-color: #fff;
    background-size: 100% auto; /* keep full image visible */
    background-position: top center;
    padding-top: 10rem; /* reduce image lead-in */
  }
  .section-programs-services .content-container {
    margin: 0 20px;
    padding: 1.5rem;
    border-top-right-radius: 2rem;
  }
  .section-programs-services .content-container .module-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 1rem;
  }
  .section-programs-services .content-container .module-grid .module {
    width: auto;
    height: 250px;
  }
  .section-programs-services .content-container .module-grid .module-header {
    height: auto;
    padding: 12px;
    border-top-right-radius: 24px;
  }
  .section-programs-services .content-container .module-grid .module-title {
    font-size: 1rem;
  }
  .section-programs-services .content-container .module-grid .module-body {
    padding: 12px;
    height: 250px;
  }
  .section-programs-services .content-container .modules-separator {
    width: 100%;
    margin: 1.5rem 0 0;
  }
  /* Careers */
  .section-careers {
    padding-bottom: 60px;
    background: #fff;
  }
  .section-careers .careers-base {
    left: 0;
    right: 0;
    border-bottom-right-radius: 0;
  }
  .section-careers .careers-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    padding-left: 0;
    padding-right: 20px;
  }
  .section-careers .careers-image img {
    width: 100%;
    height: auto;
  }
  .section-careers .careers-card {
    padding-top: 20px;
    padding-right: 0;
    padding-left: 20px;
  }
  /* Join Our Team */
  .section-join-our-team {
    height: auto;
    padding-bottom: 40px; /* mobile spacing at bottom */
    /* Ensure accent matches image height and fits with 20px gutters */
  }
  .section-join-our-team::after {
    display: none;
    content: none;
  }
  .section-join-our-team .join-grid {
    width: 100%;
    grid-template-columns: 1fr;
  }
  .section-join-our-team .join-grid .jot-left {
    padding: 0 20px;
    margin-top: 60px;
  }
  .section-join-our-team .join-grid .jot-left h4 {
    max-width: none;
  }
  .section-join-our-team .join-grid .jot-right {
    padding: 20px 65px 20px 20px;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
  .section-join-our-team .jot-card {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    position: relative;
  }
  .section-join-our-team .jot-title {
    width: 100%;
    border-top-right-radius: 32px;
  }
  .section-join-our-team .jot-image {
    width: 100%;
    height: auto;
  }
  .section-join-our-team .jot-accent {
    left: 20px;
    right: 20px;
    top: 105px;
    height: calc(100% - 105px);
    width: auto;
  }
  /* Donation */
  .section-donation {
    width: 100%;
    height: 620px; /* 475 image + 245 white space */
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% auto; /* show whole image at full width */
    position: relative;
    /* Center the panel horizontally, anchor from bottom */
    /* Center the accent as well; you can tweak bottom/left later */
  }
  .section-donation .donation-panel {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 60px;
    top: auto;
    width: 405px;
    height: 359px;
    padding: 24px;
  }
  .section-donation .donation-accent {
    left: calc(50% - 70px);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 20px; /* offset under panel for visual separation */
    top: auto;
    width: 349px;
    height: 252px;
  }
  /* Footer */
  .site-footer {
    width: 100%;
    height: auto;
    padding-top: 24px;
    /* Switch to mobile-specific layout (match base specificity) */
    /* Mobile footer link styles: 18px, white, no underline */
  }
  .site-footer .footer-content {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .site-footer .footer-sep {
    width: calc(100% - 40px);
  }
  .site-footer .footer-content .footer-grid {
    display: none;
  }
  .site-footer .footer-content .footer-grid-mobile {
    display: block;
    width: 91%;
    margin: 35px auto;
  }
  .site-footer .footer-grid-mobile .footer-logo {
    display: block;
    width: 200px;
    max-width: 100%;
    height: auto;
  }
  .site-footer .footer-grid-mobile .footer-row-logo {
    margin-bottom: 30px;
  }
  .site-footer .footer-grid-mobile .footer-row-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 24px;
       -moz-column-gap: 24px;
            column-gap: 24px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  .site-footer .footer-grid-mobile .footer-col-left ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .site-footer .footer-grid-mobile .footer-col-left li {
    line-height: 1.8;
  }
  .site-footer .footer-grid-mobile a,
  .site-footer .footer-grid-mobile a:hover,
  .site-footer .footer-grid-mobile a:focus,
  .site-footer .footer-grid-mobile a:active {
    color: #fff;
    text-decoration: none;
    font: inherit;
    font-size: 18px;
  }
  .site-footer .footer-grid-mobile .footer-col-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .site-footer .footer-grid-mobile .footer-social {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .site-footer .footer-grid-mobile .footer-social a {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
  .site-footer .footer-grid-mobile .footer-social img {
    width: 17px;
    height: 17px;
    display: block;
  }
  .site-footer .footer-bottom {
    width: 100%;
    padding: 0 20px 30px;
  }
}
/* Extra-narrow fix (<=640px): prevent horizontal overflow from accent */
@media (max-width: 640px) {
  /* Ensure whole card + accent fit with 20px gutters */
  .section-join-our-team {
    overflow-x: hidden;
  }
  .section-join-our-team .jot-accent {
    left: 20px;
    right: 20px;
    width: auto;
  }
}
/* Base */
[data-animate] {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px); /* default slide-up distance */
  -webkit-transition: opacity 480ms ease, -webkit-transform 480ms ease;
  transition: opacity 480ms ease, -webkit-transform 480ms ease;
  transition: opacity 480ms ease, transform 480ms ease;
  transition: opacity 480ms ease, transform 480ms ease, -webkit-transform 480ms ease;
  -webkit-transition-delay: var(--delay, 0ms);
          transition-delay: var(--delay, 0ms);
  will-change: opacity, transform;
}

/* Variants */
[data-animate=fade] {
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
} /* keep stacking context */
[data-animate=slide-up] {
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
}

[data-animate=slide-down] {
  -webkit-transform: translateY(-50px);
          transform: translateY(-50px);
}

[data-animate=slide-left] {
  -webkit-transform: translateX(-50px);
          transform: translateX(-50px);
}

[data-animate=slide-right] {
  -webkit-transform: translateX(50px);
          transform: translateX(50px);
}

[data-animate=drop] {
  opacity: 0;
  -webkit-transform: translateY(-20px) scale(2);
          transform: translateY(-20px) scale(2);
  -webkit-transition: opacity 480ms ease, -webkit-transform 600ms cubic-bezier(0.18, 0.8, 0.25, 1);
  transition: opacity 480ms ease, -webkit-transform 600ms cubic-bezier(0.18, 0.8, 0.25, 1);
  transition: opacity 480ms ease, transform 600ms cubic-bezier(0.18, 0.8, 0.25, 1);
  transition: opacity 480ms ease, transform 600ms cubic-bezier(0.18, 0.8, 0.25, 1), -webkit-transform 600ms cubic-bezier(0.18, 0.8, 0.25, 1);
}

[data-animate=drop].animate-in {
  opacity: 1;
  -webkit-transform: translateY(0) scale(1);
          transform: translateY(0) scale(1);
}

/* Final state: keep a no-op transform to preserve stacking context */
.animate-in {
  opacity: 1;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}

/* Reduced motion: show instantly, keep no-op transform for stacking */
@media (prefers-reduced-motion: reduce) {
  [data-animate] {
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    -webkit-transition-duration: 1ms;
            transition-duration: 1ms;
  }
}/*# sourceMappingURL=app.css.map */