:root{--blue:#38b6e9;--deep:#163a5f;--sky:#eaf8fd;--char:#263238;--gray:#66757f;--yellow:#ffd166;--coral:#ff6b6b;--mint:#7bdcb5;--line:#d5e5ec}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--char);background:#fff;font-family:Avenir,'Avenir Next',Manrope,Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:99}.header{height:88px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;gap:38px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}.logo{width:124px;margin-right:auto}.logo img{width:100%;height:72px;object-fit:contain}.header nav{display:flex;align-items:center;gap:27px;font-size:14px;font-weight:700}.header nav a:hover{color:#078ec7}.menu{display:none;border:0;background:var(--sky);color:var(--deep);padding:9px 13px;border-radius:8px;font-weight:800}.pill{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;padding:14px 23px;border-radius:999px;font-weight:800;font-size:14px;transition:.2s}.pill:hover{transform:translateY(-2px);box-shadow:0 8px 20px #163a5f2e}.pill-dark{background:var(--deep)}.pill-yellow{background:var(--yellow);color:var(--deep)}.pill-white{background:#fff;color:var(--deep)}.kicker{margin:0 0 16px;color:#078ec7;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800}.light{color:var(--yellow)}.hero{min-height:700px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:7vw;padding:80px clamp(24px,7vw,110px);overflow:hidden;background:linear-gradient(120deg,#fff 0 68%,var(--sky) 68%)}h1,h2{color:var(--deep);font-weight:800;line-height:.96;letter-spacing:-.06em;margin:0}.hero h1{font-size:clamp(54px,6.8vw,104px)}.hero h1 span{color:var(--blue);position:relative}.hero h1 span:after{content:"";position:absolute;height:11px;background:var(--yellow);left:0;right:0;bottom:6px;z-index:-1;transform:rotate(-2deg)}.lead{font-size:18px;max-width:670px;margin:32px 0;color:#4d5b62}.button-row{display:flex;align-items:center;gap:30px;margin-top:32px}.arrow-link{font-weight:800;font-size:14px;color:var(--deep)}.arrow-link span{color:var(--coral);font-size:20px;margin-left:8px}.hero-photo{position:relative}.hero-photo>img{width:100%;height:500px;object-fit:cover;border-radius:160px 20px;box-shadow:22px 22px 0 var(--blue)}.photo-note{position:absolute;bottom:24px;left:-28px;background:#fff;padding:18px 24px;border-radius:12px;box-shadow:0 12px 30px #163a5f2e}.photo-note b{display:block;font-size:28px;color:var(--deep);line-height:1}.photo-note span{font-size:12px;color:var(--gray)}.hope-sticker{position:absolute;top:-28px;right:-20px;width:112px;height:112px;background:var(--yellow);color:var(--deep);border-radius:50%;display:grid;place-content:center;text-align:center;font-size:15px;font-weight:800;line-height:1.1;transform:rotate(8deg);border:4px solid white}.challenge{background:var(--deep);color:#fff;padding:48px clamp(24px,7vw,110px);display:grid;grid-template-columns:1.4fr .8fr auto;align-items:center;gap:55px}.challenge h2{color:#fff;font-size:clamp(30px,4vw,52px)}.challenge p{margin:6px 0 0;color:#dceef6}.counter strong{font-size:52px;line-height:1;color:var(--yellow)}.counter span{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.track{height:7px;background:#ffffff33;border-radius:8px;margin-top:10px;overflow:hidden}.track i{display:block;height:100%;background:var(--coral)}.intro,.backpacks,.facts,.connect,.news{padding:120px clamp(24px,7vw,110px)}.split-heading,.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}.split-heading h2,.backpacks h2,.facts h2,.connect h2,.news h2{font-size:clamp(44px,5.5vw,74px)}.split-heading p{font-size:22px;color:var(--gray);margin:0}.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;margin-top:75px}.story-grid figure{margin:0}.story-grid figure img{height:560px;width:100%;object-fit:cover;border-radius:18px 150px 18px 18px}.story-grid figcaption{font-size:13px;color:var(--gray);padding-top:12px}.story-text{font-size:18px}.story-text h3{font-size:34px;line-height:1.1;color:var(--deep);margin-top:0}.mission-box{background:var(--sky);padding:27px 30px;margin-top:34px;border-left:7px solid var(--blue)}.mission-box span{display:block;color:#078ec7;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.15em}.mission-box b{display:block;font-size:20px;color:var(--deep);margin-top:5px}.backpacks{background:var(--sky)}.section-head>p{font-size:18px;color:var(--gray);margin:0}.bag-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:65px}.bag-grid article{background:white;padding:32px 28px;min-height:270px;border-top:7px solid var(--blue);border-radius:10px}.bag-grid article:nth-child(2){border-color:var(--yellow)}.bag-grid article:nth-child(3){border-color:var(--coral)}.bag-grid article:nth-child(4){border-color:var(--mint)}.bag-grid span{font-size:12px;font-weight:800;color:var(--gray)}.bag-grid h3{color:var(--deep);font-size:23px;margin:35px 0 9px}.bag-grid p{color:var(--gray);margin:0}.ages{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px;align-items:center}.ages b{margin-right:10px;color:var(--deep)}.ages span{background:white;border:1px solid #c7e2ed;border-radius:99px;padding:8px 13px;font-size:13px}.guideline{font-size:13px;color:var(--gray);margin-top:25px}.impact{padding:100px clamp(24px,7vw,110px);background:var(--blue);display:grid;grid-template-columns:1.3fr repeat(3,.7fr);gap:16px;color:#fff}.impact-title{padding:45px 30px 45px 0}.impact h2{color:#fff;font-size:clamp(50px,6vw,85px)}.stat{background:var(--deep);border-radius:80px 15px;display:flex;flex-direction:column;justify-content:center;padding:32px;text-align:center}.stat.coral{background:var(--coral)}.stat.yellow{background:var(--yellow);color:var(--deep)}.stat strong{font-size:48px;line-height:1}.stat span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-top:9px}.impact-copy{grid-column:2/5;margin:15px 0 0;font-size:15px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.facts-copy p:not(.kicker){color:var(--gray);font-size:18px}.fact-cards{display:grid;gap:14px}.fact-cards article{padding:28px;background:var(--sky);border-radius:12px 50px 12px 12px}.fact-cards article:nth-child(2){background:#fff7df}.fact-cards article:nth-child(3){background:#e9fbf4}.fact-cards b{color:var(--deep);font-size:24px}.fact-cards p{margin:4px 0 0;color:var(--gray)}.podcast{background:var(--deep);display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:8vw;padding:100px clamp(24px,7vw,110px);color:white}.podcast>img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:20px;box-shadow:-18px 18px 0 var(--yellow)}.podcast h2{color:#fff;font-size:clamp(48px,6vw,86px)}.podcast p:not(.kicker){font-size:18px;color:#dceef6}.light-link{color:#fff}.connect-head{text-align:center;max-width:800px;margin:0 auto 65px}.connect-head h2{font-size:clamp(52px,6vw,84px)}.connect-head p{font-size:18px;color:var(--gray)}.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.way{padding:42px;min-height:370px;border-radius:18px;display:flex;flex-direction:column;background:var(--sky)}.way.build{background:var(--yellow)}.way.connect-way{background:#e9fbf4}.way>span{font-size:12px;letter-spacing:.15em;font-weight:800;color:#078ec7}.way h3{color:var(--deep);font-size:31px;line-height:1.1}.way p{color:#52616a}.way a{margin-top:auto;color:var(--deep);font-weight:800}.volunteer{padding:75px clamp(24px,7vw,110px);background:var(--coral);color:#fff;display:grid;grid-template-columns:1.2fr 1fr auto;gap:50px;align-items:center}.volunteer h2{color:#fff;font-size:clamp(42px,5vw,68px)}.roles{display:flex;flex-wrap:wrap;gap:8px}.roles span{border:1px solid #ffffff8c;border-radius:99px;padding:8px 13px;font-size:13px}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:55px}.news-grid a{padding:35px;border:1px solid var(--line);border-radius:12px;transition:.2s}.news-grid a:hover{transform:translateY(-5px);border-color:var(--blue)}.news-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#078ec7;font-weight:800}.news-grid h3{font-size:24px;line-height:1.2;color:var(--deep)}.news-grid p{color:var(--gray)}.final-cta{padding:70px clamp(24px,7vw,110px);background:var(--blue);color:#fff;display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:40px}.final-cta img{width:120px}.final-cta p{font-weight:800;text-transform:uppercase;letter-spacing:.13em;font-size:12px}.final-cta h2{color:#fff;font-size:clamp(34px,4vw,54px)}footer{background:#0e2b47;color:#fff;padding:70px clamp(24px,7vw,110px) 25px}.footer-main{display:grid;grid-template-columns:150px 1.3fr 1fr .5fr;gap:50px}.footer-main>img{width:120px}.footer-main b{display:block;margin-bottom:12px}.footer-main p,.footer-main a{color:#b9d2df;font-size:14px;display:block;margin:5px 0}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff26;margin-top:50px;padding-top:22px;font-size:11px;color:#93afbe}
@media(max-width:1050px){.header nav{display:none;position:absolute;top:87px;left:0;right:0;background:white;padding:25px;flex-direction:column;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr;padding-top:70px;background:#fff}.hero-photo{margin-top:35px}.challenge{grid-template-columns:1fr 1fr}.challenge>a{grid-column:1/3;width:max-content}.bag-grid{grid-template-columns:1fr 1fr}.impact{grid-template-columns:1fr 1fr}.impact-title,.impact-copy{grid-column:1/3}.volunteer{grid-template-columns:1fr 1fr}.volunteer>a{grid-column:1/3;width:max-content}.footer-main{grid-template-columns:120px 1fr 1fr}.footer-main>div:last-child{grid-column:2}}
@media(max-width:720px){.header{height:76px;padding:0 18px}.header nav{top:75px}.header-cta{display:none}.logo{width:105px}.logo img{height:62px}.hero{min-height:0;padding:60px 22px 80px}.hero h1{font-size:52px}.hero-photo>img{height:350px;border-radius:80px 12px}.photo-note{left:10px}.hope-sticker{right:2px}.challenge,.split-heading,.story-grid,.section-head,.facts,.podcast,.ways,.volunteer,.news-grid,.final-cta{grid-template-columns:1fr}.challenge>a,.volunteer>a,.footer-main>div:last-child{grid-column:auto}.intro,.backpacks,.facts,.connect,.news{padding:85px 22px}.story-grid{margin-top:48px}.story-grid figure img{height:400px;border-radius:12px 90px 12px 12px}.bag-grid,.impact{grid-template-columns:1fr}.impact{padding:85px 22px}.impact-title,.impact-copy{grid-column:auto}.stat{min-height:200px}.podcast{padding:85px 22px}.podcast>img{max-width:420px}.volunteer{padding:70px 22px}.final-cta{padding:65px 22px}.final-cta img{width:100px}.footer-main{grid-template-columns:1fr;gap:28px}.footer-main>img{width:95px}.footer-bottom{flex-direction:column;gap:7px}.button-row{align-items:flex-start;flex-direction:column;gap:20px}}
.footer-verse{max-width:760px;padding-left:18px;border-left:3px solid var(--blue);color:#dceef6}.footer-verse p{margin:0;font-size:16px;line-height:1.65}.footer-verse cite{display:block;margin-top:7px;color:#8fb7ca;font-size:12px;font-style:normal;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.page-footer>.footer-verse{grid-column:1/-1}
.pill-coral{background:var(--coral);color:var(--deep);box-shadow:0 0 0 3px #fff}.pill-coral:hover{box-shadow:0 0 0 3px #fff,0 8px 20px #163a5f45}
/* Keep the transition from Our Story into the first-48-hours section compact. */
@media(min-width:721px){.intro{padding-bottom:64px}.backpacks{padding-top:72px}}


/* Hero media can be a hosted video or the existing photo. */
.hero-photo>.hero-media-video{width:100%;height:500px;object-fit:contain;object-position:center;background:var(--deep);border-radius:160px 20px;box-shadow:22px 22px 0 var(--blue);display:block;pointer-events:none}
@media(max-width:720px){.hero-photo>.hero-media-video{height:350px;border-radius:80px 12px}}


/* Keep the primary donation action visible in the mobile header. */
@media(max-width:720px){.header{gap:10px}.header-cta{display:block;flex-shrink:0}.header-cta .pill{padding:9px 12px;font-size:12px;white-space:nowrap}}


/* Give the hero's story accent a restrained, professional curve. */
.hero h1 span{color:var(--blue);display:inline-block;position:relative;z-index:0;text-decoration:none}
.hero h1 span:after{content:"";display:block;position:absolute;left:-.04em;right:-.07em;bottom:-.1em;height:.22em;border-bottom:clamp(3px,.3vw,5px) solid var(--yellow);border-radius:50%;transform:rotate(-1.5deg);z-index:-1;pointer-events:none}

/* Keep the mobile donation action visible after the giving-slot stylesheet. */
@media(max-width:720px){.header .wgc-giving-slot.header-cta{display:inline-flex!important;flex-shrink:0}.header .wgc-giving-slot.header-cta .pill{padding:9px 12px;font-size:12px;white-space:nowrap}}

/* Give each homepage chapter its own quiet visual field while keeping CPI's approved palette. */
.impact-map{background:#fff7df}
.home-partners{background:#e9fbf4}
.stories-updates-group{background:#f7fbfc}
.home-community-stories{background:#fff}
.news{background:#fff7df;border-top:1px solid var(--line)}
.facts{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-opportunities{background:#e9fbf4}
.signup{background:var(--sky)}

/* Give card surfaces a little more lift and definition without changing the layout. */
.bag-grid article,.fact-cards article,.ways .way,.news-grid a{border:1px solid rgba(22,58,95,.10);box-shadow:0 10px 24px rgba(22,58,95,.12);transition:transform .2s ease,box-shadow .2s ease}
.bag-grid article:hover,.fact-cards article:hover,.ways .way:hover,.news-grid a:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(22,58,95,.18)}
.stat{box-shadow:0 10px 22px rgba(14,43,71,.18)}
/* Four recent blog posts on the homepage. */
.news-grid.blog-four-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:42px}
.news-grid.blog-four-grid a{padding:26px;min-height:210px}
.news-grid.blog-four-grid h3{font-size:21px}
.news-grid.blog-four-grid small{display:block;color:var(--gray);font-size:12px;margin-top:16px}
@media(max-width:1050px){.news-grid.blog-four-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.news-grid.blog-four-grid{grid-template-columns:1fr}.news-grid.blog-four-grid a{min-height:0}}

/* Event editor formatting and attachments */
.article-body .body-size-small{font-size:.82em}
.article-body .body-size-large{font-size:1.28em}
.article-body .body-font-serif{font-family:Georgia,"Times New Roman",serif}
.event-flyer{display:inline-flex;flex-direction:column;gap:8px;max-width:360px;margin:8px 0 18px;color:#163a5f;font-weight:700;text-decoration:none}
.event-flyer img{display:block;width:100%;max-height:260px;object-fit:contain;border-radius:14px;border:1px solid #d5e5ec;background:#f2f9fc}
.event-flyer span{font-size:.95rem}

/* Compact public event cards */
.home-event-grid,.events-page .opportunity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-event-card,.event-card{overflow:hidden;border:1px solid rgba(22,58,95,.12);border-radius:22px;background:#fff;box-shadow:0 10px 24px rgba(22,58,95,.10)}
.home-event-card-link{display:block;height:100%;color:#163a5f;text-decoration:none}
.home-event-card-link:hover h3,.event-card h3 a:hover{text-decoration:underline}
.home-event-card-link img,.event-card-image img{display:block;width:100%;height:190px;object-fit:cover;background:#edf7fb}
.home-event-card-copy,.event-card-content{padding:22px}
.home-event-card-copy time,.event-card-content time{display:block;margin-bottom:10px;color:#5e7380;font-size:.9rem;font-weight:700}
.home-event-card-copy h3,.event-card-content h3{margin:0;color:#163a5f;font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.05}
.event-card-image{display:block}
.event-card-content>b{display:block;margin-top:12px;color:#5e7380;font-size:.95rem;line-height:1.35}
.event-card .event-actions{display:flex;margin-top:20px}
.event-card .event-actions a{font-size:.95rem}
@media(max-width:900px){.home-event-grid,.events-page .opportunity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.home-event-grid,.events-page .opportunity-grid{grid-template-columns:1fr}.home-event-card-link img,.event-card-image img{height:210px}.home-event-card-copy,.event-card-content{padding:18px}}

.event-registration-flyer{margin:18px 0 24px}
.event-registration-flyer a{display:inline-flex;flex-direction:column;gap:10px;max-width:420px;color:#163a5f;font-weight:700;text-decoration:none}
.event-registration-flyer img{display:block;width:100%;max-height:300px;object-fit:contain;border:1px solid #d5e5ec;border-radius:14px;background:#f2f9fc}
.event-registration-flyer a:hover span{text-decoration:underline}

.event-registration-payment{margin-top:30px}
.event-subscriber-email-dialog textarea{min-height:240px}

/* Keep the subscriber email composer clean, contained, and responsive. */
.event-subscriber-email-dialog{
  width:min(720px,calc(100vw - 28px)) !important;
  max-width:720px !important;
  max-height:calc(100vh - 28px);
  overflow-x:hidden;
  overflow-y:auto;
  padding:28px 30px 24px;
}
.event-subscriber-email-dialog label{
  display:grid;
  gap:8px;
  min-width:0;
  color:var(--deep);
  font-weight:800;
}
.event-subscriber-email-dialog input,
.event-subscriber-email-dialog textarea{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
}
.event-subscriber-email-dialog input{
  height:46px;
}
.event-subscriber-email-dialog textarea{
  min-height:240px;
  line-height:1.55;
  resize:vertical;
}
.event-subscriber-email-dialog .field-help{
  margin:0;
  color:var(--gray);
  font-size:.86rem;
  line-height:1.45;
}
.event-subscriber-email-dialog-footer{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  margin-top:4px;
}
.event-subscriber-email-dialog-footer button{
  min-width:140px;
}
@media(max-width:560px){
  .event-subscriber-email-dialog{
    width:calc(100vw - 20px) !important;
    padding:22px 18px 18px;
  }
  .event-subscriber-email-dialog-footer{
    flex-direction:column-reverse;
  }
  .event-subscriber-email-dialog-footer button{
    width:100%;
    min-width:0;
  }
}


/* Compact homepage community opportunities */
.home-opportunities {
  padding-top: clamp(2.5rem, 4vw, 4rem);
  padding-bottom: clamp(2.5rem, 4vw, 4rem);
}
.home-opportunities .opportunity-grid {
  gap: 14px;
  margin-top: 1.25rem;
}
.home-opportunities .opportunity-grid article {
  padding: 1.25rem;
  border-radius: 22px;
}
.home-opportunities .home-event-card-link {
  display: block;
  text-decoration: none;
}
.home-opportunities .home-event-card img {
  display: block;
  width: 100%;
  max-height: 210px;
  aspect-ratio: 16 / 8;
  object-fit: cover;
  border-radius: 16px;
}
.home-opportunities .home-event-card-copy {
  padding-top: .8rem;
}
.home-opportunities .opportunity-grid h3 {
  font-size: 1.2rem;
  margin: .35rem 0 0;
}
@media (max-width: 700px) {
  .home-opportunities {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
  .home-opportunities .opportunity-grid article {
    padding: 1rem;
  }
  .home-opportunities .home-event-card img {
    max-height: 180px;
  }
}


/* Partner directory and clearer homepage chapter separation */
.home-partners {
  border-top: 14px solid #ffffff;
  box-shadow: inset 0 1px 0 rgba(22,58,95,.08);
}
.partners-directory {
  padding-top: clamp(3rem, 6vw, 6rem);
  padding-bottom: clamp(4rem, 8vw, 8rem);
}
.partners-directory-hero {
  max-width: 760px;
  margin-bottom: 3rem;
}
.partners-directory-hero h1 {
  max-width: 760px;
  color: #163a5f;
  font-size: clamp(2.8rem, 6vw, 6.4rem);
  line-height: .96;
  margin: .5rem 0 1.25rem;
}
.partners-directory-hero > p:last-child {
  max-width: 660px;
  color: #536879;
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
  line-height: 1.6;
}
.partners-directory-tools {
  display: grid;
  gap: 1rem;
  margin-bottom: 2.5rem;
}
.partners-search {
  max-width: 620px;
  display: grid;
  gap: .5rem;
  color: #163a5f;
  font-weight: 800;
}
.partners-search > div {
  display: flex;
  gap: .6rem;
}
.partners-search input {
  min-width: 0;
  flex: 1;
  border: 1px solid #bdd5df;
  border-radius: 999px;
  padding: .85rem 1.1rem;
  font: inherit;
}
.partners-search button {
  border: 0;
  border-radius: 999px;
  padding: .85rem 1.2rem;
  background: #163a5f;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}
.partner-type-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}
.partner-type-filters a {
  border: 1px solid #cfe3eb;
  border-radius: 999px;
  padding: .55rem .85rem;
  color: #163a5f;
  text-decoration: none;
  font-weight: 800;
}
.partner-type-filters a.active,
.partner-type-filters a:hover {
  background: #163a5f;
  border-color: #163a5f;
  color: #fff;
}
.partner-directory-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.2rem;
}
.partner-directory-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border: 1px solid rgba(22,58,95,.12);
  border-radius: 26px 26px 68px 26px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(22,58,95,.10);
}
.partner-directory-card-top {
  display: flex;
  align-items: center;
  gap: .8rem;
  min-height: 58px;
}
.partner-directory-card-top img {
  width: 72px;
  height: 58px;
  object-fit: contain;
}
.partner-directory-mark {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  border-radius: 18px;
  background: #dff5fb;
  color: #163a5f;
  font-weight: 900;
  font-size: 1.1rem;
}
.partner-directory-type,
.partner-directory-level {
  display: block;
  color: #087eae;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.partner-directory-level {
  margin-top: .3rem;
  color: #b06e00;
}
.partner-directory-card h2 {
  margin: 1.3rem 0 .55rem;
  color: #163a5f;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
}
.partner-directory-card > p {
  margin: 0;
  color: #536879;
  line-height: 1.55;
}
.partner-directory-card > a {
  margin-top: 1rem;
  color: #087eae;
  font-weight: 800;
}
.partner-directory-stories {
  display: grid;
  gap: .45rem;
  margin-top: 1.4rem;
  padding-top: 1rem;
  border-top: 1px solid #d5e5ec;
}
.partner-directory-stories h3 {
  margin: 0 0 .2rem;
  color: #163a5f;
  font-size: 1rem;
}
.partner-directory-stories a {
  color: #087eae;
  font-size: .94rem;
  font-weight: 800;
  text-decoration: none;
}
.partner-directory-stories a:hover {
  text-decoration: underline;
}
.partner-directory-empty {
  padding: 3rem;
  border-radius: 26px;
  background: #f2f9fc;
}
.partner-directory-empty h2 {
  color: #163a5f;
}
.partner-directory-cta {
  margin-top: 3.5rem;
  padding: clamp(2rem, 5vw, 4rem);
  border-radius: 30px 30px 84px 30px;
  background: #163a5f;
  color: #fff;
}
.partner-directory-cta h2 {
  max-width: 680px;
  margin: .4rem 0 1.5rem;
  color: #fff;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 1;
}
.partner-directory-cta .kicker {
  color: #ffd36b;
}
@media (max-width: 900px) {
  .partner-directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  .home-partners {
    border-top-width: 10px;
  }
  .partners-search > div {
    display: grid;
    grid-template-columns: 1fr;
  }
  .partners-search button {
    width: max-content;
  }
  .partner-directory-grid {
    grid-template-columns: 1fr;
  }
  .partner-directory-card {
    border-radius: 22px 22px 54px 22px;
  }
}


.article-related-partners {
  margin: 2.5rem 0;
  padding: 1.4rem 1.6rem;
  border-left: 6px solid #39b2df;
  border-radius: 18px;
  background: #e9fbf4;
}
.article-related-partners h2 {
  margin: .25rem 0 .8rem;
  color: #163a5f;
  font-size: clamp(1.35rem, 2.5vw, 2rem);
}
.article-related-partners > div {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem .9rem;
}
.article-related-partners a {
  color: #087eae;
  font-weight: 800;
  text-decoration: none;
}
.article-related-partners a:hover {
  text-decoration: underline;
}


/* Make the entire blog card one clear article link */
.blog-card {
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.blog-card:hover,
.blog-card:focus-visible {
  text-decoration: none;
}
.blog-card:focus-visible {
  outline: 3px solid #38b6e9;
  outline-offset: 4px;
}
.blog-card .arrow-link {
  display: inline-block;
}
.article-footer-cta {
  display: inline-flex;
  margin-top: 1.5rem;
}


/* Keep homepage community stories compact and make each preview a clear click-through. */
.community-story-preview > a {
  display: block;
  color: inherit;
  text-decoration: none;
}
.community-story-preview > a:hover article,
.community-story-preview > a:focus-visible article {
  transform: translateY(-4px);
  border-color: var(--blue);
  box-shadow: 0 12px 24px #163a5f1c;
}
.community-story-preview article {
  height: 100%;
  transition: transform .2s, border-color .2s, box-shadow .2s;
}
.community-story-preview .community-story-read {
  display: inline-block;
  margin-top: 1rem;
  color: #12385f;
  font-size: .9rem;
}

/* Community stories library and individual story pages */
.community-stories-library{padding-top:clamp(3rem,6vw,6rem);padding-bottom:clamp(4rem,8vw,8rem)}
.community-stories-library>h1{max-width:820px;margin:.5rem 0 1.25rem;color:var(--deep);font-size:clamp(3rem,7vw,7rem);line-height:.94}
.community-stories-intro{max-width:720px;color:var(--gray);font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.6}
.community-stories-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:3rem}
.community-story-library-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;color:inherit;text-decoration:none;border:1px solid rgba(22,58,95,.12);border-radius:24px 24px 64px 24px;background:#fff;box-shadow:0 12px 28px rgba(22,58,95,.1);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.community-story-library-card:hover,.community-story-library-card:focus-visible{transform:translateY(-4px);border-color:var(--blue);box-shadow:0 18px 34px rgba(22,58,95,.17);outline:none}
.community-story-library-card>img{display:block;width:100%;height:210px;object-fit:cover;background:var(--sky)}
.community-story-library-card-copy{display:flex;flex:1;flex-direction:column;padding:1.5rem}
.community-story-library-card-copy .kicker{margin:0 0 .55rem}
.community-story-library-card-copy h2{margin:0 0 .75rem;color:var(--deep);font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.05}
.community-story-library-card-copy>p:not(.kicker){margin:0;color:var(--gray);line-height:1.55}
.community-story-library-card-copy small{display:block;margin-top:1rem;color:var(--gray);font-weight:700}
.community-story-library-card-copy strong{display:block;margin-top:auto;padding-top:1.25rem;color:var(--deep);font-size:.95rem}
.community-story-attachment-label{display:inline-block;margin-top:.9rem;color:#087eae;font-size:.82rem;font-weight:800}
.community-stories-empty{margin-top:3rem;padding:2.5rem;border-radius:24px;background:var(--sky)}
.community-stories-empty h2{color:var(--deep)}
.community-story-detail{max-width:920px;padding-top:clamp(2.5rem,5vw,5rem);padding-bottom:clamp(5rem,10vw,10rem)}
.community-story-detail h1{max-width:880px;margin:.6rem 0 2.25rem;color:var(--deep);font-size:clamp(3rem,7vw,7rem);line-height:.94}
.community-story-detail-image{display:block;width:100%;max-height:620px;object-fit:contain;object-position:center;border-radius:22px;background:var(--sky);margin-bottom:2.5rem}
.community-story-detail .article-body{max-width:780px}
.community-story-detail .article-body p{font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.75}
.community-story-detail .article-body h2,.community-story-detail .article-body h3{color:var(--deep)}
.community-story-attachment{max-width:780px;margin-top:3rem;padding:1.5rem;border-left:6px solid var(--yellow);border-radius:16px;background:#fff7df}
.community-story-attachment p{margin:.35rem 0 1rem;color:var(--gray)}
@media(max-width:900px){.community-stories-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.community-stories-grid{grid-template-columns:1fr}.community-story-library-card>img{height:220px}.community-story-library-card-copy{padding:1.25rem}.community-story-detail h1{font-size:clamp(2.8rem,12vw,4.8rem)}.community-story-detail-image{max-height:480px;border-radius:16px}}

/* Photo-first, compact community story cards */
.community-story-preview{gap:14px}
.community-story-preview article{overflow:hidden;padding:0}
.community-story-card-photo{display:block;width:100%;height:150px;object-fit:cover;background:var(--sky)}
.community-story-card-copy{padding:1rem 1.1rem 1.15rem}
.community-story-card-copy h3{margin:.15rem 0 .35rem}
.community-story-card-copy small{display:block;color:var(--gray);font-size:.82rem}
.community-story-card-copy .community-story-read{margin-top:.65rem;font-size:.82rem}
.community-stories-grid{gap:1rem;margin-top:2.25rem}
.community-story-library-card{border-radius:20px 20px 48px 20px}
.community-story-library-card>img{height:150px}
.community-story-library-card-copy{padding:1.1rem 1.2rem 1.25rem}
.community-story-library-card-copy h2{font-size:clamp(1.2rem,2vw,1.65rem);margin-bottom:.45rem}
.community-story-library-card-copy .community-story-card-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.92rem;line-height:1.4}
.community-story-library-card-copy strong{padding-top:.85rem;font-size:.86rem}
@media(max-width:620px){
  .community-story-card-photo,.community-story-library-card>img{height:140px}
  .community-story-card-copy,.community-story-library-card-copy{padding:.95rem 1rem 1.05rem}
}

/* Community story navigation and next steps */
.community-story-navigation{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-bottom:2rem}
.community-story-navigation a{color:#087eae;font-weight:800;text-decoration:none}
.community-story-navigation a:hover{text-decoration:underline}
.community-story-next-steps{margin-top:clamp(3.5rem,7vw,7rem);padding:clamp(2rem,5vw,4rem);border-radius:28px 28px 76px 28px;background:var(--deep);color:#fff}
.community-story-next-steps .kicker{color:var(--yellow)}
.community-story-next-steps h2{margin:.3rem 0 1.5rem;color:#fff;font-size:clamp(2.2rem,4vw,4.5rem)}
.community-story-next-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.community-story-next-step-grid a{display:flex;flex-direction:column;min-height:125px;padding:1.2rem;border-radius:18px;background:#fff;color:var(--deep);text-decoration:none}
.community-story-next-step-grid a:hover{transform:translateY(-3px)}
.community-story-next-step-grid strong{font-size:1.35rem}
.community-story-next-step-grid span{margin-top:auto;color:var(--gray);font-size:.9rem;line-height:1.35}
@media(max-width:680px){.community-story-next-step-grid{grid-template-columns:1fr}.community-story-next-step-grid a{min-height:0;gap:.5rem}.community-story-navigation{margin-bottom:1.5rem}}

/* Phase Two campaign preview */
.phase-two-preview{color:var(--deep);background:#fff}
.phase-two-preview p{line-height:1.65}
.phase-two-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:clamp(2rem,6vw,6rem);align-items:center;padding:clamp(4rem,9vw,9rem) max(5vw);background:var(--deep);color:#fff}
.phase-two-hero h1{max-width:900px;margin:.5rem 0 1.5rem;color:#fff;font-size:clamp(3.2rem,7vw,7.5rem);line-height:.94}
.phase-two-hero .kicker,.phase-two-next .kicker{color:var(--yellow)}
.phase-two-lede{max-width:720px;font-size:clamp(1.1rem,1.8vw,1.45rem)}
.phase-two-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.phase-two-progress{padding:clamp(1.5rem,3vw,2.5rem);border-radius:28px 28px 76px 28px;background:#fff;color:var(--deep);box-shadow:0 18px 45px rgba(0,0,0,.18)}
.phase-two-progress-number{font-size:clamp(4rem,9vw,8rem);font-weight:900;line-height:.8}
.phase-two-progress-label{margin-top:1rem;color:var(--gray);font-weight:800}
.phase-two-progress-track{height:14px;margin:2rem 0 1rem;overflow:hidden;border-radius:999px;background:#d9e9ef}
.phase-two-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--yellow)}
.phase-two-section{padding:clamp(4rem,8vw,8rem) max(5vw)}
.phase-two-section h2{max-width:850px;margin:.4rem 0 1.2rem;color:var(--deep);font-size:clamp(2.4rem,5vw,5.5rem);line-height:.98}
.phase-two-section>p{max-width:760px;color:var(--gray);font-size:clamp(1.05rem,1.6vw,1.3rem)}
.phase-two-celebration{background:#f2f9fc}
.phase-two-share{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:clamp(2rem,6vw,6rem);background:#fff7df}
.phase-two-share-cards{display:grid;gap:1rem;align-content:center}
.phase-two-share-cards article{display:flex;flex-direction:column;gap:.35rem;padding:1.35rem 1.5rem;border-radius:20px;background:#fff;border:1px solid rgba(22,58,95,.12);box-shadow:0 10px 24px rgba(22,58,95,.1)}
.phase-two-share-cards strong{font-size:1.35rem;color:var(--deep)}
.phase-two-share-cards span{color:var(--gray)}
.phase-two-next{background:var(--deep);color:#fff}
.phase-two-next h2{color:#fff}
.phase-two-next>p{color:#d9e9ef}
@media(max-width:720px){.phase-two-hero,.phase-two-share{grid-template-columns:1fr}.phase-two-hero{padding-top:3rem}.phase-two-progress-number{font-size:5rem}.phase-two-section{padding-top:3.5rem;padding-bottom:3.5rem}}

.phase-two-admin{max-width:900px;padding-top:48px;padding-bottom:80px}.phase-two-admin h1{font-size:clamp(42px,7vw,72px);margin:12px 0 18px}.phase-two-admin form{display:grid;gap:18px;margin-top:28px}.phase-two-admin label{display:grid;gap:7px;color:var(--deep);font-weight:750}.phase-two-admin input:not([type=checkbox]),.phase-two-admin textarea,.phase-two-admin select{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font:inherit;color:var(--char);background:#fff}.phase-two-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.phase-two-admin .phase-two-admin-check{display:flex;align-items:center;gap:10px}.phase-two-admin-check input{width:18px;height:18px}.phase-two-admin-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.phase-two-admin-link{padding-top:18px;padding-bottom:0}.phase-two-admin-link .pill{margin:0 0 18px}@media(max-width:640px){.phase-two-admin-grid{grid-template-columns:1fr}.phase-two-admin-actions{align-items:stretch;flex-direction:column}}


/* Celebrate Phase One in the homepage campaign space until Phase Two begins. */
.phase-one-celebration {
  position: relative;
  overflow: hidden;
  grid-template-columns: minmax(0, 1.2fr) minmax(180px, .55fr);
  gap: 1.5rem;
  background: linear-gradient(125deg, #163a5f, #0e2b47);
}
.phase-one-celebration-copy,
.phase-one-celebration-stat,
.phase-one-thanks {
  position: relative;
  z-index: 1;
}
.phase-one-celebration h2 {
  max-width: 760px;
  color: #fff;
  font-size: clamp(2.4rem, 4.8vw, 4.8rem);
  line-height: .98;
}
.phase-one-celebration-copy > p:last-child {
  max-width: 740px;
  color: #dceef6;
  font-size: clamp(1rem, 1.5vw, 1.2rem);
}
.phase-one-celebration-stat {
  display: grid;
  align-content: center;
  justify-items: center;
  min-height: 170px;
  padding: 1.25rem;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 24px 24px 64px 24px;
  background: rgba(255,255,255,.1);
  text-align: center;
}
.phase-one-celebration-stat strong {
  color: #ffd166;
  font-size: clamp(4rem, 8vw, 7rem);
  line-height: .9;
}
.phase-one-celebration-stat span {
  margin-top: .6rem;
  color: #fff;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .8rem;
}
.phase-one-thanks {
  grid-column: 1 / -1;
  margin: 0;
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,.22);
  color: #fff;
  font-weight: 700;
}
.phase-one-confetti {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.phase-one-confetti i {
  position: absolute;
  top: var(--top);
  left: var(--x);
  width: 8px;
  height: 14px;
  border-radius: 2px;
  background: #ffd166;
  opacity: .8;
  animation: phase-one-confetti-fall var(--duration) linear var(--delay) infinite;
}
.phase-one-confetti i:nth-child(3n) { background: #38b6e9; }
.phase-one-confetti i:nth-child(3n + 1) { background: #ff6b6b; }
.phase-one-confetti i:nth-child(3n + 2) { background: #7bdcb5; }
@keyframes phase-one-confetti-fall {
  from { transform: translate3d(0, -22vh, 0) rotate(0deg); }
  to { transform: translate3d(22px, 70vh, 0) rotate(450deg); }
}
@media (prefers-reduced-motion: reduce) {
  .phase-one-confetti i { animation: none; }
}
@media (max-width: 720px) {
  .phase-one-celebration { grid-template-columns: 1fr; }
  .phase-one-celebration-stat { min-height: 130px; justify-items: start; text-align: left; }
  .phase-one-thanks { grid-column: auto; }
}


/* Public downloads for the Phase Two social graphics */
.phase-two-downloads {
  grid-column: 1 / -1;
  margin-top: .5rem;
}
.phase-two-downloads-heading h3 {
  margin: 0;
  color: var(--deep);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
}
.phase-two-downloads-heading p {
  max-width: 760px;
  margin: .45rem 0 1.25rem;
  color: var(--gray);
}
.phase-two-download-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 1rem;
}
.phase-two-download-card {
  display: flex;
  height: 100%;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(22,58,95,.14);
  border-radius: 20px;
  background: #fff;
  color: var(--deep);
  box-shadow: 0 10px 24px rgba(22,58,95,.08);
}
.phase-two-download-image {
  display: block;
  width: 100%;
  flex: 0 0 auto;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 13px 13px 0 0;
  background: #f2f9fc;
}
.phase-two-download-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.phase-two-download-copy {
  display: flex;
  min-height: 158px;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 1rem;
}
.phase-two-download-copy > strong {
  color: var(--deep);
  font-size: 1.25rem;
}
.phase-two-download-format {
  margin-top: .2rem;
  color: var(--gray);
  font-size: .9rem;
}
.phase-two-download-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
  margin-top: auto;
  padding-top: 1rem;
}
.phase-two-download-action,
.phase-two-download-secondary {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: .65rem 1rem;
  border: 0;
  border-radius: 999px;
  background: var(--deep);
  color: #fff;
  font: inherit;
  font-size: .9rem;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.phase-two-download-action:hover,
.phase-two-download-action:focus-visible,
.phase-two-download-secondary:hover,
.phase-two-download-secondary:focus-visible {
  background: #087eae;
}
.phase-two-download-action:focus-visible,
.phase-two-download-secondary:focus-visible,
.phase-two-download-image:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 3px;
}
.phase-two-download-action:disabled {
  cursor: wait;
  opacity: .7;
}
.phase-two-download-secondary {
  background: #eaf8fd;
  color: var(--deep);
}
.phase-two-download-status {
  margin: .8rem 0 0;
  color: var(--gray);
  font-size: .85rem;
}
@media (max-width: 720px) {
  .phase-two-download-grid { grid-template-columns: 1fr; }
  .phase-two-download-card { max-width: 560px; }
  .phase-two-download-image { border-radius: 13px 13px 0 0; }
  .phase-two-download-copy { padding: 1rem 1.1rem 1.15rem; }
  .phase-two-download-actions { width: 100%; }
  .phase-two-download-actions > * { flex: 1 1 auto; }
}


.event-funding-calculator {
  margin: 1.5rem 0;
  padding: 1.25rem;
  border: 1px solid rgba(22, 58, 95, 0.18);
  border-radius: 1rem;
  background: rgba(238, 248, 252, 0.72);
}
.event-funding-calculator label {
  display: block;
  margin-bottom: 0.45rem;
  color: #163a5f;
  font-weight: 700;
}
.event-funding-calculator label span,
.event-funding-help,
.event-funding-note {
  color: #66737b;
  font-size: 0.9rem;
  font-weight: 400;
}
.event-funding-help,
.event-funding-note {
  margin: 0.35rem 0 0.75rem;
}
.event-funding-calculator input {
  width: 100%;
  box-sizing: border-box;
}
.event-funding-estimate {
  margin: 0.75rem 0 0;
  color: #163a5f;
  font-weight: 700;
}
