.sfl-section{
  --sfl-gap:22px;
  --sfl-line:#dedede;
}

.sfl-list{
  display:grid;
  gap:34px;
}

.sfl-group-block,
.sfl-group-detail{
  display:grid;
  gap:20px;
}

.sfl-group-header{
  align-items:start;
  display:grid;
  gap:20px;
  grid-template-columns:minmax(160px,260px) minmax(0,1fr);
}

.sfl-group-header--no-image{
  grid-template-columns:1fr;
}

.sfl-group-image{
  margin:0;
}

.sfl-group-image img{
  border:var(--sfl-image-border-width,0) solid var(--sfl-image-border-color,#dedede);
  border-radius:var(--sfl-image-radius,8px);
  box-shadow:var(--sfl-image-shadow,none);
  display:block;
  height:auto;
  width:100%;
}

.sfl-group-title{
  color:var(--sfl-group-color,#fa9403);
  margin:0 0 10px;
}

.sfl-group-title a{
  color:inherit;
  text-decoration:none;
}

.sfl-group-title a:hover{
  text-decoration:underline;
}

.sfl-group-description,
.sfl-staff-card__description,
.sfl-staff-card__motto{
  line-height:1.55;
}

.sfl-staff-grid{
  gap:var(--sfl-gap);
  margin:0;
}

.sfl-staff-grid--gap{
  display:grid;
  grid-template-columns:repeat(var(--sfl-columns,3), minmax(0,1fr));
}

.sfl-staff-grid--justify{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
}

.sfl-staff-grid--justify .sfl-staff-card{
  flex:0 1 var(--sfl-justify-basis,31%);
}

.sfl-staff-card{
  min-width:0;
}

.sfl-person-image{
  margin:0 0 12px;
}

.sfl-person-image img{
  border:var(--sfl-image-border-width,0) solid var(--sfl-image-border-color,#dedede);
  border-radius:var(--sfl-image-radius,8px);
  box-shadow:var(--sfl-image-shadow,none);
  display:block;
  height:auto;
  width:100%;
}

.sfl-staff-card__name{
  color:var(--sfl-name-color,#5d433c);
  font-size:var(--sfl-name-font-size,20px);
  margin:0 0 4px;
}

.sfl-staff-card__role{
  color:var(--sfl-role-color,#856259);
  font-size:var(--sfl-role-font-size,16px);
  font-weight:700;
  margin:0 0 4px;
}

.sfl-staff-card__department{
  color:var(--sfl-group-color,#fa9403);
  font-weight:700;
  margin:0 0 10px;
}

.sfl-staff-card__description{
  margin-top:10px;
}

.sfl-staff-card__motto{
  border-left:3px solid var(--sfl-group-color,#fa9403);
  margin-top:12px;
  padding-left:10px;
}

.sfl-department-overview{
  display:grid;
  gap:var(--sfl-gap);
  grid-template-columns:repeat(var(--sfl-columns,3), minmax(0,1fr));
}

.sfl-department-card{
  border-bottom:1px solid var(--sfl-line);
  padding-bottom:18px;
}

.sfl-department-card .sfl-group-header{
  grid-template-columns:1fr;
}

.sfl-department-card__count{
  color:var(--sfl-role-color,#856259);
  font-weight:700;
  margin:10px 0 0;
}

.sfl-back{
  margin:22px 0 0;
}

.sfl-back a{
  border:1px solid currentColor;
  color:var(--sfl-group-color,#fa9403);
  display:inline-block;
  font-weight:700;
  padding:7px 11px;
  text-decoration:none;
}

.sfl-back a:hover{
  background:var(--sfl-group-color,#fa9403);
  color:#fff;
}

@media (max-width:900px){
  .sfl-staff-grid--gap,
  .sfl-department-overview{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .sfl-staff-grid--justify .sfl-staff-card{
    flex-basis:calc((100% - var(--sfl-gap)) / 2);
  }
}

@media (max-width:640px){
  .sfl-group-header,
  .sfl-staff-grid--gap,
  .sfl-department-overview{
    grid-template-columns:1fr;
  }

  .sfl-staff-grid--justify{
    display:grid;
    grid-template-columns:1fr;
  }

  .sfl-staff-grid--justify .sfl-staff-card{
    flex-basis:auto;
  }
}
