
.pa-catalog-page,.pa-course-page{max-width:1100px;margin:0 auto;padding:34px 24px 64px;color:var(--text-primary);font-family:var(--font-body,sans-serif)}
.pa-catalog-page>h1,.pa-course-hero h1{font-size:clamp(1.7rem,4vw,2.35rem);line-height:1.3;margin:0 0 12px;letter-spacing:-.025em}
.pa-catalog-intro,.pa-course-hero>p{color:var(--text-secondary);line-height:1.75;margin:0 0 26px;max-width:720px}
.pa-catalog [hidden],.pa-course-page [hidden]{display:none!important}
.pa-catalog-controls{display:grid;gap:14px;margin:24px 0 12px}
.pa-catalog button,.pa-catalog input{font:inherit}
.pa-catalog-switch,.pa-variant-switch{display:inline-flex;gap:3px;padding:4px;border:1px solid var(--border-card,var(--border-color));border-radius:12px;background:var(--bg-subtle);width:fit-content;max-width:100%}
.pa-catalog-switch button,.pa-variant-switch button{border:0;color:var(--text-secondary);background:transparent;border-radius:8px;padding:9px 22px;cursor:pointer;font-weight:600;white-space:nowrap}
.pa-catalog-switch button[aria-pressed=true],.pa-variant-switch button[aria-pressed=true]{background:var(--bg-card);color:var(--text-primary);box-shadow:0 1px 5px #00000012}
.pa-catalog-disciplines{display:flex;gap:8px;flex-wrap:wrap}
.pa-catalog-disciplines button{border:1px solid var(--border-card,var(--border-color));border-radius:999px;background:transparent;color:var(--text-secondary);padding:8px 15px;cursor:pointer}
.pa-catalog-disciplines button[aria-pressed=true]{background:var(--badge-bg);border-color:var(--primary-color);color:var(--primary-color);font-weight:600}
.pa-catalog-search{display:grid;gap:7px;color:var(--text-secondary);font-size:.85rem;max-width:430px;margin-top:5px}
.pa-catalog-search input{width:100%;min-width:0;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-card,var(--border-color));border-radius:10px;padding:12px 14px;font-size:.95rem}
.pa-catalog :is(button,input,a):focus-visible,.pa-course-page :is(a,summary):focus-visible{outline:3px solid var(--primary-color);outline-offset:3px}
.pa-catalog-count{font-size:.85rem;color:var(--text-muted,var(--text-secondary));margin:16px 0}
.pa-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.pa-catalog-card{min-width:0;border:1px solid var(--border-card,var(--border-color));border-radius:16px;padding:20px;background:var(--bg-card);display:flex;flex-direction:column;gap:17px}
.pa-variant-switch{width:100%;padding:3px;border-radius:9px;gap:2px}
.pa-variant-switch button{flex:1;padding:7px 5px;font-size:.82rem;border-radius:6px}
.pa-catalog-panel{display:flex;flex-direction:column;flex:1;gap:12px}
.pa-catalog-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.75rem;color:var(--text-muted,var(--text-secondary));min-height:26px}
.pa-catalog-meta>span:first-child{direction:ltr}
.pa-coming-soon{display:inline-block;font-size:.75rem;font-weight:700;color:#a78bfa;background:#8b5cf61c;border:1px solid #8b5cf645;border-radius:999px;padding:4px 11px}
html[data-mode=light] .pa-coming-soon,html[data-theme-mode=light] .pa-coming-soon{color:#6d28d9;background:#f3edff}
.pa-catalog-card h3{font-size:1.15rem;line-height:1.5;margin:0;color:var(--text-primary);font-weight:700}
.pa-catalog-card p{font-size:.88rem;line-height:1.7;color:var(--text-secondary);margin:0 0 8px;flex:1}
.pa-course-link{display:flex;justify-content:space-between;gap:8px;align-items:center;text-decoration:none;color:var(--primary-color);font-weight:600;font-size:.86rem;padding-top:12px;border-top:1px solid var(--border-card,var(--border-color))}
.pa-course-link:hover{text-decoration:underline}
.pa-course-unavailable{font-size:.83rem;color:var(--text-muted,var(--text-secondary));border-top:1px solid var(--border-card,var(--border-color));padding-top:12px}
.pa-catalog-empty{padding:28px 0;color:var(--text-secondary);text-align:center}
.pa-show-courses{display:block;margin:24px auto 0;padding:10px 22px;border:1px solid var(--border-card,var(--border-color));background:var(--bg-card);color:var(--text-primary);border-radius:10px;cursor:pointer}
.pa-home-catalog{padding:48px 0}.pa-home-catalog h2{font-size:clamp(1.7rem,4vw,2.1rem);margin:0 0 10px;color:var(--text-primary)}
.pa-home-catalog .pa-catalog-intro{margin-bottom:0}.pa-home-content{padding:28px 0;border-block:1px solid var(--border-card,var(--border-color))}
.pa-home-content h2{font-size:1.25rem;margin:0 0 8px}.pa-home-content p{color:var(--text-secondary);margin:0;line-height:1.7}
.pa-course-page{max-width:1000px}.pa-course-hero{padding:6px 0 28px;border-bottom:1px solid var(--border-card,var(--border-color))}
.pa-course-context{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:.85rem;color:var(--text-secondary);margin-bottom:15px}
.pa-course-context span{padding:4px 10px;border-radius:7px;background:var(--bg-subtle)}
.pa-course-versions{display:flex;gap:4px;width:fit-content;padding:4px;border:1px solid var(--border-card,var(--border-color));border-radius:10px;background:var(--bg-subtle);margin-bottom:20px}
.pa-course-versions a,.pa-course-versions span{padding:8px 20px;text-decoration:none;color:var(--text-secondary);font-size:.9rem;border-radius:7px}
.pa-course-versions [aria-current=page]{background:var(--bg-card);color:var(--text-primary);font-weight:600;box-shadow:0 1px 5px #00000012}
.pa-course-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.pa-primary-link{display:inline-block;background:var(--primary-color);color:var(--text-on-primary,#fff);border-radius:10px;padding:11px 19px;text-decoration:none;font-size:.9rem;font-weight:700}
.pa-secondary-link{font-size:.9rem;color:var(--primary-color);text-decoration:none}.pa-secondary-link:hover{text-decoration:underline}
.pa-course-section{padding:28px 0;border-bottom:1px solid var(--border-card,var(--border-color))}.pa-course-section h2{font-size:1.25rem;margin:0 0 20px;font-weight:700}
.pa-syllabus{padding:0 22px 0 0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 38px;color:var(--text-secondary);font-size:.95rem;line-height:1.65}
.pa-syllabus li{padding-right:3px;break-inside:avoid}.pa-syllabus li::marker{color:var(--primary-color)}
.pa-materials-empty{min-height:90px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--border-card,var(--border-color));border-radius:12px;color:var(--text-muted,var(--text-secondary));font-size:.9rem;padding:24px;text-align:center}
.pa-materials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pa-materials-grid a{padding:18px;border:1px solid var(--border-card,var(--border-color));border-radius:12px;color:var(--text-primary);text-decoration:none}
.pa-course-help{margin-top:22px;color:var(--text-secondary);font-size:.9rem;line-height:1.75}.pa-course-help summary{cursor:pointer;width:fit-content}.pa-course-help p{max-width:680px;margin:12px 0 0}
.pa-course-error{padding:70px 24px;text-align:center;max-width:720px;margin:auto}.pa-course-error h1{font-size:1.8rem;margin-bottom:18px}.pa-course-error p{color:var(--text-secondary);margin-bottom:26px}
@media(max-width:900px){.pa-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pa-catalog-page,.pa-course-page{padding:24px 18px 40px}.pa-catalog-grid{grid-template-columns:1fr}.pa-catalog-switch{width:100%}.pa-catalog-switch button{flex:1;padding:9px 8px}.pa-catalog-disciplines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pa-catalog-disciplines button{font-size:.85rem;padding:9px 6px;white-space:nowrap}.pa-catalog-search{max-width:none}.pa-catalog-card{padding:18px;gap:14px}.pa-syllabus,.pa-materials-grid{grid-template-columns:1fr}.pa-course-hero>p{margin-bottom:20px}.pa-course-actions{gap:12px 18px}.pa-home-catalog{padding:32px 0}.pa-course-context{font-size:.8rem}.pa-course-section{padding:24px 0}}

/* Compact card controls, with the institutional choice at physical top left. */
.pa-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px}
.pa-card-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border-radius:11px;background:var(--badge-bg);color:var(--primary-color);border:1px solid var(--border-card,var(--border-color))}
.pa-catalog-card .pa-variant-switch{width:auto;max-width:none;margin-inline-start:auto;padding:2px;gap:1px;border-radius:8px;background:transparent}
.pa-catalog-card .pa-variant-switch button{flex:none;padding:5px 9px;font-size:.7rem;line-height:1.35;border-radius:6px;font-weight:500}
.pa-catalog-card .pa-variant-switch button[aria-pressed=true]{background:var(--badge-bg);color:var(--primary-color);box-shadow:none;font-weight:700}
.pa-catalog-card{position:relative;overflow:hidden;border-radius:18px;padding:21px;gap:18px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;box-shadow:0 3px 12px #00000006}
.pa-catalog-card::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(to left,var(--primary-color),transparent 75%);opacity:.45}
.pa-catalog-card:hover{border-color:var(--primary-color);box-shadow:0 9px 24px #00000014;transform:translateY(-2px)}
.pa-catalog-card h3{font-size:1.2rem;line-height:1.45}.pa-catalog-card p{font-size:.89rem;line-height:1.8;margin-bottom:8px}
.pa-catalog-panel{gap:10px}.pa-catalog-panel>.pa-coming-soon{width:fit-content;margin-bottom:2px}
.pa-catalog-card .pa-course-link{padding-top:14px;font-size:.85rem}.pa-course-unavailable{padding-top:14px}
.pa-catalog-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,340px);gap:12px 24px;align-items:end}
.pa-catalog-controls>.pa-catalog-switch{grid-column:1;grid-row:1}.pa-catalog-disciplines{grid-column:1;grid-row:2}.pa-catalog-search{grid-column:2;grid-row:1 / span 2;width:100%;justify-self:end;margin:0}
@media(prefers-reduced-motion:reduce){.pa-catalog-card{transition:none}.pa-catalog-card:hover{transform:none}}
@media(max-width:760px){.pa-catalog-controls{grid-template-columns:1fr}.pa-catalog-controls>.pa-catalog-switch,.pa-catalog-disciplines,.pa-catalog-search{grid-column:1;grid-row:auto}.pa-catalog-search{max-width:none;justify-self:stretch}.pa-catalog-card{padding:19px}.pa-card-top{gap:8px}.pa-catalog-card .pa-variant-switch button{padding:6px 10px}.pa-catalog-card h3{font-size:1.18rem}}

/* Discipline colors tint only the course cards; the global site theme is retained. */
.pa-catalog-card{--pa-card-accent:var(--primary-color)}
.pa-catalog-card[data-discipline=electrical]{--pa-card-accent:#2563bb}
.pa-catalog-card[data-discipline=chemical]{--pa-card-accent:#7951b0}
.pa-catalog-card[data-discipline=civil]{--pa-card-accent:#956b46}
.pa-catalog-card[data-discipline=mechanical]{--pa-card-accent:#b95012}
html[data-mode=dark] .pa-catalog-card[data-discipline=electrical]{--pa-card-accent:#85b9ff}
html[data-mode=dark] .pa-catalog-card[data-discipline=chemical]{--pa-card-accent:#c3a2f2}
html[data-mode=dark] .pa-catalog-card[data-discipline=civil]{--pa-card-accent:#d5b796}
html[data-mode=dark] .pa-catalog-card[data-discipline=mechanical]{--pa-card-accent:#ffae72}
.pa-catalog-card[data-track=engineering]{background:linear-gradient(145deg,color-mix(in srgb,var(--pa-card-accent) 7%,var(--bg-card)),var(--bg-card) 80%);border-color:color-mix(in srgb,var(--pa-card-accent) 22%,var(--border-card))}
.pa-catalog-card::before{background:linear-gradient(to left,var(--pa-card-accent),transparent 85%);opacity:.7}
.pa-catalog-card:hover{border-color:var(--pa-card-accent)}
.pa-catalog-card .pa-card-icon{color:var(--pa-card-accent);background:color-mix(in srgb,var(--pa-card-accent) 10%,var(--bg-card));border-color:color-mix(in srgb,var(--pa-card-accent) 18%,var(--border-card))}
.pa-catalog-card .pa-variant-switch button[aria-pressed=true]{color:var(--pa-card-accent);background:color-mix(in srgb,var(--pa-card-accent) 10%,var(--bg-card))}
.pa-catalog-card .pa-course-link{color:var(--pa-card-accent)}

/* Editorial course covers: original line illustrations, restrained pastel fields. */
.pa-catalog-card{padding:0;gap:0;border-radius:15px;background:var(--bg-card)!important;box-shadow:0 4px 13px #0000000a}
.pa-catalog-card::before{display:none}
.pa-card-top{height:157px;min-height:0;display:block;margin:0;border-bottom:1px solid color-mix(in srgb,var(--pa-card-accent) 18%,var(--border-card));background:color-mix(in srgb,var(--pa-card-accent) 18%,#fff);isolation:isolate;overflow:hidden}
.pa-card-illustration{position:absolute;inset:0;color:#253950;pointer-events:none}
.pa-card-illustration svg{width:100%;height:100%;display:block}
.pa-catalog-card .pa-variant-switch{position:absolute;top:12px;left:12px;z-index:1;width:auto;margin:0;gap:1px;padding:3px;background:#ffffffde;border:1px solid #ffffff;border-radius:7px;box-shadow:0 1px 4px #1e293b10}
.pa-catalog-card .pa-variant-switch button{color:#445568;padding:5px 8px;font-size:.69rem;line-height:1.35;min-height:25px;border-radius:4px}
.pa-catalog-card .pa-variant-switch button[aria-pressed=true]{background:#243a51;color:white;font-weight:600}
.pa-catalog-panel{padding:20px 21px;gap:11px;flex:1}
.pa-catalog-panel h3{font-size:1.15rem;margin:0;line-height:1.5}
.pa-catalog-panel p{font-size:.87rem;line-height:1.8;min-height:3.6em;margin:0 0 4px}
.pa-catalog-card .pa-course-link{font-size:.83rem;padding-top:13px;border-top-color:var(--border-card)}
.pa-course-unavailable{font-size:.82rem;padding-top:13px}
@media(max-width:600px){.pa-catalog-card{padding:0}.pa-card-top{height:158px}.pa-catalog-panel{padding:19px 20px}.pa-catalog-card .pa-variant-switch button{padding:6px 9px}}

.pa-catalog-technicians{display:flex;gap:8px;flex-wrap:wrap;grid-column:1;grid-row:2}
.pa-catalog-technicians button{border:1px solid var(--border-card,var(--border-color));border-radius:999px;background:transparent;color:var(--text-secondary);padding:8px 15px;cursor:pointer;font:inherit;font-size:.9rem}
.pa-catalog-technicians button[aria-pressed=true]{background:var(--badge-bg);border-color:var(--primary-color);color:var(--primary-color);font-weight:600}
@media(max-width:760px){.pa-catalog-technicians{grid-column:1;grid-row:auto}}

/* Keep titles readable independently of the surrounding page's light/dark theme. */
.pa-card-illustration svg{transform:translateY(-12px)}
.pa-catalog-card{--pa-card-link:#255b85}
.pa-catalog-card[data-discipline=electrical]{--pa-card-link:#245fa8}
.pa-catalog-card[data-discipline=chemical]{--pa-card-link:#71459f}
.pa-catalog-card[data-discipline=civil]{--pa-card-link:#885d36}
.pa-catalog-card[data-discipline=mechanical]{--pa-card-link:#a34615}
.pa-catalog-panel{background:#fdfdfe;color:#172d44}
.pa-catalog-panel h3{color:#10283f;font-weight:800;font-size:1.25rem;line-height:1.45;letter-spacing:-.015em}
.pa-catalog-panel p{color:#435369}
.pa-catalog-card .pa-course-link{color:var(--pa-card-link);border-top-color:#e5eaf0;font-weight:700}
.pa-catalog-panel .pa-course-unavailable{color:#596a7d;border-top-color:#e5eaf0}
.pa-catalog-panel .pa-coming-soon{color:#7042a0;background:#f2ebfc;border-color:#dccbf1}

.pa-catalog-card .pa-card-top{position:relative;flex:none}

.pa-catalog-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pa-study-year{font-size:.8rem;color:#526279;font-weight:600}
.pa-catalog-panel p{font-size:.9375rem}

/* Pearl covers and a separate night palette keep the course name easy to read. */
.pa-catalog-card{--pa-accent-rgb:50,120,165;--pa-cover-from:#edf7fc;--pa-cover-to:#c5e3ef;--pa-cover-night-from:#193247;--pa-cover-night-to:#122434;--pa-cover-ink:#35546a;--pa-link-day:#215f89;--pa-link-night:#9bd8fb;--pa-card-surface:#fff;--pa-card-ink:#142c45;--pa-card-copy:#43566b;--pa-card-divider:#e3eaf2;--pa-card-border:rgba(var(--pa-accent-rgb),.23)}
.pa-catalog-card[data-discipline=electrical]{--pa-accent-rgb:42,122,229;--pa-cover-from:#eef6ff;--pa-cover-to:#b9d8ff;--pa-cover-night-from:#193a60;--pa-cover-night-to:#142842;--pa-cover-ink:#355b85;--pa-link-day:#245fa8;--pa-link-night:#9acbff}
.pa-catalog-card[data-discipline=chemical]{--pa-accent-rgb:139,84,215;--pa-cover-from:#f7f0ff;--pa-cover-to:#d9c2f7;--pa-cover-night-from:#3b2859;--pa-cover-night-to:#251d3c;--pa-cover-ink:#645078;--pa-link-day:#7346a3;--pa-link-night:#d1b0ff}
.pa-catalog-card[data-discipline=civil]{--pa-accent-rgb:158,111,66;--pa-cover-from:#fff7ef;--pa-cover-to:#e8d0b8;--pa-cover-night-from:#44342c;--pa-cover-night-to:#2e2625;--pa-cover-ink:#715841;--pa-link-day:#885932;--pa-link-night:#edc49b}
.pa-catalog-card[data-discipline=mechanical]{--pa-accent-rgb:229,128,51;--pa-cover-from:#fff7ed;--pa-cover-to:#ffd4ad;--pa-cover-night-from:#4b3027;--pa-cover-night-to:#2e2326;--pa-cover-ink:#875b3c;--pa-link-day:#a34a19;--pa-link-night:#ffc18f}
.pa-catalog-card{background:var(--pa-card-surface)!important;border:1px solid var(--pa-card-border);border-radius:18px;box-shadow:0 6px 20px #19334c0b,0 1px 3px #19334c07;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}
.pa-catalog-card:hover{border-color:rgba(var(--pa-accent-rgb),.6);box-shadow:0 14px 32px rgba(var(--pa-accent-rgb),.13),0 2px 5px #1830440b;transform:translateY(-3px)}
.pa-catalog-card .pa-card-top{background:linear-gradient(135deg,#ffffffb8 0%,#ffffff00 54%),linear-gradient(115deg,var(--pa-cover-from),var(--pa-cover-to));border-bottom-color:rgba(var(--pa-accent-rgb),.18)}
.pa-card-top::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 1px 0 #ffffffcc;background:linear-gradient(145deg,#ffffff28,#ffffff00 44%)}
.pa-card-illustration{color:var(--pa-cover-ink);opacity:.77}
.pa-catalog-card .pa-catalog-panel{background:var(--pa-card-surface);color:var(--pa-card-ink);padding:21px 22px 20px;gap:12px}
.pa-catalog-card .pa-catalog-panel h3{color:var(--pa-card-ink);font-size:1.3rem;line-height:1.45;font-weight:800;letter-spacing:-.015em}
.pa-catalog-card .pa-catalog-panel p{color:var(--pa-card-copy);font-size:.9375rem;line-height:1.8}
.pa-catalog-card .pa-course-link{color:var(--pa-link-day);border-top-color:var(--pa-card-divider);font-weight:700}
.pa-catalog-card .pa-course-unavailable{color:var(--pa-card-copy);border-top-color:var(--pa-card-divider)}
.pa-catalog-card .pa-variant-switch{background:#fffffff2;border-color:#ffffff;box-shadow:0 2px 8px #253d5b14;backdrop-filter:blur(8px)}
.pa-catalog-card .pa-variant-switch button{color:#465c74}
.pa-catalog-card .pa-variant-switch button[aria-pressed=true]{background:#243d58;color:#fff;box-shadow:0 1px 3px #15273b20}
.pa-study-year{color:var(--pa-card-copy)}
.pa-catalog-card .pa-coming-soon{color:#6d3999;background:linear-gradient(115deg,#f4ebff,#eadefa);border-color:#d6bfee;box-shadow:inset 0 1px 0 #ffffffaa}
.pa-catalog-intro{max-width:850px}
.pa-catalog-guidance{display:inline-block;margin-top:6px}
html[data-mode=dark] .pa-catalog-card{--pa-card-surface:#152131;--pa-card-ink:#f4f8ff;--pa-card-copy:#bdcddd;--pa-card-divider:#2b3b50;--pa-card-border:rgba(var(--pa-accent-rgb),.38);box-shadow:0 8px 24px #00000029,inset 0 1px 0 #ffffff07}
html[data-mode=dark] .pa-catalog-card .pa-card-top{background:linear-gradient(135deg,#ffffff10,#ffffff00 54%),linear-gradient(115deg,var(--pa-cover-night-from),var(--pa-cover-night-to));border-bottom-color:rgba(var(--pa-accent-rgb),.25)}
html[data-mode=dark] .pa-card-top::after{box-shadow:inset 0 1px 0 #ffffff1c;background:linear-gradient(145deg,#ffffff0e,#ffffff00 44%)}
html[data-mode=dark] .pa-card-illustration{color:var(--pa-link-night);opacity:.64}
html[data-mode=dark] .pa-catalog-card .pa-course-link{color:var(--pa-link-night)}
html[data-mode=dark] .pa-catalog-card .pa-variant-switch{background:#122031e8;border-color:#ffffff24;box-shadow:0 2px 8px #00000018}
html[data-mode=dark] .pa-catalog-card .pa-variant-switch button{color:#c5d4e5}
html[data-mode=dark] .pa-catalog-card .pa-variant-switch button[aria-pressed=true]{background:#344f70;color:#fff;box-shadow:inset 0 1px 0 #ffffff1c}
html[data-mode=dark] .pa-catalog-card .pa-coming-soon{color:#e1c9ff;background:linear-gradient(115deg,#483164,#33274b);border-color:#765697;box-shadow:inset 0 1px 0 #ffffff10}
html[data-mode=dark] .pa-catalog-card:hover{box-shadow:0 16px 34px #00000035,0 0 22px rgba(var(--pa-accent-rgb),.13)}
@media(prefers-reduced-motion:reduce){.pa-catalog-card{transition:none}.pa-catalog-card:hover{transform:none}}

.pa-catalog-school-subjects{display:flex;gap:8px;flex-wrap:wrap;grid-column:1;grid-row:2}
.pa-catalog-school-subjects button{border:1px solid var(--border-card,var(--border-color));border-radius:999px;background:transparent;color:var(--text-secondary);padding:8px 15px;cursor:pointer;font:inherit;font-size:.9rem}
.pa-catalog-school-subjects button[aria-pressed=true]{background:var(--badge-bg);border-color:var(--primary-color);color:var(--primary-color);font-weight:600}
@media(max-width:760px){.pa-catalog-school-subjects{grid-column:1;grid-row:auto}}

.pa-catalog-page>h1,.pa-home-catalog h2{text-align:center;font-family:var(--font-heading,sans-serif);font-size:clamp(2.2rem,5.3vw,3.7rem);font-weight:900;line-height:1.2;letter-spacing:-.035em;margin-bottom:20px}
.pa-catalog-page>.pa-catalog-intro,.pa-home-catalog>.container>.pa-catalog-intro{text-align:center;margin-inline:auto;line-height:1.85}
@media(max-width:600px){.pa-catalog-page>h1,.pa-home-catalog h2{font-size:clamp(2rem,8.7vw,2.65rem);line-height:1.24;margin-bottom:16px}}

/* Reuse the Rubik and Heebo families already used by the home page. */
.pa-catalog-page>h1,.pa-home-catalog h2,.pa-catalog-panel h3{font-family:'Rubik',var(--font-heading,sans-serif)}
.pa-catalog-card{font-family:'Heebo',var(--font-body,sans-serif)}

/* Stronger light-mode color fields; copy remains on its own neutral surface. */
.pa-catalog-card{--pa-cover-from:#d6eff8;--pa-cover-to:#9ed3e6}
.pa-catalog-card[data-discipline=electrical]{--pa-cover-from:#bedcff;--pa-cover-to:#77acf0}
.pa-catalog-card[data-discipline=chemical]{--pa-cover-from:#ddc7f4;--pa-cover-to:#ad77dc}
.pa-catalog-card[data-discipline=civil]{--pa-cover-from:#edd9c4;--pa-cover-to:#ce9b6c}
.pa-catalog-card[data-discipline=mechanical]{--pa-cover-from:#ffe0bf;--pa-cover-to:#f3a25f}
.pa-catalog-card .pa-card-top{background:linear-gradient(135deg,#ffffff59 0%,#ffffff00 54%),linear-gradient(115deg,var(--pa-cover-from),var(--pa-cover-to))}
html[data-mode=dark] .pa-catalog-card .pa-card-top{background:linear-gradient(135deg,#ffffff10,#ffffff00 54%),linear-gradient(115deg,var(--pa-cover-night-from),var(--pa-cover-night-to))}

/* Course pages: the supplied syllabus, with a restrained illustrated introduction. */
.pa-course-page{--pa-course-rgb:42,122,229;--pa-course-accent:#245fa8;--pa-course-tint:#e0ecff;max-width:1100px;font-family:'Heebo',var(--font-body,sans-serif)}
.pa-course-page[data-discipline=chemical]{--pa-course-rgb:139,84,215;--pa-course-accent:#7346a3;--pa-course-tint:#ecdffb}
.pa-course-page[data-discipline=civil]{--pa-course-rgb:158,111,66;--pa-course-accent:#885932;--pa-course-tint:#f0e1d1}
.pa-course-page[data-discipline=mechanical]{--pa-course-rgb:229,128,51;--pa-course-accent:#a34a19;--pa-course-tint:#ffe6cb}
.pa-course-page h1,.pa-course-page h2,.pa-course-page h3{font-family:'Rubik',var(--font-heading,sans-serif)}
.pa-course-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.75fr) minmax(220px,1fr);gap:28px;align-items:center;padding:38px;border:1px solid rgba(var(--pa-course-rgb),.23);border-radius:24px;background:linear-gradient(125deg,rgba(var(--pa-course-rgb),.10),transparent 70%),var(--bg-card);box-shadow:0 10px 32px #142e4810;isolation:isolate;animation:pa-course-enter .55s ease both}
.pa-course-hero-art{grid-column:2;grid-row:1;min-width:0;color:var(--pa-course-accent);background:linear-gradient(145deg,var(--pa-course-tint),#ffffff80);border:1px solid rgba(var(--pa-course-rgb),.17);border-radius:24px;overflow:hidden;box-shadow:inset 0 1px 0 #ffffffaa;animation:pa-course-float 8s ease-in-out infinite}
.pa-course-hero-art svg{width:100%;height:auto;display:block;opacity:.78}
.pa-course-hero-copy{grid-column:1;grid-row:1;min-width:0}
.pa-course-hero h1{font-size:clamp(2rem,4vw,3.2rem);font-weight:800;margin:16px 0 14px;letter-spacing:-.03em}
.pa-course-hero-copy>p{color:var(--text-secondary);line-height:1.85;margin:0 0 22px;font-size:1rem;max-width:650px}
.pa-course-context{gap:8px;margin-bottom:0}
.pa-course-context span{background:rgba(var(--pa-course-rgb),.08);border:1px solid rgba(var(--pa-course-rgb),.14);color:var(--pa-course-accent);border-radius:999px;font-size:.8rem;padding:5px 12px}
.pa-course-actions .pa-primary-link{box-shadow:0 4px 12px rgba(var(--pa-course-rgb),.19);transition:transform .2s ease,box-shadow .2s ease}
.pa-course-actions .pa-primary-link:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(var(--pa-course-rgb),.25)}
.pa-course-hero-copy .pa-course-hero-note{font-size:.8rem;color:var(--text-muted,var(--text-secondary));margin:18px 0 0}
.pa-course-hero-note span{padding:0 8px}
.pa-course-section{padding:30px 32px;margin-top:22px;border:1px solid var(--border-card,var(--border-color));border-radius:20px;background:var(--bg-card);box-shadow:0 4px 18px #152d4307;animation:pa-course-enter .55s ease both}
.pa-course-section:nth-of-type(2){animation-delay:.08s}.pa-course-section:nth-of-type(3){animation-delay:.14s}
.pa-section-heading{border-inline-start:3px solid var(--pa-course-accent);padding-inline-start:14px;margin-bottom:20px}
.pa-section-kicker{display:block;font-size:.75rem;font-weight:600;color:var(--pa-course-accent);margin-bottom:5px;letter-spacing:.02em}
.pa-section-heading h2{margin:0;font-size:1.6rem;line-height:1.4;font-weight:700}
.pa-course-overview{color:var(--text-secondary);line-height:1.95;max-width:870px;margin:0 0 24px;font-size:1rem}
.pa-syllabus{list-style:none;padding:0;gap:10px 14px;align-items:start}
.pa-syllabus li{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border:1px solid var(--border-card,var(--border-color));border-radius:10px;background:var(--bg-subtle);font-size:.92rem;line-height:1.6;transition:border-color .18s ease,background .18s ease}
.pa-syllabus li::before{content:'✓';display:flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;margin-top:2px;border-radius:50%;background:rgba(var(--pa-course-rgb),.1);color:var(--pa-course-accent);font-size:.72rem;font-weight:700}
.pa-syllabus li:hover{border-color:rgba(var(--pa-course-rgb),.4);background:rgba(var(--pa-course-rgb),.04)}
.pa-study-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pa-study-option{position:relative;min-width:0;padding:20px;border-radius:14px;border:1px solid var(--border-card,var(--border-color));background:var(--bg-subtle)}
.pa-study-number{display:inline-block;font-size:.85rem;font-weight:700;color:var(--pa-course-accent);background:rgba(var(--pa-course-rgb),.09);border-radius:8px;padding:4px 8px;margin-bottom:12px}
.pa-study-option h3{font-size:1rem;line-height:1.5;margin:0 0 9px;color:var(--text-primary)}
.pa-study-option p{font-size:.9rem;color:var(--text-secondary);line-height:1.85;margin:0 0 12px}
.pa-study-option a{color:var(--pa-course-accent);font-size:.84rem;font-weight:600;text-decoration:none}.pa-study-option a:hover{text-decoration:underline}
.pa-study-access-note{color:var(--text-muted,var(--text-secondary));font-size:.8rem;margin:17px 0 0}
.pa-materials-empty{min-height:110px;background:linear-gradient(135deg,rgba(var(--pa-course-rgb),.035),transparent);border-color:rgba(var(--pa-course-rgb),.3);line-height:1.8}
.pa-course-help{padding:17px 22px;border:1px solid var(--border-card,var(--border-color));border-radius:14px;background:var(--bg-card)}
html[data-mode=dark] .pa-course-page{--pa-course-accent:#9acbff;--pa-course-tint:#1c3a5b}
html[data-mode=dark] .pa-course-page[data-discipline=chemical]{--pa-course-accent:#d1b0ff;--pa-course-tint:#3a2856}
html[data-mode=dark] .pa-course-page[data-discipline=civil]{--pa-course-accent:#edc49b;--pa-course-tint:#44342c}
html[data-mode=dark] .pa-course-page[data-discipline=mechanical]{--pa-course-accent:#ffc18f;--pa-course-tint:#4b3027}
html[data-mode=dark] .pa-course-hero-art{background:linear-gradient(145deg,var(--pa-course-tint),#162331);box-shadow:inset 0 1px 0 #ffffff14}
@keyframes pa-course-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes pa-course-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:760px){.pa-course-hero{padding:26px;gap:20px;grid-template-columns:1fr}.pa-course-hero-art{grid-column:1;grid-row:1;max-height:150px}.pa-course-hero-art svg{height:150px;object-fit:cover}.pa-course-hero-copy{grid-column:1;grid-row:2}.pa-study-options{grid-template-columns:1fr}.pa-course-section{padding:24px}.pa-course-context{font-size:.8rem}}
@media(max-width:600px){.pa-course-page{padding:24px 16px 40px}.pa-course-hero{padding:20px;border-radius:18px}.pa-course-hero h1{font-size:2.1rem}.pa-course-section{padding:22px 18px;border-radius:16px}.pa-section-heading h2{font-size:1.4rem}.pa-course-overview{font-size:.95rem}.pa-syllabus{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.pa-course-hero,.pa-course-hero-art,.pa-course-section{animation:none}.pa-syllabus li,.pa-course-actions .pa-primary-link{transition:none}.pa-course-actions .pa-primary-link:hover{transform:none}}

.pa-syllabus-notice{font-size:.76rem;line-height:1.9;color:var(--text-muted,var(--text-secondary));margin:22px 0 0;padding-top:16px;border-top:1px solid var(--border-card,var(--border-color));max-width:900px}
.pa-syllabus-notice a{color:var(--pa-course-accent);text-decoration:underline;text-underline-offset:3px}

/* Compact course introduction: the actions sit directly below the illustration. */
.pa-course-hero{padding:26px 30px;gap:32px;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);border-radius:20px}
.pa-course-hero-side{grid-column:2;grid-row:1;min-width:0;display:flex;flex-direction:column;gap:12px}
.pa-course-hero-side .pa-course-hero-art{border-radius:16px;animation:none}
.pa-course-hero h1{font-size:clamp(1.9rem,3.4vw,2.6rem);margin:12px 0 10px}
.pa-course-hero-copy>p{margin-bottom:16px;font-size:.95rem}
.pa-course-enroll{display:flex;flex-direction:column;gap:8px;margin:0}
.pa-register-cta,.pa-membership-cta{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;min-height:40px;border-radius:10px;text-decoration:none;font-size:.8rem;font-weight:600;line-height:1.5;text-align:center;transition:transform .18s ease,box-shadow .18s ease}
.pa-register-cta{background:linear-gradient(110deg,#9dd758,#86c847);color:#183518;border:1px solid #85be48;box-shadow:inset 0 1px 0 #ffffff55}
.pa-membership-cta{background:linear-gradient(110deg,#367af6,#245fdb);color:#fff;border:1px solid #2461da;box-shadow:inset 0 1px 0 #ffffff30}
.pa-register-cta:hover,.pa-membership-cta:hover{transform:translateY(-1px);box-shadow:0 4px 12px #23543a20}
.pa-cta-arrow{display:flex;align-items:center;justify-content:center;flex:none;border:1px solid currentColor;border-radius:50%;width:18px;height:18px;font-size:.8rem;line-height:1}
.pa-course-benefits{margin-top:15px}
.pa-course-benefits .pa-membership-benefits{color:var(--text-secondary);line-height:1.75;margin:0 0 5px;font-size:.83rem}
.pa-membership-terms{color:var(--text-muted,var(--text-secondary));font-size:.7rem;text-decoration:underline;text-underline-offset:3px}
.pa-course-benefits>.pa-secondary-link{display:block;margin-top:12px;font-size:.8rem}
.pa-course-hero-copy .pa-course-hero-note{margin:14px 0 0;font-size:.76rem}
@media(max-width:760px){.pa-course-hero{padding:22px;gap:20px;grid-template-columns:1fr}.pa-course-hero-copy{grid-column:1;grid-row:1}.pa-course-hero-side{grid-column:1;grid-row:2;width:100%;max-width:340px;justify-self:center}.pa-course-hero-side .pa-course-hero-art{max-height:140px}.pa-course-hero-side .pa-course-hero-art svg{height:140px;object-fit:cover}.pa-course-hero h1{font-size:2rem}}
@media(prefers-reduced-motion:reduce){.pa-register-cta,.pa-membership-cta{transition:none}.pa-register-cta:hover,.pa-membership-cta:hover{transform:none}}
