:root{
  --cms-navy:#112746;
  --cms-navy-2:#1b3e69;
  --cms-text:#233851;
  --cms-muted:#6e7f93;
  --cms-line:#e5ebf3;
  --cms-soft:#f5f8fc;
  --cms-white:#fff;
  --cms-shadow:0 24px 70px rgba(22,47,82,.11);
}
.cms-home,.cms-page-override{color:var(--cms-text)}
.cms-main-hero{position:relative;padding:76px 0 84px;background:linear-gradient(135deg,#f8fbff 0%,#eef5fb 58%,#fff 100%);overflow:hidden}
.cms-main-hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(60,135,181,.18),rgba(60,135,181,0));right:-160px;top:-220px}
.cms-main-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:54px;align-items:center}
.cms-main-hero__content{position:relative;z-index:2}
.cms-kicker{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:700;color:#3b6f99;margin-bottom:14px}
.cms-kicker--light{color:#dbeeff}
.cms-main-hero h1,.cms-section-head h2,.cms-upcoming-hero h2,.cms-cpd-card h2{margin:0;color:var(--cms-navy);font-weight:700;letter-spacing:-.035em;line-height:1.08}
.cms-main-hero h1{font-size:clamp(2.55rem,5.2vw,5.1rem);max-width:830px}
.cms-main-hero__content>p{font-size:1.09rem;line-height:1.8;color:var(--cms-muted);max-width:720px;margin:22px 0 0}
.cms-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.cms-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:11px 20px;text-decoration:none!important;border:1px solid transparent;font-weight:650;transition:.25s ease;border-radius:10px}
.cms-btn--primary{background:linear-gradient(135deg,var(--cms-navy),#24588c);color:#fff!important;box-shadow:0 12px 28px rgba(17,39,70,.2)}
.cms-btn--light{background:#fff;color:var(--cms-navy)!important;border-color:var(--cms-line)}
.cms-btn--outline{background:#fff;color:var(--cms-navy)!important;border-color:#cfd9e7}
.cms-btn--white{background:#fff;color:#bf244f!important}
.cms-btn--ghost-white{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.35);color:#fff!important}
.cms-hero-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:34px;max-width:720px}
.cms-hero-mini-grid>div{border:1px solid rgba(91,125,158,.18);background:rgba(255,255,255,.72);backdrop-filter:blur(12px);padding:16px 18px;border-radius:12px}
.cms-hero-mini-grid strong,.cms-hero-mini-grid span{display:block}.cms-hero-mini-grid strong{color:var(--cms-navy);font-size:.94rem;margin-bottom:3px}.cms-hero-mini-grid span{font-size:.84rem;color:var(--cms-muted)}
.cms-main-hero__media{position:relative;z-index:2}
.cms-media-frame{position:relative;aspect-ratio:16/11;overflow:hidden;border-radius:26px 6px 26px 6px;background:#09172a;box-shadow:var(--cms-shadow)}
.cms-media-frame:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.22);pointer-events:none;border-radius:inherit}
.cms-media-frame iframe,.cms-media-frame video,.cms-media-frame img,.cms-cpd-card__media img{width:100%;height:100%;display:block;object-fit:cover;border:0}
.cms-media-placeholder,.cms-course-placeholder,.cms-blog-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#183a65,#0d213c);color:#fff;font-size:3rem}
.cms-platform-section{padding:82px 0;background:#fff}
.cms-section{padding:80px 0}.cms-section--soft{background:var(--cms-soft)}
.cms-section-head{margin-bottom:30px}.cms-section-head--center{text-align:center;max-width:900px;margin:0 auto 36px}.cms-section-head--split{display:flex;align-items:end;justify-content:space-between;gap:28px}
.cms-section-head h2{font-size:clamp(2rem,3.8vw,3.6rem);max-width:940px}.cms-section-head p{margin:14px 0 0;max-width:780px;color:var(--cms-muted);line-height:1.75}
.cms-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cms-feature-card{background:linear-gradient(180deg,#fff,#f7faff);border:1px solid var(--cms-line);padding:28px;border-radius:18px;box-shadow:0 12px 32px rgba(22,47,82,.06)}
.cms-feature-card__icon{width:62px;height:62px;display:grid;place-items:center;background:linear-gradient(135deg,#e9f3fb,#fff);border:1px solid #d9e6f1;border-radius:16px;font-size:1.5rem;color:#2b6595;margin-bottom:20px}.cms-feature-card h3{color:var(--cms-navy);font-size:1.16rem}.cms-feature-card p{color:var(--cms-muted);line-height:1.7;margin:10px 0 0}
.cms-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cms-course-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.cms-course-card{background:#fff;border:1px solid var(--cms-line);overflow:hidden;border-radius:16px;box-shadow:0 14px 38px rgba(22,47,82,.07);display:flex;flex-direction:column;min-width:0}
.cms-course-card__media{display:block;position:relative;aspect-ratio:16/10;background:#eaf0f6;overflow:hidden}.cms-course-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.cms-course-card:hover .cms-course-card__media img{transform:scale(1.035)}
.cms-live-badge{position:absolute;left:14px;top:14px;z-index:2;background:linear-gradient(135deg,#ff3e3e,#e43787,#ff7a18);color:#fff;border-radius:999px;padding:7px 11px;font-size:.72rem;font-weight:800;letter-spacing:.04em;box-shadow:0 8px 24px rgba(221,48,92,.28)}
.cms-course-card__body{padding:20px;display:flex;flex-direction:column;flex:1}.cms-course-card__topline{display:flex;justify-content:space-between;gap:12px;color:#56708c;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}.cms-course-card__topline strong{color:#d33065}
.cms-course-card h3{font-size:1.08rem;line-height:1.42;margin:12px 0 10px}.cms-course-card h3 a,.cms-blog-card h3 a{color:var(--cms-navy);text-decoration:none}.cms-course-card p,.cms-blog-card p{color:var(--cms-muted);font-size:.91rem;line-height:1.62}
.cms-course-card__meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:14px;color:#6d8095;font-size:.8rem}.cms-card-link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:#245f93;text-decoration:none;font-weight:700;font-size:.9rem}
.cms-category-description{color:var(--cms-muted);line-height:1.7;max-width:820px;margin-top:10px}.cms-category-description p{margin:0}
.cms-upcoming-wrap{padding:38px 0;background:#fff}.cms-upcoming-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);min-height:420px;border-radius:24px;background:linear-gradient(125deg,#e92a42 0%,#e23a82 50%,#ff7b24 100%);color:#fff;box-shadow:0 30px 70px rgba(216,53,91,.22)}
.cms-upcoming-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 10%,rgba(255,255,255,.26),transparent 30%),linear-gradient(90deg,rgba(66,0,31,.25),transparent 60%)}
.cms-upcoming-hero__noise{position:absolute;inset:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}
.cms-upcoming-hero__content{position:relative;z-index:2;padding:48px}.cms-upcoming-label{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);padding:8px 11px;border-radius:999px;font-size:.74rem;font-weight:800;letter-spacing:.08em}.cms-upcoming-category{margin-top:24px;font-size:.82rem;font-weight:650;opacity:.9}.cms-upcoming-hero h2{color:#fff;font-size:clamp(2rem,4vw,4.1rem);margin-top:8px;max-width:900px}.cms-upcoming-hero__content>p{max-width:800px;line-height:1.75;opacity:.92;margin:16px 0 0}
.cms-upcoming-countdown{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.cms-upcoming-countdown div{min-width:78px;background:rgba(57,0,29,.24);border:1px solid rgba(255,255,255,.22);padding:10px 12px;border-radius:12px;text-align:center}.cms-upcoming-countdown strong,.cms-upcoming-countdown span{display:block}.cms-upcoming-countdown strong{font-size:1.5rem}.cms-upcoming-countdown span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;opacity:.85}
.cms-upcoming-hero__image{position:relative;z-index:1;min-height:100%}.cms-upcoming-hero__image:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#df356f 0%,transparent 42%);z-index:1}.cms-upcoming-hero__image img{width:100%;height:100%;object-fit:cover;display:block}
.cms-cpd-section{padding:84px 0;background:var(--cms-soft)}.cms-cpd-card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);background:linear-gradient(135deg,#112746,#1d4f7b);border-radius:24px;overflow:hidden;color:#fff;box-shadow:var(--cms-shadow)}.cms-cpd-card__content{padding:52px}.cms-cpd-card h2{color:#fff;font-size:clamp(2rem,3.7vw,3.7rem)}.cms-cpd-card p{max-width:820px;line-height:1.8;color:#d5e2ef}.cms-cpd-points{display:grid;gap:10px;margin-top:22px}.cms-cpd-points span{display:flex;align-items:center;gap:9px}.cms-cpd-card__media{min-height:400px;background:#0c1d33}.cms-cpd-card__media img{object-fit:cover}
.cms-blog-section{padding:84px 0;background:#fff}.cms-blog-slider{position:relative}.cms-blog-slider__viewport{overflow:hidden}.cms-blog-slider__track{display:flex;transition:transform .55s cubic-bezier(.2,.7,.2,1);will-change:transform}.cms-blog-card{flex:0 0 25%;padding:0 9px;box-sizing:border-box}.cms-blog-card__media{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:15px 15px 0 0;background:#eaf0f6}.cms-blog-card__media img{width:100%;height:100%;object-fit:cover;display:block}.cms-blog-card__body{border:1px solid var(--cms-line);border-top:0;border-radius:0 0 15px 15px;padding:19px;background:#fff;min-height:280px;display:flex;flex-direction:column}.cms-blog-card time{font-size:.75rem;color:#8190a2}.cms-blog-card h3{font-size:1.06rem;line-height:1.42;margin:9px 0}.cms-blog-card .cms-card-link{margin-top:auto}.cms-blog-slider__controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:26px}.cms-blog-slider__controls button{width:42px;height:42px;border-radius:50%;border:1px solid var(--cms-line);background:#fff;color:var(--cms-navy)}.cms-blog-slider__dots{display:flex;gap:6px}.cms-blog-slider__dots button{width:8px;height:8px;padding:0;border:0;background:#c9d4e1;border-radius:99px}.cms-blog-slider__dots button.is-active{width:28px;background:#315f8d}
.cms-blog-hero{padding:68px 0;background:linear-gradient(135deg,#f7fbff,#edf4fa)}.cms-blog-hero h1{font-size:clamp(2.5rem,5vw,5rem);color:var(--cms-navy);margin:0}.cms-blog-hero p{max-width:800px;color:var(--cms-muted);font-size:1.06rem;line-height:1.7}.cms-blog-list{padding:70px 0}.cms-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cms-blog-detail{padding:72px 0}.cms-blog-detail__wrap{max-width:1000px;margin:auto}.cms-blog-detail__head{text-align:center;margin-bottom:30px}.cms-blog-detail__head h1{font-size:clamp(2.2rem,4.8vw,4.6rem);line-height:1.1;color:var(--cms-navy);margin:8px 0}.cms-blog-detail__meta{color:var(--cms-muted);font-size:.9rem}.cms-blog-detail__cover{width:100%;max-height:620px;object-fit:cover;border-radius:20px;margin-bottom:34px}.cms-blog-detail__content{font-size:1.02rem;line-height:1.8;color:#314760}.cms-blog-detail__content img{max-width:100%;height:auto}.cms-blog-detail__content iframe{max-width:100%}
.cms-page-override img{max-width:100%;height:auto}.cms-page-override iframe{max-width:100%}
@media(max-width:1199px){.cms-course-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-blog-card{flex-basis:50%}}
@media(max-width:991px){.cms-main-hero__grid,.cms-upcoming-hero,.cms-cpd-card{grid-template-columns:1fr}.cms-main-hero{padding-top:52px}.cms-main-hero__media{max-width:760px}.cms-feature-grid,.cms-course-grid,.cms-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-upcoming-hero__image{min-height:280px;order:-1}.cms-upcoming-hero__image:before{background:linear-gradient(0deg,#e23a82 0%,transparent 48%)}.cms-section-head--split{align-items:flex-start}}
@media(max-width:767px){.cms-main-hero h1{font-size:2.55rem}.cms-main-hero__grid{gap:32px}.cms-hero-mini-grid,.cms-feature-grid,.cms-course-grid,.cms-course-grid--four,.cms-blog-grid{grid-template-columns:1fr}.cms-section-head--split{display:block}.cms-section-head--split>.cms-btn{margin-top:18px}.cms-main-hero,.cms-platform-section,.cms-section,.cms-cpd-section,.cms-blog-section{padding-top:56px;padding-bottom:56px}.cms-upcoming-hero__content,.cms-cpd-card__content{padding:28px}.cms-blog-card{flex-basis:100%}.cms-media-frame{border-radius:18px 5px 18px 5px}.cms-upcoming-countdown div{min-width:64px}.cms-cpd-card__media{min-height:260px}}

/* Blog listing + detail classes used by the fix pages */
.cms-page-hero{padding:76px 0;background:linear-gradient(135deg,#f7fbff,#edf4fa);text-align:center}.cms-page-hero h1{font-size:clamp(2.5rem,5vw,5rem);line-height:1.05;letter-spacing:-.04em;color:var(--cms-navy);margin:0}.cms-page-hero p{max-width:820px;margin:18px auto 0;color:var(--cms-muted);font-size:1.06rem;line-height:1.75}.cms-blog-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.cms-blog-card--list{padding:0;flex:auto}.cms-blog-card--list h2{font-size:1.16rem;line-height:1.42;margin:9px 0}.cms-blog-card--list h2 a{color:var(--cms-navy);text-decoration:none}.cms-empty-state{max-width:720px;margin:40px auto;text-align:center;padding:50px 24px;border:1px solid var(--cms-line);border-radius:18px;background:var(--cms-soft)}.cms-empty-state>i{font-size:2.8rem;color:#6a8baa}.cms-empty-state h1,.cms-empty-state h2{color:var(--cms-navy);margin:16px 0 8px}.cms-empty-state p{color:var(--cms-muted);margin-bottom:22px}
.cms-blog-detail{padding:0}.cms-blog-detail__hero{padding:76px 0 58px;background:linear-gradient(135deg,#f7fbff,#edf4fa)}.cms-blog-detail__hero-inner{max-width:980px}.cms-blog-detail__hero time{display:block;color:#708299;font-size:.85rem;margin:18px 0 10px}.cms-blog-detail__hero h1{font-size:clamp(2.4rem,5vw,5rem);line-height:1.08;letter-spacing:-.04em;color:var(--cms-navy);margin:0}.cms-blog-detail__hero p{font-size:1.1rem;line-height:1.75;color:var(--cms-muted);max-width:850px;margin:18px 0 0}.cms-blog-detail__back{display:inline-flex;align-items:center;gap:8px;color:#315f8d;text-decoration:none;font-weight:700}.cms-blog-detail__author{margin-top:18px;color:#5b6f86;font-weight:650}.cms-blog-detail__body-section{padding:56px 0 84px}.cms-blog-detail__container{max-width:980px}.cms-blog-detail__cover{display:block;margin:-10px 0 42px;border-radius:20px;overflow:hidden}.cms-blog-detail__cover img{width:100%;max-height:620px;object-fit:cover;display:block}.cms-rich-content{font-size:1.03rem;line-height:1.85;color:#314760}.cms-rich-content h1,.cms-rich-content h2,.cms-rich-content h3,.cms-rich-content h4{color:var(--cms-navy);line-height:1.25;margin-top:1.7em}.cms-rich-content img{max-width:100%;height:auto;border-radius:10px}.cms-rich-content iframe{max-width:100%}.cms-rich-content table{width:100%;display:block;overflow-x:auto}.cms-rich-content blockquote{border-left:4px solid #6a98bd;padding:15px 20px;background:#f3f7fb;margin:24px 0}
.cms-page-override__media{height:min(58vw,620px);min-height:300px;background:#0c1d33;overflow:hidden}.cms-page-override__media img,.cms-page-override__media video,.cms-page-override__media iframe{width:100%;height:100%;border:0;object-fit:cover;display:block}.cms-page-override>.container{max-width:1100px}
@media(max-width:991px){.cms-blog-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.cms-blog-list-grid{grid-template-columns:1fr}.cms-page-hero,.cms-blog-detail__hero{padding:56px 0 44px}.cms-blog-detail__body-section{padding:38px 0 56px}}


/* V3: Bottom CPD hero heading contrast fix. Overrides global h2 text-gradient rules. */
.cms-home .cms-cpd-card .cms-cpd-card__content h2{
  color:#fff !important;
  background:linear-gradient(135deg,#ffffff 0%,#f7f8fa 44%,#d8dde4 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  text-shadow:0 12px 34px rgba(0,0,0,.14);
}

/* V6: CMS front-end H1 cap - maximum 48px */
.cms-home h1,
.cms-blog-page h1,
.cms-blog-detail h1,
.cms-page-override h1{
  font-size:clamp(2rem, 4vw, 3rem) !important;
}
@media(max-width:767px){
  .cms-home h1,
  .cms-blog-page h1,
  .cms-blog-detail h1,
  .cms-page-override h1{
    font-size:clamp(1.8rem, 8vw, 2.35rem) !important;
  }
}
