/* Practitioner Ethics — course page, course archive, blog, 404, search and expert profiles.
   Uses the tokens in main.css. Prefixes: pe-cx (course page), pe-ca (archive), pe-dcard (dense course card),
   pe-bl (blog), pe-nf (404), pe-xp (expert profile). */

:root {
	--cx-hero: radial-gradient(120% 140% at 85% 0%, rgba(11, 79, 108, .55) 0%, rgba(11, 79, 108, 0) 55%), linear-gradient(160deg, #143425 0%, #1A4432 55%, #17403A 100%);
	--cx-bar-h: 3.25rem;
	--cx-col: 22rem;
}

/* ------------------------------------------------ Course page: frame */
.pe-cx { position: relative; }
.pe-cx__grid { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "hero" "buy" "bar" "body"; }
.pe-cx-hero { grid-area: hero; position: relative; isolation: isolate; color: var(--white); padding: 1.1rem 0 3.5rem; }
.pe-cx-hero::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: -50vw; right: -50vw; background: url(../img/contours-light.svg) right -10rem center / 70rem auto no-repeat, var(--cx-hero); }
.pe-cx-hero .pe-crumbs { margin-bottom: .9rem; }
.pe-cx-hero__kind { display: inline-flex; align-items: center; gap: .45rem; margin: 0 0 .65rem; padding: .25rem .7rem .25rem .5rem; border-radius: 999px; background: rgba(233, 182, 52, .14); border: 1px solid rgba(233, 182, 52, .4); color: #F6D88A; font: 600 .85rem/1.3 var(--f-body); }
.pe-cx-hero h1 { color: var(--white); font-size: clamp(1.7rem, 1.15rem + 1.9vw, 2.45rem); max-width: 28ch; margin-bottom: .5rem; }
.pe-cx-hero__lead { color: var(--on-dark); font-size: clamp(1.02rem, .98rem + .25vw, 1.16rem); max-width: 60ch; margin: 0 0 1.25rem; }
.pe-cx-hero__facts { list-style: none; margin: 0 0 1.2rem; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1rem; }
.pe-cx-hero__facts li { display: flex; align-items: center; gap: .6rem; min-width: 0; }
.pe-cx-hero__facts .pe-micon { flex: none; box-sizing: content-box; padding: .5rem; border-radius: 50%; background: rgba(255, 255, 255, .1); color: var(--wattle); }
.pe-cx-hero__facts span { display: flex; flex-direction: column; font-size: .86rem; line-height: 1.3; color: var(--on-dark); min-width: 0; }
.pe-cx-hero__facts strong { font: 600 .95rem/1.3 var(--f-head); color: var(--white); }
.pe-cx-hero__tags { display: grid; gap: .5rem; }
.pe-cx-tagrow { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .6rem; }
.pe-cx-tagrow__k { margin: 0; min-width: 5.5rem; font-size: .86rem; font-weight: 600; color: var(--on-dark); }
.pe-cx-tagrow ul { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; }
.pe-cx-tag { display: inline-flex; align-items: center; gap: .35rem; min-height: 34px; padding: .25rem .75rem; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .08); color: var(--white); font-size: .9rem; font-weight: 600; text-decoration: none; }
.pe-cx-tag .pe-micon { color: var(--wattle); }
.pe-cx-tag:hover { background: var(--white); border-color: var(--white); color: var(--euc); text-decoration: none; }
.pe-cx-tag--topic { border-style: dashed; border-color: rgba(233, 182, 52, .55); }
.pe-cx-hero .pe-cx-tag:focus-visible { box-shadow: 0 0 0 3px var(--wattle); }

@media (min-width: 640px) {
	.pe-cx-hero__facts { grid-template-columns: repeat(4, minmax(0, auto)); justify-content: start; gap: .75rem 1.6rem; }
}

/* Purchase card */
.pe-cx-buy { grid-area: buy; position: relative; z-index: 6; margin-top: -2.25rem; }
.pe-cx-card { background: var(--white); border-radius: var(--r-l); box-shadow: 0 24px 48px -22px rgba(16, 42, 31, .55), 0 2px 6px rgba(27, 36, 48, .08); border: 1px solid #DCD3C2; overflow: hidden; }
.pe-cx-card__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .95rem 1.25rem; background: var(--sand); border-bottom: 1px solid var(--line); border-top: 4px solid var(--wattle); }
.pe-cx-card__hrs { display: flex; align-items: center; gap: .6rem; margin: 0; }
.pe-cx-card__fig { font: 700 2.4rem/1 var(--f-head); letter-spacing: -.04em; color: var(--euc); }
.pe-cx-card__unit { display: flex; flex-direction: column; font: 600 1rem/1.15 var(--f-head); color: var(--ink); }
.pe-cx-card__unit small { font: 400 .82rem/1.3 var(--f-body); color: var(--muted); }
.pe-cx-card__seal { width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; color: var(--euc); background: var(--white); box-shadow: inset 0 0 0 2px var(--wattle), 0 0 0 4px var(--white), 0 0 0 5px var(--line-2); }
.pe-cx-card__body { padding: 1.1rem 1.25rem 1.25rem; }
.pe-cx-card__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .1rem .6rem; margin: 0 0 .9rem; }
.pe-cx-card__amt { font: 700 2.35rem/1 var(--f-head); letter-spacing: -.035em; color: var(--ink); }
.pe-cx-card__gst { font-size: .9rem; color: var(--muted); }
.pe-cx-card__notice { background: var(--wattle-tint); border: 1px solid #E9CC80; border-radius: var(--r-s); padding: .5rem .75rem; font-size: .95rem; }
.pe-cx-card__acts { display: grid; gap: .55rem; margin: 0 0 .8rem; }
.pe-cx-card__acts .pe-btn { width: 100%; }
.pe-btn--buy { min-height: 50px; font-size: 1.05rem; box-shadow: 0 6px 14px -8px rgba(31, 77, 58, .8); }
.pe-cx-card__small { font-size: .88rem; color: var(--muted); }
.pe-cx-card__bulk { display: flex; gap: .45rem; align-items: flex-start; margin: 0 0 .9rem; padding: .5rem .65rem; border-radius: var(--r-s); background: var(--euc-50); color: var(--euc-deep); font-size: .88rem; line-height: 1.4; }
.pe-cx-card__bulk .pe-micon { margin-top: .1rem; color: var(--euc); }
.pe-cx-card__h { margin: 0 0 .35rem; font: 600 .95rem/1.3 var(--f-head); letter-spacing: 0; }
.pe-cx-card__list { list-style: none; margin: 0 0 .9rem; padding: 0; font-size: .94rem; line-height: 1.4; }
.pe-cx-card__list li { display: flex; gap: .55rem; align-items: flex-start; padding: .26rem 0; border-bottom: 1px dashed var(--line); }
.pe-cx-card__list li:last-child { border-bottom: 0; }
.pe-cx-card__list .pe-micon { color: var(--euc); margin-top: .05rem; }
.pe-cx-card__prog { display: flex; gap: .55rem; align-items: flex-start; margin: 0 0 .75rem; padding: .6rem .7rem; border-radius: var(--r-s); background: var(--ocean-tint); color: var(--ocean-deep); font-size: .9rem; line-height: 1.4; }
.pe-cx-card__prog .pe-micon { color: var(--ocean); margin-top: .05rem; }
.pe-cx-card__prog a { color: var(--ocean-deep); font-weight: 600; }
.pe-cx-card__safe { display: flex; gap: .55rem; align-items: flex-start; margin: 0; padding-top: .75rem; border-top: 1px solid var(--line); font-size: .86rem; line-height: 1.45; color: #36404D; }
.pe-cx-card__safe .pe-micon { flex: none; color: var(--euc); }
.pe-cx-card__safe a { font-weight: 600; white-space: nowrap; }
.pe-cx-card .pe-meter { margin: 0 0 .8rem; }

/* Section bar */
.pe-cx-bar { grid-area: bar; position: sticky; top: var(--cx-top, var(--pe-header-h, 0px)); z-index: 5; background: var(--white); }
.pe-cx-bar::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: -50vw; right: -50vw; background: var(--white); border-bottom: 1px solid var(--line); box-shadow: 0 6px 14px -12px rgba(27, 36, 48, .35); }
.pe-cx-bar ul { list-style: none; margin: 0; padding: 0; display: flex; gap: .25rem; overflow-x: auto; scrollbar-width: none; scroll-behavior: smooth; }
.pe-cx-bar ul::-webkit-scrollbar { display: none; }
.pe-cx-bar a { display: flex; align-items: center; min-height: var(--cx-bar-h); padding: 0 .6rem; white-space: nowrap; color: var(--ink); font: 600 .92rem/1 var(--f-body); text-decoration: none; border-bottom: 3px solid transparent; }
.pe-cx-bar a:hover { color: var(--euc); border-bottom-color: var(--line-2); }
.pe-cx-bar a[aria-current] { color: var(--euc); border-bottom-color: var(--euc); }
.pe-cx-bar a:focus-visible { box-shadow: inset 0 0 0 3px var(--ocean); border-radius: 4px; }
.pe-cx-bar li:first-child a { padding-left: 0; }

/* Body */
.pe-cx-body { grid-area: body; min-width: 0; padding: 1.75rem 0 2.75rem; }
.pe-cx-sec { scroll-margin-top: calc(var(--cx-top, var(--pe-header-h, 80px)) + var(--cx-bar-h) + .75rem); }
.pe-cx-sec + .pe-cx-sec { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.pe-cx-sec__head { margin-bottom: 1rem; }
.pe-cx-sec__head h2 { font-size: clamp(1.3rem, 1.15rem + .5vw, 1.55rem); margin: 0; }
.pe-cx-sec__sub { margin: .3rem 0 0; color: var(--muted); font-size: .98rem; }
.pe-cx-sec__head--row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .75rem 1.5rem; }
.pe-cx-prose { max-width: 76ch; }
.pe-cx-prose p { margin: 0 0 .85em; }
.pe-cx-prose p:first-child { font-size: 1.1rem; color: var(--ink); }
.pe-cx-prose p:last-child { margin-bottom: 0; }
.pe-cx-sec--overview .pe-experts-box { margin-top: 1.25rem; }

.pe-cx-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: .1rem 1.75rem; }
.pe-cx-checks li { display: flex; gap: .6rem; align-items: flex-start; padding: .45rem 0; border-bottom: 1px solid var(--sand-2); line-height: 1.45; }
.pe-cx-checks .pe-micon { flex: none; margin-top: .15rem; color: var(--euc); }
@media (min-width: 720px) { .pe-cx-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.pe-cx-outcomes { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.pe-cx-outcomes li { display: flex; gap: .8rem; align-items: flex-start; padding: 1rem 1.05rem; border: 1px solid var(--line); border-radius: var(--r-m); background: var(--white); }
.pe-cx-outcomes__ico { flex: none; width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; background: var(--ocean-tint); color: var(--ocean); }
.pe-cx-outcomes h3 { font-size: 1rem; margin: .1rem 0 .25rem; }
.pe-cx-outcomes p { margin: 0; font-size: .95rem; color: #36404D; line-height: 1.5; }
@media (min-width: 720px) { .pe-cx-outcomes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pe-cx-objs { margin-top: 1.25rem; padding: 1rem 1.15rem .6rem; border-radius: var(--r-m); background: var(--euc-50); border: 1px solid #CFDDD3; }
.pe-cx-objs h3 { font-size: 1rem; margin: 0 0 .35rem; }
.pe-cx-objs .pe-cx-checks li { border-bottom-color: #D7E3DA; font-size: .96rem; }

.pe-cx-cases { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.pe-cx-cases li { display: flex; gap: .75rem; align-items: flex-start; padding: .9rem 1rem; border-radius: var(--r-m); background: var(--sand-50); border: 1px solid var(--line); border-left: 4px solid var(--ochre); }
.pe-cx-cases__ico { flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--ochre-tint); color: var(--ochre-text); }
.pe-cx-cases h3 { font-size: 1rem; margin: .2rem 0 .2rem; }
.pe-cx-cases p { margin: 0; font-size: .94rem; line-height: 1.5; color: #36404D; }
@media (min-width: 720px) { .pe-cx-cases { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Course contents */
.pe-cx-expand { min-height: 40px; padding: .35rem .85rem; border: 1.5px solid var(--euc); border-radius: var(--r-s); background: var(--white); color: var(--euc); font-weight: 600; font-size: .92rem; cursor: pointer; }
.pe-cx-expand:hover { background: var(--euc); color: var(--white); }
.pe-cx-mods { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: var(--r-m); overflow: hidden; background: var(--white); }
.pe-cx-mods > li + li { border-top: 1px solid var(--line); }
.pe-cx-mod summary, .pe-cx-mod--final { display: flex; align-items: center; gap: .8rem; padding: .8rem 1rem; min-height: 56px; cursor: pointer; list-style: none; }
.pe-cx-mod summary::-webkit-details-marker { display: none; }
.pe-cx-mod summary::after { content: ""; flex: none; width: 9px; height: 9px; margin: 0 .25rem 0 .25rem; border-right: 2px solid var(--euc); border-bottom: 2px solid var(--euc); transform: rotate(45deg) translateY(-3px); transition: transform .15s; }
.pe-cx-mod[open] summary::after { transform: rotate(225deg) translateY(-2px); }
.pe-cx-mod summary:hover { background: var(--euc-50); }
.pe-cx-mod summary:focus-visible { box-shadow: inset 0 0 0 3px var(--ocean); border-radius: 0; }
.pe-cx-mod[open] summary { background: var(--euc-50); }
.pe-cx-mod__n { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--euc); color: var(--white); font: 700 .9rem/1 var(--f-head); }
.pe-cx-mod__t { flex: 1; min-width: 0; font: 600 1rem/1.35 var(--f-head); color: var(--ink); }
.pe-cx-mod__c { flex: none; font-size: .86rem; color: var(--muted); white-space: nowrap; }
.pe-cx-mod__ls { list-style: none; margin: 0; padding: .35rem 1rem .85rem 3.55rem; display: grid; gap: .1rem 1.5rem; }
.pe-cx-mod__ls li { display: flex; gap: .5rem; align-items: flex-start; padding: .25rem 0; font-size: .95rem; line-height: 1.4; }
.pe-cx-mod__ls .pe-micon { flex: none; margin-top: .15rem; color: var(--ocean); }
@media (min-width: 900px) { .pe-cx-mod__ls { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pe-cx-mod--final { cursor: default; background: var(--sand-50); }
.pe-cx-mod--final .pe-cx-mod__n { background: var(--wattle); color: var(--ink); }
@media (max-width: 559px) { .pe-cx-mod__c { font-size: .78rem; white-space: nowrap; } .pe-cx-mod__ls { padding-left: 1rem; } }

/* Assessment path */
.pe-cx-path { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; counter-reset: none; }
.pe-cx-path li { position: relative; padding: .95rem 1rem 1rem; border: 1px solid var(--line); border-radius: var(--r-m); background: var(--white); }
.pe-cx-path__n { display: grid; place-items: center; width: 30px; height: 30px; margin-bottom: .5rem; border-radius: 50%; background: var(--euc-tint); color: var(--euc); font: 700 .9rem/1 var(--f-head); }
.pe-cx-path li:last-child .pe-cx-path__n { background: var(--wattle); color: var(--ink); }
.pe-cx-path h3 { font-size: .98rem; margin: 0 0 .25rem; }
.pe-cx-path p { margin: 0; font-size: .92rem; line-height: 1.45; color: #36404D; }
@media (min-width: 720px) { .pe-cx-path { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); grid-auto-flow: column; } }
.pe-cx-keep { margin-top: 1rem; padding: 1rem 1.15rem .5rem; border-radius: var(--r-m); background: var(--euc-50); border: 1px solid #CFDDD3; }
.pe-cx-keep h3 { display: flex; align-items: center; gap: .5rem; font-size: 1rem; margin: 0 0 .25rem; }
.pe-cx-keep h3 .pe-micon { color: var(--euc); }
.pe-cx-keep .pe-cx-checks li { border-bottom-color: #D7E3DA; font-size: .96rem; }
.pe-cx-keep__links { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; margin: .5rem 0 .4rem; font-weight: 600; font-size: .95rem; }
.pe-cx-keep__links a { display: inline-flex; align-items: center; min-height: 36px; }

/* Sources */
.pe-cx-sources { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.pe-cx-sources li { display: flex; gap: .65rem; align-items: flex-start; padding: .75rem .9rem; border: 1px solid var(--line); border-radius: var(--r-s); background: var(--white); line-height: 1.4; }
.pe-cx-sources li > .pe-micon { flex: none; color: var(--ocean); margin-top: .1rem; }
.pe-cx-sources a { font-weight: 600; }
.pe-cx-sources p { margin: .2rem 0 0; font-size: .92rem; color: #36404D; }
.pe-cx-sources__host { display: block; margin-top: .2rem; font-size: .82rem; color: var(--muted); }
@media (min-width: 900px) { .pe-cx-sources { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Programs */
.pe-cx-progs { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
.pe-cx-prog { display: grid; gap: 1rem; padding: 1.1rem 1.2rem; border: 1px solid #BFD4DE; border-left: 5px solid var(--ocean); border-radius: var(--r-m); background: linear-gradient(100deg, var(--ocean-tint), var(--white) 70%); }
.pe-cx-prog__k { display: flex; align-items: center; gap: .4rem; margin: 0 0 .3rem; color: var(--ocean-deep); font-weight: 600; font-size: .9rem; }
.pe-cx-prog h3 { font-size: 1.1rem; margin: 0 0 .5rem; }
.pe-cx-prog h3 a { color: var(--ink); text-decoration: none; }
.pe-cx-prog h3 a:hover { color: var(--ocean); text-decoration: underline; }
.pe-cx-prog__list { margin: 0; padding-left: 1.25rem; columns: 2 16rem; column-gap: 1.5rem; font-size: .92rem; line-height: 1.4; }
.pe-cx-prog__list li { margin: 0 0 .25rem; break-inside: avoid; }
.pe-cx-prog__list li::marker { color: var(--ocean); font-weight: 700; }
.pe-cx-prog__list .is-this { font-weight: 700; }
.pe-cx-prog__list em { font-style: normal; font-weight: 400; color: var(--muted); }
.pe-cx-prog__buy { display: flex; flex-direction: column; align-items: flex-start; gap: .35rem; }
.pe-cx-prog__price { margin: 0; display: flex; align-items: baseline; gap: .5rem; }
.pe-cx-prog__price strong { font: 700 1.7rem/1 var(--f-head); letter-spacing: -.03em; }
.pe-cx-prog__save { margin: 0 0 .25rem; display: inline-block; padding: .1rem .55rem; border-radius: 999px; background: var(--wattle-tint); color: #6B4A00; font-weight: 700; font-size: .85rem; }
.pe-cx-prog__more { font-weight: 600; font-size: .92rem; display: inline-flex; align-items: center; min-height: 36px; }
@media (min-width: 820px) { .pe-cx-prog { grid-template-columns: minmax(0, 1fr) 12rem; align-items: center; } .pe-cx-prog__buy { align-items: stretch; text-align: left; } .pe-cx-prog__buy .pe-btn { width: 100%; } }

/* Positioning box */
.pe-cx-position { display: flex; gap: .9rem; align-items: flex-start; margin-top: 2.25rem; padding: 1.1rem 1.2rem; border-radius: var(--r-m); background: var(--sand); border: 1px solid var(--line); border-left: 5px solid var(--wattle); }
.pe-cx-position__ico { flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--white); color: var(--ochre-text); }
.pe-cx-position h2 { font-size: 1.02rem; margin: .15rem 0 .3rem; }
.pe-cx-position p { margin: 0; font-size: .94rem; line-height: 1.55; color: #36404D; max-width: 80ch; }
.pe-cx-position__more { margin-top: .4rem !important; font-weight: 600; }

/* Related band */
.pe-cx-related { background: var(--sand); border-top: 1px solid var(--line); padding: 2.25rem 0 2.75rem; scroll-margin-top: calc(var(--pe-header-h, 80px) + 1rem); }
.pe-cx-related__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem 1rem; margin-bottom: 1rem; }
.pe-cx-related__head h2 { margin: 0; font-size: clamp(1.3rem, 1.15rem + .5vw, 1.55rem); }

/* Mobile buy bar */
.pe-cx-mb { position: fixed; z-index: 40; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .6rem var(--gut) calc(.6rem + env(safe-area-inset-bottom)); background: var(--white); border-top: 1px solid var(--line); box-shadow: 0 -8px 20px -14px rgba(27, 36, 48, .5); }
.pe-cx-mb[hidden] { display: none; }
.pe-cx-mb__p { margin: 0; display: flex; flex-direction: column; line-height: 1.2; }
.pe-cx-mb__p strong { font: 700 1.3rem/1.1 var(--f-head); }
.pe-cx-mb__p span { font-size: .85rem; color: var(--muted); }
.pe-cx-mb .pe-btn { min-height: 46px; padding-left: 1.4rem; padding-right: 1.4rem; }
body.pe-cx-mb-on .pe-footer { padding-bottom: 4.5rem; }

@media (min-width: 1080px) {
	.pe-cx__grid { grid-template-columns: minmax(0, 1fr) var(--cx-col); grid-template-rows: auto auto 1fr; grid-template-areas: "hero buy" "bar buy" "body buy"; column-gap: 3rem; }
	.pe-cx-hero { padding: 1.35rem 0 2.5rem; }
	.pe-cx-buy { margin-top: 0; padding: 3.1rem 0 2.75rem; }
	.pe-cx-card { position: sticky; top: calc(var(--cx-top, var(--pe-header-h, 80px)) + 1rem); max-height: calc(100vh - var(--cx-top, var(--pe-header-h, 80px)) - 2rem); overflow-y: auto; scrollbar-width: thin; }
	.pe-cx-mb { display: none !important; }
}
@media (max-width: 1079px) {
	.pe-cx-card { max-width: 34rem; }
	.pe-cx-bar { margin-top: 1.5rem; }
}
@media (max-width: 559px) {
	.pe-cx-hero { padding-bottom: 3.25rem; }
	.pe-cx-hero__facts { gap: .65rem .75rem; }
	.pe-cx-hero__facts .pe-micon { padding: .4rem; width: 18px; height: 18px; }
	.pe-cx-hero__facts strong { font-size: .88rem; }
	.pe-cx-hero__facts span { font-size: .8rem; }
	.pe-cx-tagrow__k { min-width: 0; width: 100%; }
	.pe-cx-card__body, .pe-cx-card__head { padding-left: 1rem; padding-right: 1rem; }
}

/* ------------------------------------------------ Dense course cards (archive, related, 404, blog) */
.pe-dcards { list-style: none; margin: 0; padding: 0; display: grid; gap: .85rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
@media (min-width: 1100px) { .pe-dcards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pe-dcard { position: relative; display: flex; flex-direction: column; padding: .85rem .95rem .8rem; background: var(--white); border: 1px solid var(--line); border-top: 3px solid var(--euc); border-radius: var(--r-m); box-shadow: var(--shadow-1); transition: box-shadow .15s, border-color .15s; }
.pe-dcard[hidden] { display: none; }
.pe-dcard:hover { box-shadow: var(--shadow-2); border-color: var(--line-2); }
.pe-dcard--free { border-top-color: var(--wattle); }
.pe-dcard--prof { border-top-color: var(--ocean); }
.pe-dcard--topic { border-top-color: var(--ochre); }
.pe-dcard--conduct { border-top-color: var(--ink); }
.pe-dcard__top { display: flex; justify-content: space-between; align-items: center; gap: .5rem; margin-bottom: .5rem; }
.pe-dcard__tag { display: inline-flex; align-items: center; gap: .3rem; min-width: 0; margin: 0; padding: .12rem .5rem .12rem .4rem; border-radius: 999px; background: var(--euc-tint); color: var(--euc-deep); font: 600 .76rem/1.35 var(--f-body); }
.pe-dcard__tag span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pe-dcard--prof .pe-dcard__tag { background: var(--ocean-tint); color: var(--ocean-deep); }
.pe-dcard--topic .pe-dcard__tag { background: var(--ochre-tint); color: var(--ochre-text); }
.pe-dcard--free .pe-dcard__tag { background: var(--wattle-tint); color: #6B4A00; }
.pe-dcard--conduct .pe-dcard__tag { background: #E6E8EC; color: var(--ink); }
.pe-dcard__hrs { flex: none; display: inline-flex; align-items: center; gap: .25rem; margin: 0; font-size: .8rem; font-weight: 600; color: var(--muted); white-space: nowrap; }
.pe-dcard__title { margin: 0 0 .3rem; font-size: .98rem; line-height: 1.32; letter-spacing: -.01em; }
.pe-dcard__title a { color: var(--ink); text-decoration: none; }
.pe-dcard:hover .pe-dcard__title a { color: var(--euc); text-decoration: underline; text-decoration-thickness: 1px; }
.pe-dcard__sub { margin: 0 0 .65rem; font-size: .87rem; line-height: 1.42; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pe-dcard__foot { margin-top: auto; padding-top: .6rem; border-top: 1px solid var(--sand-2); display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.pe-dcard__price { margin: 0; font: 700 1.12rem/1 var(--f-head); letter-spacing: -.02em; color: var(--ink); }
.pe-dcard__price span { margin-left: .35rem; font: 400 .75rem/1 var(--f-body); letter-spacing: 0; color: var(--muted); }
.pe-dcard__buy { position: relative; z-index: 1; display: inline-flex; align-items: center; min-height: 36px; padding: .3rem .75rem; border-radius: var(--r-s); border: 1.5px solid var(--euc); color: var(--euc); background: var(--white); font-weight: 600; font-size: .86rem; text-decoration: none; white-space: nowrap; }
.pe-dcard__buy:hover { background: var(--euc); color: var(--white); text-decoration: none; }
.pe-dcard--free .pe-dcard__buy { background: var(--wattle); border-color: var(--wattle); color: var(--ink); }

/* ------------------------------------------------ Course archive */
.pe-ca-hero { position: relative; color: var(--white); background: url(../img/contours-light.svg) right -12rem center / 64rem auto no-repeat, var(--cx-hero); padding: 1.1rem 0 3.75rem; }
.pe-ca-hero h1 { color: var(--white); margin-bottom: .45rem; font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.4rem); }
.pe-ca-hero__lead { color: var(--on-dark); margin: 0; max-width: 62ch; font-size: 1.06rem; }
.pe-ca-hero__grid { display: grid; gap: 1.25rem; align-items: end; }
.pe-ca-hero__facts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.pe-ca-hero__facts li { display: flex; flex-direction: column; padding: .5rem .85rem; border-radius: var(--r-m); background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .2); line-height: 1.25; }
.pe-ca-hero__facts strong { font: 700 1.1rem/1.2 var(--f-head); color: var(--white); }
.pe-ca-hero__facts span { font-size: .85rem; color: var(--on-dark); }
.pe-ca-hero__facts a { color: var(--wattle); }
.pe-ca-hero__facts a:hover { color: var(--white); }
@media (min-width: 1000px) { .pe-ca-hero__grid { grid-template-columns: minmax(0, 1fr) auto; gap: 2.5rem; } .pe-ca-hero__facts { justify-content: flex-end; flex-wrap: nowrap; } .pe-ca-hero__facts li { white-space: nowrap; } }

.pe-ca { padding-bottom: var(--band); }
.pe-ca-filters { position: relative; z-index: 3; margin-top: -2.4rem; padding: 1rem 1.1rem .75rem; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-l); box-shadow: 0 18px 36px -22px rgba(16, 42, 31, .45), var(--shadow-1); display: grid; gap: .75rem 1rem; grid-template-columns: minmax(0, 1fr); }
.pe-ca-f { margin: 0; padding: 0; border: 0; min-width: 0; }
.pe-ca-f label, .pe-ca-f legend { display: block; margin: 0 0 .3rem; padding: 0; font: 600 .86rem/1.3 var(--f-body); color: var(--ink); }
.pe-ca-q { position: relative; }
.pe-ca-q .pe-micon { position: absolute; left: .75rem; top: 50%; transform: translateY(-50%); color: var(--muted); pointer-events: none; }
.pe-ca-filters input[type="search"], .pe-ca-filters select { width: 100%; min-height: 46px; padding: .5rem .75rem; border: 1.5px solid var(--line-2); border-radius: var(--r-s); background: var(--white); color: var(--ink); font: 400 1rem/1.3 var(--f-body); }
.pe-ca-filters input[type="search"] { padding-left: 2.35rem; }
.pe-ca-filters select { appearance: none; padding-right: 2.25rem; background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231F4D3A' stroke-width='2'/%3E%3C/svg%3E") right .85rem center / 12px 8px no-repeat; text-overflow: ellipsis; }
.pe-ca-filters input:focus-visible, .pe-ca-filters select:focus-visible { border-color: var(--ocean); }
.pe-ca-seg { display: flex; border: 1.5px solid var(--line-2); border-radius: var(--r-s); overflow: hidden; min-height: 46px; }
.pe-ca-seg label { flex: 1; margin: 0; position: relative; display: flex; }
.pe-ca-seg input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.pe-ca-seg label > span { flex: 1; display: grid; place-items: center; padding: .4rem .7rem; font-weight: 600; font-size: .92rem; color: var(--ink); white-space: nowrap; }
.pe-ca-seg label + label > span { border-left: 1.5px solid var(--line-2); }
.pe-ca-seg input:checked + span { background: var(--euc); color: var(--white); }
.pe-ca-seg input:focus-visible + span { box-shadow: inset 0 0 0 3px var(--ocean); }
.pe-ca-seg label:hover input:not(:checked) + span { background: var(--euc-50); }
.pe-ca-f--go { align-self: end; }
.pe-ca-filters.is-live .pe-ca-f--go { display: none; }
.pe-ca-status { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1.25rem; padding-top: .55rem; border-top: 1px solid var(--sand-2); }
.pe-ca-count { margin: 0; font: 600 .95rem/1.3 var(--f-head); color: var(--euc); }
.pe-ca-reset { display: inline-flex; align-items: center; min-height: 32px; font-weight: 600; font-size: .92rem; }
.pe-ca-reset[hidden] { display: none; }
.pe-ca-hint { margin: 0 0 0 auto; font-size: .85rem; color: var(--muted); }
@media (min-width: 760px) { .pe-ca-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) {
	.pe-ca-filters { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1.15fr) auto auto; padding: 1.1rem 1.25rem .8rem; }
	.pe-ca-filters.is-live { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1.15fr) auto; }
}
@media (max-width: 759px) { .pe-ca-hint { margin-left: 0; } }

.pe-ca-group { margin-top: 2rem; }
.pe-ca-group[hidden] { display: none; }
.pe-ca-group h2 { display: flex; align-items: center; gap: .6rem; margin: 0 0 .85rem; font-size: clamp(1.15rem, 1.05rem + .4vw, 1.35rem); }
.pe-ca-group__n { display: inline-grid; place-items: center; min-width: 2rem; height: 1.6rem; padding: 0 .45rem; border-radius: 999px; background: var(--euc-tint); color: var(--euc-deep); font: 700 .82rem/1 var(--f-body); }
.pe-ca-group--free { margin-top: 1.5rem; }
.pe-ca-group--free h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pe-ca-group--free .pe-dcards { grid-template-columns: minmax(0, 1fr); }
.pe-ca-group--free .pe-dcard { background: linear-gradient(100deg, var(--wattle-tint), var(--white) 60%); border-top-width: 1px; border-left: 5px solid var(--wattle); border-top-color: var(--line); }
@media (min-width: 760px) {
	.pe-ca-group--free .pe-dcard { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; column-gap: 1.25rem; padding: .8rem 1.1rem; }
	.pe-ca-group--free .pe-dcard__top { grid-column: 1; grid-row: 1 / span 2; flex-direction: column; align-items: flex-start; margin: 0; }
	.pe-ca-group--free .pe-dcard__title { grid-column: 2; margin: 0; font-size: 1.05rem; }
	.pe-ca-group--free .pe-dcard__sub { grid-column: 2; margin: .1rem 0 0; }
	.pe-ca-group--free .pe-dcard__foot { grid-column: 3; grid-row: 1 / span 2; margin: 0; padding: 0; border: 0; gap: 1rem; }
}
.pe-ca-empty { margin-top: 2rem; padding: 1.5rem; border: 1px dashed #B9AF9C; border-radius: var(--r-m); background: var(--sand-50); }
.pe-ca-empty[hidden] { display: none; }
.pe-ca-empty h2 { font-size: 1.2rem; }
.pe-ca-progs { display: grid; gap: 1rem; align-items: center; margin-top: 2.5rem; padding: 1.25rem 1.4rem; border-radius: var(--r-l); background: var(--cx-hero); color: var(--on-dark); }
.pe-ca-progs__ico { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .12); color: var(--wattle); }
.pe-ca-progs h2 { color: var(--white); font-size: 1.2rem; margin: 0 0 .3rem; }
.pe-ca-progs p { margin: 0; max-width: 70ch; }
@media (min-width: 820px) { .pe-ca-progs { grid-template-columns: auto minmax(0, 1fr) auto; } }

/* ------------------------------------------------ Blog, search, expert profile: shared compact hero */
.pe-bl-hero { color: var(--white); background: url(../img/contours-light.svg) right -12rem center / 60rem auto no-repeat, var(--cx-hero); padding: 1.1rem 0 2rem; }
.pe-bl-hero h1 { color: var(--white); max-width: 30ch; font-size: clamp(1.7rem, 1.2rem + 1.7vw, 2.35rem); margin-bottom: .45rem; }
.pe-bl-hero__cat { margin: 0 0 .5rem; font-weight: 600; font-size: .92rem; color: #F6D88A; }
.pe-bl-hero__cat a { color: #F6D88A; }
.pe-bl-hero__cat a:hover { color: var(--white); }
.pe-bl-hero__lead { color: var(--on-dark); font-size: 1.08rem; max-width: 64ch; margin: 0; }
.pe-bl-meta { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; margin: 1rem 0 0; padding: 0; color: var(--on-dark); font-size: .92rem; }
.pe-bl-meta li { display: inline-flex; align-items: center; gap: .4rem; }
.pe-bl-meta .pe-micon { color: var(--wattle); }

.pe-bl { display: grid; gap: 1.5rem; padding-top: 1.75rem; padding-bottom: 2.75rem; }
.pe-bl-article { min-width: 0; }
.pe-bl-article .pe-experts-box { margin-bottom: 1.25rem; }
.pe-bl-prose { max-width: 47rem; font-size: 1.1rem; line-height: 1.7; }
.pe-bl-prose > h2:first-child { margin-top: 0; }
.pe-bl-prose h2 { scroll-margin-top: calc(var(--pe-header-h, 80px) + 1rem); }
.pe-bl-prose h3 { scroll-margin-top: calc(var(--pe-header-h, 80px) + 1rem); }
.pe-bl-note { max-width: 47rem; }
.pe-bl-toc__h { margin: 0 0 .5rem; font: 600 .95rem/1.3 var(--f-head); color: var(--ink); }
.pe-bl-toc ol, .pe-bl-courses ul { list-style: none; margin: 0; padding: 0; }
.pe-bl-toc a { display: block; padding: .32rem 0 .32rem .75rem; border-left: 2px solid var(--line); color: var(--ink); text-decoration: none; font-size: .93rem; line-height: 1.35; }
.pe-bl-toc a:hover { color: var(--euc); border-left-color: var(--ochre); }
.pe-bl-toc a[aria-current] { color: var(--euc); border-left-color: var(--euc); font-weight: 600; background: linear-gradient(90deg, var(--euc-tint), transparent); }
.pe-bl-toc__l3 a { padding-left: 1.5rem; font-size: .88rem; }
.pe-bl-toc--inline { margin: 0 0 1.5rem; border: 1px solid var(--line); border-radius: var(--r-m); background: var(--sand-50); }
.pe-bl-toc--inline summary { cursor: pointer; min-height: 48px; display: flex; align-items: center; padding: 0 1rem; font: 600 1rem/1.2 var(--f-head); }
.pe-bl-toc--inline ol { padding: 0 1rem 1rem; }
.pe-bl-side { display: none; }
.pe-bl-courses li { padding: .5rem 0; border-bottom: 1px dashed var(--line); line-height: 1.3; }
.pe-bl-courses a { display: block; font-weight: 600; color: var(--ink); text-decoration: none; }
.pe-bl-courses a:hover { color: var(--euc); text-decoration: underline; }
.pe-bl-courses span { font-size: .85rem; color: var(--muted); }
@media (min-width: 1080px) {
	.pe-bl { grid-template-columns: minmax(0, 1fr) 18.5rem; gap: 3.5rem; align-items: start; }
	.pe-bl-toc--inline { display: none; }
	.pe-bl-side { display: grid; gap: 1rem; position: sticky; top: calc(var(--pe-header-h, 80px) + 1.25rem); max-height: calc(100vh - var(--pe-header-h, 80px) - 2rem); overflow-y: auto; padding: 2px; }
	.pe-bl-toc--side, .pe-bl-courses { padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: var(--r-m); background: var(--white); box-shadow: var(--shadow-1); }
	.pe-bl-courses { background: var(--euc-50); border-color: #CFDDD3; }
}

/* Blog index */
.pe-bl-index { padding-top: 1.5rem; padding-bottom: var(--band); }
.pe-bl-index .pe-catnav ul { margin-bottom: 1.25rem; }
.pe-bl-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); }
@media (min-width: 1100px) { .pe-bl-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pe-bl-card { position: relative; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--r-m); background: var(--white); box-shadow: var(--shadow-1); overflow: hidden; }
.pe-bl-card:hover { box-shadow: var(--shadow-2); border-color: var(--line-2); }
.pe-bl-card__img img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.pe-bl-card__body { display: flex; flex-direction: column; flex: 1; padding: 1rem 1.1rem 1rem; border-top: 3px solid var(--euc); }
.pe-bl-card__cat { margin: 0 0 .35rem; font-size: .85rem; font-weight: 700; color: var(--ochre-text); }
.pe-bl-card__title { font-size: 1.08rem; line-height: 1.32; margin: 0 0 .4rem; }
.pe-bl-card__title a { color: var(--ink); text-decoration: none; }
.pe-bl-card:hover .pe-bl-card__title a { color: var(--euc); text-decoration: underline; }
.pe-bl-card__ex { margin: 0 0 .75rem; font-size: .94rem; color: #36404D; line-height: 1.5; }
.pe-bl-card__meta { margin: auto 0 0; display: flex; align-items: center; gap: .5rem; font-size: .85rem; color: var(--muted); }
.pe-bl-card__meta span { width: 4px; height: 4px; border-radius: 50%; background: var(--line-2); }

/* Search */
.pe-sr__form { max-width: 44rem; margin-bottom: 2rem; }
.pe-sr .pe-sec + .pe-sec { margin-top: 2.25rem; }
.pe-sr__more { margin-top: 1rem; font-weight: 600; }

/* ------------------------------------------------ 404 */
.pe-nf-hero { color: var(--white); background: url(../img/contours-light.svg) right -12rem center / 60rem auto no-repeat, var(--cx-hero); padding: 2rem 0 2.25rem; }
.pe-nf-hero__grid { display: grid; gap: 1.5rem; align-items: center; }
.pe-nf-hero__code { margin: 0 0 .45rem; font-weight: 600; font-size: .92rem; color: #F6D88A; }
.pe-nf-hero h1 { color: var(--white); margin-bottom: .45rem; font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.45rem); }
.pe-nf-hero__lead { color: var(--on-dark); max-width: 58ch; margin: 0 0 1.25rem; font-size: 1.06rem; }
.pe-nf-search label { display: block; margin-bottom: .4rem; font-weight: 600; color: var(--white); }
.pe-nf-search__row { position: relative; display: flex; gap: .4rem; max-width: 38rem; padding: .35rem; background: var(--white); border-radius: var(--r-m); box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .55); }
.pe-nf-search__row > .pe-micon { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: var(--muted); pointer-events: none; }
.pe-nf-search input { flex: 1; min-width: 0; min-height: 48px; padding: .5rem .75rem .5rem 2.6rem; border: 0; border-radius: var(--r-s); background: transparent; color: var(--ink); font: 400 1.02rem/1.3 var(--f-body); }
.pe-nf-search input:focus-visible { box-shadow: inset 0 0 0 2px var(--ocean); }
.pe-nf-search .pe-btn { flex: none; }
.pe-nf-help { padding: 1.1rem 1.2rem; border-radius: var(--r-m); background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .22); color: var(--on-dark); }
.pe-nf-help__h { display: flex; align-items: center; gap: .5rem; margin: 0 0 .35rem; font: 600 1.05rem/1.3 var(--f-head); color: var(--white); }
.pe-nf-help__h .pe-micon { color: var(--wattle); }
.pe-nf-help p:last-child { margin: 0; }
@media (min-width: 960px) { .pe-nf-hero__grid { grid-template-columns: minmax(0, 1fr) 21rem; gap: 3rem; } }
.pe-nf { padding-top: 2rem; padding-bottom: var(--band); }
.pe-nf-sec + .pe-nf-sec { margin-top: 2.25rem; }
.pe-nf-sec h2 { font-size: clamp(1.2rem, 1.05rem + .5vw, 1.45rem); margin: 0 0 .9rem; }
.pe-nf-sec__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem 1rem; margin-bottom: .9rem; }
.pe-nf-sec__head h2 { margin: 0; }
.pe-nf-hubs { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); }
@media (min-width: 1100px) { .pe-nf-hubs { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pe-nf-hubs li { position: relative; display: flex; gap: .75rem; align-items: flex-start; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: var(--r-m); background: var(--white); box-shadow: var(--shadow-1); }
.pe-nf-hubs li:hover { border-color: var(--euc); box-shadow: var(--shadow-2); }
.pe-nf-hubs__ico { flex: none; width: 42px; height: 42px; border-radius: 10px; display: grid; place-items: center; background: var(--euc-tint); color: var(--euc); }
.pe-nf-hubs li:nth-child(4n+2) .pe-nf-hubs__ico { background: var(--ocean-tint); color: var(--ocean); }
.pe-nf-hubs li:nth-child(4n+3) .pe-nf-hubs__ico { background: var(--ochre-tint); color: var(--ochre-text); }
.pe-nf-hubs li:nth-child(4n+4) .pe-nf-hubs__ico { background: var(--wattle-tint); color: #6B4A00; }
.pe-nf-hubs a { font: 600 1rem/1.3 var(--f-head); color: var(--ink); text-decoration: none; }
.pe-nf-hubs li:hover a { color: var(--euc); text-decoration: underline; }
.pe-nf-hubs p { margin: .2rem 0 0; font-size: .9rem; line-height: 1.4; color: var(--muted); }

/* ------------------------------------------------ Expert profile */
.pe-xp-hero__grid { display: grid; gap: 1.25rem; align-items: center; }
.pe-xp-hero__grid { margin-top: .5rem; }
.pe-xp-hero__photo .pe-avatar--initials { display: grid; font-size: 2.6rem; }
.pe-xp-hero__photo .pe-avatar { margin: 6px; border-radius: 50%; box-shadow: 0 0 0 4px rgba(255, 255, 255, .15), 0 0 0 6px var(--wattle); }
.pe-xp-hero__pn { font-size: .6em; font-weight: 600; color: var(--on-dark); letter-spacing: 0; }
@media (min-width: 700px) { .pe-xp-hero__grid { grid-template-columns: auto minmax(0, 1fr); gap: 2rem; } }
.pe-xp { display: grid; gap: 1.5rem; padding-top: 2rem; padding-bottom: var(--band); }
.pe-xp__bio { min-width: 0; }
.pe-xp__bio h2 { font-size: 1.35rem; }
.pe-xp__facts { display: grid; gap: .9rem; align-content: start; }
.pe-xp__card { padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: var(--r-m); background: var(--white); box-shadow: var(--shadow-1); font-size: .95rem; }
.pe-xp__card p { margin: 0 0 .4rem; }
.pe-xp__card p:last-child, .pe-xp__card ul:last-child { margin-bottom: 0; }
.pe-xp__card ul { list-style: none; margin: 0; padding: 0; }
.pe-xp__card li { padding: .25rem 0; }
.pe-xp__card--muted { background: var(--sand); box-shadow: none; }
.pe-xp__k { display: flex; align-items: center; gap: .45rem; font: 600 .95rem/1.3 var(--f-head); }
.pe-xp__k .pe-micon { color: var(--euc); }
.pe-xp__v { font: 700 1.15rem/1.2 var(--f-head); letter-spacing: .02em; }
@media (min-width: 1000px) { .pe-xp { grid-template-columns: minmax(0, 1fr) 19rem; gap: 3.5rem; } }

/* Full course data on course pages and the archive: subtitles and tags are never clamped or cut. */
body:not(.home) .pe-dcard__sub { display: block; -webkit-line-clamp: unset; overflow: visible; }
body:not(.home) .pe-dcard__tag span { overflow: visible; text-overflow: clip; white-space: normal; }
