*{box-sizing:border-box}html{scroll-behavior:smooth}:root{--navy:#0b2344;--navy2:#06172e;--gold:#e0a52f;--gold2:#c88616;--cream:#f7f3eb;--white:#fff;--ink:#0c2448;--muted:#566070;--teal:#2d7777;--green:#577c42;--red:#9b3a38;--border:rgba(11,35,68,.13)}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Open Sans",sans-serif}button{font:inherit;cursor:pointer}.site-header{position:absolute;top:0;left:0;right:0;z-index:20}.nav-shell{width:min(1500px,calc(100% - 62px));height:82px;margin:auto;display:flex;align-items:center;gap:40px}.brand{color:#fff;text-decoration:none;margin-right:auto}.brand-main{font:900 38px/.9 Montserrat,sans-serif;letter-spacing:-2px}.brand-main span{color:var(--gold);font-size:29px}.brand-sub{margin-top:7px;font:800 9px Montserrat,sans-serif;letter-spacing:.08em}.main-nav{display:flex;gap:48px}.main-nav a{color:#fff;text-decoration:none}.main-nav strong{display:block;font:800 10px Montserrat,sans-serif}.main-nav span{display:block;margin-top:4px;font-size:8px;color:rgba(255,255,255,.8)}.get-involved{background:var(--gold);color:#14233f;text-decoration:none;border-radius:5px;padding:12px 21px;font:900 9px Montserrat,sans-serif}.hero{height:420px;position:relative;overflow:hidden;color:#fff;background:#07182f}.hero-bg{position:absolute;inset:0;background:#07182f}.hero-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;width:66%;background:url("./assets/hero-approved.jpg") center/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,20,40,.99) 0%,rgba(5,20,40,.96) 31%,rgba(5,20,40,.63) 50%,rgba(5,20,40,.13) 73%,rgba(5,20,40,.02) 100%)}.hero-copy{position:relative;z-index:2;width:min(1500px,calc(100% - 70px));margin:auto;padding-top:112px}.hero-copy h1{margin:0;font:900 58px/.9 Montserrat,sans-serif;letter-spacing:-2.5px}.script{margin-top:-1px;color:var(--gold);font:400 58px/.95 Yellowtail,cursive}.hero-copy p{margin:14px 0 0;font:600 14px/1.45 Montserrat,sans-serif}.impact-link{display:inline-flex;gap:9px;align-items:center;margin-top:15px;color:#fff;text-decoration:none;font:800 8px Montserrat,sans-serif}.impact-link span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy)}.impact-band{position:relative;background:var(--navy);color:#fff}.wave{position:absolute;top:-15px;left:0;right:0;height:17px;background:var(--navy);clip-path:polygon(0 42%,7% 20%,16% 42%,26% 18%,36% 41%,47% 20%,58% 42%,70% 19%,81% 41%,91% 22%,100% 40%,100% 100%,0 100%)}.impact-grid{width:min(1500px,calc(100% - 70px));min-height:72px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr);align-items:center}.impact{display:flex;gap:12px;align-items:center;padding:4px 28px;border-right:1px solid rgba(255,255,255,.22)}.impact:last-child{border-right:0}.impact b{font-size:28px;font-weight:400}.impact strong{display:block;color:var(--gold);font:700 27px/1 "Libre Baskerville",serif}.impact strong.countless{font-size:20px}.impact span{display:block;margin-top:4px;font-size:8px;line-height:1.3}.engage-section{padding:20px 34px 22px;background:#fbfaf7}.section-title{text-align:center;margin-bottom:15px;font:900 14px Montserrat,sans-serif}.engage-grid{width:min(1420px,100%);margin:auto;display:grid;grid-template-columns:repeat(6,1fr);gap:21px}.engage-card{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fff;text-align:center;box-shadow:0 5px 18px rgba(6,23,46,.05)}.engage-card img{width:100%;height:96px;object-fit:cover}.ico{width:48px;height:48px;margin:-24px auto 0;position:relative;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;font-size:19px}.gold{background:var(--gold)}.teal{background:var(--teal)}.navy{background:#173d6b}.green{background:var(--green)}.red{background:var(--red)}.amber{background:#d18c28}.engage-card h3{margin:8px 0 0;font:900 12px Montserrat,sans-serif}.engage-card p{min-height:36px;margin:5px 0 0;font-size:9px;line-height:1.4}.engage-card button{margin:3px 0 12px;border:0;background:transparent;color:var(--gold2);font:900 8px Montserrat,sans-serif}.needs-section{padding:16px 30px 10px;background:#f0ece4}.needs-grid{width:min(1420px,100%);margin:auto;display:grid;grid-template-columns:190px repeat(4,1fr);gap:15px}.needs-intro h2{margin:5px 0 10px;font:700 30px/1.05 "Libre Baskerville",serif}.needs-intro p{margin:0 0 6px;font-size:9px;line-height:1.45}.gold-btn{margin-top:4px;padding:10px 12px;border:0;border-radius:4px;background:var(--gold);color:#14233e;font:900 7px/1.4 Montserrat,sans-serif}.need-card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:#fff;box-shadow:0 4px 14px rgba(6,23,46,.05)}.need-card img{width:100%;height:88px;object-fit:cover}.tag{position:absolute;top:7px;left:7px;padding:4px 7px;border-radius:3px;color:#fff;font:900 6px Montserrat,sans-serif}.goldtag{background:#d49a25}.tealtag{background:#257778}.redtag{background:#963937}.greentag{background:#527d43}.need-body{padding:10px}.need-body h3{margin:0 0 5px;font:700 14px/1.1 "Libre Baskerville",serif}.need-body p{min-height:37px;margin:0;color:#364252;font-size:8px;line-height:1.4}.need-body button{width:100%;margin-top:7px;padding:6px;border:1px solid var(--navy);border-radius:3px;background:#fff;color:var(--navy);font:900 7px Montserrat,sans-serif}.partners-panel{width:min(1460px,calc(100% - 14px));margin:10px auto 0;padding:7px 9px;border:1px solid var(--border);border-radius:9px;background:#fff}.partners-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.partners-head strong{font:900 9px Montserrat,sans-serif}.partners-head button{border:0;background:transparent;color:var(--navy);font:900 7px Montserrat,sans-serif}.partner-rail{display:grid;grid-template-columns:repeat(10,1fr);overflow:hidden;border:1px solid rgba(11,35,68,.08);border-radius:6px}.partner{min-height:54px;padding:5px;display:grid;place-items:center;border-right:1px solid rgba(11,35,68,.08);background:#fff;text-align:center;text-decoration:none;color:var(--navy);font:800 7px/1.25 Montserrat,sans-serif}.partner img{width:100%;max-width:95px;max-height:38px;object-fit:contain}.ecosystem{padding:16px 30px 14px;background:var(--navy);color:#fff}.ecosystem-shell{width:min(1380px,100%);margin:auto;display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:center}.eco-kicker{color:var(--gold);font:900 7px Montserrat,sans-serif;letter-spacing:.08em}.eco-copy h2{margin:6px 0;font:700 27px/1.07 "Libre Baskerville",serif}.eco-copy p{margin:0;color:rgba(255,255,255,.85);font-size:8px;line-height:1.45}.eco-copy button{margin-top:8px;padding:8px 13px;border:0;border-radius:4px;background:var(--gold);color:#14233f;font:900 7px Montserrat,sans-serif}.flow{display:grid;gap:7px}.flow-row{display:grid;grid-template-columns:1fr 25px 1fr 25px 1fr;gap:5px;align-items:center}.flow-row article{overflow:hidden;border:1px solid var(--gold);border-radius:7px;background:#102b50}.flow-row img{width:100%;height:61px;object-fit:cover;display:block}.flow-row article span{display:block;padding:3px;background:#091d39;text-align:center;font:900 6px Montserrat,sans-serif}.flow-row b{color:var(--gold);text-align:center;font-size:19px}.footer-cta{background:var(--gold)}.footer-shell{width:min(1450px,calc(100% - 48px));min-height:50px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-message{display:flex;align-items:center;gap:12px}.heart{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--gold)}.footer-message strong{display:block;font:700 15px "Libre Baskerville",serif}.footer-message small{display:block;margin-top:2px;font-size:8px}.footer-shell button{padding:9px 17px;border:0;border-radius:4px;background:var(--navy);color:#fff;font:900 7px Montserrat,sans-serif}.modal-backdrop{position:fixed;inset:0;z-index:99;padding:20px;display:grid;place-items:center;background:rgba(4,14,30,.72)}.modal-backdrop[hidden]{display:none}.modal{position:relative;width:min(540px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:27px;border-radius:14px;background:#fff}.close{position:absolute;top:10px;right:14px;border:0;background:transparent;color:var(--navy);font-size:28px}.modal-kicker{color:var(--gold2);font:900 8px Montserrat,sans-serif;letter-spacing:.08em}.modal h2{margin:7px 0 12px;font:700 27px "Libre Baskerville",serif}.modal p{color:#455165;font-size:12px;line-height:1.55}@media(max-width:1000px){.main-nav{display:none}.impact-grid{grid-template-columns:repeat(2,1fr)}.engage-grid{grid-template-columns:repeat(3,1fr)}.needs-grid{grid-template-columns:repeat(2,1fr)}.needs-intro{grid-column:1/-1}.ecosystem-shell{grid-template-columns:1fr}}@media(max-width:650px){.nav-shell{width:calc(100% - 28px)}.brand-main{font-size:28px}.get-involved{padding:9px 11px}.hero{height:520px}.hero-copy{width:calc(100% - 34px);padding-top:120px}.hero-copy h1{font-size:44px}.script{font-size:43px}.impact-grid,.engage-grid,.needs-grid,.partner-rail{grid-template-columns:1fr}.flow-row{grid-template-columns:1fr}.flow-row b{transform:rotate(90deg)}.footer-shell{padding:8px 0;flex-direction:column;align-items:flex-start}}

.brand-place {
  margin-top: 4px;
  color: #e0a52f;
  font-family: Montserrat, sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .09em;
}

.brand-sub {
  margin-top: 1px !important;
}



/* =========================================================
   VERIFIED REGISTRY-DRIVEN CONTENT
   ========================================================= */

.verified-opportunity-grid {
  grid-column: 2 / -1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}

.verified-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(11,35,68,.13);
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(6,23,46,.05);
}

.verified-card-logo-wrap {
  height: 82px;
  display: grid;
  place-items: center;
  background:
    linear-gradient(
      135deg,
      #f9f6f0,
      #ece5d9
    );
  border-bottom: 1px solid rgba(11,35,68,.08);
}

.verified-card-logo {
  width: 100%;
  max-width: 150px;
  max-height: 58px;
  object-fit: contain;
}

.verified-card-fallback {
  max-width: 170px;
  padding: 0 12px;
  color: #0b2344;
  text-align: center;
  font-family: Montserrat, sans-serif;
  font-size: 10px;
  line-height: 1.25;
  font-weight: 900;
}

.verified-card-body {
  padding: 10px;
}

.verified-card-org {
  margin-bottom: 4px;
  color: #5a718c;
  font-size: 7px;
  font-weight: 700;
}

.verified-card h3 {
  margin: 0 0 5px;
  color: #0c2448;
  font-family: "Libre Baskerville", Georgia, serif;
  font-size: 14px;
  line-height: 1.1;
}

.verified-card p {
  min-height: 37px;
  margin: 0;
  color: #364252;
  font-size: 8px;
  line-height: 1.4;
}

.verified-card-actions {
  display: flex;
  gap: 6px;
  margin-top: 8px;
}

.verified-card-actions a,
.verified-card-actions button {
  flex: 1;
  padding: 6px;
  border: 1px solid #0b2344;
  border-radius: 3px;
  background: #fff;
  color: #0b2344;
  text-align: center;
  text-decoration: none;
  font-family: Montserrat, sans-serif;
  font-size: 7px;
  font-weight: 900;
}

.verified-card-actions a.primary {
  background: #0b2344;
  color: #fff;
}

.partner-rail {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  overflow: hidden;
  border: 1px solid rgba(11,35,68,.08);
  border-radius: 6px;
}

.partner-cell {
  min-height: 54px;
  padding: 5px;
  display: grid;
  place-items: center;
  border-right: 1px solid rgba(11,35,68,.08);
  background: #fff;
  text-decoration: none;
}

.partner-cell:last-child {
  border-right: 0;
}

.partner-cell img {
  display: block;
  width: 100%;
  max-width: 95px;
  max-height: 38px;
  object-fit: contain;
}

.partner-cell span {
  color: #0b2344;
  text-align: center;
  font-family: Montserrat, sans-serif;
  font-size: 7px;
  line-height: 1.25;
  font-weight: 800;
}

@media (max-width: 1000px) {

  .verified-opportunity-grid {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, 1fr);
  }

  .partner-rail {
    grid-template-columns: repeat(5, 1fr);
  }

}

@media (max-width: 650px) {

  .verified-opportunity-grid,
  .partner-rail {
    grid-template-columns: 1fr;
  }

}


/* =========================================================
   FINAL VERSION 3 HERO SOURCE
   Exact user-approved Lake Norman photograph.
   Real HTML/logo/nav/text are layered ONCE above it.
   ========================================================= */

.site-header {
  display: block !important;

  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;

  z-index: 30 !important;
}


.nav-shell {
  width: min(1460px, calc(100% - 64px)) !important;

  height: 86px !important;

  margin: 0 auto !important;

  display: flex !important;
  align-items: center !important;

  gap: 38px !important;
}


.brand {
  margin-right: auto !important;

  color: #fff !important;

  text-decoration: none !important;
}


.brand-main {
  font:
    900 38px/.88
    Montserrat,
    sans-serif !important;

  letter-spacing: -2px !important;
}


.brand-main span {
  color: #e0a52f !important;

  margin-left: 3px !important;

  font-size: 27px !important;
}


.brand-place {
  margin-top: 5px !important;

  color: #e0a52f !important;

  font:
    900 11px/1
    Montserrat,
    sans-serif !important;

  letter-spacing: .09em !important;
}


.brand-sub {
  margin-top: 3px !important;

  color: #fff !important;

  font:
    800 9px/1
    Montserrat,
    sans-serif !important;

  letter-spacing: .08em !important;
}


.main-nav {
  display: flex !important;

  align-items: center !important;

  gap: 44px !important;
}


.main-nav a {
  color: #fff !important;

  text-decoration: none !important;

  text-shadow:
    0 1px 5px
    rgba(0,0,0,.35) !important;
}


.main-nav strong {
  display: block !important;

  font:
    800 10px/1.1
    Montserrat,
    sans-serif !important;
}


.main-nav span {
  display: block !important;

  margin-top: 4px !important;

  color:
    rgba(255,255,255,.84) !important;

  font-size: 8px !important;
}


.get-involved {
  padding: 12px 21px !important;

  border-radius: 5px !important;

  background: #e0a52f !important;

  color: #14233f !important;

  text-decoration: none !important;

  font:
    900 9px
    Montserrat,
    sans-serif !important;

  box-shadow:
    0 4px 14px
    rgba(0,0,0,.15) !important;
}


/* HERO */

.hero {
  position: relative !important;

  height: 430px !important;

  overflow: hidden !important;

  background: #06172e !important;

  color: #fff !important;
}


.hero-bg {
  position: absolute !important;

  inset: 0 !important;

  display: block !important;

  background-image:
    url("./assets/hero-lake-norman-original.jpg") !important;

  background-repeat:
    no-repeat !important;

  background-size:
    cover !important;

  /*
   * Keeps the group on the right and
   * the sunset/horizon visible.
   */
  background-position:
    center 54% !important;

  transform: none !important;
}


.hero-bg::before,
.hero-bg::after {
  content: none !important;

  display: none !important;
}


.hero-shade {
  position: absolute !important;

  inset: 0 !important;

  display: block !important;

  z-index: 1 !important;

  background:
    linear-gradient(
      90deg,
      rgba(3,17,35,.94) 0%,
      rgba(3,17,35,.89) 23%,
      rgba(3,17,35,.67) 39%,
      rgba(3,17,35,.28) 55%,
      rgba(3,17,35,.06) 72%,
      rgba(3,17,35,.02) 100%
    ) !important;
}


.hero-copy {
  position: relative !important;

  z-index: 3 !important;

  display: block !important;

  width: min(1460px, calc(100% - 70px)) !important;

  margin: 0 auto !important;

  padding-top: 112px !important;
}


.hero-copy h1 {
  max-width: 520px !important;

  margin: 0 !important;

  color: #fff !important;

  font:
    900 59px/.89
    Montserrat,
    sans-serif !important;

  letter-spacing:
    -2.7px !important;

  text-shadow:
    0 3px 15px
    rgba(0,0,0,.18) !important;
}


.script {
  margin-top: -2px !important;

  color: #e0a52f !important;

  font:
    400 58px/.95
    Yellowtail,
    cursive !important;

  white-space: nowrap !important;

  text-shadow:
    0 3px 13px
    rgba(0,0,0,.18) !important;
}


.hero-copy p {
  margin: 14px 0 0 !important;

  color: #fff !important;

  font:
    600 14px/1.45
    Montserrat,
    sans-serif !important;

  text-shadow:
    0 2px 7px
    rgba(0,0,0,.25) !important;
}


.impact-link {
  margin-top: 15px !important;

  display: inline-flex !important;

  align-items: center !important;

  gap: 9px !important;

  color: #fff !important;

  text-decoration: none !important;

  font:
    800 8px
    Montserrat,
    sans-serif !important;
}


.impact-link span {
  width: 29px !important;
  height: 29px !important;

  border-radius: 50% !important;

  display: grid !important;
  place-items: center !important;

  background: #fff !important;

  color: #0b2344 !important;
}


/*
 * Temporary composite click-map is no longer needed.
 */
.v3-click-map {
  display: none !important;
}


/* Keep the real metric ribbon tight against hero */

.impact-band {
  position: relative !important;

  z-index: 5 !important;

  margin-top: 0 !important;

  background: #0b2344 !important;

  color: #fff !important;
}


@media (max-width: 1000px) {

  .main-nav {
    display: none !important;
  }

  .hero {
    height: 500px !important;
  }

}


@media (max-width: 650px) {

  .nav-shell {
    width:
      calc(100% - 28px) !important;
  }

  .brand-main {
    font-size: 29px !important;
  }

  .hero {
    height: 520px !important;
  }

  .hero-copy {
    width:
      calc(100% - 34px) !important;

    padding-top:
      126px !important;
  }

  .hero-copy h1 {
    font-size:
      43px !important;
  }

  .script {
    font-size:
      42px !important;

    white-space:
      normal !important;
  }

}


/* =========================================================
   VERSION 3 — INVOLVEMENT CARD TEMPLATE LOCK
   Structure first. Images are reintroduced after approval.
   ========================================================= */

.engage-section {
  padding: 18px 34px 22px !important;
  background: #fbfaf7 !important;
}

.section-title {
  margin-bottom: 15px !important;
  text-align: center !important;
  color: #0b2344 !important;
  font:
    900 14px/1.1
    Montserrat,
    sans-serif !important;
}

.engage-grid {
  width: min(1420px, 100%) !important;
  margin: 0 auto !important;

  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;

  gap: 20px !important;
  align-items: stretch !important;
}

.engage-card {
  position: relative !important;

  height: 255px !important;

  overflow: hidden !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;

  border:
    1px solid
    rgba(11,35,68,.13) !important;

  border-radius: 8px !important;

  background: #fff !important;

  box-shadow:
    0 5px 18px
    rgba(6,23,46,.05) !important;

  text-align: center !important;
}

/*
 * Temporary blank image frame.
 * This is the exact slot images will occupy later.
 */
.engage-card img {
  width: 100% !important;
  height: 105px !important;

  display: block !important;

  object-fit: cover !important;

  opacity: 0 !important;

  background:
    linear-gradient(
      135deg,
      #f1ede5,
      #e6e0d5
    ) !important;
}

/*
 * Gives us visible image-slot geometry
 * while the real image is hidden.
 */
.engage-card::before {
  content: "";

  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;

  height: 105px !important;

  background:
    linear-gradient(
      135deg,
      #f4f0e8,
      #e7e0d4
    ) !important;

  border-bottom:
    1px solid
    rgba(11,35,68,.08) !important;

  z-index: 0 !important;
}

.ico {
  position: relative !important;
  z-index: 2 !important;

  width: 50px !important;
  height: 50px !important;

  flex: 0 0 50px !important;

  margin:
    -25px auto 0 !important;

  border:
    3px solid
    #fff !important;

  border-radius: 50% !important;

  display: grid !important;
  place-items: center !important;

  color: #fff !important;

  font-style: normal !important;

  font-size: 20px !important;

  line-height: 1 !important;
}

.engage-card h3 {
  position: relative !important;
  z-index: 2 !important;

  margin:
    18px 10px 0 !important;

  color: #0b2344 !important;

  font:
    900 13px/1
    Montserrat,
    sans-serif !important;
}

.engage-card p {
  position: relative !important;
  z-index: 2 !important;

  min-height: 48px !important;

  margin:
    10px 14px 0 !important;

  color: #172944 !important;

  font-size: 10px !important;

  line-height: 1.45 !important;
}

.engage-card button {
  position: relative !important;
  z-index: 2 !important;

  margin:
    auto 0 17px !important;

  padding: 0 !important;

  border: 0 !important;

  background: transparent !important;

  color: #c88616 !important;

  font:
    900 8px/1
    Montserrat,
    sans-serif !important;
}

/* Keep all six icon colors intact */
.engage-card .gold {
  background: #e0a52f !important;
}

.engage-card .teal {
  background: #2d7777 !important;
}

.engage-card .navy {
  background: #173d6b !important;
}

.engage-card .green {
  background: #577c42 !important;
}

.engage-card .red {
  background: #9b3a38 !important;
}

.engage-card .amber {
  background: #d18c28 !important;
}


@media (max-width: 1000px) {

  .engage-grid {
    grid-template-columns:
      repeat(3, minmax(0, 1fr)) !important;
  }

}

@media (max-width: 650px) {

  .engage-grid {
    grid-template-columns:
      1fr !important;
  }

  .engage-card {
    height: 245px !important;
  }

}


/* =========================================================
   LINK ECOSYSTEM — STRUCTURE LOCK
   ========================================================= */

.link-ecosystem {
  background: #082746;
  color: #fff;
  overflow: hidden;
}

.ecosystem-shell {
  width: min(1420px, calc(100% - 80px));
  margin: 0 auto;
  padding: 54px 0 42px;

  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 70px;
  align-items: center;
}


/* INTRO */

.ecosystem-eyebrow {
  margin-bottom: 12px;

  color: #e5aa2c;

  font:
    900 12px/1
    Montserrat,
    sans-serif;

  letter-spacing: .08em;
}

.ecosystem-intro h2 {
  max-width: 590px;
  margin: 0;

  color: #fff;

  font:
    700 48px/.98
    Georgia,
    serif;

  letter-spacing: -1.5px;
}

.ecosystem-lead {
  max-width: 620px;
  margin: 20px 0 0;

  color: rgba(255,255,255,.92);

  font-size: 14px;
  line-height: 1.65;
}

.ecosystem-people {
  max-width: 620px;
  margin: 14px 0 0;

  color: rgba(255,255,255,.76);

  font-size: 12px;
  line-height: 1.6;
}

.ecosystem-people strong {
  color: #e5aa2c;
}

.ecosystem-button {
  margin-top: 22px;
  padding: 13px 19px;

  border: 0;
  border-radius: 5px;

  background: #e5aa2c;
  color: #082746;

  font:
    900 9px
    Montserrat,
    sans-serif;

  cursor: pointer;
}


/* LINK CENTER */

.ecosystem-center {
  position: relative;

  min-height: 335px;

  display: grid;
  place-items: center;
}

.link-core {
  position: relative;
  z-index: 5;

  width: 190px;
  height: 190px;

  border:
    3px solid
    #e5aa2c;

  border-radius: 50%;

  background: #fff;
  color: #082746;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  text-align: center;

  box-shadow:
    0 15px 40px
    rgba(0,0,0,.22);
}

.link-core-small {
  font:
    900 8px
    Montserrat,
    sans-serif;

  letter-spacing: .14em;
}

.link-core-brand {
  margin-top: 3px;

  font:
    900 42px/.9
    Montserrat,
    sans-serif;

  letter-spacing: -2px;
}

.link-core-place {
  margin-top: 5px;

  color: #d3941d;

  font:
    900 10px
    Montserrat,
    sans-serif;

  letter-spacing: .12em;
}

.link-core-copy {
  max-width: 125px;
  margin-top: 8px;

  font-size: 8px;
  line-height: 1.3;
}

.sector-ring {
  position: absolute;
  inset: 0;

  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(3, 1fr);

  align-items: center;
}

.sector-ring span {
  justify-self: center;

  padding: 8px 11px;

  border:
    1px solid
    rgba(229,170,44,.65);

  border-radius: 999px;

  background:
    rgba(255,255,255,.07);

  color: #fff;

  font:
    800 8px
    Montserrat,
    sans-serif;

  white-space: nowrap;
}

.sector-ring span:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
}

.sector-ring span:nth-child(2) {
  grid-column: 2;
  grid-row: 1;
}

.sector-ring span:nth-child(3) {
  grid-column: 3;
  grid-row: 1;
}

.sector-ring span:nth-child(4) {
  grid-column: 4;
  grid-row: 1;
}

.sector-ring span:nth-child(5) {
  grid-column: 1;
  grid-row: 2;
}

.sector-ring span:nth-child(6) {
  grid-column: 4;
  grid-row: 2;
}

.sector-ring span:nth-child(7) {
  grid-column: 1;
  grid-row: 3;
}

.sector-ring span:nth-child(8) {
  grid-column: 2;
  grid-row: 3;
}

.sector-ring span:nth-child(9) {
  grid-column: 3;
  grid-row: 3;
}

.sector-ring span:nth-child(10) {
  grid-column: 4;
  grid-row: 3;
}


/* SIX-CARD FLOW */

.ecosystem-process {
  width: min(1420px, calc(100% - 80px));
  margin: 0 auto;
  padding: 5px 0 48px;

  display: grid;

  grid-template-columns:
    1fr 34px
    1fr 34px
    1fr;

  grid-template-rows:
    175px
    34px
    175px;

  align-items: stretch;
}

.ecosystem-card {
  position: relative;

  min-width: 0;

  padding: 25px 25px 20px;

  border:
    1.5px solid
    #e5aa2c;

  border-radius: 10px;

  background:
    rgba(255,255,255,.035);

  text-align: center;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.ecosystem-number {
  position: absolute;
  top: 11px;
  right: 13px;

  color:
    rgba(255,255,255,.25);

  font:
    900 9px
    Montserrat,
    sans-serif;
}

.ecosystem-icon {
  width: 42px;
  height: 42px;

  margin-bottom: 11px;

  border:
    2px solid
    #fff;

  border-radius: 50%;

  display: grid;
  place-items: center;

  background: #e5aa2c;
  color: #082746;

  font-size: 20px;
  font-weight: 900;
}

.ecosystem-card h3 {
  margin: 0;

  color: #fff;

  font:
    900 11px
    Montserrat,
    sans-serif;
}

.ecosystem-card p {
  max-width: 315px;

  margin: 9px 0 0;

  color:
    rgba(255,255,255,.80);

  font-size: 10px;
  line-height: 1.45;
}

.ecosystem-arrow {
  display: grid;
  place-items: center;

  color: #e5aa2c;

  font-size: 27px;
  font-weight: 800;
}

.ecosystem-arrow-turn {
  grid-column: 5;
  grid-row: 2;
}

.ecosystem-card:nth-of-type(4) {
  grid-column: 5;
  grid-row: 3;
}

.ecosystem-arrow-back:nth-of-type(5) {
  grid-column: 4;
  grid-row: 3;
}

.ecosystem-card:nth-of-type(6) {
  grid-column: 3;
  grid-row: 3;
}

.ecosystem-arrow-back:nth-of-type(7) {
  grid-column: 2;
  grid-row: 3;
}

.ecosystem-card:nth-of-type(8) {
  grid-column: 1;
  grid-row: 3;
}


/* RELATIONSHIP CTA */

.ecosystem-relationship {
  min-height: 82px;

  padding: 12px max(40px, calc((100% - 1420px) / 2));

  background: #e5aa2c;
  color: #082746;

  display: grid;
  grid-template-columns: 54px 1fr auto;
  gap: 17px;
  align-items: center;
}

.relationship-icon {
  width: 48px;
  height: 48px;

  border-radius: 50%;

  display: grid;
  place-items: center;

  background: #082746;
  color: #e5aa2c;

  font-size: 23px;
}

.relationship-copy {
  display: flex;
  flex-direction: column;
}

.relationship-copy strong {
  font:
    700 22px
    Georgia,
    serif;
}

.relationship-copy span {
  margin-top: 4px;

  font-size: 10px;
}

.ecosystem-relationship button {
  min-width: 190px;

  padding: 14px 20px;

  border: 0;
  border-radius: 5px;

  background: #082746;
  color: #fff;

  font:
    900 9px
    Montserrat,
    sans-serif;

  cursor: pointer;
}


/* RESPONSIVE */

@media (max-width: 1000px) {

  .ecosystem-shell {
    grid-template-columns: 1fr;
  }

  .ecosystem-process {
    grid-template-columns:
      1fr 25px 1fr;

    grid-template-rows: auto;
    gap: 15px 0;
  }

  .ecosystem-process .ecosystem-card,
  .ecosystem-process .ecosystem-arrow {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .ecosystem-arrow-turn {
    transform: rotate(-90deg);
  }

}

@media (max-width: 650px) {

  .ecosystem-shell,
  .ecosystem-process {
    width:
      calc(100% - 34px);
  }

  .ecosystem-intro h2 {
    font-size: 38px;
  }

  .ecosystem-center {
    min-height: 430px;
  }

  .sector-ring {
    grid-template-columns:
      repeat(2,1fr);

    grid-template-rows:
      repeat(5,1fr);
  }

  .sector-ring span {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .ecosystem-process {
    display: flex;
    flex-direction: column;
  }

  .ecosystem-arrow {
    height: 25px;
    transform: rotate(90deg);
  }

  .ecosystem-card {
    min-height: 165px;
  }

  .ecosystem-relationship {
    grid-template-columns: 48px 1fr;
    padding: 18px 20px;
  }

  .ecosystem-relationship button {
    grid-column: 1 / -1;
    width: 100%;
  }

}


/* =========================================================
   V3 ECOSYSTEM RESTORATION
   ========================================================= */

.v3-ecosystem {
  padding: 38px 34px 0;

  background: #082746;
  color: #fff;
}

.v3-ecosystem-shell {
  width: min(1420px, 100%);
  margin: 0 auto;
}

.v3-ecosystem-copy {
  max-width: 560px;
  margin-bottom: 30px;
}

.v3-eyebrow {
  color: #e0a52f;

  font:
    900 9px
    Montserrat,
    sans-serif;

  letter-spacing: .08em;
}

.v3-ecosystem-copy h2 {
  margin: 7px 0 11px;

  font:
    700 37px/1.02
    Libre Baskerville,
    serif;
}

.v3-ecosystem-copy p {
  margin: 0;

  color: rgba(255,255,255,.82);

  font-size: 11px;
  line-height: 1.55;
}

.v3-ecosystem-copy button {
  margin-top: 16px;

  padding: 10px 15px;

  border: 0;
  border-radius: 4px;

  background: #e0a52f;
  color: #082746;

  font:
    900 7px
    Montserrat,
    sans-serif;
}


/* V3 FLOW */

.v3-flow-grid {
  display: grid;

  grid-template-columns:
    1fr 30px
    1fr 30px
    1fr;

  grid-template-rows:
    205px
    18px
    205px;

  gap: 0;

  padding-bottom: 36px;
}

.v3-flow-card {
  position: relative;

  overflow: hidden;

  border:
    1.5px solid
    #e0a52f;

  border-radius: 9px;

  background:
    #12385c;
}

.v3-image-slot {
  height: 112px;

  display: grid;
  place-items: center;

  background:
    linear-gradient(
      135deg,
      #294d6e,
      #173b5d
    );

  border-bottom:
    1px solid
    rgba(224,165,47,.60);

  color:
    rgba(255,255,255,.18);

  font:
    900 7px
    Montserrat,
    sans-serif;

  letter-spacing:
    .15em;
}

.v3-flow-icon {
  position: absolute;
  left: 16px;
  top: 91px;

  width: 42px;
  height: 42px;

  border:
    2px solid #fff;

  border-radius:
    50%;

  display:
    grid;

  place-items:
    center;

  color:
    #fff;

  font-size:
    18px;
}

.v3-flow-icon.gold { background:#e0a52f; }
.v3-flow-icon.teal { background:#287a78; }
.v3-flow-icon.blue { background:#25517d; }
.v3-flow-icon.green { background:#557e46; }
.v3-flow-icon.red { background:#9a3d3d; }
.v3-flow-icon.amber { background:#d18c28; }

.v3-flow-card h3 {
  margin:
    17px 18px 0;

  text-align:
    center;

  font:
    900 10px
    Montserrat,
    sans-serif;
}

.v3-flow-card p {
  margin:
    7px 18px 0;

  color:
    rgba(255,255,255,.78);

  text-align:
    center;

  font-size:
    8px;

  line-height:
    1.45;
}

.v3-arrow {
  display:
    grid;

  place-items:
    center;

  color:
    #e0a52f;

  font-size:
    27px;

  font-weight:
    800;
}

.v3-flow-card:nth-of-type(4) {
  grid-column:
    1;

  grid-row:
    3;
}

.v3-flow-card:nth-of-type(5) {
  grid-column:
    3;

  grid-row:
    3;
}

.v3-flow-card:nth-of-type(6) {
  grid-column:
    5;

  grid-row:
    3;
}

.v3-arrow.reverse {
  grid-row:
    3;
}


/* =========================================================
   PARTICIPATION / BADGE RECOGNITION
   ========================================================= */

.participation-recognition {
  padding:
    34px;

  background:
    #f8f6f1;
}

.participation-recognition-shell {
  width:
    min(1360px,100%);

  margin:
    0 auto;

  display:
    grid;

  grid-template-columns:
    .75fr 1.25fr;

  gap:
    34px;

  align-items:
    center;
}

.participation-recognition-copy h2 {
  margin:
    7px 0 9px;

  color:
    #082746;

  font:
    700 27px/1.08
    Libre Baskerville,
    serif;
}

.participation-recognition-copy p {
  max-width:
    500px;

  margin:
    0;

  color:
    #647080;

  font-size:
    9px;

  line-height:
    1.55;
}

.participation-badge-grid {
  display:
    grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:
    14px;
}

.participation-badge-card {
  min-height:
    178px;

  padding:
    13px;

  border:
    1px solid
    rgba(8,39,70,.12);

  border-radius:
    9px;

  background:
    #fff;

  text-align:
    center;
}

.badge-placeholder {
  height:
    90px;

  margin-bottom:
    10px;

  border-radius:
    7px;

  display:
    grid;

  place-items:
    center;

  background:
    linear-gradient(
      135deg,
      #eef0f3,
      #e0e4e8
    );

  color:
    #9aa1a9;

  font:
    900 7px
    Montserrat,
    sans-serif;

  letter-spacing:
    .10em;
}

.participation-badge-card strong {
  display:
    block;

  color:
    #082746;

  font:
    900 9px
    Montserrat,
    sans-serif;
}

.participation-badge-card span {
  display:
    block;

  margin-top:
    5px;

  color:
    #6a7480;

  font-size:
    7px;

  line-height:
    1.4;
}


@media(max-width:1000px) {

  .participation-recognition-shell {
    grid-template-columns:
      1fr;
  }

  .v3-flow-grid {
    grid-template-columns:
      1fr;

    grid-template-rows:
      auto;

    gap:
      10px;
  }

  .v3-flow-card,
  .v3-arrow,
  .v3-flow-card:nth-of-type(4),
  .v3-flow-card:nth-of-type(5),
  .v3-flow-card:nth-of-type(6) {
    grid-column:
      auto !important;

    grid-row:
      auto !important;
  }

  .v3-arrow {
    height:
      22px;

    transform:
      rotate(90deg);
  }

}


@media(max-width:700px) {

  .participation-badge-grid {
    grid-template-columns:
      1fr;
  }

}


/* =========================================================
   V3 ECOSYSTEM RESTORATION
   ========================================================= */

.v3-ecosystem {
  padding: 38px 34px 0;

  background: #082746;
  color: #fff;
}

.v3-ecosystem-shell {
  width: min(1420px, 100%);
  margin: 0 auto;
}

.v3-ecosystem-copy {
  max-width: 560px;
  margin-bottom: 30px;
}

.v3-eyebrow {
  color: #e0a52f;

  font:
    900 9px
    Montserrat,
    sans-serif;

  letter-spacing: .08em;
}

.v3-ecosystem-copy h2 {
  margin: 7px 0 11px;

  font:
    700 37px/1.02
    Libre Baskerville,
    serif;
}

.v3-ecosystem-copy p {
  margin: 0;

  color: rgba(255,255,255,.82);

  font-size: 11px;
  line-height: 1.55;
}

.v3-ecosystem-copy button {
  margin-top: 16px;

  padding: 10px 15px;

  border: 0;
  border-radius: 4px;

  background: #e0a52f;
  color: #082746;

  font:
    900 7px
    Montserrat,
    sans-serif;
}


/* V3 FLOW */

.v3-flow-grid {
  display: grid;

  grid-template-columns:
    1fr 30px
    1fr 30px
    1fr;

  grid-template-rows:
    205px
    18px
    205px;

  gap: 0;

  padding-bottom: 36px;
}

.v3-flow-card {
  position: relative;

  overflow: hidden;

  border:
    1.5px solid
    #e0a52f;

  border-radius: 9px;

  background:
    #12385c;
}

.v3-image-slot {
  height: 112px;

  display: grid;
  place-items: center;

  background:
    linear-gradient(
      135deg,
      #294d6e,
      #173b5d
    );

  border-bottom:
    1px solid
    rgba(224,165,47,.60);

  color:
    rgba(255,255,255,.18);

  font:
    900 7px
    Montserrat,
    sans-serif;

  letter-spacing:
    .15em;
}

.v3-flow-icon {
  position: absolute;
  left: 16px;
  top: 91px;

  width: 42px;
  height: 42px;

  border:
    2px solid #fff;

  border-radius:
    50%;

  display:
    grid;

  place-items:
    center;

  color:
    #fff;

  font-size:
    18px;
}

.v3-flow-icon.gold { background:#e0a52f; }
.v3-flow-icon.teal { background:#287a78; }
.v3-flow-icon.blue { background:#25517d; }
.v3-flow-icon.green { background:#557e46; }
.v3-flow-icon.red { background:#9a3d3d; }
.v3-flow-icon.amber { background:#d18c28; }

.v3-flow-card h3 {
  margin:
    17px 18px 0;

  text-align:
    center;

  font:
    900 10px
    Montserrat,
    sans-serif;
}

.v3-flow-card p {
  margin:
    7px 18px 0;

  color:
    rgba(255,255,255,.78);

  text-align:
    center;

  font-size:
    8px;

  line-height:
    1.45;
}

.v3-arrow {
  display:
    grid;

  place-items:
    center;

  color:
    #e0a52f;

  font-size:
    27px;

  font-weight:
    800;
}

.v3-flow-card:nth-of-type(4) {
  grid-column:
    1;

  grid-row:
    3;
}

.v3-flow-card:nth-of-type(5) {
  grid-column:
    3;

  grid-row:
    3;
}

.v3-flow-card:nth-of-type(6) {
  grid-column:
    5;

  grid-row:
    3;
}

.v3-arrow.reverse {
  grid-row:
    3;
}


/* =========================================================
   PARTICIPATION / BADGE RECOGNITION
   ========================================================= */

.participation-recognition {
  padding:
    34px;

  background:
    #f8f6f1;
}

.participation-recognition-shell {
  width:
    min(1360px,100%);

  margin:
    0 auto;

  display:
    grid;

  grid-template-columns:
    .75fr 1.25fr;

  gap:
    34px;

  align-items:
    center;
}

.participation-recognition-copy h2 {
  margin:
    7px 0 9px;

  color:
    #082746;

  font:
    700 27px/1.08
    Libre Baskerville,
    serif;
}

.participation-recognition-copy p {
  max-width:
    500px;

  margin:
    0;

  color:
    #647080;

  font-size:
    9px;

  line-height:
    1.55;
}

.participation-badge-grid {
  display:
    grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:
    14px;
}

.participation-badge-card {
  min-height:
    178px;

  padding:
    13px;

  border:
    1px solid
    rgba(8,39,70,.12);

  border-radius:
    9px;

  background:
    #fff;

  text-align:
    center;
}

.badge-placeholder {
  height:
    90px;

  margin-bottom:
    10px;

  border-radius:
    7px;

  display:
    grid;

  place-items:
    center;

  background:
    linear-gradient(
      135deg,
      #eef0f3,
      #e0e4e8
    );

  color:
    #9aa1a9;

  font:
    900 7px
    Montserrat,
    sans-serif;

  letter-spacing:
    .10em;
}

.participation-badge-card strong {
  display:
    block;

  color:
    #082746;

  font:
    900 9px
    Montserrat,
    sans-serif;
}

.participation-badge-card span {
  display:
    block;

  margin-top:
    5px;

  color:
    #6a7480;

  font-size:
    7px;

  line-height:
    1.4;
}


@media(max-width:1000px) {

  .participation-recognition-shell {
    grid-template-columns:
      1fr;
  }

  .v3-flow-grid {
    grid-template-columns:
      1fr;

    grid-template-rows:
      auto;

    gap:
      10px;
  }

  .v3-flow-card,
  .v3-arrow,
  .v3-flow-card:nth-of-type(4),
  .v3-flow-card:nth-of-type(5),
  .v3-flow-card:nth-of-type(6) {
    grid-column:
      auto !important;

    grid-row:
      auto !important;
  }

  .v3-arrow {
    height:
      22px;

    transform:
      rotate(90deg);
  }

}


@media(max-width:700px) {

  .participation-badge-grid {
    grid-template-columns:
      1fr;
  }

}


/* =========================================================
   OFFICIAL LINK PARTICIPATION & RECOGNITION
   ========================================================= */

.participation-recognition {
  padding: 34px 34px 38px;

  background: #fbfaf7;
}

.recognition-shell {
  width: min(1360px, 100%);
  margin: 0 auto;

  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 38px;

  align-items: center;
}

.recognition-copy h2 {
  margin: 7px 0 10px;

  color: #082746;

  font:
    700 30px/1.07
    Libre Baskerville,
    serif;
}

.recognition-copy p {
  max-width: 470px;

  margin: 0 0 9px;

  color: #657181;

  font-size: 9px;
  line-height: 1.55;
}

.recognition-grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0,1fr));

  gap: 15px;
}

.recognition-card {
  min-width: 0;

  padding: 16px;

  border: 1px solid rgba(8,39,70,.12);
  border-radius: 10px;

  background: #fff;

  text-align: center;

  box-shadow:
    0 5px 18px
    rgba(6,23,46,.05);
}

.recognition-badge {
  height: 132px;

  display: grid;
  place-items: center;

  padding: 8px;
}

.recognition-badge img {
  display: block;

  max-width: 100%;
  max-height: 120px;

  object-fit: contain;
}

.recognition-type {
  margin-top: 7px;

  color: #c18418;

  font:
    900 7px
    Montserrat,
    sans-serif;

  letter-spacing: .08em;
}

.recognition-card h3 {
  margin: 6px 0 0;

  color: #082746;

  font:
    700 15px
    Libre Baskerville,
    serif;
}

.recognition-card p {
  min-height: 42px;

  margin: 7px 0 0;

  color: #687381;

  font-size: 8px;
  line-height: 1.45;
}

.recognition-template-mark {
  width: 105px;
  height: 105px;

  margin: 11px auto 16px;

  border: 2px dashed #d3ac55;
  border-radius: 50%;

  display: grid;
  place-items: center;

  color: #082746;

  font:
    900 24px
    Montserrat,
    sans-serif;
}

.recognition-template > span {
  display: inline-block;

  margin-top: 7px;

  padding: 4px 7px;

  border-radius: 999px;

  background: #f1ede5;

  color: #847a67;

  font:
    800 6px
    Montserrat,
    sans-serif;
}


@media(max-width:1000px) {

  .recognition-shell {
    grid-template-columns: 1fr;
  }

}

@media(max-width:700px) {

  .recognition-grid {
    grid-template-columns: 1fr;
  }

}


/* =========================================================
   TWO OFFICIAL PARTICIPATION BADGES
   ========================================================= */

.participation-recognition .recognition-grid {
  display: grid !important;

  grid-template-columns:
    repeat(2, minmax(0, 1fr)) !important;

  gap: 20px !important;

  max-width: 720px;
}

.participation-recognition .recognition-card {
  min-height: 235px;
}

.participation-recognition .recognition-badge {
  height: 145px;
}

.participation-recognition .recognition-badge img {
  max-width: 100%;
  max-height: 135px;

  object-fit: contain;
}


/* Remove obsolete third-card template styling from view */

.recognition-template {
  display: none !important;
}


@media(max-width:700px) {

  .participation-recognition .recognition-grid {
    grid-template-columns:
      1fr !important;
  }

}


/* =========================================================
   V3 DESKTOP SCALE + GEOMETRY CORRECTION
   No data changes.
   No hero redesign.
   ========================================================= */


/* ---------------------------------------------------------
   GLOBAL CONTENT WIDTH
   --------------------------------------------------------- */

main,
.home-main {
  width: 100%;
}


/* ---------------------------------------------------------
   SIX WAYS TO GET INVOLVED
   Restore the strong V3 horizontal card presentation.
   --------------------------------------------------------- */

.involvement-section,
.get-involved-section,
.ways-section {
  width: 100% !important;

  padding:
    28px 34px 42px !important;
}

.involvement-grid,
.ways-grid,
.action-grid,
.get-involved-grid {
  width:
    min(1420px, calc(100% - 40px)) !important;

  max-width:
    1420px !important;

  margin:
    0 auto !important;

  display:
    grid !important;

  grid-template-columns:
    repeat(6, minmax(0, 1fr)) !important;

  gap:
    20px !important;
}

.involvement-card,
.way-card,
.action-card {
  width:
    100% !important;

  min-width:
    0 !important;

  min-height:
    330px !important;

  border-radius:
    10px !important;

  overflow:
    hidden !important;
}

.involvement-card .image,
.way-card .image,
.action-card .image,
.card-image {
  width:
    100% !important;

  height:
    145px !important;

  min-height:
    145px !important;
}


/* ---------------------------------------------------------
   REAL NEEDS
   Large editorial + opportunity area.
   --------------------------------------------------------- */

.needs-section,
.real-needs-section {
  width:
    100% !important;

  padding:
    48px 34px 32px !important;

  background:
    #f2eee6 !important;
}

.needs-shell,
.real-needs-shell,
.needs-layout {
  width:
    min(1420px, 100%) !important;

  max-width:
    1420px !important;

  margin:
    0 auto !important;

  display:
    grid !important;

  grid-template-columns:
    300px minmax(0, 1fr) !important;

  gap:
    34px !important;

  align-items:
    start !important;
}

.needs-copy,
.real-needs-copy {
  width:
    100% !important;

  max-width:
    300px !important;
}

.needs-copy h2,
.real-needs-copy h2 {
  margin:
    0 0 15px !important;

  color:
    #082746 !important;

  font-size:
    clamp(40px, 3.4vw, 64px) !important;

  line-height:
    .91 !important;
}

.needs-grid,
.opportunities-grid,
.opportunity-grid {
  width:
    100% !important;

  display:
    grid !important;

  grid-template-columns:
    repeat(3, minmax(0,1fr)) !important;

  gap:
    18px !important;
}

.need-card,
.opportunity-card {
  width:
    100% !important;

  min-width:
    0 !important;

  min-height:
    310px !important;

  border-radius:
    10px !important;
}


/* ---------------------------------------------------------
   COMMUNITY PARTNER RAIL
   Give the logos somewhere substantial to live.
   --------------------------------------------------------- */

.partner-rail,
.community-partners,
.partners-strip {
  width:
    min(1420px, calc(100% - 68px)) !important;

  max-width:
    1420px !important;

  min-height:
    115px !important;

  margin:
    0 auto 40px !important;

  padding:
    16px 20px 20px !important;

  border-radius:
    10px !important;

  background:
    #fff !important;
}

.partner-logos,
.community-partner-logos,
.partner-logo-grid {
  min-height:
    62px !important;

  margin-top:
    12px !important;

  display:
    grid !important;

  grid-template-columns:
    repeat(8, minmax(0,1fr)) !important;

  gap:
    18px !important;

  align-items:
    center !important;
}


/* ---------------------------------------------------------
   TWO OFFICIAL BADGES
   Make this a meaningful V3 section, not tiny cards.
   --------------------------------------------------------- */

.participation-recognition {
  width:
    100% !important;

  padding:
    55px 34px !important;
}

.recognition-shell {
  width:
    min(1320px,100%) !important;

  max-width:
    1320px !important;

  margin:
    0 auto !important;

  grid-template-columns:
    minmax(320px,.8fr)
    minmax(600px,1.2fr) !important;

  gap:
    70px !important;
}

.recognition-copy h2 {
  font-size:
    clamp(34px,3vw,52px) !important;

  line-height:
    1.02 !important;
}

.recognition-copy p {
  max-width:
    520px !important;

  font-size:
    14px !important;

  line-height:
    1.6 !important;
}

.participation-recognition .recognition-grid {
  width:
    100% !important;

  max-width:
    none !important;

  grid-template-columns:
    repeat(2,minmax(0,1fr)) !important;

  gap:
    24px !important;
}

.participation-recognition .recognition-card {
  min-height:
    330px !important;

  padding:
    25px !important;

  display:
    flex !important;

  flex-direction:
    column !important;

  justify-content:
    center !important;
}

.participation-recognition .recognition-badge {
  height:
    190px !important;
}

.participation-recognition .recognition-badge img {
  max-height:
    180px !important;

  max-width:
    100% !important;
}

.participation-recognition .recognition-card h3 {
  font-size:
    20px !important;
}

.participation-recognition .recognition-card p {
  min-height:
    auto !important;

  font-size:
    12px !important;

  line-height:
    1.5 !important;
}


/* ---------------------------------------------------------
   V3 ECOSYSTEM
   Restore large visual storytelling.
   --------------------------------------------------------- */

.v3-ecosystem {
  width:
    100% !important;

  padding:
    60px 34px 65px !important;
}

.v3-ecosystem-shell {
  width:
    min(1420px,100%) !important;

  max-width:
    1420px !important;

  margin:
    0 auto !important;
}

.v3-ecosystem-copy {
  max-width:
    720px !important;

  margin-bottom:
    42px !important;
}

.v3-eyebrow {
  font-size:
    13px !important;
}

.v3-ecosystem-copy h2 {
  margin:
    9px 0 16px !important;

  font-size:
    clamp(42px,4vw,68px) !important;

  line-height:
    .98 !important;
}

.v3-ecosystem-copy p {
  max-width:
    690px !important;

  font-size:
    15px !important;

  line-height:
    1.6 !important;
}

.v3-ecosystem-copy button {
  margin-top:
    22px !important;

  padding:
    14px 20px !important;

  font-size:
    10px !important;
}


/* 3 x 2 V3 story geometry */

.v3-flow-grid {
  width:
    100% !important;

  display:
    grid !important;

  grid-template-columns:
    repeat(3,minmax(0,1fr)) !important;

  grid-template-rows:
    repeat(2,310px) !important;

  gap:
    24px !important;

  padding-bottom:
    0 !important;
}

.v3-flow-card,
.v3-flow-card:nth-of-type(4),
.v3-flow-card:nth-of-type(5),
.v3-flow-card:nth-of-type(6) {
  grid-column:
    auto !important;

  grid-row:
    auto !important;

  width:
    100% !important;

  min-width:
    0 !important;

  min-height:
    310px !important;
}

.v3-image-slot {
  width:
    100% !important;

  height:
    185px !important;
}

.v3-flow-icon {
  top:
    160px !important;

  left:
    22px !important;

  width:
    48px !important;

  height:
    48px !important;
}

.v3-flow-card h3 {
  margin:
    26px 20px 0 !important;

  font-size:
    13px !important;
}

.v3-flow-card p {
  margin:
    9px 22px 0 !important;

  font-size:
    11px !important;

  line-height:
    1.45 !important;
}


/* Remove detached arrows.
   We can restore directional connectors after card geometry
   is visually approved. */

.v3-arrow {
  display:
    none !important;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media(max-width:1100px) {

  .involvement-grid,
  .ways-grid,
  .action-grid,
  .get-involved-grid {
    grid-template-columns:
      repeat(3,minmax(0,1fr)) !important;
  }

  .needs-shell,
  .real-needs-shell,
  .needs-layout {
    grid-template-columns:
      1fr !important;
  }

  .needs-copy,
  .real-needs-copy {
    max-width:
      650px !important;
  }

  .needs-grid,
  .opportunities-grid,
  .opportunity-grid {
    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;
  }

  .recognition-shell {
    grid-template-columns:
      1fr !important;
  }

  .v3-flow-grid {
    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;

    grid-template-rows:
      auto !important;
  }

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media(max-width:700px) {

  .involvement-grid,
  .ways-grid,
  .action-grid,
  .get-involved-grid,

  .needs-grid,
  .opportunities-grid,
  .opportunity-grid,

  .participation-recognition .recognition-grid,

  .v3-flow-grid {
    grid-template-columns:
      1fr !important;
  }

  .partner-logos,
  .community-partner-logos,
  .partner-logo-grid {
    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;
  }

}


/* =========================================================
   ACTUAL CURRENT-BUILD SELECTORS
   V3 GEOMETRY LOCK
   HERO INTENTIONALLY UNTOUCHED
   ========================================================= */


/* =========================================================
   SIX INVOLVEMENT CARDS
   ========================================================= */

.engage-section {
  width: 100% !important;

  padding:
    30px 38px 42px !important;

  background:
    #fbfaf7 !important;
}


.engage-section .section-title {
  margin:
    0 0 20px !important;

  text-align:
    center !important;

  color:
    #0b2344 !important;

  font:
    900 18px/1.1
    Montserrat,
    sans-serif !important;
}


.engage-grid {
  width:
    min(1500px, calc(100% - 20px)) !important;

  max-width:
    1500px !important;

  margin:
    0 auto !important;

  display:
    grid !important;

  grid-template-columns:
    repeat(6, minmax(0,1fr)) !important;

  gap:
    22px !important;

  align-items:
    stretch !important;
}


.engage-card {
  width:
    100% !important;

  min-width:
    0 !important;

  height:
    330px !important;

  min-height:
    330px !important;

  overflow:
    hidden !important;

  border:
    1px solid
    rgba(11,35,68,.13) !important;

  border-radius:
    10px !important;

  background:
    #fff !important;

  box-shadow:
    0 7px 22px
    rgba(6,23,46,.07) !important;
}


/* blank image template stays intentionally visible */

.engage-card::before {
  height:
    145px !important;
}


.engage-card img {
  width:
    100% !important;

  height:
    145px !important;

  min-height:
    145px !important;

  object-fit:
    cover !important;
}


.engage-card .ico {
  width:
    58px !important;

  height:
    58px !important;

  flex:
    0 0 58px !important;

  margin-top:
    -29px !important;

  border:
    4px solid
    #fff !important;

  font-size:
    22px !important;
}


.engage-card h3 {
  margin-top:
    20px !important;

  font-size:
    15px !important;
}


.engage-card p {
  min-height:
    61px !important;

  margin:
    11px 20px 0 !important;

  font-size:
    12px !important;

  line-height:
    1.5 !important;
}


.engage-card button {
  margin:
    auto 0 21px !important;

  font-size:
    9px !important;
}



/* =========================================================
   REAL NEEDS
   ========================================================= */

.needs-section {
  width:
    100% !important;

  padding:
    50px 42px 38px !important;

  background:
    #f1ede5 !important;
}


.needs-grid {
  width:
    min(1500px,100%) !important;

  max-width:
    1500px !important;

  margin:
    0 auto !important;

  display:
    grid !important;

  grid-template-columns:
    310px minmax(0,1fr) !important;

  gap:
    38px !important;

  align-items:
    start !important;
}


.needs-intro {
  width:
    100% !important;

  max-width:
    310px !important;
}


.needs-intro h2 {
  margin:
    0 0 18px !important;

  color:
    #0b2344 !important;

  font:
    700 54px/.92
    "Libre Baskerville",
    Georgia,
    serif !important;

  letter-spacing:
    -2px !important;
}


.needs-intro p {
  margin:
    0 0 11px !important;

  font-size:
    12px !important;

  line-height:
    1.55 !important;
}


.needs-intro .gold-btn,
.needs-intro button {
  margin-top:
    10px !important;

  padding:
    13px 16px !important;

  font-size:
    9px !important;
}



/* =========================================================
   VERIFIED OPPORTUNITY AREA
   ========================================================= */

.verified-opportunity-grid {
  width:
    100% !important;

  min-width:
    0 !important;

  display:
    grid !important;

  grid-template-columns:
    repeat(4,minmax(0,1fr)) !important;

  gap:
    18px !important;
}


.verified-card {
  width:
    100% !important;

  min-width:
    0 !important;

  min-height:
    315px !important;

  border-radius:
    10px !important;
}


.verified-logo-wrap,
.verified-card-logo-wrap {
  height:
    125px !important;

  min-height:
    125px !important;

  padding:
    18px !important;
}


.verified-logo-wrap img,
.verified-card-logo {
  max-width:
    85% !important;

  max-height:
    85px !important;
}


.verified-body,
.verified-card-body {
  padding:
    17px !important;
}


.verified-body h3,
.verified-card h3 {
  font-size:
    18px !important;
}


.verified-body p,
.verified-card p {
  font-size:
    11px !important;

  line-height:
    1.5 !important;
}



/* =========================================================
   COMMUNITY PARTNER RAIL
   ========================================================= */

.partners-panel {
  width:
    min(1500px,100%) !important;

  max-width:
    1500px !important;

  margin:
    28px auto 0 !important;

  padding:
    16px 18px 18px !important;

  border-radius:
    10px !important;
}


.partners-head,
.partners-heading {
  min-height:
    28px !important;

  margin-bottom:
    12px !important;
}


.partners-head strong,
.partners-heading strong {
  font-size:
    12px !important;
}


.partner-rail {
  width:
    100% !important;

  min-height:
    96px !important;

  display:
    grid !important;

  grid-template-columns:
    repeat(8,minmax(0,1fr)) !important;

  border-radius:
    7px !important;
}


.partner-cell,
.partner-item {
  min-height:
    94px !important;

  padding:
    13px !important;
}


.partner-cell img,
.partner-item img {
  max-width:
    90% !important;

  max-height:
    64px !important;
}



/* =========================================================
   TWO-BADGE RECOGNITION
   ========================================================= */

.participation-recognition {
  width:
    100% !important;

  padding:
    62px 40px !important;

  background:
    #fbfaf7 !important;
}


.recognition-shell {
  width:
    min(1380px,100%) !important;

  max-width:
    1380px !important;

  margin:
    0 auto !important;

  display:
    grid !important;

  grid-template-columns:
    minmax(360px,.8fr)
    minmax(680px,1.2fr) !important;

  gap:
    74px !important;

  align-items:
    center !important;
}


.recognition-copy {
  max-width:
    520px !important;
}


.recognition-copy .small-label {
  font-size:
    10px !important;
}


.recognition-copy h2 {
  margin:
    8px 0 15px !important;

  font-size:
    48px !important;

  line-height:
    1.02 !important;
}


.recognition-copy p {
  max-width:
    520px !important;

  margin-bottom:
    12px !important;

  font-size:
    13px !important;

  line-height:
    1.6 !important;
}


.participation-recognition .recognition-grid {
  width:
    100% !important;

  max-width:
    none !important;

  display:
    grid !important;

  grid-template-columns:
    repeat(2,minmax(0,1fr)) !important;

  gap:
    26px !important;
}


.participation-recognition .recognition-card {
  min-height:
    360px !important;

  padding:
    27px !important;

  display:
    flex !important;

  flex-direction:
    column !important;

  align-items:
    center !important;

  justify-content:
    center !important;
}


.participation-recognition .recognition-badge {
  width:
    100% !important;

  height:
    215px !important;

  padding:
    8px !important;
}


.participation-recognition .recognition-badge img {
  max-width:
    100% !important;

  max-height:
    200px !important;
}


.participation-recognition .recognition-type {
  margin-top:
    10px !important;

  font-size:
    9px !important;
}


.participation-recognition .recognition-card h3 {
  margin-top:
    8px !important;

  font-size:
    20px !important;
}


.participation-recognition .recognition-card p {
  max-width:
    300px !important;

  min-height:
    auto !important;

  margin-top:
    9px !important;

  font-size:
    11px !important;

  line-height:
    1.5 !important;
}



/* =========================================================
   V3 ECOSYSTEM STORY
   ========================================================= */

.v3-ecosystem {
  width:
    100% !important;

  padding:
    64px 40px 72px !important;

  background:
    #082746 !important;
}


.v3-ecosystem-shell {
  width:
    min(1500px,100%) !important;

  max-width:
    1500px !important;

  margin:
    0 auto !important;
}


.v3-ecosystem-copy {
  max-width:
    760px !important;

  margin:
    0 0 46px !important;
}


.v3-eyebrow {
  font-size:
    11px !important;
}


.v3-ecosystem-copy h2 {
  margin:
    8px 0 16px !important;

  font-size:
    58px !important;

  line-height:
    .98 !important;
}


.v3-ecosystem-copy p {
  max-width:
    720px !important;

  font-size:
    14px !important;

  line-height:
    1.6 !important;
}


.v3-ecosystem-copy button {
  margin-top:
    20px !important;

  padding:
    13px 18px !important;

  font-size:
    9px !important;
}


.v3-flow-grid {
  width:
    100% !important;

  display:
    grid !important;

  grid-template-columns:
    repeat(3,minmax(0,1fr)) !important;

  grid-template-rows:
    repeat(2,325px) !important;

  gap:
    26px !important;

  padding-bottom:
    0 !important;
}


.v3-flow-card,
.v3-flow-card:nth-of-type(4),
.v3-flow-card:nth-of-type(5),
.v3-flow-card:nth-of-type(6) {
  grid-column:
    auto !important;

  grid-row:
    auto !important;

  width:
    100% !important;

  min-width:
    0 !important;

  min-height:
    325px !important;

  border-radius:
    10px !important;
}


.v3-image-slot {
  width:
    100% !important;

  height:
    195px !important;

  min-height:
    195px !important;
}


.v3-flow-icon {
  top:
    168px !important;

  left:
    22px !important;

  width:
    54px !important;

  height:
    54px !important;

  font-size:
    20px !important;
}


.v3-flow-card h3 {
  margin:
    30px 22px 0 !important;

  font-size:
    14px !important;
}


.v3-flow-card p {
  margin:
    10px 24px 0 !important;

  font-size:
    11px !important;

  line-height:
    1.5 !important;
}


/*
 * Hide arrows until the 3x2 geometry is approved.
 * We then add aligned directional connectors.
 */

.v3-arrow {
  display:
    none !important;
}



/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1150px) {

  .engage-grid {
    grid-template-columns:
      repeat(3,minmax(0,1fr)) !important;
  }

  .needs-grid {
    grid-template-columns:
      1fr !important;
  }

  .needs-intro {
    max-width:
      650px !important;
  }

  .verified-opportunity-grid {
    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;
  }

  .recognition-shell {
    grid-template-columns:
      1fr !important;
  }

  .v3-flow-grid {
    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;

    grid-template-rows:
      auto !important;
  }

}


@media(max-width:700px) {

  .engage-grid,
  .verified-opportunity-grid,
  .participation-recognition .recognition-grid,
  .v3-flow-grid {
    grid-template-columns:
      1fr !important;
  }

  .partner-rail {
    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;
  }

}


/* =========================================================
   VERIFIED NONPROFIT RENDERER — FINAL CONNECTION
   ========================================================= */

#verifiedOpportunityCards {
  width: 100% !important;

  display: grid !important;

  grid-template-columns:
    repeat(4, minmax(0,1fr)) !important;

  gap: 18px !important;
}


#verifiedOpportunityCards .verified-card {
  width: 100% !important;

  min-width: 0 !important;

  min-height: 330px !important;

  overflow: hidden !important;

  display: flex !important;

  flex-direction: column !important;

  border:
    1px solid
    rgba(8,39,70,.12) !important;

  border-radius:
    10px !important;

  background:
    #fff !important;

  box-shadow:
    0 7px 20px
    rgba(8,39,70,.06) !important;
}


#verifiedOpportunityCards .verified-logo-wrap {
  position: relative !important;

  height: 135px !important;

  min-height: 135px !important;

  padding: 28px 20px 18px !important;

  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

  background:
    #f8f7f3 !important;

  border-bottom:
    1px solid
    rgba(8,39,70,.08) !important;
}


#verifiedOpportunityCards .verified-type {
  position: absolute !important;

  top: 11px !important;

  left: 13px !important;

  color: #b27a17 !important;

  font:
    900 8px
    Montserrat,
    sans-serif !important;

  text-transform: uppercase !important;

  letter-spacing: .08em !important;
}


#verifiedOpportunityCards
.verified-logo-wrap img {
  max-width: 80% !important;

  max-height: 78px !important;

  object-fit: contain !important;
}


#verifiedOpportunityCards
.verified-logo-name {
  color: #0b2344 !important;

  text-align: center !important;

  font:
    800 16px/1.25
    Montserrat,
    sans-serif !important;
}


#verifiedOpportunityCards
.verified-body {
  flex: 1 !important;

  padding: 18px !important;

  display: flex !important;

  flex-direction: column !important;
}


#verifiedOpportunityCards
.verified-org-name {
  margin-bottom: 7px !important;

  color: #6d7783 !important;

  font:
    800 8px
    Montserrat,
    sans-serif !important;

  text-transform: uppercase !important;

  letter-spacing: .06em !important;
}


#verifiedOpportunityCards h3 {
  margin: 0 !important;

  color: #0b2344 !important;

  font:
    700 20px/1.15
    "Libre Baskerville",
    Georgia,
    serif !important;
}


#verifiedOpportunityCards p {
  margin:
    10px 0 16px !important;

  color: #687381 !important;

  font-size: 11px !important;

  line-height: 1.55 !important;
}


#verifiedOpportunityCards
.verified-actions {
  margin-top: auto !important;

  padding-top: 13px !important;

  display: flex !important;

  align-items: center !important;

  justify-content: space-between !important;

  gap: 10px !important;

  border-top:
    1px solid
    rgba(8,39,70,.08) !important;
}


#verifiedOpportunityCards
.verified-details {
  padding: 0 !important;

  border: 0 !important;

  background: transparent !important;

  color: #0b2344 !important;

  cursor: pointer !important;

  font:
    900 8px
    Montserrat,
    sans-serif !important;
}


#verifiedOpportunityCards
.verified-actions a {
  color: #b27a17 !important;

  text-decoration: none !important;

  font:
    900 8px
    Montserrat,
    sans-serif !important;
}


/* Partner/nonprofit logo rail */

#partnerRail {
  width: 100% !important;

  min-height: 100px !important;

  display: grid !important;

  grid-template-columns:
    repeat(8,minmax(0,1fr)) !important;

  align-items: stretch !important;

  background: #fff !important;
}


#partnerRail .partner-cell {
  min-width: 0 !important;

  min-height: 100px !important;

  padding: 15px !important;

  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

  border-right:
    1px solid
    rgba(8,39,70,.07) !important;

  text-decoration: none !important;
}


#partnerRail .partner-cell img {
  display: block;

  max-width: 90% !important;

  max-height: 65px !important;

  object-fit: contain !important;
}


#partnerRail .partner-name {
  color: #0b2344 !important;

  text-align: center !important;

  font:
    800 10px/1.25
    Montserrat,
    sans-serif !important;
}


@media(max-width:1200px) {

  #verifiedOpportunityCards {
    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;
  }

  #partnerRail {
    grid-template-columns:
      repeat(4,minmax(0,1fr)) !important;
  }

}


@media(max-width:700px) {

  #verifiedOpportunityCards {
    grid-template-columns:
      1fr !important;
  }

  #partnerRail {
    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;
  }

}


/* =========================================================
   VERIFIED NONPROFIT RENDERER — FINAL CONNECTION
   ========================================================= */

#verifiedOpportunityCards {
  width: 100% !important;

  display: grid !important;

  grid-template-columns:
    repeat(4, minmax(0,1fr)) !important;

  gap: 18px !important;
}


#verifiedOpportunityCards .verified-card {
  width: 100% !important;

  min-width: 0 !important;

  min-height: 330px !important;

  overflow: hidden !important;

  display: flex !important;

  flex-direction: column !important;

  border:
    1px solid
    rgba(8,39,70,.12) !important;

  border-radius:
    10px !important;

  background:
    #fff !important;

  box-shadow:
    0 7px 20px
    rgba(8,39,70,.06) !important;
}


#verifiedOpportunityCards .verified-logo-wrap {
  position: relative !important;

  height: 135px !important;

  min-height: 135px !important;

  padding: 28px 20px 18px !important;

  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

  background:
    #f8f7f3 !important;

  border-bottom:
    1px solid
    rgba(8,39,70,.08) !important;
}


#verifiedOpportunityCards .verified-type {
  position: absolute !important;

  top: 11px !important;

  left: 13px !important;

  color: #b27a17 !important;

  font:
    900 8px
    Montserrat,
    sans-serif !important;

  text-transform: uppercase !important;

  letter-spacing: .08em !important;
}


#verifiedOpportunityCards
.verified-logo-wrap img {
  max-width: 80% !important;

  max-height: 78px !important;

  object-fit: contain !important;
}


#verifiedOpportunityCards
.verified-logo-name {
  color: #0b2344 !important;

  text-align: center !important;

  font:
    800 16px/1.25
    Montserrat,
    sans-serif !important;
}


#verifiedOpportunityCards
.verified-body {
  flex: 1 !important;

  padding: 18px !important;

  display: flex !important;

  flex-direction: column !important;
}


#verifiedOpportunityCards
.verified-org-name {
  margin-bottom: 7px !important;

  color: #6d7783 !important;

  font:
    800 8px
    Montserrat,
    sans-serif !important;

  text-transform: uppercase !important;

  letter-spacing: .06em !important;
}


#verifiedOpportunityCards h3 {
  margin: 0 !important;

  color: #0b2344 !important;

  font:
    700 20px/1.15
    "Libre Baskerville",
    Georgia,
    serif !important;
}


#verifiedOpportunityCards p {
  margin:
    10px 0 16px !important;

  color: #687381 !important;

  font-size: 11px !important;

  line-height: 1.55 !important;
}


#verifiedOpportunityCards
.verified-actions {
  margin-top: auto !important;

  padding-top: 13px !important;

  display: flex !important;

  align-items: center !important;

  justify-content: space-between !important;

  gap: 10px !important;

  border-top:
    1px solid
    rgba(8,39,70,.08) !important;
}


#verifiedOpportunityCards
.verified-details {
  padding: 0 !important;

  border: 0 !important;

  background: transparent !important;

  color: #0b2344 !important;

  cursor: pointer !important;

  font:
    900 8px
    Montserrat,
    sans-serif !important;
}


#verifiedOpportunityCards
.verified-actions a {
  color: #b27a17 !important;

  text-decoration: none !important;

  font:
    900 8px
    Montserrat,
    sans-serif !important;
}


/* Partner/nonprofit logo rail */

#partnerRail {
  width: 100% !important;

  min-height: 100px !important;

  display: grid !important;

  grid-template-columns:
    repeat(8,minmax(0,1fr)) !important;

  align-items: stretch !important;

  background: #fff !important;
}


#partnerRail .partner-cell {
  min-width: 0 !important;

  min-height: 100px !important;

  padding: 15px !important;

  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

  border-right:
    1px solid
    rgba(8,39,70,.07) !important;

  text-decoration: none !important;
}


#partnerRail .partner-cell img {
  display: block;

  max-width: 90% !important;

  max-height: 65px !important;

  object-fit: contain !important;
}


#partnerRail .partner-name {
  color: #0b2344 !important;

  text-align: center !important;

  font:
    800 10px/1.25
    Montserrat,
    sans-serif !important;
}


@media(max-width:1200px) {

  #verifiedOpportunityCards {
    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;
  }

  #partnerRail {
    grid-template-columns:
      repeat(4,minmax(0,1fr)) !important;
  }

}


@media(max-width:700px) {

  #verifiedOpportunityCards {
    grid-template-columns:
      1fr !important;
  }

  #partnerRail {
    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;
  }

}

/* ==========================================================
   LINK V3 — VERIFIED CARD + NONPROFIT LOGO SCALE
   Presentation only.
   Does not alter registry, geometry, hero, badges or data.
   ========================================================== */

@media (min-width: 1001px) {

  /* VERIFIED OPPORTUNITY CARDS */

  #verifiedOpportunityCards {
    gap: 22px;
  }

  #verifiedOpportunityCards .verified-card {
    min-height: 330px;
    border-radius: 12px;
  }

  #verifiedOpportunityCards .verified-logo-wrap,
  #verifiedOpportunityCards .verified-card-logo-wrap {
    min-height: 112px;
    padding: 18px 20px;
  }

  #verifiedOpportunityCards .verified-logo-wrap img,
  #verifiedOpportunityCards .verified-card-logo {
    width: auto;
    max-width: 180px;
    max-height: 78px;
    object-fit: contain;
  }

  #verifiedOpportunityCards .verified-body,
  #verifiedOpportunityCards .verified-card-body {
    padding: 20px 20px 18px;
  }

  #verifiedOpportunityCards .verified-org-name,
  #verifiedOpportunityCards .verified-card-org {
    font-size: 10px;
    line-height: 1.3;
  }

  #verifiedOpportunityCards .verified-type {
    font-size: 8px;
    padding: 6px 9px;
  }

  #verifiedOpportunityCards h3 {
    font-size: 19px;
    line-height: 1.18;
    margin-top: 10px;
  }

  #verifiedOpportunityCards p {
    font-size: 11px;
    line-height: 1.55;
  }

  #verifiedOpportunityCards .verified-actions,
  #verifiedOpportunityCards .verified-card-actions {
    gap: 9px;
    margin-top: 16px;
  }

  #verifiedOpportunityCards .verified-actions a,
  #verifiedOpportunityCards .verified-actions button,
  #verifiedOpportunityCards .verified-card-actions a,
  #verifiedOpportunityCards .verified-card-actions button {
    min-height: 36px;
    padding: 9px 12px;
    font-size: 8px;
  }


  /* PARTICIPATING NONPROFIT / PARTNER RAIL */

  #partnerRail {
    grid-template-columns: repeat(5, 1fr);
    gap: 1px;
  }

  #partnerRail .partner-cell,
  #partnerRail .partner {
    min-height: 118px;
    padding: 14px 16px;
  }

  #partnerRail .partner-cell img,
  #partnerRail .partner img {
    width: auto;
    max-width: 170px;
    max-height: 72px;
    object-fit: contain;
  }

  #partnerRail .partner-name,
  #partnerRail .partner-cell span {
    margin-top: 8px;
    font-size: 9px;
    line-height: 1.3;
  }
}


/* TABLET */

@media (min-width: 651px) and (max-width: 1000px) {

  #partnerRail {
    grid-template-columns: repeat(3, 1fr);
  }

  #partnerRail .partner-cell,
  #partnerRail .partner {
    min-height: 105px;
    padding: 12px;
  }

  #partnerRail .partner-cell img,
  #partnerRail .partner img {
    max-width: 145px;
    max-height: 64px;
  }
}


/* MOBILE */

@media (max-width: 650px) {

  #verifiedOpportunityCards .verified-logo-wrap,
  #verifiedOpportunityCards .verified-card-logo-wrap {
    min-height: 95px;
    padding: 14px;
  }

  #verifiedOpportunityCards .verified-logo-wrap img,
  #verifiedOpportunityCards .verified-card-logo {
    max-width: 155px;
    max-height: 65px;
  }

  #verifiedOpportunityCards h3 {
    font-size: 18px;
  }

  #verifiedOpportunityCards p {
    font-size: 11px;
    line-height: 1.5;
  }

  #partnerRail {
    grid-template-columns: repeat(2, 1fr);
  }

  #partnerRail .partner-cell,
  #partnerRail .partner {
    min-height: 100px;
    padding: 12px;
  }

  #partnerRail .partner-cell img,
  #partnerRail .partner img {
    max-width: 135px;
    max-height: 58px;
  }
}

/* LINK V3 — END VERIFIED CARD + LOGO SCALE */

/* ==========================================================
   LINK V3 — COMMUNITY PARTNER LOGO REFINEMENT
   Partner presentation only.
   Opportunity cards intentionally unchanged.
   ========================================================== */

@media (min-width: 1001px) {

  .partners-panel {
    padding: 18px 22px 22px;
  }

  .partners-head {
    margin-bottom: 16px;
  }

  #partnerRail {
    grid-template-columns: repeat(5, 1fr);
    align-items: stretch;
  }

  #partnerRail .partner-cell,
  #partnerRail .partner {
    min-height: 135px;
    padding: 18px 20px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  #partnerRail .partner-cell img,
  #partnerRail .partner img {
    width: auto;
    height: auto;

    max-width: 190px;
    max-height: 90px;

    object-fit: contain;
  }

  #partnerRail .partner-name,
  #partnerRail .partner-cell span {
    margin-top: 10px;
    font-size: 9px;
    line-height: 1.25;
    text-align: center;
  }
}


/* TABLET */

@media (min-width: 651px) and (max-width: 1000px) {

  #partnerRail {
    grid-template-columns: repeat(3, 1fr);
  }

  #partnerRail .partner-cell,
  #partnerRail .partner {
    min-height: 125px;
  }

  #partnerRail .partner-cell img,
  #partnerRail .partner img {
    max-width: 175px;
    max-height: 82px;
  }
}


/* MOBILE */

@media (max-width: 650px) {

  #partnerRail {
    grid-template-columns: repeat(2, 1fr);
  }

  #partnerRail .partner-cell,
  #partnerRail .partner {
    min-height: 115px;
  }

  #partnerRail .partner-cell img,
  #partnerRail .partner img {
    max-width: 150px;
    max-height: 72px;
  }
}

/* LINK V3 — END COMMUNITY PARTNER LOGO REFINEMENT */

/* ==========================================================
   LINK COMMUNITY HUB — NONPROFIT INTAKE + ADMIN
   ========================================================== */

.link-form-page,
.link-admin-page {
  background: #f7f3eb;
  color: #0b2344;
}

.link-form-header,
.link-admin-header {
  min-height: 78px;
  padding: 16px max(28px, calc((100% - 1180px) / 2));
  background: #0b2344;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.link-form-brand,
.link-form-back,
.link-admin-header a {
  color: #fff;
  text-decoration: none;
}

.link-form-brand strong,
.link-admin-header strong {
  display: block;
  font: 900 28px Montserrat, sans-serif;
}

.link-form-brand span,
.link-admin-header span {
  display: block;
  color: #e0a52f;
  font: 800 9px Montserrat, sans-serif;
  letter-spacing: .08em;
}

.link-form-main,
.link-admin-main {
  width: min(1180px, calc(100% - 36px));
  margin: auto;
  padding: 52px 0 70px;
}

.link-form-intro {
  max-width: 820px;
  margin-bottom: 38px;
}

.link-form-eyebrow {
  color: #c88616;
  font: 900 10px Montserrat, sans-serif;
  letter-spacing: .14em;
}

.link-form-intro h1,
.link-admin-title h1 {
  margin: 8px 0 15px;
  font: 700 44px/1.05 "Libre Baskerville", serif;
}

.link-form-intro p,
.link-admin-title p {
  max-width: 750px;
  color: #566070;
  font-size: 14px;
  line-height: 1.6;
}

.link-process-strip {
  margin-top: 25px;
  padding: 15px 18px;
  border-radius: 8px;
  background: #0b2344;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  font: 800 10px Montserrat, sans-serif;
}

.link-process-strip b {
  color: #e0a52f;
}

.link-form-shell {
  padding: 34px;
  border: 1px solid rgba(11,35,68,.12);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(6,23,46,.07);
}

.link-form-shell fieldset {
  margin: 0 0 34px;
  padding: 0 0 32px;
  border: 0;
  border-bottom: 1px solid rgba(11,35,68,.12);
}

.link-form-shell legend {
  margin-bottom: 18px;
  font: 900 16px Montserrat, sans-serif;
}

.link-form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.link-form-full {
  grid-column: 1 / -1;
}

.link-form-shell label {
  display: block;
  margin-bottom: 16px;
  color: #0b2344;
  font: 800 10px Montserrat, sans-serif;
}

.link-form-shell input,
.link-form-shell select,
.link-form-shell textarea {
  width: 100%;
  margin-top: 7px;
  padding: 12px 13px;
  border: 1px solid rgba(11,35,68,.22);
  border-radius: 6px;
  background: #fff;
  color: #0b2344;
  font: 400 13px/1.45 "Open Sans", sans-serif;
}

.link-form-shell textarea {
  resize: vertical;
}

.link-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.link-choice {
  padding: 18px;
  border: 1px solid rgba(11,35,68,.16);
  border-radius: 8px;
}

.link-choice input,
.link-checkbox-grid input,
.link-policy-box input {
  width: auto;
  margin: 0 7px 0 0;
}

.link-choice strong {
  display: block;
  margin-top: 10px;
}

.link-choice span {
  display: block;
  margin-top: 6px;
  color: #566070;
  font: 400 11px/1.45 "Open Sans", sans-serif;
}

.link-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px 18px;
  margin-bottom: 20px;
}

.link-checkbox-grid label,
.link-policy-box label {
  display: flex;
  align-items: flex-start;
  font: 600 12px/1.45 "Open Sans", sans-serif;
}

.link-field-help {
  margin: -7px 0 16px;
  color: #687180;
  font-size: 11px;
  line-height: 1.5;
}

.link-policy-box {
  padding: 22px;
  border-radius: 8px;
  background: #f7f3eb;
}

.link-form-submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.link-form-submit p {
  max-width: 580px;
  color: #566070;
  font-size: 12px;
  line-height: 1.5;
}

.link-form-submit button {
  border: 0;
  border-radius: 5px;
  padding: 14px 20px;
  background: #e0a52f;
  color: #0b2344;
  font: 900 9px Montserrat, sans-serif;
}

.link-submission-message {
  margin-top: 24px;
  padding: 18px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.55;
}

.link-submission-message.success {
  background: #eaf4e7;
}

.link-submission-message.error {
  background: #fbe9e8;
}

.link-form-footer {
  padding: 28px;
  background: #06172e;
  color: rgba(255,255,255,.75);
  text-align: center;
  font-size: 10px;
}

.link-form-footer strong {
  color: #fff;
}


/* ADMIN */

.link-admin-title {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: flex-end;
  margin-bottom: 28px;
}

.link-admin-counts {
  display: flex;
  gap: 8px;
}

.link-admin-counts div {
  min-width: 86px;
  padding: 12px;
  border-radius: 7px;
  background: #fff;
  text-align: center;
}

.link-admin-counts strong {
  display: block;
  font-size: 22px;
}

.link-admin-counts span {
  display: block;
  margin-top: 3px;
  font-size: 9px;
}

.link-admin-filters {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 22px;
}

.link-admin-filters button {
  padding: 9px 13px;
  border: 1px solid rgba(11,35,68,.18);
  border-radius: 999px;
  background: #fff;
  color: #0b2344;
  font: 800 9px Montserrat, sans-serif;
}

.link-admin-filters button.active {
  background: #0b2344;
  color: #fff;
}

.link-admin-list {
  display: grid;
  gap: 18px;
}

.link-admin-card {
  padding: 25px;
  border: 1px solid rgba(11,35,68,.13);
  border-radius: 12px;
  background: #fff;
}

.link-admin-card-head {
  display: flex;
  gap: 18px;
  align-items: center;
  margin-bottom: 22px;
}

.link-admin-logo {
  width: 118px;
  height: 82px;
  padding: 8px;
  border: 1px solid rgba(11,35,68,.12);
  border-radius: 7px;
  display: grid;
  place-items: center;
}

.link-admin-logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.link-admin-logo span {
  color: #8b93a0;
  font: 800 8px Montserrat, sans-serif;
}

.link-admin-card h2 {
  margin: 6px 0 4px;
  font: 700 23px "Libre Baskerville", serif;
}

.link-admin-card-head p {
  margin: 0;
  color: #687180;
  font-size: 10px;
}

.link-admin-status {
  display: inline-block;
  padding: 4px 7px;
  border-radius: 999px;
  background: #f1ede4;
  font: 900 7px Montserrat, sans-serif;
}

.link-admin-status.approved {
  background: #e5f0df;
}

.link-admin-status.rejected {
  background: #f8e3e1;
}

.link-admin-status.needs-information {
  background: #fff1ce;
}

.link-admin-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 20px;
}

.link-admin-detail-grid strong,
.link-admin-section strong {
  font: 900 9px Montserrat, sans-serif;
}

.link-admin-detail-grid p,
.link-admin-section p {
  margin: 5px 0 0;
  color: #566070;
  font-size: 11px;
  line-height: 1.55;
}

.link-admin-section {
  padding: 14px 0;
  border-top: 1px solid rgba(11,35,68,.1);
}

.link-admin-actions {
  display: flex;
  gap: 8px;
  margin-top: 18px;
}

.link-admin-actions button {
  padding: 9px 13px;
  border: 1px solid #0b2344;
  border-radius: 4px;
  background: #fff;
  color: #0b2344;
  font: 900 8px Montserrat, sans-serif;
}

.link-admin-actions button:first-child {
  background: #0b2344;
  color: #fff;
}

.link-admin-empty {
  padding: 45px;
  border-radius: 12px;
  background: #fff;
  text-align: center;
}


@media (max-width: 800px) {
  .link-choice-grid,
  .link-checkbox-grid,
  .link-admin-detail-grid {
    grid-template-columns: 1fr 1fr;
  }

  .link-admin-title,
  .link-form-submit {
    align-items: flex-start;
    flex-direction: column;
  }
}


@media (max-width: 600px) {
  .link-form-main,
  .link-admin-main {
    width: calc(100% - 24px);
    padding-top: 30px;
  }

  .link-form-shell {
    padding: 20px;
  }

  .link-form-grid,
  .link-choice-grid,
  .link-checkbox-grid,
  .link-admin-detail-grid {
    grid-template-columns: 1fr;
  }

  .link-form-intro h1,
  .link-admin-title h1 {
    font-size: 34px;
  }

  .link-admin-counts {
    width: 100%;
  }

  .link-admin-counts div {
    flex: 1;
  }
}

/* LINK — END NONPROFIT INTAKE + ADMIN */
