/* School homepage: burgundy/gold banner, orange subject frames and compact controls. */
.hub-school{--school-unit:1px;background:#000}
@media(min-width:2560px){.hub-school{--school-unit:calc(100vw / 1920)}}
.hub-school .hub-banner{display:grid;grid-template-columns:minmax(0,1fr) calc(1.5 * var(--school-unit)) auto;align-items:center;gap:clamp(calc(24 * var(--school-unit)),3vw,calc(60 * var(--school-unit)));padding:calc(14 * var(--school-unit)) 3vw;border-bottom-width:calc(3 * var(--school-unit))}
.hub-school .hub-banner>div{padding:0}
.hub-school .school-department{display:flex;align-items:center;gap:clamp(calc(16 * var(--school-unit)),1.5vw,calc(28 * var(--school-unit)));min-width:0}
.hub-school .hub-banner img{width:clamp(calc(80 * var(--school-unit)),6vw,calc(112 * var(--school-unit)));height:auto;aspect-ratio:112/96}
.hub-school .hub-banner .school-department-title{margin:0;font-size:clamp(calc(26 * var(--school-unit)),2.05vw,calc(40 * var(--school-unit)));font-weight:650;line-height:1.1;color:#fff;text-align:left;text-transform:none;letter-spacing:-.015em}
.hub-school .hub-banner .school-department-title span{display:block;font:inherit;color:inherit}
.hub-school .school-brand-divider{display:block;width:calc(1.5 * var(--school-unit));height:calc(78 * var(--school-unit));background:#e8c77a75}
.hub-school .hub-banner .school-lesson-brand{text-align:right}
.hub-school .hub-banner h1{margin:0 0 calc(7 * var(--school-unit));font-size:clamp(calc(28 * var(--school-unit)),2.4vw,calc(48 * var(--school-unit)));line-height:1.1;letter-spacing:0;color:#e8c77a}
.hub-school .hub-banner .school-lesson-brand p{margin:0;font-size:calc(18 * var(--school-unit));line-height:1.4;letter-spacing:0;text-transform:none;color:#ddd2ce}
.school-home-controls{display:flex;align-items:center;justify-content:flex-end;gap:calc(10 * var(--school-unit));padding:calc(12 * var(--school-unit)) 3vw;position:relative;z-index:2;background:#000}
.hub-school .school-home-controls .site-fullscreen,.school-display-control select{position:static;top:auto;right:auto;display:inline-flex;align-items:center;justify-content:center;gap:calc(6 * var(--school-unit));width:calc(186 * var(--school-unit));min-width:calc(186 * var(--school-unit));height:calc(32 * var(--school-unit));min-height:calc(32 * var(--school-unit));padding:calc(6 * var(--school-unit)) calc(10 * var(--school-unit));font:600 calc(13 * var(--school-unit))/1.2 Calibri,"Segoe UI",Arial,sans-serif;color:#e8c77a;border:var(--school-unit) solid #a4774980;border-radius:calc(6 * var(--school-unit));background:#21171b;box-shadow:none;cursor:pointer;backdrop-filter:none}
.hub-school .school-home-controls .site-fullscreen[hidden]{display:none}
.hub-school .school-home-controls .site-fullscreen svg{width:calc(16 * var(--school-unit));height:calc(16 * var(--school-unit))}
.school-display-control{display:block;line-height:1}.school-display-control select{padding-right:calc(25 * var(--school-unit));text-align:left;touch-action:manipulation}
.hub-school .school-home-controls .site-fullscreen:hover,.school-display-control select:hover{background:#362128;border-color:#d39a51}
.school-display-control select:focus-visible{outline:calc(2 * var(--school-unit)) solid #e8c77a;outline-offset:calc(3 * var(--school-unit))}
.hub-school .hub-main{position:relative;display:block;flex:1;width:100%;max-width:none;min-height:calc(620 * var(--school-unit));margin:0;padding:calc(36 * var(--school-unit)) 3vw calc(40 * var(--school-unit))}
.hub-school .school-flower{display:block;position:absolute;z-index:0;left:3vw;top:calc(20 * var(--school-unit));bottom:calc(20 * var(--school-unit));width:32vw;height:auto;max-width:none;margin:0;pointer-events:none}
.hub-school .school-flower>div{height:calc(100% - 28 * var(--school-unit));aspect-ratio:auto;background:transparent;mask-image:linear-gradient(to right,#000 0%,#000 60%,transparent 100%)}
.hub-school .school-flower img{display:block;width:100%;height:100%;object-fit:cover;object-position:90% 50%}
.hub-school .school-flower figcaption{color:#b9ad99;font-size:calc(12 * var(--school-unit));line-height:1.5;letter-spacing:.025em;padding:calc(8 * var(--school-unit)) 0 0}
.hub-school .subject-list{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:clamp(calc(12 * var(--school-unit)),1.3vw,calc(24 * var(--school-unit)));width:76%;margin:0 0 0 24%}
.hub-school .subject-column{padding:0;border:0;min-height:0}
.hub-school .subject-column h2{margin:0 0 calc(28 * var(--school-unit));text-align:center}
.hub-school .subject-column .subject-link{font-size:clamp(calc(26 * var(--school-unit)),2.15vw,calc(44 * var(--school-unit)));line-height:1.2;min-height:0;white-space:nowrap;letter-spacing:-.025em;color:#e8c77a}
.hub-school .lesson-frame{--frame-blue:#aa541f;--frame-edge:#cf7d38;height:clamp(calc(310 * var(--school-unit)),32vh,calc(390 * var(--school-unit)));padding:calc(30 * var(--school-unit)) calc(12 * var(--school-unit));border:calc(1.5 * var(--school-unit)) solid var(--frame-edge);border-radius:calc(19 * var(--school-unit));background:linear-gradient(150deg,#2f1d10bd,#100d0af2);box-shadow:0 calc(10 * var(--school-unit)) calc(24 * var(--school-unit)) #0008,inset 0 var(--school-unit) 0 #e8ad6d1a}
.hub-school .frame-arrow{width:calc(60 * var(--school-unit));height:calc(34 * var(--school-unit));padding:calc(5 * var(--school-unit)) calc(14 * var(--school-unit));color:#fff;border-width:calc(1.5 * var(--school-unit));background:var(--frame-blue)}
.hub-school .frame-arrow-up{top:calc(-15 * var(--school-unit));border-bottom:0;border-radius:calc(16 * var(--school-unit)) calc(16 * var(--school-unit)) calc(5 * var(--school-unit)) calc(5 * var(--school-unit))}
.hub-school .frame-arrow-down{bottom:calc(-15 * var(--school-unit));border-top:0;border-radius:calc(5 * var(--school-unit)) calc(5 * var(--school-unit)) calc(16 * var(--school-unit)) calc(16 * var(--school-unit))}
.hub-school .frame-arrow svg{width:calc(26 * var(--school-unit));height:calc(26 * var(--school-unit))}
.hub-school .frame-arrow:not(:disabled):hover{background:#c86c29;color:#fff}.hub-school .frame-arrow:focus-visible{outline-color:#fff}
.hub-school .lesson-frame .subject-lessons{gap:calc(7 * var(--school-unit));padding:calc(3 * var(--school-unit)) 0}
.hub-school .lesson-frame .subject-lesson-link{font-size:clamp(calc(16 * var(--school-unit)),1.12vw,calc(22 * var(--school-unit)));padding:calc(8 * var(--school-unit)) calc(5 * var(--school-unit));color:#fff;line-height:1.4;font-weight:600;text-shadow:0 var(--school-unit) calc(2 * var(--school-unit)) #0008}
.hub-school .subject-list .lesson-frame .subject-lesson-link:hover,.hub-school .subject-list .lesson-frame .subject-lesson-link:focus-visible{color:#c46a29;background:#d6863c13;text-decoration:none}
.hub-school .subject-column-unavailable .lesson-frame{--frame-blue:#713c1e;--frame-edge:#a15f2c;border-color:#b56b3380;background:linear-gradient(150deg,#24170d6b,#100d0a9c);box-shadow:none}
.hub-school .lesson-frame .subject-empty{font-size:calc(16 * var(--school-unit));padding:calc(12 * var(--school-unit));color:#b8a58e;opacity:.55}
@media(pointer:coarse){.hub-school .school-home-controls .site-fullscreen,.school-display-control select{height:calc(44 * var(--school-unit));min-height:calc(44 * var(--school-unit))}.hub-school .frame-arrow{height:calc(44 * var(--school-unit))}.hub-school .frame-arrow-up{top:calc(-20 * var(--school-unit))}.hub-school .frame-arrow-down{bottom:calc(-20 * var(--school-unit))}.hub-school .lesson-frame{padding-top:calc(36 * var(--school-unit));padding-bottom:calc(36 * var(--school-unit))}}
@media(max-width:900px){.hub-school .hub-banner{gap:20px;grid-template-columns:minmax(0,1fr) 1px auto}.hub-school .hub-banner .school-department-title{font-size:22px}.hub-school .hub-banner h1{font-size:26px}.hub-school .hub-banner .school-lesson-brand p{font-size:13px}.hub-school .hub-banner img{width:72px}.hub-school .subject-list{width:100%;margin-left:0;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:46px}.hub-school .school-flower{width:55%;opacity:.55}.hub-school .hub-main{padding-bottom:55px}}
@media(max-width:600px){.hub-school .hub-banner{grid-template-columns:minmax(0,1fr);gap:16px}.hub-school .school-brand-divider{display:none}.hub-school .hub-banner .school-lesson-brand{text-align:left;padding-left:88px}.hub-school .hub-banner .school-department-title{font-size:24px}.school-home-controls{gap:8px}.hub-school .school-home-controls .site-fullscreen,.school-display-control select{width:160px;min-width:160px;font-size:12px}.hub-school .school-home-controls .site-fullscreen [data-fullscreen-label]{display:inline}.hub-school .subject-column .subject-link{font-size:26px}}

/* One large horizontal department title, fitted to the divider. Logo red: #912928. */
.hub-school .hub-banner{column-gap:clamp(calc(14 * var(--school-unit)),1vw,calc(20 * var(--school-unit)))}
.hub-school .hub-banner .school-department-title{flex:1;min-width:0;font-size:2.25vw;line-height:1.1;white-space:nowrap}
.hub-school .hub-banner .school-department-title .school-title-line{display:inline-flex;align-items:baseline;gap:.23em;max-width:none;white-space:nowrap;font:inherit;color:#fff}
.hub-school .hub-banner .school-department-title .school-name,.hub-school .hub-banner .school-department-title .school-subject{display:inline;font:inherit;white-space:nowrap}
.hub-school .hub-banner .school-department-title .school-name{color:#912928;-webkit-text-stroke:calc(.8 * var(--school-unit)) #f5d8caba;paint-order:stroke fill}
.hub-school .hub-banner .school-department-title .school-subject{color:#fff}
@media(max-width:900px){.hub-school .hub-banner .school-department-title{font-size:18px}.hub-school .hub-banner .school-department-title .school-title-line{flex-wrap:wrap;white-space:normal;row-gap:0}}

/* A learning quotation in the black strip below the school banner. */
.school-learning-quote{display:flex;flex:1;align-items:center;gap:calc(8 * var(--school-unit));min-width:0;margin:0 calc(18 * var(--school-unit)) 0 0;color:#fff}
.school-learning-quote p{margin:0;font-size:calc(18 * var(--school-unit));font-weight:400;line-height:1.35;letter-spacing:0}
.school-learning-quote .quote-mark{flex-shrink:0;color:#e8c77a;font-size:calc(38 * var(--school-unit));font-family:Georgia,"Times New Roman",serif;line-height:1}
@media(max-width:900px){.school-home-controls{flex-wrap:wrap}.school-learning-quote{flex-basis:100%;margin:0 0 8px}.school-learning-quote p{font-size:16px}}
