/* =========================================================
   OUR WORK
========================================================= */
.our-work-page{--work-mountain:#b48773;--work-sun:#e2c56b}

/* =========================================================
   IMAGE DIVIDER + SUN
========================================================= */
.work-photo-divider{padding:clamp(20px,2.5vw,34px) 0;background:#fff}
.work-photo-divider .container-wide{position:relative;isolation:isolate}
.work-photo-divider .container-wide::before{content:"";position:absolute;z-index:0;top:-100px;left:50%;width:220px;height:220px;border-radius:50%;background:var(--work-sun);transform:translateX(-50%);pointer-events:none}
.work-photo-divider-inner{position:relative;z-index:1;height:clamp(180px,21vw,300px);overflow:hidden}
.work-photo-divider img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

.section-heading-large,.activities-heading{max-width:950px;margin-bottom:clamp(50px,7vw,90px)}

/* =========================================================
   PROGRAMS
========================================================= */
.program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--clhf-border)}

.program-card{position:relative;min-height:390px;border-bottom:1px solid var(--clhf-border);overflow:hidden;background:#fff;isolation:isolate}
.program-card:nth-child(odd){border-right:1px solid var(--clhf-border)}

/* Full hover image */
.program-card-bg{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.018);transition:opacity .4s ease,transform .6s cubic-bezier(.2,.7,.2,1)}

.program-card-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(2,34,72,.97) 0%,rgba(2,34,72,.91) 54%,rgba(2,34,72,.72) 100%);opacity:0;transition:opacity .4s ease}

/* Clickable card */
.program-card-link{position:relative;z-index:2;display:block;width:100%;height:100%;min-height:390px;padding:clamp(36px,4vw,54px) 47% clamp(36px,4vw,54px) clamp(28px,3.5vw,52px);text-decoration:none}
.program-card:not(.has-background) .program-card-link{padding-right:clamp(28px,3.5vw,52px)}

/* Text */
.program-card-content{position:relative;z-index:4;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:280px}

.program-card h3{max-width:430px;margin:0 0 20px;font-family:var(--font-display);font-size:clamp(1.7rem,2.3vw,2.65rem);font-weight:750;line-height:1.05;letter-spacing:-.045em;color:var(--clhf-navy);transition:color .35s ease}

.program-card p{max-width:460px;margin:0 0 24px;font-size:clamp(.95rem,1vw,1.08rem);line-height:1.62;color:var(--clhf-muted);transition:color .35s ease}

.program-card-more{display:inline-flex;align-items:center;gap:11px;margin-top:auto;padding-top:12px;font-family:var(--font-display);font-size:.92rem;font-weight:800;color:var(--clhf-navy);transition:color .35s ease}

.program-card-more b{font-size:1.25rem;font-weight:500;transition:transform .22s ease}

/* =========================================================
   PROGRAM IMAGE + MOUNTAIN + SUN
========================================================= */
.program-card-preview{position:absolute;z-index:6;top:0;right:0;bottom:0;width:44%;height:100%;overflow:hidden;background:transparent;isolation:isolate}

/* Permanent image */
.program-card-preview img{position:absolute;inset:-2px;z-index:2;width:calc(100% + 4px);height:calc(100% + 4px);object-fit:cover;object-position:center;clip-path:polygon(34% 0,100% 0,100% 100%,9% 100%);transform:none!important;transition:none!important}

/* Sun behind image + mountain */
.program-card-preview::before{content:"";position:absolute;z-index:1;top:28px;left:25%;width:94px;height:94px;border-radius:50%;background:var(--work-sun);transform:translateX(-50%);pointer-events:none}

/* Mountain */
.program-card-preview::after{content:"";position:absolute;z-index:3;top:-2px;bottom:-2px;left:-2px;width:44%;background:var(--work-mountain);clip-path:polygon(77% 0,100% 0,23% 100%,0 100%);pointer-events:none}

.program-card:not(.has-background) .program-card-preview{display:none}

/* =========================================================
   PROGRAM HOVER
========================================================= */
@media(hover:hover){
.program-card:hover .program-card-bg,.program-card:focus-within .program-card-bg{opacity:1;transform:scale(1)}
.program-card:hover .program-card-overlay,.program-card:focus-within .program-card-overlay{opacity:1}

.program-card:hover h3,.program-card:hover p,.program-card:hover .program-card-more,
.program-card:focus-within h3,.program-card:focus-within p,.program-card:focus-within .program-card-more{color:#fff}

.program-card:hover .program-card-more b,.program-card:focus-within .program-card-more b{transform:translateX(6px)}

/* Never move permanent right-side image */
.program-card:hover .program-card-preview img,.program-card:focus-within .program-card-preview img{transform:none!important}
}

/* =========================================================
   FOUNDATION ACTIVITIES
========================================================= */
.activities-list{margin:0;padding:0;list-style:none;counter-reset:activity;border-top:1px solid rgba(2,34,72,.16)}

.activities-list li{counter-increment:activity;display:grid;grid-template-columns:140px minmax(0,1fr);gap:clamp(28px,4vw,60px);align-items:center;padding-block:clamp(32px,4vw,52px);border-bottom:1px solid rgba(2,34,72,.16)}

/* Number only inside the sun */
.activities-list li::before{content:counter(activity,decimal-leading-zero);display:flex;align-items:center;justify-content:center;width:112px;height:112px;border-radius:50%;background:var(--work-sun);font-family:var(--font-display);font-size:2.15rem;font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--clhf-navy)}

.activities-list li span{max-width:1000px;font-size:clamp(1.08rem,1.3vw,1.35rem);line-height:1.65;color:var(--clhf-navy)}

/* =========================================================
   TABLET
========================================================= */
@media(max-width:1050px){
.program-card{min-height:360px}
.program-card-link{min-height:360px;padding:34px 47% 34px 30px}
.program-card-content{min-height:270px}

.program-card-preview{width:45%}
.program-card-preview img{clip-path:polygon(36% 0,100% 0,100% 100%,9% 100%)}
.program-card-preview::after{width:46%;clip-path:polygon(78% 0,100% 0,22% 100%,0 100%)}
.program-card-preview::before{top:24px;left:27%;width:82px;height:82px}

.program-card h3{font-size:clamp(1.6rem,2.7vw,2.35rem)}

.activities-list li{grid-template-columns:125px minmax(0,1fr)}
.activities-list li::before{width:100px;height:100px;font-size:1.9rem}
}

/* =========================================================
   MOBILE
========================================================= */
@media(max-width:767px){
.work-photo-divider{padding:14px 0}
.work-photo-divider .container-wide::before{top:-72px;width:160px;height:160px}
.work-photo-divider-inner{height:170px}

.program-grid{grid-template-columns:1fr}

.program-card{min-height:340px}
.program-card:nth-child(odd){border-right:0}

.program-card-link{display:block;min-height:340px;padding:28px 50% 28px 22px}
.program-card-content{justify-content:center;min-height:284px}

.program-card h3{margin-bottom:16px;font-size:clamp(1.6rem,7vw,2.2rem)}
.program-card p{margin-bottom:18px;font-size:.96rem;line-height:1.52}
.program-card-more{padding-top:7px;font-size:.87rem}

/* Right visual */
.program-card-preview{width:48%}

.program-card-preview img{inset:-2px;width:calc(100% + 4px);height:calc(100% + 4px);clip-path:polygon(41% 0,100% 0,100% 100%,9% 100%)}

.program-card-preview::before{z-index:1;top:18px;left:28%;width:74px;height:74px}

.program-card-preview::after{z-index:3;top:-2px;bottom:-2px;left:-2px;width:53%;clip-path:polygon(77% 0,100% 0,23% 100%,0 100%)}

/* Activities */
.activities-list li{grid-template-columns:100px minmax(0,1fr);gap:18px;padding-block:30px}
.activities-list li::before{width:82px;height:82px;font-size:1.55rem}
.activities-list li span{font-size:1rem;line-height:1.58}
}

/* =========================================================
   SMALL MOBILE
========================================================= */
@media(max-width:430px){
.work-photo-divider .container-wide::before{top:-62px;width:136px;height:136px}

.program-card{min-height:350px}
.program-card-link{min-height:350px;padding:26px 50% 26px 18px}
.program-card-content{min-height:298px}

.program-card-preview{width:49%}

.program-card-preview img{clip-path:polygon(42% 0,100% 0,100% 100%,9% 100%)}

.program-card-preview::before{top:16px;left:28%;width:66px;height:66px}

.program-card-preview::after{width:55%;clip-path:polygon(77% 0,100% 0,23% 100%,0 100%)}

.program-card h3{font-size:clamp(1.45rem,7vw,1.95rem)}
.program-card p{font-size:.88rem}
.program-card-more{font-size:.83rem}

/* Activities */
.activities-list li{grid-template-columns:82px minmax(0,1fr);gap:14px;padding-block:26px}
.activities-list li::before{width:70px;height:70px;font-size:1.35rem}
.activities-list li span{font-size:.94rem;line-height:1.52}
}