/* Approved programme cards and compact, accessible controls. */
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-card .cp-price span{color:inherit!important;font-size:16px!important;font-weight:600!important}
@media(max-width:600px){html:root body.cp-ready.v17-CBT footer .brand{width:100%;min-width:0;max-width:100%;white-space:normal;gap:12px;align-items:flex-start}html:root body.cp-ready.v17-CBT footer .brand>span{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere}html:root body.cp-ready.v17-CBT footer .brand small{white-space:normal;letter-spacing:.05em}}
/* Contrast corrections verified against the rendered legacy layers. */
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-process details{background:#111b29!important;padding:20px!important;border:1px solid #8291a6!important}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-process details :is(summary,p){color:#f5f8fc!important}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .fj-signal{background:#172a3d!important}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .fj-signal :is(h2,h3,p,span){color:#f5f8fc!important}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .fj-scene-copy .fj-kicker{color:#e1e8f1!important}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .brand-communication :is(button[type=submit],input[type=submit]){background:#172a45!important;color:#ffffff!important;border-color:#172a45!important}
html:root body.cp-ready.cp-ready{padding-right:0!important}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-programmes,html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-process{box-sizing:border-box;width:calc(100% - 48px);max-width:1200px;margin:64px auto;padding:clamp(24px,4vw,52px);background:var(--v17-dark,#101824)!important;color:#f6f8fb;border:1px solid var(--v17-line,#596272);border-top:3px solid var(--v17-accent,#a6c6db);position:relative;isolation:isolate}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-programmes *{box-sizing:border-box}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-heading{max-width:78ch;margin:0 0 30px}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-heading h2,html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-process h2{font-size:clamp(26px,3vw,42px)!important;line-height:1.2!important;letter-spacing:normal!important;margin:8px 0 18px!important;color:#f6f8fb!important}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-kicker{color:var(--v17-light-accent,#d0e5fa)!important;font:700 12px/1.6 system-ui,sans-serif!important;letter-spacing:.07em!important;text-transform:uppercase}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-card{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid #8291a66e;background:#111b29!important;color:#f5f8fc;border-radius:12px;box-shadow:0 12px 30px #0002}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-card h3{font-size:clamp(21px,2vw,27px)!important;line-height:1.25!important;letter-spacing:normal!important;margin:12px 0 16px!important;color:#f5f8fc!important;text-wrap:balance}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-programmes p,html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-process p,html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-programmes li{font-size:16px!important;line-height:1.65!important;letter-spacing:normal!important;color:#e1e8f1!important;max-width:none}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-programmes ul{padding-left:20px;margin:8px 0 24px;list-style:disc}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-programmes li{margin:8px 0}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-number{font:600 13px/1.5 system-ui,sans-serif;color:var(--v17-light-accent,#d0e5fa)!important}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-card .cp-price{font-size:clamp(25px,2.4vw,34px)!important;font-weight:700!important;color:#fff!important;margin:0 0 16px!important;white-space:nowrap}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-price span{font-size:16px;font-weight:500}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-button{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 16px;border:1px solid var(--v17-accent,#a6c6db);background:var(--v17-accent,#a6c6db)!important;color:var(--v17-on-accent,#102039)!important;text-decoration:none!important;font:700 15px/1.45 system-ui,sans-serif;letter-spacing:normal;margin-top:auto;border-radius:6px}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-programmes .cp-terms{padding-top:22px;margin-top:26px;border-top:1px solid #7e8ca47d;font-size:14px!important;max-width:100ch}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-programmes .cp-boundary{font-size:14px!important;line-height:1.6!important;color:#d9e4f1!important}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-process details{padding:18px 0;border-bottom:1px solid #8291a66e;color:#f5f8fc;background:transparent}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-process summary{font-size:18px;cursor:pointer;color:#f5f8fc;line-height:1.5}
/* Keep the established visual character of each brand. */
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-CBT .cp-card{border-radius:0;border-top:4px solid #c9d2de;background:#202832}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-SIS .cp-card{border-radius:32px 8px 32px 8px;background:#21182f!important;border-color:#b79bd1}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-AAA .cp-card{background:#102b33!important;border-color:#7fbec6;border-radius:18px}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-WM .cp-card{border-radius:0;background:#092630!important;border-color:#35c9d2;box-shadow:6px 6px 0 #1e59614d}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-BTR .cp-card{background:#262522!important;border-radius:3px;border-top:3px solid #caaa55}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-STP .cp-card{background:#202124!important;border-radius:5px;border-top:5px solid #f19a4b}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-MGB .cp-card{background:#27141b!important;border-radius:0 20px 0 20px;border-color:#e8788c}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-GMS .cp-card{background:#152c25!important;border-radius:30px;border-color:#76c29a}
/* Social links remain available, inside one discreet corner control. */
html:root body.cp-ready .cp-social-drawer{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:900;max-width:calc(100vw - 28px)}
html:root body.cp-ready .cp-social-drawer>summary{display:flex;align-items:center;justify-content:center;list-style:none;width:46px;height:46px;box-sizing:border-box;border-radius:50%;border:1px solid #acb9ca;background:var(--v17-dark,#111b29);color:#edf4fc;cursor:pointer;box-shadow:0 3px 12px #0003;margin-left:auto}
.cp-social-drawer>summary::-webkit-details-marker{display:none}
.cp-social-drawer>summary svg{width:20px;height:20px;fill:currentColor}
html:root body.cp-ready.cp-ready .cp-social-drawer .v17-social-rail{position:absolute;right:0;bottom:56px;top:auto;transform:none!important;width:158px;max-width:calc(100vw - 32px);margin:0!important;padding:8px!important;border-radius:16px}
html:root body.cp-ready.cp-ready .cp-social-drawer:not([open]) .v17-social-rail{display:none!important}
html:root body.cp-ready.cp-ready .cp-social-drawer .wf-social{display:grid!important;grid-template-columns:repeat(3,44px);gap:8px!important;flex-direction:row!important}
html:root body.cp-ready.cp-ready .cp-social-drawer .wf-social-item{opacity:1!important}
html:root body.cp-dialog-open .cp-social-drawer{visibility:hidden}
/* Compact dialogs: one title, one field, consent and clear controls. */
html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog{box-sizing:border-box;width:min(500px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);margin:auto;padding:22px 24px;background:var(--v17-dark,#111b29)!important;border:2px solid var(--v17-accent,#a6c6db)!important;color:#f5f8fc!important;border-radius:16px;overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 70px #0009}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog :is(h2,h3,p,label,small,span){color:#f5f8fc!important;letter-spacing:normal!important}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog h2{font-size:23px!important;line-height:1.25!important;margin:0 48px 14px 0!important;padding:0!important;max-width:none}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog p{font-size:14px!important;line-height:1.45!important;margin:8px 0!important}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog .hf-close{position:absolute;right:8px;top:6px;width:44px;height:44px;padding:0!important;display:grid;place-items:center;min-height:44px;font:28px/1 system-ui!important;background:transparent!important;color:#fff!important;border:1px solid #8d9caf;border-radius:8px}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog :is(.brand-newsletter,.tnp,.tnp-subscription,form){margin:0!important;padding:0!important;max-width:none!important;width:auto!important;float:none!important;background:transparent!important;color:#f5f8fc!important;border:0!important}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog .tnp-field{margin:10px 0!important}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog label{font-size:14px!important;line-height:1.45!important;display:block;margin-bottom:5px;max-width:none}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog input:is([type=email],[type=text]){background:#fff!important;color:#142035!important;min-height:44px;height:auto;padding:10px 12px;font:16px/1.4 system-ui!important;letter-spacing:normal;border:1px solid #8d9caf!important;border-radius:6px;width:100%;box-sizing:border-box}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog input::placeholder{color:#536070!important;opacity:1}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog :is(input[type=submit],button[type=submit],a.hf-primary){background:var(--v17-accent,#a6c6db)!important;color:var(--v17-on-accent,#102039)!important;min-height:44px;padding:11px 16px!important;font-size:15px!important;line-height:1.4!important;border-radius:6px;white-space:normal;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog a:not(.hf-primary){color:var(--v17-light-accent,#d8e8ff)!important;text-decoration:underline}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog input[type=checkbox]{accent-color:var(--v17-accent);width:20px;height:20px;min-height:20px;vertical-align:middle;margin:0 8px 0 0}
html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog :is(.hf-download-note,.brand-small){font-size:12px!important;line-height:1.45!important;margin-top:12px!important}
html:root body.cp-ready.cp-ready :is(.cp-programmes,.cp-process,.cp-social-drawer,dialog:is(#hf-newsletter,#hf-download).hf-dialog) :is(a,button,summary,input):focus-visible{outline:3px solid #fff!important;outline-offset:3px!important;box-shadow:0 0 0 6px #101824!important}
@media(max-width:1000px){html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-grid{grid-template-columns:1fr}html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-card{padding:24px}html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-programmes,html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-process{max-width:760px}}
@media(max-width:600px){html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-programmes,html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-process{width:calc(100% - 24px);padding:24px 18px;margin:32px auto}html:root body.cp-ready.cp-ready.cp-ready.cp-ready .cp-card{padding:22px 18px}html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog{padding:20px 18px}html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog h2{font-size:21px!important}html:root body.cp-ready .cp-social-drawer{right:10px;bottom:10px}}
@media(max-height:540px) and (min-width:601px){html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog{width:min(720px,calc(100vw - 24px));padding:16px 24px}html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog .tnp-subscription form{display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:end}html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog .tnp-field-privacy{grid-column:1/-1}html:root body.cp-ready.cp-ready.cp-ready.cp-ready dialog:is(#hf-newsletter,#hf-download).hf-dialog .tnp-field{margin:4px 0!important}}


