.teachers-page{overflow-x:clip}
.teachers-page button{font:inherit}
.teachers-page a:focus-visible,.teachers-page button:focus-visible,.career-dialog-content:focus-visible{outline:3px solid #2f6bff;outline-offset:4px}
.skip-link{position:fixed;top:8px;left:12px;z-index:200;padding:12px 20px;background:#fff;color:#153e92;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:600px){
 .subpage-hero--teachers .subpage-hero-media img{object-position:72% center}
 .subpage-hero--teachers .subpage-hero-media::before{background:linear-gradient(90deg,rgba(8,14,23,.86),rgba(8,14,23,.65) 45%,rgba(8,14,23,.2)),linear-gradient(0deg,rgba(6,11,18,.35),transparent 70%)}
}
.teachers-section{padding:88px 0 112px;scroll-margin-top:96px;background:linear-gradient(180deg,#fff 0,#f4f7fc 620px,#f7f8fa 100%)}
.teachers-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:42px}
.teachers-heading h2{font-size:34px;font-weight:650;letter-spacing:-.045em;line-height:1.4;word-break:keep-all}
.teachers-heading h2 em{font-style:normal;color:#2861d5}
.teachers-heading p{font-size:14px;color:#727982;word-break:keep-all}
.teachers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 28px;align-items:stretch}
.teacher-profile{min-width:0;scroll-margin-top:100px;background:#fff;border:1px solid #e6ebf2;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 5px 20px rgba(23,45,83,.025);transition:border-color .28s,box-shadow .28s,transform .28s}
.teacher-portrait{position:relative;aspect-ratio:1.22;overflow:hidden;margin:0;background:radial-gradient(ellipse at 50% 48%,#fff9 0,transparent 64%),linear-gradient(135deg,#e9f0fc,#dce6f5)}
.teacher-profile:nth-child(3n+2) .teacher-portrait{background:radial-gradient(ellipse at 50% 48%,#fff9 0,transparent 64%),linear-gradient(135deg,#edf2f1,#dfeae7)}
.teacher-profile:nth-child(3n) .teacher-portrait{background:radial-gradient(ellipse at 50% 48%,#fff9 0,transparent 64%),linear-gradient(135deg,#f2f0f8,#e5e2f0)}
.teacher-portrait img{position:absolute;top:0;left:50%;width:auto;height:110%;max-width:none;transform:translateX(var(--portrait-center));transition:filter .3s ease}
.teacher-info{padding:24px 26px 0;display:flex;flex-direction:column;flex:1}
.teacher-subject{width:fit-content;font-size:11px;color:#315990;font-weight:600;margin-bottom:12px;padding:5px 9px;background:#f0f4fb;border-radius:4px}
.teacher-info h3{display:flex;align-items:baseline;gap:10px;font-size:27px;font-weight:650;line-height:1.3;letter-spacing:-.04em}
.teacher-info h3>span{font-size:14px;color:#626b78;font-weight:450;letter-spacing:-.01em}
.teacher-highlights{margin:18px 0 22px;min-height:102px;color:#515b69;font-size:13px;line-height:1.8;display:flex;flex-direction:column;gap:4px}
.teacher-highlights li{word-break:keep-all;overflow-wrap:anywhere}
.career-button{width:100%;margin-top:auto;padding:17px 0;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;border:0;border-top:1px solid #e5ebf3;background:transparent;color:#2b4f88;font-size:13px!important;font-weight:600!important;text-align:left}
.career-toggle{width:32px;height:32px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:#eaf0fb;color:#2c60c5;font-size:19px;line-height:1;transition:background .25s,color .25s,transform .25s}
@media(hover:hover){
 .teacher-profile:hover,.teacher-profile:focus-within{border-color:#b8cdef;box-shadow:0 14px 32px rgba(31,69,126,.09);transform:translateY(-4px)}
 .teacher-profile:hover .teacher-portrait img{filter:brightness(1.025)}
 .career-button:hover .career-toggle,.career-button:focus-visible .career-toggle{background:#2f6bff;color:#fff;transform:rotate(45deg)}
}
@media(max-width:1400px) and (min-width:901px){.teachers-section>.wrap{padding-right:126px}}
@media(max-width:1100px){.teachers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}}
@media(max-width:700px){
 .teachers-section{padding:58px 0 68px}
 .teachers-heading{display:block;margin-bottom:30px}
 .teachers-heading h2{font-size:26px}
 .teachers-heading p{margin-top:12px;font-size:13px}
 .teachers-grid{grid-template-columns:minmax(0,1fr);gap:26px}
 .teacher-portrait{aspect-ratio:1.2}
 .teacher-info{padding:22px 22px 0}
 .teacher-info h3{font-size:25px}
 .teacher-highlights{min-height:0;margin-top:16px}
}

.next-page{padding:66px 0;background:#fff}
.next-page a{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:30px;padding:29px 0;border-top:1px solid #222a37;border-bottom:1px solid #d7d9da}
.next-page small{color:#858c95;font-size:11px;font-weight:750;letter-spacing:.02em}
.next-page strong{font-size:27px;letter-spacing:-.035em}
.next-page .arrow{font-size:25px;transition:transform .2s,color .2s}
.next-page a:hover .arrow{color:var(--blue);transform:translateX(6px)}
@media(max-width:600px){
 .next-page{padding:48px 0}
 .next-page a{grid-template-columns:1fr auto;gap:8px;padding:22px 0}
 .next-page small{grid-column:1/-1}
 .next-page strong{font-size:22px}
 .next-page .arrow{grid-column:2;grid-row:2}
}
@media(prefers-reduced-motion:reduce){.next-page .arrow{transition:none}}

/* Full career dialog: no changes to page/card height when opened. */
html.career-modal-open{overflow:hidden}
html{scrollbar-gutter:stable}
.career-dialog{position:fixed;inset:0;margin:auto;width:min(860px,calc(100% - 40px));max-width:none;max-height:min(780px,calc(100dvh - 64px));padding:0;border:0;border-radius:18px;background:#fff;color:#172336;box-shadow:0 28px 90px #07152b44;overflow:hidden}
.career-dialog::backdrop{background:rgba(8,19,39,.64);backdrop-filter:blur(5px)}
.career-dialog[open]{animation:careerEnter .22s ease-out}
.career-dialog-layout{display:grid;grid-template-columns:280px minmax(0,1fr);max-height:inherit}
.career-dialog-close{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border:1px solid #dfe6ef;border-radius:50%;background:#fff;color:#394a62;cursor:pointer;display:grid;place-items:center}
.career-dialog-close span{font-size:27px;line-height:1}
.career-dialog-close:hover{background:#edf3ff;color:#235bc9}
.career-dialog-profile{background:linear-gradient(150deg,#e9f0fc,#f4f6fc);min-width:0;padding-top:30px;display:flex;flex-direction:column}
.career-dialog-photo{height:315px;position:relative;overflow:hidden;margin:0;flex-shrink:0}
.career-dialog-photo img{position:absolute;top:0;left:50%;height:110%;width:auto;max-width:none;transform:translateX(var(--portrait-center))}
.career-dialog-identity{padding:28px 28px 34px}
.career-dialog-identity .teacher-subject{padding:0;background:none;font-size:12px}
.career-dialog-identity h2{font-size:29px;font-weight:650;letter-spacing:-.04em;line-height:1.4}
.career-dialog-identity h2 span{display:inline-block;margin-left:10px;font-size:14px;color:#68758a;font-weight:450}
.career-dialog-content{padding:64px 40px 40px;overflow-y:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:thin;scrollbar-color:#bbc9dc transparent}
.career-dialog-content h3{font-size:20px;font-weight:650;margin-bottom:25px}
.career-dialog-content ul{padding-left:17px;list-style:disc;color:#515e70;font-size:14px;line-height:1.85}
.career-dialog-content li{padding-left:4px;margin-top:13px;word-break:keep-all;overflow-wrap:anywhere}
.career-dialog-content li::marker{color:#6d92ca;font-size:9px}
@keyframes careerEnter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){
 .career-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 32px);border-radius:14px}
 .career-dialog-layout{display:flex;flex-direction:column}
 .career-dialog-profile{flex-shrink:0;display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;align-items:center;padding:22px 42px 0 16px}
 .career-dialog-photo{height:136px}
 .career-dialog-identity{padding:12px 0 22px}
 .career-dialog-identity h2{font-size:24px}
 .career-dialog-identity h2 span{font-size:12px;margin-left:7px}
 .career-dialog-identity .teacher-subject{font-size:10px;word-break:keep-all}
 .career-dialog-close{top:9px;right:9px;width:32px;height:32px}
 .career-dialog-content{padding:25px 25px 30px}
 .career-dialog-content h3{font-size:18px;margin-bottom:18px}
 .career-dialog-content ul{font-size:13px;line-height:1.85}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .teacher-profile,.teacher-portrait img,.career-toggle{transition:none}
 .career-dialog[open]{animation:none}
}
