/* Programme catalogue and detail pages. */
.programme-hero h1{font-size:clamp(36px,4.8vw,70px);line-height:1.08;letter-spacing:-.045em;max-width:1020px;text-wrap:balance}
.programme-back{display:inline-block;font:11px/1.7 'DM Mono',monospace;color:#dec38f;border-bottom:1px solid #dec38f66;padding-bottom:5px;margin-bottom:26px}
.programme-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:36px}
.programme-body{padding:68px 0 80px}
.programme-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 52px;border-top:1px solid #17201d28;border-left:1px solid #17201d28}
.programme-facts div{padding:22px 24px;border-right:1px solid #17201d28;border-bottom:1px solid #17201d28;background:#f7f4ed}
.programme-facts dt{font:10px/1.6 'DM Mono',monospace;letter-spacing:.11em;text-transform:uppercase;color:#736143;margin-bottom:9px}
.programme-facts dd{font-size:18px;line-height:1.5;color:#17201d;margin:0}
.programme-reading{max-width:830px;margin:0 auto}
.programme-reading h2{font:500 clamp(28px,3vw,38px)/1.2 'Playfair Display',serif;letter-spacing:-.02em;margin:44px 0 20px}
.programme-reading h2:first-child{margin-top:0}
.programme-reading h3{font-size:20px;font-weight:500;margin:28px 0 14px}
.programme-reading p,.programme-reading li{font-size:16px;line-height:1.85;color:#556158}
.programme-reading p{margin:0 0 20px}
.programme-reading ul{padding-left:22px;list-style:disc;margin:0 0 24px;display:grid;gap:9px}
.programme-reading li::marker{color:#9b773f}
.programme-enquiry{background:#d2b681;display:flex;gap:40px;justify-content:space-between;align-items:center;padding:38px;margin-top:64px}
.programme-enquiry h2{font:500 30px/1.2 'Playfair Display',serif;margin:12px 0 16px}
.programme-enquiry p{font-size:15px;line-height:1.7;max-width:460px}
.programme-actions{display:flex;flex-direction:column;align-items:flex-start;gap:24px;flex-shrink:0}
.programme-actions .button{gap:14px;line-height:1.5}
.faculty-jumps{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
.faculty-jumps a{font:11px/1.6 'DM Mono',monospace;border:1px solid #d1b37b70;color:#e4d4b3;padding:12px 16px}
.faculty-jumps a:hover{background:#d1b37b;color:#17201d}
.catalogue-body{padding:52px 0 82px}
.programme-filters{display:grid;grid-template-columns:2fr 1fr auto;align-items:end;gap:24px;background:#faf8f2;padding:28px;border:1px solid #17201d25;margin-bottom:60px}
.programme-filters label{display:block;font:11px/1.6 'DM Mono',monospace;letter-spacing:.025em;margin-bottom:10px;color:#596251}
.programme-filters input,.programme-filters select{width:100%;min-height:46px;background:#fff;border:1px solid #7e8b7d;border-radius:0;padding:11px;font:15px/1.4 'DM Sans',sans-serif;color:#17201d}
.programme-filters p{font:11px/1.5 'DM Mono',monospace;color:#5d665b;padding-bottom:14px;min-width:115px}
.programme-filters input:focus-visible,.programme-filters select:focus-visible,.catalogue-card a:focus-visible,.programme-body a:focus-visible,.faculty-jumps a:focus-visible{outline:3px solid #94733e;outline-offset:4px}
.faculty-section{padding-top:8px;scroll-margin-top:130px;margin-bottom:70px}
.faculty-heading{display:flex;align-items:center;gap:30px;padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid #17201d40}
.faculty-heading .eyebrow{color:#78613c;white-space:nowrap}
.faculty-heading h2{font:500 clamp(28px,3vw,40px)/1.2 'Playfair Display',serif;letter-spacing:-.025em}
.catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.catalogue-card{display:flex;flex-direction:column;align-items:flex-start;background:#faf8f2;border:1px solid #17201d21;padding:30px;min-width:0}
.catalogue-card .eyebrow{color:#78613c;line-height:1.6}
.catalogue-card h3{font:500 25px/1.25 'Playfair Display',serif;letter-spacing:-.02em;margin:18px 0;text-wrap:balance}
.catalogue-card h3 a:hover{color:#805f2f}
.catalogue-card p{font-size:14px;line-height:1.8;color:#5c665b;margin:0 0 24px}
.catalogue-facts{font:11px/1.8 'DM Mono',monospace;color:#736143;display:block;margin-bottom:22px}
.catalogue-card>.text-link{margin-top:auto;font-size:10px}
.catalogue-card:focus-within{border-color:#8a6a3b}
.other-pathways{border-top:1px solid #17201d35;padding-top:36px}
.other-pathways>.eyebrow{color:#78613c}
.other-pathways h2{font:500 32px/1.25 'Playfair Display',serif;margin:16px 0 26px}
.pathway-links{display:flex;flex-wrap:wrap;gap:12px}
.pathway-links a{font-size:14px;border:1px solid #17201d35;padding:13px 16px;background:#f5f1e8}
.pathway-links a:hover{background:#17201d;color:#f7f3e9}
.programme-no-results{font-size:18px;line-height:1.7;padding:20px 0 60px}
.programme-filters[hidden],.catalogue-card[hidden],.faculty-section[hidden],.programme-no-results[hidden]{display:none!important}
@media(max-width:1100px){.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.programme-enquiry{align-items:flex-start;flex-direction:column}.programme-actions{flex-shrink:1}}
@media(max-width:900px){.programme-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.programme-filters{grid-template-columns:1fr 1fr}.programme-filters p{grid-column:1/-1;padding-bottom:0}.faculty-heading{align-items:flex-start;flex-direction:column;gap:14px}.programme-body{padding:44px 0 60px}.catalogue-card{padding:24px}}
@media(max-width:560px){.catalogue-grid,.programme-filters{grid-template-columns:1fr}.programme-filters{padding:20px}.programme-hero h1{font-size:37px}.programme-facts div{padding:16px 14px}.programme-facts dd{font-size:16px}.programme-facts{margin-bottom:36px}.programme-enquiry{padding:26px 22px;margin-top:42px}.programme-actions .button{max-width:100%;white-space:normal}.faculty-jumps{flex-direction:column;align-items:flex-start}.faculty-section{margin-bottom:50px}.catalogue-card h3{font-size:25px}}
