/* CTS Homepage v2 */
body.ctshp-own{margin:0;background:#F3F3F8}
.ctshp-main{display:block;margin:0;padding:0}
.ctshp{--b:#1C1B4D;--b2:#2C2B6E;--deep:#121232;--hv:#F2B705;--hv2:#FFC61A;--ink:#171731;--ink2:#575773;--line:#DFDFEA;--line2:#C8C8DA;--bg:#F3F3F8;--soft:#ECEBF6;--fund:#0B5E54;--ok:#1F7A3A;
  font-family:"Archivo","Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;
  width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
body.ctshp-own .ctshp{width:auto;margin:0}
.ctshp *,.ctshp *::before,.ctshp *::after{box-sizing:border-box}
.ctshp svg{flex:none;display:block}
.ctshp :focus-visible{outline:3px solid var(--hv);outline-offset:2px;border-radius:6px}
.ctshp h1,.ctshp h2,.ctshp h3,.ctshp p,.ctshp ul,.ctshp ol,.ctshp figure,.ctshp blockquote{margin:0;padding:0}
.ctshp h1,.ctshp h2,.ctshp h3{font-family:inherit!important;color:inherit;text-transform:none!important;letter-spacing:normal}
.ctshp a{color:inherit}
.ctshp-wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.ctshp-sr{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
body:has(.ctshp){overflow-x:hidden}
body.ctshp-hide-title .entry-title,body.ctshp-hide-title .page-title,body.ctshp-hide-title .page-header,body.ctshp-hide-title .wp-block-post-title,body.ctshp-hide-title .elementor-page-title{display:none!important}

.ctshp .ctshp-h2{font-size:clamp(32px,4.2vw,52px)!important;line-height:1!important;font-weight:900!important;font-stretch:72%}
.ctshp-kicker{font-size:13px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink2);margin-bottom:10px}
.ctshp-kicker-y{color:var(--hv)}
.ctshp-sec{padding:84px 0}
.ctshp-sec-white{background:#fff}
.ctshp-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 40px;margin-bottom:34px}
.ctshp-head .ctshp-h2{max-width:640px}
.ctshp-head > p{color:var(--ink2);max-width:430px;font-size:17px}
.ctshp-head-light > p{color:#D1D1E6}

/* Buttons */
.ctshp .ctshp-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px!important;border-radius:999px!important;font-size:16px!important;font-weight:800!important;line-height:1.2!important;text-decoration:none!important;cursor:pointer;border:2px solid transparent!important;text-transform:none!important;letter-spacing:normal!important;box-shadow:none!important;font-family:inherit!important;white-space:nowrap}
.ctshp .ctshp-btn-yellow{background:var(--hv)!important;color:var(--b)!important}
.ctshp .ctshp-btn-yellow:hover{background:var(--hv2)!important;color:var(--b)!important}
.ctshp .ctshp-btn-dark{background:var(--b)!important;color:#fff!important}
.ctshp .ctshp-btn-dark:hover{background:var(--b2)!important;color:#fff!important}
.ctshp .ctshp-btn-ghost{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.55)!important}
.ctshp .ctshp-btn-ghost:hover{background:rgba(255,255,255,.1)!important;color:#fff!important}
.ctshp .ctshp-btn-outline{background:transparent!important;color:var(--b)!important;border-color:var(--b)!important}
.ctshp .ctshp-btn-outline:hover{background:var(--b)!important;color:#fff!important}
.ctshp .ctshp-btn-line{background:transparent!important;color:var(--b)!important;border-color:var(--b)!important}
.ctshp .ctshp-btn-line:hover{background:rgba(28,27,77,.08)!important}
.ctshp-link{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--b)!important;text-decoration:none!important}
.ctshp-link:hover{text-decoration:underline!important;text-underline-offset:4px}

/* Hero */
.ctshp-hero{background:var(--b);color:#fff;padding:76px 0 132px;position:relative;overflow:hidden}
.ctshp-hero::after{content:"";position:absolute;right:-180px;top:-160px;width:620px;height:620px;border-radius:50%;background:radial-gradient(closest-side,rgba(242,183,5,.16),rgba(242,183,5,0));pointer-events:none}
.ctshp-hero-photo{background-image:linear-gradient(90deg,rgba(28,27,77,.97) 0%,rgba(28,27,77,.9) 48%,rgba(28,27,77,.62) 100%),var(--ctshp-photo);background-size:cover;background-position:center}
.ctshp-hero-row{display:flex;flex-wrap:wrap;gap:48px;align-items:center;position:relative;z-index:1}
.ctshp-hero-copy{flex:1 1 560px;min-width:0}
.ctshp-hero-side{flex:1 1 380px;max-width:460px;min-width:0}
.ctshp-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--hv);margin-bottom:18px;background:rgba(255,255,255,.08);padding:7px 12px;border-radius:999px}
.ctshp .ctshp-h1{font-size:clamp(42px,5.8vw,74px)!important;line-height:.95!important;font-weight:900!important;font-stretch:70%;margin-bottom:20px!important;color:#fff!important;max-width:15ch}
.ctshp-lead{font-size:19px;color:#D3D3E6;max-width:560px;margin-bottom:28px!important}
.ctshp-hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px}
.ctshp-search{position:relative;display:flex;gap:8px;max-width:600px;background:#fff;padding:6px;border-radius:14px}
.ctshp-search > svg{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:#66667E;pointer-events:none}
.ctshp .ctshp-search input{flex:1;min-width:0;height:50px!important;border:0!important;padding:0 12px 0 44px!important;font-size:16px!important;color:var(--ink)!important;background:transparent!important;box-shadow:none!important;outline:none;margin:0!important;border-radius:8px!important;width:auto!important}
.ctshp .ctshp-search button{flex:none;height:50px!important;padding:0 22px!important;border:0!important;border-radius:10px!important;background:var(--b)!important;color:#fff!important;font-size:16px!important;font-weight:800!important;cursor:pointer;text-transform:none!important;letter-spacing:normal!important;box-shadow:none!important;font-family:inherit!important;line-height:1!important}
.ctshp .ctshp-search button:hover{background:var(--b2)!important}
.ctshp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;font-size:14px}
.ctshp-chips span{color:#B4B4D0;padding:6px 0}
.ctshp-chips a{color:#fff!important;text-decoration:none!important;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:6px 13px}
.ctshp-chips a:hover{background:rgba(255,255,255,.1)}

/* Facts band */
.ctshp-facts{position:relative;z-index:2;margin-top:-64px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border-radius:20px;box-shadow:0 20px 50px rgba(18,18,50,.12);overflow:hidden}
.ctshp-fact{padding:24px 26px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.ctshp-fact:first-child{border-left:0}
.ctshp-fact b{font-size:44px;line-height:1;font-weight:900;font-stretch:70%;color:var(--b)}
.ctshp-fact span{font-size:14px;color:var(--ink2)}

/* Accreditations */
.ctshp-acc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ctshp-acc-tile{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:4px;min-height:132px;text-decoration:none!important;color:var(--ink)!important;transition:transform .15s,border-color .15s}
.ctshp-acc-tile:hover{transform:translateY(-2px);border-color:var(--line2)}
.ctshp-acc-badge{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ok);background:#E3F3E7;border-radius:999px;padding:3px 9px 3px 7px;margin-bottom:8px}
.ctshp-acc-badge svg{width:12px;height:12px}
.ctshp-acc-name{font-size:26px;line-height:1.05;font-weight:900;font-stretch:74%;color:var(--b)}
.ctshp-acc-desc{font-size:14px;color:var(--ink2);line-height:1.35}
.ctshp-acc-more{grid-column:span 2;background:var(--b);border-color:var(--b);justify-content:flex-end}
.ctshp-acc-more .ctshp-acc-name{color:var(--hv);font-size:40px}
.ctshp-acc-more .ctshp-acc-desc{color:#D3D3E6}

/* Categories */
.ctshp-cats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.ctshp-cat{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--bg);text-decoration:none!important;color:var(--ink)!important;transition:transform .15s,background .15s,border-color .15s}
.ctshp-cat:hover{transform:translateY(-2px);background:var(--b);border-color:var(--b);color:#fff!important}
.ctshp-cat-ic{width:50px;height:50px;border-radius:14px;background:#fff;color:var(--b);display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.ctshp-cat:hover .ctshp-cat-ic{background:var(--hv)}
.ctshp-cat-t{font-size:19px;font-weight:800;font-stretch:85%;line-height:1.15}
.ctshp-cat-n{font-size:14px;color:var(--ink2)}
.ctshp-cat:hover .ctshp-cat-n{color:#D3D3E6}

/* Popular courses */
.ctshp-courses{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ctshp-course{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;text-decoration:none!important;color:var(--ink)!important;display:flex;flex-direction:column;gap:8px;transition:transform .15s,border-color .15s;border-top:5px solid var(--b)}
.ctshp-course:hover{transform:translateY(-3px);border-color:var(--line2);border-top-color:var(--hv)}
.ctshp-code{align-self:flex-start;font-size:12px;font-weight:800;background:var(--soft);color:var(--b);padding:3px 9px;border-radius:6px}
.ctshp-course-t{font-size:23px;font-weight:800;font-stretch:82%;line-height:1.12}
.ctshp-course-m{font-size:14px;color:var(--ink2)}
.ctshp-course-go{margin-top:auto;padding-top:10px;display:inline-flex;gap:8px;align-items:center;font-weight:800;color:var(--b)}

/* Apprenticeships */
.ctshp-appr{background:var(--fund);color:#fff;padding:84px 0}
.ctshp-appr .ctshp-h2{color:#fff}
.ctshp-apps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ctshp-app{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:10px}
.ctshp-app-tag{align-self:flex-start;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:var(--hv);color:var(--b);padding:4px 10px;border-radius:999px}
.ctshp .ctshp-app h3{font-size:28px;line-height:1.05;font-weight:900;font-stretch:76%;color:#fff}
.ctshp-app p{color:#D4EFEA}
.ctshp .ctshp-app-btn{margin-top:auto;align-self:flex-start;display:inline-flex!important;align-items:center;gap:8px;background:transparent!important;color:#fff!important;border:0!important;padding:8px 0!important;font-size:15px!important;font-weight:800!important;cursor:pointer;text-decoration:none!important;text-transform:none!important;letter-spacing:normal!important;box-shadow:none!important;font-family:inherit!important;line-height:1.3!important}
.ctshp .ctshp-app-btn:hover{color:var(--hv)!important}
.ctshp-appr-split{display:grid;grid-template-columns:1fr 1fr auto;gap:24px 40px;align-items:center;margin-top:30px;padding-top:30px;border-top:1px solid rgba(255,255,255,.18)}
.ctshp .ctshp-appr-col h3{font-size:20px;font-weight:800;margin-bottom:10px!important;color:#fff}
.ctshp-appr .ctshp-ticks li{color:#D4EFEA}
.ctshp-appr .ctshp-ticks svg{color:var(--hv)}
.ctshp-appr-cta{display:flex;flex-direction:column;gap:10px}

.ctshp-ticks{list-style:none!important;display:grid;gap:8px;font-size:15px}
.ctshp-ticks li{display:flex;gap:9px;margin:0;list-style:none}
.ctshp-ticks svg{color:var(--ok);margin-top:3px}

/* Two ways */
.ctshp-ways{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ctshp-way{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.ctshp-way-img{aspect-ratio:16/8;background:var(--soft);overflow:hidden}
.ctshp-way-img img{width:100%;height:100%;object-fit:cover;display:block}
.ctshp-way-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--b);background:repeating-linear-gradient(135deg,#ECEBF6 0 22px,#E7E7F3 22px 44px)}
.ctshp-way-ph span{font-size:13px;font-weight:700;color:var(--ink2)}
.ctshp-way-body{padding:26px 28px 28px;display:flex;flex-direction:column;gap:12px;flex:1}
.ctshp .ctshp-way-body h3{font-size:30px;line-height:1.05;font-weight:900;font-stretch:76%}
.ctshp-way-body p{color:var(--ink2)}
.ctshp-way-body .ctshp-link{margin-top:auto}

/* Why */
.ctshp-why{background:var(--deep);color:#fff;padding:84px 0}
.ctshp-why .ctshp-h2{color:#fff}
.ctshp-feats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ctshp-feat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:10px}
.ctshp-feat svg{color:var(--hv)}
.ctshp .ctshp-feat h3{font-size:22px;font-weight:800;font-stretch:84%;line-height:1.15;color:#fff}
.ctshp-feat p{color:#C7C7DE;font-size:15px}
.ctshp-quote{margin-top:22px!important;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:26px}
.ctshp-quote blockquote{font-size:21px;line-height:1.4;color:#fff;border:0;font-style:normal}
.ctshp-quote figcaption{margin-top:10px;font-size:14px;color:#B4B4D0}

/* Steps */
.ctshp-steps-box{background:#fff;border:1px solid var(--line);border-radius:24px;padding:44px;display:grid;grid-template-columns:minmax(220px,1fr) 3fr;gap:36px;align-items:start}
.ctshp-steps{list-style:none!important;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:none}
.ctshp-step{display:flex;flex-direction:column;gap:10px;list-style:none}
.ctshp .ctshp-step h3{font-size:20px;font-weight:800;font-stretch:85%}
.ctshp-step p{color:var(--ink2);font-size:15px}
.ctshp-num{width:46px;height:46px;border-radius:50%;background:var(--b);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;font-size:18px}
.ctshp-num-y{background:var(--hv);color:var(--b)}

/* FAQ */
.ctshp-faq-row{display:grid;grid-template-columns:minmax(260px,1fr) 2fr;gap:48px;align-items:start}
.ctshp-faq-intro{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.ctshp-faq-intro p{color:var(--ink2)}
.ctshp-faq details{border-bottom:1px solid var(--line);padding:18px 0}
.ctshp-faq details:first-child{border-top:1px solid var(--line)}
.ctshp-faq summary{cursor:pointer;font-weight:800;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:16px;color:var(--ink)}
.ctshp-faq summary::-webkit-details-marker{display:none}
.ctshp-faq summary::after{content:"+";flex:none;width:30px;height:30px;border-radius:50%;background:var(--soft);color:var(--b);display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1}
.ctshp-faq details[open] summary::after{content:"\2013";background:var(--b);color:#fff}
.ctshp-faq details p{margin-top:10px!important;color:var(--ink2);max-width:680px}

/* Final CTA */
.ctshp-cta{background:var(--hv);color:var(--b)}
.ctshp-cta-row{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;padding-top:60px;padding-bottom:60px}
.ctshp-cta-row > div:first-child{flex:1 1 480px}
.ctshp-cta .ctshp-h2{margin-bottom:8px!important;color:var(--b)}
.ctshp-cta-row p{font-size:18px;color:#3A2A00}
.ctshp-cta-btns{display:flex;flex-wrap:wrap;gap:12px}

@media (max-width:1100px){
  .ctshp-cats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ctshp-courses,.ctshp-feats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ctshp-acc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ctshp-apps{grid-template-columns:1fr}
  .ctshp-appr-split{grid-template-columns:1fr 1fr}
  .ctshp-appr-cta{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}
  .ctshp-steps-box,.ctshp-faq-row{grid-template-columns:1fr}
  .ctshp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .ctshp-wrap{padding:0 16px}
  .ctshp-hero{padding:40px 0 100px}
  .ctshp-lead{font-size:16px}
  .ctshp-hero-side{max-width:none}
  .ctshp-hero-ctas .ctshp-btn{flex:1 1 100%}
  .ctshp .ctshp-search button{padding:0 16px!important}
  .ctshp-facts{grid-template-columns:1fr 1fr;margin-top:-56px}
  .ctshp-fact{padding:18px}
  .ctshp-fact:nth-child(3){border-left:0}
  .ctshp-fact:nth-child(n+3){border-top:1px solid var(--line)}
  .ctshp-fact b{font-size:36px}
  .ctshp-sec,.ctshp-appr,.ctshp-why{padding:56px 0}
  .ctshp-cats,.ctshp-acc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ctshp-acc-name{font-size:22px}
  .ctshp-acc-tile{min-height:0}
  .ctshp-courses,.ctshp-feats,.ctshp-ways,.ctshp-appr-split,.ctshp-steps{grid-template-columns:1fr}
  .ctshp-steps-box{padding:26px 20px}
  .ctshp-faq summary{font-size:16px}
}
@media (prefers-reduced-motion:reduce){.ctshp *{transition:none!important}}

/* ---------- v2.0.2: tighter hero so the search sits above the fold ---------- */
.ctshp-hero{padding:40px 0 112px}
.ctshp-eyebrow{margin-bottom:14px}
.ctshp .ctshp-h1{font-size:clamp(38px,4.3vw,60px)!important;max-width:17ch;margin-bottom:16px!important}
.ctshp-lead{font-size:18px;margin-bottom:22px!important}
.ctshp-hero-ctas{margin-bottom:18px}
.ctshp-hero-row{align-items:center}
@media (max-width:760px){.ctshp-hero{padding:28px 0 96px}.ctshp .ctshp-h1{font-size:clamp(34px,9vw,42px)!important}}
.ctshp-course-p{font-size:14px;color:var(--ink2)}
.ctshp-course-p b{color:var(--b);font-size:18px;font-weight:800}
.ctshp-course-p{font-size:14px;color:var(--ink2)}
.ctshp-course-p b{color:var(--b);font-size:18px;font-weight:800}

/* ---------- v2.1.1: flat colours (no shading) and no sideways scrolling ---------- */
html{overflow-x:hidden}
body{overflow-x:clip}
.ctshp-hero::after{display:none!important}
.ctshp-way-ph{background:var(--soft)!important}
.ctshp-hero-photo{background-image:linear-gradient(rgba(28,27,77,.88),rgba(28,27,77,.88)),var(--ctshp-photo)}
/* Content stays centred at 1240px on desktop, and never wider than the screen. */
.ctshp .ctshp-wrap{max-width:min(1240px,100%);width:100%;margin-left:auto;margin-right:auto}
@media (max-width:760px){
  .ctshp .ctshp-btn{white-space:normal;text-align:center}
  .ctshp-search{max-width:100%}
  .ctshp-cta-btns .ctshp-btn{flex:1 1 100%}
}

/* ---------- v2.2: the "20+" tile always fills the last row ---------- */
.ctshp .ctshp-acc-more{grid-column:span var(--sd,2)}
@media (max-width:1100px){.ctshp .ctshp-acc-more{grid-column:span var(--st,1)}}
@media (max-width:760px){.ctshp .ctshp-acc-more{grid-column:span var(--sm,2)}}

/* ---------- v2.3: category grid with "All courses" tile ---------- */
.ctshp .ctshp-cats{grid-template-columns:repeat(4,minmax(0,1fr))}
.ctshp-cat-all{background:var(--b)!important;border-color:var(--b)!important;color:#fff!important}
.ctshp-cat-all .ctshp-cat-ic{background:var(--hv)!important}
.ctshp-cat-all .ctshp-cat-n{color:#D3D3E6!important}
@media (max-width:1100px){.ctshp .ctshp-cats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.ctshp .ctshp-cats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- v2.3.2: dark navy on phones (no purple tint) ---------- */
@media (max-width:760px){
  .ctshp-hero{background:#121232!important}
  .ctshp-hero-photo{background-image:linear-gradient(rgba(18,18,50,.94),rgba(18,18,50,.94)),var(--ctshp-photo)!important}
  .ctshp-hero .ctshp-eyebrow,.ctshp-hero [class*="badge"]{background:rgba(255,255,255,.07)}
}

/* v2.3.3: nothing runs off the right-hand side on phones */
.ctshp{-webkit-text-size-adjust:100%;text-size-adjust:100%;max-width:100vw;overflow-x:hidden;overflow-x:clip}
body.ctshp-own .ctshp{max-width:100%}
