.school-visual{
  position:relative;
}

.school-bg-shapes{
  position:absolute;
  top:50%;
  right:-110px;
  transform:translateY(-50%);
  width:200px;
  max-width:40vw;
  height:auto;
  pointer-events:none;
  z-index:0;
}

.school-foreground{
  position:relative;
  z-index:1;
}

@media (max-width: 991.98px){
  .school-bg-shapes{ display:none !important; }
}

.school-text p{
  line-height:1.75;
}

.school-gallery{
  width:100%;
}

.school-gallery .school-main-link{
  width:100%;
  border:none;
  padding:0;
  background:transparent;
  border-radius:1.5rem;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(17,24,39,.18);
  height:420px;
  display:block;
  cursor:pointer;
}

.school-gallery .school-main-link:focus{
  outline:none;
}

.school-gallery .school-main-link:focus-visible{
  outline:2px solid rgba(220,53,69,.55);
  outline-offset:4px;
}

.school-gallery .school-main-link img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

@media (max-width: 991.98px){
  .school-gallery .school-main-link{ height:340px; }
}

@media (max-width: 575.98px){
  .school-gallery .school-main-link{ height:260px; }
}

.school-thumbs{
  display:flex;
  flex-wrap:wrap;
  gap:.85rem;
  margin-top:1.15rem;
}

.school-thumb{
  border:none;
  padding:0;
  background:transparent;
  border-radius:.9rem;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(17,24,39,.14);
  position:relative;
  flex:0 0 auto;
  width:92px;
  height:64px;
  cursor:pointer;
}

.school-thumb:focus{
  outline:none;
}

.school-thumb:focus-visible{
  outline:2px solid rgba(220,53,69,.55);
  outline-offset:3px;
}

.school-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.school-thumb.is-active{
  outline:2px solid rgba(220,53,69,.55);
  outline-offset:3px;
}

.school-thumb-overlay .school-thumb-plus{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:800;
  background:rgba(0,0,0,.35);
}

@media (max-width: 991.98px){
  .school-thumb{
    flex:1 1 calc(25% - .85rem);
    width:auto;
    height:72px;
  }
}

@media (max-width: 575.98px){
  .school-thumb{
    flex:1 1 calc(33.333% - .85rem);
    width:auto;
    height:70px;
  }
}

@media (max-width: 380px){
  .school-thumb{
    flex:1 1 calc(50% - .85rem);
    height:68px;
  }
}

.school-modal-img{
  border-radius:1.25rem;
  max-height:82vh;
  object-fit:contain;
  background:#000;
}
