.cases-hub{background:#f5f8f4}
.cases-section{padding-block:clamp(3.5rem,7vw,6rem)}
.breadcrumbs + .cases-section{padding-top:clamp(1.75rem,4vw,3.25rem)}
.cases-section--soft{background:#f5f8f4}
.cases-actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: .72rem 1.35rem;
  border: 1px solid transparent;
  border-radius: .28rem;
  font-weight: 800;
  line-height: 1.2;
  transition: transform .2s ease, background-color .2s ease;
}

.cases-actions .button:hover,
.cases-actions .button:focus-visible {
  transform: translateY(-2px);
}

.cases-actions .button.primary {
  color: #fff;
  background: var(--brand);
}

.cases-actions .button.light {
  color: var(--brand-dark);
  background: #fff;
}
.case-load-more .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: .72rem 1.35rem;
  border: 1px solid var(--brand);
  border-radius: .28rem;
  color: var(--brand);
  background: #fff;
  font: inherit;
  font-weight: 800;
  line-height: 1.2;
  cursor: pointer;
  transition:
    transform .2s ease,
    background-color .2s ease,
    color .2s ease;
}

.case-load-more .button:hover,
.case-load-more .button:focus-visible {
  color: #fff;
  background: var(--brand);
  transform: translateY(-2px);
}
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0.72rem 1.35rem;
    border: 1px solid transparent;
    border-radius: 0.28rem;
    font-weight: 800;
    line-height: 1.2;
    transition: transform .2s ease, background-color .2s ease;
}
.button.light {
    color: #1c5520;
    background: #fff;
}
.cases-overview{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);gap:clamp(1.5rem,4vw,4rem);align-items:stretch}
.cases-overview__copy{padding:clamp(1.5rem,4vw,3rem);background:#fff;border:1px solid var(--line);border-radius:1rem;box-shadow:0 12px 30px rgba(18,55,20,.06)}
.cases-eyebrow{margin:0 0 .75rem;color:var(--brand);font-size:.8rem;font-weight:800;letter-spacing:.14em}
.cases-overview h2{margin:0;color:var(--brand-dark);font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.2}
.cases-overview__copy>p{max-width:44rem;margin:1rem 0 0;color:var(--muted);font-size:1.03rem}
.cases-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem}
.cases-anchor{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.4rem}
.cases-anchor a{padding:.55rem .85rem;border:1px solid var(--line);border-radius:99rem;color:var(--brand-dark);background:#fff;font-size:.88rem;font-weight:700}
.cases-anchor a:hover,.cases-anchor a:focus-visible{border-color:var(--brand);color:var(--brand)}
.cases-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:1rem;background:linear-gradient(155deg,var(--brand-dark),var(--brand));border-radius:1rem}
.cases-stat{display:grid;align-content:center;min-height:8.4rem;padding:1rem;border-radius:.75rem;background:rgba(255,255,255,.96)}
.cases-stat strong{color:var(--brand-dark);font-size:clamp(1.8rem,3vw,2.7rem);line-height:1}
.cases-stat span{margin-top:.6rem;color:var(--muted);font-size:.85rem}
.cases-section__head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.4rem}
.cases-section__head h2{margin:0;color:var(--brand-dark);font-size:clamp(1.55rem,2.6vw,2.35rem);line-height:1.25}
.cases-section__head p{max-width:45rem;margin:.5rem 0 0;color:var(--muted)}
.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.4rem)}
.featured-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:1rem;background:#fff;box-shadow:0 10px 28px rgba(18,55,20,.07);transition:transform .2s ease,box-shadow .2s ease}
.featured-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(18,55,20,.12)}
.featured-card__image{display:block;overflow:hidden;aspect-ratio:1.45/1;background:#edf2ec}
.featured-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.featured-card:hover .featured-card__image img{transform:scale(1.035)}
.featured-card__body{display:flex;flex:1;flex-direction:column;padding:1.15rem}
.featured-card h3{margin:.8rem 0 0;color:var(--brand-dark);font-size:1.1rem;line-height:1.4}
.featured-card p{display:-webkit-box;overflow:hidden;margin:.55rem 0 1rem;color:var(--muted);font-size:.9rem;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.featured-card .case-card__link{margin-top:auto}
.featured-card--lead{grid-column:span 2}
.featured-card--lead .featured-card__image{aspect-ratio:1.9/1}
.case-tags{display:flex;flex-wrap:wrap;gap:.45rem}
.case-card__tags{display:flex;flex-wrap:wrap;gap:.45rem}
.case-card__tags span{display:inline-flex;padding:.25rem .55rem;border-radius:99rem;background:#edf6eb;color:var(--brand-dark);font-size:.75rem;font-weight:700}
.cases-outcomes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem}
.cases-outcome{padding:1.15rem;border:1px solid var(--line);border-radius:.85rem;background:#fff}
.cases-outcome strong{display:block;color:var(--brand);font-size:1.65rem;line-height:1}
.cases-outcome h3{margin:.7rem 0 .35rem;color:var(--brand-dark);font-size:1rem}
.cases-outcome p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.65}
.case-filter{display:grid;gap:1rem;margin-top:1.35rem;padding:1.15rem;border:1px solid var(--line);border-radius:1rem;background:#fff;box-shadow:0 10px 24px rgba(18,55,20,.05)}
.case-search{display:flex;align-items:center;gap:.6rem;padding:0 .9rem;border:1px solid var(--line);border-radius:.75rem;background:#f8fbf7}
.case-search span{color:var(--brand);font-size:1.25rem;font-weight:800}
.case-search input{width:100%;min-height:3.2rem;border:0;outline:0;background:transparent;color:var(--ink);font:inherit}
.case-filter__group{display:grid;gap:.55rem}
.case-filter__label{color:var(--muted);font-size:.84rem;font-weight:800}
.case-filter__actions{display:flex;flex-wrap:wrap;gap:.5rem}
.case-chip{min-height:2.15rem;padding:.35rem .75rem;border:1px solid var(--line);border-radius:99rem;background:#fff;color:var(--muted);font:inherit;font-size:.86rem;cursor:pointer}
.case-chip:hover,.case-chip.is-active{border-color:var(--brand);color:#fff;background:var(--brand)}
.case-result-line{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;color:var(--muted);font-size:.9rem}
.case-result-line strong{color:var(--brand-dark)}
.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.4rem);margin-top:1rem}
.case-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:.9rem;background:#fff;box-shadow:0 8px 22px rgba(18,55,20,.06);transition:transform .2s ease,box-shadow .2s ease}
.case-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(18,55,20,.11)}
.case-card.is-hidden{display:none}
.case-card__cover{position:relative;display:block;overflow:hidden;aspect-ratio:1.3/1;background:#edf2ec}
.case-card__cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.case-card:hover .case-card__cover img{transform:scale(1.035)}
.case-card__cover span{position:absolute;right:.7rem;bottom:.7rem;padding:.3rem .55rem;border-radius:99rem;color:#fff;background:rgba(20,75,28,.84);font-size:.73rem;font-weight:700}
.case-card__body{display:flex;flex:1;flex-direction:column;padding:1rem}
.case-card h3{margin:.7rem 0 0;color:var(--brand-dark);font-size:1.05rem;line-height:1.45}
.case-card h3 a:hover,.case-card h3 a:focus-visible{color:var(--brand)}
.case-card p{display:-webkit-box;overflow:hidden;margin:.55rem 0 1rem;color:var(--muted);font-size:.86rem;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.case-card__link{display:inline-flex;align-items:center;gap:.35rem;margin-top:auto;color:var(--brand);font-size:.88rem;font-weight:800}
.case-card__link:hover,.case-card__link:focus-visible{color:var(--brand-dark)}
.case-empty{display:none;margin-top:1rem;padding:2rem;text-align:center;border:1px dashed #b7cbb5;border-radius:.9rem;color:var(--muted);background:#fff}
.case-empty.is-visible{display:block}
.case-load-more{display:flex;justify-content:center;margin-top:1.5rem}
.case-load-more[hidden]{display:none}
.cases-cta{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:clamp(1.5rem,4vw,3rem);border-radius:1rem;color:#fff;background:linear-gradient(125deg,var(--brand-dark),var(--brand))}
.cases-cta h2{margin:0;font-size:clamp(1.45rem,2.5vw,2.2rem);line-height:1.25}
.cases-cta p{margin:.5rem 0 0;color:#d4efca}
.cases-cta .button{flex:0 0 auto;background:#fff;color:var(--brand-dark)}
@media(max-width:62rem){.cases-overview{grid-template-columns:1fr}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-card--lead{grid-column:span 2}.cases-outcomes{grid-template-columns:repeat(3,minmax(0,1fr))}.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:42rem){.cases-section{padding-block:3rem}.cases-section__head{display:block}.cases-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-grid,.case-grid{grid-template-columns:1fr}.featured-card--lead{grid-column:auto}.featured-card--lead .featured-card__image{aspect-ratio:1.3/1}.cases-outcomes{grid-template-columns:repeat(2,minmax(0,1fr))}.case-result-line{align-items:flex-start;flex-direction:column}.cases-cta{display:block}.cases-cta .button{margin-top:1.1rem}}
@media(max-width:30rem){.cases-outcomes{grid-template-columns:1fr}.cases-stat{min-height:6.8rem}}
