.pepak-rescue{--pepak-green:#346b52;--pepak-line:#a8beae;width:min(1200px, calc(100vw - 48px));max-width:none;position:relative;left:50%;transform:translateX(-50%);margin:30px 0 55px;color:#26372c;font-family:inherit}
.pepak-rescue,.pepak-rescue *{box-sizing:border-box}
.pepak-rescue .pepak-rescue-intro{text-align:center;margin:0 auto 55px;max-width:750px}
.pepak-rescue .pepak-rescue-intro h2{font-size:clamp(28px,4vw,43px);line-height:1.2;margin:0 0 14px;color:#244e3a}
.pepak-rescue .pepak-rescue-intro p{font-size:16px;line-height:1.75;margin:0 auto;max-width:650px}
.pepak-rescue-timeline{position:relative;padding:18px 0 25px}
.pepak-rescue-timeline:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:4px;transform:translateX(-50%);border-radius:4px;background:var(--pepak-line)}
.pepak-rescue-event{display:flex;position:relative;min-height:185px;width:100%;align-items:center;margin:0 0 62px}
.pepak-rescue-event:nth-child(odd){justify-content:flex-start}
.pepak-rescue-event:nth-child(even){justify-content:flex-end}
.pepak-rescue-card{position:relative;min-width:0;width:calc(50% - 70px);background:#f6f8f4;border:1px solid #e0e9df;border-radius:18px;padding:24px;box-shadow:0 8px 24px rgba(25,55,35,.07)}
.pepak-rescue-node{position:absolute;left:50%;transform:translateX(-50%);width:120px;height:120px;border:6px solid #fff;border-radius:50%;background:#dce9d9;box-shadow:0 0 0 4px var(--pepak-green),0 6px 16px #0002;z-index:1;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#346b52;font-size:42px}
.pepak-rescue-node img{width:100%;height:100%;display:block;object-fit:cover}
.pepak-rescue-date{display:block;font-size:12px;font-weight:700;letter-spacing:.5px;color:var(--pepak-green);margin-bottom:8px;text-transform:uppercase}
.pepak-rescue .pepak-rescue-card h3{font-size:21px;line-height:1.35;margin:0 0 9px;color:#244e3a}
.pepak-rescue-desc{font-size:15px;line-height:1.65;margin:0;color:#435248;white-space:normal;overflow-wrap:anywhere}
.pepak-rescue-desc.pepak-rescue-collapsed{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pepak-rescue-more{appearance:none;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#276044;font:inherit;font-size:13px;font-weight:700;padding:8px 0 3px;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:3px}
.pepak-rescue-more[hidden]{display:none!important}
.pepak-rescue-more:hover{color:#153c2a}
.pepak-rescue-more:focus-visible{outline:2px solid #346b52;outline-offset:3px;border-radius:3px}
.pepak-rescue-more span{display:inline-block;transition:transform .18s ease}
.pepak-rescue-more[aria-expanded="true"] span{transform:rotate(180deg)}
.pepak-rescue-gallery{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding:10px 2px 8px;margin-top:10px;scrollbar-width:thin}
.pepak-rescue-gallery-item{display:block;flex:0 0 92px;width:92px;height:78px;scroll-snap-align:start;border:2px solid #fff;border-radius:9px;overflow:hidden;box-shadow:0 2px 7px #0002}
.pepak-rescue-gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}
.pepak-rescue-gallery-item:hover img{transform:scale(1.06)}
.pepak-rescue-hint{display:block;font-size:11px;color:#65776a;margin-top:2px}
.pepak-rescue-empty{text-align:center;padding:25px 10px}
.pepak-rescue-lightbox{position:fixed;inset:0;z-index:999999;display:flex;justify-content:center;align-items:center;background:rgba(9,17,12,.95);padding:65px 65px 52px;color:#fff}
.pepak-rescue-lightbox[hidden]{display:none!important}
.pepak-rescue-lightbox img{display:block;max-width:100%;max-height:calc(100dvh - 120px);width:auto;height:auto;object-fit:contain;border-radius:7px}
.pepak-rescue-lightbox button{appearance:none;border:0;cursor:pointer;color:#fff;background:#ffffff29;border-radius:100%;width:46px;height:46px;display:grid;place-items:center;font-size:28px;line-height:1;position:absolute;z-index:2}
.pepak-rescue-lightbox button:hover,.pepak-rescue-lightbox button:focus-visible{background:#ffffff55}
.pepak-rescue-lightbox .pepak-rescue-close{right:15px;top:12px}
.pepak-rescue-lightbox .pepak-rescue-prev{left:12px;top:50%;transform:translateY(-50%)}
.pepak-rescue-lightbox .pepak-rescue-next{right:12px;top:50%;transform:translateY(-50%)}
.pepak-rescue-lightbox .pepak-rescue-count{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-size:13px}
body.pepak-rescue-modal-open{overflow:hidden}
/* Mobile layout: node anchored to the date rather than vertically centered. */
@media(max-width:700px){
.pepak-rescue{width:calc(100vw - 20px);max-width:none;padding:0 2px;margin:22px 0 42px}
.pepak-rescue .pepak-rescue-intro{margin-bottom:38px;padding:0 10px}
.pepak-rescue .pepak-rescue-intro h2{font-size:clamp(26px,7vw,34px)}
.pepak-rescue .pepak-rescue-intro p{font-size:15px;line-height:1.7}
.pepak-rescue-timeline{padding-top:12px}
.pepak-rescue-timeline:before{left:25px;transform:none;width:3px}
.pepak-rescue-event,.pepak-rescue-event:nth-child(odd),.pepak-rescue-event:nth-child(even){justify-content:flex-end;align-items:flex-start;margin-bottom:34px;min-height:0}
.pepak-rescue-node{left:26.5px;top:12px;transform:translateX(-50%);width:49px;height:49px;border-width:3px;font-size:21px;box-shadow:0 0 0 3px var(--pepak-green),0 4px 12px #0002}
.pepak-rescue-card{width:calc(100% - 64px);padding:17px 16px;border-radius:14px}
.pepak-rescue-date{font-size:12px;line-height:1.45;letter-spacing:.25px;margin-bottom:8px}
.pepak-rescue .pepak-rescue-card h3{font-size:19px;line-height:1.35;margin-bottom:10px}
.pepak-rescue-desc{font-size:15px;line-height:1.7}
.pepak-rescue-more{font-size:14px;min-height:36px}
.pepak-rescue-gallery{gap:8px;margin-top:12px}
.pepak-rescue-gallery-item{flex-basis:82px;width:82px;height:74px}
.pepak-rescue-hint{font-size:11px;line-height:1.45}
.pepak-rescue-lightbox{padding:66px 8px 65px}
.pepak-rescue-lightbox .pepak-rescue-prev,.pepak-rescue-lightbox .pepak-rescue-next{top:auto;bottom:9px;transform:none}
}
@media(max-width:359px){
.pepak-rescue{width:calc(100vw - 12px)}
.pepak-rescue-timeline:before{left:21px}
.pepak-rescue-node{left:22.5px;width:43px;height:43px}
.pepak-rescue-card{width:calc(100% - 55px);padding:14px 12px}
.pepak-rescue .pepak-rescue-card h3{font-size:18px}
.pepak-rescue-desc{font-size:14.5px}
.pepak-rescue-gallery-item{flex-basis:74px;width:74px;height:67px}
}
@media(prefers-reduced-motion:reduce){.pepak-rescue-gallery-item img{transition:none}}

/* 1.3: Align lightbox glyphs precisely within their circular controls,
   even when Dyad 2 / WordPress theme button styles are inherited. */
.pepak-rescue-lightbox button.pepak-rescue-close,
.pepak-rescue-lightbox button.pepak-rescue-prev,
.pepak-rescue-lightbox button.pepak-rescue-next {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  text-align:center!important;
  text-indent:0!important;
  vertical-align:middle!important;
  line-height:1!important;
  min-width:0;
  min-height:0;
  box-sizing:border-box!important;
}
.pepak-rescue-lightbox button.pepak-rescue-close::before,
.pepak-rescue-lightbox button.pepak-rescue-prev::before,
.pepak-rescue-lightbox button.pepak-rescue-next::before,
.pepak-rescue-lightbox button.pepak-rescue-close::after,
.pepak-rescue-lightbox button.pepak-rescue-prev::after,
.pepak-rescue-lightbox button.pepak-rescue-next::after {content:none!important;display:none!important;}
.pepak-rescue-lightbox .pepak-rescue-control-icon {
  display:block!important;
  width:20px;
  height:20px;
  flex:none;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  stroke:currentColor;
  stroke-width:2.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  fill:none;
  pointer-events:none;
}

/* v1.4: the foundation sits permanently at the root of the timeline. */
.pepak-rescue-foundation{position:relative;display:flex;flex-direction:column;align-items:center;z-index:1;padding:45px 0 8px;margin-top:15px}
.pepak-rescue-foundation-node{position:relative;z-index:2;width:62px;height:62px;border:5px solid #fff;background:#346b52;color:#fff;border-radius:50%;box-shadow:0 0 0 4px #346b52,0 5px 14px #0002;display:flex;align-items:center;justify-content:center;font-size:32px;line-height:1;margin-bottom:28px}
.pepak-rescue-foundation-card{position:relative;z-index:2;width:min(720px,100%);background:#edf3eb;border:1px solid #b5cbbb;border-top:5px solid #346b52;border-radius:18px;padding:30px 34px;box-shadow:0 9px 30px #19372317;text-align:center;min-width:0}
.pepak-rescue-foundation-kicker{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#346b52;margin-bottom:12px}
.pepak-rescue .pepak-rescue-foundation-card h3{font-size:clamp(23px,3vw,31px);line-height:1.3;color:#244e3a;margin:0 0 16px}
.pepak-rescue-foundation-card .pepak-rescue-desc{text-align:left;white-space:normal;font-size:16px;line-height:1.75}
.pepak-rescue-foundation-card .pepak-rescue-more{display:flex;margin-top:8px}
.pepak-rescue-foundation-card .pepak-rescue-gallery{justify-content:center;margin-top:18px}
.pepak-rescue-foundation-card .pepak-rescue-gallery-item{flex:0 0 125px;width:125px;height:105px}
@media(max-width:700px){
.pepak-rescue-foundation{padding-top:35px;margin-top:0}
.pepak-rescue-foundation-node{width:52px;height:52px;font-size:27px;margin-bottom:24px}
.pepak-rescue-foundation-card{padding:23px 19px;width:calc(100% - 12px);border-radius:14px}
.pepak-rescue .pepak-rescue-foundation-card h3{font-size:23px}
.pepak-rescue-foundation-card .pepak-rescue-desc{text-align:left;font-size:15px}
.pepak-rescue-foundation-card .pepak-rescue-gallery{justify-content:flex-start}
.pepak-rescue-foundation-card .pepak-rescue-gallery-item{flex-basis:95px;width:95px;height:84px}
}

/* v1.5: permanent partners footer after the foundation. */
.pepak-rescue-partners{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;padding:35px 0 14px;margin-top:0}
.pepak-rescue-partners-node{position:relative;z-index:3;width:58px;height:58px;background:#346b52;border:5px solid #fff;border-radius:50%;box-shadow:0 0 0 4px #346b52,0 5px 14px #0002;color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:26px}
.pepak-rescue-partners-node svg{width:30px;height:30px;display:block}
.pepak-rescue-partners-card{position:relative;z-index:3;width:min(670px,100%);padding:30px 30px 34px;background:#f6f8f4;border:1px solid #b5cbbb;border-radius:18px;box-shadow:0 9px 30px #19372317;text-align:center}
.pepak-rescue-partners-kicker{display:block;color:#346b52;font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:700;margin-bottom:10px}
.pepak-rescue .pepak-rescue-partners-card h3{font-size:clamp(24px,3vw,31px);line-height:1.25;color:#244e3a;margin:0 0 10px}
.pepak-rescue-partners-subtitle{font-weight:700;color:#346b52;font-size:16px;margin:0 0 15px}
.pepak-rescue-partners-intro{color:#435248;font-size:15px;line-height:1.75;margin:0 auto 20px;max-width:570px;overflow-wrap:anywhere}
.pepak-rescue-partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;text-align:center}
.pepak-rescue-partner{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:17px 13px;border:1px solid #dce7de;border-radius:13px;background:#fff;text-decoration:none!important;color:#244e3a!important;overflow-wrap:anywhere;box-shadow:0 3px 10px #1937230c}
.pepak-rescue a.pepak-rescue-partner:hover{border-color:#346b52;background:#f9fcf8}
.pepak-rescue a.pepak-rescue-partner:focus-visible{outline:3px solid #346b52;outline-offset:2px}
.pepak-rescue-partner-image{height:68px;max-width:100%;display:flex;align-items:center;justify-content:center}
.pepak-rescue-partner-image img{display:block;max-width:100%;max-height:68px;width:auto;height:auto;object-fit:contain}
.pepak-rescue-partner-fallback{display:flex;width:35px;height:35px;background:#e5eee5;border-radius:50%;color:#346b52;align-items:center;justify-content:center}
.pepak-rescue-partner strong{font-size:15px;line-height:1.4}
.pepak-rescue-partner-role{color:#526b59;font-size:13px;line-height:1.45}
@media(max-width:700px){
.pepak-rescue-partners{padding-top:30px}
.pepak-rescue-partners-node{width:51px;height:51px;margin-bottom:23px}
.pepak-rescue-partners-card{padding:23px 15px;width:calc(100% - 12px);border-radius:14px}
.pepak-rescue .pepak-rescue-partners-card h3{font-size:23px}
.pepak-rescue-partner-grid{gap:9px}
.pepak-rescue-partner{padding:12px 8px}
.pepak-rescue-partner strong{font-size:13px}
.pepak-rescue-partner-role{font-size:12px}
}
@media(max-width:359px){.pepak-rescue-partner-grid{grid-template-columns:1fr}}

/* v1.6 — Explicit partner groups and a clean end to the timeline. */
.pepak-rescue .pepak-rescue-partners-node svg{display:block;width:32px;height:26px;fill:currentColor;stroke:none;flex:none}
.pepak-rescue-partner-section{margin:25px 0 0;text-align:center}
.pepak-rescue-partner-section-title{font-family:inherit!important;color:#346b52!important;font-weight:800!important;font-size:15px!important;letter-spacing:1.1px!important;line-height:1.5!important;margin:0 0 13px!important;text-transform:uppercase}
.pepak-rescue-partner-section + .pepak-rescue-partner-section{padding-top:22px;border-top:1px solid #d9e5da}
.pepak-rescue-partners{padding-bottom:0}
.pepak-rescue .pepak-rescue-partners:last-child::after{content:none}
/* The central line ends at the final card, not below it. */
@media(max-width:700px){.pepak-rescue-partner-section{margin-top:20px}.pepak-rescue-partner-section-title{font-size:13px!important}}

/* v1.6.1: end the timeline line at the final card edge instead of masking it. */
.pepak-rescue-timeline::before{bottom:25px}
.pepak-rescue .pepak-rescue-partners-card::after{content:none!important;display:none!important}


/* v1.6.2: center the only partner in its category without changing the
   two-column grid used by categories containing multiple partners. */
.pepak-rescue .pepak-rescue-partner-grid > .pepak-rescue-partner:only-child {
  grid-column: 1 / -1;
  justify-self: center;
  width: calc((100% - 12px) / 2);
  max-width: 100%;
}
@media (max-width: 700px) {
  .pepak-rescue .pepak-rescue-partner-grid > .pepak-rescue-partner:only-child {
    width: calc((100% - 9px) / 2);
  }
}
@media (max-width: 359px) {
  .pepak-rescue .pepak-rescue-partner-grid > .pepak-rescue-partner:only-child {
    width: 100%;
  }
}
/* WordPress themes can apply bottom margins to article elements.  Clear that
   spacing so the timeline's background line stops at the card's bottom edge. */
.pepak-rescue .pepak-rescue-timeline > .pepak-rescue-partners:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* PEPAK 1.7 – Impact dashboard and filters */
.pepak-rescue-impact{max-width:930px;margin:0 auto 24px;text-align:center}
.pepak-rescue-impact h3{font-size:clamp(22px,3vw,30px);color:#244e3a;margin:0 0 8px}
.pepak-rescue-impact>p{margin:0 auto 18px;line-height:1.6}
.pepak-impact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pepak-impact-grid>div{border:1px solid #dce8dd;background:#f5f8f3;padding:15px 8px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}
.pepak-impact-grid strong{font-size:28px;line-height:1.1;color:#28553e;font-weight:700}
.pepak-impact-grid span{font-size:12px;font-weight:600;color:#365b49;line-height:1.4}
.pepak-rescue-impact .pepak-impact-note{color:#617369;font-size:12px;margin:14px 0}
.pepak-impact-species{margin:12px auto 25px;text-align:left;max-width:700px}
.pepak-impact-species summary{cursor:pointer;font-weight:bold;color:#28553e;padding:8px}
.pepak-impact-table-wrap{overflow-x:auto}
.pepak-impact-species table{border-collapse:collapse;width:100%;font-size:14px}
.pepak-impact-species th,.pepak-impact-species td{padding:10px;border-bottom:1px solid #dce8dd;text-align:left}
.pepak-rescue-filters{max-width:920px;margin:0 auto 30px;display:flex;gap:12px;align-items:flex-end;justify-content:center;flex-wrap:wrap;background:#f5f8f3;border:1px solid #dce8dd;padding:16px;border-radius:14px}
.pepak-rescue-filters label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;color:#28553e;flex:1 1 230px}
.pepak-rescue-filters select{width:100%;max-width:100%;border:1px solid #adc4b3;border-radius:8px;padding:9px;background:white;color:#244e3a;font-size:14px;min-height:43px}
.pepak-rescue-filters button{border:1px solid #adc4b3;border-radius:8px;padding:9px 15px;background:#fff;color:#28553e;cursor:pointer;min-height:43px}
.pepak-rescue-filters .pepak-filter-status{width:100%;text-align:center;margin:0;color:#526a5c;font-size:12px}
.pepak-rescue-event[hidden],.pepak-rescue-no-results[hidden]{display:none!important}
.pepak-rescue-no-results{text-align:center;background:#f5f8f3;border-radius:10px;padding:18px;position:relative;z-index:2}
.pepak-event-tag,.pepak-event-species{display:inline-block;font-size:11px;padding:3px 8px;border-radius:20px;background:#e4efe6;color:#315e42;margin:5px 5px 6px 0;font-weight:600}
@media(max-width:700px){.pepak-impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pepak-rescue-filters{padding:12px}.pepak-rescue-filters label{flex-basis:100%}}

/* 1.8.4: display the same partner card immediately above the timeline filters.
   The original card remains at the timeline root. */
.pepak-rescue .pepak-rescue-partners-top {
  margin:0 auto 40px!important;
  padding:0!important;
  width:100%;
  max-width:930px;
  display:flex;
  flex-direction:column;
  align-items:center;
  position:relative;
}
.pepak-rescue .pepak-rescue-partners-top .pepak-rescue-partners-node{display:none!important}
.pepak-rescue .pepak-rescue-partners-top .pepak-rescue-partners-card{
  width:min(670px,100%);
  box-sizing:border-box;
}
@media(max-width:700px){
  .pepak-rescue .pepak-rescue-partners-top{margin-bottom:30px!important}
  .pepak-rescue .pepak-rescue-partners-top .pepak-rescue-partners-card{width:calc(100% - 12px)}
}

/* 1.8.5 – compact horizontal impact cards, minimalist icons on the left. */
.pepak-rescue .pepak-impact-grid > .pepak-impact-card {
  display:flex; flex-direction:row; justify-content:center; align-items:center;
  gap:10px; min-height:86px; padding:13px 9px; box-sizing:border-box;
}
.pepak-rescue .pepak-impact-icon { width:23px; height:23px; flex:0 0 23px; color:#38644a; }
.pepak-rescue .pepak-impact-text { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-width:0; }
.pepak-rescue .pepak-impact-text strong { font-size:28px; line-height:1.1; }
.pepak-rescue .pepak-impact-text .pepak-impact-label {font-size:12px;line-height:1.35;white-space:normal;text-align:center;}
@media(max-width:420px){
 .pepak-rescue .pepak-impact-grid > .pepak-impact-card {gap:6px;padding:12px 6px}
 .pepak-rescue .pepak-impact-icon {width:19px;height:19px;flex-basis:19px}
 .pepak-rescue .pepak-impact-text strong{font-size:24px}
 .pepak-rescue .pepak-impact-text .pepak-impact-label{font-size:11px}
}
