body.training-page{background:#f6f1e8;color:#071426}.training-shell{width:min(1160px,calc(100% - 34px));margin:0 auto}.training-hero{position:relative;isolation:isolate;min-height:100vh;display:grid;align-items:end;padding:150px 0 72px;color:#fff}.training-hero::before{content:"";position:absolute;z-index:-2;inset:0 50% 0 50%;width:100vw;transform:translateX(-50%);background:linear-gradient(90deg,rgba(7,20,38,.98),rgba(7,20,38,.76) 52%,rgba(7,20,38,.30)),url('/images/events.webp') center 38%/cover no-repeat}.training-hero::after{content:"";position:absolute;z-index:-1;inset:0 50% 0 50%;width:100vw;transform:translateX(-50%);background:radial-gradient(circle at 18% 24%,rgba(242,96,81,.22),transparent 34%),linear-gradient(180deg,transparent 55%,rgba(7,20,38,.65))}.training-hero-copy{max-width:760px;display:grid;gap:18px}.training-kicker{display:flex;align-items:center;gap:10px;color:#F6D73F;font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.training-kicker::before{content:"";width:34px;height:2px;background:#F6D73F}.training-hero h1{font-size:clamp(2.8rem,7vw,5.4rem);line-height:.96;margin:0}.training-hero p{max-width:680px;margin:0;color:rgba(255,255,255,.86);font-size:clamp(1.02rem,2vw,1.18rem);line-height:1.7}.training-actions{display:flex;gap:12px;flex-wrap:wrap}.training-section{padding:76px 0}.training-section.alt{position:relative;background:#fff}.training-section.alt::before{content:"";position:absolute;inset:0 50%;width:100vw;transform:translateX(-50%);background:#fff;z-index:0}.training-section.alt>*{position:relative}.training-section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}.training-section-head>div{max-width:720px}.training-section-head h2{font-size:clamp(2rem,4vw,3.2rem);margin:8px 0 10px;line-height:1.05}.training-section-head p{margin:0;color:#526071;line-height:1.65}.training-eyebrow{color:#11878D;font-weight:900;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}.training-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.programme-card,.cohort-card{border:1px solid #ded6c8;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 18px 46px rgba(7,20,38,.08)}.programme-card{display:grid;grid-template-rows:210px 1fr}.programme-image{position:relative;background:#0B1D35;overflow:hidden}.programme-image img{width:100%;height:100%;display:block;object-fit:cover}.programme-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(7,20,38,.66))}.programme-body{padding:24px;display:flex;flex-direction:column;gap:14px}.programme-meta,.cohort-meta{display:flex;gap:8px;flex-wrap:wrap}.training-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#edf8f7;color:#0B747A;font-size:.74rem;font-weight:900}.training-pill.price{background:#fff6cd;color:#725A00}.programme-card h3,.cohort-card h3{font-size:1.45rem;line-height:1.15;margin:0}.programme-card p,.cohort-card p{color:#526071;line-height:1.62;margin:0}.programme-card .card-link{margin-top:auto;color:#C93667;font-weight:900}.cohort-card{padding:25px;display:grid;gap:18px}.cohort-sessions{display:grid;gap:8px}.cohort-session{display:grid;grid-template-columns:46px 1fr;gap:11px;align-items:center;padding:10px;border-radius:12px;background:#f7f3ec}.cohort-session span{width:42px;height:42px;border-radius:10px;background:#0B1D35;color:#fff;display:grid;place-items:center;font-size:.72rem;font-weight:900}.cohort-session strong{display:block}.cohort-session small{display:block;color:#64748b;margin-top:3px}.training-empty{grid-column:1/-1;padding:28px;border:1px dashed #c8bdaa;border-radius:18px;background:rgba(255,255,255,.6)}.training-empty h3{margin:0 0 7px}.training-empty p{margin:0;color:#526071}.training-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.training-step{padding:22px;border:1px solid #ded6c8;border-radius:18px;background:#fff}.training-step span{width:38px;height:38px;border-radius:11px;background:#0B1D35;color:#F6D73F;display:grid;place-items:center;font-weight:900}.training-step h3{margin:16px 0 8px;font-size:1.06rem}.training-step p{margin:0;color:#526071;line-height:1.55}.team-band{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:32px;border-radius:24px;background:linear-gradient(135deg,#071426,#123454);color:#fff}.team-band h2{margin:0 0 10px;font-size:clamp(1.7rem,3vw,2.5rem)}.team-band p{margin:0;color:rgba(255,255,255,.75);line-height:1.65}.training-detail-hero{padding:145px 0 64px;background:linear-gradient(135deg,#071426,#123454);color:#fff}.training-breadcrumb{display:flex;gap:8px;align-items:center;color:rgba(255,255,255,.65);font-weight:800;font-size:.84rem;margin-bottom:24px}.training-breadcrumb a{color:#F6D73F}.training-detail-hero h1{font-size:clamp(2.5rem,6vw,4.8rem);line-height:1;margin:0 0 18px;max-width:940px}.training-detail-hero p{max-width:760px;color:rgba(255,255,255,.82);font-size:1.12rem;line-height:1.7}.training-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:34px;align-items:start;padding:64px 0 84px}.training-content{display:grid;gap:44px}.training-content h2{font-size:1.9rem;margin:0 0 16px}.training-content p,.training-content li{color:#526071;line-height:1.7}.training-outcomes{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;list-style:none;padding:0}.training-outcomes li{position:relative;padding:16px 16px 16px 45px;border:1px solid #ded6c8;border-radius:14px;background:#fff}.training-outcomes li::before{content:'✓';position:absolute;left:16px;top:15px;width:22px;height:22px;border-radius:999px;background:#e9f7f4;color:#0B747A;display:grid;place-items:center;font-weight:900}.curriculum-list{display:grid;gap:14px}.curriculum-item{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:20px;border:1px solid #ded6c8;border-radius:16px;background:#fff}.curriculum-item>span{width:48px;height:48px;border-radius:13px;background:#0B1D35;color:#F6D73F;display:grid;place-items:center;font-weight:900}.curriculum-item h3{margin:2px 0 7px}.curriculum-item p{margin:0}.training-aside{position:sticky;top:110px;display:grid;gap:18px}.training-booking-card{padding:24px;border:1px solid #ded6c8;border-radius:20px;background:#fff;box-shadow:0 18px 46px rgba(7,20,38,.09)}.training-booking-card h2{font-size:1.45rem;margin:0 0 8px}.training-price{font-size:2.2rem;font-weight:950;margin:12px 0 4px}.training-booking-card>p{color:#526071;line-height:1.6}.training-facts{display:grid;gap:10px;padding:16px 0;margin:16px 0;border-top:1px solid #e7dfd3;border-bottom:1px solid #e7dfd3}.training-facts div{display:flex;justify-content:space-between;gap:14px}.training-facts span{color:#64748b}.waitlist-form{display:grid;gap:13px;margin-top:18px}.waitlist-form label{display:grid;gap:6px;color:#26364a;font-size:.82rem;font-weight:900}.waitlist-form input,.waitlist-form select,.waitlist-form textarea{width:100%;border:1px solid #cfc4b2;border-radius:11px;background:#fff;color:#071426;padding:11px 12px;font:inherit}.waitlist-form textarea{min-height:90px;resize:vertical}.waitlist-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.waitlist-consent{grid-template-columns:auto 1fr!important;align-items:start;font-weight:600!important;line-height:1.45}.waitlist-consent input{width:auto;margin-top:3px}.waitlist-status{min-height:22px;margin:0!important;font-weight:800}.waitlist-status.success{color:#0B747A}.waitlist-status.error{color:#b42318}.honeypot{position:absolute!important;left:-9999px!important}.cohort-detail-sessions{display:grid;gap:8px;margin:16px 0}.team-note{padding:20px;border:1px solid #ded6c8;border-radius:18px;background:#fff}.team-note h3{margin:0 0 8px}.team-note p{margin:0 0 14px;color:#526071}.training-loading{padding:160px 0;text-align:center}@media(max-width:900px){.training-grid,.training-detail-layout{grid-template-columns:1fr}.training-steps{grid-template-columns:repeat(2,1fr)}.training-aside{position:static;grid-row:auto}.training-hero{min-height:460px}.team-band{grid-template-columns:1fr}.training-outcomes{grid-template-columns:1fr}}@media(max-width:620px){.training-shell{width:min(100% - 24px,1160px)}.training-hero{padding-top:120px;min-height:520px}.training-grid,.training-steps{grid-template-columns:1fr}.training-section{padding:56px 0}.training-section-head{display:block}.programme-card{grid-template-rows:170px 1fr}.training-detail-hero{padding-top:120px}.training-detail-layout{padding-top:42px}.waitlist-form .field-row{grid-template-columns:1fr}.team-band{padding:24px}.training-outcomes li{padding-right:12px}}

.cohort-public-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.cohort-public-facts div{padding:11px 12px;border:1px solid #e2dacd;border-radius:11px;background:#fffdf9}.cohort-public-facts dt{color:#64748b;font-size:.7rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.cohort-public-facts dd{margin:4px 0 0;color:#071426;font-size:.86rem;font-weight:800;line-height:1.35}@media(max-width:620px){.cohort-public-facts{grid-template-columns:1fr}}

/* Keep the catalogue hero consistent with the site's photograph-led landing pages. */
body.training-page .training-hero{
  align-items:center;
  min-height:clamp(580px,72vh,720px);
  padding:calc(92px + var(--photo-hero-nav-overlap,86px)) 0 64px;
  overflow:hidden;
}

/* Preserve readable text on the dark organisation-training panel. */
body.training-page .team-band h2{color:#fff!important}
body.training-page .team-band p{color:rgba(255,255,255,.8)!important}
body.training-page .training-hero::before{
  background:
    linear-gradient(90deg,rgba(7,20,38,.88) 0%,rgba(7,20,38,.68) 44%,rgba(7,20,38,.16) 78%),
    url('/images/events.webp') center 38%/cover no-repeat;
}
body.training-page .training-hero::after{
  background:
    linear-gradient(180deg,rgba(7,20,38,.12) 0%,rgba(7,20,38,.02) 32%,rgba(7,20,38,.64) 100%),
    radial-gradient(circle at 18% 24%,rgba(242,96,81,.16),transparent 34%);
}
body.training-page .training-hero-copy{
  width:min(1160px,calc(100% - 34px));
  max-width:none;
  margin:0 auto;
  padding:32px 0;
}
body.training-page .training-kicker::before{background:linear-gradient(90deg,#F6D73F,#F26051)}
body.training-page .training-hero h1{
  max-width:13ch;
  margin:0;
  color:#fff!important;
  font-size:clamp(2.35rem,4.6vw,3.6rem);
  line-height:1;
  letter-spacing:-.02em;
  text-shadow:0 4px 24px rgba(7,20,38,.35);
}
body.training-page .training-hero p{
  max-width:590px;
  color:rgba(248,250,252,.88)!important;
  font-size:clamp(1rem,1.5vw,1.1rem);
  line-height:1.62;
}
@media(max-width:900px){
  body.training-page .training-hero{
    min-height:clamp(580px,82svh,720px);
    padding-top:calc(72px + var(--photo-hero-nav-overlap,86px));
    background:#071426;
  }
  body.training-page .training-hero::before{
    background:
      linear-gradient(180deg,rgba(7,20,38,.42) 0%,rgba(7,20,38,.58) 46%,rgba(7,20,38,.88) 100%),
      url('/images/events.webp') 64% 38%/cover no-repeat;
  }
  body.training-page .training-hero-copy{align-self:end;max-width:none}
}
@media(max-width:620px){
  body.training-page .training-hero{min-height:min(680px,100svh);padding:calc(48px + var(--photo-hero-nav-overlap,142px)) 0 42px}
  body.training-page .training-hero-copy{width:calc(100% - 24px);max-width:calc(100% - 24px);gap:15px;padding:0}
  body.training-page .training-hero h1{max-width:11ch;font-size:clamp(2.25rem,11vw,3.15rem)}
  body.training-page .training-hero p{width:100%;max-width:100%}
  body.training-page .training-actions{display:grid}
  body.training-page .training-actions .btn{width:100%;justify-content:center}
}

/* Evergreen catalogue cards share the square, image-led editorial treatment
   used by Insights. Scheduled training cards keep their operational layout. */
body.training-page [data-training-programmes]{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
body.training-page [data-training-programmes] .programme-card{
  position:relative;
  display:block;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(7,20,38,.12);
  border-radius:18px;
  background:#0B1D35;
  box-shadow:none;
}
body.training-page .programme-card-link{
  display:block;
  color:#fff;
}
body.training-page .programme-card-link:focus-visible{
  outline:2px solid #17A5AD;
  outline-offset:3px;
}
body.training-page [data-training-programmes] .programme-image{
  aspect-ratio:1/1;
  background:linear-gradient(135deg,#112A45,#0B1D35);
}
body.training-page [data-training-programmes] .programme-image::after{display:none}
body.training-page [data-training-programmes] .programme-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.012);
  transition:transform .82s cubic-bezier(.2,.72,.2,1),filter .5s ease;
}
body.training-page [data-training-programmes] .programme-card:hover .programme-image img,
body.training-page [data-training-programmes] .programme-card:focus-within .programme-image img{
  transform:scale(1.07);
  filter:saturate(1.05);
}
body.training-page .programme-image-fallback{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#17A5AD;
  font-size:2.5rem;
}
body.training-page .programme-card-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,20,38,.62) 0%,rgba(7,20,38,.2) 38%,rgba(7,20,38,.42) 58%,rgba(7,20,38,.94) 100%);
}
body.training-page .programme-card-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  padding:20px;
}
body.training-page .programme-card-overlay .programme-meta{gap:6px}
body.training-page .programme-card-overlay .training-pill{
  border:1px solid rgba(255,255,255,.2);
  color:#fff;
  background:rgba(7,20,38,.48);
  backdrop-filter:blur(10px);
}
body.training-page .programme-card-overlay .training-pill.price{
  color:#F6D73F;
  background:rgba(7,20,38,.56);
}
body.training-page .programme-stage{
  display:block;
  margin-top:18px;
  color:#F6D73F;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.training-page [data-training-programmes] .programme-card h3{
  display:-webkit-box;
  max-width:18ch;
  margin:14px 0 0;
  overflow:hidden;
  color:#fff!important;
  font-size:clamp(1.12rem,1.55vw,1.38rem);
  font-weight:650;
  line-height:1.16;
  letter-spacing:-.018em;
  text-wrap:balance;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
body.training-page .programme-card-footer{
  margin-top:auto;
}
body.training-page [data-training-programmes] .programme-card p{
  display:-webkit-box;
  margin:0 0 14px;
  overflow:hidden;
  color:rgba(255,255,255,.8);
  font-size:.8rem;
  line-height:1.45;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
body.training-page .programme-card-action{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff;
  font-size:.78rem;
  font-weight:850;
}
body.training-page .programme-card-action i{color:#F6D73F;transition:transform .2s ease}
body.training-page .programme-card:hover .programme-card-action i,
body.training-page .programme-card:focus-within .programme-card-action i{transform:translateX(3px)}

@media(max-width:900px){
  body.training-page [data-training-programmes]{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  body.training-page [data-training-programmes]{grid-template-columns:1fr}
  body.training-page [data-training-programmes] .programme-card{grid-template-rows:none}
}

@media(prefers-reduced-motion:reduce){
  body.training-page [data-training-programmes] .programme-image img,
  body.training-page [data-training-programmes] .programme-card:hover .programme-image img,
  body.training-page .programme-card-action i{transition:none;transform:none}
}

/* Evergreen programme pages use the same photograph-led hierarchy as the
   catalogue while keeping the waitlist or registration action close by. */
body.training-programme-page .training-detail-hero{
  position:relative;
  isolation:isolate;
  display:flex;
  min-height:min(700px,82vh);
  align-items:flex-end;
  overflow:hidden;
  padding:calc(104px + var(--photo-hero-nav-overlap,86px)) 0 58px;
  color:#fff;
  background:#0B1D35;
}
body.training-programme-page .training-detail-hero-media{
  position:absolute;
  z-index:-2;
  inset:0;
  display:grid;
  overflow:hidden;
  place-items:center;
  background:
    radial-gradient(circle at 78% 20%,rgba(246,215,63,.25),transparent 30%),
    linear-gradient(145deg,#0B1D35,#11878D);
}
body.training-programme-page .training-detail-hero-media::before,
body.training-programme-page .training-detail-hero-media::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
}
body.training-programme-page .training-detail-hero-media::before{
  background:linear-gradient(90deg,rgba(7,20,38,.96) 0%,rgba(7,20,38,.82) 45%,rgba(7,20,38,.32) 82%,rgba(7,20,38,.18) 100%);
}
body.training-programme-page .training-detail-hero-media::after{
  background:linear-gradient(180deg,rgba(7,20,38,.2) 0%,rgba(7,20,38,.02) 38%,rgba(7,20,38,.82) 100%);
}
body.training-programme-page .training-detail-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.01);
}
body.training-programme-page .training-detail-hero-media>i{
  color:rgba(255,255,255,.72);
  font-size:clamp(4rem,10vw,8rem);
}
body.training-programme-page .training-detail-hero-inner{
  position:relative;
  z-index:2;
  display:grid;
  gap:14px;
}
body.training-programme-page .training-breadcrumb{
  display:inline-flex;
  width:max-content;
  max-width:760px;
  align-items:center;
  gap:9px;
  margin:0 0 3px;
  color:rgba(255,255,255,.68);
}
body.training-programme-page .training-breadcrumb:hover{color:#fff}
body.training-programme-page .training-detail-hero .training-kicker{color:#F6D73F}
body.training-programme-page .training-detail-hero .training-kicker::before{background:linear-gradient(90deg,#F6D73F,#F26051)}
body.training-programme-page .training-detail-hero h1{
  max-width:18ch;
  margin:0;
  color:#fff!important;
  font-size:clamp(2rem,2.8vw,2.75rem);
  font-weight:620;
  line-height:1.02;
  letter-spacing:-.035em;
  text-wrap:balance;
  text-shadow:0 5px 28px rgba(7,20,38,.4);
}
body.training-programme-page .training-detail-hero p{
  max-width:650px;
  margin:0;
  color:rgba(248,250,252,.87)!important;
  font-size:clamp(.96rem,1.3vw,1.05rem);
  line-height:1.62;
}
body.training-programme-page .training-detail-quickfacts{
  display:grid;
  width:min(820px,100%);
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:7px;
}
body.training-programme-page .training-detail-quickfacts article{
  display:grid;
  min-width:0;
  grid-template-columns:40px minmax(0,1fr);
  gap:11px;
  align-items:center;
  padding:11px 13px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:14px;
  background:rgba(7,20,38,.48);
  box-shadow:0 12px 32px rgba(7,20,38,.14);
  backdrop-filter:blur(12px) saturate(115%);
}
body.training-programme-page .training-detail-icon{
  display:grid;
  width:40px;
  height:40px;
  place-items:center;
  border:1px solid rgba(255,255,255,.22);
  border-radius:12px;
  color:#F6D73F;
  background:rgba(255,255,255,.11);
}
body.training-programme-page .training-detail-quickfacts small{
  display:block;
  margin-bottom:4px;
  color:rgba(255,255,255,.62);
  font-size:.62rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.training-programme-page .training-detail-quickfacts strong{
  display:block;
  overflow-wrap:anywhere;
  color:#fff;
  font-size:.84rem;
  line-height:1.35;
}
body.training-programme-page .training-detail-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:3px;
}
body.training-programme-page .training-detail-actions .btn-primary{
  color:#071426;
  border-color:transparent;
  background:linear-gradient(135deg,#F26051,#E34C83);
}
body.training-programme-page .training-detail-actions .btn-secondary{
  color:#fff;
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(10px);
}
body.training-programme-page .training-detail-layout{
  gap:clamp(34px,5vw,62px);
  padding:72px 0 92px;
}
body.training-programme-page .training-content{gap:0}
body.training-programme-page .training-content>section{
  padding:38px 0;
  border-top:1px solid rgba(7,20,38,.13);
  scroll-margin-top:108px;
}
body.training-programme-page .training-content>section:first-child{
  padding-top:0;
  border-top:0;
}
body.training-programme-page .training-content h2{
  max-width:720px;
  font-size:clamp(1.5rem,2.3vw,2.05rem);
  font-weight:680;
  line-height:1.1;
  letter-spacing:-.025em;
  text-wrap:balance;
}
body.training-programme-page .training-content p{max-width:720px;font-size:1.02rem;line-height:1.78}
body.training-programme-page .training-outcomes{margin:0}
body.training-programme-page .training-outcomes li{box-shadow:0 7px 20px rgba(7,20,38,.035)}
body.training-programme-page .curriculum-item{box-shadow:0 7px 20px rgba(7,20,38,.035)}
body.training-programme-page .training-aside{
  min-width:0;
  scroll-margin-top:110px;
}
body.training-programme-page .training-booking-card{
  min-width:0;
  overflow:hidden;
  border-radius:21px;
  box-shadow:0 20px 52px rgba(7,20,38,.1);
}
body.training-programme-page .training-booking-card h2{
  margin:7px 0 9px;
  font-size:1.3rem;
  font-weight:700;
  line-height:1.18;
  letter-spacing:-.02em;
}
body.training-programme-page .training-booking-card>p{
  margin:0;
  font-size:.9rem;
  line-height:1.55;
}
body.training-programme-page .training-fee-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:3px 16px;
  align-items:center;
  margin:18px 0 4px;
  padding:14px 15px;
  border:1px solid rgba(17,135,141,.2);
  border-radius:13px;
  background:#EDF7F5;
}
body.training-programme-page .training-fee-summary span{
  color:#526071;
  font-size:.7rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
body.training-programme-page .training-fee-summary strong{
  grid-row:1/3;
  grid-column:2;
  color:#071426;
  font-size:1.28rem;
  font-weight:780;
  letter-spacing:-.025em;
  white-space:nowrap;
}
body.training-programme-page .training-fee-summary small{
  color:#526071;
  font-size:.74rem;
  line-height:1.4;
}
body.training-programme-page .curriculum-item h3{
  margin:2px 0 6px;
  font-size:1.05rem;
  line-height:1.25;
}
body.training-programme-page .training-facts strong{
  min-width:0;
  text-align:right;
  overflow-wrap:anywhere;
}
body.training-programme-page .team-note{background:rgba(255,255,255,.72)}

/* Present the five evergreen programmes as one reporting lifecycle. */
body.training-page .training-lifecycle-overview{
  padding-top:76px;
  padding-bottom:72px;
}
body.training-page .training-lifecycle-overview .training-section-head{
  max-width:850px;
  margin-bottom:30px;
}
body.training-page .training-lifecycle-steps{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
body.training-page .training-lifecycle-steps li{
  position:relative;
  display:grid;
  min-width:0;
  grid-template-columns:34px minmax(0,1fr);
  gap:11px;
  align-items:start;
  padding:18px 15px;
  border:1px solid #ded6c8;
  border-radius:15px;
  background:rgba(255,255,255,.74);
}
body.training-page .training-lifecycle-steps li:not(:last-child)::after{
  content:"";
  position:absolute;
  z-index:2;
  top:31px;
  right:-11px;
  width:11px;
  height:2px;
  background:#11878D;
}
body.training-page .training-lifecycle-steps li>span{
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border-radius:10px;
  color:#075F64;
  background:#E8F6F4;
  font-size:.7rem;
  font-weight:900;
}
body.training-page .training-lifecycle-steps strong{display:block;margin:1px 0 5px;color:#071426;font-size:.92rem}
body.training-page .training-lifecycle-steps small{display:block;color:#64748b;font-size:.76rem;line-height:1.42}

body.training-programme-page .training-content>section.training-lifecycle-fit{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:18px;
  margin:8px 0;
  padding:26px!important;
  border:1px solid rgba(17,135,141,.24)!important;
  border-radius:18px;
  background:#EDF7F5;
}
body.training-programme-page .training-fit-icon{
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  border-radius:14px;
  color:#F6D73F;
  background:#0B213B;
}
body.training-programme-page .training-lifecycle-fit h2{margin:6px 0 9px;font-size:clamp(1.4rem,2vw,1.75rem)}
body.training-programme-page .training-lifecycle-fit p{margin:0;color:#425466;line-height:1.68}

@media(max-width:900px){
  body.training-programme-page .training-detail-hero{
    min-height:min(660px,82vh);
    padding-top:calc(96px + var(--photo-hero-nav-overlap,86px));
  }
  body.training-programme-page .training-detail-hero-media::before{
    background:linear-gradient(90deg,rgba(7,20,38,.92),rgba(7,20,38,.62));
  }
  body.training-programme-page .training-aside{grid-row:1;position:static;width:min(100%,640px)}
  body.training-page .training-lifecycle-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.training-page .training-lifecycle-steps li::after{display:none}
}

@media(max-width:620px){
  body.training-programme-page .training-detail-hero{
    min-height:min(720px,100svh);
    padding:calc(58px + var(--photo-hero-nav-overlap,142px)) 0 40px;
  }
  body.training-programme-page .training-detail-hero-media::before{
    background:linear-gradient(180deg,rgba(7,20,38,.52) 0%,rgba(7,20,38,.7) 42%,rgba(7,20,38,.95) 100%);
  }
  body.training-programme-page .training-detail-hero h1{
    max-width:16ch;
    font-size:clamp(1.85rem,7.2vw,2.35rem);
  }
  body.training-programme-page .training-detail-hero p{font-size:.98rem;line-height:1.58}
  body.training-programme-page .training-detail-quickfacts{grid-template-columns:1fr}
  body.training-programme-page .training-detail-quickfacts article{min-height:64px}
  body.training-programme-page .training-detail-actions{display:grid}
  body.training-programme-page .training-detail-actions .btn{width:100%;justify-content:center}
  body.training-programme-page .training-detail-layout{padding:46px 0 68px}
  body.training-programme-page .training-fee-summary{grid-template-columns:1fr;gap:4px}
  body.training-programme-page .training-fee-summary strong{grid-row:auto;grid-column:auto;font-size:1.2rem}
  body.training-page .training-lifecycle-overview{padding-top:56px;padding-bottom:54px}
  body.training-page .training-lifecycle-steps{
    display:flex;
    overflow-x:auto;
    gap:10px;
    margin-right:-12px;
    padding:0 12px 10px 0;
    scroll-snap-type:x proximity;
  }
  body.training-page .training-lifecycle-steps li{flex:0 0 min(78vw,260px);scroll-snap-align:start}
  body.training-programme-page .training-content>section.training-lifecycle-fit{grid-template-columns:1fr;padding:22px!important}
}

/* Keep the Training catalogue hero on the same full-bleed system as Home. */
.hero-training{
  --diagnostic-hero-image:url("/images/events.webp");
  --diagnostic-hero-position:center 38%;
}
body.training-page .training-hero.diagnostic-hero{
  min-height:100vh;
  align-items:center;
  padding:calc(92px + var(--photo-hero-nav-overlap,86px)) 0 64px;
  overflow:visible;
}
body.training-page .training-hero.diagnostic-hero::before{
  background-image:var(--diagnostic-hero-image);
  background-position:var(--diagnostic-hero-position,center);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:1;
  filter:saturate(1.02) contrast(1.05);
}
body.training-page .training-hero.diagnostic-hero::after{
  background:
    linear-gradient(180deg,rgba(7,20,38,.12) 0%,rgba(7,20,38,.02) 30%,rgba(7,20,38,.68) 100%),
    linear-gradient(90deg,rgba(7,20,38,.62) 0%,rgba(7,20,38,.18) 44%,rgba(7,20,38,.02) 72%)!important;
}
body.training-page .training-hero.diagnostic-hero .training-hero-copy{
  position:relative;
  z-index:1;
  display:block;
  width:auto;
  max-width:620px;
  margin:0;
  padding:32px 0;
}
body.training-page .training-hero.diagnostic-hero h1{
  max-width:14ch;
  margin:18px 0;
  color:#fff!important;
  font-size:clamp(1.9rem,3.6vw,3.2rem);
  line-height:.96;
  letter-spacing:-.02em;
  text-shadow:0 4px 24px rgba(7,20,38,.35);
}
body.training-page .training-hero.diagnostic-hero .diagnostic-hero-copy{
  max-width:60ch;
  margin:0 0 28px;
  color:rgba(248,250,252,.86)!important;
  font-size:clamp(1rem,2vw,1.17rem);
  line-height:1.6;
}
@media(max-width:620px){
  body.training-page .training-hero.diagnostic-hero{
    min-height:auto;
    padding:calc(62px + var(--photo-hero-nav-overlap,142px)) 0 62px;
  }
  body.training-page .training-hero.diagnostic-hero .training-hero-copy{
    width:auto;
    max-width:620px;
    padding:0;
  }
  body.training-page .training-hero.diagnostic-hero h1{
    max-width:14ch;
    font-size:clamp(2.1rem,10vw,3.2rem);
  }
}
