/* V7 isolated visual overrides: schools, teachers slider, news. Other sections untouched. */
.admission-schools .schools-heading > p {max-width:920px}
.admission-schools .school-logo-grid {display:grid;grid-template-rows:repeat(2,minmax(92px,auto));grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 7*16px)/8);gap:14px 16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;padding:5px 3px 7px;margin-top:25px}
.admission-schools .school-logo-grid::-webkit-scrollbar,.mentor-track::-webkit-scrollbar{display:none}
.admission-schools .school-logo {margin:0;display:flex;align-items:stretch;justify-content:center;min-height:0;scroll-snap-align:start}
.admission-schools .school-logo-button{appearance:none;width:100%;height:100%;min-height:91px;display:flex;justify-content:center;align-items:center;padding:12px 9px;border:1px solid #e8edf5;border-radius:15px;background:#fff;cursor:pointer;transition:border-color .18s,box-shadow .18s,background .18s}
.admission-schools .school-logo-button:hover,.admission-schools .school-logo-button:focus-visible{border-color:#74a5ee;background:#f9fbff;box-shadow:0 5px 15px #003e890a}
.admission-schools .school-logo-button img{display:block;max-height:67px;max-width:100%;width:100%;height:67px;object-fit:contain;pointer-events:none}
.rail-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:15px}
.rail-hint{color:var(--muted);font-size:13px;line-height:1.4}
.rail-buttons{display:flex;gap:8px;align-items:center;flex-shrink:0}
.rail-btn{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;background:#fff;border:1px solid var(--line);border-radius:50%;font-size:21px;color:var(--ink);cursor:pointer;transition:background .18s,border-color .18s}
.rail-btn:hover:not(:disabled){background:#edf5ff;border-color:#9fc5fd;color:#0049d8}
.rail-btn:disabled{opacity:.3;cursor:default}
.v7-school-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(410px,calc(100vw - 36px));max-width:calc(100vw - 36px);margin:0;padding:34px 32px 27px;border-radius:21px;border:1px solid #e2eaf4;background:#fff;color:var(--ink);box-shadow:0 20px 80px #06142d26}
.v7-school-dialog::backdrop{background:#06142d55;backdrop-filter:blur(2px)}
.v7-school-dialog-close{position:absolute;top:12px;right:13px;background:#f1f4f9;border:0;border-radius:50%;width:34px;height:34px;font-size:23px;color:var(--ink);cursor:pointer}
.v7-school-kicker{display:block;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#0049d8;font-weight:750;margin-bottom:13px}
.v7-school-dialog h3{margin:0 0 15px;font-size:22px;line-height:1.23}
.v7-school-dialog p{margin:0;color:var(--muted);font-size:14px}
#teachers .teacher-points{margin:0;padding:0;list-style:none;display:grid;gap:8px}
#teachers .teacher-points li{display:flex;gap:10px;color:var(--ink);font-size:16px;line-height:1.4}
#teachers .teacher-points li:before{content:'•';color:#0049d8;font-size:24px;line-height:20px;flex-shrink:0}
#teachers .mentor-track{display:flex;grid-template-columns:none;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;padding:2px 2px 8px;align-items:stretch}
#teachers .mentor-track > .mentor{flex:0 0 calc((100% - 3*14px)/4);min-width:0;scroll-snap-align:start}
#teachers .mentor-track > .mentor .mentor-content {min-width:0}
#teachers .mentor-track .mentor-description {overflow-wrap:break-word}
#teachers .mentor-track .mentor-photo{flex-shrink:0}
#teachers .mentor-track .mentor-photo:hover img{transform:none}
#teachers .mentor-track .mentor-rating{flex-wrap:wrap}
#teachers .mentor-track .mentor-photo img {object-position:center 28%}
#teachers .mentor-track .mentor:first-child .mentor-photo img {object-position:center;object-fit:contain}
#teachers .rail-actions-mentors{margin-top:21px}
@media(max-width:1100px){
.admission-schools .school-logo-grid{grid-auto-columns:calc((100% - 3*14px)/4);gap:13px 14px}
#teachers .mentor-track > .mentor{flex-basis:calc((100% - 2*14px)/2.6)}
}
@media(max-width:700px){
.admission-schools .school-logo-grid{grid-template-rows:repeat(2,minmax(78px,auto));grid-auto-columns:calc((100% - 12px)/2.35);gap:11px 12px;margin-top:19px;padding:3px 2px 5px}
.admission-schools .school-logo-button{min-height:80px;padding:8px 7px;border-radius:13px}
.admission-schools .school-logo-button img{max-height:58px;height:58px}
#teachers .teacher-points li{font-size:15px}
#teachers .mentor-track{gap:12px}
#teachers .mentor-track > .mentor{flex:0 0 min(300px,calc(100% - 42px));display:flex;flex-direction:column;gap:0;padding:23px 19px;min-width:0}
#teachers .mentor-track > .mentor .mentor-photo{width:min(100%,140px);grid-row:auto;align-self:center;margin-bottom:18px}
#teachers .mentor-track > .mentor .mentor-content{min-width:0}
.rail-actions{gap:10px}
.rail-hint{font-size:12px}
.rail-btn{height:40px;width:40px}
}
@media(max-width:370px){
.admission-schools .school-logo-grid{grid-auto-columns:calc((100% - 11px)/2.13)}
#teachers .mentor-track > .mentor{flex-basis:calc(100% - 30px)}
}
@media(prefers-reduced-motion:reduce){
.admission-schools .school-logo-grid,#teachers .mentor-track{scroll-behavior:auto}
}

/* V22: all five news stories stay in view, without a horizontal rail. */
.news-section { padding-top:38px; padding-bottom:64px; }
.news-section .section-heading { margin-bottom:24px; }
.news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 30px; }
.news-item { min-width:0; border-top:1px solid var(--line); }
.news-item-link { display:block; position:relative; min-height:154px; height:100%; padding:20px 28px 24px 0; }
.news-meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px 10px; margin-bottom:13px; }
.news-meta time { color:var(--muted); font-size:12px; line-height:1.5; white-space:nowrap; }
.news-category { padding:4px 8px; border-radius:6px; font-size:12px; line-height:1.4; font-weight:500; color:#24466b; }
.news-category-sky { background:var(--sky); }
.news-category-yellow { background:#fff0b8; }
.news-category-lilac { background:#eee4fa; }
.news-category-pink { background:#ffe4ee; }
.news-item h3 { font-size:19px; line-height:1.35; font-weight:500; letter-spacing:-.015em; overflow-wrap:break-word; }
.news-item-link>svg { position:absolute; right:0; top:24px; color:var(--blue); }
.news-item-link:hover h3 { color:var(--blue); }
.news-item-link:focus-visible { outline:2px solid var(--blue); outline-offset:4px; border-radius:4px; }
@media(max-width:1100px) { .news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 26px; } }
@media(max-width:700px) {
 .news-section { padding-top:28px; padding-bottom:44px; }
 .news-section .section-heading { margin-bottom:20px; }
 .news-grid { grid-template-columns:1fr; }
 .news-item-link { min-height:0; padding:18px 26px 20px 0; }
 .news-meta { margin-bottom:10px; }
 .news-item h3 { font-size:18px; }
 .news-item-link>svg { top:23px; }
}
