/* Local programme design candidate, scoped to programme components. */
.cpi-program-card{background:#fffdf9;border:1px solid #60071f14;border-radius:18px;overflow:hidden;box-shadow:0 5px 22px #36212a05;transition:box-shadow .25s ease,border-color .25s ease}
.cpi-program-card:hover{border-color:#b98b5666;box-shadow:0 15px 36px #36212a10}
.cpi-program-card .cpi-program-body>div:first-child{aspect-ratio:16/10;border-radius:0}
.cpi-program-card .cpi-program-body>div:nth-child(2){padding:24px 24px 0}
.cpi-program-card h3{min-height:3em;font-size:1.28rem;line-height:1.5}
.cpi-program-card .cpi-program-summary{flex:none;min-height:5.1em;max-width:none;margin-bottom:22px;line-height:1.7}
.cpi-program-card .cpi-program-facts{background:#f7f3ec;border:0;border-radius:12px;padding:16px;gap:14px 18px;margin-bottom:4px}
.cpi-program-card .cpi-program-facts dt{font-size:.72rem;color:#776755}
.cpi-program-card .cpi-program-facts dd{font-size:.86rem;line-height:1.65}
.cpi-program-card .cpi-program-fact-duration{border-top:1px solid #60071f10;padding-top:12px}
.cpi-program-card .cpi-program-actions{padding:16px 24px 24px;gap:9px}
.cpi-program-card .cpi-program-actions a{min-height:48px;padding:12px;font-size:.8rem;border-radius:10px}
.cpi-program-card .cpi-program-more{background:white;border:1px solid #60071f26;color:#60071f}
.cpi-program-card:focus-within{outline:2px solid #b98b56;outline-offset:4px}
.cpi-detail-overview{position:relative;z-index:20;margin-top:-30px}
.cpi-overview-panel{border:1px solid #b98b5638;border-radius:20px;background:#fffdf9;box-shadow:0 12px 40px #38252a0c;padding:30px 34px}
.cpi-overview-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #60071f12;padding-bottom:20px;margin-bottom:20px}
.cpi-overview-heading p{color:#88633e;font-size:.65rem}
.cpi-overview-heading h2{font-size:1.4rem;font-weight:600;color:#60071f;line-height:1.6}
.cpi-overview-panel .cpi-program-facts{grid-template-columns:minmax(0,.65fr) minmax(0,1fr) minmax(0,1.3fr);border:0;padding:0;margin:0;gap:25px}
.cpi-overview-panel .cpi-program-fact-duration{grid-column:auto}
.cpi-overview-panel .cpi-program-facts dt,.cpi-overview-curriculum>span{font-size:.76rem;color:#7c6c58}
.cpi-overview-panel .cpi-program-facts dd{font-size:1.08rem;font-weight:600;margin-top:7px;line-height:1.8}
.cpi-overview-curriculum{margin-top:22px;padding-top:19px;border-top:1px solid #60071f12;display:flex;gap:20px;align-items:baseline;flex-wrap:wrap}
.cpi-overview-curriculum strong{font-size:.95rem;color:#38252a;font-weight:500;line-height:1.8}
.cpi-original-detail{padding-top:12px}
.cpi-original-detail p{max-width:76ch}
.cpi-mobile-enquiry{display:none}
@media(max-width:640px){
 .cpi-program-card h3{min-height:0;font-size:1.3rem}
 .cpi-program-card .cpi-program-summary{min-height:0}
 .cpi-program-card .cpi-program-body>div:nth-child(2){padding:22px 20px 0}
 .cpi-program-card .cpi-program-actions{padding:16px 20px 22px}
 .cpi-overview-panel{padding:23px 21px;border-radius:16px}
 .cpi-overview-heading{display:block;padding-bottom:15px;margin-bottom:18px}
 .cpi-overview-heading h2{font-size:1.2rem;margin-top:9px}
 .cpi-overview-panel .cpi-program-facts{grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:18px}
 .cpi-overview-panel .cpi-program-fact-duration{grid-column:1/-1;border-top:1px solid #60071f12;padding-top:15px}
 .cpi-overview-panel .cpi-program-facts dd{font-size:.95rem}
 .cpi-overview-curriculum{gap:8px;flex-direction:column}
 body:has(.cpi-mobile-enquiry){padding-bottom:calc(86px + env(safe-area-inset-bottom))}
 .cpi-mobile-enquiry{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;align-items:center;justify-content:space-between;gap:14px;background:#fffdf9;border-top:1px solid #b98b5640;box-shadow:0 -5px 24px #38252a12;padding:12px 18px calc(12px + env(safe-area-inset-bottom))}
 .cpi-mobile-enquiry>div{flex:1;min-width:0}
 .cpi-mobile-enquiry span{display:block;font-size:.65rem;color:#776755;line-height:1.5}
 .cpi-mobile-enquiry strong{display:block;font-size:.77rem;color:#60071f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}
 .cpi-mobile-enquiry>a{flex:none;min-height:46px;font-size:.78rem;padding:12px 16px}
 .cpi-mobile-enquiry>a span{color:inherit;font-size:inherit}
}
@media(prefers-reduced-motion:reduce){.cpi-program-card{transition:none}}
