html, body {
      max-width: 100%;
      overflow-x: hidden;
      scroll-behavior: smooth;
    }
    section {
      padding: 100px 0;
    }

    /* Navbar */
    .navbar {
      background: #fff;
    }
    .navbar .nav-link {
      color: #333 !important;
      font-weight: 500;
      margin-right: 15px;
      position: relative;
      transition: color 0.3s;
    }
    .navbar .nav-link.active {
      color: #0d6efd !important;
      font-weight: 600;
    }
    .navbar .nav-link.active::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: -5px;
      width: 100%;
      height: 2px;
      background-color: #0d6efd;
      border-radius: 2px;
    }
    .btn-get-started {
      background: #0d6efd;
      color: #fff;
      border-radius: 6px;
      padding: 8px 20px;
      transition: 0.3s;
    }
    .btn-get-started:hover {
      background: #0b5ed7;
      color: #fff;
    }

    /* Hero */
    #home {
      padding: 120px 0;
      background: linear-gradient(135deg, #e3f2fd 0%, #ffffff 100%);
    }
    #home h1 {
      font-weight: 700;
    }
    #home p {
      font-size: 1.1rem;
      color: #555;
    }
    .hero-btn {
      padding: 10px 20px;
      font-weight: 500;
    }
    .hero-img {
      border-radius: 12px;
    }

    /* Section titles */
    h2.section-title {
      font-weight: 700;
      margin-bottom: 40px;
      color: #0d6efd;
    }

    /* Cards */
    .card {
      border: none;
      border-radius: 12px;
      box-shadow: 0px 4px 15px rgba(0,0,0,0.05);
      transition: transform 0.3s;
    }
    .card:hover {
      transform: translateY(-5px);
    }

    /* Sponsors */
      .logos-images {
        flex-wrap: wrap;
        gap: 20px !important;
        justify-content: center;
      }

      /* Partners auto-scroll slider */
.partners-slider {
  overflow: hidden;
  position: relative;
  background: #f8f9fa;
  padding: 20px 0;
}

.slide-track {
  display: flex;
  width: calc(250px * 12);
  animation: scroll 30s linear infinite;
}

.partner-logo {
  height: 80px;
  width: auto;
  margin: 0 40px;
  filter: grayscale(100%);
  opacity: 0.8;
  transition: filter var(--logo-transition, 0.3s) ease, transform var(--logo-transition, 0.3s) ease;
  will-change: transform, filter;
}

.partner-logo:hover {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.05);
}

/* Animation keyframes */
@keyframes scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-250px * 6)); }
}

    /* Contact form */
    #contact form {
      max-width: 600px;
      margin: auto;
    }

    /* Shared public shell */
    .public-navbar {
      background: rgba(255,255,255,.96);
      border-bottom: 1px solid rgba(214,224,237,.8);
      box-shadow: 0 8px 28px rgba(17,39,73,.07);
      min-height: 74px;
    }
    .public-navbar .navbar-brand img { max-height: 48px !important; }
    .public-navbar .navbar-toggler { border-color: #d7e0eb; box-shadow: none; }
    .public-footer {
      background: radial-gradient(circle at 8% 20%,rgba(54,112,206,.2),transparent 26%),#091b37;
      color: #fff;
      overflow: hidden;
      padding: 0;
      position: relative;
    }
    .footer-accent { background: linear-gradient(90deg,#2369d7,#11a17b,#2369d7); height: 4px; }
    .footer-cta {
      align-items: center;
      border-bottom: 1px solid rgba(255,255,255,.11);
      display: flex;
      gap: 2rem;
      justify-content: space-between;
      padding: clamp(2.2rem,5vw,4rem) 0;
    }
    .footer-eyebrow { color:#82b2fa; display:block; font-size:.7rem; font-weight:800; letter-spacing:.14em; margin-bottom:.6rem; text-transform:uppercase; }
    .footer-cta h2 { color:#fff; font-size:clamp(1.6rem,3vw,2.6rem); font-weight:700; letter-spacing:-.045em; margin:0; max-width:700px; }
    .footer-cta>a { align-items:center; background:#fff; border-radius:2rem; color:#123765; display:inline-flex; font-size:.76rem; font-weight:700; gap:.6rem; padding:.85rem 1.15rem; text-decoration:none; white-space:nowrap; }
    .footer-cta>a:hover { background:#eaf2ff; transform:translateY(-1px); }
    .footer-grid { display:grid; gap:clamp(2rem,4vw,4rem); grid-template-columns:1.5fr .65fr .8fr 1.1fr; padding:clamp(2.5rem,5vw,4.5rem) 0; }
    .footer-brand { align-items:center; color:#fff; display:flex; gap:.8rem; text-decoration:none; }
    .footer-brand>span { background:#fff; border-radius:.85rem; display:block; height:52px; padding:4px; width:52px; }
    .footer-brand img { height:100%; object-fit:contain; width:100%; }
    .footer-brand strong,.footer-brand small { display:block; }
    .footer-brand strong { font-size:.95rem; }
    .footer-brand small { color:#9eb1cb; font-size:.6rem; font-weight:500; margin-top:.12rem; }
    .footer-brand-column>p { color:#aab9cc; font-size:.72rem; line-height:1.7; margin:1.25rem 0; max-width:360px; }
    .footer-socials { display:flex; gap:.5rem; }
    .footer-socials a { align-items:center; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); border-radius:50%; color:#dce6f3; display:flex; height:38px; justify-content:center; text-decoration:none; transition:.2s; width:38px; }
    .footer-socials a:hover { background:#2367cf; border-color:#2367cf; color:#fff; transform:translateY(-2px); }
    .footer-links h3,.footer-contact h3 { color:#fff; font-size:.75rem; font-weight:700; letter-spacing:.05em; margin:0 0 1.15rem; text-transform:uppercase; }
    .footer-links { display:flex; flex-direction:column; gap:.65rem; }
    .footer-links a { color:#aebdd0; font-size:.7rem; text-decoration:none; transition:.2s; }
    .footer-links a:hover { color:#fff; transform:translateX(3px); }
    .footer-contact { display:flex; flex-direction:column; gap:.85rem; }
    .footer-contact>a { align-items:flex-start; color:#fff; display:flex; gap:.7rem; text-decoration:none; }
    .footer-contact>a>i { align-items:center; background:rgba(78,138,226,.14); border-radius:.55rem; color:#7caef7; display:flex; flex:0 0 34px; height:34px; justify-content:center; }
    .footer-contact span,.footer-contact small { display:block; }
    .footer-contact span { font-size:.68rem; font-weight:600; }
    .footer-contact small { color:#879bb6; font-size:.58rem; font-weight:400; margin-top:.12rem; }
    .footer-bottom { align-items:center; border-top:1px solid rgba(255,255,255,.1); color:#8295af; display:flex; font-size:.61rem; justify-content:space-between; padding:1.25rem 0; }
    .footer-bottom>div { display:flex; gap:1.25rem; }
    .footer-bottom a { color:#aabbd1; text-decoration:none; }
    @media(max-width:991.98px) {
      .public-navbar .navbar-collapse { background:#fff; border-top:1px solid #e5eaf1; margin:10px -12px -8px; padding:1rem 12px 1.25rem; }
      .public-navbar .nav-link { margin-right:0; padding:.7rem .25rem; }
      .public-navbar .nav-link.active::after { bottom:2px; width:32px; }
      .footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
      .footer-contact { grid-column:1/-1; }
    }
    @media(max-width:767.98px) {
      .footer-cta { align-items:flex-start; flex-direction:column; }
      .footer-grid { grid-template-columns:1fr 1fr; }
      .footer-brand-column,.footer-contact { grid-column:1/-1; }
      .footer-bottom { align-items:flex-start; flex-direction:column; gap:.7rem; }
    }
    @media(max-width:420px) {
      .footer-grid { grid-template-columns:1fr; }
      .footer-brand-column,.footer-contact { grid-column:auto; }
      .footer-bottom>div { align-items:flex-start; flex-direction:column; gap:.35rem; }
    }



      /* Meet team css designs */
      .team-img-wrapper {
        position: relative;
        display: inline-block;
      }
      .team-img {
        width: 150px;
        height: 150px;
        transition: transform 0.3s ease;
        object-fit: cover;
      }
      .team-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 150px;
        height: 150px;
        border-radius: 50%;
        background: rgba(13, 110, 253, 0.75);
        opacity: 0;
        transition: opacity 0.3s ease;
      }
      .team-card:hover .team-img {
        transform: scale(1.1);
      }
      .team-card:hover .team-overlay {
        opacity: 1;
      }
      .team-overlay a {
        font-size: 1.2rem;
      }

      /* Testimonials */
      .testimonial-card {
        border-radius: 12px;
        background: #fff;
        box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.05);
        padding: 20px;
      }
      .testimonial-card img {
        width: 70px;
        height: 70px;
        border-radius: 50%;
        object-fit: cover;
      }

      /* Glowing Button Effect */
      .glow-btn {
        position: relative;
        overflow: hidden;
        transition: all 0.3s ease-in-out;
      }

      .glow-btn::after {
        content: "";
        position: absolute;
        top: 0;
        left: -100%;
        width: 200%;
        height: 100%;
        background: linear-gradient(
          120deg,
          rgba(255, 255, 255, 0.3) 0%,
          rgba(255, 255, 255, 0.6) 50%,
          rgba(255, 255, 255, 0.3) 100%
        );
        transform: skewX(-20deg);
        transition: left 0.6s ease;
      }

      .glow-btn:hover::after {
        left: 100%;
      }

      .glow-btn:hover {
        box-shadow: 0 0 20px rgba(255, 255, 255, 0.8);
        transform: scale(1.05);
      }

     .hero-btn1 {
      padding: 10px 20px;
      font-weight: 500;
      border: 2px solid #0d6efd;
      animation: pulseGlow 2s infinite ease-in-out;
}

.gallery-hover:hover {
  transform: scale(1.03);
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}


@keyframes pulseGlow {
  0% { box-shadow: 0 0 10px rgba(13,110,253,0.5); }
  50% { box-shadow: 0 0 25px rgba(13,110,253,0.9); }
  100% { box-shadow: 0 0 10px rgba(13,110,253,0.5); }
}

.gallery-card {
      border: none;
      overflow: hidden;
      border-radius: 18px;
      background: #ffffff;
      box-shadow: 0 8px 20px rgba(0,0,0,0.08);
      transition: all 0.35s ease;
      position: relative;
    }

    .gallery-card img {
      width: 100%;
      height: auto;
      display: block;
      transition: all 0.4s ease;
    }

    .gallery-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 18px 30px rgba(0,0,0,0.15);
    }

    .gallery-card:hover img {
      transform: scale(1.07);
      filter: brightness(80%);
    }

    .gallery-overlay {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.6));
      opacity: 0;
      transition: 0.4s ease;
      display: flex;
      align-items: end;
      padding: 20px;
      color: #fff;
    }

    .gallery-card:hover .gallery-overlay {
      opacity: 1;
    }

    .gallery-title {
      font-size: 1.1rem;
      font-weight: 600;
      margin: 0;
    }

    .gallery-actions button {
      border-radius: 30px;
    }

/* 2026 public-site visual refresh. Kept additive so production content and markup remain compatible. */
.public-site {
  --narm-blue: #165dc2;
  --narm-blue-dark: #0b315f;
  --narm-green: #0d9672;
  --narm-ink: #10243e;
  --narm-muted: #63748b;
  --narm-line: #dce5ef;
  --narm-surface: #f4f8fc;
  background: #fff;
  color: var(--narm-ink);
  font-family: "Poppins", sans-serif;
}
.public-site section { position: relative; }
.public-site .public-navbar {
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transition: box-shadow .25s ease, min-height .25s ease, background .25s ease;
}
.public-site .public-navbar.is-scrolled {
  background: rgba(255,255,255,.985);
  box-shadow: 0 12px 34px rgba(18,48,84,.13);
  min-height: 66px;
}
.public-site .public-navbar .nav-link {
  border-radius: 2rem;
  color: #344760 !important;
  font-size: .78rem;
  font-weight: 600;
  margin-right: .2rem;
  padding: .55rem .72rem;
}
.public-site .public-navbar .nav-link:hover,
.public-site .public-navbar .nav-link.active { background: #edf4ff; color: var(--narm-blue) !important; }
.public-site .public-navbar .nav-link.active::after { display: none; }
.public-site .btn-get-started,
.public-site .hero-btn.btn-get-started {
  background: linear-gradient(135deg, var(--narm-blue), #3479db);
  border: 0;
  border-radius: 2rem;
  box-shadow: 0 9px 22px rgba(22,93,194,.22);
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  padding: .72rem 1.18rem;
}
.public-site .btn-get-started:hover { box-shadow: 0 13px 28px rgba(22,93,194,.3); transform: translateY(-2px); }
.public-site #home {
  background:
    radial-gradient(circle at 82% 25%, rgba(43,117,215,.16), transparent 30%),
    radial-gradient(circle at 8% 85%, rgba(13,150,114,.1), transparent 25%),
    linear-gradient(135deg, #f5f9ff 0%, #fff 58%, #f2fbf8 100%);
  min-height: 760px;
  overflow: hidden;
  padding: 150px 0 100px;
}
.public-site #home::before { border: 1px solid rgba(29,104,199,.1); border-radius: 50%; content: ""; height: 430px; position: absolute; right: -210px; top: 90px; width: 430px; }
.public-site #home h1 { color: var(--narm-ink); font-size: clamp(2.35rem,5vw,4.7rem); letter-spacing: -.055em; line-height: 1.03; }
.public-site #home p { color: var(--narm-muted); line-height: 1.75; max-width: 650px; }
.public-site #home .badge { border: 1px solid #d6e5fb; border-radius: 2rem !important; box-shadow: 0 6px 18px rgba(24,72,130,.07); padding: .55rem .85rem !important; }
.public-site #home .btn-outline-secondary { background: #fff; border: 1px solid var(--narm-line); border-radius: 2rem; color: var(--narm-ink); font-size: .78rem; font-weight: 700; padding: .7rem 1.15rem; }
.public-site #home .btn-outline-secondary:hover { border-color: var(--narm-blue); color: var(--narm-blue); transform: translateY(-2px); }
.public-site #heroCarousel { background: #fff; border: 7px solid rgba(255,255,255,.85); border-radius: 1.5rem; box-shadow: 0 30px 70px rgba(17,52,91,.2); overflow: hidden; }
.public-site #heroCarousel img { min-height: 390px; object-fit: cover; }
.public-site #heroCarousel .carousel-caption { background: rgba(7,31,62,.72); backdrop-filter: blur(9px); border-radius: .85rem; bottom: 1rem; left: 1rem; padding: 1rem; right: 1rem; }
.public-site h2.section-title { color: var(--narm-ink) !important; font-size: clamp(1.65rem,3vw,2.55rem) !important; letter-spacing: -.04em; }
.public-site #about,
.public-site #how,
.public-site #contact { background: #fff; }
.public-site #about img { border-radius: 1.25rem !important; box-shadow: 0 24px 55px rgba(18,51,90,.14); }
.public-site #about .mission-statement {
  align-items: flex-start;
  background: linear-gradient(135deg, #f8fafc, #f2f7f5);
  border: 1px solid #dfe8e5;
  border-left: 4px solid var(--narm-green);
  border-radius: 1rem;
  box-shadow: 0 12px 30px rgba(22,55,91,.07);
  display: flex;
  gap: 1rem;
  margin-top: 1.6rem;
  padding: clamp(1.15rem,3vw,1.6rem);
}
.public-site #about .mission-icon {
  align-items: center;
  background: #e4f4ef;
  border-radius: .8rem;
  color: #087b5d;
  display: flex;
  flex: 0 0 46px;
  font-size: 1.2rem;
  height: 46px;
  justify-content: center;
}
.public-site #about .mission-label {
  color: var(--narm-green);
  display: block;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .13em;
  margin-bottom: .25rem;
  text-transform: uppercase;
}
.public-site #about .mission-statement h3 {
  color: var(--narm-ink);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -.02em;
  margin: 0 0 .45rem;
}
.public-site #about .mission-statement p {
  color: #58697d;
  font-size: .78rem;
  line-height: 1.75;
  margin: 0;
}
.public-site #about .about-action { display: flex; margin-top: 1.25rem; }
.public-site #about .about-read-more {
  align-items: center;
  background: var(--narm-ink);
  border: 1px solid var(--narm-ink);
  border-radius: 2rem;
  box-shadow: 0 10px 22px rgba(16,36,62,.16);
  color: #fff;
  display: inline-flex;
  font-size: .76rem;
  font-weight: 700;
  gap: .7rem;
  padding: .76rem .85rem .76rem 1.15rem;
  text-decoration: none;
}
.public-site #about .about-read-more i {
  align-items: center;
  background: rgba(255,255,255,.13);
  border-radius: 50%;
  display: flex;
  height: 28px;
  justify-content: center;
  transition: transform .22s ease, background .22s ease;
  width: 28px;
}
.public-site #about .about-read-more:hover {
  background: #173552;
  border-color: #173552;
  box-shadow: 0 14px 28px rgba(16,36,62,.22);
  color: #fff;
  transform: translateY(-2px);
}
.public-site #about .about-read-more:hover i { background: var(--narm-green); transform: translateX(2px); }
.public-site #news-carousel,
.public-site #events,
.public-site #team,
.public-site #gallery-preview { background: var(--narm-surface) !important; }
.public-site #newsCarousel { border-radius: 1.25rem; box-shadow: 0 22px 52px rgba(21,55,94,.13); overflow: hidden; }
.public-site #newsCarousel img { min-height: 460px; object-fit: cover; }
.public-site #newsCarousel .carousel-caption { background: linear-gradient(90deg,rgba(7,27,54,.94),rgba(7,27,54,.55)); border-radius: .9rem; bottom: 1rem; left: 1rem; padding: 1.2rem; right: 1rem; text-align: left; }
.public-site .card,
.public-site .testimonial-card,
.public-site .gallery-card { border: 1px solid rgba(210,223,237,.8) !important; border-radius: 1rem; box-shadow: 0 12px 30px rgba(22,55,91,.08); overflow: hidden; }
.public-site .card:hover,
.public-site .testimonial-card:hover,
.public-site .gallery-card:hover { box-shadow: 0 22px 45px rgba(22,55,91,.14); transform: translateY(-6px); }
.public-site .card .btn { border-radius: 2rem; font-size: .72rem; font-weight: 700; }
.public-site .team-img { border: 5px solid #fff; box-shadow: 0 12px 26px rgba(17,54,93,.16); }
.public-site .partners-slider { background: #fff; border-block: 1px solid #e4ebf3; }
.public-site #contact form { background: #fff; border: 1px solid var(--narm-line); border-radius: 1.25rem; box-shadow: 0 20px 50px rgba(17,52,91,.1); max-width: 720px; padding: clamp(1.2rem,4vw,2.5rem); }
.public-site #contact .form-control,
.public-site #contact .form-select { background: #f8fafc; border: 1px solid #dce5ee; border-radius: .75rem; min-height: 48px; }
.public-site #contact .form-control:focus,
.public-site #contact .form-select:focus { background: #fff; border-color: #78a9e8; box-shadow: 0 0 0 .22rem rgba(22,93,194,.11); }
.public-site #contact button[type="submit"] { border-radius: 2rem; font-weight: 700; min-height: 46px; }
.narm-public-toast-stack { display:flex; flex-direction:column; gap:.65rem; max-width:min(410px,calc(100vw - 2rem)); position:fixed; right:1rem; top:88px; width:100%; z-index:1200; }
.narm-public-toast { align-items:flex-start; background:#fff; border:1px solid #dce5ef; border-left:4px solid var(--narm-blue); border-radius:.9rem; box-shadow:0 18px 45px rgba(17,38,70,.18); display:flex; gap:.7rem; padding:.85rem; width:100%; }
.narm-public-toast-success { border-left-color:var(--narm-green); }.narm-public-toast-warning { border-left-color:#d59119; }.narm-public-toast-error,.narm-public-toast-danger { border-left-color:#c74b3d; }
.narm-public-toast-icon { align-items:center; background:#eaf2ff; border-radius:.65rem; color:var(--narm-blue); display:flex; flex:0 0 36px; height:36px; justify-content:center; }.narm-public-toast-success .narm-public-toast-icon{background:#e5f6f0;color:#08795d}.narm-public-toast-warning .narm-public-toast-icon{background:#fff4df;color:#a56a08}.narm-public-toast-error .narm-public-toast-icon,.narm-public-toast-danger .narm-public-toast-icon{background:#ffefed;color:#b94235}
.narm-public-toast-copy { display:flex; flex:1; flex-direction:column; min-width:0; }.narm-public-toast-copy strong{font-size:.72rem}.narm-public-toast-copy span{color:var(--narm-muted);font-size:.68rem;line-height:1.45;margin-top:.12rem}.narm-public-toast .btn-close{flex:0 0 auto;font-size:.62rem;margin:.1rem 0 0}
.public-site a,
.public-site button,
.public-site .card,
.public-site .gallery-card,
.public-site .testimonial-card { transition: color .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
@media (max-width: 991.98px) {
  .public-site #home { min-height: auto; padding: 125px 0 75px; }
  .public-site .public-navbar .navbar-collapse { border: 1px solid var(--narm-line); border-radius: 1rem; box-shadow: 0 18px 36px rgba(17,48,84,.12); margin: .7rem 0 0; padding: .8rem; }
  .public-site .public-navbar .nav-link { margin: .12rem 0; padding: .7rem .8rem; }
  .public-site .public-navbar .btn-get-started { display: block; margin-top: .6rem; text-align: center; width: 100%; }
}
@media (max-width: 767.98px) {
  .narm-public-toast-stack { left:.75rem; max-width:none; right:.75rem; top:76px; width:auto; }
  .public-site section { padding: 70px 0; }
  .public-site #home h1 { font-size: clamp(2.15rem,12vw,3.4rem); }
  .public-site #heroCarousel img { min-height: 280px; }
  .public-site #newsCarousel img { min-height: 330px; }
  .public-site #about .mission-statement { gap: .8rem; }
}
@media (max-width: 420px) {
  .public-site #about .mission-icon { flex-basis: 40px; height: 40px; }
  .public-site #about .about-read-more { justify-content: space-between; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .public-site *, .public-site *::before, .public-site *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Public donation checkout */
.public-site #donationModal { --donation-navy:#102f50; --donation-green:#098565; --donation-muted:#607184; z-index:1060; }
.public-site > .modal { z-index:1055; }
.public-site > .modal-backdrop { z-index:1050; }
.public-site #donationModal.show { display:block; }
.public-site #donationModal .donation-dialog { max-width:510px; padding:.75rem; }
.public-site #donationModal .donation-modal-card {
  background:#fff;
  border:1px solid rgba(222,231,240,.8);
  border-radius:1.5rem;
  box-shadow:0 30px 85px rgba(8,32,61,.28);
  overflow:hidden;
}
.public-site #donationModal .donation-modal-hero {
  align-items:center;
  background:radial-gradient(circle at 100% 0,rgba(41,171,135,.28),transparent 38%),linear-gradient(135deg,#0b2948 0%,#153f66 100%);
  display:flex;
  gap:1rem;
  min-height:180px;
  padding:1.75rem 2rem;
  position:relative;
}
.public-site #donationModal .donation-modal-hero::after {
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  content:"";
  height:170px;
  position:absolute;
  right:-75px;
  top:65px;
  width:170px;
}
.public-site #donationModal .donation-modal-close {
  background-color:rgba(255,255,255,.9);
  border-radius:50%;
  box-shadow:0 6px 18px rgba(0,0,0,.14);
  font-size:.7rem;
  height:34px;
  opacity:1;
  padding:.62rem;
  position:absolute;
  right:1rem;
  top:1rem;
  width:34px;
  z-index:2;
}
.public-site #donationModal .donation-modal-close:hover { background-color:#fff; transform:rotate(5deg); }
.public-site #donationModal .donation-brand-mark {
  align-items:center;
  background:#fff;
  border:1px solid rgba(255,255,255,.65);
  border-radius:1rem;
  box-shadow:0 12px 28px rgba(0,0,0,.2);
  display:flex;
  flex:0 0 82px;
  height:82px;
  justify-content:center;
  padding:.55rem;
  position:relative;
  z-index:1;
}
.public-site #donationModal .donation-brand-mark img { display:block; height:100%; object-fit:contain; width:100%; }
.public-site #donationModal .donation-modal-heading { position:relative; z-index:1; }
.public-site #donationModal .donation-eyebrow { color:#8ce0c7; display:block; font-size:.65rem; font-weight:800; letter-spacing:.14em; margin-bottom:.38rem; text-transform:uppercase; }
.public-site #donationModal .donation-modal-heading h2 { color:#fff; font-size:clamp(1.35rem,4vw,1.75rem); font-weight:700; letter-spacing:-.035em; line-height:1.15; margin:0 2rem .45rem 0; }
.public-site #donationModal .donation-modal-heading p { color:rgba(239,247,255,.76); font-size:.72rem; line-height:1.6; margin:0; max-width:320px; }
.public-site #donationModal .donation-modal-body { padding:1.5rem 2rem 1.65rem; }
.public-site #donationModal .donation-assurance {
  align-items:center;
  background:#eef8f5;
  border:1px solid #d7eee7;
  border-radius:.85rem;
  display:flex;
  gap:.75rem;
  margin-bottom:1.3rem;
  padding:.7rem .8rem;
}
.public-site #donationModal .donation-assurance>span { align-items:center; background:#d9f1e9; border-radius:.6rem; color:var(--donation-green); display:flex; flex:0 0 36px; height:36px; justify-content:center; }
.public-site #donationModal .donation-assurance div { display:flex; flex-direction:column; min-width:0; }
.public-site #donationModal .donation-assurance strong { color:#164c3e; font-size:.72rem; }
.public-site #donationModal .donation-assurance small { color:#668078; font-size:.63rem; margin-top:.08rem; }
.public-site #donationModal .donation-field { margin-bottom:1.15rem; }
.public-site #donationModal .donation-field .form-label { color:#263d53; display:block; font-size:.72rem; font-weight:700; margin-bottom:.48rem; }
.public-site #donationModal .donation-input-wrap { position:relative; }
.public-site #donationModal .donation-input-wrap>i,
.public-site #donationModal .donation-currency { color:#718398; left:1rem; position:absolute; top:50%; transform:translateY(-50%); z-index:2; }
.public-site #donationModal .donation-currency { color:var(--donation-navy); font-size:.72rem; font-weight:800; }
.public-site #donationModal .form-control {
  background:#f8fafc;
  border:1px solid #dce5ee;
  border-radius:.85rem;
  color:#1f3449;
  font-size:.78rem;
  min-height:52px;
  padding:.75rem 1rem .75rem 2.75rem;
}
.public-site #donationModal .form-control::placeholder { color:#98a5b3; }
.public-site #donationModal .form-control:hover { border-color:#bfcedd; }
.public-site #donationModal .form-control:focus { background:#fff; border-color:#52a990; box-shadow:0 0 0 .23rem rgba(9,133,101,.1); }
.public-site #donationModal .donation-amount-wrap .form-control { font-size:.88rem; font-weight:700; }
.public-site #donationModal .donation-field-note { color:#7a8998; display:block; font-size:.61rem; margin:.38rem 0 0 .15rem; }
.public-site #donationModal .donation-submit {
  align-items:center;
  background:linear-gradient(135deg,#098565,#087157);
  border:0;
  border-radius:.9rem;
  box-shadow:0 12px 24px rgba(9,133,101,.22);
  color:#fff;
  display:flex;
  font-size:.75rem;
  font-weight:700;
  justify-content:space-between;
  min-height:52px;
  padding:.75rem .8rem .75rem 1.15rem;
  width:100%;
}
.public-site #donationModal .donation-submit i { align-items:center; background:rgba(255,255,255,.16); border-radius:.65rem; display:flex; height:34px; justify-content:center; width:34px; }
.public-site #donationModal .donation-submit:hover { background:linear-gradient(135deg,#08775b,#065e49); box-shadow:0 16px 30px rgba(9,113,87,.3); transform:translateY(-2px); }
.public-site #donationModal .donation-submit:hover i { transform:translateX(2px); }
.public-site #donationModal .donation-submit:focus-visible { outline:3px solid rgba(9,133,101,.25); outline-offset:3px; }
.public-site #donationModal .donation-privacy { align-items:center; color:#7a8998; display:flex; font-size:.59rem; gap:.35rem; justify-content:center; line-height:1.4; margin:.8rem 0 0; text-align:center; }
.public-site #donationModal .donation-privacy i { color:var(--donation-green); }
@media(max-width:575.98px){
  .public-site #donationModal .donation-dialog { margin:.5rem auto; max-width:calc(100% - 1rem); padding:0; }
  .public-site #donationModal .donation-modal-card { border-radius:1.15rem; }
  .public-site #donationModal .donation-modal-hero { align-items:flex-start; flex-direction:column; gap:.8rem; min-height:0; padding:1.35rem 1.25rem 1.25rem; }
  .public-site #donationModal .donation-brand-mark { border-radius:.75rem; flex-basis:64px; height:64px; padding:.4rem; width:64px; }
  .public-site #donationModal .donation-modal-heading h2 { font-size:1.35rem; margin-right:1rem; }
  .public-site #donationModal .donation-modal-heading p { font-size:.68rem; }
  .public-site #donationModal .donation-modal-body { padding:1.15rem 1.25rem 1.25rem; }
  .public-site #donationModal .donation-assurance { margin-bottom:1.05rem; }
}
