/* CX kit: pictorial path + selector + side-by-side + wizard (design taken from the CIMA case-study page). Brand: white, CoreKnowledge blue, logo red. */
.cx{background:#F4F6FC;padding:40px 0 34px}
.cx-head{text-align:left;margin:0 0 20px}.cx-k{display:inline-block;font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#D61F1F}
.cx-head h2{font-family:Cabin,sans-serif;font-size:clamp(26px,3.4vw,34px);color:#16215C;margin:4px 0 4px}.cx-head p{margin:0;color:#5A6185;font-size:16px}
.cx-path{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 28px}
.cx-st{position:relative;background:#fff;border:2px solid #DDE2F2;border-radius:20px;padding:18px 14px 14px;text-align:center;box-shadow:0 10px 24px rgba(22,33,92,.07)}
.cx-st .no{position:absolute;top:-11px;left:-6px;width:30px;height:30px;border-radius:50%;background:#D61F1F;color:#fff;font-weight:800;display:grid;place-items:center;font-size:14px;box-shadow:0 4px 10px rgba(214,31,31,.4)}
.cx-st .ic{width:56px;height:56px;border-radius:16px;margin:0 auto 8px;display:grid;place-items:center;background:#EEF1FB;color:#2B3A9A}
.cx-st b{display:block;color:#16215C;font-size:18px;font-family:Cabin,sans-serif}.cx-st small{display:block;color:#5A6185;font-size:13px;font-weight:600;line-height:1.3;margin-top:2px}
.cx-st:not(:last-child)::after{content:"";position:absolute;right:-12px;top:46px;width:10px;height:10px;border-top:3px solid #9AA3CF;border-right:3px solid #9AA3CF;transform:rotate(45deg)}
.cx .tag.free{display:inline-flex;gap:6px;align-items:center;margin-top:8px;font-style:normal;font-size:11px;font-weight:800;border-radius:99px;padding:4px 9px;background:#15803D;color:#fff;line-height:1.15;text-align:left}.cx .tag.free svg{width:14px;height:14px;flex:none}
.cx-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;align-items:start}
.cx-main,.cx-wiz{background:#fff;border:1px solid #DDE2F2;border-radius:22px;padding:20px;box-shadow:0 14px 36px rgba(22,33,92,.09)}
.cx h3{font-family:Cabin,sans-serif;font-size:20px;color:#16215C;margin:0 0 12px}
.cx-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 16px}
.cx-tile{position:relative;display:grid;gap:2px;text-align:left;border:2px solid #C5CCE6;border-bottom-width:4px;border-radius:16px;padding:14px;background:#fff;color:#16215C;font:inherit;cursor:pointer;transition:transform .16s,box-shadow .16s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:44px}
.cx-tile .ic{color:#2B3A9A;display:grid}.cx-tile b{font-size:18px;font-family:Cabin,sans-serif}.cx-tile small{color:#5A6185;font-weight:600;font-size:13px}
.cx-tile:hover{transform:translateY(-2px)}.cx-tile:active{transform:translateY(1px)}
.cx-tile.on{border-color:#1B2766;background:linear-gradient(180deg,#1B2766,#2B3A9A);color:#fff;box-shadow:0 10px 24px rgba(27,39,102,.35)}.cx-tile.on b,.cx-tile.on small,.cx-tile.on .ic{color:#fff}
.cx-tile .tg{position:absolute;top:-11px;right:10px;background:#D61F1F;color:#fff;font-size:11px;font-weight:800;border-radius:99px;padding:3px 9px;letter-spacing:.04em}
.cx-tile:focus-visible,.cx-a:focus-visible{outline:3px solid #FDE68A;outline-offset:2px}
.cx-tablewrap{overflow:hidden;border:1px solid #DDE2F2;border-radius:16px}
.cx-table{border-collapse:collapse;width:100%;font-size:14px;color:#16215C}
.cx-table th,.cx-table td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid #E7EAF7}
.cx-table thead th{background:#1B2766;color:#fff;font-size:13px;letter-spacing:.04em}.cx-table thead th.sel{background:#D61F1F}
.cx-table tbody th{color:#5A6185;font-weight:800;font-size:13px;width:18%;background:#F7F9FF}.cx-table td.sel{background:#EEF1FB;font-weight:700}.cx-table tr:last-child>*{border-bottom:0}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cx-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.cx-prog{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:800;color:#5A6185;margin:0 0 12px}.cx-prog i{flex:1;height:8px;background:#E3E7F5;border-radius:99px;overflow:hidden}.cx-prog b{display:block;height:100%;width:33%;background:linear-gradient(90deg,#2B3A9A,#D61F1F);transition:width .3s}
.cx-q p{font-weight:800;color:#16215C;margin:0 0 10px;font-size:16px}
.cx-a{display:block;width:100%;text-align:left;margin:0 0 8px;min-height:48px;padding:0 14px;border:2px solid #C5CCE6;border-radius:12px;background:#fff;color:#16215C;font:700 15px 'Public Sans',sans-serif;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.cx-a:hover{border-color:#2B3A9A;background:#F4F6FC}.cx-a:active{transform:translateY(1px)}
.cx-res{border:2px solid #1B2766;border-radius:16px;padding:14px;background:#F4F6FC}.cx-res b{display:block;font-family:Cabin,sans-serif;font-size:20px;color:#16215C;margin:2px 0 4px}.cx-res p{margin:0 0 10px;color:#5A6185}
.cx-again{display:block;margin-top:10px;border:0;background:none;color:#2B3A9A;font-weight:800;text-decoration:underline;cursor:pointer;min-height:44px}
@media(max-width:900px){.cx-grid{grid-template-columns:1fr}.cx-path{grid-template-columns:1fr 1fr}.cx-st:not(:last-child)::after{display:none}.cx-tiles{grid-template-columns:1fr}}
@media(max-width:700px){.cx-path{grid-template-columns:1fr}.cx-table thead th:not(.sel):not(:first-child),.cx-table td:not(.sel){display:none}.cx-table tbody th{width:34%}.cx-table td.sel{width:66%}}
@media(prefers-reduced-motion:reduce){.cx-tile,.cx-prog b{transition:none}}

/* device-friendly: bigger touch targets for older page elements on programme pages */
@media (pointer:coarse){
 .ckt-act,.ckt-big,.hero a.pill,.prods a.lms,a.lms{display:inline-flex;align-items:center;min-height:44px}
 .ckt-vol{min-height:44px;height:44px}
 .ckt .ckt-b{min-width:44px}
}

.cx-prog[hidden],.cx-q[hidden],.cx-res[hidden]{display:none!important}
