/* Programme introduction / v7.9. Page-owned; strict-template remains final stylesheet. */
body.module-hub-page main.programme-reader{max-width:100%;min-width:0;}
body.module-hub-page main.programme-reader>section.programme-example,
body.module-hub-page main.programme-reader>section.programme-logic,
body.module-hub-page main.programme-reader>section.programme-measure{padding:54px 0!important;border-bottom:1px solid var(--line)!important;}
body.module-hub-page main.programme-reader>section.programme-example::before,
body.module-hub-page main.programme-reader>section.programme-logic::before,
body.module-hub-page main.programme-reader>section.programme-measure::before{display:none!important;content:none!important;}
body.module-hub-page main.programme-reader .programme-hero .container{max-width:1120px;}
body.module-hub-page main.programme-reader .programme-hero h1{max-width:18ch!important;font-size:clamp(38px,5.3vw,66px)!important;line-height:1.06!important;letter-spacing:-.035em!important;}
body.module-hub-page main.programme-reader .programme-hero .lead{max-width:68ch!important;font-size:clamp(17px,1.6vw,19px)!important;line-height:1.67!important;color:var(--text)!important;}
body.module-hub-page main.programme-reader .programme-kicker{color:var(--muted);font:700 12px/1.5 var(--mono);letter-spacing:.035em;margin:0 0 14px;}
body.module-hub-page main.programme-reader .programme-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:28px;}
body.module-hub-page main.programme-reader .programme-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 17px;border:1px solid var(--line-strong);font-size:15px;line-height:1.3;font-weight:700;text-transform:none;}
body.module-hub-page main.programme-reader .programme-action-primary{background:var(--phosphor);color:#081208!important;border-color:var(--phosphor)!important;}
body.module-hub-page main.programme-reader .programme-action-secondary{background:transparent;color:var(--text)!important;}
body.module-hub-page main.programme-reader .programme-precise{max-width:920px;margin-top:24px;border-top:1px solid var(--line);padding-top:14px;}
body.module-hub-page main.programme-reader .programme-precise summary{cursor:pointer;font-size:14px;color:var(--muted);font-weight:600;}
body.module-hub-page main.programme-reader .programme-precise p{max-width:77ch;font-size:15.5px;line-height:1.6;color:var(--text);margin:12px 0;}
body.module-hub-page main.programme-reader :where(.programme-example,.programme-logic,.programme-measure) h2{font-size:clamp(29px,3.25vw,43px)!important;line-height:1.16!important;max-width:23ch;margin:0 0 19px;letter-spacing:-.028em;}
body.module-hub-page main.programme-reader .programme-example-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(25px,4.3vw,60px);align-items:start;}
body.module-hub-page main.programme-reader .programme-case-photo{padding:0;margin:0;min-width:0;border:1px solid var(--line);background:#0b0e0c;}
body.module-hub-page main.programme-reader .programme-case-photo img{display:block;width:100%;aspect-ratio:1.24;object-fit:cover;filter:none!important;opacity:1!important;}
body.module-hub-page main.programme-reader .programme-case-photo figcaption{padding:15px 17px 17px;font-size:13px!important;line-height:1.5!important;color:#c8d3c9!important;}
body.module-hub-page main.programme-reader .programme-case-photo figcaption a{text-decoration:underline;text-underline-offset:3px;color:#a1e2a9!important;}
body.module-hub-page main.programme-reader .programme-example-copy p,
body.module-hub-page main.programme-reader .programme-measure-grid p,
body.module-hub-page main.programme-reader .programme-logic-lead{font-size:clamp(16.5px,1.25vw,18px)!important;line-height:1.73!important;max-width:71ch;margin:0 0 17px;color:var(--text);}
body.module-hub-page main.programme-reader .programme-example-copy p strong{font-weight:700;color:var(--text);}
body.module-hub-page main.programme-reader .programme-text-link{display:inline-block;margin-top:11px;font-size:16px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px;color:var(--phosphor);text-transform:none;}
body.module-hub-page main.programme-reader .programme-logic h2{max-width:28ch;}
body.module-hub-page main.programme-reader ol.programme-four-steps{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
body.module-hub-page main.programme-reader .programme-four-steps li{margin:0;min-width:0;padding:22px 17px 20px;border:1px solid var(--line);background:rgba(111,255,126,.028);position:relative;}
body.module-hub-page main.programme-reader .programme-step-number{font:700 14px/1 var(--mono);color:var(--phosphor);display:block;margin-bottom:25px;}
body.module-hub-page main.programme-reader .programme-four-steps h3{font-size:clamp(18px,1.5vw,21px)!important;line-height:1.22!important;margin:0 0 13px;font-weight:750;letter-spacing:-.01em;}
body.module-hub-page main.programme-reader .programme-four-steps p{font-size:16px!important;line-height:1.65!important;margin:0;color:var(--text);}
body.module-hub-page main.programme-reader .programme-qualification{font-size:13.5px!important;color:var(--muted)!important;margin:18px 0 0;}
body.module-hub-page main.programme-reader .programme-measure-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(25px,5vw,68px);align-items:center;}
body.module-hub-page main.programme-reader .programme-source{font-size:14px!important;line-height:1.6!important;color:var(--muted)!important;margin:20px 0!important;}
body.module-hub-page main.programme-reader .programme-equation{min-width:0;padding:27px 26px 22px;border:1px solid var(--line-strong);background:rgba(111,255,126,.025);}
body.module-hub-page main.programme-reader .programme-equation-text{font-size:clamp(25px,3.1vw,37px);line-height:1.3;text-align:center;color:var(--text);margin:0 0 20px;overflow-x:auto;}
body.module-hub-page main.programme-reader .programme-equation p{font-size:15.5px!important;line-height:1.6!important;color:var(--text);margin:0 0 17px;}
body.module-hub-page main.programme-reader .programme-legend{font-size:14px;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);padding-top:15px;}
body.module-hub-page main.programme-reader #programme-deep{padding-top:70px;}
body.module-hub-page main.programme-reader #programme-deep .module-hub-head h2{max-width:28ch;font-size:clamp(29px,3.2vw,42px)!important;line-height:1.16;}
body.module-hub-page main.programme-reader #programme-deep .module-hub-head p{font-size:17px!important;line-height:1.67!important;}
body.module-hub-page main.programme-reader .programme-archive{padding:12px 0 58px!important;}
body.module-hub-page main.programme-reader .programme-archive-details{border-top:1px solid var(--line);padding-top:24px;}
body.module-hub-page main.programme-reader .programme-archive-details>summary{font-size:16px;font-weight:700;cursor:pointer;padding:14px 0;color:var(--text);}
body.module-hub-page main.programme-reader .programme-archive-note{max-width:79ch;font-size:15px!important;line-height:1.65!important;color:var(--muted)!important;}
/* Real, clickable reading paths; no disabled-looking cards. */
body.module-hub-page main.programme-reader a.module-card[href]{cursor:pointer;}
@media (max-width:940px){
 body.module-hub-page main.programme-reader .programme-example-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:25px;}
 body.module-hub-page main.programme-reader ol.programme-four-steps{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:700px){
 body.module-hub-page main.programme-reader>section.programme-example,
 body.module-hub-page main.programme-reader>section.programme-logic,
 body.module-hub-page main.programme-reader>section.programme-measure{padding:38px 0!important;}
 body.module-hub-page main.programme-reader .programme-example-grid,
 body.module-hub-page main.programme-reader .programme-measure-grid{grid-template-columns:minmax(0,1fr);}
 body.module-hub-page main.programme-reader .programme-case-photo img{aspect-ratio:1.5;}
 body.module-hub-page main.programme-reader .programme-hero h1{font-size:clamp(32px,8.1vw,43px)!important;}
 body.module-hub-page main.programme-reader .programme-example-copy p,
 body.module-hub-page main.programme-reader .programme-measure-grid p{font-size:16.5px!important;}
 body.module-hub-page main.programme-reader .programme-archive{padding-bottom:36px!important;}
}
@media (max-width:440px){
 body.module-hub-page main.programme-reader ol.programme-four-steps{grid-template-columns:minmax(0,1fr);}
 body.module-hub-page main.programme-reader .programme-four-steps li{padding:17px 17px 18px;}
 body.module-hub-page main.programme-reader .programme-step-number{margin-bottom:13px;}
 body.module-hub-page main.programme-reader .programme-actions a{width:100%;}
 body.module-hub-page main.programme-reader .programme-equation{padding:21px 15px;}
}
/* The monochrome light theme is composed explicitly, never inverted. */
:root[data-theme="light"] body.module-hub-page main.programme-reader .programme-hero .lead,
:root[data-theme="light"] body.module-hub-page main.programme-reader :where(.programme-example-copy p,.programme-measure-grid p,.programme-logic-lead,.programme-four-steps p,.programme-equation p,.programme-equation-text,.programme-legend,.programme-precise p){color:#262626!important;}
:root[data-theme="light"] body.module-hub-page main.programme-reader :where(.programme-kicker,.programme-qualification,.programme-source,.programme-legend,.programme-archive-note){color:#515151!important;}
:root[data-theme="light"] body.module-hub-page main.programme-reader .programme-hero .programme-action-primary{color:#fff!important;background:#202020!important;border-color:#202020!important;}
:root[data-theme="light"] body.module-hub-page main.programme-reader .programme-hero .programme-action-secondary{color:#222!important;background:#fff!important;border-color:#777!important;}
:root[data-theme="light"] body.module-hub-page main.programme-reader :where(.programme-four-steps li,.programme-equation){background:#fff!important;border-color:#d2d2d2!important;}
:root[data-theme="light"] body.module-hub-page main.programme-reader .programme-step-number{color:#444!important;}
:root[data-theme="light"] body.module-hub-page main.programme-reader .programme-text-link{color:#222!important;}
:root[data-theme="light"] body.module-hub-page main.programme-reader .programme-case-photo{background:#fff!important;border-color:#cfcfcf!important;}
:root[data-theme="light"] body.module-hub-page main.programme-reader .programme-case-photo figcaption{background:#f2f2f2!important;color:#444!important;}
:root[data-theme="light"] body.module-hub-page main.programme-reader .programme-case-photo figcaption a{color:#222!important;}
:root[data-theme="light"] body.module-hub-page main.programme-reader .programme-equation{box-shadow:none!important;}
/* Neutralise the legacy hero overlay on the reader-first programme page. */
:root[data-theme="light"] body.strict-template-v1.module-hub-page main.programme-reader>section.programme-hero::after,
:root[data-theme="light"] body.strict-template-v1.module-hub-page main.programme-reader>section.programme-hero::before{content:none!important;display:none!important;background:none!important;box-shadow:none!important;}
:root[data-theme="light"] body.strict-template-v1.module-hub-page main.programme-reader>section.programme-hero{background:#f7f7f7!important;background-image:none!important;}
body.strict-template-v1.module-hub-page main.programme-reader .programme-equation-text{font-weight:650;letter-spacing:.02em;white-space:nowrap;}
