/* Subject editions: architectural illustrations, framed headers and generous type. */
.course-grid{gap:24px;align-items:stretch}
.course-card{--art:#ffa575;--card-glow:#b0643626;--card-ink:#ffe2cc;position:relative;border-radius:20px;border:1px solid var(--line);background:var(--panel);box-shadow:0 8px 28px #02081718;transition:transform .25s,border-color .25s,box-shadow .25s}
.course-card.art-data{--art:#9edbc7;--card-glow:#40887530;--card-ink:#cff6e9}
.course-card.art-ai{--art:#c2b2ff;--card-glow:#7860b638;--card-ink:#e3dbff}
.course-card.art-web{--art:#97ceff;--card-glow:#4379bd38;--card-ink:#d3eaff}
.course-card.art-apps{--art:#ecd094;--card-glow:#b18c4233;--card-ink:#fff1d2}
.course-card.art-systems{--art:#91cbd6;--card-glow:#398b9933;--card-ink:#d4f2f8}
.course-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--art) 55%,var(--line));box-shadow:0 24px 55px #02081540}
.course-card-main{padding:0;display:flex;flex-direction:column;height:100%;border-radius:20px;overflow:hidden;isolation:isolate}
.course-card-main:after{display:none}
.course-card-main:focus-visible{outline:3px solid var(--art);outline-offset:5px}
.course-card-header{position:relative;height:194px;flex:none;padding:20px 24px;background:radial-gradient(ellipse at 82% 45%,var(--card-glow),transparent 68%),linear-gradient(120deg,#13233b,#0a162b);border-bottom:1px solid color-mix(in srgb,var(--art) 24%,transparent);overflow:hidden}
.course-card-header:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#d3e3ff05 1px,transparent 1px),linear-gradient(90deg,#d3e3ff05 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none}
.course-card-header:after{content:"";position:absolute;top:0;left:24px;right:24px;height:1px;background:linear-gradient(90deg,var(--art),transparent);opacity:.65}
.course-card-top{position:relative;z-index:2;gap:12px;letter-spacing:1px;align-items:center}
.card-faculty{display:inline-flex;padding:6px 10px;border:1px solid color-mix(in srgb,var(--art) 35%,transparent);border-radius:6px;background:color-mix(in srgb,var(--art) 9%,transparent);color:var(--card-ink);font-size:10px;font-weight:700;letter-spacing:1.3px}
.card-header-label{font-size:7px;letter-spacing:1.1px;color:#b5c3d6;text-align:right;line-height:1.5;max-width:170px}
.card-art{position:absolute;inset:50px 0 20px;height:auto;margin:0;display:block;background:none}
.card-drawing{position:absolute;width:245px;height:186px;right:-7px;top:-30px;color:var(--art);opacity:.31;transform:rotate(-8deg);transition:transform .6s,opacity .6s}
.course-card:hover .card-drawing{transform:rotate(0) translateX(-3px);opacity:.48}
.course-card .art-symbol{position:absolute;left:24px;top:22px;color:var(--card-ink);font-family:Consolas,monospace;font-size:46px;font-weight:500;line-height:1.2;letter-spacing:-3px;transform:none;text-shadow:0 0 32px var(--card-glow)}
.course-card:hover .art-symbol{transform:translateY(-2px)}
.card-art-caption{position:absolute;left:25px;bottom:17px;font-size:7px;letter-spacing:1.9px;color:#bbc9de}
.card-header-code{position:absolute;bottom:15px;left:24px;color:#9babc2;font:9px/1.3 Consolas,monospace;letter-spacing:.7px}
.card-header-detail{position:absolute;right:24px;bottom:15px;color:var(--art);font:11px/1.3 Consolas,monospace;letter-spacing:3px;opacity:.7}
.course-card-body{padding:25px 25px 22px;flex:1;display:flex;flex-direction:column;min-width:0;background:linear-gradient(150deg,color-mix(in srgb,var(--panel) 97%,var(--art)),var(--panel) 70%)}
.course-card .card-category{font-size:9px;letter-spacing:.35px;line-height:1.7;color:var(--muted);margin-bottom:12px}
.course-card h3{font-size:22px;line-height:1.35;letter-spacing:-.7px;font-weight:750;margin:0 0 14px;color:var(--text);max-width:none;overflow-wrap:break-word}
.course-card p{font-size:12px;line-height:1.85;color:var(--muted);margin:0 0 22px}
.card-learning{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:9px;line-height:1.6;color:var(--muted);margin-top:auto;padding-bottom:20px}
.card-learning span{display:inline-flex;align-items:center;gap:6px}
.card-learning span:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--art);flex:none}
.course-card .card-bottom{margin-top:0;padding-top:16px;font-size:11px;font-weight:650;line-height:1.5;color:var(--text);border-color:var(--line);align-items:center;gap:12px}
.course-card .card-arrow{height:32px;width:32px;flex:none;color:var(--art);font-size:18px;border:1px solid color-mix(in srgb,var(--art) 30%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--art) 6%,transparent);transition:background .25s,transform .25s}
.course-card:hover .card-arrow{background:color-mix(in srgb,var(--art) 15%,transparent);transform:translate(2px,-2px)}
:root[data-theme=light] .course-card{--art:#b05a29;--card-glow:#ca824521;--card-ink:#693617;box-shadow:0 8px 30px #273c5c0a}
:root[data-theme=light] .course-card.art-data{--art:#207963;--card-glow:#53a78d25;--card-ink:#1b5145}
:root[data-theme=light] .course-card.art-ai{--art:#7355b3;--card-glow:#997ed029;--card-ink:#49327d}
:root[data-theme=light] .course-card.art-web{--art:#316fa9;--card-glow:#6c9fc929;--card-ink:#204c78}
:root[data-theme=light] .course-card.art-apps{--art:#916a1f;--card-glow:#c6a75d29;--card-ink:#664810}
:root[data-theme=light] .course-card.art-systems{--art:#2d7789;--card-glow:#72aebb29;--card-ink:#225360}
:root[data-theme=light] .course-card-header{background:radial-gradient(ellipse at 85% 45%,var(--card-glow),transparent 68%),linear-gradient(120deg,#f3f6fb,#e9eff7)}
:root[data-theme=light] .course-card-header:before{background-image:linear-gradient(#27446708 1px,transparent 1px),linear-gradient(90deg,#27446708 1px,transparent 1px)}
:root[data-theme=light] .card-header-label,:root[data-theme=light] .card-art-caption,:root[data-theme=light] .card-header-code{color:#5c6b81}
:root[data-theme=light] .course-card:hover{box-shadow:0 22px 48px #25395319}
@media(max-width:1100px){.course-card-header{padding:18px 20px}.course-card-body{padding:23px 20px 20px}.course-card h3{font-size:20px}.card-header-label{font-size:6px;max-width:135px}.course-card .art-symbol{left:20px}.card-art-caption{left:21px}.card-header-code{left:20px}}
@media(max-width:600px){.course-grid{gap:22px}.course-card-header{height:184px;padding:19px 23px}.course-card-body{padding:24px 23px 21px}.course-card h3{font-size:23px}.course-card p{font-size:12px}.course-card .art-symbol{left:23px}.card-art-caption{left:24px}.card-header-code{left:23px}.card-header-label{font-size:6.5px;max-width:150px}.card-drawing{right:-15px}.card-learning{font-size:9px}}
@media(prefers-reduced-motion:reduce){.course-card,.course-card .art-symbol,.card-drawing,.course-card .card-arrow{transition:none}.course-card:hover,.course-card:hover .art-symbol,.course-card:hover .card-drawing,.course-card:hover .card-arrow{transform:none}}
