/* Other Programs only. Approved Home V3.2 header/footer/CTA rules are inherited. */
.page-other-programs main{background:#fff;overflow:hidden}
.op-hero{position:relative;isolation:isolate;background:#fffcf6}
.op-hero-inner{display:grid;grid-template-columns:54% 46%;align-items:center;min-height:270px}
.op-hero-copy{position:relative;z-index:1;padding:35px 25px 40px 0}
.op-hero h1{font-size:46px;line-height:1.12;margin-bottom:17px}
.op-hero-description{font-size:17px;line-height:1.5;max-width:600px}
.op-hero figure{height:270px;overflow:hidden;border-radius:18% 30% 24% 38% / 15% 55% 38% 65%}
.op-hero figure img{height:100%;width:100%;object-fit:cover;object-position:center 35%}
.op-hero{overflow:hidden}.op-hero .v3-motifs{opacity:.75;height:680px;top:-40px}
.op-programs{padding-block:18px 24px}
.op-program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.op-card{display:grid;grid-template-columns:56% 44%;min-width:0;min-height:224px;border-radius:18px;overflow:hidden;scroll-margin-top:110px}
.op-cream{background:#fff8e8}.op-mint{background:#eaf9f3}.op-pink{background:#fff0f2}.op-blue{background:#eaf5ff}
.op-card-copy{padding:24px 18px 20px 26px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.op-card h2{display:flex;align-items:center;gap:10px;font-size:24px;line-height:1.18;letter-spacing:-.035em;margin-bottom:16px;scroll-margin-top:110px}
.op-card h2>svg{width:24px;height:24px;color:#00269a;flex-shrink:0}
.op-card h2>span{min-width:0}
.op-card p{font-size:16px;line-height:1.5;margin-bottom:12px}
.op-learn{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:15px;font-weight:800;text-decoration:none;color:#00269a;margin-top:auto}
.op-learn>span{display:flex;align-items:center;justify-content:center;width:27px;height:27px;background:#9c0000;color:white;border-radius:50%}
.op-learn svg{width:17px;height:17px}.op-learn:hover{text-decoration:underline}
.op-card figure{align-self:stretch;min-width:0;overflow:hidden;border-radius:16% 0 0 16% / 50% 0 0 50%;margin:0}
.op-card figure img{width:100%;height:100%;min-height:224px;object-fit:cover;object-position:center}
.op-card.op-cream figure img,.op-card.op-blue figure img{object-position:60% center}
@media(min-width:901px) and (max-width:1190px){.op-card-copy{padding:20px 14px 18px 20px}.op-card h2{font-size:21px;gap:8px}.op-card p{font-size:15px}.op-hero h1{font-size:42px}}
@media(max-width:900px){.op-hero-inner{grid-template-columns:1fr;gap:20px;padding-top:28px;padding-bottom:24px}.op-hero-copy{padding:0}.op-hero h1{font-size:38px;margin-bottom:14px}.op-hero-description{font-size:16px;line-height:1.6}.op-hero figure{height:clamp(200px,52vw,340px);border-radius:55px 35px 45px 35px}.op-program-grid{grid-template-columns:1fr;gap:16px}.op-card{min-height:210px;grid-template-columns:58% 42%}.op-card h2{font-size:23px}.op-card-copy{padding:22px 18px 20px 22px}.op-card figure img{min-height:210px}.op-programs{padding-top:20px}}
@media(max-width:480px){.op-hero h1{font-size:36px}.op-card{grid-template-columns:60% 40%;min-height:250px}.op-card-copy{padding:20px 10px 16px 16px}.op-card h2{font-size:20px;line-height:1.25;align-items:flex-start;gap:7px;margin-bottom:12px}.op-card h2>svg{width:20px;height:20px;margin-top:2px}.op-card p{font-size:14px;line-height:1.55;margin-bottom:8px}.op-learn{font-size:14px;gap:10px}.op-card figure img{min-height:250px}.op-card figure{border-radius:20% 0 0 20% / 45% 0 0 45%}}
@media(max-width:480px){.op-card.op-cream figure img,.op-card.op-blue figure img{object-position:85% center}.op-hero .v3-motifs{top:170px;opacity:.5}}

/* Reuse Home V3.2 eyebrow and bamboo; confine bamboo to the outer gutters. */
.op-hero .v3-bamboo{top:54px;width:clamp(0px,calc((100vw - 1200px)/2 - 28px),82px);height:160px}

/* Compact phone cards: content controls height; retain a 44px Learn More target. */
@media(max-width:600px){
 .op-program-grid{gap:13px}
 .op-card{grid-template-columns:62% 38%;min-height:170px}
 .op-card-copy{padding:10px 8px 10px 12px}
 .op-card h2{font-size:18px;line-height:1.2;gap:6px;margin-bottom:6px}
 .op-card h2>svg{width:18px;height:18px;margin-top:1px}
 .op-card p{font-size:13.5px;line-height:1.45;margin-bottom:4px}
 .op-learn{font-size:13px;min-height:44px;gap:10px}
 .op-card figure img{min-height:0}
}
