/* Public catalogue: the approved masterclass artwork family, expressed in plum and lavender.
   Loaded after the shared shell; every rule is scoped to the public catalogue. */
html body .lx-wrap.lx-wrap--catalogue{--lx-gutter:clamp(20px,4vw,56px);--lx-hero-offset:clamp(48px,6vw,88px);--lx-catalogue-floor:var(--dl-color-surface);--lx-card-bg:var(--dl-color-surface);--lx-card-ink:var(--dl-color-on-surface);--lx-card-copy:var(--dl-color-on-surface-variant);--lx-card-muted:var(--dl-color-outline);--lx-card-action:var(--dl-color-surface-container-low);padding:var(--lx-hero-offset) var(--lx-gutter) 0;color:var(--lx-card-ink)}
html body .lx-wrap.lx-wrap--catalogue .lx-hero--background{--lx-format-height:104px;isolation:isolate}
html body .lx-wrap.lx-wrap--catalogue .lx-hero--background::before{top:calc(-1 * var(--lx-hero-offset));bottom:-300px;background:var(--dl-ink-near-black) url('/assets-dl/lc-hero-silk.webp') center top/cover no-repeat;-webkit-mask-image:linear-gradient(var(--dl-ink-black) calc(100% - 440px),transparent calc(100% - 300px));mask-image:linear-gradient(var(--dl-ink-black) calc(100% - 440px),transparent calc(100% - 300px))}
html body .lx-wrap.lx-wrap--catalogue .lx-hero--background::after{top:calc(-1 * var(--lx-hero-offset));bottom:-300px;background:linear-gradient(90deg,rgb(var(--dl-rgbs-black) / .82),rgb(var(--dl-rgbs-black) / .4) 45%,transparent 72%);-webkit-mask-image:linear-gradient(var(--dl-ink-black) calc(100% - 440px),transparent calc(100% - 300px));mask-image:linear-gradient(var(--dl-ink-black) calc(100% - 440px),transparent calc(100% - 300px))}
html body .lx-wrap.lx-wrap--catalogue .lx-hero .dl-chero__eyebrow{font:500 11px/1.5 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:.08em;margin:0 0 22px}
/* Match the Design Ledger home title: Roboto 600, 1.02 leading, -.035em tracking. */
html body .lx-wrap.lx-wrap--catalogue .lx-hero .dl-chero__title{font:500 clamp(var(--dl-typescale-display-small-size),4.2vw,var(--dl-typescale-display-xl-size))/1.04 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:-.03em;margin:0 0 24px}
html body .lx-wrap.lx-wrap--catalogue .lx-hero .lx-hero__line{color:var(--dl-ink-white)!important;font-style:normal}
html body .lx-wrap.lx-wrap--catalogue .lx-hero .dl-chero__lead{max-width:46ch;font:400 16px/1.6 var(--dl-typeface-plain),system-ui,sans-serif;color:var(--dl-ink-white)!important;margin:0}
.lx-wrap--catalogue .lx-hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
html body .lx-wrap.lx-wrap--catalogue .lx-hero__actions a{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:44px;padding:0 20px;border:1px solid transparent;border-radius:999px;color:var(--dl-color-primary);font:500 13px/1.4 var(--dl-typeface-plain),system-ui,sans-serif;transition:background .2s,color .2s}
html body .lx-wrap.lx-wrap--catalogue .lx-hero__actions .lx-hero__primary{background:var(--dl-btn-light-bg);color:var(--dl-btn-light-fg)}
html body .lx-wrap.lx-wrap--catalogue .lx-hero__actions .lx-hero__primary:hover{background:#ebddff}
html body .lx-wrap.lx-wrap--catalogue .lx-hero__actions .lx-hero__secondary{margin-left:12px;padding:0;border:0;background:transparent;color:var(--dl-ink-white);box-shadow:none}
html body .lx-wrap.lx-wrap--catalogue .lx-hero__actions .lx-hero__secondary:hover{background:transparent;color:var(--dl-ink-white)}
html body .lx-wrap.lx-wrap--catalogue .lx-hero__actions .lx-hero__secondary:focus-visible{text-decoration:underline;text-underline-offset:6px}
html body .lx-wrap.lx-wrap--catalogue .lx-stats{margin-top:30px;gap:0}
html body .lx-wrap.lx-wrap--catalogue .lx-stats div{display:flex;flex-direction:column-reverse;gap:8px;padding-right:32px;margin-right:32px;border:0}
html body .lx-wrap.lx-wrap--catalogue .lx-stats dd{font:500 var(--dl-typescale-headline-large-size)/1.05 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:-.035em;color:var(--dl-ink-white);margin:0}
html body .lx-wrap.lx-wrap--catalogue .lx-stats dt{font:400 var(--dl-typescale-body-small-size)/1.4 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:0;text-transform:none;color:var(--dl-ink-white)!important}
/* The learning formats as one flat rail over the hero ground: a line icon in its own colour, the name, a short line under it, a rule between items and a line under the chosen one. */
html body .lx-wrap.lx-wrap--catalogue .lx-formatbar{position:relative;top:auto;left:50%;transform:translateX(-50%);margin:clamp(48px,6vw,88px) 0 0;width:87.4368vw;max-width:min(calc(100vw - 40px),1259.08992px);background:transparent;border-radius:0;overflow:hidden}
html body .lx-wrap.lx-wrap--catalogue .lx-formats{display:grid;grid-template-columns:repeat(4,minmax(0,max-content));justify-content:center;gap:0;min-width:0;align-items:stretch}
html body .lx-wrap.lx-wrap--catalogue .lx-formats button{--lx-format-color:var(--dl-tier-seed);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;position:relative;width:100%;min-width:0;min-height:0;border:0;border-left:1px solid rgb(var(--dl-rgbs-white) / .22);border-radius:0!important;background:transparent;color:var(--dl-ink-white);padding:20px clamp(16px,1.8vw,28px) 22px;gap:14px;transition:color .22s ease}
html body .lx-wrap.lx-wrap--catalogue .lx-formats button:first-child{border-left:0}
html body .lx-wrap.lx-wrap--catalogue .lx-formats button:hover{background:transparent;color:var(--dl-ink-white)}
html body .lx-wrap.lx-wrap--catalogue .lx-formats button.is-on{background:transparent;color:var(--dl-ink-white)}
.lx-wrap--catalogue .lx-formats button::after{content:"";position:absolute;bottom:0;left:clamp(16px,1.8vw,28px);right:clamp(16px,1.8vw,28px);height:2px;border-radius:0;background:var(--lx-format-color);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.lx-wrap--catalogue .lx-formats button:first-child::after{left:0}
.lx-wrap--catalogue .lx-formats button.is-on::after{transform:scaleX(1)}
html body .lx-wrap.lx-wrap--catalogue .lx-format__icon{width:36px;height:36px;aspect-ratio:1;border-radius:0;background:transparent;color:var(--lx-format-color)}
html body .lx-wrap.lx-wrap--catalogue .lx-format__icon svg{width:32px;height:32px;stroke-width:1.4}
html body .lx-wrap.lx-wrap--catalogue .lx-format__copy{gap:5px}
html body .lx-wrap.lx-wrap--catalogue .lx-format__copy strong{min-height:0;font:500 var(--dl-typescale-body-large-size)/1.25 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:-.02em;text-wrap:balance}
html body .lx-wrap.lx-wrap--catalogue .lx-format__copy small{font:400 var(--dl-typescale-body-small-size)/1.4 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:0;color:rgb(var(--dl-rgbs-white) / .72)}
html body .lx-wrap.lx-wrap--catalogue .lx-format__copy strong>span{display:inline;white-space:normal}
html body .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools,html body .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools.is-simple{display:block;padding:40px 0 24px;margin:0;background:var(--dl-color-surface)}
.lx-wrap--catalogue .lx-catalogue-heading[hidden]{display:none}
.lx-wrap--catalogue .lx-catalogue-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}
html body .lx-wrap.lx-wrap--catalogue .lx-catalogue-heading h2{margin:0;color:var(--dl-color-on-surface);font:500 clamp(var(--dl-typescale-headline-medium-size),3.2vw,var(--dl-typescale-display-medium-size))/1.15 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:-.045em}
html body .lx-wrap.lx-wrap--catalogue .lx-catalogue-heading .lx-catalogue-status{flex:none;max-width:35ch;margin:0;min-height:0;color:var(--dl-color-on-surface-variant);font:400 var(--dl-typescale-label-small-size)/1.5 var(--dl-typeface-plain),system-ui,sans-serif;text-align:right}
html body .lx-wrap.lx-wrap--catalogue .lx-subjectbar{align-items:center;gap:20px}
html body .lx-wrap.lx-wrap--catalogue .lx-filters{display:grid;grid-template-columns:.78fr repeat(5,minmax(0,1fr));align-items:stretch;gap:8px;padding:0;margin:0!important;border:0}
html body .lx-wrap.lx-wrap--catalogue .lx-filters a{display:flex;align-items:center;gap:8px;min-height:64px;min-width:0;margin:0;padding:10px;border:0;border-radius:var(--dl-shape-corner-small)!important;background:var(--dl-color-surface);color:var(--dl-color-on-surface-variant);font:400 var(--dl-typescale-label-small-size)/1.45 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:0;text-transform:none;box-shadow:none;transition:background .2s,color .2s}
html body .lx-wrap.lx-wrap--catalogue .lx-filters a .lx-fi{display:block;width:18px;height:18px;flex:none;color:var(--subject-color,var(--dl-color-secondary))}
.lx-wrap--catalogue .lx-filters [data-f=strategic-foresight]{--subject-color:#20a653}
.lx-wrap--catalogue .lx-filters [data-f=strategic-designops]{--subject-color:#eb4200}
.lx-wrap--catalogue .lx-filters [data-f=blockchain-web3-business]{--subject-color:#2f6bff}
.lx-wrap--catalogue .lx-filters [data-f=ctpip]{--subject-color:#8b5cf6}
.lx-wrap--catalogue .lx-filters [data-f=digital-self-instance]{--subject-color:#d9980d}
html body .lx-wrap.lx-wrap--catalogue .lx-filters a:hover{background:var(--dl-color-surface-container-low);color:var(--dl-color-primary)}
html body .lx-wrap.lx-wrap--catalogue .lx-filters a.is-on{padding-inline:10px;background:var(--dl-color-primary-container);color:var(--dl-color-primary)}
/* Override the older single-line pill/ellipsis rules in the shared views sheet. */
html body .lx-wrap.lx-wrap--catalogue .dl-cal__filters.lx-filters a[data-f]{justify-content:flex-start;white-space:normal;border-radius:var(--dl-shape-corner-small)!important;overflow:visible}
html body .lx-wrap.lx-wrap--catalogue .dl-cal__filters.lx-filters a[data-f]>span{display:block;min-width:0;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.45}
html body .lx-wrap.lx-wrap--catalogue .lx-filters .lx-filter__line{display:block;white-space:nowrap;overflow:visible;text-overflow:clip}
html body .lx-wrap.lx-wrap--catalogue .lx-filters .lx-tt{display:block;white-space:normal}
html body .lx-wrap.lx-wrap--catalogue .lx-filters .lx-tt>span{white-space:normal;overflow:visible;text-overflow:clip}
html body .lx-wrap.lx-wrap--catalogue .lx-filters .lx-tt br{display:block}
html body .lx-wrap.lx-wrap--catalogue .lx-views{gap:4px;padding:4px;background:var(--dl-color-surface-container-low);border-radius:var(--dl-shape-corner-full)}
html body .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools .lx-views button{width:44px;height:44px;background:transparent;color:#68507a}
html body .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools .lx-views button.is-on{background:var(--dl-color-primary-container);color:var(--dl-color-primary)}
html body .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools.is-simple .lx-subjectbar{justify-content:flex-end}
html body .lx-wrap.lx-wrap--catalogue .lx-banners{margin-top:0;gap:24px}
html body .lx-wrap.lx-wrap--catalogue .lx-banners:not(.lx-banners--cards) .lx-banner{height:clamp(350px,31vw,440px);background:var(--c);transform:none;border-radius:var(--dl-shape-corner-extra-large)}
html body .lx-wrap.lx-wrap--catalogue .lx-banners:not(.lx-banners--cards) .lx-banner__img{width:78%}
html body .lx-wrap.lx-wrap--catalogue .lx-banners:not(.lx-banners--cards) .lx-banner__grad{background:linear-gradient(90deg,color-mix(in srgb,var(--c) 65%,#10151c) 0%,color-mix(in srgb,var(--c) 65%,#10151c) 25%,color-mix(in srgb,var(--c) 50%,transparent) 52%,transparent 80%)}
html body .lx-wrap.lx-wrap--catalogue .lx-banners:not(.lx-banners--cards) .lx-banner__body{padding:clamp(28px,3vw,44px)}
html body .lx-wrap.lx-wrap--catalogue .lx-banners:not(.lx-banners--cards) .lx-banner__kick{font:500 var(--dl-typescale-label-small-size)/1.5 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:.06em;color:var(--dl-ink-white);margin-bottom:16px}
html body .lx-wrap.lx-wrap--catalogue .lx-banners:not(.lx-banners--cards) .lx-banner__name{max-width:57%;font:500 clamp(var(--dl-typescale-headline-large-size),3.5vw,var(--dl-typescale-display-medium-size))/1.08 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:-.04em;margin-bottom:16px}
html body .lx-wrap.lx-wrap--catalogue .lx-banners:not(.lx-banners--cards) .lx-banner__blurb{max-width:47%;font:400 var(--dl-typescale-body-large-size)/1.6 var(--dl-typeface-plain),system-ui,sans-serif;color:var(--dl-ink-white)}
html body .lx-wrap.lx-wrap--catalogue .lx-banners:not(.lx-banners--cards) .lx-banner__foot{max-width:52%;margin-top:26px;gap:20px}
html body .lx-wrap.lx-wrap--catalogue .lx-banners:not(.lx-banners--cards) .lx-banner__stat{flex-direction:column-reverse;gap:6px;border:0;padding-right:28px;margin:0}
html body .lx-wrap.lx-wrap--catalogue .lx-banners:not(.lx-banners--cards) .lx-banner__stat b{font:400 var(--dl-typescale-label-small-size)/1.4 var(--dl-typeface-plain),system-ui,sans-serif;text-transform:none;letter-spacing:0;color:var(--dl-ink-white)}
html body .lx-wrap.lx-wrap--catalogue .lx-banners:not(.lx-banners--cards) .lx-banner__stat strong{font:500 var(--dl-typescale-headline-large-size)/1 var(--dl-typeface-plain),system-ui,sans-serif;margin:0;color:var(--dl-ink-white)}
html body .lx-wrap.lx-wrap--catalogue .lx-banner__cta{min-height:44px;padding:0 20px;border-radius:var(--dl-shape-corner-full);background:var(--dl-color-surface-container-lowest);color:var(--dl-color-on-surface);font:500 var(--dl-typescale-body-small-size)/1.4 var(--dl-typeface-plain),system-ui,sans-serif;white-space:nowrap}
html body .lx-wrap.lx-wrap--catalogue .lx-banners--cards .lx-course__actions a{min-height:44px;padding-inline:20px;border-radius:var(--dl-shape-corner-full);background:var(--dl-color-surface-container-low);color:var(--dl-color-primary)}
html body .lx-wrap.lx-wrap--catalogue .lx-banners--cards .lx-course__actions .lx-course__enroll{background:var(--dl-color-primary-container);color:var(--dl-color-primary)}
html body .lx-wrap.lx-wrap--catalogue .lx-cohort-grid{gap:24px}
html body .lx-wrap.lx-wrap--catalogue .lx-cohort-grid.is-list .lx-cohort-card{min-height:clamp(350px,31vw,440px);background:var(--dl-color-surface-container-low);border-radius:var(--dl-shape-corner-extra-large)}
html body .lx-wrap.lx-wrap--catalogue .lx-cohort-card__go{min-height:44px;padding-inline:20px;border-radius:var(--dl-shape-corner-full)!important;background:var(--dl-btn-light-bg);color:var(--dl-btn-light-fg)}
html body .lx-wrap.lx-wrap--catalogue :is(a,button):focus-visible{outline:2px solid #a77ce6;outline-offset:4px}
@media(max-width:1100px){html body .lx-wrap.lx-wrap--catalogue .lx-hero--background{--lx-format-height:140px}html body .lx-wrap.lx-wrap--catalogue .lx-formats button{grid-template-columns:1fr;align-items:start;gap:10px;padding:18px clamp(12px,1.6vw,20px) 20px}.lx-wrap--catalogue .lx-formats button::after{left:clamp(12px,1.6vw,20px);right:clamp(12px,1.6vw,20px)}html body .lx-wrap.lx-wrap--catalogue .lx-format__icon{width:30px;height:30px}html body .lx-wrap.lx-wrap--catalogue .lx-format__icon svg{width:26px;height:26px}html body .lx-wrap.lx-wrap--catalogue .lx-banner__foot{flex-wrap:wrap}.lx-wrap--catalogue .lx-catalogue-heading{align-items:flex-start}}
@media(max-width:700px){html body .lx-wrap.lx-wrap--catalogue .lx-hero .dl-chero__eyebrow{font-size:9px}html body .lx-wrap.lx-wrap--catalogue .lx-hero .dl-chero__lead{font-size:14px;max-width:32ch}html body .lx-wrap.lx-wrap--catalogue .lx-hero--background::before{background-position:82% top}html body .lx-wrap.lx-wrap--catalogue .lx-hero--background::after{background:linear-gradient(90deg,rgb(var(--dl-rgbs-black) / .88),rgb(var(--dl-rgbs-black) / .6) 60%,rgb(var(--dl-rgbs-black) / .22))}html body .lx-wrap.lx-wrap--catalogue .lx-hero__actions{gap:10px}html body .lx-wrap.lx-wrap--catalogue .lx-hero__actions a{font-size:12px;min-height:46px;padding:12px 16px}html body .lx-wrap.lx-wrap--catalogue .lx-stats div{padding-right:24px;margin-right:0}html body .lx-wrap.lx-wrap--catalogue .lx-stats dd{font-size:var(--dl-typescale-headline-medium-size)}html body .lx-wrap.lx-wrap--catalogue .lx-stats dt{font-size:var(--dl-typescale-label-small-size)}html body .lx-wrap.lx-wrap--catalogue .lx-formatbar{overflow-x:auto;border-radius:0;scrollbar-width:thin}html body .lx-wrap.lx-wrap--catalogue .lx-formats{min-width:640px}html body .lx-wrap.lx-wrap--catalogue .lx-formats button{padding:14px 16px 18px;min-height:0}html body .lx-wrap.lx-wrap--catalogue .lx-format__copy strong{font-size:var(--dl-typescale-body-large-size)}html body .lx-wrap.lx-wrap--catalogue .lx-format__copy small{font-size:var(--dl-typescale-label-small-size)}html body .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools{padding-top:30px}.lx-wrap--catalogue .lx-catalogue-heading{flex-direction:column;gap:10px}html body .lx-wrap.lx-wrap--catalogue .lx-catalogue-heading .lx-catalogue-status{text-align:left}html body .lx-wrap.lx-wrap--catalogue .lx-subjectbar{flex-wrap:wrap;gap:16px}html body .lx-wrap.lx-wrap--catalogue .lx-filters{gap:4px 14px;flex-basis:100%}html body .lx-wrap.lx-wrap--catalogue .lx-filters a{font-size:var(--dl-typescale-label-small-size)}html body .lx-wrap.lx-wrap--catalogue .lx-banners:not(.lx-banners--cards) .lx-banner{height:auto;min-height:0}html body .lx-wrap.lx-wrap--catalogue .lx-banners:not(.lx-banners--cards) .lx-banner__img{width:100%}html body .lx-wrap.lx-wrap--catalogue .lx-banners:not(.lx-banners--cards) .lx-banner__body{padding:24px;background:color-mix(in srgb,var(--c) 65%,#10151c)}html body .lx-wrap.lx-wrap--catalogue .lx-banners:not(.lx-banners--cards) .lx-banner__name{max-width:none;font-size:var(--dl-typescale-headline-large-size)}html body .lx-wrap.lx-wrap--catalogue .lx-banners:not(.lx-banners--cards) .lx-banner__blurb{max-width:none;font-size:var(--dl-typescale-body-medium-size)}html body .lx-wrap.lx-wrap--catalogue .lx-banners:not(.lx-banners--cards) .lx-banner__foot{max-width:none}html body .lx-wrap.lx-wrap--catalogue .lx-banners:not(.lx-banners--cards) .lx-banner__stat strong{font-size:var(--dl-typescale-headline-medium-size)}}
@media(prefers-reduced-motion:reduce){html body .lx-wrap.lx-wrap--catalogue *,html body .lx-wrap.lx-wrap--catalogue *::before,html body .lx-wrap.lx-wrap--catalogue *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media(max-width:1279px){html body .lx-wrap.lx-wrap--catalogue .lx-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1350px){html body .lx-wrap.lx-wrap--catalogue .lx-format__icon{width:32px;height:32px}html body .lx-wrap.lx-wrap--catalogue .lx-format__icon svg{width:28px;height:28px}}
@media(max-width:1200px){html body .lx-wrap.lx-wrap--catalogue .lx-formats button{grid-template-columns:minmax(0,1fr);align-content:start;justify-items:start;min-height:0;gap:10px}}
@media(max-width:1000px){html body .lx-wrap.lx-wrap--catalogue .lx-formatbar{width:100%;max-width:none;margin-top:56px;overflow-x:auto;scrollbar-width:thin}html body .lx-wrap.lx-wrap--catalogue .lx-formats{min-width:640px}}
@media(max-width:700px){html body .lx-wrap.lx-wrap--catalogue .lx-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}html body .lx-wrap.lx-wrap--catalogue .lx-filters a{min-height:64px;font-size:var(--dl-typescale-label-small-size)}}
@media(max-width:380px){html body .lx-wrap.lx-wrap--catalogue .lx-filters{grid-template-columns:minmax(0,1fr)}}

html body .lx-wrap.lx-wrap--catalogue .lx-views[hidden]{display:none!important}
html body .lx-wrap.lx-wrap--catalogue .lc-calendar--bootcamps{--cal-surface:var(--dl-color-surface-container-low);--cal-ink:var(--dl-color-on-surface);--cal-copy:var(--dl-color-on-surface-variant);--cal-accent:var(--dl-color-primary);--cal-selected:var(--dl-color-primary-container);padding-bottom:32px}

@media(max-width:639px){html body .lx-wrap.lx-wrap--catalogue .lx-hero .dl-chero__title{font-size:min(9vw,46px);line-height:1.04;letter-spacing:-.035em}}

/* Dark theme: the catalogue follows the theme switch. Only surfaces, text and controls change; artwork and banners are as in bright. */
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue{--lx-catalogue-floor:var(--dl-color-surface);--lx-card-bg:var(--dl-color-surface-container-low);--lx-card-ink:var(--dl-color-on-surface);--lx-card-copy:var(--dl-color-on-surface-variant);--lx-card-muted:var(--dl-color-on-surface-variant);--lx-card-action:var(--dl-color-surface-container-high)}
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-formatbar{background:transparent}
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-formats button,html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-formats button:hover,html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-formats button.is-on{background:transparent;color:var(--dl-ink-white)}
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-format__copy small{color:rgb(var(--dl-rgbs-white) / .72)}
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools,html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools.is-simple{background:var(--dl-color-surface)}
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-catalogue-heading h2{color:var(--dl-color-on-surface)}
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-catalogue-heading .lx-catalogue-status{color:var(--dl-color-on-surface-variant)}
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-filters a{background:var(--dl-color-surface-container-low);color:var(--dl-color-on-surface-variant)}
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-filters a:hover{background:var(--dl-color-surface-container);color:var(--dl-color-on-surface)}
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-filters a.is-on{background:var(--dl-color-secondary-container);color:var(--dl-color-on-surface)}
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-views{background:var(--dl-color-surface-container-low)}
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools .lx-views button{background:transparent;color:var(--dl-color-on-surface-variant)}
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools .lx-views button.is-on{background:var(--dl-color-primary);color:#14091f}
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-banners--cards .lx-course__actions a{background:var(--dl-color-surface-container-high);color:var(--dl-color-primary)}
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-banners--cards .lx-course__actions .lx-course__enroll{background:var(--dl-color-primary);color:var(--dl-color-on-primary-container)}
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-cohort-grid.is-list .lx-cohort-card{background:var(--dl-color-surface-container-low)}
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lc-calendar--bootcamps{--cal-surface:var(--dl-color-surface-container-low);--cal-ink:var(--dl-color-on-surface);--cal-copy:var(--dl-color-on-surface-variant);--cal-accent:var(--dl-color-primary);--cal-selected:var(--dl-color-secondary-container)}

@media(max-width:700px){html body .lx-wrap.lx-wrap--catalogue .lx-hero__actions a,html body .lx-wrap.lx-wrap--catalogue .lx-banner__cta,html body .lx-wrap.lx-wrap--catalogue .lx-banners--cards .lx-course__actions a,html body .lx-wrap.lx-wrap--catalogue .lx-cohort-card__go{min-height:44px}}

/* Editorial edition: public discovery only. The hero keeps its full background artwork with the format bar seated in it; the edition styles the catalogue below. Programme and lesson pages retain their own layouts. */
html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition{padding-bottom:0}
html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition .lx-catalogue-tools{padding-top:54px;padding-bottom:26px;scroll-margin-top:96px}
html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition .lx-catalogue-heading{margin-bottom:28px}
html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition .lx-catalogue-heading h2{font-size:clamp(var(--dl-typescale-headline-medium-size),3vw,var(--dl-typescale-display-medium-size));font-weight:400}
html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition .lx-filters{gap:8px}
html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition .lx-filters a{border:1px solid var(--dl-color-outline-variant);padding:12px;min-height:72px;background:transparent}
html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition .lx-filters a.is-on{border-color:var(--dl-color-primary);padding-inline:12px}
html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition .lx-filters .lx-filter__line{white-space:normal}
html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition .lx-banners{gap:28px}
html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition .lx-banners:not(.lx-banners--cards) .lx-banner{height:clamp(380px,34vw,490px)}
html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition .lx-banners:not(.lx-banners--cards) .lx-banner__body{padding:clamp(28px,4vw,60px)}
html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition .lx-banners:not(.lx-banners--cards) .lx-banner__name{font-weight:400;font-size:clamp(var(--dl-typescale-headline-large-size),3.7vw,var(--dl-typescale-display-large-size));max-width:58%;line-height:1.03}
html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition .lx-banners:not(.lx-banners--cards) .lx-banner__kick{letter-spacing:.13em;margin-bottom:24px}
html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition :is(a,button):focus-visible{outline:3px solid var(--dl-color-primary);outline-offset:4px}
@media(max-width:760px){html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition .lx-banners:not(.lx-banners--cards) .lx-banner{height:auto}html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition .lx-banners:not(.lx-banners--cards) .lx-banner__name{max-width:none;font-size:var(--dl-typescale-headline-large-size)}html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition .lx-catalogue-tools{padding-top:36px}}
/* Shared button rules set child text explicitly; preserve catalogue contrast in both themes. */
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition .lx-filters a{color:var(--dl-color-on-surface-variant)!important}
html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition .lx-filters a.is-on{color:var(--dl-color-on-primary-container)!important}
/* The format rail sits on the hero ground in both themes: white words, the icon in its own colour, the chosen format marked by a line in that colour. */
/* In the bright theme the hero ground does not fade at its foot: it runs on under the actions and the format rail and ends at the catalogue tools, so the white words always stand on the dark ground. */
html:not([data-theme=dark]) body .lx-wrap.lx-wrap--catalogue .lx-hero--background::before,html:not([data-theme=dark]) body .lx-wrap.lx-wrap--catalogue .lx-hero--background::after{-webkit-mask-image:none;mask-image:none}
html body .lx-wrap.lx-wrap--catalogue .lx-formats button.is-on,html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-formats button.is-on{background:transparent;color:var(--dl-ink-white)}
html body .lx-wrap.lx-wrap--catalogue .lx-formats button .lx-format__copy strong,html body .lx-wrap.lx-wrap--catalogue .lx-formats button .lx-format__copy strong span{color:var(--dl-ink-white)!important}
.lx-wrap--catalogue .lx-formats button.is-on::after,html[data-theme=dark] .lx-wrap--catalogue .lx-formats button.is-on::after{background:var(--lx-format-color)}
html body .lx-wrap.lx-wrap--catalogue .lx-format__icon,html body .lx-wrap.lx-wrap--catalogue [data-format] .lx-format__icon{background:transparent}
html body .lx-wrap.lx-wrap--catalogue .lx-formats button[data-format=cohort]{--lx-format-color:var(--dl-tier-bloom)}html body .lx-wrap.lx-wrap--catalogue .lx-formats button[data-format=enterprise]{--lx-format-color:#a78bfa}html body .lx-wrap.lx-wrap--catalogue .lx-formats button[data-format=bootcamp]{--lx-format-color:var(--dl-tier-architect)}
/* Neutral controls: the view toggle and the subject chips mark the active one in black or white, never violet. */
html body .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools .lx-views button,html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools .lx-views button{color:var(--dl-color-on-surface-variant)}
html body .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools .lx-views button.is-on,html[data-theme=dark] body .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools .lx-views button.is-on{background:var(--dl-select-bg);color:var(--dl-select-fg)}

/* The active filter is the one neutral standard on both sites: on surface ink, surface label, no violet. */
html:root body .lx-filters a.is-on,html:root body .lx-filters a.is-on:hover,html:root body .lx-wrap.lx-wrap--catalogue .lx-filters a.is-on,html:root body .lx-wrap.lx-wrap--catalogue.lx-catalogue--edition .lx-filters a.is-on{background:var(--dl-select-bg)!important;color:var(--dl-select-fg)!important;border-color:var(--dl-select-bg)!important}
html:root body .lx-filters a.is-on svg{color:inherit!important}

/* The subject filter is the Open Validation Program filter: one row of pills, icon and one line of text,
   the selected pill in the selection colours, the view switch in the same pill language. Neutral inks only. */
html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-subjectbar{align-items:center;gap:16px}
html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:0 0 8px;margin:0!important;border:0}
html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-filters a,html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .dl-cal__filters.lx-filters a[data-f]{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;min-height:48px;padding:12px 18px;border:0!important;border-radius:var(--dl-shape-corner-full)!important;box-shadow:none;background:var(--dl-color-surface-container-low);color:var(--dl-color-on-surface-variant)!important;white-space:nowrap;font:500 var(--dl-typescale-label-large-size)/1.2 var(--dl-typeface-plain),system-ui,sans-serif}
html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-filters a .lx-fi{color:currentColor!important}
html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-filters .lx-filter__label,html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-filters .lx-tt,html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .dl-cal__filters.lx-filters a[data-f]>span{display:inline;white-space:nowrap;line-height:1.2}
html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-filters .lx-filter__line{display:inline;white-space:nowrap}
html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-filters a br{display:none}
html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-filters a:hover{background:var(--dl-color-surface-container);color:var(--dl-color-on-surface)!important}
html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-filters a.is-on,html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-filters a.is-on *{padding:12px 18px;background:var(--dl-select-bg);color:var(--dl-select-fg)!important}
html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-filters a.is-on *{padding:0;background:transparent}
html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-views{display:inline-flex;gap:4px;padding:4px;border:0;border-radius:var(--dl-shape-corner-full);background:var(--dl-color-surface-container-low);box-shadow:none}
html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools .lx-views button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:var(--dl-shape-corner-full);background:transparent;color:var(--dl-color-on-surface-variant);box-shadow:none}
html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools .lx-views button.is-on{background:var(--dl-select-bg);color:var(--dl-select-fg)}
@media(max-width:700px){html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px!important;padding:0 16px 8px;scroll-snap-type:x proximity;scroll-padding-inline:16px}html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-filters::-webkit-scrollbar{display:none}html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-filters a{flex:none;min-height:44px;scroll-snap-align:start}}
/* Signed in, the Continue learning cards stand where the banners stand: on the catalogue column, no second gutter. */
html body .lx-wrap.lx-wrap--catalogue .lx.lx--catalogue{max-width:none;margin:32px 0 0;padding:0}
/* Signed in, the catalogue opens inside My learning, beside the rail: the hero ground spans the content column, not the window. */
html body .dl-frame:has(> aside.dl-rail) .lx-wrap.lx-wrap--catalogue .lx-hero--background::before,
html body .dl-frame:has(> aside.dl-rail) .lx-wrap.lx-wrap--catalogue .lx-hero--background::after,
html body .dl-frame:has(> aside.dl-rail) .lx-wrap.lx-wrap--catalogue .lx-catalogue-results::before,
html body .dl-frame:has(> aside.dl-rail) .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools::before{left:calc(-1 * var(--lx-gutter));width:calc(100% + 2 * var(--lx-gutter));transform:none}
html body .dl-frame:has(> aside.dl-rail) .dl-main{overflow-x:clip}
/* Signed in on Bootcamps: the calendar heads the page on the column, with the room a page head has. */
html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--bare{padding-top:clamp(32px,4vw,56px);background:var(--lx-catalogue-floor)}
html body .lx-wrap.lx-wrap--catalogue.lx-catalogue--bare .lx-catalogue-results{padding-top:0}
/* Under the clear top bar on desktop the hero ground starts at the window top. */
@media(min-width:1101px){html:has(.lx-hero--background) body .lx-wrap.lx-wrap--catalogue{padding-top:calc(var(--lx-hero-offset) + var(--dl-navigation-height,80px))}html:has(.lx-hero--background) body .lx-wrap.lx-wrap--catalogue .lx-hero--background::before,html:has(.lx-hero--background) body .lx-wrap.lx-wrap--catalogue .lx-hero--background::after{top:calc(-1 * var(--lx-hero-offset) - var(--dl-navigation-height,80px))}}
/* The tools row, in order: the title, with the count and the view switch on its right; the subject chips on one row under it. */
html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-catalogue-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 24px}
html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-catalogue-meta{display:flex;align-items:center;gap:16px;flex:none}
html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-catalogue-heading .lx-catalogue-status{margin:0;min-height:0;white-space:nowrap;text-align:right}
html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-subjectbar{display:block}
html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-filters{justify-content:flex-start;padding-bottom:0}
html body .lx-filters .lx-tt>span:first-child::after{content:" "}
/* Self-paced shows every class: one label heads each kind, with its count. */
html body .lx-wrap.lx-wrap--catalogue .lx-group{display:flex;align-items:baseline;gap:12px;margin:64px 0 24px;padding-top:24px;border-top:1px solid var(--dl-color-outline-variant);color:var(--dl-color-on-surface-variant);font:500 var(--dl-typescale-label-small-size)/1.4 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase}
html body .lx-wrap.lx-wrap--catalogue .lx-catalogue-results>.lx-group:first-child{margin-top:0;padding-top:0;border-top:0}
html body .lx-wrap.lx-wrap--catalogue .lx-group__n{color:var(--dl-color-on-surface);letter-spacing:0}
html body .lx-wrap.lx-wrap--catalogue .lx-group[hidden]{display:none}
@media(max-width:700px){html body:not(#lc-f):not(#lc-g):not(#lc-h) .lx-wrap.lx-wrap--catalogue .lx-catalogue-heading{margin-bottom:16px}html body .lx-wrap.lx-wrap--catalogue .lx-group{margin-top:48px}}
/* The catalogue hero: three syllabus pages fanned on the right, the cover in front, the program
   page leaning left behind it and the journey page leaning right, cut by the window edge. They fan
   out when the page opens and follow the pointer a little. */
html body .lx-wrap.lx-wrap--catalogue .lx-hero--background{--lx-deck:clamp(230px,20vw,300px)}
html body .lx-wrap.lx-wrap--catalogue .lx-hero--background>:not(.lx-hero__deck){position:relative;z-index:1}
.lx-wrap--catalogue .lx-hero__deck{position:absolute;z-index:0;top:calc(-.12 * var(--lx-deck));right:calc(-1 * var(--lx-edge,var(--lx-gutter)));width:calc(2.19 * var(--lx-deck) + var(--lx-edge,var(--lx-gutter)));height:calc(1.62 * var(--lx-deck));overflow-x:clip;overflow-y:visible;pointer-events:none;perspective:1600px}
.lx-wrap--catalogue .lx-hero__fan{position:absolute;inset:0;transform:rotateX(var(--lx-ry,0deg)) rotateY(var(--lx-rx,0deg));transform-style:preserve-3d}
.lx-wrap--catalogue .lx-hero__page{position:absolute;display:block;height:auto;border:1px solid rgb(var(--dl-rgbs-white) / .14);background:var(--dl-ink-near-black);box-shadow:var(--dl-elevation-level5);transform-origin:50% 100%;backface-visibility:hidden}
.lx-wrap--catalogue .lx-hero__page--front{left:calc(100% - 1.41 * var(--lx-deck));top:calc(.1 * var(--lx-deck));width:var(--lx-deck);z-index:3;--lx-to:translate3d(calc(var(--lx-spread,0) * 0px),calc(var(--lx-lift,0) * -1px),0)}
.lx-wrap--catalogue .lx-hero__page--left{left:calc(100% - 1.92 * var(--lx-deck));top:calc(.2 * var(--lx-deck));width:calc(.92 * var(--lx-deck));z-index:1;filter:brightness(.42);opacity:.9;--lx-from:translate3d(calc(.5 * var(--lx-deck)),0,0) rotate(0deg);--lx-to:translate3d(calc(var(--lx-spread,0) * -1px),0,0) rotate(calc(-8deg - var(--lx-spread,0) * .08deg))}
.lx-wrap--catalogue .lx-hero__page--right{left:calc(100% - .74 * var(--lx-deck));top:calc(.08 * var(--lx-deck));width:calc(.92 * var(--lx-deck));z-index:2;filter:brightness(.6);--lx-from:translate3d(calc(-.62 * var(--lx-deck)),0,0) rotate(0deg);--lx-to:translate3d(calc(var(--lx-spread,0) * 1px),0,0) rotate(calc(14deg + var(--lx-spread,0) * .1deg))}
.lx-wrap--catalogue .lx-hero__page{transform:var(--lx-to)}
@keyframes lx-fan-in{from{opacity:0;transform:var(--lx-from,translate3d(0,24px,0))}to{opacity:1;transform:var(--lx-to)}}
@media(prefers-reduced-motion:no-preference){.lx-wrap--catalogue .lx-hero__page{animation:lx-fan-in 1.1s cubic-bezier(.22,1,.36,1) both}.lx-wrap--catalogue .lx-hero__page--front{animation-duration:.8s}.lx-wrap--catalogue .lx-hero__page--right{animation-delay:.25s}.lx-wrap--catalogue .lx-hero__page--left{animation-delay:.35s}.lx-wrap--catalogue .lx-hero__deck.is-live .lx-hero__page{animation:none;transition:transform .5s cubic-bezier(.22,1,.36,1)}}
@media(max-width:1100px){html body .lx-wrap.lx-wrap--catalogue .lx-hero--background{--lx-deck:min(46vw,270px)}.lx-wrap--catalogue .lx-hero__deck{position:relative;top:auto;right:auto;width:auto;height:calc(1.55 * var(--lx-deck));margin:36px 0 0;overflow:clip}.lx-wrap--catalogue .lx-hero__page--front{left:calc(50% - .5 * var(--lx-deck))}.lx-wrap--catalogue .lx-hero__page--left{left:calc(50% - 1.02 * var(--lx-deck))}.lx-wrap--catalogue .lx-hero__page--right{left:calc(50% + .2 * var(--lx-deck))}}

/* The masterclass page banner: the wide art on desktop, the card art on smaller screens. */
.lx-banner__img picture{display:contents}
/* The newsletter sign up in the catalogue hero: the five course marks with the line under them, and the email field with its button on the same row. On sign up the button grows across the field and turns into the welcome, a tick drawing in, the marks wave. */
html body .lx-wrap.lx-wrap--catalogue .lx-news{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 24px;margin:36px 0 0}
.lx-wrap--catalogue .lx-news__proof{display:grid;justify-items:center;gap:10px;width:clamp(190px,17vw,240px);text-align:center}
.lx-wrap--catalogue .lx-news__faces{display:flex;padding-left:12px}
.lx-wrap--catalogue .lx-news__faces img{display:block;width:clamp(32px,2.6vw,38px);height:auto;aspect-ratio:1;margin-left:-10px;border:2px solid var(--dl-ink-near-black);border-radius:var(--dl-shape-corner-full);object-fit:cover}
html body .lx-wrap.lx-wrap--catalogue .lx-news__line{margin:0;color:rgb(var(--dl-rgbs-white) / .72);font:400 var(--dl-typescale-body-small-size)/1.45 var(--dl-typeface-plain),system-ui,sans-serif;transition:opacity .3s}
html body .lx-wrap.lx-wrap--catalogue .lx-news__line b{color:var(--dl-ink-white);font-weight:600}
.lx-wrap--catalogue .lx-news__field{position:relative;display:flex;align-items:center;gap:8px;width:clamp(290px,25vw,360px);min-height:52px;margin-top:clamp(0px,.4vw,4px);padding:5px 5px 5px 20px;border-radius:var(--dl-shape-corner-full);background:var(--dl-ink-white);box-sizing:border-box;overflow:hidden;isolation:isolate}
.lx-wrap--catalogue .lx-news__field:focus-within{outline:2px solid var(--dl-ink-white);outline-offset:3px}
.lx-wrap--catalogue .lx-news__label,.lx-wrap--catalogue .lx-news__trap,.lx-wrap--catalogue .lx-news__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html body .lx-wrap.lx-wrap--catalogue .lx-news__field input[type=email]{flex:1;min-width:0;height:42px;margin:0;padding:0;border:0;background:transparent;color:var(--dl-ink-near-black);font:400 var(--dl-typescale-body-medium-size)/1.4 var(--dl-typeface-plain),system-ui,sans-serif;outline:none;box-shadow:none;transition:opacity .25s,transform .25s}
.lx-wrap--catalogue .lx-news__field input[type=email]::placeholder{color:rgb(var(--dl-rgbs-near-black) / .55)}
html body .lx-wrap.lx-wrap--catalogue .lx-news__field button{position:relative;flex:none;min-height:42px;padding:0 20px;border:0;border-radius:var(--dl-shape-corner-full);background:var(--dl-ink-near-black);color:var(--dl-ink-white);font:600 var(--dl-typescale-label-large-size)/1 var(--dl-typeface-plain),system-ui,sans-serif;cursor:pointer;box-shadow:none;transition:transform .2s}
html body .lx-wrap.lx-wrap--catalogue .lx-news__field button:hover{transform:translateX(-2px)}
html body .lx-wrap.lx-wrap--catalogue .lx-news__field button:disabled{cursor:progress}
.lx-wrap--catalogue .lx-news__field button .lx-news__dots{display:none;gap:4px;align-items:center;justify-content:center}
.lx-wrap--catalogue .lx-news__dots i{display:block;width:6px;height:6px;border-radius:var(--dl-shape-corner-full);background:currentColor;animation:lx-news-dot 1s ease-in-out infinite}
.lx-wrap--catalogue .lx-news__dots i:nth-child(2){animation-delay:.15s}.lx-wrap--catalogue .lx-news__dots i:nth-child(3){animation-delay:.3s}
@keyframes lx-news-dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.lx-wrap--catalogue .lx-news.is-busy .lx-news__field button span:first-child{visibility:hidden}
.lx-wrap--catalogue .lx-news.is-busy .lx-news__dots{display:flex;position:absolute;inset:0}
.lx-wrap--catalogue .lx-news__done{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 20px;border-radius:var(--dl-shape-corner-full);background:var(--dl-ink-near-black);color:var(--dl-ink-white);font:600 var(--dl-typescale-label-large-size)/1.2 var(--dl-typeface-plain),system-ui,sans-serif;clip-path:inset(5px 5px 5px calc(100% - var(--lx-btn,140px) - 5px) round 999px);opacity:0;pointer-events:none;transition:clip-path .7s cubic-bezier(.22,1,.36,1),opacity .2s}
.lx-wrap--catalogue .lx-news__done svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.lx-wrap--catalogue .lx-news__done path{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .5s .55s ease-out}
.lx-wrap--catalogue .lx-news__done span{opacity:0;transform:translateY(6px);transition:opacity .4s .6s,transform .4s .6s cubic-bezier(.22,1,.36,1)}
.lx-wrap--catalogue .lx-news.is-done .lx-news__done{opacity:1;clip-path:inset(5px 5px 5px 5px round 999px);pointer-events:auto}
.lx-wrap--catalogue .lx-news.is-done .lx-news__done path{stroke-dashoffset:0}
.lx-wrap--catalogue .lx-news.is-done .lx-news__done span{opacity:1;transform:none}
.lx-wrap--catalogue .lx-news.is-done input[type=email]{opacity:0;transform:translateX(-12px)}
.lx-wrap--catalogue .lx-news.is-done .lx-news__faces img{animation:lx-news-wave .7s cubic-bezier(.22,1,.36,1) both}
.lx-wrap--catalogue .lx-news.is-done .lx-news__faces img:nth-child(2){animation-delay:.07s}.lx-wrap--catalogue .lx-news.is-done .lx-news__faces img:nth-child(3){animation-delay:.14s}.lx-wrap--catalogue .lx-news.is-done .lx-news__faces img:nth-child(4){animation-delay:.21s}.lx-wrap--catalogue .lx-news.is-done .lx-news__faces img:nth-child(5){animation-delay:.28s}
@keyframes lx-news-wave{0%,100%{transform:translateY(0)}40%{transform:translateY(-10px)}}
.lx-wrap--catalogue .lx-news.is-wrong .lx-news__field{animation:lx-news-shake .45s cubic-bezier(.36,.07,.19,.97)}
@keyframes lx-news-shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
html body .lx-wrap.lx-wrap--catalogue .lx-news__status{flex-basis:100%;margin:0;min-height:1.45em;color:var(--dl-ink-white);font:400 var(--dl-typescale-body-small-size)/1.45 var(--dl-typeface-plain),system-ui,sans-serif}
@media(prefers-reduced-motion:no-preference){.lx-wrap--catalogue .lx-news__faces img{animation:lx-news-rise .7s cubic-bezier(.22,1,.36,1) both}.lx-wrap--catalogue .lx-news__faces img:nth-child(2){animation-delay:.06s}.lx-wrap--catalogue .lx-news__faces img:nth-child(3){animation-delay:.12s}.lx-wrap--catalogue .lx-news__faces img:nth-child(4){animation-delay:.18s}.lx-wrap--catalogue .lx-news__faces img:nth-child(5){animation-delay:.24s}}
@keyframes lx-news-rise{from{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.lx-wrap--catalogue .lx-news__done,.lx-wrap--catalogue .lx-news__done path,.lx-wrap--catalogue .lx-news__done span,.lx-wrap--catalogue .lx-news input[type=email]{transition:none}.lx-wrap--catalogue .lx-news.is-done .lx-news__faces img,.lx-wrap--catalogue .lx-news.is-wrong .lx-news__field,.lx-wrap--catalogue .lx-news__dots i{animation:none}}
@media(max-width:700px){html body .lx-wrap.lx-wrap--catalogue .lx-news{flex-direction:column;gap:16px;margin-top:28px}.lx-wrap--catalogue .lx-news__proof{justify-items:start;text-align:left;width:auto}.lx-wrap--catalogue .lx-news__field{width:100%}}
.lx-wrap--catalogue .lx-news.is-done .lx-news__status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* The live course art: a layer set exactly on its image by card-art.js, shown once drawn. */
.lx-art{position:absolute;z-index:1;display:block;pointer-events:none;opacity:0}
.lx-art.is-on{opacity:1}
.lx-cohort-card>a:first-child{position:relative}
html body .dl-chero--banner .lx-banner--page:hover .lx-art{transform:none}
@media(prefers-reduced-motion:reduce){.lx-art{transition:none}}
/* Full colour course cards: the course ground under the whole card, the art flat on it, light
   ink on a deep ground and dark ink on a light one. */
html body:not(#lc-s):not(#lc-t) .lx-course[data-tone],html body:not(#lc-s):not(#lc-t) .lx-cohort-card[data-tone]{--lx-card-bg:var(--lx-ground);--lx-card-ink:var(--dl-ink-white);--lx-card-copy:rgb(var(--dl-rgbs-white) / .84);--lx-card-muted:rgb(var(--dl-rgbs-white) / .72);--lx-card-action:rgb(var(--dl-rgbs-white) / .16);--std-lav:var(--dl-ink-white);--std-lav-ink:var(--dl-ink-near-black);--std-lav-hover:rgb(var(--dl-rgbs-white) / .86)}
html body:not(#lc-s):not(#lc-t) .lx-course[data-tone=light],html body:not(#lc-s):not(#lc-t) .lx-cohort-card[data-tone=light]{--lx-card-ink:var(--dl-ink-near-black);--lx-card-copy:rgb(var(--dl-rgbs-near-black) / .8);--lx-card-muted:rgb(var(--dl-rgbs-near-black) / .68);--lx-card-action:rgb(var(--dl-rgbs-near-black) / .1);--std-lav:var(--dl-ink-near-black);--std-lav-ink:var(--dl-ink-white);--std-lav-hover:rgb(var(--dl-rgbs-near-black) / .84)}
html body:not(#lc-s):not(#lc-t) .lx-banners--cards .lx-course[data-tone],html body:not(#lc-s):not(#lc-t) .lx-cohort-grid .lx-cohort-card[data-tone]{background:var(--lx-ground);color:var(--lx-card-ink)}
html body:not(#lc-s):not(#lc-t) .lx-banners--cards .lx-course[data-tone] .lx-banner__body{background:transparent}
html body:not(#lc-s):not(#lc-t) .lx-banners--cards .lx-course[data-tone] :is(.lx-banner__kick,.lx-banner__blurb),html body:not(#lc-s):not(#lc-t) .lx-cohort-card[data-tone] :is(.lx-cohort-card__kick,.lx-cohort-card__body>p,.lx-cohort-card__date span){color:var(--lx-card-copy)}
html body:not(#lc-s):not(#lc-t) .lx-banners--cards .lx-course[data-tone] :is(.lx-banner__name,.lx-banner__trailer),html body:not(#lc-s):not(#lc-t) .lx-cohort-card[data-tone] :is(h3,h3 a,.lx-cohort-card__date b){color:var(--lx-card-ink)}
html body:not(#lc-s):not(#lc-t) .lx-banners--cards .lx-course[data-tone] .lx-banner__kick::before,html body:not(#lc-s):not(#lc-t) .lx-cohort-card[data-tone] .lx-cohort-card__kick::before{display:none}
html body:not(#lc-s):not(#lc-t) .lx-banners--cards .lx-course[data-tone] .lx-banner__meta>span,html body:not(#lc-s):not(#lc-t) .lx-cohort-card[data-tone] .lx-cohort-card__meta li{background:var(--lx-card-action);color:var(--lx-card-ink)}
html body:not(#lc-s):not(#lc-t) .lx-banners--cards .lx-course[data-tone] :is(.lx-banner__cta,.lx-course__actions a),html body:not(#lc-s):not(#lc-t) .lx-cohort-card[data-tone] .lx-cohort-card__go{background:var(--std-lav);color:var(--std-lav-ink)}
html body:not(#lc-s):not(#lc-t) .lx-banners--cards .lx-course[data-tone] :is(.lx-banner__cta,.lx-course__actions a):hover,html body:not(#lc-s):not(#lc-t) .lx-cohort-card[data-tone] .lx-cohort-card__go:hover{background:var(--std-lav-hover);color:var(--std-lav-ink)}
/* Calm sign up: once subscribed the field turns into a quiet line, no solid fill. */
.lx-wrap--catalogue .lx-news__field{transition:background-color .5s ease}
.lx-wrap--catalogue .lx-news.is-done .lx-news__field,.lx-wrap--catalogue .lx-news.is-done .lx-news__field:focus-within{background:transparent;outline:1px solid rgb(var(--dl-rgbs-white) / .28);outline-offset:-1px}
.lx-wrap--catalogue .lx-news__done{background:transparent}
.lx-wrap--catalogue .lx-news.is-done .lx-news__done{clip-path:inset(0 round 999px)}
.lx-wrap--catalogue .lx-news.is-done .lx-news__field button{opacity:0}
/* All Learning, the first format tab: every class, in neutral ink. */
html body .lx-wrap.lx-wrap--catalogue .lx-formats button[data-format=all]{--lx-format-color:var(--dl-color-on-surface)}
@media(max-width:1000px){html body .lx-wrap.lx-wrap--catalogue .lx-formats{min-width:820px}}
/* The parts of a program, as the syllabus lists them: its masterclass, five learning areas or three tracks. */
html body .lx-cohort-card .lx-parts{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid rgb(var(--dl-rgbs-white) / .22)}
html body .lx-cohort-card .lx-parts li{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid rgb(var(--dl-rgbs-white) / .22);color:var(--lx-card-ink,var(--dl-color-on-surface));font:500 var(--dl-typescale-body-small-size)/1.4 var(--dl-typeface-plain),system-ui,sans-serif}
html body .lx-cohort-card .lx-parts li>span{color:var(--lx-card-copy,var(--dl-color-on-surface-variant));font:500 var(--dl-typescale-label-small-size)/1.4 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase}
html body .lx-cohort-card .lx-parts a{color:inherit;text-decoration:underline;text-decoration-color:rgb(var(--dl-rgbs-white) / .4);text-underline-offset:3px}
html body .lx-cohort-card .lx-parts a:hover{text-decoration-color:currentColor}
html body .lx-cohort-card[data-tone=light] .lx-parts,html body .lx-cohort-card[data-tone=light] .lx-parts li{border-color:rgb(var(--dl-rgbs-near-black) / .2)}
html body .lx-cohort-card .lx-parts li>span{min-width:8.5em;white-space:nowrap}
html body .lx-cohort-card .lx-parts .lx-tt{display:inline;white-space:normal}
html body .lx-cohort-card .lx-parts .lx-tt>span{white-space:normal}
html body .lx-cohort-card .lx-parts .lx-tt br{display:none}
html body .lx-cohort-card .lx-parts .lx-tt>span:first-child::after{content:" "}
/* Program cards in the list view: one flat course colour, the words in the left half and the
   course art in the right half, so no line or word runs under the art. */
html body:not(#lc-s):not(#lc-t) .lx-cohort-grid.is-list .lx-cohort-card[data-tone]::before{display:none}
html body:not(#lc-s):not(#lc-t) .lx-cohort-grid.is-list .lx-cohort-card[data-tone]{background:var(--lx-ground)}
@media(min-width:701px){html body:not(#lc-s):not(#lc-t) .lx-cohort-grid.is-list .lx-cohort-card[data-tone]{height:auto;min-height:clamp(350px,31vw,440px)}html body:not(#lc-s):not(#lc-t) .lx-cohort-grid.is-list .lx-cohort-card[data-tone]>a:first-child{width:50%}html body:not(#lc-s):not(#lc-t) .lx-cohort-grid.is-list .lx-cohort-card[data-tone] .lx-cohort-card__body{width:50%;height:auto}html body:not(#lc-s):not(#lc-t) .lx-cohort-grid.is-list .lx-cohort-card[data-tone] :is(h3,.lx-cohort-card__body>p:not([class]),.lx-parts){max-width:none}html body:not(#lc-s):not(#lc-t) .lx-cohort-grid.is-list .lx-cohort-card[data-tone] h3{font-size:clamp(var(--dl-typescale-headline-medium-size),2.6vw,var(--dl-typescale-display-small-size))}html body:not(#lc-s):not(#lc-t) .lx-cohort-grid.is-list .lx-cohort-card[data-tone] .lx-cohort-card__art{object-fit:contain;object-position:center}}

/* Card view: the circle construction cards. Programs and bootcamps are tall
   poster cards in their course colour: the kicker, title and blurb on top, the course figure in
   the middle, the chips and the button with its intake at the foot. Masterclasses are wide
   banners, one to a row: the words on the left, the figure on the right. */
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-cohort-grid:not(.is-list) .lx-cohort-card,
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto minmax(0,1fr) auto auto;align-content:start;gap:14px 16px;min-height:clamp(620px,53vw,760px);padding:28px;background:var(--lx-ground,var(--c));color:var(--lx-card-ink,var(--dl-ink-white));border-radius:var(--dl-shape-corner-extra-large);overflow:hidden}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-cohort-grid:not(.is-list) .lx-cohort-card::before{display:none}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-cohort-grid:not(.is-list) .lx-cohort-card__body,
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__body,
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__foot{display:contents}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card__kick,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__kick){grid-column:1/-1;grid-row:1;margin:0;color:inherit;font:500 var(--dl-typescale-label-small-size)/1.5 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__kick::before{display:none}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card h3,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__name){grid-column:1/-1;grid-row:2;max-width:none;margin:0;color:inherit;font:400 var(--dl-typescale-headline-large-size)/1.08 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:-.025em}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-cohort-grid:not(.is-list) .lx-cohort-card h3 a{color:inherit}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card__body>p:not(.lx-cohort-card__kick),:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__blurb){grid-column:1/-1;grid-row:3;max-width:none;margin:0;color:inherit;font:400 var(--dl-typescale-body-medium-size)/1.5 var(--dl-typeface-plain),system-ui,sans-serif}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card>a:first-child,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__img){position:relative;grid-column:1/-1;grid-row:4;align-self:center;display:block;width:calc(100% + 56px);height:auto;margin:0 -28px;aspect-ratio:400/330;overflow:hidden;border-radius:0;background:var(--lx-ground,var(--c))}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card__art,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__img img){display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;opacity:0}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-cohort-grid:not(.is-list) .lx-cohort-card .lx-parts{display:none}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card__meta,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__meta){grid-column:1/-1;grid-row:5;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card__meta li,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__meta>span,#lx-mcs.lx-banners--cards .lx-banner__meta>span){display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--dl-shape-corner-full);background:rgb(var(--dl-rgbs-black) / .22);color:inherit;font:500 var(--dl-typescale-label-medium-size)/1 var(--dl-typeface-plain),system-ui,sans-serif}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card[data-tone=light] .lx-cohort-card__meta li,#lx-mcs.lx-banners--cards .lx-course[data-tone=light] .lx-banner__meta>span){background:rgb(var(--dl-rgbs-black) / .12)}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-card__meta,.lx-banner__meta) svg{width:14px;height:14px}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card__go,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__cta){grid-column:1;grid-row:6;align-self:center;justify-self:start;display:inline-flex;align-items:center;gap:10px;min-height:44px;margin:0;padding:0 22px;border-radius:var(--dl-shape-corner-full)!important;background:var(--dl-ink-white)!important;color:var(--dl-ink-near-black)!important;font:500 var(--dl-typescale-body-medium-size)/1 var(--dl-typeface-plain),system-ui,sans-serif;white-space:nowrap}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-cohort-grid:not(.is-list) .lx-cohort-card[data-tone=light] .lx-cohort-card__go{background:var(--dl-ink-near-black)!important;color:var(--dl-ink-white)!important}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card__date,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__facts){grid-column:2;grid-row:6;align-self:center;display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin:0;padding:0;text-align:right}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__facts>span{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card__date span,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__facts b){color:inherit;font:500 var(--dl-typescale-label-small-size)/1.3 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card__date b,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__facts>span){color:inherit;font:400 var(--dl-typescale-body-small-size)/1.4 var(--dl-typeface-plain),system-ui,sans-serif}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-course{padding:0;background:none;border-radius:var(--dl-shape-corner-extra-large);overflow:hidden}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards :is(.lx-banner__grad,.lx-banner__caption),
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-course__actions{display:none}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner{height:100%;color:var(--dl-ink-white)}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lc-bootcamp-results.lx-banners--cards :is(.lx-banner__facts,.lx-banner__facts *,.lx-banner__kick,.lx-banner__blurb,.lx-banner__name,.lx-banner__meta>span){color:var(--dl-ink-white)}

@media(max-width:700px){html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-cohort-grid:not(.is-list) .lx-cohort-card,html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner{min-height:0;padding:24px}html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card>a:first-child,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__img){width:calc(100% + 48px);margin:0 -24px}html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card h3,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__name){font-size:var(--dl-typescale-headline-medium-size)}}

html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card h3,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__name) .lx-tt>span{white-space:normal}
@media(max-width:1180px){html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card h3,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__name){font-size:var(--dl-typescale-headline-medium-size)}html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner){grid-template-rows:auto auto auto minmax(0,1fr) auto auto auto}html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card__date,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__facts){grid-column:1/-1;grid-row:7;align-items:flex-start;text-align:left}html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__facts>span{align-items:flex-start}html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card__go,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__cta){grid-column:1/-1}}

/* Course cards carry no motion; the figure and its picture stay still on hover. */
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) :is(.lx-banner__img img,.lx-cohort-card__art,.lx-art){transition:none!important;transform:none!important}

/* The catalogue heading carries no title; the count and the view switch sit on the right. */
@media(min-width:701px){html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-wrap.lx-wrap--catalogue .lx-catalogue-heading{flex-direction:row;justify-content:flex-end;align-items:center}}

/* The newsletter leaves the hero and stands as its own quiet section under the
   certification stage: a small label, the title, one line and the form, centred. */
html body .lx-wrap.lx-wrap--catalogue.lx-newsband-wrap{max-width:none;min-height:0;margin:0;padding:0!important;background:none}
html body .lx-wrap.lx-wrap--catalogue.lx-newsband-wrap::before,html body .lx-wrap.lx-wrap--catalogue.lx-newsband-wrap::after{display:none}
html body .lx-newsband{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:16px;max-width:720px;margin:0 auto;padding:clamp(80px,8vw,112px) 24px;text-align:center}
html body .lx-newsband .lx-newsband__k{margin:0;color:rgb(var(--dl-rgbs-white) / .6);font:500 var(--dl-typescale-label-small-size)/1.5 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase}
html body .lx-newsband .lx-newsband__title{margin:0;color:var(--dl-ink-white);font:400 clamp(var(--dl-typescale-headline-medium-size),3vw,var(--dl-typescale-display-small-size))/1.08 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:-.025em;text-transform:none}
html body .lx-newsband .lx-newsband__lead{margin:0;color:rgb(var(--dl-rgbs-white) / .72);font:400 var(--dl-typescale-body-medium-size)/1.6 var(--dl-typeface-plain),system-ui,sans-serif}
html body .lx-wrap.lx-wrap--catalogue .lx-newsband .lx-news{width:100%;max-width:520px;margin:12px 0 0}
html body .lx-wrap.lx-wrap--catalogue .lx-newsband .lx-news__proof{display:none}
html body .lx-wrap.lx-wrap--catalogue .lx-newsband .lx-news__field{width:100%;box-sizing:border-box;margin:0}
html body .lx-wrap.lx-wrap--catalogue .lx-newsband .lx-news__status{text-align:center}
html:not([data-theme=dark]) body .lx-newsband .lx-newsband__k{color:rgb(var(--dl-rgbs-near-black) / .6)}
html:not([data-theme=dark]) body .lx-newsband .lx-newsband__title{color:var(--dl-ink-near-black)}
html:not([data-theme=dark]) body .lx-newsband .lx-newsband__lead{color:rgb(var(--dl-rgbs-near-black) / .72)}

/* The catalogue hero breathes taller and the syllabus pages come in, filling
   the right 40% of the page. */
@media(min-width:1101px){
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-wrap.lx-wrap--catalogue .lx-hero--background{--lx-deck:clamp(280px,27vw,410px);padding-top:clamp(40px,4vw,72px);padding-bottom:clamp(56px,5vw,96px)}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-wrap.lx-wrap--catalogue .lx-hero--background .dl-chero__lead{margin-top:28px}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-wrap--catalogue .lx-hero__deck{top:calc(-.22 * var(--lx-deck))}
}

/* The subject filters, the count and the view switch share one row. */
@media(min-width:1101px){
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:24px}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools>.lx-catalogue-heading{grid-column:2;grid-row:1;margin:0}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools>.lx-subjectbar{grid-column:1;grid-row:1;min-width:0;margin:0}
}
html:not([data-theme=dark]) body .lx-wrap.lx-wrap--catalogue .lx-newsband .lx-news__field{background:var(--dl-ink-white);box-shadow:0 0 0 1px rgb(var(--dl-rgbs-near-black) / .16)}

/* The syllabus pages carry no border line; every hero title is one size, the
   display large size of the programme pages. */
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-wrap--catalogue .lx-hero__page{border:0}
@media(min-width:1101px){
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-wrap.lx-wrap--catalogue .lx-hero--background .dl-chero__title.dl-chero__title--phrases{font-size:var(--dl-typescale-display-large-size);line-height:1.08}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .dl-chero--banner .lx-banner__name.dl-chero__title{font-size:var(--dl-typescale-display-large-size);line-height:1.06}
}

/* In list view every program, bootcamp and masterclass is the masterclass wide
   banner: the words on the left on the course colour, the figure on the right, no lines; the
   program parts stay on the program page and in card view. */
/* List view, every group: the masterclass wide banner. */
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) .lx-cohort-grid.is-list .lx-cohort-card,
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-banner{display:grid;grid-template-columns:minmax(0,1fr) 46%;grid-template-rows:1fr;min-height:440px;height:auto;padding:0;border-radius:var(--dl-shape-corner-extra-large);overflow:hidden;background:var(--lx-ground,var(--c));color:var(--dl-ink-white)}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-course{background:none;padding:0}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) .lx-cohort-grid.is-list .lx-cohort-card::before,
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) :is(.lx-banner__grad,.lx-banner__caption){display:none}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) .lx-cohort-grid.is-list .lx-cohort-card>a:first-child,
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-banner__img{position:relative;inset:auto;grid-column:2;grid-row:1;display:block;width:100%!important;height:100%;min-height:0;margin:0;aspect-ratio:auto;border-radius:0;background:var(--lx-ground,var(--c))}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) .lx-cohort-grid.is-list .lx-cohort-card__art,
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-banner__img img{display:block;width:100%;height:100%;object-fit:cover;opacity:0}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) .lx-cohort-grid.is-list .lx-cohort-card__body,
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-banner__body{position:relative;inset:auto;grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;gap:18px;width:auto!important;max-width:none;height:auto;padding:48px 52px;background:none;color:var(--dl-ink-white)}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-cohort-grid.is-list .lx-cohort-card__kick,:is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-banner__kick){margin:0;color:var(--dl-ink-white);font:500 var(--dl-typescale-label-small-size)/1.5 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-banner__kick::before{display:none}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-cohort-grid.is-list .lx-cohort-card h3,.lx-cohort-grid.is-list .lx-cohort-card h3 a,:is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-banner__name){max-width:none;margin:0;color:var(--dl-ink-white);font:400 clamp(var(--dl-typescale-headline-large-size),3.2vw,var(--dl-typescale-display-medium-size))/1.04 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:-.03em}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-cohort-grid.is-list .lx-cohort-card__body>p:not(.lx-cohort-card__kick),:is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-banner__blurb){max-width:520px;margin:0;color:var(--dl-ink-white);font:400 var(--dl-typescale-body-large-size)/1.5 var(--dl-typeface-plain),system-ui,sans-serif;-webkit-line-clamp:unset;overflow:visible;display:block}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-cohort-grid.is-list .lx-cohort-card__meta,:is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-banner__meta){display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-cohort-grid.is-list .lx-cohort-card__meta li,:is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-banner__meta>span){display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--dl-shape-corner-full);background:rgb(var(--dl-rgbs-black) / .22);color:var(--dl-ink-white);font:500 var(--dl-typescale-label-medium-size)/1 var(--dl-typeface-plain),system-ui,sans-serif}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-cohort-grid.is-list .lx-cohort-card__date,:is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-banner__facts){display:flex;flex-wrap:wrap;gap:4px 20px;margin:0;padding:0;color:var(--dl-ink-white);font:400 var(--dl-typescale-body-small-size)/1.5 var(--dl-typeface-plain),system-ui,sans-serif}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-cohort-grid.is-list .lx-cohort-card__date span,:is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-banner__facts b){color:var(--dl-ink-white);opacity:.75;font-weight:500;margin-right:8px}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-cohort-grid.is-list .lx-cohort-card__date b){color:var(--dl-ink-white);font-weight:400}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-banner__foot{display:flex;align-items:center;gap:28px;margin:auto 0 0;padding:0;max-width:none}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-cohort-grid.is-list .lx-cohort-card__go,:is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-banner__cta){display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;min-height:44px;margin:auto 0 0;padding:0 22px;border-radius:var(--dl-shape-corner-full)!important;background:var(--dl-ink-white)!important;color:var(--dl-ink-near-black)!important;font:500 var(--dl-typescale-body-medium-size)/1 var(--dl-typeface-plain),system-ui,sans-serif;white-space:nowrap;width:auto}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) #lx-mcs:not(.lx-banners--cards) .lx-banner__trailer{color:var(--dl-ink-white)}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-course__actions{display:none}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-cohort-grid.is-list .lx-cohort-card[data-tone=light],#lx-mcs:not(.lx-banners--cards) .lx-course[data-tone=light]) :is(*,h3 a){color:var(--dl-ink-near-black)!important}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-cohort-grid.is-list .lx-cohort-card[data-tone=light] .lx-cohort-card__go,#lx-mcs:not(.lx-banners--cards) .lx-course[data-tone=light] .lx-banner__cta){background:var(--dl-ink-near-black)!important;color:var(--dl-ink-white)!important}
@media(max-width:900px){html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) .lx-cohort-grid.is-list .lx-cohort-card,html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-banner{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;min-height:0}html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) .lx-cohort-grid.is-list .lx-cohort-card>a:first-child,html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-banner__img{grid-column:1;grid-row:2;height:auto;aspect-ratio:400/300}html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) .lx-cohort-grid.is-list .lx-cohort-card__body,html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-banner__body{padding:28px 24px 8px}}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) .lx-cohort-grid.is-list .lx-cohort-card .lx-parts{display:none}
@media(max-width:700px){html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-cohort-grid.is-list .lx-cohort-card h3,.lx-cohort-grid.is-list .lx-cohort-card h3 a,:is(.lc-bootcamp-results,#lx-mcs):not(.lx-banners--cards) .lx-banner__name){font-size:var(--dl-typescale-headline-medium-size)}}
/* The syllabus pages stand still: no fan in, no tilt, no spread. */
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-wrap--catalogue :is(.lx-hero__page,.lx-hero__fan){animation:none!important;transition:none!important}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-wrap--catalogue .lx-hero__fan{transform:none!important}
/* Three format tabs, no All Learning tab; the catalogue opens on every format
   with no tab selected, and a tab pressed again returns to every format. */
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-wrap.lx-wrap--catalogue .lx-formats{grid-template-columns:repeat(3,minmax(0,max-content))}

/* Every Learning Center hero title takes the Design Ledger home hero title,
   exactly: weight 700, clamp(2rem, 5.2vw, 5.125rem), line height 1.04, letter spacing .055em
   tighter; up to 760 wide its phone title, clamp(1.5rem, 7.6vw, 2.75rem) at 1.05. */
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-wrap.lx-wrap--catalogue .lx-hero--background .dl-chero__title.dl-chero__title--phrases,.dl-chero--banner .lx-banner__name.dl-chero__title,.dl-chero .dl-chero__title,.dl-chero .dl-chero__title.lc-cohort-page__title){font:700 clamp(2rem,5.2vw,5.125rem)/1.04 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:-.055em}
@media(max-width:760px){html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-wrap.lx-wrap--catalogue .lx-hero--background .dl-chero__title.dl-chero__title--phrases,.dl-chero--banner .lx-banner__name.dl-chero__title,.dl-chero .dl-chero__title,.dl-chero .dl-chero__title.lc-cohort-page__title){font:700 clamp(1.5rem,7.6vw,2.75rem)/1.05 var(--dl-typeface-plain),system-ui,sans-serif;letter-spacing:-.045em}}
/* The count and the view switch hold one place on every tab: top aligned beside the filters on
   desktop, the count left and the switch right on narrower screens. */
@media(min-width:1101px){html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools{align-items:start}html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) .lx-wrap.lx-wrap--catalogue .lx-catalogue-tools>.lx-catalogue-heading{align-self:start;min-height:48px}}
@media(max-width:1100px){html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) .lx-wrap.lx-wrap--catalogue .lx-catalogue-heading{display:block;width:100%}html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) .lx-wrap.lx-wrap--catalogue .lx-catalogue-meta{display:flex;align-items:center;justify-content:space-between;width:100%}}

/* In card view the self paced masterclasses are the same tall cards as the
   programs and bootcamps; Watch Trailer sits beside the button. */
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) #lx-mcs.lx-banners--cards .lx-banner__trailer{grid-column:2;grid-row:6;align-self:center;justify-self:end;display:inline-flex;align-items:center;gap:8px;min-height:44px;color:inherit;font:500 var(--dl-typescale-body-small-size)/1 var(--dl-typeface-plain),system-ui,sans-serif;white-space:nowrap}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) #lx-mcs.lx-banners--cards .lx-course[data-tone=light] .lx-banner{color:var(--dl-ink-near-black)}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) #lx-mcs.lx-banners--cards .lx-course[data-tone=light] .lx-banner__cta{background:var(--dl-ink-near-black)!important;color:var(--dl-ink-white)!important}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) #lx-mcs.lx-banners--cards .lx-course[data-tone=light] .lx-banner__meta>span{background:rgb(var(--dl-rgbs-black) / .12)}

/* The hero carries only the five learning areas flower; the syllabus magazine
   moves down to the certification stage, in place of the credential cards. */
html body .lx-wrap.lx-wrap--catalogue .lx-hero__flower{position:absolute;z-index:0;right:0;top:calc(var(--lx-flower-top,0px));width:clamp(280px,30vw,460px);pointer-events:none}
html body .lx-wrap.lx-wrap--catalogue .lx-hero__flower img{display:block;width:100%;height:auto}
@media(max-width:1100px){html body .lx-wrap.lx-wrap--catalogue .lx-hero__flower{position:relative;right:auto;top:auto;width:min(72vw,340px);margin:32px auto 0}}
html body .ge .ss-art:has(.ss-mag){display:flex;align-items:center;justify-content:center}
html body .ge .ss-mag{position:relative;width:min(100%,600px);aspect-ratio:600/560}
html body .ge .ss-mag__page{position:absolute;display:block;height:auto;box-shadow:var(--dl-elevation-level5)}
html body .ge .ss-mag__page--front{left:4%;top:4%;width:56%;z-index:2}
html body .ge .ss-mag__page--back{left:44%;top:0;width:52%;z-index:1;transform:rotate(8deg);transform-origin:0 100%;filter:brightness(.6)}
@media(min-width:1101px){html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-wrap.lx-wrap--catalogue .lx-hero--background>.lx-hero__flower{position:absolute;z-index:0;right:clamp(0px,4vw,64px);top:50%;transform:translateY(-50%);margin:0}}
/* The subscribe in the certification stage, in the row the four masterclass points held. */
html body .ge .ss-news{grid-column:1/-1;position:relative;z-index:1;margin-top:clamp(32px,4vw,64px)!important}
html body .ge .ss-news .lx-news{margin:0}
/* The magazine 15 percent larger: 690 wide where the stage has room, never past the screen. */
html body .ge .ss-mag{flex:none;width:min(100%,690px)}
@media(min-width:1101px){html body .ge .ss-art:has(.ss-mag){justify-content:center!important;padding:0!important}html body .ge .ss-mag{width:min(115%,690px)}}
/* The stage title on two lines, one sentence each, sized to its column. */
html body .ge .ss-stage .ss-copy{container-type:inline-size}
html body .ge .ss-stage .ss-copy h2{font-size:min(clamp(var(--dl-typescale-headline-large-size),3.4vw,var(--dl-typescale-display-medium-size)),7cqi)!important;text-wrap:nowrap}
/* The subscribe centred under the copy and the magazine. */
html body .ge .ss-news .lx-news{justify-content:center;align-items:center}
html body .ge .ss-news .lx-news__status{text-align:center}
html body .ge .ss-news{scroll-margin-top:calc(50vh - 40px)}
/* The certification stage stacked in one column: the magazine, then the words, then the subscribe, centred. */
html body:not(#lc-a) .ge .ss-stage:has(.ss-mag){display:flex!important;flex-direction:column;align-items:center;gap:clamp(32px,4vw,56px)!important;text-align:center}
html body:not(#lc-a) .ge .ss-stage:has(.ss-mag) .ss-art{order:0;width:100%;max-width:none;padding:0!important;display:flex;justify-content:center!important}
html body:not(#lc-a) .ge .ss-stage:has(.ss-mag) .ss-mag{width:min(100%,690px);aspect-ratio:600/460}
html body:not(#lc-a) .ge .ss-stage:has(.ss-mag) .ss-copy{order:1;width:min(100%,900px)}
html body:not(#lc-a) .ge .ss-stage:has(.ss-mag) .ss-lead{margin-left:auto;margin-right:auto}
html body:not(#lc-a) .ge .ss-stage:has(.ss-mag) .ss-news{order:2;width:100%;margin-top:0!important}
html body:not(#lc-a) .ge .ss-stage:has(.ss-mag) .ss-copy{margin-top:calc(clamp(32px,4vw,56px) * -1 + 20px)}
/* The syllabus spread as a slight arc over the words: the cover at the crown, three pages each side
   falling away along the curve, each turned outward with the arc and dimming as it goes. Still. */
html body:not(#lc-a) .ge .ss-stage:has(.ss-mag) .ss-mag.ss-mag--spread{width:100%;max-width:1328px;aspect-ratio:100/33}
html body .ge .ss-mag--spread .ss-mag__page{position:absolute;width:14%;transform-origin:50% 100%}
html body .ge .ss-mag--spread .ss-mag__page--cover{left:41.5%;top:0;width:17%;z-index:9}
html body .ge .ss-mag--spread .ss-mag__page--p3{left:28%;top:8%;z-index:3;transform:rotate(-5deg);filter:brightness(.84)}
html body .ge .ss-mag--spread .ss-mag__page--p4{left:58%;top:8%;z-index:3;transform:rotate(5deg);filter:brightness(.84)}
html body .ge .ss-mag--spread .ss-mag__page--p2{left:15%;top:21%;z-index:2;transform:rotate(-10deg);filter:brightness(.72)}
html body .ge .ss-mag--spread .ss-mag__page--p5{left:71%;top:21%;z-index:2;transform:rotate(10deg);filter:brightness(.72)}
html body .ge .ss-mag--spread .ss-mag__page--p1{left:3%;top:38%;z-index:1;transform:rotate(-15deg);filter:brightness(.62)}
html body .ge .ss-mag--spread .ss-mag__page--p6{left:83%;top:38%;z-index:1;transform:rotate(15deg);filter:brightness(.62)}
@media(max-width:760px){
html body:not(#lc-a) .ge .ss-stage:has(.ss-mag) .ss-mag.ss-mag--spread{aspect-ratio:auto;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px 2px 20px;scrollbar-width:none}
html body .ge .ss-mag--spread::-webkit-scrollbar{display:none}
html body .ge .ss-mag--spread .ss-mag__page{position:relative;left:auto!important;top:auto!important;flex:0 0 62%;width:62%!important;transform:none!important;filter:none!important;scroll-snap-align:start}
}
/* Card view: every card a quarter shorter; the figure fills what the words leave. */
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner){min-height:clamp(520px,39.75vw,570px)}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card>a:first-child,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__img){aspect-ratio:auto;height:100%;min-height:0;align-self:stretch}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card>a:first-child,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__img){contain:size}
@media(max-width:700px){html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner){min-height:0}html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card>a:first-child,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__img){height:130px}}
/* Card view at the height of the masterclass cards on the Design Ledger home: 550 on wide screens,
   520 below, 502 on phones; the figure fills what the words leave. */
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e):not(#lc-f) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner){min-height:520px}
@media(min-width:1400px){html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e):not(#lc-f) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner){min-height:550px}}
@media(max-width:700px){html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e):not(#lc-f) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner){min-height:502px}html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d):not(#lc-e):not(#lc-f) :is(.lx-cohort-grid:not(.is-list) .lx-cohort-card>a:first-child,:is(.lc-bootcamp-results,#lx-mcs).lx-banners--cards .lx-banner__img){height:100%;min-height:96px}}

/* The certification stage subscribe at 115%: the field, the input and the button. */
html body .ge .ss-news .lx-wrap--catalogue .lx-news__field,html body .lx-wrap.lx-wrap--catalogue.ss-news .lx-news__field{width:clamp(334px,28.75vw,414px);min-height:60px;padding:6px 6px 6px 23px}
html body .lx-wrap.lx-wrap--catalogue.ss-news .lx-news__field input[type=email]{height:48px;font-size:calc(var(--dl-typescale-body-medium-size) * 1.15)}
html body .lx-wrap.lx-wrap--catalogue.ss-news .lx-news__field button{min-height:48px;padding:0 23px;font-size:calc(var(--dl-typescale-label-large-size) * 1.15)}

/* The turning flower from the designledger.co home, ruled 7 Nov: larger, bleeding off the right edge, the circles
   turning with their glow, the mark upright on its disc. */
html:has(.lx-hero__flower--turn),html:has(.lx-hero__flower--turn) body{overflow-x:clip}
html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-wrap.lx-wrap--catalogue .lx-hero__flower--turn{--lx-fw:clamp(380px,42vw,680px);width:var(--lx-fw);aspect-ratio:1}
@media(min-width:1101px){html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-wrap.lx-wrap--catalogue .lx-hero--background>.lx-hero__flower--turn{right:calc(var(--lx-fw) * -.16)}}
html body .lx-wrap.lx-wrap--catalogue .lx-hero__flower--turn img{position:absolute;inset:0;width:100%;height:100%;transform-origin:50% 50%;animation:lx-flower-spin 90s linear infinite}
html body .lx-wrap.lx-wrap--catalogue .lx-hero__flower--turn .lx-hero__flower-glow{filter:blur(48px) saturate(1.3);opacity:.5;animation-name:lx-flower-spin-glow}
html body .lx-wrap.lx-wrap--catalogue .lx-hero__flower-core{position:absolute;left:50%;top:50%;width:28.75%;aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:var(--dl-shape-corner-full);background:rgb(var(--dl-rgbs-black) / .78);color:var(--dl-ink-white)}
html body .lx-wrap.lx-wrap--catalogue .lx-hero__flower-core svg{width:50%;height:auto}
@keyframes lx-flower-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes lx-flower-spin-glow{from{transform:scale(1.06) rotate(0deg)}to{transform:scale(1.06) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){html body .lx-wrap.lx-wrap--catalogue .lx-hero__flower--turn img{animation:none}}
@media(max-width:1100px){html body:not(#lc-a):not(#lc-b):not(#lc-c):not(#lc-d) .lx-wrap.lx-wrap--catalogue .lx-hero__flower--turn{--lx-fw:96vw;margin:24px calc(var(--lx-fw) * -.16) 0 auto}}
/* Ruled 7 Nov: no picture behind the Your journey hero; the hero sits on the plain page ground with the flower. */
html body .lx-wrap.lx-wrap--catalogue .lx-hero--background::before{background-image:none}

/* Ruled 7 Nov: the syllabus pages sit close over the title; a shallower arc, the words pulled up under it. */
@media(min-width:761px){
html body .ge .ss-mag--spread .ss-mag__page--cover{top:12%}
html body .ge .ss-mag--spread .ss-mag__page--p3,html body .ge .ss-mag--spread .ss-mag__page--p4{top:16%}
html body .ge .ss-mag--spread .ss-mag__page--p2,html body .ge .ss-mag--spread .ss-mag__page--p5{top:25%}
html body:not(#lc-a) .ge .ss-stage:has(.ss-mag) .ss-copy{margin-top:calc(clamp(32px,4vw,56px) * -1 - 12px)}
}

/* Ruled 8 Nov: the bright theme is bright everywhere. The catalogue hero takes the white ground and the
   ink of the theme; the flower stays. The silk picture and the white ink belong to the dark theme only. */
html:not([data-theme=dark]) body .lx-wrap.lx-wrap--catalogue .lx-hero--background::before{background:var(--dl-ink-white)!important}
html:not([data-theme=dark]) body .lx-wrap.lx-wrap--catalogue .lx-hero--background::after{display:none}
html:not([data-theme=dark]) body .lx-wrap.lx-wrap--catalogue .lx-hero,
html:not([data-theme=dark]) body .lx-wrap.lx-wrap--catalogue .lx-hero .lx-hero__line,
html:not([data-theme=dark]) body .lx-wrap.lx-wrap--catalogue .lx-hero .dl-chero__title,
html:not([data-theme=dark]) body .lx-wrap.lx-wrap--catalogue .lx-hero .dl-chero__lead,
html:not([data-theme=dark]) body .lx-wrap.lx-wrap--catalogue .lx-formats button,
html:not([data-theme=dark]) body .lx-wrap.lx-wrap--catalogue .lx-formats button.is-on,
html:not([data-theme=dark]) body .lx-wrap.lx-wrap--catalogue .lx-formats button .lx-format__copy strong,
html:not([data-theme=dark]) body .lx-wrap.lx-wrap--catalogue .lx-formats button .lx-format__copy strong span{color:var(--dl-color-on-surface)!important}
html:not([data-theme=dark]) body .lx-wrap.lx-wrap--catalogue .lx-hero .dl-chero__eyebrow,
html:not([data-theme=dark]) body .lx-wrap.lx-wrap--catalogue .lx-formats button .lx-format__copy small{color:var(--dl-color-on-surface-variant)!important}
html:not([data-theme=dark]) body .lx-wrap.lx-wrap--catalogue .lx-formats button{border-left-color:rgb(var(--dl-rgbs-black) / .14)}
