.sterilization-campaign{display:block;background:linear-gradient(135deg,#0b412f,#063524);color:#fff;border-radius:34px;margin-top:26px;overflow:hidden;position:relative}
.sterilization-campaign:after{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(242,210,100,.28);border-radius:50%;right:-120px;top:-150px;pointer-events:none}
.sterilization-heading,.sterilization-visible-content,.sterilization-details{position:relative;z-index:1}
.sterilization-heading{padding:34px 36px 18px}
.sterilization-heading h2,.sterilization-heading h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.8rem);font-style:italic;line-height:1.02;margin:8px 0 0;color:#f4cf59!important;text-shadow:0 2px 18px rgba(0,0,0,.24)}
.sterilization-campaign-page{margin:16px max(4vw,20px) 32px;padding:0}
.sterilization-campaign-page .sterilization-heading{padding-top:26px;padding-bottom:14px}
.sterilization-campaign-page .sterilization-heading h1{max-width:900px}
.sterilization-visible-content{display:grid;grid-template-columns:minmax(320px,1fr) minmax(210px,.38fr);gap:18px;align-items:stretch;padding:0 28px 18px}
.sterilization-actions{display:grid;gap:10px;align-content:center;margin:0}
.sterilization-actions .btn{display:flex;align-items:center;justify-content:center;min-height:52px;text-align:center}
.sterilization-actions .outline{border:2px solid #fff;color:#fff;background:transparent}
.sterilization-meter{background:#f8f4e7;color:#123b2b;border:1px solid #e1c876;border-radius:22px;padding:24px 26px;box-shadow:0 20px 48px rgba(0,0,0,.2)}
.sterilization-numbers{display:flex;justify-content:space-between;align-items:end;gap:15px}
.sterilization-numbers strong{font-family:Georgia,serif;font-size:2.35rem;color:#0a5638}
.sterilization-numbers span{font-weight:800;text-align:right}
.sterilization-track{height:18px;background:#dfe8e1;border-radius:999px;margin:18px 0 12px;overflow:hidden;border:1px solid #c8d6cc}
.sterilization-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#e14a37,#f2d264);border-radius:inherit;transition:width .7s ease}
.sterilization-meta{display:flex;justify-content:space-between;gap:18px;font-size:.96rem}
.sterilization-meter small{display:block;margin-top:15px;color:#587064;line-height:1.45}
.sterilization-details{margin:0 28px 28px;border:1px solid rgba(242,210,100,.36);border-radius:18px;background:rgba(4,39,27,.46);overflow:hidden}
.sterilization-details summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;padding:11px 18px;cursor:pointer;list-style:none;color:#fff;font-size:.8rem;font-weight:900;letter-spacing:.1em}
.sterilization-details summary::-webkit-details-marker{display:none}
.sterilization-details summary i{font-style:normal;color:#f4cf59;font-size:1.7rem;line-height:1;transition:transform .2s ease}
.sterilization-details[open] summary i{transform:rotate(180deg)}
.sterilization-copy{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:4px 18px 20px;border-top:1px solid rgba(242,210,100,.22)}
.sterilization-copy p{margin:14px 0 0;max-width:650px;font-size:1rem;line-height:1.6;color:#e7f1eb}
.sterilization-disclaimer{padding:13px 15px;border-left:4px solid #f2d264;border-radius:10px;background:rgba(255,255,255,.1);color:#f4f8f5!important;font-size:.92rem!important;line-height:1.55!important}
.sterilization-disclaimer strong{color:#f2d264}
.sterilization-donation-context>span{background:#f2d264;color:#073f2c}
.sterilization-donation-context .sterilization-disclaimer{margin-top:12px;background:#fff8dc;color:#173f2d!important;border:1px solid #ead17b;border-left:4px solid #d4a000;font-size:.88rem!important}
.sterilization-donation-context .sterilization-disclaimer strong{color:#073f2c}
@media(max-width:760px){
 .sterilization-campaign{border-radius:24px}
 .sterilization-heading{padding:24px 18px 14px}
 .sterilization-heading h2,.sterilization-heading h1{font-size:clamp(2rem,10vw,3rem);max-width:14ch}
 .sterilization-campaign-page{margin:10px 10px 22px}
 .sterilization-campaign-page .sterilization-heading{padding-top:20px;padding-bottom:12px}
 .sterilization-visible-content{grid-template-columns:1fr;gap:12px;padding:0 14px 12px}
 .sterilization-meter{padding:20px 17px}
 .sterilization-numbers strong{font-size:2rem}
 .sterilization-meta{flex-direction:column;gap:7px}
 .sterilization-actions{grid-template-columns:1fr 1fr}
 .sterilization-actions .btn{min-height:48px;padding:10px 8px;font-size:.72rem;line-height:1.15}
 .sterilization-details{margin:0 14px 16px;border-radius:15px}
 .sterilization-details summary{min-height:54px;padding:10px 14px;font-size:.7rem;letter-spacing:.07em}
 .sterilization-copy{grid-template-columns:1fr;gap:0;padding:2px 13px 15px}
 .sterilization-copy p{font-size:.94rem;line-height:1.52}
}
@media(max-width:360px){.sterilization-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.sterilization-details summary i,.sterilization-track span{transition:none}}

/* Homepage mobile headline lock: exactly two lines. */
@media(max-width:760px){
 .home-cases + .sterilization-campaign .sterilization-heading{padding:16px 18px 10px!important}
 .home-cases + .sterilization-campaign .sterilization-heading h2{
   max-width:none!important;
   width:100%!important;
   font-size:clamp(1.65rem,7.4vw,2.15rem)!important;
   line-height:1.04!important;
   margin:0!important;
 }
 .home-cases + .sterilization-campaign .sterilization-heading h2>span{
   display:block!important;
   width:100%!important;
   max-width:none!important;
   white-space:nowrap!important;
 }
}
