/* Birmingham-only editorial treatment. Shared shell, courses and forms are reused. */
[data-university="birmingham"] .hub-hero { background: radial-gradient(ellipse at 90% 15%, #305340, transparent 55%), #102e21; }
.bham-clock { position: relative; overflow: hidden; }
.bham-clock-face { width: 190px; height: 190px; border-radius: 50%; margin: 28px auto; padding: 7px; background: conic-gradient(#e8c16f 0 25%, #678c76 25% 100%); }
.bham-clock-face > span { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; border-radius: 50%; background: #193b2b; color: #f2d99c; font: 64px/1.2 Georgia,serif; }
.bham-clock-face small { font: 12px/2 'Lato',sans-serif; letter-spacing: .2em; }
.bham-clock dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.bham-clock dd { font-size: 1.45rem; color: #f2d99c; }
.bham-clock > p:not(.section-label) { font-size: .85rem; }
.bham-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; margin-block: 36px; }
.bham-stats > div { border-top: 2px solid #b59957; padding-top: 20px; }
.bham-stats dt { color: #173b29; font: 700 1.5rem/1.3 Georgia,serif; margin-bottom: 12px; }
.bham-stations { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.bham-stations article { padding: 30px; border: 1px solid #dce2dc; border-radius: 16px; background: #fcfcf9; }
.bham-stations article:first-child { grid-column: span 2; background: #f1f5ee; }
.bham-stations article:last-child { grid-column: span 2; }
.bham-number { display: block; font: 48px/1 Georgia,serif; color: #86641e; margin-bottom: 24px; }
.bham-tag { font-weight: 700; color: #173b29; }
.bham-practice { border-top: 1px solid #cbd5ca; padding-top: 18px; margin-top: 24px; }
.bham-practice li + li { margin-top: 6px; }
.bham-attributes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
.bham-attributes article { display: flex; gap: 24px; border-top: 1px solid #bac8bc; padding-top: 24px; }
.bham-attributes article:nth-child(2) { background: #f2f5ef; padding: 24px; border-top: 3px solid #b59957; }
.bham-attributes article:last-child { grid-column: 1/-1; max-width: 800px; }
.bham-timeline { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; padding: 0; list-style: none; }
.bham-timeline li { border-top: 2px solid #b59957; padding-top: 24px; }
.bham-timeline span { display: block; color: #715313; margin-bottom: 20px; }
.bham-routes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.bham-routes article { border: 1px solid #b9c9bd; border-radius: 18px; padding: 32px; }
.bham-routes .section-label, #readiness-checklist .section-label { color: #715313; }
.bham-routes h4 { margin-top: 24px; }
.bham-note { padding: 24px; margin-top: 28px; background: #f2f5ef; border-left: 3px solid #b59957; }
.bham-panels { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.bham-panels article { border-top: 1px solid #b59957; padding-top: 24px; }
.bham-score { width: 100%; max-width: 840px; margin-bottom: 28px; border-collapse: collapse; }
.bham-score caption { caption-side: top; color: #34463b; padding-bottom: 16px; }
.bham-score th, .bham-score td { padding: 18px; text-align: left; border-bottom: 1px solid #bbc9bc; }
.bham-score thead { background: #173b29; color: white; }
@media (max-width: 991px) { .bham-stations, .bham-stats, .bham-timeline, .bham-panels { grid-template-columns: repeat(2,minmax(0,1fr)); } .bham-stations article:first-child { grid-column: auto; } .bham-stations article:last-child { grid-column: 1/-1; } }
@media (max-width: 767px) { .bham-routes, .bham-attributes { grid-template-columns: 1fr; } .bham-routes article { padding: 24px; } }
@media (max-width: 479px) { .bham-stations, .bham-stats, .bham-timeline, .bham-panels { grid-template-columns: 1fr; } .bham-stations article { padding: 24px; } .bham-clock dd { font-size: 1.2rem; } .bham-clock dt { font-size: .7rem; } .bham-score td, .bham-score th { padding: 12px; } .bham-attributes article { gap: 16px; } .bham-number { font-size: 38px; } }
