
:root{
  --apsh-fundraising-top:0px;
  --apsh-fundraising-strip-height:76px;
  --apsh-support-top:92px;
}

/*
 V4: the strip is STATIC in normal page flow.
 JS changes it to fixed only after its original position has passed the viewport.
 This deliberately avoids position:sticky, which caused the previous scrolling anomaly.
*/
.apsh-fundraising-strip{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  z-index:920!important;
  background:#fff!important;
  border-top:1px solid #edf1ee!important;
  border-bottom:1px solid #dfe7e3!important;
  box-shadow:0 6px 18px rgba(15,23,42,.055)!important;
  transform:none!important;
}
.apsh-fundraising-strip.is-fixed{
  position:fixed!important;
  top:var(--apsh-fundraising-top,0px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:9990!important;
  box-shadow:0 10px 28px rgba(15,23,42,.16)!important;
}
.apsh-fundraising-spacer{
  display:none;
  width:100%;
  height:0;
  margin:0;
  padding:0;
}
.apsh-fundraising-spacer.is-active{display:block}

/* Sidebar follows the long article on desktop. */
.apsh-sticky-support{
  position:sticky!important;
  top:var(--apsh-support-top,92px)!important;
  align-self:start!important;
  height:max-content!important;
}

/* Prevent ancestors from becoming accidental sticky scroll containers. */
.s360-project-page{
  overflow-x:clip!important;
  overflow-y:visible!important;
}
.s360-project-shell,
.s360-project-main,
.s360-project-aside{
  overflow:visible!important;
}

/* Compact, readable editorial rhythm. */
.s360-project-copy{
  font-size:16px!important;
  line-height:1.52!important;
  color:#334155!important;
}
.s360-project-copy p{
  margin:0 0 .68rem!important;
  line-height:1.52!important;
}
.s360-project-copy p:last-child{margin-bottom:0!important}
.s360-project-copy h1,
.s360-project-copy h2,
.s360-project-copy h3,
.s360-project-copy h4,
.s360-project-copy h5,
.s360-project-copy h6{
  line-height:1.2!important;
  margin:1rem 0 .48rem!important;
}
.s360-project-copy h1:first-child,
.s360-project-copy h2:first-child,
.s360-project-copy h3:first-child{margin-top:0!important}
.s360-project-copy ul,
.s360-project-copy ol{
  margin:.55rem 0 .72rem!important;
  padding-left:1.45rem!important;
}
.s360-project-copy li{
  margin:0 0 .22rem!important;
  line-height:1.5!important;
}
.s360-project-copy hr{margin:1rem 0!important}
.s360-project-copy blockquote{margin:.8rem 0!important}
.s360-project-copy br+br{display:none}

/* Existing fundraising strip appearance */
.apsh-fundraising-strip-inner{
  width:min(1220px,calc(100% - 30px));
  min-height:var(--apsh-fundraising-strip-height,76px);
  margin:auto;
  display:grid;
  grid-template-columns:minmax(210px,1.55fr) repeat(3,minmax(95px,.55fr)) auto;
  gap:18px;
  align-items:center;
}
.apsh-fundraising-strip small{
  display:block;color:#64748b;font-size:11px;text-transform:uppercase;
  letter-spacing:.065em;font-weight:850
}
.apsh-fundraising-strip strong{
  display:block;color:#0f172a;margin-top:3px;font-size:15px;line-height:1.25
}
.apsh-fundraising-strip .apsh-strip-donate{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:0 18px;border-radius:12px;background:#dc2626;
  color:#fff!important;text-decoration:none;font-weight:900;white-space:nowrap;
  box-shadow:0 8px 18px rgba(220,38,38,.18)
}

@media(max-width:960px){
  .apsh-sticky-support{
    position:static!important;
    top:auto!important;
  }
}
@media(max-width:900px){
  :root{--apsh-fundraising-strip-height:68px}
  .apsh-fundraising-strip-inner{
    grid-template-columns:repeat(3,minmax(0,1fr)) auto;
    gap:9px;padding:7px 0;
  }
  .apsh-fundraising-strip-inner>.apsh-strip-title{display:none}
  .apsh-fundraising-strip strong{font-size:13px}
  .apsh-fundraising-strip .apsh-strip-donate{min-height:42px;padding:0 13px}
}
@media(max-width:560px){
  :root{--apsh-fundraising-strip-height:60px}
  .apsh-fundraising-strip-inner{
    width:calc(100% - 14px);
    grid-template-columns:1fr 1fr auto;
    gap:6px;min-height:60px;padding:6px 0;
  }
  .apsh-fundraising-strip-inner>.apsh-strip-goal{display:none}
  .apsh-fundraising-strip small{font-size:9px;letter-spacing:.03em}
  .apsh-fundraising-strip strong{font-size:12px;margin-top:1px}
  .apsh-fundraising-strip .apsh-strip-donate{
    min-height:40px;padding:0 11px;border-radius:10px;font-size:13px
  }
  .apsh-fundraising-strip .apsh-strip-donate span{display:none}
}


/* =========================================================
   APSHINFO V5 — PREMIUM FUNDRAISING TYPOGRAPHY & PROPORTIONS
   ========================================================= */

/* Thinner donation/funding strip */
:root{
  --apsh-fundraising-strip-height:62px;
}

.apsh-fundraising-strip-inner{
  min-height:62px!important;
  gap:14px!important;
}
.apsh-fundraising-strip{
  box-shadow:0 4px 14px rgba(15,23,42,.045)!important;
}
.apsh-fundraising-strip.is-fixed{
  box-shadow:0 8px 24px rgba(15,23,42,.12)!important;
}
.apsh-fundraising-strip small{
  font-size:10px!important;
  letter-spacing:.055em!important;
  margin-bottom:1px!important;
}
.apsh-fundraising-strip strong{
  font-size:14px!important;
  line-height:1.15!important;
  margin-top:1px!important;
}
.apsh-fundraising-strip .apsh-strip-donate{
  min-height:38px!important;
  padding:0 16px!important;
  border-radius:10px!important;
  font-size:14px!important;
}

/* Project/campaign main article card */
.s360-project-main{
  border-radius:22px!important;
}
.s360-project-copy{
  font-size:16px!important;
  line-height:1.58!important;
  color:#334155!important;
  letter-spacing:0!important;
}

/* Main article title hierarchy */
.s360-project-copy h1{
  font-size:clamp(28px,2.35vw,40px)!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
  margin:.1rem 0 .5rem!important;
  color:#0f172a!important;
}
.s360-project-copy h2{
  font-size:clamp(23px,1.9vw,32px)!important;
  line-height:1.18!important;
  letter-spacing:-.018em!important;
  margin:1rem 0 .45rem!important;
  color:#0f172a!important;
}
.s360-project-copy h3{
  font-size:clamp(20px,1.55vw,27px)!important;
  line-height:1.22!important;
  margin:.9rem 0 .4rem!important;
  color:#172033!important;
}
.s360-project-copy h4{
  font-size:18px!important;
  line-height:1.25!important;
  margin:.8rem 0 .35rem!important;
  color:#172033!important;
}
.s360-project-copy p{
  font-size:16px!important;
  line-height:1.6!important;
  margin:0 0 .72rem!important;
  max-width:78ch!important;
}
.s360-project-copy strong{
  color:#172033!important;
  font-weight:750!important;
}
.s360-project-copy ul,
.s360-project-copy ol{
  margin:.5rem 0 .8rem!important;
  padding-left:1.35rem!important;
}
.s360-project-copy li{
  line-height:1.55!important;
  margin-bottom:.24rem!important;
}
.s360-project-copy hr{
  margin:1.05rem 0!important;
  border:0!important;
  border-top:1px solid #e7ece9!important;
}

/* "About This Project" heading block */
.s360-project-main > h2,
.s360-project-main .section-title,
.s360-project-main .project-section-title{
  font-size:clamp(28px,2.2vw,38px)!important;
  line-height:1.14!important;
  letter-spacing:-.025em!important;
  margin-bottom:.25rem!important;
}
.s360-project-main .section-subtitle,
.s360-project-main .project-section-subtitle{
  font-size:15px!important;
  line-height:1.45!important;
  color:#64748b!important;
  margin-bottom:1.05rem!important;
}

/* Compact premium Support card */
.s360-support,
.apsh-sticky-support{
  border-radius:22px!important;
  padding:26px 28px!important;
}
.s360-support h2,
.s360-support h3,
.s360-support .support-title{
  font-size:clamp(25px,2vw,34px)!important;
  line-height:1.13!important;
  letter-spacing:-.025em!important;
  margin:0 0 .45rem!important;
}
.s360-support p,
.s360-support .support-copy{
  font-size:15px!important;
  line-height:1.5!important;
  color:#64748b!important;
  margin:0 0 1rem!important;
}
.s360-support .support-metric-label,
.s360-support small{
  font-size:11px!important;
  letter-spacing:.025em!important;
  color:#64748b!important;
}
.s360-support .support-metric-value,
.s360-support strong{
  font-size:clamp(22px,1.55vw,30px)!important;
  line-height:1.15!important;
}
.s360-support .support-donate,
.s360-support a[href*="donat"],
.s360-support button{
  min-height:46px!important;
  border-radius:12px!important;
  font-size:15px!important;
  font-weight:850!important;
}

/* More balanced two-column proportions */
@media(min-width:961px){
  .s360-project-page[class*="layout-"] .s360-project-shell,
  .s360-project-shell{
    grid-template-columns:minmax(0,1fr) 320px!important;
    gap:26px!important;
  }
}

/* Mobile/tablet typography */
@media(max-width:900px){
  :root{--apsh-fundraising-strip-height:58px}
  .apsh-fundraising-strip-inner{
    min-height:58px!important;
  }
  .s360-project-copy{
    font-size:15px!important;
  }
  .s360-project-copy p{
    font-size:15px!important;
    line-height:1.56!important;
  }
  .s360-support,
  .apsh-sticky-support{
    padding:22px!important;
  }
}
@media(max-width:560px){
  :root{--apsh-fundraising-strip-height:54px}
  .apsh-fundraising-strip-inner{
    min-height:54px!important;
  }
  .apsh-fundraising-strip strong{
    font-size:12px!important;
  }
  .apsh-fundraising-strip .apsh-strip-donate{
    min-height:36px!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
  .s360-project-copy h1{
    font-size:28px!important;
  }
  .s360-project-copy h2{
    font-size:24px!important;
  }
  .s360-project-copy h3{
    font-size:21px!important;
  }
}
