.teachers-topbar{
  grid-template-columns:auto auto minmax(0,1fr) auto!important;
  grid-template-rows:72px!important;
  grid-template-areas:none!important;
}
.teachers-topbar .brand,
.teachers-topbar .portal-site-nav,
.teachers-topbar .portal-local-nav,
.teachers-topbar .portal-home{grid-area:auto!important}
.teachers-topbar .portal-local-nav{
  border-top:0!important;
  overflow-x:auto!important;
  justify-content:flex-start!important;
  scrollbar-width:none!important;
}
.teachers-topbar .portal-local-nav::-webkit-scrollbar{display:none}
.teachers-topbar .portal-local-nav>nav{
  width:max-content!important;
  max-width:none!important;
  justify-content:flex-start!important;
}
.teacher-channel{
  min-width:250px!important;
  min-height:43px!important;
  padding:0 17px!important;
  justify-content:center!important;
  border:1px solid rgba(255,255,255,.96)!important;
  border-radius:999px!important;
  background:rgba(220,241,251,.82)!important;
  color:#0d557e!important;
  box-shadow:none!important;
  text-transform:uppercase!important;
  letter-spacing:.055em!important;
  font-size:10px!important;
  font-weight:900!important;
}
.teacher-channel svg{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px;
  fill:currentColor!important;
}
.teacher-channel:hover{
  background:rgba(242,251,255,.96)!important;
  transform:none!important;
}
body>.teachers-hero h1,main>.teachers-hero h1{
  font-family:"Trebuchet MS",sans-serif!important;
  font-size:clamp(58px,6vw,92px)!important;
  line-height:.9!important;
  letter-spacing:-.065em!important;
  font-weight:850!important;
  text-transform:none!important;
}
.teachers-hero .lead{
  color:#154f79!important;
  font-weight:650!important;
}
.teachers-hero .hero-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:20px!important;
}
.teachers-hero .hero-actions .btn{
  min-width:0!important;
  min-height:43px!important;
  margin-top:0!important;
  padding:0 17px!important;
  justify-content:center!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.055em!important;
}
.teachers-hero .sphere{position:relative!important}
.teachers-hero .sphere .orb-tag{
  width:235px;
  max-width:none;
  padding:10px 14px!important;
  font-size:clamp(10px,.9vw,14px)!important;
  line-height:1.18;
  font-weight:700!important;
  text-align:center;
  white-space:nowrap!important;
}
.teachers-hero .sphere .t1{left:-108px!important;right:auto!important;top:21%!important;bottom:auto!important}
.teachers-hero .sphere .t2{left:auto!important;right:-108px!important;top:21%!important;bottom:auto!important}
.teachers-hero .sphere .t3{left:-108px!important;right:auto!important;top:auto!important;bottom:21%!important}
.teachers-hero .sphere .t4{left:auto!important;right:-108px!important;top:auto!important;bottom:21%!important}
.result-count,.resource-group-title>span{display:none!important}
.filters{grid-template-columns:2fr repeat(3,minmax(130px,1fr)) auto!important}
.resource-logo{
  width:104px!important;
  height:60px!important;
  flex:0 0 104px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.resource-logo img{
  display:block!important;
  width:calc(100% - 8px)!important;
  height:calc(100% - 6px)!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
}
.resource-links{
  position:relative;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
}
.resource-links a{
  min-height:32px;
  padding:0 10px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  background:rgba(226,245,255,.92);
  color:#0878c7;
  font-size:10px;
  font-weight:900;
}
.resource-card .resource-links{pointer-events:auto!important}
.catalog-row{grid-template-columns:112px 1.4fr 1fr 1fr auto!important}
.catalog-row .resource-logo{width:96px!important;height:56px!important;flex-basis:96px!important}
@media(max-width:1180px){
  .teachers-topbar{grid-template-columns:auto auto minmax(0,1fr) auto!important}
  .teachers-topbar .brand>span:last-child{display:none!important}
  .filters{grid-template-columns:repeat(3,1fr)!important}
  .catalog-row{grid-template-columns:104px 1.5fr 1fr auto!important}
}
@media(max-width:960px){
  .teachers-topbar{
    height:72px!important;
    min-height:72px!important;
    grid-template-columns:auto auto minmax(0,1fr) auto!important;
    grid-template-rows:72px!important;
    grid-template-areas:none!important;
    padding-bottom:0!important;
  }
  .teachers-topbar .portal-site-panel{top:78px!important}
  .teachers-hero{padding-top:50px!important}
}
@media(max-width:720px){
  .teachers-topbar{
    height:64px!important;
    min-height:64px!important;
    grid-template-columns:42px auto minmax(0,1fr) auto!important;
    grid-template-rows:64px!important;
    grid-template-areas:none!important;
  }
  .teacher-channel{
    width:auto!important;
    min-width:0!important;
    padding:0 10px!important;
    font-size:8.5px!important;
  }
  .teacher-channel span{display:inline!important}
  body>.teachers-hero h1,main>.teachers-hero h1{font-size:clamp(48px,14vw,66px)!important}
  .teachers-hero .sphere{width:min(62vw,310px)!important}
  .teachers-hero .sphere .orb-tag{
    width:160px;
    max-width:none;
    padding:8px 9px!important;
    font-size:8.5px!important;
    white-space:nowrap!important;
  }
  .teachers-hero .sphere .t1{left:-64px!important;top:20%!important}
  .teachers-hero .sphere .t2{right:-64px!important;top:20%!important}
  .teachers-hero .sphere .t3{left:-64px!important;bottom:20%!important}
  .teachers-hero .sphere .t4{right:-64px!important;bottom:20%!important}
  .filters{grid-template-columns:1fr!important}
  .catalog-row{grid-template-columns:88px 1fr auto!important}
  .catalog-row .resource-logo{width:78px!important;height:52px!important;flex-basis:78px!important}
}

/* v97: логотипы остаются внутри своей ячейки и не перекрывают текст. */
body>.teachers-hero h1,main>.teachers-hero h1{
  font-family:"Trebuchet MS",sans-serif!important;
  font-size:clamp(58px,6vw,92px)!important;
  line-height:.9!important;
  letter-spacing:-.065em!important;
  color:#073f70!important;
  font-weight:850!important;
  text-transform:none!important;
}
.teachers-hero .lead{
  max-width:760px!important;
  color:#154f79!important;
  font-size:clamp(16px,1.25vw,19px)!important;
  line-height:1.48!important;
  font-weight:400!important;
}
.resource-card,
.catalog-row{
  overflow:hidden!important;
}
.resource-card-top{
  min-height:64px!important;
  align-items:flex-start!important;
}
.resource-org{
  min-width:0!important;
  flex:1 1 auto!important;
  align-items:center!important;
}
.resource-org-name{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.resource-logo{
  position:relative!important;
  display:block!important;
  width:92px!important;
  height:60px!important;
  flex:0 0 92px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
  contain:layout paint!important;
}
.resource-logo-box{
  position:absolute!important;
  inset:4px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.resource-logo-box>img{
  position:static!important;
  inset:auto!important;
  grid-area:1/1!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  object-fit:contain!important;
  object-position:center!important;
}
.resource-logo-box>.logo-fallback{
  grid-area:1/1!important;
  max-width:100%!important;
}
.resource-card h4{
  clear:both!important;
  margin-top:17px!important;
}
.catalog-row{
  min-height:82px!important;
  grid-template-columns:96px minmax(210px,1.4fr) minmax(150px,1fr) minmax(150px,1fr) auto!important;
}
.catalog-row .resource-logo{
  width:84px!important;
  height:54px!important;
  flex-basis:84px!important;
  justify-self:center!important;
}
.catalog-main,
.catalog-cell{
  min-width:0!important;
}
@media(max-width:1180px){
  .catalog-row{
    grid-template-columns:90px minmax(210px,1.5fr) minmax(150px,1fr) auto!important;
  }
  .catalog-row .resource-logo{
    width:80px!important;
    height:52px!important;
    flex-basis:80px!important;
  }
}

/* v98: полные логотипы с безопасным полем — без обрезки и наложений. */
.resource-card-top{
  min-height:76px!important;
  gap:10px!important;
}
.resource-org{
  gap:9px!important;
  align-items:center!important;
}
.resource-logo{
  width:100px!important;
  height:70px!important;
  flex:0 0 100px!important;
  overflow:hidden!important;
  contain:layout paint!important;
}
.resource-logo-box{
  inset:8px 7px!important;
  overflow:hidden!important;
}
.resource-logo-box>img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
}
.resource-status{
  position:relative!important;
  z-index:2!important;
}
.resource-card h4{
  margin-top:15px!important;
}
.catalog-row{
  min-height:86px!important;
  grid-template-columns:102px minmax(210px,1.4fr) minmax(150px,1fr) minmax(150px,1fr) auto!important;
}
.catalog-row .resource-logo{
  width:92px!important;
  height:62px!important;
  flex-basis:92px!important;
}
.catalog-row .resource-logo-box{
  inset:7px!important;
}
@media(max-width:1180px){
  .catalog-row{
    grid-template-columns:94px minmax(210px,1.5fr) minmax(150px,1fr) auto!important;
  }
  .catalog-row .resource-logo{
    width:84px!important;
    height:58px!important;
    flex-basis:84px!important;
  }
}
@media(max-width:720px){
  .resource-card-top{
    min-height:70px!important;
  }
  .resource-logo{
    width:88px!important;
    height:64px!important;
    flex-basis:88px!important;
  }
  .catalog-row{
    min-height:78px!important;
    grid-template-columns:76px minmax(0,1fr) auto!important;
  }
  .catalog-row .resource-logo{
    width:68px!important;
    height:52px!important;
    flex-basis:68px!important;
  }
  .catalog-row .resource-logo-box{
    inset:6px!important;
  }
}
@media(max-width:720px){
  body>.teachers-hero h1,main>.teachers-hero h1{
    font-size:clamp(48px,14vw,66px)!important;
  }
  .teachers-hero .lead{
    font-size:16px!important;
  }
  .catalog-row{
    min-height:76px!important;
    grid-template-columns:76px minmax(0,1fr) auto!important;
  }
  .catalog-row .resource-logo{
    width:68px!important;
    height:48px!important;
    flex-basis:68px!important;
  }
}

/* v99: isolated logo renderer. No global img rule can crop or enlarge logos. */
.resource-card,
.catalog-row{
  overflow:hidden!important;
}
.resource-card-top{
  min-height:78px!important;
}
.resource-logo{
  position:relative!important;
  display:block!important;
  width:104px!important;
  height:70px!important;
  flex:0 0 104px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  overflow:visible!important;
  contain:none!important;
}
.resource-logo-art{
  position:absolute!important;
  inset:9px!important;
  display:block!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:contain!important;
}
.catalog-row{
  min-height:90px!important;
  grid-template-columns:104px minmax(210px,1.4fr) minmax(150px,1fr) minmax(150px,1fr) auto!important;
}
.catalog-row .resource-logo{
  width:94px!important;
  height:66px!important;
  flex-basis:94px!important;
}
.catalog-row .resource-logo-art{
  inset:8px!important;
}
@media(max-width:1180px){
  .catalog-row{
    grid-template-columns:96px minmax(210px,1.5fr) minmax(150px,1fr) auto!important;
  }
  .catalog-row .resource-logo{
    width:88px!important;
    height:64px!important;
    flex-basis:88px!important;
  }
}
@media(max-width:720px){
  .resource-card-top{
    min-height:76px!important;
  }
  .resource-logo{
    width:94px!important;
    height:68px!important;
    flex-basis:94px!important;
  }
  .catalog-row{
    min-height:88px!important;
    grid-template-columns:88px minmax(0,1fr) auto!important;
  }
  .catalog-row .resource-logo{
    width:80px!important;
    height:62px!important;
    flex-basis:80px!important;
  }
  .catalog-row .resource-logo-art{
    inset:7px!important;
  }
}

/* The Vector mark uses white shapes and needs its dark brand field. */
.resource-logo-art[style*="mathvector.svg"]{background-color:#102940!important;border-radius:12px!important;background-size:42px 42px!important}
