/* Original NextGen local campaign artwork, with accessible live copy. */
:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-showcase { background:#061a30; padding-top:110px; color:#fff; }
.course-banner { position:relative; min-height:560px; isolation:isolate; }
.course-banner[hidden] { display:none; }
.course-banner-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-2; }
.course-banner::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#04172c66,transparent 65%); z-index:-1; }
.course-banner-inner { min-height:560px; display:flex; align-items:center; padding-block:55px; }
.course-banner-copy { width:47%; max-width:610px; }
.banner-kicker { color:#fff; font-size:11px; font-weight:700; letter-spacing:.12em; margin:0 0 26px; }
.banner-kicker span { color:#dfc48c; }
body:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-copy :is(h1,h2) { color:#fff; font-size:clamp(36px,3.7vw,60px); line-height:1.08; letter-spacing:-.035em; margin:0 0 22px; }
.course-banner-copy em { color:#e3c58c; font-style:normal; }
.banner-description { color:#dae4ed; font-size:16px; line-height:1.75; max-width:455px; margin:0; }
.banner-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.banner-actions a { display:inline-flex; align-items:center; justify-content:center; gap:15px; padding:15px 18px; border-radius:6px; font-size:13px; font-weight:700; text-decoration:none; min-height:48px; }
.banner-primary { background:#e3c58c; color:#08253f; border:1px solid #e3c58c; }
.banner-primary:hover { background:#f2dbaa; }
.banner-secondary { border:1px solid #95a8b8; color:#fff; background:#061a3044; }
.banner-secondary:hover { background:#25415a; }
.banner-note { font-size:11px; line-height:1.6; color:#c9d5df; max-width:410px; margin-top:18px; }
.banner-navigation { background:#0b2941; border-block:1px solid #355066; }
.banner-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); }
.banner-tabs button { border:0; border-bottom:3px solid transparent; background:transparent; color:#d4e0ea; text-align:left; padding:22px 14px; font:inherit; font-size:13px; cursor:pointer; }
.banner-tabs button span { display:block; color:#99afc1; font-size:10px; letter-spacing:.12em; margin-bottom:7px; }
.banner-tabs button[aria-selected="true"] { border-bottom-color:#e3c58c; background:#15374f; color:#f0d8ab; }
.banner-tabs button:hover { background:#15374f; }
.banner-art-note { margin-block:0; padding-block:8px; color:#aebfcf; font-size:10px; }
@media(max-width:1000px) and (min-width:701px) {
 .course-banner-copy { width:54%; }
 .course-banner::after { background:linear-gradient(90deg,#04172c, #04172cb3 42%,transparent 90%); }
}
@media(max-width:700px) {
 :is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-showcase { padding-top:112px; }
 .course-banner { display:flex; flex-direction:column; min-height:0; }
 .course-banner-image { position:relative; order:2; height:230px; width:100%; object-fit:cover; object-position:right center; z-index:0; }
 .course-banner::after { display:none; }
 .course-banner-inner { min-height:0; padding-block:28px; width:100%; }
 .course-banner-copy { width:100%; max-width:none; }
 body:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-copy :is(h1,h2) { font-size:clamp(33px,8.8vw,48px); }
 .banner-kicker { font-size:10px; margin-bottom:20px; letter-spacing:.07em; }
 .banner-description { font-size:14px; }
 .banner-actions { margin-top:22px; gap:10px; }
 .banner-actions a { padding:13px 12px; font-size:12px; gap:8px; }
 .banner-tabs { display:flex; overflow-x:auto; padding-inline:8px; }
 .banner-tabs button { flex:0 0 auto; padding:15px 13px; font-size:12px; }
 .banner-tabs button span { margin-bottom:4px; }
}
@media(max-width:700px) { .course-banner-inner { padding-inline:20px; box-sizing:border-box; } }
/* Compact automatic carousel controls replace the numbered tabs. */
.banner-controls { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:12px; }
.banner-current { color:#e3c58c; font-size:13px; font-weight:600; }
.banner-control-buttons { display:flex; gap:8px; }
.banner-control-buttons button { min-width:44px; min-height:44px; border:1px solid #658095; border-radius:6px; background:transparent; color:white; cursor:pointer; font:inherit; font-size:14px; padding:8px 12px; }
.banner-control-buttons button:hover { background:#24465e; }
.banner-play { width:76px; }
@media(max-width:700px) { .course-banner-inner { min-height:405px; } .banner-controls { gap:8px; } }

/* Every slide shares the same frame, image scale and alignment. */
:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-showcase { display:grid; }
.course-banner { grid-area:1 / 1; background:#061a30; }
.course-banner[hidden] { display:block; visibility:hidden; pointer-events:none; }
.course-banner-image { object-fit:contain; object-position:right center; }
@media(max-width:700px) {
 .course-banner[hidden] { display:flex; }
 .course-banner-inner { flex:1; }
 .course-banner-image { flex:0 0 230px; height:230px; object-fit:cover; object-position:right center; }
}
/* Campaign v2: bold typography and colour matched to each original artwork. */
.course-banner { --banner-accent:#43e3e1; }
#banner-cloud { --banner-accent:#60caff; }
#banner-ccna { --banner-accent:#58dcf5; }
#banner-ccna::after { background:none; }
#banner-ccna .course-banner-copy { text-shadow:0 1px 3px rgba(0,0,0,.3); }
#banner-ccna .banner-actions { text-shadow:none; }
#banner-azure { --banner-accent:#99baff; }
#banner-fit-degree { --banner-accent:#ffdd36; }
#banner-job-ready { --banner-accent:#ffbd56; }
.course-banner::after { background:linear-gradient(90deg,rgba(0,8,22,.16),transparent 65%); }
.course-banner-copy { width:49%; max-width:650px; }
body:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-copy :is(h1,h2) { font-size:clamp(40px,4.25vw,68px); font-weight:800; line-height:1.03; letter-spacing:-.04em; margin-bottom:22px; }
.banner-lead { display:block; font-size:.75em; font-weight:500; letter-spacing:-.025em; margin-bottom:8px; }
.course-banner-copy em { display:block; color:var(--banner-accent); }
.banner-kicker { margin-bottom:28px; }
.banner-kicker span { color:var(--banner-accent); }
.banner-programme { color:white; font-size:clamp(14px,1.2vw,19px); line-height:1.4; font-weight:750; letter-spacing:.055em; max-width:500px; margin:0 0 14px; }
.banner-description { font-size:15px; line-height:1.65; max-width:420px; }
.banner-primary { background:var(--banner-accent); border-color:var(--banner-accent); color:#041427; }
.banner-primary:hover { background:#fff; border-color:#fff; }
.banner-actions { margin-top:24px; }
@media(max-width:700px) {
 .course-banner-copy { width:100%; }
 body:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-copy :is(h1,h2) { font-size:clamp(35px,9.5vw,50px); }
 .banner-programme { font-size:13px; }
 .banner-description { font-size:14px; }
 .banner-kicker { margin-bottom:20px; }
}
/* Restrained crossfade and slow image settling; all slides keep the same frame. */
.course-banner { overflow:hidden; opacity:1; visibility:visible; z-index:1; transition:opacity .7s ease, visibility 0s; }
.course-banner[hidden] { opacity:0; visibility:hidden; z-index:0; transition:opacity .7s ease, visibility 0s .7s; }
.course-banner:not([hidden]) .course-banner-image { animation:banner-image-settle 5s ease-out both; transform-origin:75% center; }
.course-banner:not([hidden]) .course-banner-copy { animation:banner-copy-enter .65s ease-out both; }
@keyframes banner-image-settle { from { transform:scale(1.018); } to { transform:scale(1); } }
@keyframes banner-copy-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) {
 .course-banner,.course-banner[hidden] { transition:none; }
 .course-banner:not([hidden]) .course-banner-image,.course-banner:not([hidden]) .course-banner-copy { animation:none; transform:none; }
}
/* Override the legacy site-wide animation reset only for these banners. */
@media(prefers-reduced-motion:no-preference) {
 .course-banner:not([hidden]) .course-banner-image { animation:banner-image-settle 5s ease-out both !important; }
 .course-banner:not([hidden]) .course-banner-copy { animation:banner-copy-enter .65s ease-out both !important; }
}
/* Flush banner edge: no letterboxing or inherited rounded section outlines. */
:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-showcase,
:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner,
:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-image { border:0; border-radius:0; box-shadow:none; }
:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-image { object-fit:cover; }
:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-showcase + .trust-band { border-top:0; border-radius:0; }
:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-showcase,
:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner,
:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-image,
:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-showcase + .trust-band { border-radius:0 !important; }
:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-showcase { line-height:normal; gap:0; }
/* Join the fixed navigation and hero without a border, shadow or offset gap. */
body:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .site-header { border-bottom:0 !important; box-shadow:none !important; }
body:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .utility-bar { border-bottom:0 !important; }
body:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-showcase { padding-top:var(--banner-header-height,110px); }
/* Keep heads at the top and trim excess lower artwork on wide screens. */
@media(min-width:701px) {
 :is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner,
 :is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-inner { min-height:max(500px,calc(38.65vw - 114px)); }
 :is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-inner { padding-block:32px; }
}
:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-image { object-position:right top; }
:is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner:not([hidden]) .course-banner-image { transform-origin:right top; }
@media(max-width:700px) {
 :is(.home-refresh,.cloud-banner-preview,.programme-banner-page) .course-banner-image { height:clamp(180px,38.65vw,271px); flex-basis:clamp(180px,38.65vw,271px); }
}
