
:root{
  --ivory:#F8F5EE;
  --stone:#EFE9DD;
  --white:#FFFDF9;
  --char:#0F1B3D;
  --char-2:#0A1330;
  --olive:#0F1B3D;
  --olive-2:#18284F;
  --gold:#C9A24A;
  --gold-2:#D4AF5A;
  --gold-lt:#E0C27A;
  --gold-ink:#8A6A1F;
  --muted:#4A5470;
  --on-dark:#C9D0E0;
  --rule:#E2DACB;
  --rule-dark:#2B3B66;
  --max:68rem;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ivory);color:var(--char);
  font-family:'Karla',system-ui,sans-serif;font-size:1.0625rem;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.1;margin:0 0 .55em;letter-spacing:-.015em;color:inherit}
h1{font-size:clamp(2.35rem,7.4vw,4.4rem);max-width:17ch}
h2{font-size:clamp(1.65rem,4.2vw,2.5rem)}
h3{font-size:1.22rem;line-height:1.28}
p{margin:0 0 1.05em;max-width:62ch}
a{color:inherit}
img{max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1rem}
@media(min-width:40rem){.wrap{padding:0 1.5rem}}
.narrow{max-width:46rem}
[hidden]{display:none!important}
.arr{display:inline-block;transition:transform .2s}
a:hover .arr,button:hover .arr{transform:translateX(4px)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* header */
.site-head{position:sticky;top:0;z-index:20;background:rgba(248,245,238,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4rem}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--char)}
.logo-mark{width:2.1rem;height:2.1rem;background:var(--olive);color:var(--gold-lt);display:grid;place-items:center;font-family:'Fraunces',serif;font-weight:700;font-size:.95rem;border-radius:2px;flex-shrink:0}
.logo-word{font-family:'Fraunces',serif;font-weight:600;font-size:1.12rem;letter-spacing:-.01em;line-height:1}
.logo-word span{display:block;font-family:'Karla',sans-serif;font-weight:700;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);margin-top:.2rem}
.nav{display:flex;align-items:center;gap:1.6rem}
.nav-links{display:flex;gap:1.6rem}
.nav-links a{text-decoration:none;font-weight:700;font-size:.95rem;padding:.35rem 0;border-bottom:2px solid transparent}
.nav-links a:hover,.nav-links a[aria-current="true"]{border-bottom-color:var(--gold)}
.nav-cta{padding:.7rem 1.2rem;font-size:.95rem}
.subnav{display:none}
@media(max-width:47.99rem){
  .nav-links{display:none}
  .subnav{display:flex;gap:1.25rem;border-top:1px solid var(--rule);padding:.55rem 0;overflow-x:auto}
  .subnav a{text-decoration:none;font-weight:700;font-size:.9rem;white-space:nowrap;border-bottom:2px solid transparent}
  .subnav a[aria-current="true"]{border-bottom-color:var(--gold)}
  .logo-word{font-size:1rem}
  .nav-cta{padding:.6rem .95rem;font-size:.9rem}
}

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:.45rem;background:var(--char);color:#fff;
  font-family:'Karla',sans-serif;font-weight:700;font-size:1.02rem;line-height:1.2;
  padding:1rem 1.75rem;border-radius:2px;text-decoration:none;border:2px solid var(--char);
  cursor:pointer;transition:background .2s,color .2s,border-color .2s;
}
.btn:hover{background:#22356A;border-color:#22356A}
.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--char)}
.btn-gold:hover{background:var(--gold-lt);border-color:var(--gold-lt);color:var(--char)}
.btn-line{background:transparent;border-color:var(--on-dark);color:#fff}
.btn-line:hover{background:var(--white);color:var(--char);border-color:var(--white)}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.link-cta{display:inline-flex;gap:.4rem;font-weight:700;text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:.15rem;color:var(--char)}
.link-cta:hover{color:var(--gold-ink)}

/* shared type */
.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 1.1rem}
.eyebrow a{text-decoration:none}
.eyebrow a:hover{text-decoration:underline}
.eyebrow-gold{color:var(--gold-lt)}
.lede{font-size:clamp(1.12rem,2.4vw,1.28rem);max-width:54ch;line-height:1.55}
.big{font-family:'Fraunces',serif;font-size:clamp(1.25rem,2.8vw,1.6rem);line-height:1.42;max-width:38ch}
.pull{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(1.15rem,2.4vw,1.35rem);line-height:1.45;border-left:3px solid var(--gold);padding-left:1.25rem;margin-top:1.6rem;max-width:44ch}
.smallprint{font-size:.88rem;color:var(--muted);margin-top:1rem}
.opt{font-weight:400;color:var(--muted)}

/* bands */
.band{padding:4rem 0}
.band-stone{background:var(--stone)}
.band-dark{background:var(--olive);color:#fff}
.band-dark p{color:#fff}
@media(min-width:48rem){.band{padding:5.5rem 0}}

/* page heads */
.page-head{padding:3.25rem 0 3rem;border-bottom:1px solid var(--rule)}
@media(min-width:48rem){.page-head{padding:5rem 0 4.25rem}}
.page-head-dark{background:var(--olive);color:#fff;border-bottom:0}
.page-head-dark .lede{color:var(--on-dark)}
.jump{margin-top:1.4rem}
.jump a{font-weight:700;text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:.15rem}

/* home hero */
.hero{padding:2.75rem 0 3.5rem}
@media(min-width:48rem){.hero{padding:4.5rem 0 5rem}}
.hero-split{display:grid;gap:2.5rem;align-items:center}
@media(min-width:56rem){.hero-split{grid-template-columns:1.25fr .75fr;gap:4rem}}
.hero-split-sm{align-items:start}
.hero-photo,.side-photo,.founder-photo{margin:0;position:relative}
.hero-photo img,.side-photo img,.founder-photo img{display:block;width:100%;height:auto;border-radius:2px}
.hero-photo img{box-shadow:14px 14px 0 var(--stone);max-height:34rem;object-fit:cover}
.hero-photo::before{content:"";position:absolute;top:-12px;left:-12px;width:4.5rem;height:4.5rem;border-top:2px solid var(--gold);border-left:2px solid var(--gold);pointer-events:none}
@media(max-width:55.99rem){.hero-photo{max-width:22rem}}
.side-photo img{box-shadow:-12px 12px 0 var(--stone)}
@media(max-width:55.99rem){.side-photo{max-width:20rem}}

.routes{display:grid;gap:.75rem;margin:2.2rem 0 1.4rem;max-width:40rem}
@media(min-width:36rem){.routes{grid-template-columns:1fr 1fr}}
.route{
  display:block;text-decoration:none;color:var(--char);background:var(--white);
  border:1px solid var(--rule);border-radius:2px;padding:1.1rem 1.25rem 1.2rem;
  font-family:'Fraunces',serif;font-weight:600;font-size:1.2rem;line-height:1.25;
  transition:border-color .2s,transform .2s,box-shadow .2s;
}
.route:hover{border-color:var(--char);transform:translateY(-2px);box-shadow:0 6px 0 var(--stone)}
.route-k{display:block;font-family:'Karla',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}
.unsure{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.4rem;border-top:1px solid var(--rule);padding-top:1.4rem;max-width:40rem}
.unsure p{margin:0;font-size:.98rem;color:var(--muted);flex:1 1 16rem}

/* panels */
.duo{display:grid;gap:1.25rem}
@media(min-width:44rem){.duo{grid-template-columns:1fr 1fr;gap:1.5rem}}
.duo-top{align-items:start;gap:2.5rem}
@media(min-width:44rem){.duo-top{gap:4rem}}
.panel{background:var(--white);border:1px solid var(--rule);padding:2rem 1.6rem;border-radius:2px;display:flex;flex-direction:column;align-items:flex-start}
@media(min-width:40rem){.panel{padding:2.6rem 2.4rem}}
.panel p:not(.eyebrow){flex:1}
.panel-dark{background:var(--olive);color:#fff;border-color:var(--olive)}
.panel-dark p:not(.eyebrow){color:var(--on-dark)}

/* problems */
.probs{list-style:none;padding:0;margin:0;counter-reset:p}
.prob{counter-increment:p;display:grid;gap:.5rem;padding:2rem 0;border-top:1px solid var(--rule);position:relative}
.prob:last-child{border-bottom:1px solid var(--rule)}
.prob::before{content:"0" counter(p);font-family:'Fraunces',serif;font-size:.95rem;font-weight:600;color:var(--gold-ink)}
.prob h3{font-size:clamp(1.35rem,3.2vw,1.85rem);margin:0;max-width:26ch}
.prob p{margin:0;color:var(--muted)}
.prob .link-cta{justify-self:start;margin-top:.5rem}
@media(min-width:56rem){
  .prob{grid-template-columns:3rem 1.15fr 1fr auto;align-items:baseline;gap:2rem}
  .prob .link-cta{margin:0;white-space:nowrap}
}
.feature{background:var(--white);border-top:3px solid var(--gold);padding:1.8rem 1.6rem;border-radius:2px}
.feature p{color:var(--muted)}

/* career audit */
.pkg{list-style:none;padding:0;margin:2rem 0 0;counter-reset:k;display:grid;gap:0 3rem}
@media(min-width:48rem){.pkg{grid-template-columns:1fr 1fr}}
.pkg li{counter-increment:k;padding:1rem 0 1rem 3rem;border-top:1px solid var(--rule);position:relative}
.pkg li::before{content:counter(k,decimal-leading-zero);position:absolute;left:0;top:1.05rem;font-family:'Fraunces',serif;font-weight:600;color:var(--gold-ink);font-size:.95rem}
.pkg b{display:block;font-weight:700}
.pkg span{color:var(--muted);font-size:.98rem}
.vs{display:grid;gap:1.25rem;margin-top:2rem}
@media(min-width:44rem){.vs{grid-template-columns:.85fr 1.15fr}}
.vs-col{border:1px solid var(--rule);padding:1.8rem 1.6rem;border-radius:2px;display:flex;flex-direction:column;align-items:flex-start}
.vs-col p{flex:1;color:var(--muted)}
.vs-lead{border:2px solid var(--char);background:var(--white)}

/* book a call */
.aside-note{border-left:3px solid var(--gold);padding:.2rem 0 .2rem 1.2rem;margin-top:1.8rem;max-width:46ch}
.aside-note p{margin:0;font-size:.98rem;color:var(--muted)}
.aside-note .aside-h{font-weight:700;color:var(--char);margin-bottom:.35rem}
.aside-note-box{background:var(--white);border:1px solid var(--rule);border-left:3px solid var(--gold);padding:1.4rem 1.5rem;margin-top:0}

/* forms */
.pform{max-width:40rem;margin-top:1.8rem;display:grid;gap:0 1.25rem}
@media(min-width:44rem){
  .pform{grid-template-columns:1fr 1fr}
  .pform .field:has(textarea),.pform .field:has(input[type=file]),.pform .field:has(select),.pform .consent,.pform .btn,.pform .smallprint,.pform .formmsg{grid-column:1/-1}
}
.pform .btn{justify-self:start}
.field{margin-bottom:1.15rem}
.field label{display:block;font-size:.95rem;font-weight:700;margin-bottom:.35rem}
.hint{display:block;font-size:.85rem;color:var(--muted);margin:-.15rem 0 .4rem}
.field input,.field select,.field textarea{
  width:100%;padding:.8rem .9rem;font-family:inherit;font-size:1rem;color:var(--char);
  background:var(--white);border:1px solid #D6CDBB;border-radius:2px;
}
.field textarea{resize:vertical;min-height:6.5rem}
.field input[type=file]{padding:.65rem .7rem;font-size:.95rem}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.consent{display:flex;gap:.75rem;align-items:flex-start;margin:.5rem 0 1.5rem;font-size:.95rem;line-height:1.5}
.consent input{margin-top:.3rem;width:1.15rem;height:1.15rem;flex-shrink:0;accent-color:var(--olive)}
.formmsg{margin:1.1rem 0 0;padding:.9rem 1.1rem;border-left:3px solid var(--gold);background:var(--white);font-size:.98rem}
.formmsg.bad{border-color:#9A3B2B;background:#F6E3E0}

/* e-learning */
.price-strip{border:1px solid var(--rule);border-left:3px solid var(--gold);background:var(--white);padding:1.25rem 1.4rem;border-radius:2px;margin-bottom:2.5rem;max-width:48rem}
.price-strip p{margin:0;color:var(--muted);font-size:.98rem}
.price-strip .price-strip-h{font-family:'Fraunces',serif;font-size:1.25rem;color:var(--char);margin-bottom:.35rem}
.price-strip-lg{margin:2rem 0 0}
.price-strip-lg .price-strip-h b{font-size:2.2rem}
.tri{display:grid;gap:1rem}
@media(min-width:48rem){.tri{grid-template-columns:repeat(3,1fr);gap:1.25rem}}
.tri-card{display:flex;flex-direction:column;text-decoration:none;color:var(--char);background:var(--white);border:1px solid var(--rule);border-radius:2px;padding:1.6rem 1.5rem;min-height:12rem;transition:border-color .2s,transform .2s}
.tri-card:hover{border-color:var(--char);transform:translateY(-3px)}
.tri-n{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:.8rem}
.tri-card h3{font-size:1.55rem;flex:1}
.tri-cta{font-weight:700;font-size:.95rem}
.tri-dark .tri-card{background:var(--olive-2);border-color:var(--rule-dark);color:#fff}
.tri-dark .tri-card:hover{border-color:var(--gold)}
.tri-dark .tri-n{color:var(--gold-lt)}

.mods{list-style:none;padding:0;margin:0}
.mod{display:grid;grid-template-columns:2.6rem 1fr;gap:.25rem 1rem;padding:1.6rem 0;border-top:1px solid var(--rule)}
.mod:last-child{border-bottom:1px solid var(--rule)}
.mod-n{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:600;color:var(--gold-ink);line-height:1.2}
.mod-body h3{margin-bottom:.35em}
.mod-body p{margin:0;color:var(--muted);font-size:1rem}
.mod-link{grid-column:2;justify-self:start;margin-top:.75rem;display:inline-flex;gap:.4rem;font-weight:700;font-size:.95rem;text-decoration:none;border:1px solid var(--char);padding:.55rem 1rem;border-radius:2px;transition:background .2s,color .2s}
.mod-link:hover{background:var(--char);color:#fff}
@media(min-width:52rem){
  .mod{grid-template-columns:3.5rem 1fr auto;gap:2rem;align-items:start}
  .mod-link{grid-column:3;margin-top:0;white-space:nowrap}
}

/* live programme: the contrasting applied route */
.live{background:var(--olive);color:#fff;padding:4rem 0 4.5rem;position:relative}
.live::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gold)}
@media(min-width:48rem){.live{padding:5.5rem 0 6rem}}
.live h2{font-size:clamp(1.9rem,5vw,3rem);margin-bottom:.2em}
.live-price{font-family:'Fraunces',serif;font-size:clamp(2.6rem,7vw,3.8rem);font-weight:700;color:var(--gold-lt);line-height:1;margin:0 0 1.4rem}
.live-lede{color:var(--on-dark);font-size:1.12rem;max-width:56ch}
.live-grid{display:grid;gap:2rem;margin:2.5rem 0 1.5rem}
@media(min-width:52rem){.live-grid{grid-template-columns:14rem 1fr;gap:3.5rem}}
.live-stats{display:flex;gap:2.5rem}
@media(min-width:52rem){.live-stats{flex-direction:column;gap:1.5rem;border-right:1px solid var(--rule-dark)}}
.stat{display:block;font-family:'Fraunces',serif;font-size:3.6rem;font-weight:600;line-height:1}
.stat-l{display:block;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-lt);margin-top:.35rem}
.live-inc{list-style:none;padding:0;margin:0;display:grid;gap:0 2rem}
@media(min-width:40rem){.live-inc{grid-template-columns:1fr 1fr}}
.live-inc li{padding:.7rem 0 .7rem 1.6rem;border-bottom:1px solid var(--rule-dark);position:relative;color:#fff}
.live-inc li::before{content:"";position:absolute;left:0;top:1.2rem;width:.6rem;height:.6rem;border:2px solid var(--gold);transform:rotate(45deg)}
.live-note{color:var(--on-dark);font-size:.98rem;border-left:3px solid var(--gold);padding-left:1.1rem;max-width:58ch;margin-top:1.5rem}
.pay-h{margin-top:3.5rem;font-size:1.45rem}
.pay{list-style:none;padding:0;margin:1.5rem 0 2.5rem;display:grid;gap:1px;background:var(--rule-dark);counter-reset:s}
@media(min-width:40rem){.pay{grid-template-columns:1fr 1fr}}
@media(min-width:60rem){.pay{grid-template-columns:repeat(4,1fr)}}
.pay li{background:var(--olive);padding:1.4rem 1.3rem 1.5rem;counter-increment:s}
.pay li::before{content:"0" counter(s);display:block;font-family:'Fraunces',serif;color:var(--gold-lt);font-weight:600;margin-bottom:.6rem}
.pay b{display:block;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.45rem}
.pay span{color:var(--on-dark);font-size:.98rem}
.outcome{background:var(--olive-2);border:1px solid var(--rule-dark);padding:1.5rem 1.6rem;border-radius:2px;margin-bottom:2rem;max-width:48rem}
.outcome p{margin:0;font-family:'Fraunces',serif;font-size:1.22rem;line-height:1.45}
.outcome .outcome-h{font-family:'Karla',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:.6rem}
.live-compact .tri{margin-top:2.25rem}

/* lists */
.ticks{list-style:none;padding:0;margin:1.5rem 0 0}
.ticks li{padding:.75rem 0 .75rem 1.8rem;border-bottom:1px solid var(--rule);position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:1.3rem;width:.55rem;height:.55rem;background:var(--gold);transform:rotate(45deg)}
@media(min-width:36rem){.ticks-2{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}}
.enquire{background:var(--white);border:1px solid var(--rule);padding:2rem 1.7rem;border-radius:2px}
.flow{list-style:none;padding:0;margin:1.8rem 0 0;counter-reset:f}
.flow li{counter-increment:f;position:relative;padding:0 0 1.6rem 3.2rem;border-left:2px solid var(--rule);margin-left:1rem}
.flow li:last-child{border-left-color:transparent;padding-bottom:0}
.flow li::before{content:counter(f);position:absolute;left:-1.05rem;top:-.15rem;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--ivory);border:2px solid var(--char);display:grid;place-items:center;font-family:'Fraunces',serif;font-weight:600;font-size:.95rem}

/* employers */
.emp{display:grid}
.emp-row{display:grid;gap:.75rem;padding:2.2rem 0;border-top:1px solid var(--rule)}
.emp-row:last-child{border-bottom:1px solid var(--rule)}
.emp-row h2{font-size:clamp(1.4rem,3vw,1.85rem);margin:0}
.emp-row p{color:var(--muted)}
@media(min-width:52rem){.emp-row{grid-template-columns:1fr 1.25fr;gap:4rem}}

/* about */
.founder{display:grid;gap:2.5rem;align-items:center}
@media(min-width:52rem){.founder{grid-template-columns:.8fr 1.2fr;gap:4rem}}
.founder-photo{max-width:24rem}
.founder-photo img{box-shadow:12px 12px 0 var(--ivory)}
.cred{font-size:.92rem;font-weight:700;letter-spacing:.04em;color:var(--gold-ink);border-top:1px solid #D6CDBB;padding-top:1rem;margin-top:1.5rem}

/* contact */
.pick{text-align:left;font:inherit;color:inherit;background:var(--white);border:1px solid var(--rule);border-radius:2px;padding:1.6rem 1.5rem;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.pick p{margin:0;color:var(--muted);font-size:.98rem}
.pick:hover{border-color:var(--char)}
.pick[aria-pressed="true"]{border:2px solid var(--char);box-shadow:inset 4px 0 0 var(--gold)}
.contact-form{margin-top:1rem}

/* footer */
.site-foot{background:var(--char-2);color:var(--on-dark);padding:3.5rem 0 2.5rem;font-size:.95rem}
.foot-top{display:grid;gap:2rem;padding-bottom:2rem;border-bottom:1px solid #1F2C52}
@media(min-width:48rem){.foot-top{grid-template-columns:1fr 1.4fr;gap:4rem}}
.site-foot .logo{color:#fff}
.site-foot .logo-word span{color:var(--gold-lt)}
.foot-tag{margin:1rem 0 0;max-width:34ch}
.foot-links{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.5rem}
.foot-links a{text-decoration:none;color:#fff}
.foot-links a:hover{color:var(--gold-lt)}
.foot-small{padding-top:1.5rem;font-size:.84rem;color:#9AA3BC}
.foot-small p{max-width:80ch;margin-bottom:.7rem}
.foot-small a{color:var(--on-dark)}

/* motion */
.view.enter{animation:viewIn .5s cubic-bezier(.22,.7,.25,1)}
@keyframes viewIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.anim .rv{opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.22,.7,.25,1),transform .6s cubic-bezier(.22,.7,.25,1)}
.anim .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
  .anim .rv{opacity:1!important;transform:none!important}
}

/* breadcrumb */
.crumbs{font-size:.85rem;color:var(--muted);margin:0 0 1.2rem}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs span[aria-hidden]{margin:0 .4rem;color:var(--gold-ink)}
.page-head-dark .crumbs{color:var(--on-dark)}

/* hero image (square CPD photo) */
.hero-photo img{aspect-ratio:1;object-fit:cover}

/* CPD trust strip */
.trust{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.4rem;background:var(--white);border:1px solid var(--rule);border-left:3px solid var(--gold);padding:1rem 1.25rem;border-radius:2px;margin-top:1.8rem;max-width:44rem}
.trust-seal{font-family:'Fraunces',serif;font-weight:700;font-size:1.05rem}
.trust p{margin:0;font-size:.93rem;color:var(--muted)}
.trustbar{background:var(--olive);color:#fff}
.trustbar .wrap{display:flex;flex-wrap:wrap;gap:.4rem 2rem;align-items:center;justify-content:space-between;padding-top:1.1rem;padding-bottom:1.1rem}
.trustbar p{margin:0;font-size:.95rem}
.trustbar b{color:var(--gold-lt);font-weight:700}

/* split head with flyer */
.head-split{display:grid;gap:2.5rem;align-items:center}
@media(min-width:56rem){.head-split{grid-template-columns:1.2fr .8fr;gap:4rem}}
.flyer{margin:0;max-width:26rem}
.flyer img{display:block;width:100%;height:auto;border-radius:2px;box-shadow:12px 12px 0 var(--stone)}
.flyer figcaption{font-size:.85rem;color:var(--muted);margin-top:1rem}

/* programme cards with images */
.prog-cards{display:grid;gap:1.25rem}
@media(min-width:48rem){.prog-cards{grid-template-columns:repeat(3,1fr)}}
.prog-card{display:flex;flex-direction:column;text-decoration:none;color:var(--char);background:var(--white);border:1px solid var(--rule);border-radius:2px;overflow:hidden;transition:transform .2s,border-color .2s}
.prog-card:hover{transform:translateY(-3px);border-color:var(--char)}
.prog-card img{display:block;width:100%;height:auto;aspect-ratio:1122/900;object-fit:cover;object-position:top}
.prog-card div{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.prog-card h3{font-size:1.4rem;margin-bottom:.4em}
.prog-card p{font-size:.98rem;color:var(--muted);flex:1}
.prog-card .tri-cta{font-weight:700}

/* PV integration programme */
.banner{margin:0 0 2.75rem}
.banner img{display:block;width:100%;height:auto;border-radius:2px}
.lba{display:grid;gap:1.25rem;margin:2.5rem 0}
@media(min-width:56rem){.lba{grid-template-columns:repeat(3,1fr)}}
.lba-col{background:var(--olive-2);border:1px solid var(--rule-dark);border-top:3px solid var(--gold);padding:1.6rem 1.5rem;border-radius:2px}
.lba-col .lba-k{display:block;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:.5rem}
.lba-col h3{font-size:1.3rem;margin-bottom:.9em}
.lba-col ul{list-style:none;padding:0;margin:0}
.lba-col li{padding:.55rem 0 .55rem 1.4rem;border-top:1px solid var(--rule-dark);position:relative;font-size:.98rem;color:#fff}
.lba-col li::before{content:"";position:absolute;left:0;top:1.05rem;width:.5rem;height:.5rem;border:2px solid var(--gold);transform:rotate(45deg)}
.meta-row{display:flex;flex-wrap:wrap;gap:.6rem 2.2rem;padding:1.1rem 0;border-top:1px solid var(--rule-dark);border-bottom:1px solid var(--rule-dark);margin:0 0 2rem}
.meta-row p{margin:0;color:#fff;font-weight:700}
.meta-row span{display:block;font-weight:400;color:var(--on-dark);font-size:.9rem}
.app-soon{display:grid;gap:1rem;align-items:center;background:var(--char);border:1px solid var(--rule-dark);padding:1.6rem 1.6rem;border-radius:2px;margin:0 0 2.5rem}
@media(min-width:48rem){.app-soon{grid-template-columns:auto 1fr}}
.soon-tag{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--char);background:var(--gold);padding:.35rem .7rem;border-radius:2px;justify-self:start}
.app-soon h3{margin:0 0 .3em;font-size:1.35rem}
.app-soon p{margin:0;color:var(--on-dark)}
.glance{margin:0 0 2.5rem;max-width:36rem}
.glance img{display:block;width:100%;height:auto;border-radius:2px}
.glance figcaption{font-size:.85rem;color:var(--on-dark);margin-top:.75rem}

/* faq */
.faq details{border-bottom:1px solid var(--rule);padding:1.15rem 0;max-width:48rem}
.faq summary{font-family:'Fraunces',serif;font-size:1.12rem;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold-ink);font-family:'Karla',sans-serif;font-weight:700;flex-shrink:0}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:.8rem 0 0;color:var(--muted)}

/* newsletter */
.news{background:var(--olive);color:#fff;padding:3.75rem 0}
.news .eyebrow{color:var(--gold-lt)}
.news p{color:var(--on-dark)!important}
.news label{color:#fff}
.news .consent a{color:var(--gold-lt)}
.news .formmsg{color:var(--char)}
.news-grid{display:grid;gap:1.5rem;align-items:center}
@media(min-width:56rem){.news-grid{grid-template-columns:1fr 1.1fr;gap:4rem}}
.news h2{margin-bottom:.3em}
.news p{margin:0}
.news-form{display:grid;gap:.75rem}
@media(min-width:36rem){.news-form .news-fields{display:grid;grid-template-columns:1fr 1.3fr auto;gap:.6rem;align-items:end}}
.news-form .field{margin:0}
.news-form label{font-size:.85rem}
.news-form .btn{padding:.85rem 1.4rem;height:fit-content}
.news-form .consent{margin:.3rem 0 0;font-size:.88rem}
.news-form .formmsg{margin:0}
@media(max-width:35.99rem){.news-form .news-fields{display:grid;gap:.75rem}.news-form .btn{justify-self:start}}

/* company marquee */
.companies{background:var(--ivory);padding:3.5rem 0 3rem;border-top:1px solid var(--rule);overflow:hidden}
.companies h2{font-size:clamp(1.4rem,3.4vw,2rem);margin-bottom:.35em}
.companies .sub{color:var(--muted);max-width:60ch}
.marquee{position:relative;margin:2rem 0 1.5rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee 70s linear infinite}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}
.marquee ul{display:flex;list-style:none;margin:0;padding:0}
.marquee li{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(1.15rem,2.6vw,1.5rem);color:var(--olive);white-space:nowrap;padding:0 1.6rem;display:flex;align-items:center}
.marquee li::after{content:"";width:.45rem;height:.45rem;background:var(--gold);transform:rotate(45deg);margin-left:3.2rem;flex-shrink:0}
.marquee-row2 .marquee-track{animation-duration:85s;animation-direction:reverse}
.marquee-row2 li{font-family:'Karla',sans-serif;font-weight:700;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.disclaim{font-size:.82rem;color:var(--muted);max-width:80ch;margin:0}
@media (prefers-reduced-motion:reduce){
  .marquee{-webkit-mask-image:none;mask-image:none}
  .marquee-track{animation:none;width:auto}
  .marquee ul{flex-wrap:wrap;row-gap:.6rem}
  .marquee ul[aria-hidden]{display:none}
}

/* footer socials */
.foot-social{display:flex;gap:1.2rem;margin-top:1.2rem;font-size:.9rem}
.foot-social a{color:var(--gold-lt);text-decoration:none;font-weight:700}
.foot-social a:hover{text-decoration:underline}

/* transformational edge cards (inside dark live section) */
.edge{display:grid;gap:1px;background:var(--rule-dark);border:1px solid var(--rule-dark);margin:1.5rem 0 2.5rem}
@media(min-width:44rem){.edge{grid-template-columns:1fr 1fr}}
.edge-card{background:var(--olive-2);padding:1.6rem 1.5rem}
.edge-card h4{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:600;margin:0 0 .5rem;color:var(--gold-lt)}
.edge-card p{margin:0;color:var(--on-dark);font-size:1rem}

/* manifesto */
.manifesto{background:var(--char-2);color:#fff;padding:4.5rem 0 5rem;position:relative}
.manifesto::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-lt),var(--gold))}
@media(min-width:48rem){.manifesto{padding:6rem 0}}
.mf-top{display:grid;gap:1.5rem}
@media(min-width:56rem){.mf-top{grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:start}}
.manifesto h2{font-size:clamp(2rem,5vw,3.2rem);max-width:14ch}
.mf-copy p{color:var(--on-dark);font-size:1.1rem}
.mf-pull{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(1.3rem,2.8vw,1.6rem)!important;line-height:1.4;color:#fff!important;border-left:3px solid var(--gold);padding-left:1.2rem;margin-top:1.6rem}
.mf-h{margin:3.5rem 0 1.5rem;font-size:1.45rem}
.levels{list-style:none;padding:0;margin:0;display:grid;gap:1px;background:var(--rule-dark);border:1px solid var(--rule-dark);counter-reset:lv}
@media(min-width:40rem){.levels{grid-template-columns:1fr 1fr}}
@media(min-width:60rem){.levels{grid-template-columns:repeat(3,1fr)}}
.levels li{counter-increment:lv;background:var(--char-2)}
.levels a{display:block;height:100%;padding:1.6rem 1.5rem 1.7rem;text-decoration:none;color:#fff;transition:background .25s}
.levels a:hover{background:var(--olive-2)}
.levels a::before{content:"0" counter(lv);display:block;font-family:'Fraunces',serif;font-weight:600;color:var(--gold);margin-bottom:.8rem}
.lv-k{display:block;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:.35rem}
.levels h3{font-size:1.25rem;margin-bottom:.45em}
.levels p{margin:0;color:var(--on-dark);font-size:.98rem}
.mf-close{margin:2.5rem 0 0;font-size:1.15rem;color:var(--on-dark);max-width:60ch}
.mf-close b{color:#fff;display:block;font-family:'Fraunces',serif;font-size:1.5rem;font-weight:600;margin-bottom:.4rem}

/* youtube */
.video-band{padding:4rem 0;background:var(--white);border-bottom:1px solid var(--rule)}
@media(min-width:48rem){.video-band{padding:5rem 0}}
.video-grid{display:grid;gap:2rem;align-items:center}
@media(min-width:56rem){.video-grid{grid-template-columns:.8fr 1.2fr;gap:3.5rem}}
.video-band p:not(.eyebrow){color:var(--muted)}
.video-frame{position:relative;aspect-ratio:16/9;background:var(--char);border-radius:2px;box-shadow:14px 14px 0 var(--gold);overflow:hidden}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:40rem){.video-frame{box-shadow:8px 8px 0 var(--gold)}}

/* ================= MIDNIGHT NAVY & GOLD THEME ================= */
:root{
  --ivory:#0B1530; --stone:#0F1B3D; --white:#13224A;
  --char:#FFFFFF; --char-2:#070E22;
  --olive:#122150; --olive-2:#1A2C5E;
  --gold:#C9A24A; --gold-lt:#E0C27A; --gold-ink:#E0C27A;
  --muted:#B8C1D6; --on-dark:#C9D0E0;
  --rule:#22335F; --rule-dark:#2B3B66;
}
body{background:var(--ivory);color:#fff}
.site-head{background:rgba(11,21,48,.95);border-bottom-color:var(--rule)}
.btn{background:var(--gold);border-color:var(--gold);color:#0B1530}
.btn:hover,.btn-gold:hover{background:var(--gold-lt);border-color:var(--gold-lt);color:#0B1530}
.btn-gold{color:#0B1530}
.btn-line,.btn-line-dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn-line:hover,.btn-line-dark:hover{background:#fff;color:#0B1530;border-color:#fff}
.mod-link{border-color:var(--gold);color:var(--gold-lt)}
.mod-link:hover{background:var(--gold);color:#0B1530}
.link-cta:hover{color:var(--gold-lt)}
.hero{background:radial-gradient(900px 520px at 80% 30%,#1A2C5E 0%,rgba(11,21,48,0) 70%)}
.hero-photo img,.flyer img{box-shadow:14px 14px 0 var(--gold)}
.side-photo img,.founder-photo img{box-shadow:12px 12px 0 var(--gold)}
.route{background:var(--white);border-color:var(--rule-dark);color:#fff}
.route:hover{border-color:var(--gold);box-shadow:0 6px 0 rgba(201,162,74,.35)}
.trustbar{background:var(--gold);color:#0B1530}
.trustbar p,.trustbar b{color:#0B1530}
.band-stone{background:var(--stone)}
.page-head{border-bottom-color:var(--rule)}
.page-head-dark{background:var(--olive)}
.panel{border-color:var(--rule-dark)}
.panel-dark{background:var(--olive-2);border-color:var(--gold)}
.vs-lead{border-color:var(--gold);background:var(--white)}
.flow li::before{background:var(--ivory);border-color:var(--gold);color:var(--gold-lt)}
.app-soon{background:#070E22}
.soon-tag{color:#0B1530}
.field input,.field select,.field textarea{background:#0B1530;border-color:#2B3B66;color:#fff}
.field select option,.field select optgroup{background:#0B1530;color:#fff}
.field input[type=file]{color:var(--muted)}
.formmsg{background:var(--white);color:#fff}
.formmsg.bad{background:#4A1E1E;border-color:#E57373;color:#fff}
.news .formmsg{color:#fff}
.marquee li{color:#fff}
.marquee-row2 li{color:var(--muted)}
.cred{border-top-color:var(--rule-dark)}
.video-band{background:var(--stone);border-color:var(--rule)}
.video-frame{background:#070E22}
.pick:hover{border-color:var(--gold)}
.pick[aria-pressed="true"]{border-color:var(--gold)}
.tri-card:hover,.prog-card:hover{border-color:var(--gold)}
.companies{background:var(--ivory);border-top-color:var(--rule)}
.foot-top{border-bottom-color:#1A2549}
.price-strip,.feature,.enquire,.aside-note-box,.prog-card,.tri-card,.vs-col,.pick,.panel{border-color:var(--rule-dark)}

/* instagram */
.insta-band{padding:4rem 0;background:var(--ivory);border-bottom:1px solid var(--rule)}
@media(min-width:48rem){.insta-band{padding:5rem 0}}
.insta-grid{display:grid;gap:2.5rem;align-items:center}
@media(min-width:56rem){.insta-grid{grid-template-columns:1.1fr .9fr;gap:4rem}}
.insta-band p:not(.eyebrow){color:var(--muted)}
.insta-frame{max-width:440px;width:100%;justify-self:center;box-shadow:14px 14px 0 var(--gold);border-radius:3px;background:#fff;min-height:200px}
.insta-frame iframe{margin:0!important;border-radius:3px!important}

/* job placement */
.pl-grid{display:grid;gap:1.25rem;margin-top:2rem}
@media(min-width:44rem){.pl-grid{grid-template-columns:1fr 1fr}}
@media(min-width:64rem){.pl-grid{grid-template-columns:repeat(3,1fr)}}
.pl-card{background:var(--white);border:1px solid var(--rule-dark);border-top:3px solid var(--gold);padding:1.6rem 1.5rem;border-radius:2px}
.pl-n{display:block;font-family:'Fraunces',serif;font-weight:600;color:var(--gold);margin-bottom:.7rem}
.pl-card h3{font-size:1.25rem;margin-bottom:.5em}
.pl-card p{color:var(--muted);margin:0 0 .6rem;font-size:1rem}
.pl-card ul{list-style:none;padding:0;margin:.4rem 0 .6rem}
.pl-card li{padding:.4rem 0 .4rem 1.3rem;position:relative;border-top:1px solid var(--rule-dark);font-size:.98rem}
.pl-card li::before{content:"";position:absolute;left:0;top:.9rem;width:.45rem;height:.45rem;background:var(--gold);transform:rotate(45deg)}
.pl-card .pl-out{color:#fff;font-style:italic;margin:.6rem 0 0}
.pl-promise{background:var(--char-2);padding:4.5rem 0;position:relative;text-align:left}
.pl-promise::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-lt),var(--gold))}
.pl-promise h2{font-size:clamp(1.8rem,4.6vw,2.8rem);max-width:20ch}
.pl-promise p:not(.eyebrow){color:var(--on-dark);font-size:1.12rem}

/* books */
.books{background:var(--stone)}
.books-lede{color:var(--muted);max-width:62ch}
.book-grid{display:grid;gap:1.5rem;margin:2.25rem 0 2rem}
@media(min-width:44rem){.book-grid{grid-template-columns:repeat(3,1fr)}}
.book{display:flex;flex-direction:column;text-decoration:none;color:#fff;background:var(--white);border:1px solid var(--rule-dark);border-radius:2px;padding:1.4rem;transition:transform .2s,border-color .2s}
.book:hover{transform:translateY(-3px);border-color:var(--gold)}
.book-cover{display:block;background:#070E22;padding:1.25rem;margin:-1.4rem -1.4rem 1.2rem;border-bottom:1px solid var(--rule-dark)}
.book-cover img{display:block;width:62%;max-width:220px;height:auto;aspect-ratio:2/3;object-fit:cover;margin:0 auto;box-shadow:10px 10px 0 var(--gold);border-radius:2px}
.book-k{font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:.4rem}
.book h3{font-size:1.25rem;margin-bottom:.2em}
.book .book-sub{font-family:'Fraunces',serif;font-style:italic;color:var(--on-dark);font-size:1rem;margin:0 0 .7rem}
.book p{color:var(--muted);font-size:.98rem;flex:1;margin-bottom:.9rem}
.book .tri-cta{color:var(--gold-lt)}

.book .book-sub{flex:0 0 auto}

.hcp-head{display:grid;gap:2.5rem;align-items:center}
@media(min-width:60rem){.hcp-head{grid-template-columns:1fr 1fr;gap:3.5rem}}
.hcp-head h1{max-width:15ch}
.hcp-video{margin:0}
.hcp-video figcaption{font-size:.92rem;color:var(--muted);margin-top:1.4rem}
.hcp-video figcaption b{color:#fff}
.hcp-video figcaption a{color:var(--gold-lt);font-weight:700;margin-left:.3rem}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.h3{font-size:1.22rem;line-height:1.28}
.btn-line-dark{background:transparent;color:var(--char);border-color:var(--char)}
.btn-line-dark:hover{background:var(--char);color:var(--white)}
h2.price-strip-h{font-size:1.25rem;letter-spacing:0;margin:0 0 .35rem}
